@charset "UTF-8";
:root{--brand:#5c3a21;--ink:#3c1f0a;--paper:#f7f2e7;--accent:#d8c070;--muted:#796453;--line:#dfd0b9;--sans:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;--display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--gutter:clamp(24px,4.8vw,88px);--ease:cubic-bezier(.2,.7,.2,1);color-scheme:light}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}body.menu-open,body.dialog-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-feature-settings:"palt";text-wrap:balance}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{max-width:100%;display:block;height:auto}svg{display:block;width:24px;height:24px}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #5882ff;outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:100%;max-width:1600px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.section-space{padding:124px 0}.eyebrow{font-family:var(--display);font-size:16px;letter-spacing:.12em;line-height:1.5;font-weight:600}.skip-link{position:fixed;top:8px;left:16px;padding:12px 24px;background:var(--accent);z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);position:absolute;top:0;left:0;right:0;z-index:30;color:white;transition:background .3s,height .3s;gap:32px}.site-header.is-scrolled{position:fixed;background:rgba(60,31,10,.97);height:78px;border-bottom:1px solid #ffffff1f;backdrop-filter:blur(12px)}.brand{display:block;flex:none;width:204px}.brand img{width:100%}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:500;white-space:nowrap}.desktop-nav>a{position:relative;padding:14px 0}.desktop-nav>a:not(.nav-contact)::after{content:"";position:absolute;bottom:5px;left:0;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav>a:hover::after{transform:scaleX(1)}.desktop-nav .nav-contact{display:flex;align-items:center;gap:22px;padding:10px 20px;border:1px solid #ffffff65}.nav-contact:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}.nav-contact svg{width:17px;height:17px}.reading-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;transform:scaleX(var(--progress,0));transform-origin:left;background:var(--accent)}.menu-toggle{display:none}.mobile-menu{display:none}
.hero{position:relative;min-height:870px;padding-top:150px;background:var(--brand);color:var(--paper);overflow:clip}.hero-watermark{position:absolute;top:32px;right:-15px;font:800 clamp(180px,27vw,440px)/1 var(--display);letter-spacing:-.015em;color:#ffffff04;-webkit-text-stroke:1px #ffffff0b;pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;min-height:620px;z-index:1}.hero-copy{position:relative;z-index:3;padding-bottom:28px}.hero-eyebrow{display:flex;align-items:center;gap:12px;font-size:14px;color:#f0e8d8;margin-bottom:29px}.status-dot{width:7px;height:7px;display:inline-block;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px #d8c07020}.hero-location{font-size:12px;color:#d3c1aa;border-left:1px solid #ffffff30;padding-left:14px;margin-left:10px}.hero h1{font-size:clamp(58px,6.6vw,104px);line-height:1.23;letter-spacing:-.065em;font-weight:900;white-space:nowrap}.title-line{display:block;animation:title-in 1s var(--ease) both}.title-line:nth-child(2){animation-delay:.12s}.accent{color:var(--accent)}.hero-english{position:relative;font:700 clamp(32px,3.8vw,58px)/.97 var(--display);letter-spacing:-.015em;margin-top:20px;color:var(--paper);display:inline-block}.hero-english span{color:#ffffff88}.hero-english em{position:absolute;left:calc(100% + 26px);bottom:-1px;font-size:1.85em;font-weight:800;color:var(--accent);transform:rotate(-9deg)}.hero-description{font-size:15px;line-height:2;letter-spacing:.015em;margin-top:29px;color:#e3d5bf}.round-link{display:inline-flex;gap:18px;align-items:center;font-size:16px;font-weight:600}.round-link small{display:block;font:600 12px/1.4 var(--display);letter-spacing:.13em;margin-top:6px;color:#d5c3ac}.arrow-circle{height:56px;width:56px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--accent);color:var(--ink);transition:transform .3s}.round-link:hover .arrow-circle{transform:translateX(6px)}.hero-link{margin-top:32px}.hero-scene{height:630px;position:relative;align-self:stretch;margin-top:4px}.scene-star{position:absolute;width:640px;height:640px;max-width:none;top:-36px;left:-30px;color:#d8c0704a;transform:rotate(14deg);animation:star-breathe 14s ease-in-out infinite}.hero-photo{position:absolute;will-change:transform}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo-main{top:20px;right:5px;width:85%;height:438px;transform:rotate(5deg);animation:photo-arrive-main 1.25s var(--ease) both;box-shadow:0 30px 60px #0005}.hero-photo-main img{object-position:47% 43%}.hero-photo-main figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:8px;padding:13px 17px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:700}.hero-photo-main figcaption span:first-child{font-family:var(--display);letter-spacing:.12em;font-size:13px}.hero-photo-people{bottom:37px;left:0;width:57%;height:256px;border:6px solid var(--paper);transform:rotate(-8deg);animation:photo-arrive-people 1.4s .1s var(--ease) both;box-shadow:0 20px 60px #0005;z-index:2}.hero-photo-people img{object-position:48% 66%}.hero-photo-people figcaption{position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,#0008);font:600 13px var(--display);padding:30px 12px 9px;letter-spacing:.13em}.scene-label{position:absolute;right:-32px;top:60px;writing-mode:vertical-rl;font:600 12px/1 var(--display);letter-spacing:.2em;color:#d3c1aa}.hero-seal{position:absolute;right:4%;bottom:23px;width:158px;height:158px;border-radius:50%;background:var(--accent);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;transform:rotate(10deg);z-index:3;border:1px solid var(--ink);outline:6px solid var(--accent);transition:transform .4s}.hero-seal:hover{transform:rotate(-5deg)}.hero-seal svg{width:34px;height:34px}.hero-seal span{font-size:13px;font-weight:700;line-height:1.6;text-align:center}.hero-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#d8c8b0;margin-top:38px;height:62px;border-top:1px solid #ffffff1b}.hero-bottom a{font:600 12px var(--display);letter-spacing:.15em;color:white;display:flex;align-items:center;gap:20px}.hero-bottom a span{font-family:Arial;font-size:20px;animation:scroll-cue 2s ease-in-out infinite}.hero-count{font-family:var(--display);letter-spacing:.1em}.ticker{background:var(--accent);overflow:hidden;border-bottom:1px solid var(--ink)}.ticker-track{display:flex;width:max-content;animation:ticker 45s linear infinite}.ticker-track>span{display:flex;align-items:center;gap:42px;padding:16px 21px;font:700 clamp(29px,3vw,44px)/1 var(--display);letter-spacing:.01em;white-space:nowrap}.ticker svg{width:32px;height:32px;flex:none}
.section-label{display:flex;align-items:center;gap:18px;font:600 16px/1.5 var(--display);letter-spacing:.08em;margin-bottom:58px}.section-number{color:var(--muted);font-size:14px}.label-jp{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.05em;margin-left:auto}.company-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:start}.big-heading{font-size:clamp(32px,3.5vw,54px);font-weight:800;line-height:1.65;letter-spacing:-.045em}.underlined{position:relative;z-index:0;display:inline-block}.underlined::after{content:"";position:absolute;bottom:.2em;left:-4px;right:-4px;height:.23em;background:var(--accent);z-index:-1;transform:rotate(-3deg)}.company-message{padding-top:12px}.company-message .lead{font-size:21px;font-weight:700;line-height:1.8;margin-bottom:22px}.company-message>p:not(.lead){font-size:15px;line-height:2.15;color:#947858;margin-top:16px}.business-rows{margin-top:66px;border-top:1px solid var(--ink)}.business-row{display:grid;grid-template-columns:52px 1fr 1fr 70px;gap:30px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}.business-number{font:500 16px var(--display);align-self:start;padding-top:9px;color:var(--muted)}.business-row h3{font-size:25px;line-height:1.5;font-weight:700;letter-spacing:-.04em}.business-row h3 small{font:600 13px/1.5 var(--display);letter-spacing:.09em;display:block;margin-top:9px;color:var(--muted)}.business-row p{font-size:14px;line-height:1.95;color:#947858}.business-star{width:52px;height:52px;transform:rotate(15deg)}.business-arrow{width:47px;height:47px}
.service{--accent:#f9e547;background:var(--accent);overflow:clip}.service-top{padding-top:86px}.service .section-label{border-bottom:1px solid #3c1f0a45;padding-bottom:22px;margin-bottom:66px}.service .section-number{color:#6c542d}.service-heading-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:center;margin-bottom:54px}.service-heading-grid .eyebrow{font:500 13px var(--sans);letter-spacing:.08em;margin-bottom:20px}.service h2{font-size:clamp(31px,3.4vw,53px);line-height:1.5;letter-spacing:-.045em;font-weight:800}.service-word{font-size:1.3em}.service-logo{justify-self:end;width:340px;max-width:100%;transform:rotate(-5deg)}.service-stage{position:relative;aspect-ratio:2.2;overflow:hidden;background:#3c1f0a}.service-stage>img{width:100%;height:112%;max-width:none;object-fit:cover;object-position:center 57%;transform:translateY(calc(var(--stage-progress,0) * -6%))}.service-stage::after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.stage-caption{position:absolute;bottom:35px;left:40px;right:40px;color:#fff;display:flex;justify-content:space-between;align-items:end;z-index:1}.stage-caption>span:first-child{font-size:24px;line-height:1.7;letter-spacing:.015em}.stage-caption strong{font-weight:700}.stage-caption-en{font:600 13px/1.6 var(--display);letter-spacing:.15em;text-align:right}.photo-corner{position:absolute;top:0;right:0;background:var(--accent);width:58px;height:58px;display:grid;place-items:center;font-size:34px;z-index:2}.service-description-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:56px 0}.service-description-grid h3{font-size:clamp(26px,2.6vw,40px);line-height:1.7;letter-spacing:-.04em}.service-description-grid p{font-size:15px;line-height:2.1}.service-description-grid p+p{margin-top:18px}.service-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #3c1f0a55;margin-bottom:80px}.service-step{padding:30px 30px 0 0}.service-step+.service-step{border-left:1px solid #3c1f0a40;padding-left:35px}.service-step>span{font:600 13px var(--display);letter-spacing:.12em}.service-step h3{font-size:42px;display:flex;align-items:baseline;gap:20px;margin:8px 0 10px}.service-step h3 small{font:500 18px var(--display)}.service-step p{font-size:14px;line-height:1.9}.gallery-block{background:var(--ink);color:var(--paper);padding:64px 0 40px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.gallery-heading .eyebrow{font-size:12px;color:var(--accent);letter-spacing:.12em;margin-bottom:9px}.gallery-heading h3{font-size:32px;letter-spacing:-.03em}.gallery-controls{display:flex;gap:12px;align-items:center}.gallery-instruction{font-size:12px;color:#ddceb8;margin-right:20px}.icon-button{border:1px solid #ac9575;border-radius:50%;width:48px;height:48px;flex:none;display:grid;place-items:center;background:transparent;transition:background .2s,color .2s}.icon-button:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}#gallery-prev svg,.lightbox-prev svg{transform:rotate(180deg)}.gallery-track{display:flex;gap:26px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x mandatory;padding:6px var(--gutter) 14px;scroll-padding-left:var(--gutter)}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{flex:0 0 clamp(280px,32vw,480px);padding:0;background:none;text-align:left;scroll-snap-align:start}.gallery-item>img{width:100%;aspect-ratio:1.35;object-fit:cover;transition:filter .35s,transform .6s var(--ease)}.gallery-item:hover>img{filter:brightness(1.08)}.gallery-item>span{display:flex;align-items:center;gap:18px;padding:18px 0 8px;font-size:14px}.gallery-item b{font:500 13px var(--display);color:#d0bda3}.gallery-item svg{margin-left:auto;width:18px;height:18px}.gallery-footer{display:flex;gap:30px;align-items:center;margin-top:28px;font:600 12px var(--display);letter-spacing:.1em;color:#e2d3bd}.gallery-meter{height:1px;flex:1;background:#796453}.gallery-meter span{display:block;width:20%;height:2px;background:var(--accent);transition:transform .2s}.gallery-footer>span:last-child{color:var(--paper);min-width:42px}
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.access-heading p{font-size:14px;margin-top:24px;color:var(--muted)}.access-star{width:112px;height:112px;transform:rotate(-14deg);color:var(--accent);stroke:var(--ink);stroke-width:.6;margin-top:38px}.company-facts{margin:0;border-top:1px solid var(--ink)}.company-facts>div{display:grid;grid-template-columns:100px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);font-size:14px}.company-facts dt{color:var(--muted)}.company-facts dd{margin:0}.company-facts a{border-bottom:1px solid var(--ink);font-family:Arial,sans-serif;font-size:16px}.map-layout{margin-top:58px;display:grid;grid-template-columns:1fr 250px;border:1px solid var(--line)}.map-frame{height:310px;overflow:hidden;background:#eee3cf}.map-frame iframe{border:0;width:100%;height:100%;filter:grayscale(1);transition:filter .3s}.map-frame:hover iframe{filter:none}.map-link{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:30px;font-size:14px;transition:background .3s}.map-link small{display:block;font:600 14px var(--display);letter-spacing:.1em;margin-bottom:12px}.map-link>svg{width:54px;height:54px;align-self:flex-end}.map-link:hover{background:var(--accent)}
.contact{background:#f0e8d8;position:relative;overflow:hidden;padding:65px 0 112px}.contact-inner{position:relative;z-index:1}.contact .section-label{border-bottom:1px solid #3c1f0a50;padding-bottom:22px;margin-bottom:42px}.contact-heading{display:flex;align-items:center;justify-content:space-between}.contact-heading .eyebrow{font:500 14px var(--sans);margin-bottom:24px}.contact h2{font-size:clamp(38px,5.5vw,86px);line-height:1.45;letter-spacing:-.055em;font-weight:800}.contact-star{width:195px;height:195px;transform:rotate(18deg);margin-right:5%;animation:star-breathe 16s ease-in-out infinite}.contact-email{display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--ink);padding:26px 0 24px;margin-top:26px;font:600 clamp(28px,5.8vw,90px)/1.2 var(--display);letter-spacing:-.015em}.contact-arrow{width:76px;height:76px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;flex:none;transition:background .3s,color .3s,transform .3s}.contact-arrow svg{height:30px;width:30px}.contact-email:hover .contact-arrow{background:var(--ink);color:var(--accent);transform:rotate(45deg)}.contact-note{font-size:12px;margin-top:22px;color:#796453}.contact-watermark{position:absolute;bottom:-35px;left:50%;transform:translateX(-50%);white-space:nowrap;font:800 22vw/.8 var(--display);letter-spacing:-.01em;color:#3c1f0a06;pointer-events:none}.site-footer{background:var(--ink);color:var(--paper);padding:46px 0 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-logo{width:220px;flex:none}.footer-top p{font-size:12px;color:#deceb6}.back-top{font:600 12px var(--display);letter-spacing:.1em;display:flex;align-items:center;gap:18px;white-space:nowrap}.back-top span{font-family:Arial;font-size:24px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:38px;font-size:12px;color:#cbb799}.footer-bottom small{font-family:Arial;font-size:12px}.mobile-break{display:none}
.monta{position:fixed;right:22px;bottom:17px;z-index:20;transform:translateY(160%);transition:transform .6s var(--ease)}.monta.is-visible{transform:translateY(0)}.monta button{position:relative;background:none;padding:0;width:90px;transition:transform .3s}.monta button:hover{transform:translateY(-6px) rotate(-5deg)}.monta img{width:90px;height:105px;object-fit:contain;object-position:bottom}.monta button>span{position:absolute;top:-12px;left:10px;font:700 12px var(--display);letter-spacing:.08em;border:1px solid var(--ink);background:var(--accent);padding:4px 10px;transform:rotate(-8deg);border-radius:2px}.monta-bubble{position:absolute;bottom:125px;right:0;white-space:nowrap;padding:12px 18px;background:white;border:1px solid var(--ink);font-size:14px;font-weight:600;box-shadow:4px 4px 0 var(--ink)}.motion-toggle{position:fixed;left:17px;bottom:15px;display:flex;align-items:center;gap:8px;z-index:21;background:var(--ink);color:var(--paper);border:1px solid #ffffff50;padding:7px 11px;border-radius:20px;font:600 11px var(--display);letter-spacing:.1em}.motion-symbol{font-family:Arial;font-size:13px;line-height:1.1}.motion-toggle:hover{background:var(--accent);color:var(--ink);border-color:var(--ink)}
.lightbox{position:fixed;inset:0;max-width:100vw;max-height:100dvh;width:100%;height:100dvh;border:0;margin:0;padding:28px 40px;background:#3c1f0afa;color:var(--paper)}.lightbox::backdrop{background:#000c}.lightbox[open]{display:flex;flex-direction:column}.lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:25px}.lightbox h2{font-size:20px}.lightbox-close{display:flex;align-items:center;gap:18px;background:none;font:600 14px var(--display);letter-spacing:.1em;padding:5px}.lightbox-close span{font:300 42px/1 Arial}.lightbox-view{display:flex;align-items:center;justify-content:center;gap:30px;flex:1;min-height:0;padding:24px 0}.lightbox-view figure{height:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0}.lightbox-view img{max-height:calc(100dvh - 210px);max-width:100%;object-fit:contain;width:auto}.lightbox-view figcaption{font-size:14px;margin-top:15px;min-height:27px}.lightbox-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;padding-top:16px;font:500 13px var(--display);letter-spacing:.08em}.lightbox-bottom>span:last-child{font-family:var(--sans);font-size:12px}.noscript-note{padding:30px;background:var(--accent);margin:0}
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;scroll-behavior:auto!important}.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}.motion-paused .service-stage>img{transform:none!important}.motion-paused .scene-star{animation:none!important}
@keyframes title-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-arrive-main{from{opacity:0;transform:translate(25px,55px) rotate(11deg)}to{opacity:1;transform:translate(0,0) rotate(5deg)}}@keyframes photo-arrive-people{from{opacity:0;transform:translate(-25px,60px) rotate(-14deg)}to{opacity:1;transform:translate(0,0) rotate(-8deg)}}@keyframes star-breathe{0%,100%{transform:rotate(14deg) scale(1)}50%{transform:rotate(34deg) scale(1.035)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes scroll-cue{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
@media(min-width:1600px){.site-header{padding-left:max(var(--gutter),calc((100vw - 1424px)/2));padding-right:max(var(--gutter),calc((100vw - 1424px)/2))}.hero{min-height:920px}.hero-grid{min-height:670px}.hero-scene{height:665px}.hero-photo-main{height:470px}.hero-photo-people{height:285px}}
@media(max-width:1150px){.desktop-nav{gap:20px;font-size:12px}.brand{width:180px}.desktop-nav .nav-contact{padding:10px 14px;gap:14px}.hero{padding-top:138px;min-height:800px}.hero-grid{min-height:570px}.hero-scene{height:580px}.hero-photo-main{height:380px}.hero-photo-people{height:218px;bottom:44px}.hero-seal{width:130px;height:130px;right:0;bottom:45px}.hero-seal span{font-size:12px}.hero h1{font-size:6.8vw}.hero-eyebrow{font-size:12px;gap:9px}.hero-location{font-size:11px;margin-left:2px;padding-left:9px}.scene-star{width:560px;height:560px}.company-intro,.access-grid{gap:40px}.company-message .lead{font-size:19px}.business-row{grid-template-columns:35px 1fr 1fr 40px;gap:20px}.business-row h3{font-size:23px}.business-star{width:40px;height:40px}.business-row p{font-size:13px}.service-heading-grid{gap:30px}.service-logo{width:300px}.service-description-grid{gap:45px}.footer-top{gap:25px}.footer-top p{max-width:240px}}
@media(max-width:900px){.site-header,.site-header.is-scrolled{height:76px;gap:20px}.brand{width:184px}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:15px;background:none;padding:12px 0 12px 12px;z-index:32}.menu-label{font:600 13px var(--display);letter-spacing:.1em}.menu-lines{position:relative;width:27px;height:18px}.menu-lines::before,.menu-lines::after{position:absolute;left:0;right:0;content:"";height:1px;background:currentColor;transition:transform .3s;top:4px}.menu-lines::after{top:13px}.menu-toggle[aria-expanded=true] .menu-lines::before{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines::after{transform:translateY(-4.5px) rotate(-45deg)}.menu-open .site-header{position:fixed;background:var(--brand)}.mobile-menu{display:flex;position:fixed;inset:0;z-index:29;background:var(--brand);color:var(--paper);padding:125px var(--gutter) 45px;flex-direction:column;justify-content:space-between;overflow-y:auto}.mobile-menu nav>a{display:flex;gap:18px;align-items:center;font-size:clamp(18px,3vw,28px);font-weight:600;border-bottom:1px solid #ffffff40;padding:25px 0}.mobile-menu nav>a>span{font:500 13px var(--display);color:var(--accent)}.mobile-menu nav>a>svg{margin-left:auto}.mobile-menu>p{font:600 16px/1.6 var(--display);letter-spacing:.12em;margin-top:35px;color:#dfcfb7}.hero-location{display:none}.hero{min-height:760px;padding-top:135px}.hero-grid{min-height:520px;grid-template-columns:1.1fr 1fr}.hero h1{font-size:7.1vw}.hero-english{font-size:39px}.hero-description{font-size:13px}.hero-eyebrow{margin-bottom:24px}.hero-scene{height:520px;margin-left:-18px}.hero-photo-main{height:320px;right:-15px;width:92%;top:24px}.hero-photo-people{width:64%;height:188px;bottom:64px;left:-20px}.hero-seal{width:106px;height:106px;bottom:38px;right:-5px;gap:7px}.hero-seal svg{width:24px;height:24px}.hero-seal span{font-size:10px}.scene-star{width:470px;height:470px;left:-80px;top:-5px}.scene-label{right:-32px;font-size:10px;top:65px}.hero-photo-main figcaption{padding:9px 10px;flex-wrap:wrap;font-size:10px;gap:2px}.hero-photo-main figcaption span:first-child{font-size:10px}.hero-photo-people figcaption{font-size:10px;letter-spacing:.07em}.round-link{font-size:14px;gap:12px}.arrow-circle{width:48px;height:48px}.hero-link{margin-top:26px}.hero-bottom{margin-top:25px}.section-space{padding:85px 0}.section-label{margin-bottom:40px;font-size:14px;gap:13px}.company-intro{grid-template-columns:1fr;gap:28px}.big-heading{font-size:clamp(34px,5vw,46px)}.company-message{display:grid;grid-template-columns:1fr 1.2fr;column-gap:35px;padding:0}.company-message .lead{grid-row:span 2;margin:14px 0 0}.company-message>p:not(.lead){font-size:14px;margin-top:12px}.desktop-break{display:none}.business-rows{margin-top:40px}.business-row{grid-template-columns:30px 1fr 1fr;gap:20px}.business-row>svg{display:none}.business-row h3{font-size:20px}.business-row h3 small{font-size:11px}.service-top{padding-top:64px}.service .section-label{margin-bottom:40px}.service h2{font-size:32px}.service-logo{width:240px}.service-heading-grid{grid-template-columns:1.2fr .8fr;gap:25px}.service-stage{aspect-ratio:1.75}.stage-caption{left:25px;right:25px;bottom:25px}.stage-caption>span:first-child{font-size:20px}.service-description-grid{gap:35px;padding:40px 0}.service-description-grid h3{font-size:28px}.service-description-grid p{font-size:14px}.service-step h3{font-size:34px;gap:13px}.service-step+.service-step{padding-left:22px}.service-step{padding-right:15px}.service-step p{font-size:12px}.service-steps{margin-bottom:56px}.gallery-block{padding-top:44px}.gallery-heading h3{font-size:28px}.gallery-instruction{display:none}.gallery-track{gap:20px}.access-grid{gap:30px;grid-template-columns:1fr 1.1fr}.access-heading .big-heading{font-size:31px}.company-facts>div{grid-template-columns:66px 1fr;gap:15px;font-size:13px}.map-layout{grid-template-columns:1fr 210px}.map-link{padding:24px}.contact{padding-top:50px;padding-bottom:85px}.contact h2{font-size:53px}.contact-star{height:140px;width:140px;margin-right:2%}.contact-email{font-size:7.3vw}.footer-top p{display:none}.monta button{width:76px}.monta img{width:76px;height:90px}.monta-bubble{bottom:111px}}
@media(max-width:600px){:root{--gutter:24px}.hero{padding-top:112px;min-height:0}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0}.hero-copy{padding-bottom:0}.hero-eyebrow{font-size:12px;margin-bottom:21px}.hero-location{display:inline;font-size:10px;margin-left:auto}.hero h1{font-size:clamp(46px,10.6vw,64px);line-height:1.27;letter-spacing:-.075em}.hero-english{font-size:31px;line-height:.95;margin-top:17px}.hero-english em{font-size:1.8em;left:calc(100% + 19px)}.hero-description{font-size:13px;line-height:1.95;margin-top:24px}.hero-link{margin-top:22px;font-size:13px}.round-link small{font-size:10px}.arrow-circle{width:45px;height:45px}.hero-scene{height:400px;margin:23px -2px 0;width:100%;align-self:stretch}.hero-photo-main{width:82%;right:7px;top:24px;height:268px}.hero-photo-people{width:53%;height:170px;left:-1px;bottom:15px}.hero-photo-main figcaption{padding:11px;display:flex;flex-wrap:nowrap;font-size:10px}.hero-photo-main figcaption span:first-child{font-size:10px}.scene-star{width:370px;height:370px;left:-15px;top:0}.scene-label{right:-12px;top:58px;font-size:9px;letter-spacing:.16em}.hero-seal{width:99px;height:99px;right:5px;bottom:25px}.hero-seal span{font-size:10px}.hero-seal svg{width:25px;height:25px}.hero-bottom{margin-top:23px;height:59px;font-size:10px}.hero-bottom a{font-size:10px;letter-spacing:.08em;gap:12px}.hero-count{display:none}.hero-watermark{top:140px;right:-35px;font-size:210px;writing-mode:vertical-rl}.ticker-track>span{font-size:28px;gap:25px;padding:14px 14px}.ticker svg{height:23px;width:23px}.section-space{padding:64px 0}.section-label{margin-bottom:33px;font-size:13px;gap:10px}.section-number{font-size:12px}.label-jp{font-size:10px}.big-heading{font-size:clamp(28px,7.1vw,40px);line-height:1.7;letter-spacing:-.06em}.company-intro{gap:28px}.company-message{display:block}.company-message .lead{font-size:18px;line-height:1.85;margin:0 0 18px}.company-message>p:not(.lead){font-size:14px;line-height:2.05}.business-rows{margin-top:32px}.business-row{grid-template-columns:26px 1fr;gap:9px 16px;padding:24px 0}.business-row h3{font-size:23px}.business-number{grid-row:span 2;padding-top:5px}.business-row h3 small{font-size:11px;letter-spacing:.1em;margin-top:6px}.business-row p{grid-column:2;font-size:12px;line-height:1.9;margin-top:9px}.service-top{padding-top:45px}.service .section-label{margin-bottom:34px;padding-bottom:18px}.service .label-jp{font-size:9px}.service-heading-grid{grid-template-columns:1fr;gap:26px;margin-bottom:31px}.service-heading-grid .eyebrow{font-size:11px;margin-bottom:17px}.service h2{font-size:clamp(27px,7.5vw,40px);line-height:1.6}.service-logo{justify-self:end;width:210px;margin-top:-12px;margin-right:5px}.service-stage{aspect-ratio:.98;margin-left:-24px;margin-right:-24px}.service-stage>img{object-position:55% 60%;height:110%}.stage-caption{left:24px;right:24px;bottom:23px}.stage-caption>span:first-child{font-size:19px;line-height:1.85}.stage-caption-en{display:none}.photo-corner{width:43px;height:43px;font-size:25px}.service-description-grid{grid-template-columns:1fr;gap:25px;padding:33px 0}.service-description-grid h3{font-size:27px}.service-description-grid p{font-size:14px;line-height:2}.service-steps{grid-template-columns:1fr;margin-bottom:40px}.service-step,.service-step+.service-step{display:grid;grid-template-columns:110px 1fr;gap:3px 20px;border-left:0;border-bottom:1px solid #3c1f0a40;padding:20px 0}.service-step>span{font-size:11px;grid-column:1;grid-row:1}.service-step h3{font-size:30px;margin:3px 0 0;grid-column:1;grid-row:2;gap:14px}.service-step h3 small{font-size:14px}.service-step p{font-size:12px;grid-column:2;grid-row:1 / 3;align-self:center}.gallery-block{padding:37px 0 32px}.gallery-heading{margin-bottom:25px;gap:20px}.gallery-heading .eyebrow{font-size:10px}.gallery-heading h3{font-size:25px}.gallery-controls{gap:8px}.icon-button{height:40px;width:40px}.icon-button svg{height:20px;width:20px}.gallery-track{gap:16px}.gallery-item{flex-basis:81vw}.gallery-item>img{aspect-ratio:1.3}.gallery-item>span{font-size:12px;padding-top:14px;gap:15px}.gallery-footer{gap:20px;margin-top:20px}.gallery-footer>span:first-child{font-size:10px;max-width:110px;line-height:1.5}.access-grid{grid-template-columns:1fr;gap:32px}.access-heading{position:relative}.access-heading .big-heading{font-size:30px}.access-heading p{font-size:12px;margin-top:17px}.access-star{position:absolute;right:3px;bottom:0;width:58px;height:58px;margin:0}.company-facts>div{font-size:13px;grid-template-columns:67px 1fr;gap:17px;padding:19px 0}.company-facts a{font-size:15px}.map-layout{margin-top:30px;grid-template-columns:1fr}.map-frame{height:260px}.map-link{flex-direction:row;align-items:center;padding:19px 22px}.map-link small{font-size:11px;margin-bottom:5px}.map-link>svg{height:30px;width:30px;align-self:center}.contact{padding-top:40px;padding-bottom:57px}.contact .section-label{font-size:11px;gap:10px;margin-bottom:34px}.contact-heading .eyebrow{font-size:12px;margin-bottom:20px}.contact h2{font-size:clamp(30px,8vw,46px);line-height:1.6;letter-spacing:-.07em}.contact-star{height:63px;width:63px;margin:0;align-self:flex-end;margin-bottom:15px}.contact-email{font-size:8.6vw;gap:10px;padding:24px 0 19px;margin-top:22px}.contact-arrow{width:43px;height:43px}.contact-arrow svg{height:21px;width:21px}.contact-note{font-size:10px;line-height:1.9;margin-top:17px}.contact-watermark{font-size:30vw;bottom:-10px}.mobile-break{display:block}.site-footer{padding:31px 0 60px}.footer-logo{width:178px}.footer-top{gap:18px}.back-top{font-size:10px;gap:12px}.back-top span{font-size:20px}.footer-bottom{flex-direction:column;gap:6px;margin-top:23px;font-size:11px}.footer-bottom small{font-size:10px}.monta{right:12px;bottom:12px}.monta img{height:76px;width:63px}.monta button{width:63px}.monta button>span{font-size:10px;top:-10px;left:2px;padding:3px 8px}.monta-bubble{font-size:12px;bottom:97px;padding:10px 13px}.motion-toggle{left:12px;bottom:12px;font-size:10px;padding:6px 9px}.motion-symbol{font-size:12px}.lightbox{padding:17px 18px 24px}.lightbox h2{font-size:16px}.lightbox-close{font-size:12px;gap:11px}.lightbox-close span{font-size:35px}.lightbox-view{position:relative;gap:0;padding:25px 0 80px}.lightbox-view>button{position:absolute;bottom:10px;width:47px;height:47px}.lightbox-prev{left:calc(50% - 64px)}.lightbox-next{right:calc(50% - 64px)}.lightbox-view img{max-height:calc(100dvh - 280px)}.lightbox-view figcaption{font-size:12px;margin-top:18px;line-height:1.8}.lightbox-bottom{font-size:12px;gap:10px}.lightbox-bottom>span:last-child{display:none}.js .reveal{transform:translateY(20px)}}
@media(max-width:360px){:root{--gutter:20px}.hero-location{font-size:9px}.hero-eyebrow{gap:8px}.hero h1{font-size:10.5vw}.hero-scene{height:360px}.hero-photo-main{height:238px}.hero-photo-people{height:150px}.hero-seal{width:89px;height:89px}.hero-seal span{font-size:9px}.scene-label{right:-10px}.service-stage{margin-left:-20px;margin-right:-20px}.contact-email{font-size:8.2vw}.contact h2{font-size:8.4vw}.contact-star{width:48px;height:48px}.company-facts>div{gap:10px;grid-template-columns:57px 1fr;font-size:12px}.footer-logo{width:158px}}
/* Final reading scale and continuous, deliberately restrained photo motion. */
.hero-description,.company-message>p:not(.lead),.business-row p,.service-description-grid p,.service-step p{font-size:16px}
.desktop-nav,.company-facts>div{font-size:14px}
.business-row p,.service-step p{line-height:1.95}
.hero-photo-main{animation:photo-arrive-main 1.25s var(--ease) both,photo-float-main 8s 1.25s ease-in-out infinite}
.hero-photo-people{animation:photo-arrive-people 1.4s .1s var(--ease) both,photo-float-people 9s 1.5s ease-in-out infinite}
.hero.is-offscreen .hero-photo,.hero.is-offscreen .scene-star{animation-play-state:paused}
.icon-button:disabled{opacity:.35;cursor:default}.icon-button:disabled:hover{background:none;color:inherit;border-color:#ac9575}
@keyframes photo-float-main{0%,100%{transform:translateY(0) rotate(5deg)}50%{transform:translateY(-9px) rotate(4deg)}}
@keyframes photo-float-people{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(7px) rotate(-6.8deg)}}
@media(max-width:900px){.business-row{grid-template-columns:26px 1fr 1.1fr;gap:16px}.business-row p{font-size:15px}.service-step p{font-size:14px}.company-facts>div{font-size:14px}.company-message{grid-template-columns:1fr 1.35fr}}
@media(max-width:600px){.hero-description{font-size:15px}.business-row{grid-template-columns:26px 1fr;gap:9px 16px}.business-row p{font-size:15px}.business-row p br,.service-step p br{display:none}.company-facts>div{grid-template-columns:62px 1fr;gap:14px}.service-step,.service-step+.service-step{grid-template-columns:105px 1fr;gap:3px 16px}.gallery-item>span{font-size:14px}.contact-note{font-size:12px}.access-heading .big-heading{max-width:90%}.hero-photo-main figcaption{font-size:10px}.hero-photo-main figcaption span:first-child{font-size:10px}.section-label .label-jp{font-size:11px}}
@media(max-width:360px){.company-facts>div{grid-template-columns:56px 1fr;gap:9px;font-size:13px}.service-step,.service-step+.service-step{grid-template-columns:98px 1fr;gap:3px 13px}.service-step p{font-size:14px}.hero-location{display:none}}
@media(max-width:360px){.site-header .brand{width:160px}.menu-toggle{gap:10px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-forced){scroll-behavior:auto}html:not(.motion-forced) *,html:not(.motion-forced) *::before,html:not(.motion-forced) *::after{animation:none!important;transition:none!important}html:not(.motion-forced) .reveal{opacity:1;transform:none}html:not(.motion-forced) .service-stage>img{transform:none!important}}

/* Scroll scenes. Native scrolling remains in control; static layout is the fallback. */
.hero-pin{position:relative}
.hero-finale,.process-nav,.process-kicker,.gallery-layout,.explore-cursor,.orbit-orbit{display:none}
.process-photo{display:none}
.motion-ready .hero{height:240svh;min-height:0;padding:0;overflow:visible;isolation:isolate}
.motion-ready .hero-pin{height:100svh;min-height:620px;position:sticky;top:0;overflow:clip;background:radial-gradient(ellipse at 50% 20%,#765132 0%,#5c3a21 55%,#3c1f0a 100%)}
.motion-ready .hero-grid{display:contents}
.motion-ready .hero-copy,.motion-ready .hero-scene{display:contents}
.motion-ready .hero-watermark{top:auto;bottom:0;left:0;right:0;font-size:30vw;line-height:.72;white-space:nowrap;color:#d8c07006;-webkit-text-stroke:1px #d8c07028;writing-mode:horizontal-tb}
.motion-ready .hero h1{position:absolute;left:7%;top:25%;width:86%;font-size:clamp(72px,9.6vw,155px);line-height:1.16;z-index:4;pointer-events:none;letter-spacing:-.07em}
.motion-ready .title-line{animation:kinetic-enter 1.2s var(--ease) both;transform-origin:left center}
.motion-ready .title-line:nth-child(2){text-align:right;animation-delay:.12s}
.motion-ready .hero-eyebrow{position:absolute;top:16%;left:8%;z-index:4;margin:0}
.motion-ready .hero-description{position:absolute;right:7%;bottom:13%;margin:0;z-index:4;font-size:13px;color:var(--paper)}
.motion-ready .hero-english{position:absolute;left:40%;bottom:17%;z-index:4;margin:0;font-size:30px}
.motion-ready .hero-english em{font-size:1.7em}
.motion-ready .hero-link{position:absolute;left:8%;bottom:9%;z-index:7;margin:0}
.motion-ready .hero-photo{animation:none!important;margin:0;will-change:transform;border:0}
.motion-ready .hero-photo-main{left:68%;top:12%;right:auto;bottom:auto;width:25%;height:34%;z-index:2;transform:rotate(8deg);transform-origin:center;overflow:hidden;border-radius:3px}
.motion-ready .hero-photo-main img{height:100%;object-position:50% 55%}
.motion-ready .hero-photo-main figcaption{font-size:10px;padding:9px 12px}
.motion-ready .hero-photo-main figcaption span:first-child{font-size:10px}
.motion-ready .hero-photo-people{left:9%;top:57%;right:auto;bottom:auto;width:24%;height:23%;z-index:3;transform:rotate(-9deg)}
.motion-ready .hero-photo-people img{object-position:50% 65%}
.motion-ready .scene-star{width:55vw;height:55vw;top:2%;left:23%;z-index:1;animation:none;color:#d8c0703b;transform:rotate(14deg)}
.motion-ready .scene-label{display:none}
.motion-ready .hero-seal{width:110px;height:110px;right:5%;bottom:auto;top:63%;z-index:5;font-size:11px;gap:5px}
.motion-ready .hero-seal span{font-size:10px}.motion-ready .hero-seal svg{width:23px;height:23px}
.motion-ready .hero-bottom{position:absolute;bottom:0;left:0;right:0;height:7%;min-height:42px;margin:0;z-index:7}
.motion-ready .hero-finale{display:flex;flex-direction:column;justify-content:end;position:absolute;inset:0;padding:0 8% 13%;z-index:6;pointer-events:none;background:linear-gradient(transparent 30%,#241104cf);opacity:0;color:var(--paper)}
.hero-finale>span{font:600 14px var(--display);letter-spacing:.17em;margin-bottom:22px;color:var(--accent)}
.hero-finale>p{font-size:clamp(36px,5.5vw,86px);font-weight:800;letter-spacing:-.05em;line-height:1.45}
.motion-ready .orbit-orbit{display:block;position:absolute;left:25%;top:10%;width:50vw;height:50vw;border:1px solid #d8c07020;border-radius:50%;transform:rotateX(60deg);pointer-events:none}
.motion-ready .company{position:relative;z-index:2;background:var(--paper);border-radius:36px 36px 0 0;margin-top:-36px;padding-top:130px}
.motion-ready .company .big-heading{font-size:clamp(36px,4.4vw,67px)}
.word-reveal{color:#c7b59c;transition:color .15s}.word-reveal.is-ink{color:var(--ink)}
.company-message>p:not(.lead),.business-row p{color:#796453}
.motion-ready .business-row{transition:padding .45s var(--ease),background .45s}
@media(hover:hover){.motion-ready .business-row:hover{padding-left:22px;padding-right:22px;background:#eadfcf}.business-row:hover .business-star{transform:rotate(100deg);transition:transform .7s var(--ease)}}
.motion-ready .service{overflow:visible}
.motion-ready .process-story{height:230svh;position:relative;margin:0 calc(-1 * var(--gutter));background:var(--ink);color:var(--paper)}
.motion-ready .process-pin{position:sticky;top:78px;height:calc(100svh - 78px);min-height:550px;display:grid;grid-template-columns:58% 42%;overflow:clip}
.motion-ready .process-story .service-stage{aspect-ratio:auto;margin:0;height:100%;width:100%;overflow:hidden;opacity:1;transform:none}
.motion-ready .process-story .service-stage>img{position:absolute;inset:0;height:100%;width:100%;display:block;object-fit:cover;transform:scale(1.04);object-position:50% 55%;transition:opacity .55s ease,transform 1.2s var(--ease)}
.motion-ready .process-photo{opacity:0}
.motion-ready .process-story .stage-caption{left:40px;right:40px;bottom:40px}
.motion-ready .process-story .stage-caption-en,.motion-ready .process-story .photo-corner{display:none}
.motion-ready .process-editorial{padding:9% 12%;position:relative;display:flex;flex-direction:column;justify-content:center}
.motion-ready .process-kicker{display:block;color:var(--accent);font-size:12px;letter-spacing:.15em;margin-bottom:30px}
.motion-ready .service-steps{display:block;border:0;margin:0;position:relative;min-height:245px}
.motion-ready .service-step,.motion-ready .service-step+.service-step{position:absolute;inset:0;display:block;padding:0;border:0;opacity:0;visibility:hidden;transform:translateY(35px);transition:opacity .5s,transform .7s var(--ease),visibility .5s}
.motion-ready .service-step.is-active{opacity:1;visibility:visible;transform:translateY(0)}
.motion-ready .service-step>span{color:#d8c070;font-size:17px;letter-spacing:.12em}
.motion-ready .service-step h3{font-size:clamp(60px,6vw,96px);gap:18px;margin:8px 0 18px;line-height:1.35;font-weight:700}
.motion-ready .service-step h3 small{font-size:22px;color:var(--accent)}
.motion-ready .service-step p{font-size:16px;line-height:2;color:#e3d5bf}
.motion-ready .process-nav{display:flex;gap:16px;margin-top:30px}
.process-nav button{position:relative;background:none;color:#d0bda3;border-top:2px solid #ffffff26;padding:13px 0;flex:1;font:600 15px var(--display);text-align:left}
.process-nav button span{font:500 11px var(--sans);margin-left:8px}
.process-nav button::before{content:"";position:absolute;top:-2px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(var(--step-progress,0));transform-origin:left}
.process-nav button[aria-pressed=true]{color:var(--accent)}
.motion-ready .service-description-grid{padding:75px 0}
.gallery-block{overflow:clip;--accent:#d8c070}
.gallery-layout{display:inline-flex;align-items:center;gap:14px;border:1px solid #ac9575;background:none;color:var(--paper);padding:10px 17px;border-radius:30px;font-size:12px;min-height:44px}
.gallery-layout:hover{background:var(--accent);color:var(--ink)}
.gallery-layout span{font-size:22px;line-height:1}
.gallery-instruction{font-size:11px;margin-right:0}
.motion-ready .gallery-track{padding-top:35px;padding-bottom:35px;scroll-snap-type:none;cursor:grab;touch-action:pan-x pan-y}
.motion-ready .gallery-item{flex-basis:clamp(300px,42vw,620px);transition:transform .6s var(--ease);transform:rotate(-3deg);transform-origin:50% 70%}
.motion-ready .gallery-item:nth-child(even){transform:translateY(18px) rotate(3deg)}
.motion-ready .gallery-item img{aspect-ratio:1.4;border-radius:4px}
.motion-ready .gallery-item:hover{transform:translateY(-12px) rotate(0)}
.gallery-track.is-dragging,.gallery-track.is-dragging *{cursor:grabbing;user-select:none}.gallery-track.is-dragging .gallery-item{pointer-events:none}
.gallery-item img{-webkit-user-drag:none;user-select:none}
.gallery-block.is-grid .gallery-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:25px var(--gutter);overflow:visible}
.gallery-block.is-grid .gallery-item{transform:none;min-width:0}
.gallery-block.is-grid .gallery-item>span{font-size:12px;gap:10px}
.gallery-block.is-grid .gallery-footer,.gallery-block.is-grid #gallery-prev,.gallery-block.is-grid #gallery-next,.gallery-block.is-grid .gallery-instruction{display:none}
.gallery-block.is-grid .gallery-item:hover{transform:translateY(-5px)}
@media(hover:hover) and (pointer:fine){.explore-cursor{display:grid;place-content:center;text-align:center;position:fixed;left:0;top:0;width:76px;height:76px;background:var(--accent);color:var(--ink);border-radius:50%;z-index:80;font:600 14px/1.3 var(--display);letter-spacing:.1em;opacity:0;pointer-events:none;transition:opacity .2s;transform:translate(-100px,-100px)}.explore-cursor.is-visible{opacity:1}}
.lightbox[open]{animation:gallery-open .4s var(--ease)}
.lightbox-view img{animation:gallery-photo .5s var(--ease)}
.contact-arrow{transition:transform .5s var(--ease),background .3s}
.contact-email:hover .contact-arrow{transform:rotate(45deg);background:var(--brand);color:var(--accent)}
@keyframes kinetic-enter{from{clip-path:inset(100% 0 0);translate:0 35px}to{clip-path:inset(0);translate:0 0}}
@keyframes gallery-open{from{opacity:0;clip-path:inset(15% 10% round 40px)}to{opacity:1;clip-path:inset(0 round 0)}}
@keyframes gallery-photo{from{opacity:.2;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
::view-transition-group(*){animation-duration:.65s;animation-timing-function:cubic-bezier(.22,.68,0,1)}
@media(max-width:1100px){.gallery-instruction{display:none}.motion-ready .hero h1{font-size:10vw;top:29%}.motion-ready .hero-description{font-size:12px;right:5%;bottom:14%}.motion-ready .hero-english{left:40%;font-size:24px}.motion-ready .hero-link{font-size:12px}.motion-ready .process-editorial{padding:8%}.motion-ready .service-step p{font-size:15px}}
@media(max-width:700px){
 .motion-ready .hero{height:210svh}
 .motion-ready .hero-pin{min-height:640px}
 .motion-ready .hero h1{top:30%;left:6%;width:88%;font-size:clamp(43px,11.5vw,80px);line-height:1.28}
 .motion-ready .hero-eyebrow{top:14%;left:7%;font-size:10px;gap:9px}.motion-ready .hero-location{display:none}
 .motion-ready .hero-photo-main{left:59%;top:18%;width:34%;height:23%}
 .motion-ready .hero-photo-main figcaption{display:none}
 .motion-ready .hero-photo-people{left:6%;top:60%;width:38%;height:21%}
 .motion-ready .hero-photo-people figcaption{font-size:8px;padding:12px 7px 5px}
 .motion-ready .hero-description{right:6%;bottom:22%;width:45%;font-size:10px;line-height:1.9}
 .motion-ready .hero-description br:last-of-type{display:none}
 .motion-ready .hero-english{left:auto;right:9%;bottom:13%;font-size:22px}
 .motion-ready .hero-english em{left:auto;right:-26px;font-size:1.3em}
 .motion-ready .hero-link{left:7%;bottom:9%;font-size:11px;gap:10px}.motion-ready .hero-link small{font-size:9px}.motion-ready .hero-link .arrow-circle{height:34px;width:34px}
 .motion-ready .hero-seal{height:65px;width:65px;top:51%;right:7%;gap:0;outline-width:3px}.motion-ready .hero-seal span{font-size:7px}.motion-ready .hero-seal svg{height:15px;width:15px}
 .motion-ready .scene-star{width:95vw;height:95vw;left:0;top:18%}
 .motion-ready .hero-bottom{font-size:8px;height:6%;padding-left:7%;padding-right:7%}.motion-ready .hero-bottom a{font-size:9px;gap:8px}
 .motion-ready .hero-finale{padding:0 7% 25%}.hero-finale>p{font-size:9vw}.hero-finale>span{font-size:10px}
 .motion-ready .company{padding-top:70px;border-radius:22px 22px 0 0;margin-top:-22px}.motion-ready .company .big-heading{font-size:7.1vw}
 .motion-ready .process-story{height:220svh}
 .motion-ready .process-pin{top:76px;height:calc(100svh - 76px);min-height:540px;grid-template-columns:1fr;grid-template-rows:48% 52%}
 .motion-ready .process-story .stage-caption{left:24px;right:24px;bottom:18px}.motion-ready .stage-caption>span:first-child{font-size:16px}
 .motion-ready .process-editorial{padding:24px;display:block}
 .motion-ready .process-kicker{font-size:10px;margin-bottom:14px}
 .motion-ready .service-steps{min-height:155px}.motion-ready .service-step h3{font-size:45px;margin:3px 0 9px;gap:14px}.motion-ready .service-step h3 small{font-size:15px}
 .motion-ready .service-step>span{font-size:12px}.motion-ready .service-step p{font-size:14px;line-height:1.8}.motion-ready .service-step p br{display:none}
 .motion-ready .process-nav{margin-top:8px;gap:18px}.process-nav button{font-size:13px;padding-top:10px}.process-nav button span{font-size:10px}
 .motion-ready .service-description-grid{padding:38px 0}
 .gallery-heading{align-items:center;gap:12px}.gallery-heading h3{font-size:24px}.gallery-heading .eyebrow{font-size:9px}.gallery-controls{gap:6px;flex-wrap:wrap;justify-content:end}.gallery-layout{font-size:10px;gap:6px;padding:7px 10px}.gallery-layout span{font-size:18px}.gallery-controls .icon-button{height:34px;width:34px}
 .motion-ready .gallery-item{flex-basis:82vw}
 .gallery-block.is-grid .gallery-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.gallery-block.is-grid .gallery-item>span{font-size:10px;gap:5px;align-items:start;line-height:1.6}.gallery-block.is-grid .gallery-item b{font-size:10px}.gallery-block.is-grid .gallery-item svg{display:none}
}
@media(max-height:680px) and (min-width:701px){.motion-ready .hero h1{font-size:9vw;top:24%}.motion-ready .hero-pin{min-height:580px}.motion-ready .hero-description{bottom:12%;font-size:11px}.motion-ready .hero-english{bottom:14%;font-size:22px}.motion-ready .hero-link{bottom:8%}.motion-ready .process-pin{min-height:500px}}
/* Static mode also removes the long scene runways, so stopping motion is useful. */
.motion-paused .hero{height:auto!important;padding-top:110px!important;overflow:clip!important}
.motion-paused .hero-pin{position:relative!important;height:auto!important;min-height:0!important;background:var(--brand)}
.motion-paused .hero-grid{display:grid!important}.motion-paused .hero-copy{display:block!important}.motion-paused .hero-scene{display:block!important;position:relative;height:600px}
.motion-paused .hero h1,.motion-paused .hero-eyebrow,.motion-paused .hero-english,.motion-paused .hero-description,.motion-paused .hero-link{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:auto!important;transform:none!important;opacity:1!important}
.motion-paused .hero h1{font-size:6vw;text-align:left}.motion-paused .hero-eyebrow{margin-bottom:25px}.motion-paused .hero-english{margin-top:25px}.motion-paused .hero-description{margin-top:25px}.motion-paused .hero-link{margin-top:25px}.motion-paused .hero h1 .title-line{text-align:left}
.motion-paused .hero-photo-main{left:15%!important;top:5%!important;width:80%!important;height:60%!important;transform:rotate(5deg)!important}.motion-paused .hero-photo-people{left:0!important;top:58%!important;width:65%!important;height:30%!important;opacity:1!important;transform:rotate(-7deg)!important}
.motion-paused .hero-bottom{position:relative!important;margin-top:25px!important;height:60px!important}.motion-paused .hero-finale,.motion-paused .hero-seal,.motion-paused .orbit-orbit{display:none!important}
.motion-paused .process-story{height:auto!important}.motion-paused .process-pin{position:relative!important;top:auto!important;height:auto!important;min-height:0!important}.motion-paused .process-story .service-stage{min-height:400px}.motion-paused .process-story .service-stage>img:first-child{opacity:1!important;transform:none!important}.motion-paused .process-photo{display:none!important}
.motion-paused .service-steps{display:grid!important;gap:28px}.motion-paused .service-step,.motion-paused .service-step+.service-step{position:relative!important;opacity:1!important;visibility:visible!important;transform:none!important}.motion-paused .service-step h3{font-size:45px}.motion-paused .process-nav{display:none!important}.motion-paused .word-reveal{color:var(--ink)}
.motion-paused .gallery-item{transform:none!important}.motion-paused .explore-cursor{display:none}
@media(max-width:700px){.motion-paused .hero-grid{display:block!important}.motion-paused .hero h1{font-size:11vw}.motion-paused .hero-scene{height:370px}.motion-paused .hero-copy{padding-bottom:15px}.motion-paused .process-pin{display:block}.motion-paused .process-story .service-stage{height:300px;min-height:300px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-forced) .title-line{translate:none!important}html:not(.motion-forced) .lightbox[open],html:not(.motion-forced) .lightbox-view img{animation:none!important}}

/* Portrait screens keep the landscape photograph whole, with the copy below it. */
@media(max-width:700px){
 .motion-ready:not(.motion-paused) .hero-photo-main img{object-fit:contain;background:var(--brand)}
 .motion-ready:not(.motion-paused) .hero-finale{top:calc(var(--mobile-photo-bottom,400px) + 28px);bottom:14%;padding:0 7%;background:none;justify-content:center}
 .motion-ready .hero-bottom>span:first-child{display:none}
 .motion-ready .hero-bottom>a{margin:0 auto}
}

.motion-notice{position:fixed;bottom:68px;left:24px;z-index:35;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 25px #0002;padding:12px 16px;border-radius:12px;font-size:12px;line-height:1.6}
.motion-notice>span{display:block;color:var(--muted);font-size:11px}
.motion-notice button{display:flex;gap:24px;align-items:center;background:none;padding:6px 0 0;font-weight:700}
.motion-notice button>span{color:var(--brand);font-size:20px;line-height:1}
.motion-toggle{display:flex!important}
@media(max-width:600px){.motion-notice{bottom:56px;left:12px;max-width:calc(100vw - 110px);padding:10px 13px;font-size:12px}}

body.menu-open .motion-notice{display:none!important}

/* Feedback revision: readable transitions, shorter story and clear contact actions. */
.ticker{padding-bottom:0}.motion-ready .company{margin-top:0}
.airport-note{margin-top:35px;padding:20px 0 0;border-top:1px solid var(--line);position:relative;z-index:1}
.airport-note>span{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--brand)}
.access-heading .airport-note p{font-size:17px;line-height:1.9;margin-top:10px;color:var(--ink)}
.motion-ready .process-story{height:187svh}
.process-guide{margin-top:22px;display:flex;flex-direction:column;gap:5px;color:var(--accent);font-size:17px;font-weight:700}
.process-guide small{font-size:11px;font-weight:400;color:#d0bda3}
.motion-ready .process-nav{gap:8px;margin-top:14px}
.process-nav button{border-top:4px solid #ffffff35;padding:15px 10px;background:#ffffff08;border-radius:0 0 8px 8px;min-height:58px}
.process-nav button::before{top:-4px;height:4px}.process-nav button span{font-size:14px}
.process-nav button[aria-pressed=true]{background:var(--accent);color:var(--ink)}
.process-nav button:focus-visible{outline:2px solid var(--paper);outline-offset:4px}
.motion-paused .process-guide{display:none}
@media(max-width:700px){
 .motion-ready .process-pin{grid-template-rows:40% 60%}
 .process-in-view .monta{opacity:0;pointer-events:none}
}
.gallery-extra[hidden]{display:none!important}
.gallery-heading h3{font-size:clamp(25px,3.2vw,46px)}
img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.email-button{background:none;padding:0;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:5px}
.contact-email{display:inline-flex;width:auto;max-width:100%;gap:30px;padding:17px 24px;border:1px solid #b29b7b;border-radius:50px;background:transparent;color:inherit;text-align:left;font:600 clamp(16px,2vw,23px)/1.5 var(--sans);margin-top:35px}
.contact-email .contact-arrow{width:40px;height:40px;min-width:40px}.contact-email .contact-arrow svg{width:21px;height:21px}
.contact-email:hover{background:var(--accent);color:var(--ink)}
.contact-note{margin-top:22px}
@media(max-width:700px){
 .motion-ready .company{margin-top:0}
 .motion-ready .process-story{height:180svh}
 .motion-ready .process-editorial{padding:18px 24px}
 .motion-ready .process-kicker{margin-bottom:8px}
 .motion-ready .service-steps{min-height:160px}
 .process-guide{margin-top:8px;font-size:14px;gap:2px}.process-guide small{font-size:10px}
 .motion-ready .process-nav{margin-top:10px;gap:8px}.process-nav button{padding:10px 8px;min-height:44px}.process-nav button span{font-size:12px}
 .gallery-heading{align-items:flex-start;flex-direction:column;gap:20px}.gallery-controls{justify-content:flex-start;width:100%}
 .gallery-layout{font-size:12px;padding:9px 14px}.gallery-controls .icon-button{height:40px;width:40px}
 .gallery-block.is-grid .gallery-track{gap:24px 14px}
 .contact-email{font-size:16px;gap:18px;padding:14px 18px}.contact-email .contact-arrow{width:32px;height:32px;min-width:32px}
 .airport-note{margin-top:25px}.access-heading .airport-note p{font-size:16px}
}
