/* Second edition: kinetic brand geometry and interactive editorial layouts. */
.hero-location{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--rose-light)}
.site-header{height:100px}
.hero{position:relative;min-height:calc(100svh - 100px);overflow:hidden;isolation:isolate}
.hero-eyebrow,.hero-footer{position:relative;z-index:2}
.hero-grid{grid-template-columns:1.55fr 1fr;grid-template-rows:auto auto;align-items:center;gap:2rem 6%;padding:clamp(3rem,6vh,6rem) 0 2.5rem;position:relative}
h1{font-size:clamp(4rem,7.5vw,8.5rem);letter-spacing:-.045em;line-height:1.04;position:relative;z-index:2;grid-column:1;grid-row:1/3}






.hero-aside{grid-column:2;grid-row:2;max-width:25rem;justify-self:center;position:relative;z-index:2;padding-bottom:1rem}
.hero-aside .accent-rule{display:none}.hero-aside p{margin:0 0 1.5rem;font-size:1.05rem;max-width:24rem}.hero-footer{padding-bottom:1.5rem}
.text-link{position:relative;border-bottom:0;padding:.8rem 0;gap:2.5rem}
.text-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rose-light);transform-origin:left;transition:transform .45s}
.text-link:hover:after{transform:scaleX(.7)}
.text-link>span,.nav-cta>span{position:relative;display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.text-link>span:before{content:"";position:absolute;inset:-4px;border:1px solid var(--rose-light);border-radius:50%;transform:scale(.7);opacity:0;transition:transform .4s,opacity .4s}
.text-link:hover>span{transform:translate(4px,-2px)}.text-link:hover>span:before{transform:scale(1);opacity:1}
.approach .split{grid-template-columns:1.2fr .8fr;align-items:end;gap:6%}.approach h2{font-size:clamp(3rem,5vw,5.7rem)}
.brief{grid-template-columns:1.2fr .8fr .8fr;margin-top:5.5rem}.brief-detail{border-left:1px solid var(--line);padding-left:1.75rem}
.process{padding-top:6rem;padding-bottom:6rem}.process-layout{grid-template-columns:1fr;gap:3.5rem}.process-intro{position:static;display:flex;justify-content:space-between;align-items:end;gap:3rem}.process-intro h2{font-size:clamp(2.6rem,4.3vw,4.8rem)}.process-intro>p{margin:0;max-width:24rem}
.process-tabs,.stage-controls{display:none}
.stage-panel{display:grid;grid-template-columns:.65fr 1fr;gap:7%;align-items:center;padding:2.5rem 0;border-top:1px solid var(--dark-line)}
.stage-figure{font-size:clamp(6rem,13vw,12rem);line-height:1;letter-spacing:-.085em;color:var(--rose-light);font-variant-numeric:tabular-nums}
.stage-panel h3{font-size:clamp(2rem,4vw,4rem);line-height:1.15;letter-spacing:-.04em;margin-bottom:1.5rem}.stage-panel p{max-width:34rem;font-size:1.2rem;color:#c6ccc8;line-height:1.6}
.process-experience.is-interactive .process-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-bottom:1px solid var(--dark-line)}
.process-tabs button{cursor:pointer;text-align:left;border:0;color:#b9c1bc;background:none;padding:1.25rem .7rem 1.25rem 0;position:relative;font-size:1rem;transition:color .3s}
.process-tabs button>span{display:block;font-size:.75rem;letter-spacing:.08em;margin-bottom:.65rem;color:var(--rose-light)}
.process-tabs button:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--rose-light);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.process-tabs button[aria-selected="true"],.process-tabs button:hover{color:var(--paper)}.process-tabs button[aria-selected="true"]:after{transform:scaleX(1)}
.process-experience.is-interactive .stage-panels{min-height:330px}.process-experience.is-interactive .stage-panel{border:0;min-height:330px;padding:3rem 0 2rem;grid-template-columns:.65fr 1fr}.stage-panel[hidden]{display:none!important}
.process-experience.is-interactive .stage-controls{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--dark-line);padding-top:1.25rem}.stage-count{font-size:.8rem;letter-spacing:.13em;color:#bbc1bd;font-variant-numeric:tabular-nums}.stage-controls>div{display:flex;gap:.75rem}.stage-controls button{width:3rem;height:3rem;background:none;border:1px solid var(--dark-line);border-radius:50%;color:var(--paper);cursor:pointer;font-size:1.25rem;transition:background .25s,border-color .25s,transform .25s}.stage-controls button:hover{border-color:var(--rose-light);background:#363333;transform:translateX(2px)}.stage-controls button:disabled{opacity:.3;cursor:default;transform:none}
.assessment .split{grid-template-columns:1.2fr .8fr}.assessment-grid{grid-template-columns:1fr 1fr;column-gap:6%;row-gap:0;margin-top:4rem;counter-reset:criteria}.assessment-item{display:grid;grid-template-columns:4rem 1fr;column-gap:1.5rem;padding:2rem 0 2.5rem;counter-increment:criteria}.assessment-item:before{content:"0" counter(criteria);font-size:2.4rem;color:var(--rose);letter-spacing:-.04em;grid-column:1;grid-row:1/3;line-height:1.2}.assessment-stroke{display:none}.assessment-item h3{grid-column:2;font-size:1.5rem}.assessment-item p{grid-column:2;max-width:28rem}.assessment-item:nth-child(2n){transform:translateY(2rem)}
.terms-heading{align-items:end}.fee{padding-top:3rem;margin-top:3.5rem}.fee .fee-figure{font-size:clamp(4rem,13vw,13.5rem);letter-spacing:-.065em}.fee>p:last-child{padding-left:.3rem}
.leadership .split{align-items:end}.directors-grid{max-width:none;gap:8%;padding-bottom:5rem}.director:nth-child(2){margin-top:5rem}.director:nth-child(2)[data-reveal="waiting"]{transform:translateY(18px)}.portrait-placeholder{aspect-ratio:1.1/1}.portrait-mark{height:6rem;transition:transform .9s cubic-bezier(.2,.8,.2,1),background .9s}.director:hover .portrait-mark{transform:translate(-50%,-50%) rotate(34deg) scale(1.12);background:var(--rose)}.director figcaption{border-bottom:1px solid var(--line);padding-bottom:1.5rem}.confidentiality{margin-top:0}
.contact-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:6%;align-items:end}.contact-heading>p{font-size:clamp(1.5rem,2.3vw,2.8rem);padding-bottom:.3rem}.contact-lower>h3{font-size:clamp(1.4rem,2.3vw,2.5rem)}



@keyframes stageEnter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.is-interactive .stage-panel:not([hidden]){animation:stageEnter .55s cubic-bezier(.2,.8,.2,1) both}}
@media(max-width:1000px){.hero-grid{gap:1.5rem 3%;grid-template-columns:1.35fr 1fr}h1{font-size:7.5vw}.hero-aside p{font-size:1rem}.process-intro{align-items:start}.process-intro h2{font-size:4.5vw}.process-tabs button{font-size:.875rem}.director figcaption{display:block}.directors-grid{gap:5%}}
@media(max-width:700px){.site-header{height:92px}.hero{min-height:calc(100svh - 92px)}.hero-eyebrow{align-items:flex-start;gap:1rem}.hero-location{display:block;max-width:11rem;text-align:right;font-size:.625rem;letter-spacing:.08em;line-height:1.7}.hero-eyebrow>.eyebrow{font-size:.625rem;letter-spacing:.08em;line-height:1.7;max-width:8rem}.hero-grid{display:block;padding:4.5rem 0 2.5rem}.hero h1{font-size:clamp(3rem,10.4vw,5.8rem);max-width:100%;line-height:1.05;letter-spacing:-.045em}.hero-aside{padding-top:2.5rem;max-width:23rem}.hero-aside p{font-size:1.0625rem;max-width:22rem}.hero-footer{margin-top:auto}.approach .split,.assessment .split{grid-template-columns:1fr}.approach h2{font-size:clamp(2.4rem,8vw,3.3rem)}.brief{grid-template-columns:1fr 1fr;margin-top:3rem;gap:2rem}.brief-detail{padding:0;border:0}.process{padding-top:4.5rem;padding-bottom:4.5rem}.process-layout{gap:2rem}.process-intro{display:block}.process-intro h2{font-size:clamp(2.4rem,8vw,3.3rem)}.process-intro>p{margin-top:1.5rem;font-size:1rem}.process-experience.is-interactive .process-tabs{grid-template-columns:repeat(3,1fr);border:0;gap:0 1rem}.process-tabs button{padding:1rem 0;border-bottom:1px solid var(--dark-line)}.process-tabs button>span{margin-bottom:.25rem}.process-experience.is-interactive .stage-panels{min-height:345px}.process-experience.is-interactive .stage-panel,.stage-panel{grid-template-columns:1fr;gap:1.25rem;min-height:345px;padding:2rem 0}.stage-figure{font-size:5rem;letter-spacing:-.07em}.stage-panel h3{font-size:2rem;margin-bottom:.75rem}.stage-panel p{font-size:1rem}.stage-panel>div{align-self:start}.assessment-grid{grid-template-columns:1fr;margin-top:2.5rem}.assessment-item{padding:1.5rem 0;grid-template-columns:2.5rem 1fr;gap:0 1rem}.assessment-item:before{font-size:1.75rem}.assessment-item h3{font-size:1.3rem;margin-bottom:.6rem}.assessment-item:nth-child(2n){transform:none}.fee{padding-top:1.5rem}.fee .fee-figure{font-size:10.3vw}.directors-grid{gap:1.5rem;padding-bottom:2rem;grid-template-columns:1fr 1fr}.director:nth-child(2){margin-top:3rem}.portrait-placeholder{aspect-ratio:1/1.35}.portrait-mark{height:3.5rem}.director figcaption{padding-top:1rem}.director h3{font-size:1.12rem}.contact-heading{grid-template-columns:1fr;gap:1rem}.contact-heading>p{margin:0}.contact-heading h2{font-size:clamp(3.6rem,13.4vw,6rem)}}
@media(max-width:360px){.directors-grid{grid-template-columns:1fr}.director:nth-child(2){margin-top:0}.portrait-placeholder{aspect-ratio:1/1}.hero h1{font-size:10.2vw}.hero-location{max-width:10rem}}
@media(prefers-reduced-motion:reduce){.reveal[data-reveal="waiting"]{opacity:1;transform:none}}
@media print{.hero-art,.process-tabs,.stage-controls{display:none!important}.stage-panel[hidden]{display:grid!important}.stage-panel{break-inside:avoid}.directors-grid{padding-bottom:0}.director:nth-child(2){margin-top:0}.stage-figure{color:#ad3565}.stage-panel p{color:#202323}.hero-grid{display:block}.hero h1{font-size:48pt}}

/* Focused hero layout: a single headline/CTA group and an aligned introduction. */
.hero-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);grid-template-rows:auto;align-items:center;gap:8%;padding:clamp(4rem,9vh,7rem) 0}
.hero-primary{grid-column:1;min-width:0}
.hero-primary h1{grid-column:auto;grid-row:auto}
.hero-consultation{margin-top:2.25rem}
.hero-aside{grid-column:2;grid-row:1;justify-self:start;align-self:center;max-width:24rem;padding:0;border-top:1px solid var(--dark-line);padding-top:1.75rem}
.hero-aside p{font-size:clamp(1.125rem,1.45vw,1.5rem);line-height:1.6;margin:0;max-width:24rem}
.process-intro>p{color:var(--rose-light)}
.assessment .section-copy .lead{color:var(--rose)}
@media(max-width:900px){.hero-grid{gap:6%;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.hero-aside p{font-size:1.125rem}}
@media(max-width:700px){.hero-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;padding:3.75rem 0 3rem}.hero-primary,.hero-aside{grid-column:1;grid-row:auto}.hero-consultation{margin-top:1.5rem}.hero-aside{width:100%;max-width:25rem;padding-top:1.5rem}.hero-aside p{font-size:1.0625rem}.hero-footer{margin-top:auto}}
@media print{.hero-grid{display:block}.hero-aside{margin-top:2rem}}

/* A compact assessment note supports the process without repeating the profile. */
.assessment-summary{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:4rem var(--gutter);background:#fff;align-items:center}
.assessment-summary p{max-width:35rem;font-size:1rem;line-height:1.65;color:var(--muted)}
.assessment-summary .assessment-summary-lead{color:var(--rose);font-size:clamp(1.4rem,2vw,2rem);line-height:1.35;letter-spacing:-.02em}
@media(min-width:1800px){.assessment-summary{padding-left:max(var(--gutter),calc((100vw - 1650px)/2));padding-right:max(var(--gutter),calc((100vw - 1650px)/2))}}
@media(max-width:700px){.assessment-summary{grid-template-columns:1fr;gap:1.25rem;padding:3rem var(--gutter)}}

/* Headline and right-hand action, followed by a full-width proposition strip. */
.hero-action{grid-column:2;justify-self:center;align-self:center}
.consultation-button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;padding:1.25rem 1.75rem;border:1px solid var(--rose-light);color:var(--rose-light);font-size:1rem;line-height:1.5;transition:background .3s,color .3s}
.consultation-button span{display:inline-block;transition:transform .3s}
.consultation-button:hover{background:var(--rose-light);color:var(--ink)}
.consultation-button:hover span{transform:translate(3px,-3px)}
.hero-summary{padding-top:3rem;padding-bottom:3rem}
.hero-summary>p:last-child{font-size:1.125rem}
@media(max-width:700px){.hero-action{grid-column:1;justify-self:start;align-self:start}.hero-grid{align-content:center;gap:2.5rem}.consultation-button{padding:1rem 1.5rem}.hero-summary>p:last-child{font-size:1rem}}

/* Fine-line motion around the consultation action. */
.hero-action{position:relative;isolation:isolate;width:100%;min-height:360px;display:grid;place-items:center;justify-self:stretch}
.consultation-lines{position:absolute;inset:50% auto auto 50%;width:calc(100% + 110px);max-width:600px;height:auto;transform:translate(-50%,-50%);overflow:visible;pointer-events:none;z-index:-1}
.flow-line{stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:620 380}
.flow-pink{stroke:var(--rose-light);opacity:.9}.flow-white{stroke:#fff;opacity:.55}.flow-paper{stroke:var(--paper);opacity:.4}
.hero-action .consultation-button{position:relative;background:var(--ink);z-index:1}
.hero-action .consultation-button:hover{background:var(--rose-light)}
@keyframes consultationFlow{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:no-preference){.flow-pink{animation:consultationFlow 13s linear infinite}.flow-white{animation:consultationFlow 17s linear -6s infinite}.flow-paper{animation:consultationFlow 19s linear -11s infinite}}
.hero.is-outside .flow-line{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.flow-line{stroke-dasharray:none;opacity:.25}}
/* Align the opening label and copy at the top; their closing lines at the bottom. */
.approach{padding-top:3.75rem}
.approach-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:6%;align-items:stretch}
.approach-heading{display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
.approach-heading .section-label{margin:0;padding-top:.3rem}
.approach-heading h2{margin-bottom:-.10em}
.approach-intro .section-copy p:last-child{margin-bottom:0}
/* A composed three-line statement, placed closer to the process heading. */
.process-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:6%;align-items:start}
.process-intro .process-promise{margin:-.3rem 0 0;max-width:none;line-height:1.15}
.process-promise span{display:block}
.process-promise span:first-child{font-size:clamp(2.5rem,4.1vw,4.3rem);letter-spacing:-.045em;color:var(--rose-light);margin-bottom:.5rem}
.process-promise span:nth-child(2){font-size:clamp(1.35rem,2.1vw,2.2rem);letter-spacing:-.02em;color:#fff}
.process-promise span:last-child{font-size:clamp(1.1rem,1.55vw,1.6rem);color:var(--paper);margin-top:.35rem}
@media(max-width:900px){.hero-action{min-height:310px}.consultation-lines{width:calc(100% + 65px)}.approach-intro{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
@media(max-width:700px){.hero-action{min-height:240px;justify-self:stretch;align-self:center}.consultation-lines{width:calc(100% + 35px)}.hero-grid{gap:1rem;padding-bottom:1rem}.approach{padding-top:2.25rem}.approach-intro{grid-template-columns:1fr;gap:2rem}.approach-heading{gap:2rem}.approach-heading h2{margin:0}.process-intro{grid-template-columns:1fr;gap:2rem}.process-intro .process-promise{margin:0;border-left:1px solid var(--rose-light);padding-left:1.5rem}.process-promise span:first-child{font-size:2.7rem}.process-promise span:nth-child(2){font-size:1.5rem}.process-promise span:last-child{font-size:1.125rem}}
@media print{.consultation-lines{display:none}.hero-action{min-height:0}.approach-intro{display:block}.approach-intro .section-copy{margin-top:2rem}}

/* A broad search resolves into three considered candidates. Desktop only. */
.shortlist-motion{display:none}
@media screen and (min-width:701px){
  .approach-heading{gap:1.25rem}
  .shortlist-motion{display:block;position:relative;width:224px;height:62px;flex-shrink:0;pointer-events:none}
  .shortlist-motion i{position:absolute;left:0;top:0;width:2px;height:13px;background:var(--muted);opacity:.28;transform:translate(var(--x),var(--y))}
  .shortlist-motion i.selected{background:var(--rose);opacity:.8;transform:translate(var(--end),22px)}
}
@media screen and (min-width:701px) and (prefers-reduced-motion:no-preference){
  .shortlist-motion i{animation:searchField 9s ease-in-out infinite}
  .shortlist-motion i.selected{animation:shortlistResolve 9s cubic-bezier(.4,0,.2,1) infinite}
  .shortlist-motion[data-reveal="waiting"] i{animation-play-state:paused}
}
@keyframes searchField{
  0%,12%,95%,100%{opacity:.28;transform:translate(var(--x),var(--y))}
  40%,78%{opacity:0;transform:translate(calc(var(--x) + 8px),var(--y))}
}
@keyframes shortlistResolve{
  0%,12%,95%,100%{opacity:.28;background:var(--muted);transform:translate(var(--x),var(--y))}
  45%,75%{opacity:.85;background:var(--rose);transform:translate(var(--end),22px)}
}
@media screen and (min-width:701px) and (prefers-reduced-motion:reduce){.shortlist-motion i:not(.selected){display:none}}

/* Phone layout only. Desktop styles above remain unchanged. */
@media screen and (max-width:700px){
  :root{--gutter:1.25rem}
  html{scroll-padding-top:6rem}
  .site-header{height:76px;position:sticky;top:0;border-bottom:1px solid var(--dark-line)}
  .site-header .wordmark-main{font-size:1.85rem}
  .site-header .wordmark-sub{font-size:.56rem}
  .menu-toggle{min-width:80px;min-height:44px;align-items:center;justify-content:flex-end;gap:1rem;font-size:1rem}
  .site-header nav{top:100%;padding:.75rem var(--gutter) 1.25rem;max-height:calc(100dvh - 76px);overflow-y:auto;gap:0}
  .site-header nav>a{display:block;width:100%;padding:1rem 0;min-height:52px;font-size:1rem;border-bottom:1px solid var(--dark-line)}
  .site-header nav>.nav-cta{margin:0;color:var(--rose-light)}
  .hero{min-height:0;max-height:none;overflow:hidden}
  .hero-eyebrow{display:flex;flex-direction:column;gap:.3rem;border:0;padding-top:1.5rem}
  .hero-eyebrow>.eyebrow,.hero-location{font-size:.75rem;line-height:1.5;letter-spacing:.07em;max-width:none;text-align:left}
  .hero-location{color:#bbc1bd}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);flex:none;align-content:start;padding:2.25rem 0 1.75rem;gap:1.75rem}
  .hero h1{font-size:clamp(2.25rem,10.6vw,3.25rem);line-height:1.06;letter-spacing:-.04em;overflow-wrap:anywhere}
  .hero-action{min-height:0;display:block;width:100%;grid-column:1}
  .consultation-lines{display:none}
  .hero-action .consultation-button{display:flex;width:100%;min-height:54px;padding:.9rem 1.1rem;background:var(--rose-light);color:var(--ink);font-size:1rem;gap:1rem}
  .hero-footer{margin:0;padding:1rem 0;gap:1.25rem;align-items:center;font-size:.875rem}
  .hero-footer>span{max-width:10rem;line-height:1.4}
  .hero-footer>a{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;min-height:44px;max-width:10rem;font-size:.875rem;line-height:1.4;text-align:right}
  .hero-footer>a span{font-size:1rem;flex-shrink:0;margin:0}
  .section{padding:3rem var(--gutter)}
  .section-label{font-size:.75rem;line-height:1.5;letter-spacing:.1em;gap:1rem;margin-bottom:1.5rem}
  .approach{padding-top:2.75rem}
  .approach-intro{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .approach-heading{gap:1.5rem}
  .approach-heading .section-label{padding:0}
  .approach h2,.process-intro h2{font-size:clamp(2rem,8.5vw,2.5rem);line-height:1.1;letter-spacing:-.035em;overflow-wrap:anywhere}
  .section-copy{max-width:none}
  .section-copy p{font-size:1rem;line-height:1.6;margin-bottom:1rem}
  .section-copy .lead{font-size:1.125rem;line-height:1.5}
  .brief{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-top:2rem;padding-top:1.5rem}
  .brief>div:first-child{grid-column:1}
  .brief h3{font-size:1.5rem;line-height:1.2;margin:1rem 0 .75rem}
  .brief p{font-size:1rem;line-height:1.6;max-width:none}
  .brief-detail{border:0;border-top:1px solid var(--line);padding:1rem 0 0}
  .brief h4{font-size:1.0625rem;font-weight:500;margin:0 0 .5rem}
  .assessment-summary{padding:2rem var(--gutter);grid-template-columns:minmax(0,1fr);gap:.9rem}
  .assessment-summary .assessment-summary-lead{font-size:1.25rem;line-height:1.4;letter-spacing:-.015em}
  .assessment-summary p,.hero-summary>p:last-child{font-size:1rem;line-height:1.6}
  .process-layout{grid-template-columns:minmax(0,1fr);gap:1.75rem}
  .process-intro{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .process-intro .process-promise{padding-left:1rem;margin:0;line-height:1.5}
  .process-promise span:first-child{font-size:1.75rem;line-height:1.15;margin:0 0 .5rem;letter-spacing:-.025em}
  .process-promise span:nth-child(2),.process-promise span:last-child{display:inline;font-size:1rem;line-height:1.5;letter-spacing:0;margin:0}
  .process-experience{min-width:0}
  .process-experience.is-interactive .process-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 .75rem}
  .process-tabs button{min-height:70px;font-size:.875rem;line-height:1.3;padding:.8rem 0;overflow-wrap:anywhere}
  .process-tabs button>span{font-size:.75rem;line-height:1.4;margin-bottom:.35rem}
  .process-experience.is-interactive .stage-panels{min-height:232px}
  .process-experience.is-interactive .stage-panel,.stage-panel{grid-template-columns:3.25rem minmax(0,1fr);gap:1rem;align-items:start;min-height:232px;padding:1.75rem 0 1.25rem}
  .stage-figure{font-size:3rem;line-height:1;letter-spacing:-.07em}
  .stage-panel h3{font-size:1.625rem;line-height:1.2;letter-spacing:-.025em;margin-bottom:.75rem;overflow-wrap:anywhere}
  .stage-panel p{font-size:1rem;line-height:1.55;max-width:none}
  .process-experience.is-interactive .stage-controls{padding-top:1rem}
  .stage-controls button{width:48px;height:48px}
  .stage-count{font-size:.8125rem}
  .contact-heading{grid-template-columns:minmax(0,1fr);gap:1rem}
  .contact-heading h2{font-size:clamp(2.5rem,10vw,3.25rem);line-height:1.06;letter-spacing:-.04em}
  .contact-heading>p{font-size:1.125rem;line-height:1.5;padding:0;margin:0}
  .contact-lower{grid-template-columns:minmax(0,1fr);margin-top:1.75rem;padding-top:1.5rem;gap:1.5rem}
  .contact-lower>h3{font-size:1.3rem;line-height:1.35}
  .contact-details>div{grid-template-columns:minmax(0,1fr);gap:.35rem;padding-bottom:1.25rem}
  .contact-details dt{font-size:.75rem;line-height:1.5;padding:0}
  .contact-details dd{font-size:1rem;line-height:1.5}
  .contact-details>div:last-child{padding-bottom:0}
  .site-footer{grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;padding:1.5rem var(--gutter)}
  .back-top{font-size:.875rem;min-height:44px;gap:.75rem}
  .site-footer p,.site-footer p span{font-size:.875rem;line-height:1.6}
  .reveal{transition-duration:.35s}
  .reveal[data-reveal="waiting"]{transform:translateY(8px)}
}

/* Real contact details remain usable on narrow screens. */
.contact-details dd{min-width:0}
.contact-details dd a{overflow-wrap:anywhere;text-underline-offset:.22em}
.contact-details dd a:hover{text-decoration:underline}
