main{animation:page-in .45s var(--ease) both}
@keyframes page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.site-header.is-scrolled{height:104px;box-shadow:0 8px 35px #162f5010}
.hero{position:relative;isolation:isolate;overflow:clip}
.hero:before{content:'';position:absolute;z-index:-1;inset:5% -15% 0 35%;background:radial-gradient(ellipse,#d7e3f3aa,transparent 65%);pointer-events:none}
.hero h1{font-size:clamp(40px,4.8vw,69px);letter-spacing:-.055em}
.hero h1 span{color:var(--blue)}
.hero-copy{z-index:2}
.hero-art{position:relative;perspective:1000px}
.hero-art img{border-radius:3px 3px 80px 3px;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0);transition:transform .7s var(--ease)}
.hero-stage{position:relative}
.hero-stage:is([data-hero-prepared="true"],[data-hero-active="true"]){height:180svh}
.hero-stage:is([data-hero-prepared="true"],[data-hero-active="true"]) .hero{position:sticky;top:80px;height:calc(100svh - 80px);min-height:0}
.hero-stage:is([data-hero-prepared="true"],[data-hero-active="true"]) .hero-art{width:min(100%,calc((100svh - 120px)*1122/1402));margin-inline:auto}
.hero-poster{position:relative;z-index:1}
.hero-poster picture,.hero-poster img{display:block;width:100%;height:auto}
.hero-motion{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none}
.hero-motion picture{position:absolute;display:block}
.hero-motion img{display:block;width:100%;height:auto;border-radius:0;transform:none;transition:none;filter:none}
.hero-gear{position:absolute;top:4%;right:-2%;width:42%;z-index:0;transform-origin:50% 50%;will-change:transform}
.hero-gear picture,.hero-gear img{position:relative;display:block;width:100%;height:auto}
.hero-gear img{animation:hero-gear-spin 18s linear infinite;transform-origin:center}
@keyframes hero-gear-spin{to{transform:rotate(1turn)}}
.hero-person{top:10%;right:0;left:0;z-index:2;mask-image:linear-gradient(#000 0 55%,#000e 61%,transparent 73%)}
.hero-panel-line{top:50%;left:-18%;width:62%;z-index:1;transform-origin:55% 50%;will-change:transform}
.hero-panel-bars{top:39%;right:-3%;width:56%;z-index:3;transform-origin:55% 50%;will-change:transform,filter}
.hero-stage[data-hero-active="true"] .hero-poster{opacity:0}
.hero-stage[data-hero-active="true"] .hero-motion{opacity:1}
.hero-macro{position:fixed;inset:0;z-index:25;overflow:hidden;pointer-events:none;visibility:hidden;opacity:0}
.hero-macro:before{content:'';position:absolute;inset:0;background:#e4eefd;opacity:var(--hero-macro-backdrop,0)}
.hero-macro picture{position:absolute;display:block;left:var(--hero-macro-left,50%);top:var(--hero-macro-top,50%);width:var(--hero-macro-width,0px);height:var(--hero-macro-height,0px);transform-origin:center;transform:translate3d(var(--hero-macro-x,0px),var(--hero-macro-y,0px),0) scale(var(--hero-macro-scale,1));will-change:transform}
.hero-macro img{display:block;width:100%;height:100%;object-fit:contain;transform:none;filter:blur(var(--hero-macro-blur,0px));border-radius:0}
.hero-stage:is([data-hero-prepared="true"],[data-hero-active="true"])+.services{position:relative;z-index:2;margin-top:-30svh;background:linear-gradient(transparent,#fff 320px)}
.hero-art .prototype-note{margin-top:16px}
.hero-location{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.14em;color:var(--blue);margin-bottom:24px}
.hero-location:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold,#c4ab76);box-shadow:0 0 0 6px #c4ab7618}
.hero-caption{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap;font-size:11px;letter-spacing:.04em;color:var(--muted)}
.motion-ready .hero-copy{animation:hero-enter .9s var(--ease) both}
.motion-ready .hero-art{animation:hero-enter 1.15s .12s var(--ease) both}
.motion-ready .hero-stage[data-hero-active="true"] .hero-copy{animation:none}
@keyframes hero-enter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.service-card{position:relative;overflow:hidden}
.service-card:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(350px circle at var(--pointer-x,50%) var(--pointer-y,50%),#c4ab7620,transparent 70%);opacity:0;transition:opacity .3s}
.service-card:focus-within{border-color:var(--blue);box-shadow:0 15px 40px #264d9920}
.story{background:linear-gradient(150deg,#edf2f8,#f8fafc 50%,#e6edf7)}
.story h2 span{color:var(--blue)}
.story-visual:before{content:'';position:absolute;inset:12%;border:1px solid #264d9915;border-radius:50%;transform:rotateX(60deg);pointer-events:none}
.story-step.is-active .step-number{color:var(--blue)}
.story-progress{overflow:hidden;border-radius:3px}
.intro-visual img{border-radius:24px}
.office-feature{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;padding-block:48px 80px}
.office-feature .lead:first-child{margin-top:0}
.office-feature figure img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:72% 50%;border-radius:24px}
.office-feature figcaption{margin-top:12px}
.office-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.office-principles article{background:white;border:1px solid var(--line);border-radius:20px;padding:30px}
.office-principles h3{font-size:24px;margin:24px 0 18px}
.office-principles span{font-size:12px;color:var(--blue)}
.office-identity{padding-block:64px}
.office-identity dl{margin-top:32px;gap:24px}
.office-identity dl>div{padding:24px;border-left:2px solid var(--blue);background:#fff}
.office-identity dd{margin:8px 0 0;font-weight:600}
.contact-preview{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;padding-block:80px}
.contact-preview h2{font-size:clamp(34px,3.8vw,54px)}
.contact-directory{margin-top:32px;display:grid;gap:22px}
.contact-directory a,.contact-directory address{display:block;overflow-wrap:anywhere;font-style:normal}
.contact-directory small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.contact-directory a{color:var(--blue);font-size:20px}
.contact-form{background:white;border:1px solid var(--line);padding:36px;border-radius:24px;box-shadow:0 20px 60px #19396308}
.contact-form h3{margin-bottom:12px}
.contact-form>p{font-size:13px;margin-bottom:24px}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-fields label{font-size:12px;font-weight:600;color:var(--ink);display:grid;gap:8px}
.form-fields .full{grid-column:1/-1}
.form-fields input,.form-fields select,.form-fields textarea{font:inherit;font-size:15px;min-width:0;width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper)}
.form-fields textarea{min-height:120px;resize:vertical}
.form-fields :is(input,select,textarea):focus-visible{outline:3px solid #527ed4;outline-offset:2px;background:white}
.contact-form .button{margin-top:24px}
.contact-form [role=status]{margin-top:18px;color:var(--blue);font-weight:600}
.editorial-art{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:16px;background:#eaf0f8}
.guide-card .editorial-art{margin-bottom:24px}
.article-cover{margin-top:32px;margin-bottom:40px;max-width:900px}
.editorial-card .card-media{overflow:hidden;border-radius:16px}
.editorial-card .card-media svg,.editorial-card .card-media img{transition:transform .65s var(--ease)}
@media(hover:hover){.service-card:hover:before{opacity:1}.editorial-card:hover .card-media svg,.editorial-card:hover .card-media img{transform:scale(1.035)}.contact-directory a:hover{color:var(--ink)}.hero-art:hover img{filter:drop-shadow(0 15px 25px #264d9912)}}
@media(max-width:899px){.site-header.is-scrolled{height:80px}.office-feature,.contact-preview{grid-template-columns:1fr;gap:36px}.office-principles{grid-template-columns:1fr}.hero h1{font-size:clamp(30px,4.5vw,40px)}}
@media(max-width:600px){.hero h1{font-size:clamp(31px,8.75vw,48px)}.hero-caption{gap:16px;margin-top:24px;font-size:10px}.hero-location{font-size:10px}.hero-art img{border-radius:20px 20px 56px 20px}.contact-preview{padding-block:56px}.contact-form{padding:24px}.form-fields{grid-template-columns:1fr}.office-feature{padding-block:24px 56px;gap:32px}.office-identity{padding-block:48px}}
@media(max-width:899px) and (prefers-reduced-motion:no-preference){.hero-stage[data-hero-mobile-active="true"] .hero-art{overflow:hidden;border-radius:20px 20px 56px 20px;background:linear-gradient(145deg,#f7f9fc,#eaf1fa)}.hero-stage[data-hero-mobile-active="true"] .hero-poster{opacity:0}.hero-stage[data-hero-mobile-active="true"] .hero-motion{opacity:1}.hero-stage[data-hero-mobile-active="true"] .hero-person{top:5%;left:10%;right:auto;width:78%}.hero-stage[data-hero-mobile-active="true"] .hero-gear{top:10%;right:3%;width:38%}.hero-stage[data-hero-mobile-active="true"] .hero-panel-line{top:48%;left:-6%;width:68%}.hero-stage[data-hero-mobile-active="true"] .hero-panel-bars{top:43%;right:-3%;width:55%}}
@media(max-width:899px),(max-height:679px),(prefers-reduced-motion:reduce){.hero-stage[data-hero-active="true"]{height:auto}.hero-stage[data-hero-active="true"] .hero{position:relative;top:auto;height:auto;min-height:calc(100svh - 104px)}.hero-stage[data-hero-active="true"] .hero-motion{opacity:0}.hero-stage[data-hero-active="true"] .hero-poster{opacity:1}.hero-stage[data-hero-active="true"]+.services{margin-top:0}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.hero-art img{transform:none!important}.hero-gear img{animation:none}.motion-ready .hero-copy,.motion-ready .hero-art{animation:none}}
@media print{.contact-preview,.hero-caption{display:none}*{box-shadow:none!important}}
