/* LMA Advisory — five chapters. Consolidated brand, component and motion styles. */
@font-face{font-family:Fraunces;font-style:normal;font-weight:300 900;font-display:swap;src:url('./fraunces-latin.woff2') format('woff2');}
@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url('./inter-latin.woff2') format('woff2');}
:root{
 --ink:#13151D;--paper:#F2F1ED;--stone:#E7E5DD;--ultra:#3138BC;--ultra-soft:#A5AAF8;
 --muted:#625F57;--line:#C8C5BC;--light-text:#D4D4DE;
 --display:Fraunces,Georgia,serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --a-tri:polygon(0 0,100% 100%,0 100%);
 --gutter:clamp(1.25rem,5vw,4.5rem);--wrap:1240px;--hh:4.75rem;
 --ease:cubic-bezier(.2,.7,.1,1);
 --dark:linear-gradient(158deg,#171A28 0%,#101119 58%,#0C0D12 100%);
 --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;}
body{margin:0;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;background:var(--paper);color:var(--ink);font:1.0625rem/1.65 var(--sans);}
main{flex:1 0 auto;}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);}
[hidden]{display:none!important;}
main:focus{outline:none;}
section[id],:target{scroll-margin-top:7rem;}
h1,h2,h3,p,li,a,dt,dd{overflow-wrap:anywhere;}
h1,h2,h3{margin-top:0;hyphens:manual;}
p{margin:0 0 1.15rem;}
a{color:var(--ultra);text-underline-offset:.25em;text-decoration-thickness:1px;}
a:hover{text-decoration-thickness:2px;}
button,a{-webkit-tap-highlight-color:transparent;}
:focus-visible{outline:3px solid var(--ultra);outline-offset:5px;}
.hero :focus-visible,.fit :focus-visible,.cta :focus-visible,.foot :focus-visible,.js .home .top:not(.solid) :focus-visible{outline-color:var(--ultra-soft);}
.grain-global{position:fixed;inset:0;z-index:60;pointer-events:none;background-image:var(--grain);background-size:160px 160px;opacity:.025;mix-blend-mode:multiply;}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;transform:translateY(-180%);background:var(--paper);color:var(--ink);padding:.75rem 1rem;font-weight:600;}
.skip-link:focus{transform:none;}
.eyebrow{display:flex;align-items:center;gap:.7em;font-size:.76rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 1.5rem;}
.eyebrow::before{content:'';width:.6em;aspect-ratio:77/108;clip-path:var(--a-tri);background:var(--ultra);flex:none;}
.eyebrow.on-dark{color:#B7B7C6;}
.eyebrow.on-dark::before{background:var(--ultra-soft);}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.06;letter-spacing:-.025em;}
h2{font-size:clamp(2.35rem,4.5vw,3.75rem);margin-bottom:1.5rem;}
.lead{font-size:clamp(1.06rem,1.6vw,1.22rem);line-height:1.65;max-width:50ch;}
/* Headline lines sit in a mask so they can rise into place. */
.ln{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.16em;}
.ln>span{display:block;}
/* Navigation retains a useful no-JavaScript mobile fallback. */
.top{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);transition:background-color .35s,border-color .35s;}
.top::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ultra);transform:scaleX(var(--progress,0));transform-origin:left;pointer-events:none;}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--hh);}
.brand-lockup{display:block;height:38px;flex:none;}
.brand-lockup svg{display:block;height:100%;width:auto;}
.brand-lockup svg *{transition:fill .35s;}
.nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2rem);}
.nav a{color:var(--ink);font-size:.9rem;text-decoration:none;font-weight:500;transition:color .35s;}
.navlink{position:relative;}
.navlink::after{content:'';position:absolute;bottom:-.5rem;left:0;right:0;height:2px;background:var(--ultra);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.navlink:hover::after,.navlink:focus-visible::after,.navlink[aria-current]::after{transform:scaleX(1);}
.navlink[aria-current]{color:var(--ultra);}
.lang{display:flex;gap:.1rem;align-items:center;font-size:.8rem;}
.lang a{padding:.35em .5em;color:var(--muted);}
.lang a[aria-current]{color:var(--ultra);font-weight:600;}
.lang>span{color:var(--muted);}
.menu-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;border:0;background:none;cursor:pointer;}
.menu-btn span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .18s,opacity .18s,background-color .35s;}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0;}
.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mnav{display:none;}
/* With JavaScript the header floats over the dark hero until the page is scrolled. */
.js .home .top:not(.solid){background-color:transparent;border-bottom-color:rgba(255,255,255,.14);}
/* Once the page is scrolled, the bar covers the hero text that passes beneath it. */
.js .home .top.scrolled:not(.solid){background-color:#101119;}
.js .home .top:not(.solid) .brand-lockup [fill="#000000"]{fill:var(--paper);}
.js .home .top:not(.solid) .nav a{color:var(--paper);}
.js .home .top:not(.solid) .lang a,.js .home .top:not(.solid) .lang>span{color:#B7B7C6;}
.js .home .top:not(.solid) .lang a[aria-current]{color:#fff;}
.js .home .top:not(.solid) .navlink::after{background:var(--ultra-soft);}
.js .home .top:not(.solid) .menu-btn span{background:var(--paper);}
/* Actions */
.btn{position:relative;isolation:isolate;overflow:hidden;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.8em;min-height:54px;padding:1em 1.5em;border:1px solid transparent;font-size:.98rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .25s,border-color .25s,transform .35s var(--ease);}
.btn-primary{background:var(--ultra);color:#fff;}
.btn-primary::before{content:'';position:absolute;inset:0;z-index:-1;background:#454DD3;transform:translateX(-101%);transition:transform .45s var(--ease);}
.btn-primary:hover::before,.btn-primary:focus-visible::before{transform:none;}
.btn-ghost{background:transparent;border-color:#848590;color:var(--paper);}
.btn-ghost:hover,.btn-ghost:focus-visible{background:#242631;border-color:var(--paper);}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);}
.btn:active{transform:none;}
.btn .tri{display:block;width:.52em;aspect-ratio:77/108;clip-path:var(--a-tri);background:currentColor;transition:transform .35s var(--ease);}
.btn:hover .tri{transform:translateX(4px);}
.cta-row,.contact-options{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;}
.text-link{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-size:.94rem;}
.text-link span{transition:transform .35s var(--ease);}
.text-link:hover span{transform:translate(3px,-3px);}
/* 1. Brand and relevance */
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;color:var(--paper);min-height:min(48rem,calc(100vh - var(--hh)));min-height:min(48rem,calc(100svh - var(--hh)));background:var(--dark);clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 3vw));}
.js .home .hero{margin-top:calc(-1 * var(--hh) - 1px);padding-top:calc(var(--hh) + 1px);min-height:min(52rem,100vh);min-height:min(52rem,100svh);}
.hero-glow{position:absolute;z-index:-2;left:0;top:0;width:54rem;height:54rem;border-radius:50%;background:radial-gradient(closest-side,rgba(49,56,188,.42),rgba(49,56,188,0));transform:translate3d(calc(84vw - 50%),calc(4rem - 50%),0);pointer-events:none;}
.hero-mark{position:absolute;z-index:-1;top:5%;right:-7%;width:min(50vw,680px);pointer-events:none;}
.js .home .hero-mark{top:calc(var(--hh) + 1%);}
.hero-mark svg{display:block;width:100%;height:auto;transform:translate3d(0,var(--py,0),0);}
/* Intro overlay: the static mark is the fallback and the layout reference; with motion the overlay draws the same shape. */
.hero-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;overflow:hidden;pointer-events:none;}
.hero-art g{transform:translate3d(0,var(--py,0),0);}
.motion .home .hero-mark{visibility:hidden;}
.intro-safe .hero:not(.art-ready) .hero-mark{visibility:visible;}
.motion .home .hero-reveal:not(.in){opacity:0;transform:translateY(28px);}
.hero-reveal{transition:opacity .5s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 60ms);}
.intro-safe .hero-reveal{opacity:1!important;transform:none!important;}
.hero .eyebrow{--i:0;}.hero h1 .ln:nth-child(1){--i:1;}.hero h1 .ln:nth-child(2){--i:2;}.hero .lead{--i:3;}.hero .cta-row{--i:4;}
.hero-index li:nth-child(1){--i:5;}.hero-index li:nth-child(2){--i:6;}.hero-index li:nth-child(3){--i:7;}
.hero-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(3rem,6vw,5rem) clamp(2rem,4vw,3rem);}
.hero h1{font-size:clamp(2.6rem,5.6vw,5rem);max-width:18ch;margin:0 0 1.6rem;}
.hero .lead{color:var(--light-text);max-width:49ch;margin-bottom:2.2rem;}
.hero .text-link{color:var(--paper);}
.hero-foot{padding-bottom:calc(3vw + clamp(1.5rem,3vw,2.5rem));}
.hero-index{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(1rem,2.5vw,2.25rem);}
.hero-index a{display:flex;align-items:baseline;gap:.85rem;padding:.95rem 1.5rem 0 0;border-top:1px solid rgba(255,255,255,.22);color:var(--light-text);font-size:.86rem;line-height:1.45;text-decoration:none;transition:color .3s,border-color .3s;}
.hero-index a:hover,.hero-index a:focus-visible{color:#fff;border-top-color:#fff;}
.hero-index .no{flex:none;color:var(--ultra-soft);font-size:.72rem;font-weight:600;letter-spacing:.12em;}
/* 2. Open service rows with a drawn figure each */
.section{padding:clamp(4.5rem,8.5vw,8rem) 0;}
.section-heading{margin-bottom:3.5rem;max-width:65ch;}
.section-heading>p:last-child:not(.eyebrow){max-width:46ch;margin-bottom:0;}
.services .section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;align-items:end;max-width:none;}
.services .section-heading .eyebrow{grid-column:1/-1;}
.services .section-heading h2{margin-bottom:0;}
.service{position:relative;display:grid;grid-template-columns:3rem minmax(0,1.12fr) minmax(0,1.2fr);column-gap:clamp(1.5rem,3.2vw,3.25rem);align-items:start;padding:clamp(2.25rem,4vw,3.25rem) 0;border-top:1px solid var(--line);}
.service:last-child{border-bottom:1px solid var(--line);}
.service::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);}
.service-no{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--ultra);}
.service-head{min-width:0;transition:transform .5s var(--ease);}
.service-label{margin:0 0 .75rem;font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.service h3{margin:0;font:400 clamp(1.45rem,2.05vw,1.85rem)/1.2 var(--display);letter-spacing:-.015em;}
.service-body{max-width:54ch;min-width:0;}
.service-body p:last-child{margin-bottom:0;}
.outcome{margin-top:1.4rem;}
.outcome>span{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.35rem;}
@media(hover:hover){
 .service:hover::before{transform:scaleX(1);}
 .service:hover .service-head{transform:translateX(.5rem);}
}
/* 3. One lead case, two supporting examples */
.experience{background:var(--stone);}
.experience .section-heading{max-width:750px;margin-bottom:4rem;}
.experience .section-heading p{max-width:60ch;}
.case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,5vw,4.5rem) clamp(2rem,5vw,4.5rem);}
.case{display:grid;gap:1.9rem;align-content:start;min-width:0;}
.case-copy{min-width:0;}
.case-category{font-size:.82rem;color:var(--muted);font-weight:500;margin-bottom:1.4rem;}
.case h3{font:400 clamp(1.6rem,2.4vw,2.1rem)/1.15 var(--display);letter-spacing:-.02em;margin-bottom:1rem;}
.case-copy p:last-child{margin-bottom:0;}
/* 4. Real person */
.about{overflow:clip;}
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2.5rem,7vw,6.5rem);align-items:center;}
.portrait{position:relative;isolation:isolate;margin:0;max-width:440px;}
.portrait::before{content:'';position:absolute;z-index:-1;inset:-6% -8% 22% 24%;background:var(--stone);}
.portrait-frame{position:relative;overflow:hidden;aspect-ratio:4/5;}
.portrait-frame picture{position:absolute;inset:-6% 0;display:block;transform:translate3d(0,var(--py,0),0);}
.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 12%;}
.portrait::after{content:'';position:absolute;left:-14px;bottom:-14px;width:23%;aspect-ratio:77/108;clip-path:var(--a-tri);background:var(--ultra);pointer-events:none;}
.about-copy{min-width:0;}
.about-copy h2{margin-bottom:2rem;}
.about-copy>p{max-width:58ch;}
.personal-note{font-weight:500;margin-top:1.6rem;}
/* 5. Fit: readers check for themselves whether the collaboration would work */
.fit{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper);padding:clamp(7rem,11vw,10rem) 0 clamp(4rem,7vw,6rem);clip-path:polygon(0 3vw,100% 0,100% 100%,0 100%);}
.fit-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(2.5rem,7vw,6.5rem);row-gap:2.5rem;align-items:start;}
.fit-intro,.fit-yes{min-width:0;}
.fit h2{font-size:clamp(2.6rem,5.4vw,4.6rem);margin-bottom:1.6rem;}
.fit .lead{color:var(--light-text);max-width:34ch;margin:0;}
.fit-lead{margin:0 0 1rem;font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#B7B7C6;}
.fit-list{list-style:none;margin:0;padding:0;}
.fit-list li{position:relative;padding:1.2rem 0 1.2rem 2.3rem;border-top:1px solid rgba(255,255,255,.18);font:400 clamp(1.25rem,2vw,1.7rem)/1.3 var(--display);letter-spacing:-.01em;}
.fit-list li:last-child{border-bottom:1px solid rgba(255,255,255,.18);}
.fit-list li::before{content:'';position:absolute;left:0;top:1.6rem;width:.72rem;aspect-ratio:77/108;clip-path:var(--a-tri);background:var(--ultra-soft);}
/* 6. Direct contact, continuing the dark closing act */
.cta{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,var(--ink) 0%,#0C0D12 100%);color:var(--paper);padding:clamp(4.5rem,8vw,7rem) 0 clamp(4.5rem,7vw,6.5rem);border-top:1px solid rgba(255,255,255,.14);}
.cta-mark{position:absolute;z-index:-1;right:-6%;bottom:-22%;width:min(48vw,600px);opacity:.42;pointer-events:none;}
.cta-mark svg{display:block;width:100%;height:auto;transform:translate3d(0,var(--py,0),0);}
.cta h2{font-size:clamp(2.6rem,5.4vw,4.6rem);margin-bottom:1.6rem;}
.cta .lead{color:var(--light-text);margin-bottom:2.2rem;max-width:46ch;}
.contact-who{display:flex;align-items:center;gap:1.1rem;margin:0 0 2.4rem;}
.contact-who picture,.contact-who img{display:block;flex:none;}
.contact-who img{width:72px;height:72px;object-fit:cover;object-position:50% 25%;border:1px solid rgba(255,255,255,.18);}
.contact-who .nm,.contact-who .role{display:block;line-height:1.45;}
.contact-who .nm{font-weight:600;font-size:.98rem;color:var(--paper);}
.contact-who .role{font-size:.88rem;color:var(--light-text);}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,6.5rem);align-items:start;}
.contact-intro{min-width:0;}
.contact-form{min-width:0;display:grid;gap:1.5rem;padding:clamp(1.5rem,3vw,2.5rem);background:rgba(19,21,29,.9);border:1px solid rgba(255,255,255,.16);}
.contact-form .fit-lead{margin:0;}
.field{display:grid;gap:.4rem;}
.field label{font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#B7B7C6;}
.field input,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.45);border-radius:0;background:transparent;color:var(--paper);font:inherit;padding:.5rem 0 .7rem;transition:border-color .25s,box-shadow .25s;}
.field textarea{resize:vertical;min-height:7.5rem;line-height:1.55;}
.field input:focus-visible,.field textarea:focus-visible{outline:none;border-bottom-color:var(--ultra-soft);box-shadow:0 2px 0 var(--ultra-soft);}
.field input:-webkit-autofill{-webkit-text-fill-color:var(--paper);caret-color:var(--paper);box-shadow:0 0 0 100px #1B1D29 inset;}
.form-note{margin:0;font-size:.82rem;line-height:1.5;color:#B7B7C6;}
.form-note a{color:var(--paper);}
.contact-form .btn{justify-self:start;}
.contact-address{display:inline-block;max-width:100%;margin-top:2.75rem;padding-bottom:.15em;font:400 clamp(1.4rem,3vw,2.3rem)/1.2 var(--display);letter-spacing:-.01em;color:var(--paper);text-decoration:none;background:linear-gradient(var(--ultra-soft),var(--ultra-soft)) 0 100%/100% 1px no-repeat;}
.contact-address:hover,.contact-address:focus-visible{color:#fff;background-size:100% 2px;}
.foot{background:#0C0D12;color:var(--light-text);padding:2rem 0 2.6rem;border-top:1px solid #2A2C36;}
.foot .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;}
.foot .mono{height:30px;}
.foot .mono svg{display:block;height:100%;width:auto;}
.foot .meta,.foot .flinks{font-size:.85rem;}
.foot .flinks{display:flex;flex-wrap:wrap;gap:1.5rem;}
.foot .flinks a{color:var(--light-text);}
/* Existing legal text remains unchanged. */
.legal{min-height:52vh;}
.legal h1{font-size:clamp(2.2rem,5vw,3.2rem);margin-bottom:1.6rem;}
.legal h2{font:600 1rem/1.5 var(--sans);margin:2.2rem 0 .4rem;letter-spacing:0;}
.legal p{max-width:65ch;margin-bottom:.6rem;}
.legal .btn{margin-top:1.5rem;}
/* Motion. Content is visible by default; only the entrance is animated.
   The hero plays on load without JavaScript. Scroll reveals need the .motion
   class, which site.js sets only when motion is welcome. */
@keyframes rise{from{transform:translateY(115%);}}
@keyframes fade-up{from{opacity:0;transform:translateY(18px);}}
@keyframes unveil{from{clip-path:inset(0 0 100% 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes corner-in{from{opacity:0;transform:translate(-12px,12px);}}
.motion .rv:not(.in){opacity:0;}
.motion .rv.in{animation:fade-up .9s var(--ease) var(--d,0s) backwards;}
.motion .rl:not(.in) .ln>span{transform:translateY(115%);}
.motion .rl.in .ln>span{animation:rise 1s var(--ease) backwards;}
.motion .rl.in .ln:nth-child(2)>span{animation-delay:.12s;}
.motion .portrait.in .portrait-frame{animation:unveil 1.2s var(--ease) backwards;}
.motion .portrait.in::after{animation:corner-in .8s var(--ease) .8s backwards;}
@media(max-width:1000px){
 .hero{--mw:44vw;}
 .hero-mark,.js .home .hero-mark{top:auto;width:var(--mw);right:calc(20px - .19 * var(--mw));bottom:calc(3vw + 1.5rem - .0625 * var(--mw));opacity:1;}
 .hero-index{padding-right:calc(.62 * var(--mw));}
 .nav{gap:1rem;}.nav a{font-size:.86rem;}
 .service{grid-template-columns:2.5rem minmax(0,1.1fr) minmax(0,1.2fr);}
 .about-grid{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:2.5rem;}
 .cta-mark{opacity:.2;width:70vw;right:-20%;}
}
@media(max-width:820px){
 .nav{gap:.45rem;}.nav .navlink{display:none;}.top.nav-ready .menu-btn{display:inline-flex;}.top:not(.nav-ready){position:static;}
 .mnav{display:block;border-top:1px solid var(--line);}.mnav a{display:block;padding:.9rem var(--gutter);border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;}.mnav a[aria-current]{color:var(--ultra);text-decoration:underline;}
 .hero-index{grid-template-columns:1fr;gap:0;}.hero-index a{padding:.8rem 0;}
 .services .section-heading{grid-template-columns:1fr;gap:0;}.services .section-heading h2{margin-bottom:1.5rem;}
 .service{grid-template-columns:minmax(0,1fr);grid-template-areas:"no" "head" "body";row-gap:.4rem;padding:2rem 0;}
 .service-no{grid-area:no;padding-top:0;align-self:center;}.service-head{grid-area:head;margin-top:.6rem;}.service-body{grid-area:body;margin-top:1rem;}
 .case-list{grid-template-columns:minmax(0,1fr);gap:3rem;}.case-copy{max-width:60ch;}
 .fit-grid,.contact-grid{grid-template-columns:minmax(0,1fr);}.fit .lead{max-width:50ch;}
 .about-grid{grid-template-columns:1fr;gap:2.5rem;}.portrait{max-width:380px;width:100%;}.portrait::before{inset:-1.25rem -1rem 22% 24%;}.about-copy{max-width:60ch;}
}
@media(max-width:560px){
 .hero h1{font-size:clamp(2.35rem,9.5vw,3.1rem);}
 .section-heading{margin-bottom:2.5rem;}.experience .section-heading{margin-bottom:3rem;}
 .contact-options{flex-direction:column;align-items:stretch;}.contact-options .btn,.contact-form .btn{width:100%;justify-content:space-between;}

}
@media(max-width:400px){.brand-lockup{height:32px;}.top .wrap{gap:.6rem;}.lang a{padding:.35em;}.hero .eyebrow{font-size:.66rem;letter-spacing:.1em;}h2,.cta h2{font-size:clamp(1.85rem,9.4vw,2.35rem);}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto;}
 *,*::before,*::after{animation:none!important;transition:none!important;}
 .btn:hover,.btn:focus-visible{transform:none;}
 .motion .rv:not(.in){opacity:1;}.motion .rl:not(.in) .ln>span{transform:none;}
 .hero-mark svg,.hero-art g,.cta-mark svg,.portrait-frame picture{transform:none;}
}
@media print{.motion .rv:not(.in){opacity:1;}.motion .rl:not(.in) .ln>span{transform:none;}}
