:root{--bg:#06090d;--panel:#0c1117;--line:rgba(181,200,214,.16);--text:#f1f5f7;--muted:#a7b2bb;--accent:#ed3850;--soft:#8997a5;--display:'Michroma','DM Sans',sans-serif;--sans:'DM Sans',Arial,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:clip}body.menu-is-open{overflow:hidden}[hidden]{display:none!important}::selection{color:#fff;background:#a8172a}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{max-width:100%;display:block}figure,h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:400;line-height:1.5}h1,h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.15em}h3,h4{font-family:var(--sans);line-height:1.5}p{color:var(--muted)}p+p{margin-top:25px}ul{padding:0;margin:0;list-style:none}.shell{width:calc(100% - 160px);max-width:1320px;margin-inline:auto}.section{padding:150px 0}.eyebrow{font:400 9px/1.8 var(--display);text-transform:uppercase;letter-spacing:.24em;display:flex;align-items:center;gap:15px;color:var(--soft)}.eyebrow:before{content:'';display:block;height:1px;width:25px;background:var(--accent);flex-shrink:0}.arrow{display:inline-block;font:300 26px/1 var(--sans);transition:transform .35s var(--ease);flex-shrink:0}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font:400 10px/1.8 var(--display);letter-spacing:.13em;text-transform:uppercase;padding:12px 0;position:relative;min-height:44px;background:none;border:0}.text-link:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.5;transform:scaleX(.5);transform-origin:left;transition:transform .4s,opacity .4s}.text-link:hover{color:var(--accent)}.text-link:hover:after{transform:scaleX(1);opacity:1}.text-link:hover .arrow{transform:translate(4px,-4px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;position:relative;border:0;border-top:1px solid #e2edf331;border-bottom:1px solid #e2edf331;padding:23px 35px;background:linear-gradient(110deg,#c5d8e00a,#b7d5e304);font:400 10px/1.7 var(--display);letter-spacing:.22em;text-transform:uppercase;min-height:64px;transition:background .4s,color .4s,border-color .4s}.btn:before,.btn:after{content:'';position:absolute;width:7px;height:7px;border-color:#e8f0f4;border-style:solid;transition:width .4s,height .4s,border-color .4s}.btn:before{left:0;top:-1px;border-width:1px 0 0 1px}.btn:after{right:0;bottom:-1px;border-width:0 1px 1px 0}.btn:hover{background:linear-gradient(110deg,#d12c4520,#ce1e3505);color:var(--accent);border-color:#e53a5055}.btn:hover:before,.btn:hover:after{width:18px;height:14px;border-color:var(--accent)}.btn .arrow{font-size:22px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:75px}.section-heading h2{font-size:26px;letter-spacing:.18em;line-height:1.6;max-width:900px}.section-heading .eyebrow{margin-bottom:24px}.section-heading>.text-link{flex-shrink:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:15px;top:-100px;z-index:500;background:#101821;color:#fff;border:1px solid var(--accent);padding:12px 20px;font-size:12px}.skip-link:focus{top:12px}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:400}.loading-state{display:flex;align-items:center;justify-content:center;min-height:80vh;gap:25px;font:16px/1.8 var(--display);letter-spacing:.1em}.loading-state>span{width:60px;height:1px;background:var(--accent);animation:loadPulse 1s infinite alternate}@keyframes loadPulse{to{width:12px;opacity:.3}}#main{padding-top:100px}body[data-page=home] #main{padding-top:0}
/* Compact fixed header and an immersive menu. */
#header{position:fixed;top:0;left:0;right:0;height:100px;z-index:200;background:rgba(6,9,13,.96);transition:height .35s,background .35s;isolation:isolate}#header:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#d4e6ef28,#d4e6ef09);z-index:-1}#header.over-hero{background:transparent}#header.scrolled,#header.menu-open{background:rgba(6,9,13,.98)}.nav-bar{height:100%;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:block;flex-shrink:0}.brand>img{width:89px;height:72px;object-fit:contain;filter:none}.header-tools{height:100%;display:flex;align-items:center;gap:37px}.lang-switch{display:flex;gap:11px;font:8px/1.7 var(--display);letter-spacing:.09em}.lang-switch a{color:#7b8b99;padding:4px 0}.lang-switch a.selected{color:#fff}.lang-switch a:hover{color:var(--accent)}.lang-switch>span{color:#4e5b67}.header-services{display:flex;height:100%;align-items:center;border-left:1px solid #fff1;border-right:1px solid #fff1;padding:0 32px;font:9px/1 var(--display);letter-spacing:.23em;text-transform:uppercase;color:#c7d1d9;background:#111d241f}.header-services:hover{color:var(--accent)}.menu-toggle{display:flex;align-items:center;gap:18px;background:none;border:0;padding:10px 0;font:9px/1 var(--display);letter-spacing:.23em;text-transform:uppercase;min-height:44px}.menu-icon{width:31px;height:31px;border:1px solid #ffffff40;border-radius:50%;position:relative;display:block;transition:border-color .3s}.menu-icon:before{content:'';position:absolute;width:3px;height:3px;left:13px;top:13px;background:var(--accent);border-radius:50%}.menu-icon>i{width:8px;height:1px;background:#dfe8ed;position:absolute;left:10px;top:11px;transition:transform .3s,top .3s}.menu-icon>i+i{top:17px}.menu-toggle[aria-expanded=true] .menu-icon>i{top:14px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon>i+i{transform:rotate(-45deg)}.menu-toggle[aria-expanded=true] .menu-icon:before{opacity:0}.menu-toggle:hover{color:var(--accent)}.menu-toggle:hover .menu-icon{border-color:var(--accent)}.menu-overlay{position:fixed;top:100px;left:0;right:0;bottom:0;background:#070b10;overflow-y:auto;animation:menuEnter .5s var(--ease) both}.menu-overlay:before{content:'';position:absolute;right:-200px;top:0;width:1000px;height:1000px;border-radius:50%;background:radial-gradient(circle,#68182a15,transparent 65%);pointer-events:none}.menu-layout{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:120px;min-height:calc(100svh - 100px);padding:65px 0 70px;align-items:center}.menu-nav{display:flex;flex-direction:column;align-self:center}.menu-nav>a{position:relative;font:400 25px/1.7 var(--display);letter-spacing:.11em;text-transform:uppercase;padding:20px 0 20px 43px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;transition:color .3s,padding .4s}.menu-nav>a:before{content:attr(data-number);position:absolute;left:0;top:50%;transform:translateY(-50%);font:9px/1 var(--sans);letter-spacing:.1em;color:#657987}.menu-nav>a>.arrow{margin-left:auto;opacity:.4}.menu-nav>a:hover,.menu-nav>a.active{color:var(--accent)}.menu-nav>a:hover{padding-left:51px}.menu-nav>a:hover>.arrow{opacity:1;transform:translate(4px,-4px)}.menu-aside{position:relative;max-width:400px;padding-top:20px}.menu-mark{width:180px;height:180px;color:#9bb4c4;opacity:.6;margin-bottom:40px}.menu-mark svg{width:100%;height:100%}.menu-aside>.eyebrow{font-size:8px;margin-bottom:20px}.menu-aside>p{font-size:18px;margin-bottom:30px;color:#d9e2e8}.menu-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:13px;color:#a9b9c6}.menu-contacts>a:hover{color:var(--accent)}.menu-contacts .arrow{font-size:17px;margin-left:15px}@keyframes menuEnter{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:none}}
/* Fullscreen video, a procedural wireframe and three entry points. */
.hero-screen{position:relative;min-height:720px;height:100svh;max-height:1250px;overflow:hidden;background:#05080c}.hero-background,.hero-shade{position:absolute;inset:0}.hero-background{overflow:hidden}.hero-media{position:absolute;top:-3%;left:0;height:106%;width:100%;object-fit:cover;object-position:50%;will-change:transform;pointer-events:none}.hero-shade{background:linear-gradient(90deg,#03070cbd 0%,#03080da1 40%,#03060b85 100%),linear-gradient(0deg,#03070df0,transparent 45%);z-index:1}.hero-orbit{position:absolute;left:1%;top:9%;width:63vw;max-width:1000px;height:82%;z-index:2;pointer-events:none;opacity:.85}.hero-orbit canvas{display:block;width:100%;height:100%}.orbit-halo{position:absolute;left:17%;right:17%;top:16%;bottom:16%;border:1px solid #d7435c13;border-radius:50%;box-shadow:0 0 70px #ae223c08,inset 0 0 70px #93294208;transform:rotateX(30deg) rotateZ(-20deg)}.orbit-halo:after{content:'';position:absolute;inset:7%;border:1px solid #dae7ef09;border-radius:50%;transform:rotateY(65deg)}.hero-copy{position:absolute;left:25%;right:7%;top:48%;transform:translateY(-50%);z-index:4;text-align:right;display:flex;flex-direction:column;align-items:flex-end;max-width:1120px}.hero-context{font:400 12px/1.9 var(--display);text-transform:uppercase;letter-spacing:.42em;color:#e0e5eb;margin-bottom:25px}.hero-phase-title{font:400 clamp(31px,4vw,61px)/1.45 var(--display);text-transform:uppercase;letter-spacing:.19em;color:#fff;margin-right:-.19em;white-space:nowrap;text-shadow:0 2px 30px #01080a35}.hero-subtitle{font-size:15px;letter-spacing:.08em;color:#c6d0d8;margin-top:22px}.hero-actions{display:flex;align-items:center;gap:38px;margin-top:39px}.hero-actions .text-link{font-size:9px}.hero-phase-nav{display:flex;flex-direction:column;gap:18px;position:absolute;left:24px;top:51%;transform:translateY(-50%);z-index:5}.hero-phase-nav>button{position:relative;writing-mode:vertical-rl;transform:rotate(180deg);font:400 8px/1.6 var(--display);letter-spacing:.19em;text-transform:uppercase;min-height:115px;padding:15px 12px;background:none;border:0;color:#b1bdc9;min-width:40px;transition:color .3s}.hero-phase-nav>button:before,.hero-phase-nav>button:after{content:'';position:absolute;left:50%;width:3px;height:10px;background:var(--accent);opacity:0;transition:opacity .3s}.hero-phase-nav>button:before{top:-2px}.hero-phase-nav>button:after{bottom:-2px}.hero-phase-nav>button.is-active,.hero-phase-nav>button:hover{color:var(--accent)}.hero-phase-nav>button.is-active:before,.hero-phase-nav>button.is-active:after{opacity:1}.hero-bottom{position:absolute;left:0;right:0;bottom:42px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:40px}.hero-scroll{display:flex;align-items:center;gap:20px;background:none;border:0;padding:0;color:#bbc6ce;font-size:11px}.scroll-arrow{font-size:35px;font-weight:200;color:#c8d4dd;animation:scrollNudge 3s infinite}.hero-media-footer{display:flex;align-items:center;gap:30px}.hero-fraction{font-size:10px;letter-spacing:.16em;color:#a1b1bf;font-variant-numeric:tabular-nums}.video-time{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.1em;color:#9db0c0}.video-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#b2c6d813;z-index:6}.video-progress>span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s linear}@keyframes scrollNudge{50%{transform:translateY(7px)}}
/* Mission-like text with a structural image frame. */
.intro-editorial{position:relative;isolation:isolate;padding:175px 0}.intro-editorial:before{content:'';position:absolute;width:700px;height:700px;border:1px solid #a71d3620;top:20px;right:13%;transform:rotate(38deg);z-index:-1;pointer-events:none}.intro-editorial:after{content:'';position:absolute;right:-230px;top:10%;width:900px;height:900px;background:radial-gradient(circle,#51172c14,transparent 65%);z-index:-1;pointer-events:none}.intro-editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:130px;align-items:center}.intro-editorial-copy>.eyebrow{margin-bottom:29px}.intro-editorial-copy h2{font-size:25px;line-height:1.65;letter-spacing:.17em;max-width:500px;margin-bottom:32px}.intro-editorial-copy p{font-size:15px;line-height:1.9;max-width:510px}.intro-editorial-copy .intro-lead{font-size:17px;color:#d0dae2;line-height:1.8}.intro-editorial-copy>.btn{margin-top:35px}.architecture-frame{position:relative;padding:25px;border:1px solid var(--line);margin:0 5px;isolation:isolate}.architecture-frame>img{height:450px;width:100%;object-fit:cover;object-position:65% center;filter:saturate(.7) brightness(.82)}.architecture-frame:before{content:'';position:absolute;inset:17px -17px -17px 17px;border:1px solid #a5c3d017;z-index:-1}.architecture-frame>i{position:absolute;width:4px;height:4px;background:#c9d9e3;border-radius:50%}.architecture-frame>i:nth-of-type(1){left:-2px;top:-2px}.architecture-frame>i:nth-of-type(2){right:-2px;top:-2px}.architecture-frame>i:nth-of-type(3){right:-2px;bottom:-2px}.architecture-frame>i:nth-of-type(4){left:-2px;bottom:-2px}
/* The three existing phases — no invented milestones. */
.home-phases{position:relative;background:#080d13;border-top:1px solid #c5d9e70a;border-bottom:1px solid #c5d9e70a;padding:115px 0 130px}.home-phases:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 90% 50%,#38142518,transparent 70%);pointer-events:none}.phase-panels{display:grid;grid-template-columns:repeat(3,1fr);position:relative}.phase-panel{padding:25px 40px 5px;border-left:1px solid var(--line);position:relative}.phase-panel:first-child{padding-left:0;border-left:0}.phase-panel:last-child{padding-right:0}.phase-symbol{width:85px;height:85px;color:#9bb4c7;opacity:.75;margin-bottom:35px}.phase-symbol svg{width:100%;height:100%}.symbol-1{transform:rotate(30deg)}.symbol-2{transform:rotate(-30deg)}.phase-panel-number{position:absolute;right:35px;top:39px;font:10px/1 var(--sans);letter-spacing:.1em;color:#708699}.phase-panel h3{font:400 14px/1.9 var(--display);text-transform:uppercase;letter-spacing:.18em;margin-bottom:22px;min-height:53px}.phase-panel>p{font-size:15px;line-height:1.85;max-width:300px;min-height:85px}.phase-panel .text-link{font-size:8px;margin-top:25px}
/* One service at a time, framed photography and a depth effect. */
.expertise-home{padding:145px 0 155px;position:relative}.expertise-home:before{content:'';position:absolute;left:-250px;top:100px;width:850px;height:850px;background:radial-gradient(circle,#2f496016,transparent 65%);pointer-events:none}.portfolio-stage{position:relative;min-height:440px}.portfolio-slide{display:grid;grid-template-columns:.8fr 1.3fr;gap:95px;align-items:center}.portfolio-copy{max-width:470px}.portfolio-kicker{font:10px/1.8 var(--sans);color:var(--accent);letter-spacing:.15em;margin-bottom:30px}.portfolio-kicker i{font-style:normal;color:#6d8294;margin-left:12px}.portfolio-copy h3{font:400 22px/1.65 var(--display);text-transform:uppercase;letter-spacing:.14em;margin-bottom:28px}.home-service-panel>p{font-size:15px;line-height:1.9;color:#a6b6c4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}.home-service-panel .btn{font-size:9px;letter-spacing:.18em;padding:20px 30px;margin-top:30px}.portfolio-image{position:relative;min-width:0;perspective:1200px;isolation:isolate}.portfolio-photo{height:430px;overflow:hidden;border:1px solid #c9e1f32b;background:#0d1822;position:relative}.portfolio-photo>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.65) brightness(.83);transition:transform 1.1s var(--ease),filter .6s}.portfolio-photo:hover>img{transform:scale(1.025);filter:saturate(.9) brightness(.94)}.image-plane{position:absolute;inset:0;border:1px solid #aecbd225;background:#11202d20;z-index:-1;transform-origin:center;transition:transform .8s var(--ease)}.plane-one{transform:translate(-24px,-19px) rotateY(-8deg)}.plane-two{transform:translate(23px,23px) rotateY(8deg);opacity:.5}.image-corner{position:absolute;right:-1px;bottom:-1px;width:34px;height:34px;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);z-index:3}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:60px}.portfolio-arrows{display:flex;align-items:center;gap:24px}.portfolio-arrows>button{background:#b1cbd606;border:1px solid var(--line);width:48px;height:44px;font:200 24px/1 var(--sans);transition:color .3s,border-color .3s}.portfolio-arrows>button:hover{color:var(--accent);border-color:var(--accent)}.portfolio-arrows>span{font-size:10px;letter-spacing:.1em;color:#92a7b9;min-width:65px;text-align:center}.portfolio-tabs{display:flex;align-items:center;gap:21px}.home-service-trigger{background:none;border:0;border-top:1px solid #a9c4d334;padding:11px 7px;min-width:31px;font-size:10px;letter-spacing:.05em;color:#839bad;transition:color .3s,border-color .3s}.home-service-trigger.is-active,.home-service-trigger:hover{border-top-color:var(--accent);color:var(--accent)}
/* News and subscriptions. */
.journal-section{background:#080d12;border-top:1px solid #b1c8d50a}.journal-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;align-items:start}.publication-feature-image{display:block;aspect-ratio:1.5;overflow:hidden;position:relative;background:#101b24;padding:14px;border:1px solid var(--line)}.publication-feature-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:saturate(.6) brightness(.8);transition:transform 1s var(--ease)}.publication-feature-image:hover>img{transform:scale(1.025)}.publication-cover-label{position:absolute;left:28px;right:28px;top:28px;display:flex;justify-content:space-between;text-transform:uppercase;font:8px/1.6 var(--display);letter-spacing:.13em;color:white;text-shadow:0 1px 8px #000}.image-arrow{position:absolute;right:14px;bottom:14px;height:45px;width:45px;display:grid;place-items:center;font-size:23px;background:#070b10c9;border-top:1px solid #c4dbe329;border-left:1px solid #c4dbe329;color:var(--accent)}.news-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:.03em;color:#8299ad;margin:24px 0 18px;line-height:1.5}.news-meta>span{font-size:9px;letter-spacing:.1em;color:var(--accent)}.publication-feature h3{font-size:25px;line-height:1.55;font-weight:400;color:#dde7ef}.publication-feature h3 a:hover,.publication-row h3 a:hover{color:var(--accent)}.publication-feature>.text-link{font-size:9px;margin-top:25px}.journal-side{border-top:1px solid var(--line)}.publication-row{display:flex;gap:22px;padding:30px 0;border-bottom:1px solid var(--line);align-items:flex-start}.publication-row-number{font-size:10px;color:var(--accent);padding-top:4px}.publication-row-copy{flex:1;min-width:0}.publication-row .news-meta{margin:0 0 16px;font-size:10px}.publication-row h3{font-size:20px;line-height:1.6}.publication-row .text-link{font-size:8px;margin-top:17px}.publication-row-thumb{display:block;width:75px;aspect-ratio:.9;margin-top:25px;border:1px solid var(--line);padding:4px}.publication-row-thumb img{height:100%;width:100%;object-fit:cover;filter:saturate(.5) brightness(.75)}.newsletter-section{padding:100px 0 110px;border-top:1px solid var(--line);background:#070c12}.newsletter-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:end}.newsletter-section h2{font-size:22px;line-height:1.7;letter-spacing:.16em;max-width:650px}.newsletter-section .eyebrow{margin-bottom:25px}.newsletter-section form>label{display:block;font-size:11px;letter-spacing:.06em;color:#aab8c4;margin-bottom:16px}.newsletter-field{display:flex;align-items:center;border:1px solid #bbcddc2b;background:#aecad305;padding-left:20px}.newsletter-field input{flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);padding:18px 0;font-size:15px;outline-offset:3px}.newsletter-field input::placeholder{color:#7891a5}.newsletter-field button{display:flex;align-items:center;gap:22px;background:#8ca7b907;color:var(--text);border:0;border-left:1px solid var(--line);padding:20px 23px;font:9px/1.5 var(--display);letter-spacing:.1em;text-transform:uppercase}.newsletter-field button:hover{color:var(--accent)}.newsletter-field .arrow{font-size:23px}
/* Inner pages carry the same dark and geometric vocabulary. */
.page-hero{position:relative;padding:45px 0 73px;border-bottom:1px solid var(--line);overflow:hidden;background:radial-gradient(ellipse at 90% 40%,#182b3b30,transparent 60%)}.breadcrumbs{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:10px;color:#8ba1b2;margin-bottom:49px;line-height:1.8}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs>span[aria-hidden]{color:#465d70}.page-title-layout{display:flex;align-items:center;justify-content:space-between;gap:80px}.page-title-layout>div:first-child{max-width:1000px;position:relative;z-index:1}.page-hero .eyebrow{margin-bottom:25px;font-size:8px}.page-hero h1{font-size:37px;letter-spacing:.16em;line-height:1.7;overflow-wrap:anywhere}.page-hero-detail h1{font-size:27px;line-height:1.7;letter-spacing:.09em}.page-hero .lede{font-size:16px;line-height:1.7;color:#a4b6c4;margin-top:24px}.page-hero-mark{width:150px;height:150px;flex-shrink:0;color:#a5becd;opacity:.4}.page-hero-mark svg{width:100%;height:100%}.cabinet-story-layout{display:grid;grid-template-columns:.85fr 1.25fr;gap:110px;align-items:start}.cabinet-story-heading{position:sticky;top:145px}.cabinet-story-heading .eyebrow{margin-bottom:26px}.cabinet-story-heading h2{font-size:26px;line-height:1.7;letter-spacing:.15em;max-width:440px}.cabinet-architecture{padding:14px;border:1px solid var(--line);width:245px;height:275px;overflow:hidden;margin-top:35px}.cabinet-architecture img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:saturate(.65) brightness(.8)}.source-paragraphs p{font-size:16px;line-height:1.9;color:#acbbc7}.cabinet-story-copy p:first-child{font-size:18px;line-height:1.85;color:#d6e1e9}.cabinet-story-copy p+p{margin-top:29px}.cabinet-values{background:#080d14;border-top:1px solid var(--line);position:relative}.cabinet-values-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:110px;align-items:center}.cabinet-values-photo{height:510px;border:1px solid var(--line);padding:20px;position:relative}.cabinet-values-photo:after{content:'';position:absolute;right:-1px;bottom:-1px;width:25px;height:25px;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent)}.cabinet-values-photo img{width:100%;height:100%;object-fit:cover;object-position:65%;filter:saturate(.65) brightness(.8)}.source-about-copy .eyebrow{margin-bottom:27px}.source-about-copy h2{font-size:27px;line-height:1.6;letter-spacing:.18em;margin-bottom:31px}.source-about-copy p{font-size:15px;line-height:1.95;color:#aabcc8}.source-about-copy p:first-of-type{font-size:17px;color:#d2dee7}.service-workspace-layout{display:grid;grid-template-columns:295px minmax(0,1fr);gap:100px;align-items:start}.service-selector{position:sticky;top:140px}.service-selector [role=tablist]{border-top:1px solid var(--line)}.service-tab{display:flex;align-items:flex-start;gap:15px;width:100%;position:relative;padding:21px 0;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.65;color:#9eb1c0;transition:color .3s,padding .3s}.row-num{font-size:9px;letter-spacing:.08em;color:#658096;min-width:18px;flex-shrink:0}.service-tab>.row-num{padding-top:4px}.service-tab>.arrow{font-size:17px;opacity:0;margin-left:auto;padding-top:3px}.service-tab:hover,.service-tab.is-active{color:#fff}.service-tab.is-active{padding-left:13px}.service-tab:before{content:'';position:absolute;left:0;top:20px;bottom:20px;width:2px;background:var(--accent);transform:scaleY(0);transition:transform .3s}.service-tab.is-active:before{transform:scaleY(1)}.service-tab.is-active>.arrow{opacity:1;color:var(--accent)}.service-selector-photo{height:190px;padding:12px;border:1px solid var(--line);margin-top:35px;overflow:hidden}.service-selector-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(.4) brightness(.7)}.service-panel-top{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:34px}.service-panel-top>span{font-size:10px;color:var(--accent);letter-spacing:.13em}.service-panel-top .eyebrow{font-size:7px;letter-spacing:.1em}.service-panel-top .eyebrow:before{display:none}.source-service-content h2{font-size:26px;letter-spacing:.14em;line-height:1.7;margin-bottom:31px}.source-service-content .source-paragraphs{margin-bottom:35px}.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;border-top:1px solid var(--line);margin-top:27px}.scope-list li{position:relative;padding:20px 0 20px 20px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8;color:#a1b3c2}.scope-list li:before{content:'+';position:absolute;left:0;top:20px;font-size:12px;color:var(--accent)}.source-service-content>.btn{margin-top:38px;font-size:9px}.invest-panorama{height:370px;overflow:hidden;border-bottom:1px solid var(--line)}.invest-panorama img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:brightness(.65) saturate(.65)}.source-phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.source-phase-card{border-top:1px solid var(--line);padding-top:30px;display:flex;flex-direction:column;align-items:flex-start}.source-phase-number{font:400 30px/1 var(--display);letter-spacing:.13em;color:var(--accent);margin-bottom:35px}.source-phase-card h2{font-size:18px;letter-spacing:.13em;line-height:1.85;min-height:75px;margin-bottom:28px}.source-phase-card ol{padding:0;margin:0 0 25px;list-style:none;width:100%}.source-phase-card li{display:flex;gap:17px;border-top:1px solid var(--line);padding:18px 0;font-size:14px;line-height:1.85;color:#a9bccb}.source-phase-card li>span{font-size:9px;color:#647f95;padding-top:5px;letter-spacing:.05em}.source-phase-card>.text-link{margin-top:auto;font-size:8px}
/* People and reading layouts. */
.expert-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;max-width:1180px}.source-expert:nth-child(2){margin-top:80px}.expert-photo{display:block;position:relative;aspect-ratio:.97;overflow:hidden;padding:16px;border:1px solid var(--line);background:#0a121a;clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%)}.expert-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) brightness(.78);transition:transform 1s var(--ease),filter .7s}.expert-photo:hover img{transform:scale(1.02);filter:grayscale(.3) brightness(.9)}.photo-link{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:30px;background:#05090ed9;padding:18px 24px;border-top:1px solid var(--line);border-left:1px solid var(--line);font:9px/1.6 var(--display);letter-spacing:.14em;text-transform:uppercase}.photo-link>.arrow{font-size:23px;color:var(--accent)}.expert-info{padding:28px 0 30px;border-bottom:1px solid var(--line)}.expert-role{font-size:11px;color:var(--accent);letter-spacing:.1em;display:block;margin-bottom:20px}.expert-info h2{font-size:21px;letter-spacing:.11em;line-height:1.7;max-width:510px}.source-expert-email{font-size:13px;display:inline-block;margin-top:23px;color:#b8c8d5;overflow-wrap:anywhere}.source-expert-email:hover{color:var(--accent)}.source-expert-phones{display:flex;flex-wrap:wrap;gap:10px 23px;margin-top:11px;color:#8ba1b3;font-size:12px}.source-expert .text-link{font-size:8px;margin-top:17px}.profile-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;align-items:start}.profile-portrait{position:sticky;top:145px}.profile-portrait>img{width:100%;max-height:560px;object-fit:cover;object-position:top;filter:grayscale(1) brightness(.82);padding:15px;border:1px solid var(--line);background:#0a121b}.profile-contact{padding:26px 0;border-bottom:1px solid var(--line)}.profile-contact>a{display:block;font-size:13px;line-height:1.9;margin-bottom:9px;color:#9fb4c5;overflow-wrap:anywhere}.profile-contact>a:hover{color:var(--accent)}.profile-contact>.text-link{display:inline-flex;font-size:8px}.source-profile-bio>section{padding-bottom:35px;margin-bottom:41px;border-bottom:1px solid var(--line)}.source-profile-bio h2{font-size:20px;line-height:1.7;letter-spacing:.13em;margin-bottom:26px}.source-profile-bio p{font-size:16px;line-height:1.95;color:#acbdca}.source-profile-bio>.text-link{font-size:9px}.source-profile-bio .scope-list{margin-top:0}.archive-layout>.publication-feature{position:sticky;top:145px}.source-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:75px}.source-pagination>a{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);font:9px/1 var(--display);letter-spacing:.08em;color:#93aabc;transition:color .3s,border-color .3s}.source-pagination>a.current,.source-pagination>a:hover{border-color:var(--accent);color:var(--accent)}.source-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:95px}.source-article-cover{width:100%;max-height:390px;object-fit:cover;margin-bottom:45px;padding:12px;border:1px solid var(--line);filter:brightness(.9) saturate(.7)}.source-article-body{font-size:16px;line-height:1.95;overflow-wrap:anywhere}.source-article-body p{font-size:16px;line-height:1.95;color:#aebecb;margin:20px 0}.source-article-body h2{font-size:22px;line-height:1.8;letter-spacing:.1em;margin:36px 0 24px}.source-article-body h3{font-size:22px;font-weight:450;margin:33px 0 20px;line-height:1.6}.source-article-body h4{font-size:19px;line-height:1.6;margin:27px 0 17px}.source-article-body h5,.source-article-body h6{font-size:17px;line-height:1.7;margin:24px 0 16px}.source-article-body ul,.source-article-body ol{list-style:disc;padding-left:23px;margin:20px 0;color:#a6b9c9}.source-article-body li{margin:12px 0}.source-article-body a,.source-toc-button{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.source-toc-button{background:none;border:0;padding:0;text-align:left;font:inherit}.source-toc-button:hover{color:#fff}.source-table-scroll{overflow-x:auto;margin:25px 0;max-width:100%}.source-article-body table{border-collapse:collapse;width:100%;min-width:520px;font-size:13px}.source-article-body td,.source-article-body th{border:1px solid #a7c4d52b;padding:13px;vertical-align:top}.source-article-body th{background:#17222d;color:#fff}.source-article-aside{position:sticky;top:145px;align-self:start;border-top:1px solid var(--accent);padding-top:23px}.source-article-aside h2{font-size:16px;letter-spacing:.15em;margin-bottom:23px;line-height:1.7}.source-article-aside>a{display:block;font-size:13px;line-height:1.8;border-bottom:1px solid var(--line);padding:22px 0;color:#a5bbcd}.source-article-aside>a time{display:block;font-size:10px;color:#6f899e;letter-spacing:.03em;margin-bottom:14px}.source-article-aside>a .arrow{font-size:18px;margin-left:10px;color:var(--accent)}.source-article-aside>a:hover{color:#fff}.source-back-link{border-top:1px solid var(--line);padding-top:25px;margin-top:45px}.source-privacy{max-width:920px}
/* Original contact fields, no added qualification questions. */
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}.source-contact-photo{height:260px;overflow:hidden;padding:15px;border:1px solid var(--line);margin-bottom:35px}.source-contact-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:brightness(.75) saturate(.55)}.office-item{padding:26px 0;border-top:1px solid var(--line)}.office-item h2{font-size:15px;line-height:1.8;letter-spacing:.16em;margin-bottom:18px}.office-item p,.office-item a{font-size:14px;line-height:1.9;color:#a5b9c9;overflow-wrap:anywhere}.office-item a:hover{color:var(--accent)}.source-contact-phone{display:block}.contact-form{padding:45px;border:1px solid var(--line);background:#b8cbd004;position:relative}.contact-form:before,.contact-form:after{content:'';position:absolute;width:12px;height:12px;border-color:var(--accent);border-style:solid}.contact-form:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.contact-form:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.contact-form-heading{margin-bottom:40px}.contact-form-heading .eyebrow{font-size:7px;margin-bottom:27px;letter-spacing:.12em}.contact-form-heading h2{font-size:20px;letter-spacing:.13em;line-height:1.8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px 25px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:11px;line-height:1.8;letter-spacing:.05em;color:#91a8ba;margin-bottom:10px}.field input,.field textarea{width:100%;background:#0a131c;border:1px solid #a5c1d12b;border-radius:0;outline-offset:3px;padding:13px 15px;color:var(--text);font-size:16px;min-height:48px;line-height:1.7}.field textarea{resize:vertical;min-height:155px}.field input:focus,.field textarea:focus{border-color:#ed385088}.contact-form .btn{margin-top:30px;width:100%;font-size:10px}
/* Restrained dark footer with the firm's real contact information. */
.source-contact-band{padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#080e15}.source-contact-band>.shell{display:flex;justify-content:space-between;align-items:center;gap:60px}.source-contact-band .eyebrow{font-size:8px;margin-bottom:22px}.source-contact-band h2{font-size:25px;line-height:1.7;letter-spacing:.18em}.contact-band-link{display:flex;align-items:center;gap:30px;position:relative;padding:22px 31px;border-top:1px solid #dbe9f037;border-bottom:1px solid #dbe9f037;background:#a3bdcd06;font:9px/1.8 var(--display);letter-spacing:.15em;text-transform:uppercase;max-width:380px}.contact-band-link:before{content:'';position:absolute;top:-1px;left:0;width:8px;height:8px;border-top:1px solid #fff;border-left:1px solid #fff}.contact-band-link:after{content:'';position:absolute;bottom:-1px;right:0;width:8px;height:8px;border-bottom:1px solid #fff;border-right:1px solid #fff}.contact-band-link .arrow{font-size:23px}.contact-band-link:hover{color:var(--accent);background:#c5203c12}.contact-band-link:hover .arrow{transform:translate(4px,-4px)}.footer-inner{background:radial-gradient(ellipse at 8% 85%,#14233166,transparent 65%),#060b10;overflow:hidden}.source-footer-main{display:grid;grid-template-columns:1.1fr 1.3fr 1fr;gap:65px;padding:95px 0 65px}.source-footer-main:has(>div:nth-child(4)){grid-template-columns:1.1fr 1.3fr 1fr .7fr;gap:50px}.footer-brand img{width:115px;height:82px;object-fit:contain;object-position:left;filter:none;opacity:1;margin-bottom:25px}.footer-brand h3{font-size:12px;line-height:1.8;max-width:200px;font-weight:400;color:#92a7b8}.footer-brand>.text-link{font-size:8px;margin-top:15px}.footer-col h3{font:9px/1.8 var(--display);text-transform:uppercase;letter-spacing:.13em;color:#d7e3eb;margin:10px 0 24px}.footer-col p,.footer-col a{font-size:13px;line-height:1.9;color:#91a9bb}.footer-col a:hover{color:var(--accent)}.footer-phone{display:block;margin-bottom:9px}.support-title{margin-top:30px!important}.footer-email{display:block;overflow-wrap:anywhere;font-size:12px!important}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding:28px 0 35px;font-size:10px;line-height:1.7;color:#69859b}.footer-nav{display:flex;flex-wrap:wrap;gap:10px 23px}.footer-nav>a{font-size:10px;color:#91a9ba}.footer-nav>a:hover{color:var(--accent)}.footer-watermark{display:none}#toast{position:fixed;z-index:350;right:25px;bottom:25px;max-width:450px;background:#101a25;border:1px solid #a3c1d435;border-left:2px solid var(--accent);padding:18px 23px;box-shadow:0 10px 40px #0005;color:#dae6ef;font-size:12px;line-height:1.8;opacity:0;transform:translateY(15px);pointer-events:none;transition:transform .3s,opacity .3s}#toast.visible{opacity:1;transform:none}.error-page{padding:160px 0;text-align:center}.error-page h1{font-size:50px;margin-bottom:40px}
/* Motion enhances the layout without controlling native scrolling. */
.js-motion .reveal{opacity:0;transform:translateY(30px);transition:transform 1s var(--ease),opacity 1s var(--ease);transition-delay:var(--delay,0ms)}.js-motion .reveal.is-visible{opacity:1;transform:none}.js-motion .reveal-wipe{opacity:.1;clip-path:inset(0 0 14% 0);transition:clip-path 1.2s var(--ease),opacity 1s var(--ease)}.js-motion .reveal-wipe.is-visible{opacity:1;clip-path:inset(-35px)}

/* Fluid layout shared by mobile, tablet and desktop. */
:root {
  --gutter: max(clamp(18px, 4.4vw, 80px), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  --header-base: 100px;
  --header-height: calc(var(--header-base) + env(safe-area-inset-top, 0px));
  --section-space: clamp(68px, 8vw, 120px);
}
html { scroll-padding-top: calc(var(--header-height) + 24px); -webkit-text-size-adjust: 100%; }
body { width: 100%; }
#main { width: 100%; min-width: 0; padding-top: var(--header-height); }
.shell { width: calc(100% - var(--gutter) * 2); max-width: 1320px; margin-inline: auto; }
.section { padding-block: var(--section-space); }
h1, h2, h3, h4, p, li { overflow-wrap: anywhere; }
h1, h2, h3 { hyphens: auto; }
img, video, svg { max-width: 100%; }
.btn, .text-link { max-width: 100%; }
.btn > span:first-child, .text-link > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.btn { letter-spacing: .14em; }
.eyebrow { font-size: 10px; letter-spacing: .14em; }
.section-heading { gap: 32px; margin-bottom: clamp(36px, 5vw, 64px); }
.section-heading > div { min-width: 0; }
.section-heading h2 { font-size: clamp(22px, 2.1vw, 29px); letter-spacing: .12em; }
:where(.menu-layout, .intro-editorial-grid, .phase-panels, .portfolio-slide, .journal-layout, .newsletter-layout, .cabinet-story-layout, .cabinet-values-layout, .service-workspace-layout, .source-phase-grid, .expert-grid, .profile-layout, .source-article-layout, .contact-layout, .source-footer-main, .form-grid) > * { min-width: 0; max-width: 100%; }
#header { height: var(--header-height); padding-top: env(safe-area-inset-top, 0px); }
.nav-bar { gap: 20px; }
.header-tools { min-width: 0; gap: clamp(16px, 2.6vw, 37px); }
.lang-switch { align-items: center; gap: 6px; font-size: 10px; }
.lang-switch a { display: grid; place-items: center; min-width: 36px; min-height: 44px; padding: 6px; }
.header-services { font-size: 10px; padding-inline: clamp(18px, 2.3vw, 32px); }
.menu-toggle { flex-shrink: 0; font-size: 10px; gap: 12px; }
.menu-icon { flex-shrink: 0; }
.menu-overlay { top: var(--header-height); overflow-x: clip; overscroll-behavior: contain; padding-bottom: env(safe-area-inset-bottom, 0px); }
.menu-layout { min-height: calc(100svh - var(--header-height)); grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 100px); padding-block: 45px 60px; }
.menu-nav > a { font-size: clamp(18px, 2vw, 26px); letter-spacing: .08em; min-width: 0; overflow-wrap: anywhere; }
.menu-contacts a { max-width: 100%; overflow-wrap: anywhere; min-height: 36px; }
.menu-aside .eyebrow { font-size: 9px; }

/* The hero content participates in layout, so short screens cannot overlap it. */
.hero-screen { display: grid; grid-template-columns: minmax(90px, .25fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; align-items: center; height: auto; min-height: 100vh; min-height: 100svh; max-height: none; padding-top: var(--header-height); isolation: isolate; }
.hero-copy { position: relative; left: auto; right: auto; top: auto; transform: none; grid-column: 2; grid-row: 1; width: 100%; max-width: 1160px; min-width: 0; justify-self: end; padding: clamp(70px, 11vh, 140px) var(--gutter) clamp(65px, 10vh, 125px) 0; }
.hero-context { font-size: clamp(10px, 1vw, 12px); letter-spacing: .24em; line-height: 1.9; max-width: 44ch; }
.hero-phase-title { font-size: clamp(28px, 3.7vw, 60px); letter-spacing: .14em; margin-right: 0; white-space: normal; max-width: 100%; line-height: 1.5; hyphens: none; }
.hero-subtitle { font-size: 16px; line-height: 1.8; letter-spacing: .03em; }
.hero-actions { flex-wrap: wrap; justify-content: flex-end; gap: 20px 32px; }
.hero-actions .text-link { font-size: 10px; }
.hero-bottom { position: relative; grid-column: 1 / -1; grid-row: 2; left: auto; right: auto; bottom: auto; padding-block: 0 32px; min-height: 72px; }
.hero-media-footer { gap: 24px; flex-shrink: 0; }
.hero-fraction, .video-time { font-size: 11px; }
.hero-phase-nav { left: max(12px, calc(var(--gutter) - 56px)); gap: 12px; }
.hero-phase-nav > button { font-size: 9px; min-height: 142px; letter-spacing: .12em; min-width: 44px; }
.hero-orbit { left: -2%; width: min(1000px, 68vw); max-width: none; }

/* Masked word transitions keep the hero's layout and buttons stationary. */
.hero-phase-title { overflow: hidden; padding-block: .12em; margin-block: -.12em; }
.hero-word { display: inline-block; vertical-align: top; max-width: 100%; will-change: transform, opacity, filter; }

/* Photo banners on every original inner page, including profiles and articles. */
.page-hero.page-banner { position: relative; display: flex; align-items: stretch; min-height: 410px; padding: 32px 0 62px; isolation: isolate; background: #0b1117; overflow: hidden; }
.page-banner-media, .page-banner-shade { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
.page-banner-media img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: var(--banner-position, 50% 50%); filter: saturate(.72); }
.page-banner-shade { background: linear-gradient(90deg, rgba(3, 8, 13, .87), rgba(3, 8, 13, .6) 48%, rgba(3, 8, 13, .24)), linear-gradient(0deg, rgba(3, 8, 13, .65), rgba(3, 8, 13, .08) 70%); }
.page-banner-content { display: flex; flex-direction: column; justify-content: space-between; gap: 55px; position: relative; }
.page-banner .breadcrumbs { margin-bottom: 0; font-size: 12px; color: #d0dbe3; gap: 12px; }
.page-banner .breadcrumbs > span[aria-hidden] { color: #95a7b7; }
.page-banner .breadcrumbs > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.page-banner .page-title-layout { display: block; width: 100%; }
.page-banner .page-title-layout > div:first-child { max-width: 1120px; }
.page-banner .eyebrow { font-size: 10px; letter-spacing: .15em; color: #d0dce5; margin-bottom: 24px; }
.page-banner h1 { font-size: clamp(28px, 3.5vw, 47px); line-height: 1.55; letter-spacing: .1em; color: #fff; text-shadow: 0 2px 24px #0004; }
.page-banner.page-hero-detail h1 { font-size: clamp(23px, 2.55vw, 34px); letter-spacing: .07em; line-height: 1.65; }
.page-banner .lede { font-size: 17px; line-height: 1.8; color: #d9e4eb; margin-top: 23px; max-width: 800px; }
.page-banner:after { content: ''; position: absolute; bottom: 0; left: var(--gutter); width: 70px; height: 2px; background: var(--accent); }

.intro-editorial { padding-block: clamp(80px, 9vw, 140px); overflow: clip; }
.intro-editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 7vw, 100px); }
.intro-editorial-copy h2 { font-size: clamp(22px, 2vw, 27px); letter-spacing: .12em; }
.intro-editorial-copy p { font-size: 16px; max-width: 62ch; }
.intro-editorial-copy .intro-lead { font-size: 18px; }
.architecture-frame { padding: clamp(14px, 1.8vw, 25px); }
.architecture-frame > img { height: auto; aspect-ratio: 1.05; max-height: 500px; }
.home-phases { padding-block: var(--section-space); }
.phase-panels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.phase-panel { padding-inline: clamp(20px, 2.8vw, 40px); }
.phase-panel h3 { font-size: clamp(13px, 1.15vw, 16px); letter-spacing: .1em; }
.phase-panel > p { font-size: 16px; }
.phase-panel .text-link { font-size: 9px; }
.expertise-home { padding-block: var(--section-space); overflow: clip; }
.portfolio-slide { grid-template-columns: minmax(0, .85fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 80px); }
.portfolio-copy h3 { font-size: clamp(19px, 1.7vw, 24px); letter-spacing: .1em; }
.home-service-panel > p { font-size: 16px; }
.portfolio-photo { height: auto; aspect-ratio: 1.35; }
.portfolio-tabs { gap: clamp(10px, 1.4vw, 20px); }
.home-service-trigger { min-width: 44px; min-height: 44px; }
.journal-layout { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(35px, 5vw, 70px); }
.news-meta { font-size: 12px; }
.publication-row-thumb { flex-shrink: 0; }
.newsletter-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(35px, 6vw, 85px); }
.newsletter-section h2 { font-size: clamp(21px, 1.9vw, 25px); letter-spacing: .1em; }
.newsletter-field input { font-size: 16px; }
.newsletter-field button { flex-shrink: 0; font-size: 10px; letter-spacing: .05em; gap: 18px; }
.cabinet-story-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.25fr); gap: clamp(45px, 7vw, 95px); }
.cabinet-values-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(45px, 7vw, 95px); }
.cabinet-story-heading, .profile-portrait, .service-selector, .source-article-aside, .archive-layout > .publication-feature { top: calc(var(--header-height) + 35px); }
.cabinet-story-heading h2, .source-about-copy h2 { font-size: clamp(22px, 2vw, 28px); letter-spacing: .12em; }
.cabinet-architecture { max-width: 100%; }
.source-about-copy p, .source-paragraphs p { font-size: 16px; line-height: 1.9; }
.source-about-copy p:first-of-type, .cabinet-story-copy p:first-child { font-size: 18px; }
.cabinet-values-photo { height: auto; aspect-ratio: .95; }
.service-workspace-layout { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: clamp(40px, 6vw, 85px); }
.service-tab { font-size: 15px; min-height: 64px; }
.service-tab > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.service-panel-top { flex-wrap: wrap; gap: 16px; }
.service-panel-top .eyebrow { font-size: 9px; letter-spacing: .08em; }
.source-service-content h2 { font-size: clamp(23px, 2.1vw, 30px); letter-spacing: .1em; }
.scope-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.scope-list li { font-size: 15px; }
.source-phase-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.source-phase-card h2 { font-size: clamp(17px, 1.5vw, 21px); letter-spacing: .09em; }
.source-phase-card li { font-size: 15px; }
.source-phase-card { scroll-margin-top: calc(var(--header-height) + 25px); }
.expert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(35px, 7vw, 90px); }
.expert-info h2 { font-size: clamp(19px, 1.9vw, 24px); letter-spacing: .08em; }
.expert-role { font-size: 12px; }
.source-expert-email { font-size: 14px; }
.source-expert-phones { font-size: 13px; }
.photo-link { font-size: 10px; min-height: 48px; }
.profile-layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 7vw, 100px); }
.profile-contact > a { font-size: 14px; }
.source-article-layout { grid-template-columns: minmax(0, 1fr) minmax(210px, 250px); gap: clamp(40px, 6vw, 85px); }
.source-table-scroll { width: 100%; min-width: 0; overscroll-behavior-x: contain; scrollbar-color: var(--accent) #18212a; }
.source-article-body img { height: auto; }
.source-article-body iframe, .source-article-body video, .source-article-body embed { max-width: 100%; }
.source-article-aside h2 { font-size: 17px; letter-spacing: .08em; }
.contact-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 85px); }
.source-contact-photo { height: auto; aspect-ratio: 1.45; }
.contact-form { padding: clamp(28px, 3.3vw, 45px); }
.contact-form-heading h2 { font-size: clamp(20px, 1.8vw, 25px); letter-spacing: .08em; }
.office-item p, .office-item a { font-size: 16px; }
.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field label { font-size: 13px; }
.source-contact-band > .shell { gap: 35px; }
.source-contact-band > .shell > div { min-width: 0; }
.source-contact-band h2 { font-size: clamp(22px, 2.1vw, 29px); letter-spacing: .1em; }
.contact-band-link { flex-shrink: 0; min-width: 0; font-size: 10px; letter-spacing: .08em; }
.source-footer-main { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1fr); gap: 45px; }
.source-footer-main:has(> div:nth-child(4)) { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, .7fr); gap: 35px; }
.footer-col h3 { font-size: 10px; letter-spacing: .08em; }
.footer-col p, .footer-col a { font-size: 14px; overflow-wrap: anywhere; }
.footer-col a { min-height: 36px; }
.footer-email { font-size: 14px !important; }
.footer-bottom { flex-wrap: wrap; font-size: 12px; }
.footer-nav { gap: 8px 24px; }
.footer-nav > a { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; }

/* Tablet landscape: retain generous columns only where they have room. */
@media (max-width: 1200px) {
  .newsletter-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .newsletter-layout form { width: 100%; max-width: 700px; }
  .source-footer-main, .source-footer-main:has(> div:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 55px; }
  .source-footer-main > .footer-col:last-child:nth-child(4) { grid-column: auto; }
  .footer-bottom { display: block; }
  .footer-nav { margin-top: 20px; }
}
@media (max-width: 1024px) {
  :root { --header-base: 88px; }
  .section { padding-block: 76px; }
  .intro-editorial-grid { gap: 35px; }
  .intro-editorial-copy h2 { font-size: 22px; }
  .intro-editorial-copy .intro-lead { font-size: 17px; }
  .architecture-frame > img { aspect-ratio: .85; }
  .phase-panel { padding-inline: 20px; }
  .phase-panel-number { right: 20px; }
  .portfolio-slide { grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); gap: 35px; }
  .portfolio-photo { aspect-ratio: .9; }
  .portfolio-toolbar { flex-wrap: wrap; gap: 25px; }
  .journal-layout, .cabinet-story-layout, .cabinet-values-layout, .service-workspace-layout, .source-phase-grid, .source-article-layout, .contact-layout { grid-template-columns: minmax(0, 1fr); }
  .journal-layout { gap: 45px; }
  .journal-layout > .publication-feature { max-width: 760px; }
  .publication-feature-image { aspect-ratio: 1.85; }
  .journal-side { width: 100%; }
  .cabinet-story-heading { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr); gap: 0 40px; align-items: start; }
  .cabinet-story-heading > .eyebrow, .cabinet-story-heading > h2 { grid-column: 1; }
  .cabinet-architecture { grid-column: 2; grid-row: 1 / 3; width: 100%; height: 230px; margin-top: 0; }
  .cabinet-values-photo { max-height: 410px; aspect-ratio: 1.8; }
  .cabinet-story-copy, .source-about-copy { max-width: 78ch; }
  .service-workspace { padding-top: 40px; }
  .service-selector { position: static; }
  .service-selector [role=tablist] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; border-top: 1px solid var(--line); }
  .service-tab { align-items: center; min-height: 90px; padding: 18px 0; gap: 10px; font-size: 15px; }
  .service-tab .row-num { padding-top: 0; }
  .service-tab > .arrow { display: none; }
  .service-tab.is-active { padding-left: 12px; }
  .service-selector-photo { display: none; }
  .service-panels { scroll-margin-top: calc(var(--header-height) + 25px); }
  .service-panel-top { margin-bottom: 28px; }
  .source-phase-grid { gap: 44px; }
  .source-phase-card h2 { min-height: 0; font-size: 23px; }
  .source-phase-card > .text-link { font-size: 10px; }
  .source-phase-card li { font-size: 16px; }
  .source-article-aside, .archive-layout > .publication-feature { position: static; }
  .source-article { min-width: 0; }
  .source-article-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; }
  .source-article-aside h2 { grid-column: 1 / -1; }
  .source-article-body { max-width: 82ch; }
  .contact-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 35px; }
  .source-contact-photo { grid-column: 1 / -1; aspect-ratio: 2.5; margin-bottom: 10px; }
  .contact-info > .office-item { min-width: 0; }
}

/* Tablet portrait and small laptops: navigation and hero use natural flow. */
@media (max-width: 900px) {
  .brand > img { width: 83px; height: 67px; }
  .header-services { display: none; }
  .menu-layout { grid-template-columns: minmax(0, 1fr); gap: 35px; align-items: start; align-content: start; padding-block: 26px 42px; }
  .menu-nav > a { font-size: clamp(18px, 2.6vw, 24px); letter-spacing: .07em; padding: 16px 0 16px 34px; }
  .menu-nav > a:hover { padding-left: 40px; }
  .menu-mark { display: none; }
  .menu-aside { max-width: none; padding-top: 5px; }
  .menu-aside > p { font-size: 17px; margin-bottom: 20px; }
  .menu-contacts { gap: 5px; font-size: 14px; }
  .hero-screen { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto auto; }
  .hero-copy { grid-column: 1; grid-row: 1; width: calc(100% - var(--gutter) * 2); max-width: none; margin-inline: auto; justify-self: stretch; align-items: flex-start; text-align: left; padding: 70px 0 65px; }
  .hero-context { font-size: 11px; margin-bottom: 24px; }
  .hero-phase-title { font-size: clamp(27px, 4.2vw, 37px); letter-spacing: .12em; }
  .hero-actions { justify-content: flex-start; margin-top: 30px; }
  .hero-phase-nav { position: relative; left: auto; right: auto; top: auto; bottom: auto; grid-column: 1; grid-row: 2; width: calc(100% - var(--gutter) * 2); margin: 0 auto 26px; transform: none; flex-direction: row; gap: 18px; justify-content: space-between; }
  .hero-phase-nav > button { flex: 1 1 0; min-width: 0; min-height: 48px; padding: 13px 6px; font-size: 9px; letter-spacing: .08em; line-height: 1.9; writing-mode: horizontal-tb; transform: none; border-top: 1px solid #c4d7e53b; }
  .hero-phase-nav > button:before { top: -1px; left: 0; right: 0; width: auto; height: 2px; }
  .hero-phase-nav > button:after { display: none; }
  .hero-bottom { grid-row: 3; padding-bottom: 26px; min-height: 64px; gap: 20px; }
  .hero-orbit { left: -18%; top: 10%; width: 110%; height: 80%; opacity: .65; }
  .intro-editorial-grid, .profile-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .intro-editorial-copy p { max-width: 72ch; }
  .intro-editorial-copy h2 { max-width: 600px; font-size: 26px; }
  .architecture-frame { margin-right: 16px; }
  .architecture-frame > img { aspect-ratio: 1.8; max-height: 430px; }
  .phase-panels { grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .phase-panel, .phase-panel:first-child, .phase-panel:last-child { padding: 28px 0 5px 115px; border-left: 0; border-top: 1px solid var(--line); }
  .phase-symbol { position: absolute; top: 30px; left: 0; width: 76px; height: 76px; margin: 0; }
  .phase-panel-number { right: 0; top: 31px; }
  .phase-panel h3 { font-size: 18px; min-height: 0; padding-right: 35px; margin-bottom: 17px; }
  .phase-panel > p { min-height: 0; max-width: none; }
  .phase-panel .text-link { margin-top: 14px; }
  .profile-portrait { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; align-items: end; }
  .profile-portrait > img { max-height: 460px; width: 100%; }
  .profile-contact { padding-block: 10px; }
  .source-contact-band > .shell { flex-direction: column; align-items: flex-start; gap: 28px; }
  .contact-band-link { width: 100%; max-width: 560px; justify-content: space-between; }
  .source-expert:nth-child(2) { margin-top: 35px; }
  .expert-info h2 { font-size: 20px; }
}

/* Phones: comfortable type, full-width forms and no squeezed sidebars. */
@media (max-width: 640px) {
  :root { --header-base: 80px; }
  .section { padding-block: 62px; }
  .nav-bar { gap: 10px; }
  .brand > img { width: 74px; height: 60px; }
  .header-tools { gap: 14px; }
  .lang-switch { gap: 3px; font-size: 9px; }
  .lang-switch a { min-width: 32px; padding: 6px 3px; }
  .menu-toggle { font-size: 9px; gap: 9px; letter-spacing: .1em; }
  .menu-icon { width: 31px; height: 31px; }
  .menu-nav > a { font-size: clamp(16px, 4.2vw, 21px); line-height: 1.8; padding-left: 29px; gap: 15px; }
  .menu-nav > a > .arrow { font-size: 23px; }
  .menu-nav > a:hover { padding-left: 33px; }
  .menu-aside .eyebrow { font-size: 9px; }
  .menu-aside > p { font-size: 16px; }
  .menu-contacts { font-size: 14px; }
  .hero-copy { padding-block: 48px 44px; }
  .hero-context { font-size: 10px; letter-spacing: .15em; line-height: 1.9; }
  .hero-phase-title { font-size: clamp(17px, 4.75vw, 28px); letter-spacing: .1em; line-height: 1.7; }
  .hero-subtitle { font-size: 15px; margin-top: 18px; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 27px; }
  .hero-actions .btn { font-size: 10px; padding: 19px 26px; min-height: 58px; letter-spacing: .1em; gap: 23px; }
  .hero-actions .text-link { font-size: 10px; }
  .hero-phase-nav { gap: 10px; margin-bottom: 20px; }
  .hero-phase-nav > button { font-family: var(--sans); font-size: clamp(11px, 2.8vw, 13px); text-transform: none; letter-spacing: 0; padding: 12px 1px; min-height: 48px; line-height: 1.6; }
  .hero-orbit { left: -30%; width: 145%; top: 10%; opacity: .55; }
  .hero-bottom { padding-bottom: max(22px, env(safe-area-inset-bottom, 0px)); min-height: 64px; }
  .hero-scroll { font-size: 11px; gap: 11px; line-height: 1.7; text-align: left; max-width: 165px; min-height: 44px; }
  .scroll-arrow { font-size: 28px; }
  .hero-media-footer { gap: 15px; }
  .hero-fraction, .video-time { font-size: 10px; letter-spacing: .04em; }
  .page-hero.page-banner { min-height: 315px; padding-block: 25px 40px; }
  .page-banner-content { gap: 45px; }
  .page-banner .breadcrumbs { font-size: 11px; gap: 9px; line-height: 1.8; }
  .page-banner .eyebrow { font-size: 9px; letter-spacing: .09em; gap: 12px; margin-bottom: 19px; }
  .page-banner .eyebrow:before { width: 20px; }
  .page-banner h1 { font-size: clamp(23px, 5vw, 31px); line-height: 1.6; letter-spacing: .07em; }
  .page-banner.page-hero-detail h1 { font-size: clamp(19px, 4.4vw, 25px); letter-spacing: .04em; line-height: 1.7; }
  .page-banner .lede { font-size: 15px; line-height: 1.8; margin-top: 18px; }
  .page-banner-shade { background: linear-gradient(90deg, #03080de3, #03080d7a), linear-gradient(0deg, #03080d99, #03080d0d); }
  .section-heading { display: block; margin-bottom: 36px; }
  .section-heading h2 { font-size: 23px; letter-spacing: .09em; line-height: 1.7; }
  .section-heading .eyebrow { margin-bottom: 20px; }
  .section-heading > .text-link { margin-top: 16px; }
  .eyebrow { font-size: 9px; letter-spacing: .11em; }
  .text-link { font-size: 10px; letter-spacing: .08em; gap: 24px; }
  .btn { font-size: 10px; padding: 20px 26px; letter-spacing: .1em; gap: 23px; min-height: 58px; }
  .intro-editorial { padding-block: 70px; }
  .intro-editorial-copy h2 { font-size: 23px; line-height: 1.75; letter-spacing: .1em; margin-bottom: 26px; }
  .intro-editorial-copy .intro-lead { font-size: 17px; line-height: 1.85; }
  .intro-editorial-copy p { font-size: 16px; }
  .architecture-frame > img { aspect-ratio: 1.18; object-position: 65% center; }
  .phase-panel, .phase-panel:first-child, .phase-panel:last-child { padding: 27px 0 0; }
  .phase-symbol { position: static; width: 70px; height: 70px; margin-bottom: 23px; }
  .phase-panel-number { top: 36px; right: 10px; font-size: 12px; }
  .phase-panel h3 { font-size: 17px; letter-spacing: .07em; }
  .phase-panel .text-link { font-size: 10px; }
  .portfolio-stage { min-height: 0; }
  .portfolio-slide { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .portfolio-copy { max-width: none; }
  .portfolio-kicker { font-size: 12px; margin-bottom: 22px; }
  .portfolio-copy h3 { font-size: 21px; line-height: 1.7; letter-spacing: .08em; margin-bottom: 22px; }
  .home-service-panel > p { font-size: 16px; line-height: 1.85; -webkit-line-clamp: 5; }
  .home-service-panel .btn { font-size: 10px; margin-top: 25px; padding: 19px 26px; letter-spacing: .1em; }
  .portfolio-image { margin: 0 13px; }
  .portfolio-photo { aspect-ratio: 1.2; }
  .plane-one { transform: translate(-12px, -12px) rotateY(-5deg); }
  .plane-two { transform: translate(13px, 13px) rotateY(5deg); }
  .portfolio-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 23px; margin-top: 38px; }
  .portfolio-arrows { width: 100%; justify-content: space-between; }
  .portfolio-arrows > button { width: 48px; height: 46px; }
  .portfolio-arrows > span { font-size: 12px; }
  .portfolio-tabs { width: 100%; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
  .home-service-trigger { min-width: 0; min-height: 44px; font-size: 12px; padding: 12px 0; }
  .publication-feature-image { aspect-ratio: 1.45; padding: 10px; }
  .publication-cover-label { top: 23px; left: 23px; right: 23px; font-size: 8px; letter-spacing: .05em; }
  .publication-feature h3 { font-size: 24px; line-height: 1.55; }
  .publication-feature > .text-link, .publication-row .text-link { font-size: 10px; }
  .publication-row { gap: 14px; padding-block: 26px; }
  .publication-row-number { font-size: 11px; }
  .publication-row h3 { font-size: 20px; line-height: 1.6; }
  .publication-row-thumb { width: 57px; aspect-ratio: .9; margin-top: 28px; }
  .publication-row .news-meta { font-size: 11px; }
  .news-meta { font-size: 12px; margin-block: 22px 16px; }
  .newsletter-section { padding-block: 62px; }
  .newsletter-section h2 { font-size: 22px; line-height: 1.8; letter-spacing: .09em; }
  .newsletter-section form > label { font-size: 13px; margin-bottom: 12px; }
  .newsletter-field { display: grid; grid-template-columns: minmax(0, 1fr); padding: 0; }
  .newsletter-field input { padding: 16px; min-height: 54px; }
  .newsletter-field button { justify-content: space-between; border-left: 0; border-top: 1px solid var(--line); width: 100%; min-height: 54px; padding: 17px; font-size: 11px; }
  .cabinet-story-heading { display: block; }
  .cabinet-story-heading h2 { font-size: 24px; letter-spacing: .09em; }
  .cabinet-story-heading .eyebrow { font-size: 9px; margin-bottom: 21px; }
  .cabinet-architecture { height: 240px; margin-top: 28px; }
  .cabinet-values-photo { max-height: none; aspect-ratio: 1.12; padding: 14px; }
  .source-about-copy h2 { font-size: 25px; letter-spacing: .1em; line-height: 1.7; }
  .source-about-copy .eyebrow { font-size: 10px; }
  .source-paragraphs p, .source-about-copy p { font-size: 16px; line-height: 1.9; }
  .cabinet-story-copy p:first-child, .source-about-copy p:first-of-type { font-size: 17px; }
  .service-workspace { padding-top: 30px; }
  .service-workspace-layout { gap: 32px; }
  .service-selector [role=tablist] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
  .service-tab { min-height: 85px; font-size: 14px; line-height: 1.7; gap: 9px; padding-block: 17px; }
  .service-tab .row-num { font-size: 10px; min-width: 16px; }
  .service-tab.is-active { padding-left: 9px; }
  .service-panel-top { gap: 15px; padding-bottom: 20px; }
  .service-panel-top .eyebrow { font-size: 8px; letter-spacing: .03em; }
  .source-service-content h2 { font-size: 23px; letter-spacing: .07em; line-height: 1.7; margin-bottom: 26px; }
  .scope-list { grid-template-columns: minmax(0, 1fr); }
  .scope-list li { font-size: 15px; padding-block: 17px; line-height: 1.85; }
  .scope-list li:before { top: 17px; }
  .source-service-content > .btn { font-size: 10px; }
  .source-phase-card h2 { font-size: 22px; letter-spacing: .08em; line-height: 1.7; margin-bottom: 25px; }
  .source-phase-number { font-size: 28px; margin-bottom: 26px; }
  .source-phase-card li { font-size: 16px; line-height: 1.85; gap: 16px; }
  .expert-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .source-expert:nth-child(2) { margin-top: 0; }
  .expert-info h2 { font-size: 22px; letter-spacing: .06em; line-height: 1.7; }
  .expert-photo { padding: 12px; aspect-ratio: 1; }
  .photo-link { right: 12px; bottom: 12px; font-size: 10px; gap: 24px; padding: 16px 20px; }
  .expert-role { font-size: 13px; }
  .source-expert-email { font-size: 14px; }
  .source-expert-phones { font-size: 13px; }
  .source-expert .text-link { font-size: 10px; }
  .profile-portrait { grid-template-columns: minmax(0, 1fr); gap: 5px; max-width: 440px; }
  .profile-portrait > img { max-height: 500px; width: 100%; object-fit: cover; object-position: top; }
  .profile-contact { padding-block: 20px; }
  .profile-contact > a { font-size: 14px; }
  .source-profile-bio h2 { font-size: 21px; letter-spacing: .08em; line-height: 1.75; }
  .source-profile-bio p { font-size: 16px; line-height: 1.9; }
  .source-pagination { flex-wrap: wrap; margin-top: 42px; gap: 12px; }
  .source-pagination > a { width: 44px; height: 44px; font-size: 11px; }
  .source-article-layout { gap: 38px; }
  .source-article-cover { max-height: 300px; margin-bottom: 30px; padding: 9px; }
  .source-article-body, .source-article-body p { font-size: 16px; line-height: 1.9; }
  .source-article-body h2 { font-size: 22px; letter-spacing: .06em; line-height: 1.7; }
  .source-article-body h3 { font-size: 22px; line-height: 1.6; }
  .source-article-aside { grid-template-columns: minmax(0, 1fr); padding-top: 25px; }
  .source-article-aside h2 { font-size: 20px; }
  .source-article-aside > a { font-size: 15px; }
  .contact-info { grid-template-columns: minmax(0, 1fr); }
  .source-contact-photo { aspect-ratio: 1.4; }
  .office-item { padding-block: 23px; }
  .office-item h2 { font-size: 17px; letter-spacing: .1em; }
  .office-item p, .office-item a { font-size: 16px; }
  .contact-form { padding: 28px 20px; }
  .contact-form-heading h2 { font-size: 21px; line-height: 1.8; letter-spacing: .06em; }
  .contact-form-heading .eyebrow { font-size: 8px; letter-spacing: .03em; }
  .form-grid { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .field label { font-size: 13px; }
  .field input, .field textarea { font-size: 16px; padding: 12px; min-height: 48px; }
  .field textarea { min-height: 160px; }
  .source-contact-band { padding-block: 45px; }
  .source-contact-band .eyebrow { font-size: 9px; }
  .source-contact-band h2 { font-size: 24px; letter-spacing: .08em; line-height: 1.7; }
  .contact-band-link { font-size: 10px; padding: 21px 24px; gap: 20px; line-height: 1.9; }
  .source-footer-main, .source-footer-main:has(> div:nth-child(4)) { grid-template-columns: minmax(0, 1fr); padding-block: 55px 38px; gap: 28px; }
  .footer-brand img { width: 108px; height: 87px; margin-bottom: 20px; }
  .footer-brand h3 { font-size: 14px; max-width: none; }
  .footer-brand .text-link { font-size: 10px; }
  .footer-col h3 { font-size: 12px; margin: 5px 0 16px; letter-spacing: .05em; }
  .footer-col p, .footer-col a, .footer-email { font-size: 14px !important; line-height: 1.9; }
  .footer-phone { margin-bottom: 4px; }
  .support-title { margin-top: 23px !important; }
  .footer-bottom { font-size: 12px; padding-block: 23px 30px; }
  .footer-nav { gap: 3px 24px; margin-top: 16px; }
  .footer-nav > a { font-size: 13px; min-height: 44px; }
  #toast { left: 16px; right: 16px; bottom: 16px; max-width: none; font-size: 13px; padding: 16px 20px; }
}
/* Phase-specific icons replace the decorative globe. */
.phase-symbol { transform: none; }
.hero-subtitle { display: flex; align-items: center; gap: 11px; }
.hero-phase-icon { display: inline-flex; flex-shrink: 0; color: var(--accent); width: 25px; height: 25px; }
.hero-phase-icon svg { width: 100%; height: 100%; }
.phase-symbol svg { width: 100%; height: 100%; }
@media (max-width: 640px) {
  .hero-context { font-size: 8px; letter-spacing: .12em; margin-bottom: 20px; }
  .hero-subtitle { font-size: 12px; line-height: 1.7; gap: 9px; margin-top: 16px; }
  .hero-phase-icon { width: 19px; height: 19px; }
  .hero-actions { gap: 8px; margin-top: 22px; }
  .hero-actions .btn { font-size: 8px; padding: 13px 18px; min-height: 44px; letter-spacing: .08em; gap: 19px; }
  .hero-actions .btn .arrow { font-size: 18px; }
  .hero-actions .text-link { font-size: 8px; min-height: 44px; gap: 18px; letter-spacing: .06em; }
  .hero-actions .text-link .arrow { font-size: 20px; }
}

@media (max-width: 360px) {
  .header-tools { gap: 9px; }
  .menu-toggle { gap: 7px; font-size: 8px; }
  .lang-switch a { min-width: 30px; }
  .hero-actions .btn, .btn { padding-inline: 21px; }
  .hero-scroll { max-width: 140px; }
  .hero-media-footer { gap: 10px; }
  .hero-fraction, .video-time { font-size: 9px; }
  .service-tab .row-num { display: none; }
  .portfolio-copy h3 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .js-motion .reveal, .js-motion .reveal-wipe { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .hero-media, .hero-word { will-change: auto; }
}
@media print {
  body { background: white; color: black; }
  #header, #footer, .hero-background, .hero-orbit, .hero-phase-nav, .hero-bottom, .video-progress, .service-selector, .source-article-aside, .scroll-progress, .page-banner-media, .page-banner-shade { display: none !important; }
  #main { padding-top: 0; }
  .shell { width: 100%; max-width: none; }
  .section, .page-hero.page-banner { padding: 20px 0; min-height: 0; }
  .page-banner-content { display: block; }
  .page-banner h1, .page-banner .eyebrow, .page-banner .breadcrumbs { color: black; }
  .source-service-section[hidden] { display: block !important; }
  .service-workspace-layout, .profile-layout, .source-article-layout, .cabinet-story-layout, .cabinet-values-layout { display: block; }
  .source-service-section { margin-bottom: 35px; break-inside: avoid; }
  .js-motion .reveal, .js-motion .reveal-wipe { opacity: 1; transform: none; clip-path: none; }
  p { color: #333; }
  .page-hero h1 { font-size: 26px; }
}
