/* Large, quiet surfaces and purposeful engineering imagery. */
:root{--paper:#f0f0f1;--ink:#19171e;--muted:#5e5967;--accent:#50436b}
figure{margin:0}button,a,summary{touch-action:manipulation}
body{background:var(--paper)}
.wrap{width:calc(100% - 96px);max-width:1360px}
.header{height:104px;border:0;gap:28px}.header nav{gap:27px}.header nav a{font-size:15px}.header-contact{border:0;background:var(--accent);color:white;border-radius:100px;padding:13px 22px}.header-contact:hover{background:#3a2f51}
.brand img{width:48px;height:48px}.brand>span{font-size:22px}.brand small{font-size:11px}
.hero{min-height:700px}.hero h1{font-size:clamp(64px,7.3vw,108px);line-height:1.04;letter-spacing:-.06em}.hero-copy{padding:64px 0 92px;max-width:670px}.hero-text{font-size:22px;line-height:1.55;max-width:460px}.hero-subtext{font-size:16px;max-width:445px;line-height:1.7}.hero .eyebrow{font-size:12px;letter-spacing:.11em}
.button{border-radius:100px;font-size:16px;padding:18px 26px;gap:28px}.plain-link{font-size:16px}.hero-actions .plain-link{font-size:15px}.hero-footer{font-size:12px;padding:23px 0;min-height:70px}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.header nav{gap:16px}.brand small{max-width:140px}.header nav a{font-size:14px}.hero{min-height:0}.hero-copy{padding:42px 0 300px}.hero h1{font-size:clamp(59px,9vw,84px)}.hero-media video{bottom:70px;height:350px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:88px}.header nav{display:none}.brand>span{font-size:17px}.brand img{width:42px;height:42px}.brand small{font-size:10px;max-width:130px}.header-contact{padding:11px 14px;font-size:13px}.header-contact span{display:none}.hero-copy{padding:30px 0 270px}.hero h1{font-size:clamp(49px,12.5vw,80px)}.hero-text{font-size:19px}.hero-subtext{font-size:15px;max-width:340px}.hero-media video{height:330px}.hero-actions{gap:20px}.hero-footer>span:nth-child(2){display:none}.button{font-size:15px;padding:17px 23px}}

.header{position:relative;z-index:20}.header nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:7px}.menu-toggle{display:none}
.benefit-strip{display:flex;justify-content:space-between;gap:24px;padding:34px 0;border-bottom:1px solid #d6d3da;color:var(--accent);font-size:15px;font-weight:600}.benefit-strip span+span{border-left:1px solid #d6d3da;padding-left:35px}
.visual-section{padding-top:110px;padding-bottom:110px}.feature-heading{max-width:860px;margin:0 auto 46px;text-align:center}.feature-heading .eyebrow{justify-content:center}.visual-section h2,.approach-section h2,.inner-hero h1,.inquiry-band h2{font-size:clamp(42px,4.8vw,70px);line-height:1.12;font-weight:500;letter-spacing:-.055em}.feature-heading h2{margin:23px 0}.visual-section h2 span{color:var(--accent)}.feature-lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:650px;margin:0 auto}.expertise-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.art-panel{position:relative;min-width:0;border-radius:28px;overflow:hidden;background:#eaebee}.art-panel img{width:100%;height:auto;mix-blend-mode:multiply;transform-origin:center;transition:transform 850ms cubic-bezier(.2,.7,.2,1)}.art-panel figcaption{position:absolute;bottom:22px;left:22px;right:22px;font-size:12px;text-align:center;color:#50495d;letter-spacing:.01em}.art-panel:hover img{transform:scale(1.035)}
.direction-links>a:not(.text-action){display:grid;grid-template-columns:32px 1fr 22px;gap:20px;align-items:center;min-height:82px;padding:18px 0;border-bottom:1px solid #cbc7d1;font-size:20px;line-height:1.4;letter-spacing:-.02em;transition:color .2s,padding .2s}.direction-links>a:first-child{border-top:1px solid #cbc7d1}.direction-links>a:hover{color:var(--accent);padding-left:7px}.direction-links .link-index{font-size:12px;letter-spacing:0;color:var(--muted)}.direction-links>a>span:last-child{font-size:23px;font-weight:400}.direction-links>p{font-size:15px;line-height:1.7;color:var(--muted);margin:24px 0 14px}.text-action{font-size:15px;color:var(--accent);display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid #8a7b9c;padding-bottom:5px}
.approach-section{background:#30263f;color:#fff;padding:90px 0 52px;border-radius:32px;margin:0 16px;overflow:hidden}.approach-heading{display:grid;grid-template-columns:1.3fr 1fr;column-gap:10%;align-items:end}.approach-heading .eyebrow{grid-column:1/-1;color:#c6b9d7;margin-bottom:24px}.approach-heading h2{margin:0}.approach-heading h2 span{color:#c8b5e0}.approach-heading>p{font-size:23px;line-height:1.6;color:#e1d9ea;margin-bottom:5px}.visual-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin:60px 0 42px;border:0}.visual-principles article,.visual-principles article+article{padding:0;border:0}.visual-principles .principle-index{color:#b6a1cd;font-size:15px;display:block;margin-bottom:21px}.visual-principles h3{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.02em;margin:0 0 13px}.visual-principles p{font-size:16px;line-height:1.75;color:#dfd6e9;margin:0}
.approach-details{border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35;padding:22px 0}.approach-details summary{font-size:17px;font-weight:500;justify-content:space-between}.approach-details .expand:before,.approach-details .expand:after{background:#ddd0eb}.approach-details-body{padding:24px 0 12px}.approach-details-body>p{max-width:850px;font-size:16px;color:#e5dcec;line-height:1.8;margin-bottom:16px}.approach-details .steps{gap:30px;margin:30px 0}.approach-details .steps li{border-color:#ffffff40}.approach-details .steps span{color:#c6b7d6}.approach-details .steps h3{color:white;font-size:20px}.approach-details .steps p{color:#e5dcec;font-size:15px}.process-route{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:35px;font-size:15px;color:#e3dbea}.process-route i{height:1px;background:#8d779f;flex:1;position:relative}.process-route i:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid #8d779f;border-right:1px solid #8d779f;transform:rotate(45deg)}
.practice.visual-section{background:transparent}.practice-feature{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.practice-copy h2{margin:23px 0}.practice-copy .feature-lead{font-size:18px;margin:0 0 30px;max-width:470px}.case-preview{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:24px 0;border-top:1px solid #cdc8d4;font-size:20px;line-height:1.5;letter-spacing:-.025em}.case-preview:last-child{border-bottom:1px solid #cdc8d4}.case-preview small{display:block;font-size:11px;letter-spacing:.07em;color:var(--muted);margin-bottom:7px}.case-preview b{font-size:24px;color:var(--accent);font-weight:400}.case-preview:hover{color:var(--accent)}
.licenses{padding:75px 0 95px;grid-template-columns:1fr 1.2fr;gap:11%;border-top:1px solid #d0ccd6}.licenses h2{font-size:clamp(38px,4vw,56px)}.license-heading>p:not(.eyebrow){font-size:16px}.license-description{font-size:16px}.license-list summary strong{font-size:22px}.license-number{display:block;font-size:14px;color:var(--muted);margin-top:10px}.license-list summary small{font-size:11px}.license-note{font-size:14px}.license-document span{font-size:15px}
.contacts{border-radius:32px 32px 0 0;background:#50436b;background-image:none}.contact-top h2{font-size:clamp(43px,5vw,72px)}.contact-bottom p,.contact-bottom address{font-size:16px}.contact-privacy{font-size:14px}.contact-bottom h3{font-size:16px}.contact-email{font-size:32px}.legal-links{font-size:13px}.legal-links button{font-size:13px}.legal-page p{font-size:16px}.legal-page .legal-summary{font-size:19px}
.inner-hero{padding:44px 0 65px}.back-link{display:inline-block;font-size:14px;color:var(--muted);margin-bottom:48px}.inner-hero .eyebrow{font-size:13px}.inner-hero h1{margin:25px 0}.inner-hero h1 span{color:var(--accent)}.inner-hero>p:last-child{max-width:790px;font-size:20px;color:var(--muted);line-height:1.75}
.directions-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}.directions-figure{position:sticky;top:30px;border-radius:26px;overflow:hidden;background:#e8e9ec}.directions-figure img{mix-blend-mode:multiply}.directions-figure figcaption{padding:0 28px 28px;font-size:16px;line-height:1.7;color:var(--muted)}.direction-detail{display:grid;grid-template-columns:76px 1fr;gap:28px;padding:34px 0;border-top:1px solid #cac5d0;scroll-margin-top:25px}.direction-detail:last-child{border-bottom:1px solid #cac5d0}.direction-detail h2{font-size:30px;letter-spacing:-.035em;line-height:1.25}.direction-detail p{font-size:17px;line-height:1.85;color:var(--muted);margin-top:17px}.detail-symbol span{font-size:12px;color:var(--accent);display:block;margin-bottom:15px}.detail-symbol svg{width:65px;height:65px;stroke:var(--accent);stroke-width:1.5}.detail-symbol .fine{opacity:.5}.detail-symbol .solid{fill:var(--accent);stroke:none}.scope-note{margin-top:60px;display:flex;gap:60px;align-items:center;border-top:1px solid #d0cad7;padding-top:35px}.scope-note p{font-size:17px;line-height:1.8;color:var(--muted);max-width:870px}.scope-note a{flex-shrink:0}
.inquiry-band{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:70px 64px;margin-top:80px;margin-bottom:55px;background:#e5e2ea;border-radius:28px}.inquiry-band h2{font-size:48px;margin-top:20px}.inquiry-band .button{flex-shrink:0}
.practice-banner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;background:#e9e9ed;border-radius:30px;padding:20px 75px 20px 20px;overflow:hidden}.practice-banner img{mix-blend-mode:multiply}.practice-banner>p{font-size:clamp(32px,3.7vw,54px);font-weight:500;line-height:1.2;letter-spacing:-.045em}.practice-banner>p span{color:var(--accent)}.visual-case{padding-top:85px;padding-bottom:70px;border-bottom:1px solid #cdc7d4;scroll-margin-top:25px}.visual-case-title{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}.visual-case-title .eyebrow{padding-top:10px;font-size:12px}.visual-case-title h2{font-size:45px;line-height:1.2}.visual-case-title h2 br{display:none}.case-route{margin:45px 0 35px;display:grid;grid-template-columns:repeat(3,1fr);border-radius:20px;background:#30263f;color:white;padding:30px 35px;gap:30px}.case-route>div{display:flex;flex-direction:column;gap:14px;position:relative}.case-route>div:not(:last-child):after{content:"→";position:absolute;right:0;top:22px;font-size:26px;color:#c3b2d5}.case-route span{color:#c3b2d5;font-size:12px}.case-route strong{font-size:20px;font-weight:500}.case-details dl{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:0}.case-details dl>div:last-child{grid-column:1/-1;border-top:1px solid #d2ccd9;padding-top:25px}.case-details dt{font-size:14px;font-weight:600;color:var(--accent);margin-bottom:10px}.case-details dd{font-size:18px;color:var(--muted);line-height:1.8;margin:0;max-width:1000px}
.will-reveal{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.will-reveal.is-visible{opacity:1;transform:none}.art-panel.will-reveal{transform:translateY(32px) scale(.96);transition-duration:1.15s}.art-panel.will-reveal.is-visible{transform:none}
@media(max-width:1150px){.expertise-feature{gap:35px}.practice-feature{gap:40px}.visual-principles{grid-template-columns:1fr 1fr;gap:32px 55px}.benefit-strip{font-size:14px}.benefit-strip span+span{padding-left:20px}.approach-heading{gap:25px}.approach-heading>p{font-size:20px}.direction-links>a:not(.text-action){font-size:18px}.directions-layout{gap:35px}.direction-detail{gap:18px;grid-template-columns:60px 1fr}.detail-symbol svg{width:52px}.direction-detail h2{font-size:25px}}
@media(max-width:1000px){.visual-section{padding-top:75px;padding-bottom:75px}.feature-heading{margin-bottom:35px}.visual-section h2,.approach-section h2{font-size:clamp(40px,5.7vw,58px)}.expertise-feature{grid-template-columns:1fr 1fr}.benefit-strip{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:27px 0}.benefit-strip span+span{padding-left:0;border:0}.benefit-strip span:nth-child(even){text-align:right}.approach-section{padding-top:70px;margin:0 10px}.approach-heading{grid-template-columns:1fr}.approach-heading>p{margin-top:24px}.approach-heading>p br{display:none}.practice-feature{grid-template-columns:1fr 1fr;gap:30px}.practice-copy .feature-lead{font-size:17px}.case-preview{font-size:18px}.directions-layout{grid-template-columns:1fr}.directions-figure{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:center}.directions-figure figcaption{padding:30px;font-size:20px}.direction-detail{grid-template-columns:85px 1fr}.direction-detail h2{font-size:30px}.scope-note{align-items:flex-start;gap:25px;flex-direction:column}.inquiry-band{padding:45px 38px}.inquiry-band h2{font-size:40px}.practice-banner{padding:20px;gap:30px}.visual-case-title{grid-template-columns:1fr;gap:22px}.case-route strong{font-size:17px}.case-route>div:not(:last-child):after{right:-12px}.licenses{gap:40px}.license-list summary strong{font-size:21px}}
@media(max-width:850px){.header nav{display:flex}.header{gap:17px}.brand small{display:none}.header nav{gap:15px}.header nav a{font-size:13px}.header-contact{padding:12px 15px;font-size:13px}.brand>span{font-size:18px}.brand img{width:40px;height:40px}}
@media(max-width:700px){.header{gap:14px}.brand{gap:10px}.brand small{display:block}.header-contact{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;flex:0 0 34px;width:34px;height:44px;padding:4px;border:0;background:none;cursor:pointer}.menu-toggle span{display:block;width:23px;height:1px;background:var(--accent);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;left:-20px;right:-20px;top:80px;background:#f7f7f8;border-bottom:1px solid #d4cddd;padding:20px 26px;box-shadow:0 18px 25px #30263f10}.header nav.is-open{display:flex;flex-direction:column;gap:6px}.header nav a{font-size:18px;padding:10px 0}.benefit-strip{font-size:13px;gap:14px 8px}.visual-section{padding-top:65px;padding-bottom:65px}.feature-heading{text-align:left;margin-bottom:30px}.feature-heading .eyebrow{justify-content:flex-start}.visual-section h2,.approach-section h2{font-size:42px}.feature-lead{font-size:17px}.expertise-feature{grid-template-columns:1fr;gap:30px}.art-panel{border-radius:22px}.art-panel figcaption{bottom:16px;left:12px;right:12px;font-size:11px}.direction-links>a:not(.text-action){grid-template-columns:25px 1fr 20px;gap:14px;min-height:76px;font-size:19px}.direction-links>p{font-size:16px}.approach-section{padding:55px 0 35px;margin:0 8px;border-radius:26px}.approach-section .wrap{width:calc(100% - 40px)}.approach-heading>p{font-size:18px}.visual-principles{grid-template-columns:1fr;gap:26px;margin:38px 0 30px}.visual-principles article,.visual-principles article+article{display:grid;grid-template-columns:28px 1fr;gap:8px 14px;padding-bottom:25px;border-bottom:1px solid #ffffff25}.visual-principles .principle-index{margin:3px 0 0;font-size:13px;grid-row:1/3}.visual-principles h3{font-size:23px;margin:0}.visual-principles p{font-size:16px}.approach-details summary{font-size:16px}.approach-details .steps{grid-template-columns:1fr;gap:20px}.process-route{gap:8px;flex-wrap:wrap;font-size:12px}.process-route i{min-width:8px}.practice-feature{grid-template-columns:1fr;gap:30px}.practice-copy{order:1}.document-art{order:0;max-height:440px}.document-art img{height:100%;object-fit:cover}.practice-copy .feature-lead{font-size:17px}.case-preview{font-size:20px}.licenses{padding-top:55px;padding-bottom:65px;grid-template-columns:1fr;gap:30px}.license-heading h2{font-size:42px;margin:20px 0}.license-heading h2 br{display:block}.license-heading>.plain-link{margin-top:18px}.license-list summary strong{font-size:22px}.license-number{font-size:13px}.contacts{border-radius:26px 26px 0 0;padding:55px 0}.contact-top h2{font-size:41px;max-width:270px}.contact-bottom{gap:30px}.contact-bottom p,.contact-bottom address{font-size:16px}.contact-email{font-size:32px}.contact-privacy{font-size:14px}.inner-hero{padding:22px 0 38px}.back-link{margin-bottom:35px}.inner-hero h1{font-size:43px;line-height:1.15}.inner-hero>p:last-child{font-size:18px}.directions-figure{display:block}.directions-figure figcaption{font-size:16px;padding:0 23px 23px}.direction-detail{grid-template-columns:46px 1fr;gap:16px;padding:30px 0}.detail-symbol svg{width:42px;height:42px}.direction-detail h2{font-size:25px}.direction-detail p{font-size:16px;line-height:1.8}.scope-note{margin-top:35px}.scope-note p{font-size:16px}.inquiry-band{display:block;padding:33px 25px;margin-top:50px;margin-bottom:35px}.inquiry-band h2{font-size:35px;margin-top:18px}.inquiry-band .button{margin-top:27px}.practice-banner{grid-template-columns:1fr;gap:0;padding:0 0 30px}.practice-banner>p{font-size:35px;padding:0 25px}.visual-case{padding-top:55px;padding-bottom:45px}.visual-case-title h2{font-size:34px}.case-route{grid-template-columns:1fr;margin:30px 0;padding:25px;gap:25px}.case-route>div{flex-direction:row;gap:20px;align-items:center}.case-route>div:not(:last-child):after{content:"↓";top:auto;bottom:-26px;right:2px;font-size:20px}.case-route strong{font-size:18px}.case-details dl{grid-template-columns:1fr;gap:23px}.case-details dl>div:last-child{grid-column:auto}.case-details dd{font-size:16px}.legal-page h1{font-size:35px}.legal-page p{font-size:16px}}
@media(max-width:380px){.header-contact{font-size:12px;padding:10px 12px}.brand>span{font-size:15px}.brand small{max-width:108px;font-size:9px}.brand img{width:34px;height:34px}.header{gap:8px}.visual-section h2,.approach-section h2{font-size:36px}.inner-hero h1{font-size:36px}.hero h1{font-size:45px}.hero-copy{padding-bottom:250px}.process-route{font-size:11px}}
@media(prefers-reduced-motion:reduce){.will-reveal,.art-panel.will-reveal{opacity:1;transform:none;transition:none}.art-panel:hover img{transform:none}.engineering-art{transition:none}html{scroll-behavior:auto}}
