@font-face{font-family:SerifJP;src:url(fonts/NotoSerifJP-300.woff);font-weight:300;font-display:block}
@font-face{font-family:SerifJP;src:url(fonts/NotoSerifJP-400.woff);font-weight:400;font-display:block}
@font-face{font-family:SansJP;src:url(fonts/NotoSansJP-400.woff);font-weight:400;font-display:block}
@font-face{font-family:Cormorant;src:url(fonts/CormorantGaramond-300.woff);font-weight:300;font-display:block}
:root{
 --paper:#f4f2ec;--paper-alt:#eeece5;--ink:#29271f;--muted:#67675f;
 --gold:#9a8248;--line:#d8d2c3;--serif:SerifJP,serif;--sans:SansJP,sans-serif;
 --ease:cubic-bezier(.16,1,.3,1);--gutter:7.2%;
 --hero-type:43px;--display-type:44px;--section-type:30px;--business-type:28px;
 --catch-type:20px;--message-type:15px;--body-type:13px;--link-type:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-weight:400;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
button:focus-visible,a:focus-visible{outline:1px solid currentColor;outline-offset:7px}
img{display:block;width:100%;height:100%;object-fit:cover}
.arrow{display:inline-block;position:relative;width:43px;height:1px;background:currentColor;flex-shrink:0;transition:transform .9s var(--ease)}
.arrow:after{content:"";position:absolute;right:0;bottom:0;width:7px;height:1px;background:currentColor;transform:rotate(35deg);transform-origin:right center}
.line-link{position:relative;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 17px;font-size:var(--link-type);letter-spacing:.06em}
.line-link:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .9s var(--ease)}
.line-link:hover:after{transform:scaleX(1);transform-origin:left}
.line-link:hover .arrow{transform:translateX(5px)}
.line-link .arrow{color:var(--gold)}
.hero{height:900px;min-height:720px;position:relative;color:#fffdf5;overflow:hidden;background:#333a3a}
.hero-images,.hero-slide,.hero-photo,.hero-shade{position:absolute;inset:0}
.hero-slide{display:block}
.hero-slide:first-child .hero-photo{filter:saturate(1) contrast(1)}
.hero-photo{opacity:0;object-position:50% 50%;filter:saturate(.64) contrast(.95);transform:scale(1.018);transition:opacity 1.5s ease,transform 12s linear}
.hero-photo.is-active{opacity:1;transform:scale(1)}
.hero-slide:nth-child(3) .hero-photo{object-position:60% 40%}
.hero-shade{background:linear-gradient(90deg,rgba(19,28,31,.25),transparent 85%),linear-gradient(180deg,rgba(22,28,29,.26),transparent 28%,rgba(19,28,31,.05) 42%,rgba(19,28,31,.53) 88%,rgba(19,28,31,.62));z-index:1;pointer-events:none}
.hero[data-active="1"] .hero-shade,.hero[data-active="2"] .hero-shade{background:linear-gradient(90deg,#121a1e42,transparent 85%),linear-gradient(180deg,#11171826,#1117180d 30%,#11171885 65%,#111718a3)}
.header{position:absolute;z-index:4;inset:0 0 auto;height:126px;padding:30px 4.5%;display:flex;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}
.brand-mark{position:relative;display:block;width:61px;height:61px;overflow:hidden;flex-shrink:0}
.brand-mark img{position:absolute;width:85px;height:auto;max-width:none;left:-12px;top:-1px}
.brand-name{font-family:var(--serif);font-size:16px;font-weight:300;letter-spacing:.07em}
.main-nav{display:flex;gap:39px;align-items:center;font-size:12px;letter-spacing:.08em}
.main-nav>a{position:relative}
.main-nav>a:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:1px;background:#e1cc98;transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.main-nav>a:hover:after{transform:scaleX(1)}
.nav-contact{display:flex;align-items:center;gap:23px}
.nav-contact .arrow{width:24px}
.menu-icon{display:none}
.hero-copy{position:absolute;left:var(--gutter);right:var(--gutter);top:46%;z-index:2}
.hero-kicker{font-family:var(--sans);font-size:10px;letter-spacing:.22em;margin-bottom:24px;color:#ebdebe}
.hero-copy h1{font-family:var(--serif);font-size:var(--hero-type);font-weight:300;line-height:1.85;letter-spacing:.06em}
.hero-copy h1>span{display:block}
.hero-english{font-family:Cormorant,serif;font-size:22px;font-weight:300;letter-spacing:.035em;color:#e9d9ae;margin-top:27px}
.sp-break{display:none}
.hero-bottom{position:absolute;z-index:2;bottom:42px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;justify-content:space-between}
.scroll-cue{display:flex;align-items:center;gap:18px;font-family:Cormorant,serif;font-size:13px;letter-spacing:.07em}
.scroll-cue i{width:1px;height:48px;background:#d7c59b;display:block;transform-origin:top}
.slide-nav{display:flex;align-items:center;gap:26px}
.slide-item{display:flex;position:relative;gap:20px;align-items:center;border-bottom:1px solid #fff7dc55;padding:17px 0;min-width:125px;font-family:Cormorant,serif;font-size:14px;letter-spacing:.06em}
.slide-item small{font-size:12px;opacity:.75}
.slide-item:after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:#dbc28a;transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease)}
.slide-item.current{color:#eddbb1}
.slide-item.current:after{transform:scaleX(1)}
.slide-pause{display:grid;place-items:center;width:34px;height:34px;border:1px solid #e4d6b54d;border-radius:50%;font-family:var(--sans);font-size:11px;margin-left:5px}
.message{display:grid;grid-template-columns:32% 1fr;column-gap:9%;padding:89px var(--gutter) 107px}
.section-rule{display:flex;align-items:center;gap:27px;grid-column:1/-1;font-family:var(--sans);font-size:9px;letter-spacing:.19em;color:var(--gold);margin-bottom:70px}
.section-rule>span:first-child{font-family:Cormorant,serif;font-size:17px;letter-spacing:0}
.section-rule i{height:1px;flex:1;background:var(--line);margin-left:20px;transform-origin:left}
.message h2{font-family:Cormorant,serif;font-size:var(--display-type);font-weight:300;line-height:1.17;letter-spacing:.01em}
.message h2 span{color:var(--gold)}
.message-note{font-size:11px;letter-spacing:.07em;color:var(--gold);margin-top:27px}
.message-body{font-size:var(--message-type);line-height:2.35;letter-spacing:.045em}
.message-body .pc-break{display:none}
.message-body p+p{margin-top:23px}
.message-link{grid-column:2;width:200px;margin-top:37px}
.eyebrow{font-family:var(--sans);font-size:9px;letter-spacing:.16em;color:var(--gold)}
.section-heading{margin:0 var(--gutter);padding:45px 0 46px;display:flex;justify-content:space-between;align-items:flex-end}
.section-heading h2{font-size:var(--section-type);font-weight:300;letter-spacing:.14em;line-height:1.5;margin-top:17px}
.business-intro{font-size:14px;letter-spacing:.09em;padding-bottom:4px}
.business-grid{display:block}
.business-item{display:grid;grid-template-columns:62.5% 37.5%;border-top:1px solid var(--line);background:var(--paper)}
.business-item:last-child{border-bottom:1px solid var(--line);grid-template-columns:37.5% 62.5%}
.business-item:last-child .business-photo{grid-column:2;grid-row:1}
.business-item:last-child .business-text{grid-column:1;grid-row:1}
.business-photo{position:relative;min-height:590px;overflow:hidden;isolation:isolate}
.business-photo>img{position:absolute;inset:0;object-position:50% 50%;filter:saturate(.69) contrast(.93) brightness(.97);transition:transform 1.8s var(--ease),filter 1.8s var(--ease)}
.business-item:last-child .business-photo>img{object-position:58% 50%;filter:saturate(.6) contrast(.96) brightness(.97)}
.business-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 76%,#1c211e55);pointer-events:none}
.business-photo:hover>img{transform:scale(1.025)}
.photo-index{position:absolute;z-index:1;left:38px;bottom:28px;color:#fffbed;font-family:var(--sans);font-size:8px;letter-spacing:.19em}
.business-text{padding:60px 15% 57px;display:flex;flex-direction:column;justify-content:center}
.business-number{font-family:Cormorant,serif;font-size:31px;font-weight:300;color:var(--gold);display:flex;align-items:center;gap:20px;line-height:1}
.business-number span{font-family:var(--sans);font-size:8px;letter-spacing:.14em}
.business-title{display:flex;flex-wrap:wrap;align-items:center;gap:17px;margin-top:31px;min-height:42px}
.business-title h3{font-size:var(--business-type);font-weight:300;line-height:1.5}
.lumiqra{font-family:var(--sans);font-weight:400!important;letter-spacing:.085em}
.engineer-title{letter-spacing:.06em}
.business-title>span{font-size:11px;letter-spacing:.07em;color:var(--muted)}
.business-catch{font-size:var(--catch-type);font-weight:300;line-height:1.9;letter-spacing:.035em;margin-top:20px}
.business-description{font-size:var(--body-type);line-height:2.15;letter-spacing:.045em;margin-top:25px;color:var(--muted)}
.business-description .pc-break{display:none}
.text-link{margin-top:41px}
.news{padding:95px var(--gutter) 103px;display:grid;grid-template-columns:30% 1fr;gap:9%;background:var(--paper)}
.news-heading h2{font-family:Cormorant,serif;font-size:var(--display-type);font-weight:300;line-height:1;margin-top:23px}
.news-heading h2 span{color:var(--gold)}
.news-heading>p:not(.eyebrow){font-size:12px;letter-spacing:.12em;margin-top:18px}
.news-more{display:flex;gap:25px;align-items:center;font-size:11px;letter-spacing:.06em;margin-top:46px}
.news-more .arrow{width:30px;color:var(--gold)}
.news-list{margin-top:8px}
.news-row{border-top:1px solid var(--line);display:grid;grid-template-columns:149px 1fr 25px;gap:26px;align-items:center;min-height:94px}
.news-row:last-child{border-bottom:1px solid var(--line)}
.news-meta{display:flex;align-items:center;gap:18px;font-family:var(--sans);white-space:nowrap}
.news-meta time{font-size:10px;letter-spacing:.04em;color:var(--muted)}
.news-meta>span{font-size:7px;letter-spacing:.07em;color:var(--gold)}
.news-row>p{font-size:var(--body-type);line-height:1.9;letter-spacing:.03em}
.sample{font-size:10px;color:#94948a}
.news-row>.arrow{width:24px;color:var(--gold)}
.footer{background:#252824;color:#eeeade;padding:68px var(--gutter) 28px}
.footer-main{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:70px;padding-bottom:59px}
.footer .brand-mark{width:56px;height:56px}
.footer .brand-mark img{width:78px;left:-11px}
.footer .brand-name{font-size:18px}
.footer-en{font-family:Cormorant,serif;font-size:24px;color:#c5b383;letter-spacing:.035em;margin-top:24px}
.footer address{font-style:normal;font-size:10px;letter-spacing:.07em;line-height:2.3;color:#b2b7ac;margin-top:21px}
.footer-nav{display:flex;flex-direction:column;gap:23px;padding-top:13px;font-size:12px;letter-spacing:.07em}
.footer-nav>span:last-child{display:flex;align-items:center;gap:27px}
.footer-nav .arrow{width:24px;color:#c5b383}
.footer-business{display:flex;flex-direction:column;gap:23px;padding-top:16px;font-size:11px;letter-spacing:.06em;color:#c5ccbf}
.footer-business>p{font-family:var(--sans);font-size:8px;letter-spacing:.16em;color:#c5b383;margin-bottom:5px}
.footer-bottom{border-top:1px solid #b4b39733;padding-top:24px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.05em;color:#a6ad9d}
.footer-bottom small{font-family:Cormorant,serif;font-size:12px;letter-spacing:.07em}
.mobile-menu[hidden]{display:none}
.mobile-menu{position:fixed;z-index:20;inset:0;background:var(--paper);padding:130px 30px 50px;display:flex;flex-direction:column}
.mobile-menu>a,.menu-contact{padding:23px 0;border-bottom:1px solid var(--line);font-size:22px}
.mobile-menu small{float:right;color:var(--gold);font-family:Cormorant,serif;font-size:18px}
.menu-close{position:absolute;top:30px;right:29px;display:flex;gap:19px;align-items:center;font-family:Cormorant,serif;font-size:19px}
.menu-close span{font-family:var(--sans);font-size:26px}
body.menu-open{overflow:hidden}
@media(min-width:1600px){.hero{height:100svh;max-height:1120px}.business-photo{min-height:41vw}}
@media(min-width:701px) and (max-width:1100px){
 :root{--gutter:5%;--hero-type:38px;--display-type:40px;--message-type:14px;--business-type:25px;--catch-type:18px}
 .header{padding-left:5%;padding-right:5%}.main-nav{gap:26px}.hero{height:830px}
 .message{grid-template-columns:32% 1fr;gap:6%}.message-link{margin-top:32px}
 .business-item,.business-item:last-child{grid-template-columns:56% 44%}
 .business-item:last-child{grid-template-columns:44% 56%}
 .business-photo{min-height:580px}.business-text{padding-left:12%;padding-right:12%}
 .news{grid-template-columns:25% 1fr;gap:8%}.news-row{grid-template-columns:1fr 24px;gap:9px;padding:21px 0}
 .news-meta{grid-column:1}.news-row>p{grid-column:1}.news-row>.arrow{grid-column:2;grid-row:1/3}.footer-main{gap:30px}
}
@media(max-width:700px){
 :root{--gutter:28px;--hero-type:27px;--display-type:38px;--section-type:26px;--business-type:24px;--catch-type:19px;--message-type:14px;--body-type:14px;--link-type:12px}
 .hero{height:100svh;min-height:740px;max-height:960px}
 .hero-slide:first-child .hero-photo{object-position:56% 50%}
 .hero-slide:nth-child(2) .hero-photo{object-position:50% 50%}
 .hero-slide:nth-child(3) .hero-photo{object-position:50% 50%}
 .hero-shade{background:linear-gradient(180deg,#17242540,transparent 24%,#17242515 38%,#1320239c 80%,#132023a8)}
 .header{height:100px;padding:24px 26px}
 .brand{gap:12px}.brand-mark{width:45px;height:45px}.brand-mark img{width:63px;left:-9px;top:-1px}.brand-name{font-size:13px}
 .main-nav{display:none}
 .menu-icon{display:block;position:relative;width:59px;height:32px}
 .menu-icon span{position:absolute;left:0;top:7px;font-family:Cormorant,serif;font-size:14px}
 .menu-icon i{position:absolute;width:18px;height:1px;right:0;top:12px;background:currentColor}
 .menu-icon i:last-child{top:18px}
 .hero-copy{top:45%;right:22px}
 .hero-kicker{font-size:8px;letter-spacing:.16em;margin-bottom:20px}
 .hero-copy h1{line-height:1.85;letter-spacing:.025em}
 .sp-break{display:block}
 .hero-english{font-size:18px;line-height:1.6;max-width:275px;letter-spacing:.01em;margin-top:23px}
 .hero-bottom{bottom:29px;display:block}
 .scroll-cue{position:absolute;bottom:89px;right:2px;gap:13px;font-size:10px;writing-mode:vertical-rl}
 .scroll-cue i{height:29px}
 .slide-nav{display:grid;grid-template-columns:1fr 1fr 1fr 25px;gap:15px}
 .slide-item{min-width:0;gap:7px;font-size:10px;letter-spacing:.025em;padding:14px 0}
 .slide-item small{font-size:10px}.slide-pause{width:24px;height:24px;margin:0;font-size:9px}
 .message{display:block;padding:56px 28px 63px}
 .section-rule{gap:18px;font-size:8px;letter-spacing:.14em;margin-bottom:39px}
 .section-rule>span:first-child{font-size:16px}.section-rule i{margin-left:6px}
 .message h2{line-height:1.15;letter-spacing:0}
 .message-note{font-size:10px;margin-top:21px}
 .message-body{line-height:2.25;letter-spacing:.025em;margin-top:36px}
 .message-body p+p{margin-top:23px}
 .message-link{width:188px;margin-top:31px}
 .section-heading{display:block;margin:0 28px;padding:35px 0 31px}
 .section-heading h2{margin-top:13px}
 .eyebrow{font-size:8px;letter-spacing:.13em}
 .business-intro{font-size:12px;letter-spacing:.055em;margin-top:19px}
 .business-item,.business-item:last-child{display:flex;flex-direction:column}
 .business-photo{min-height:0;height:auto;aspect-ratio:3/2}
 .business-photo>img{object-position:50% 50%}
 .business-item:last-child .business-photo>img{object-position:50% 50%}
 .photo-index{left:28px;bottom:19px;font-size:7px;letter-spacing:.15em}
 .business-text{padding:35px 28px 47px}
 .business-number{font-size:27px;gap:17px}.business-number span{font-size:8px}
 .business-title{margin-top:20px;min-height:38px;gap:20px}.business-title>span{font-size:10px}
 .business-catch{margin-top:16px;line-height:1.85}
 .business-description{margin-top:20px;line-height:2.1;letter-spacing:.02em}
 .text-link{margin-top:30px;padding-bottom:16px}
 .news{display:block;padding:57px 28px 65px}
 .news-heading{position:relative}.news-heading h2{margin-top:20px}.news-heading>p:not(.eyebrow){font-size:11px;margin-top:13px}
 .news-more{position:absolute;right:0;bottom:3px;font-size:10px;gap:17px;margin:0}.news-more .arrow{width:23px}
 .news-list{margin-top:34px}.news-row{min-height:0;grid-template-columns:1fr 20px;gap:9px;padding:22px 0}
 .news-meta{grid-column:1;gap:21px}.news-meta time{font-size:10px}.news-meta>span{font-size:7px}
 .news-row>p{grid-column:1;font-size:13px}.news-row>.arrow{grid-column:2;grid-row:1/3;width:19px}
 .sample{font-size:9px}
 .footer{padding:48px 28px 24px}.footer-main{grid-template-columns:1fr 1fr;gap:37px 20px;padding-bottom:35px}
 .footer-company{grid-column:1/-1}.footer .brand-name{font-size:18px}.footer .brand-mark{width:48px;height:48px}.footer .brand-mark img{width:67px;left:-9.5px}
 .footer-en{font-size:23px;margin-top:19px}.footer address{font-size:10px;margin-top:18px}
 .footer-nav{font-size:11px;gap:20px;padding-top:0}.footer-nav>span:last-child{gap:17px}
 .footer-business{font-size:9px;gap:20px;line-height:1.7;padding-top:2px}.footer-business>p{font-size:7px;letter-spacing:.12em}
 .footer-bottom{font-size:8px;padding-top:21px}.footer-bottom small{font-size:11px}
}

/* Motion study: quiet easing, thin rules and photographic transitions. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero{height:100svh;min-height:720px;max-height:1120px}
.hero-line{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero-line>span{display:block}
.hero-photo{transform:scale(1.035);transition:opacity .8s ease,transform 6s linear}
.hero-photo.is-active{transform:scale(1)}
.hero-shade:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#121a1e42,transparent 85%),linear-gradient(180deg,#11171826,#1117180d 30%,#11171860 65%,#11171880);opacity:0;transition:opacity .8s ease}
.hero[data-active="1"] .hero-shade,.hero[data-active="2"] .hero-shade{background:linear-gradient(90deg,rgba(19,28,31,.25),transparent 85%),linear-gradient(180deg,rgba(22,28,29,.26),transparent 28%,rgba(19,28,31,.05) 42%,rgba(19,28,31,.53) 88%,rgba(19,28,31,.62))}
.hero[data-active="1"] .hero-shade:after,.hero[data-active="2"] .hero-shade:after{opacity:.55}
.slide-item:after{transition:opacity .6s ease;transform:scaleX(0)}
.slide-item.current:after{transform:scaleX(var(--progress,1))}
.slide-pause{min-height:34px;min-width:34px;position:relative}
.slide-pause:before{content:"";position:absolute;inset:-7px}
.slide-pause:disabled{cursor:default;opacity:.5}
.motion-on .header,.motion-on .hero-kicker,.motion-on .hero-english,.motion-on .hero-bottom{opacity:0;transform:translateY(12px);transition:opacity 1.5s var(--ease),transform 1.5s var(--ease)}
.motion-on .hero-line>span{opacity:0;transform:translateY(108%);transition:transform 1.65s var(--ease),opacity 1.4s var(--ease)}
.motion-on.is-ready .header,.motion-on.is-ready .hero-kicker,.motion-on.is-ready .hero-english,.motion-on.is-ready .hero-bottom,.motion-on.is-ready .hero-line>span{opacity:1;transform:none}
.motion-on.is-ready .hero-kicker{transition-delay:.25s}
.motion-on.is-ready .hero-line:first-child>span{transition-delay:.4s}
.motion-on.is-ready .hero-line:last-child>span{transition-delay:.58s}
.motion-on.is-ready .hero-english{transition-delay:.86s}
.motion-on.is-ready .hero-bottom{transition-delay:1s}
.hero-effects:not(.is-ready) .hero-slide:first-child .hero-photo{filter:grayscale(1) contrast(1.18) brightness(.93)}
.hero-effects.is-ready .hero-slide:first-child .hero-photo.is-active{animation:color-in 3s ease-in-out both;animation-play-state:var(--hero-animation-state,running)}
.motion-on .scroll-cue i{animation:scroll-line 2.8s var(--ease) infinite}
.motion-on .reveal{opacity:0;transform:translateY(22px);transition:opacity 1.25s var(--ease),transform 1.25s var(--ease)}
.motion-on .reveal.is-visible{opacity:1;transform:none}
.motion-on .section-rule{transform:none;opacity:1}
.motion-on .section-rule i{transform:scaleX(0);transition:transform 1.7s var(--ease)}
.motion-on .section-rule.is-visible i{transform:scaleX(1)}
.motion-on .message-body,.motion-on .business-text,.motion-on .news-list{opacity:1;transform:none}
.motion-on .message-body>*,.motion-on .business-text>*,.motion-on .news-list>*{opacity:0;transform:translateY(20px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease);transition-delay:calc(var(--order,0)*100ms)}
.motion-on .is-visible.message-body>*,.motion-on .is-visible.business-text>*,.motion-on .is-visible.news-list>*{opacity:1;transform:none}
.motion-on .business-photo{transform:none;opacity:1;clip-path:inset(0 100% 0 0);transition:clip-path 1.7s var(--ease)}
.motion-on .business-item:last-child .business-photo{clip-path:inset(0 0 0 100%)}
.motion-on .business-photo.is-visible,.motion-on .business-item:last-child .business-photo.is-visible{clip-path:inset(0)}
.motion-on .business-photo>img{transform:scale(1.09);transition:transform 2.1s var(--ease)}
.motion-on .business-photo.is-visible>img{transform:scale(1)}
.motion-on .business-photo.is-visible:hover>img{transform:scale(1.025)}
.footer-nav a,.footer-business a{width:fit-content;transition:color .5s ease}
.footer-nav a:hover,.footer-business a:hover{color:#e5cf95}
/* An ivory curtain, a quiet signature, then links and gold hairlines. */
.mobile-menu{transform:none;clip-path:inset(0 0 100% 0);opacity:0;transition:clip-path .65s var(--ease),opacity .45s ease;overflow-y:auto;overscroll-behavior:contain;isolation:isolate;padding-bottom:max(40px,env(safe-area-inset-bottom))}
.mobile-menu.is-open{clip-path:inset(0);opacity:1;transition-duration:.8s,.45s}
.mobile-menu:before{content:"GMC";position:absolute;left:30px;top:27px;font-family:Cormorant,serif;font-size:45px;line-height:1;letter-spacing:.08em;color:var(--gold);opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .5s var(--ease);pointer-events:none}
.mobile-menu.is-open:before{opacity:1;transform:none;transition-delay:.18s}
.mobile-menu>a,.mobile-menu>.menu-contact{display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-shrink:0;position:relative;border-bottom-color:transparent;opacity:0;transform:translateY(22px);transition:opacity .24s ease,transform .3s var(--ease)}
.mobile-menu small{float:none;flex-shrink:0}
.mobile-menu.is-open>a,.mobile-menu.is-open>.menu-contact{opacity:1;transform:none;transition-duration:.7s,.85s;transition-delay:calc(var(--order,0)*80ms + 180ms)}
.mobile-menu>a:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.mobile-menu.is-open>a:after{transform:scaleX(1);transition-duration:.9s;transition-delay:calc(var(--order,0)*80ms + 280ms)}
.mobile-menu .menu-close{opacity:0;transform:translateY(7px);transition:opacity .25s ease,transform .4s var(--ease);min-height:44px}
.mobile-menu.is-open .menu-close{opacity:1;transform:none;transition-delay:.12s}
.menu-icon i{transition:transform .45s var(--ease),top .45s var(--ease)}
.menu-icon[aria-expanded="true"] i{top:15px;transform:rotate(45deg)}
.menu-icon[aria-expanded="true"] i:last-child{top:15px;transform:rotate(-45deg)}
@keyframes color-in{0%,50%{filter:grayscale(1) saturate(1) contrast(1.18) brightness(.93)}100%{filter:grayscale(0) saturate(1) contrast(1.035) brightness(1)}}
@keyframes scroll-line{0%,100%{transform:scaleY(.45);opacity:.45}50%{transform:scaleY(1);opacity:1}}
@media(max-width:700px){
 .hero{min-height:740px;max-height:960px}
 .slide-pause{min-width:24px;min-height:24px}
 .hero-line{padding-bottom:.12em;margin-bottom:-.12em}
 .hero-shade{background:linear-gradient(180deg,#17242540,transparent 24%,#17242515 38%,#1320239c 80%,#132023a8)}
}
