
:root{--paper:#f2efe7;--ink:#242321;--muted:#5f5b55;--accent:#8a5a44;--line:#cfc8bc;--display:Georgia,"Times New Roman",serif;--body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.68}a{color:inherit;text-decoration:none}button,input{font:inherit}.wrap{width:min(1280px,calc(100% - 64px));margin:auto}
nav{position:sticky;top:0;z-index:40;background:rgba(242,239,231,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:10px;align-items:baseline;white-space:nowrap}.brand strong{letter-spacing:.08em}.brand span{color:var(--muted);font-size:.9rem}.navlinks{display:flex;align-items:center;gap:24px;font-size:.91rem}.navlinks a.active,.navlinks a:hover{color:var(--accent)}.lang-switch{display:flex;gap:2px;border-left:1px solid var(--line);padding-left:12px}.lang-switch button,.read-page{border:0;background:none;cursor:pointer;color:var(--muted);padding:7px}.lang-switch button.active{color:var(--accent);font-weight:800}.menu-toggle{display:none;border:0;background:none}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}
main{min-height:75vh}.lang-pane{display:none}.lang-pane.active{display:block}[data-lang-text]{display:none}[data-lang-text].active{display:inline}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.06;margin:0}h1{font-size:clamp(3.4rem,6.3vw,6.8rem);letter-spacing:-.045em}h2{font-size:clamp(2.2rem,4.1vw,4.8rem);letter-spacing:-.025em}h3{font-size:clamp(1.45rem,2.2vw,2.35rem)}p{margin:0 0 1.15em}.lead,.hero p,.editorial-hero-copy p{font-family:var(--display);font-size:clamp(1.22rem,1.65vw,1.62rem);line-height:1.65;color:#514d47;max-width:760px}
section{padding:112px 0}.lang-pane>section+section,.lang-pane>div+section,.lang-pane>section+div{border-top:1px solid var(--line)}.home-hero,.page-hero{border-top:0}.hero,.editorial-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:8vw;align-items:center;min-height:calc(100vh - 76px);padding:70px 0}.hero-copy,.editorial-hero-copy{max-width:790px}.editorial-hero-copy .lead{margin-top:36px}.editorial-hero-copy h1+*{margin-top:38px}.portrait,.portrait-stage img,.editorial-hero-visual img,.image-free img,.image-stage img{display:block;max-width:100%;width:auto;height:auto;max-height:680px;object-fit:contain;object-position:center;margin:auto}.portrait,.portrait-stage img{max-height:720px}.image-free,.image-stage,.editorial-hero-visual{display:flex;align-items:center;justify-content:center;background:transparent;overflow:visible;min-height:380px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;border:1px solid var(--ink);border-radius:999px;padding:13px 21px;font-weight:700}.btn.primary{background:var(--ink);color:#fff}.meta{font-size:.94rem!important;color:var(--muted)!important;margin-top:30px}.kicker,.tag,.step,.ask-topic{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:16px}
.generous-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6vw}.home-intro{padding:20px 0}.home-intro h2{font-size:clamp(1.8rem,2.6vw,2.8rem);margin-bottom:20px}.home-intro p,.long-copy p,.readable p,.slide-copy p,.summary-view p,.answer-copy p{font-size:1.12rem;line-height:1.82;color:#46433f}.feature-spread,.portfolio-spread,.contact-layout,.two-col{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);gap:8vw;align-items:center;padding:40px 0}.portfolio-spread:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr)}.portfolio-spread:nth-child(even) .image-free{order:2}.text-band{background:transparent}.readable,.long-copy{max-width:850px}.readable h2,.section-title{margin-bottom:34px}.hand-note{font-family:"Bradley Hand","Segoe Print","Comic Sans MS",cursive;color:var(--accent);font-size:1.35rem;line-height:1.35;transform:rotate(-1.3deg);margin-top:28px;display:inline-block;position:relative}.hand-note:after{content:"";position:absolute;left:4%;right:5%;bottom:-8px;border-bottom:1.5px solid var(--accent);transform:rotate(-2deg)}
.carousel{position:relative;padding:0 78px}.carousel-track{position:relative;min-height:670px}.carousel-slide{display:none}.carousel-slide.active{display:grid}.principle-slide,.case-slide,.stage-carousel .carousel-slide{grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr);gap:8vw;align-items:center;padding:30px 0;min-height:650px;background:transparent;border:0}.slide-copy{max-width:680px}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:1px solid var(--ink);background:var(--paper);font-size:1.45rem;cursor:pointer;z-index:3}.carousel-arrow.prev{left:0}.carousel-arrow.next{right:0}.carousel-dots{display:flex;gap:10px;justify-content:center;margin-top:24px}.carousel-dots button{width:9px;height:9px;border-radius:50%;border:0;background:#bdb5aa;padding:0}.carousel-dots button.active{background:var(--accent)}
.case-tabs,.view-toggle,.topic-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 48px}.case-tabs button,.view-toggle button,.topic-tabs button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:11px 17px;cursor:pointer}.case-tabs button.active,.view-toggle button.active,.topic-tabs button.active{background:var(--ink);color:#fff}.case-stage{display:none;padding:0;border:0}.case-stage.active{display:block}.summary-view{max-width:900px;padding:70px 0;background:transparent;border:0;min-height:380px}.full-view .carousel-track{min-height:700px}.key-learnings{max-width:850px;margin:90px auto}.key-learnings li{margin:14px 0;font-size:1.08rem}
.timeline-list{max-width:920px;margin:60px 0}.timeline-item{display:grid;grid-template-columns:70px 1fr;column-gap:34px;padding:40px 0;border-top:1px solid var(--line)}.timeline-item>span{font-size:1.45rem;color:var(--accent)}.timeline-item h3,.timeline-item p{grid-column:2}.skills-copy{max-width:900px;margin-top:90px}.skills-copy h3{margin-top:38px}.work-list{display:grid;gap:0}.work-row{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);gap:8vw;align-items:center;padding:78px 0;border-top:1px solid var(--line)}
.ask-search{position:relative;max-width:790px;margin:42px 0}.ask-search input{width:100%;font-size:1.16rem;padding:18px 4px;border:0;border-bottom:2px solid var(--accent);background:transparent}.suggestions,.ask-suggestions{display:grid;gap:4px;margin-top:10px}.suggestions button,.ask-suggestions button,.ask-question-list button,.next-questions button{background:transparent;border:0;text-align:left;padding:12px 0;cursor:pointer;color:#444}.topic-doors{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 6vw;margin:58px 0}.topic-doors button{background:transparent;border:0;text-align:left;padding:25px 0;cursor:pointer;border-top:1px solid var(--line)}.topic-doors strong{display:block;font-family:var(--display);font-size:1.9rem}.topic-doors span{display:block;color:#666;margin-top:8px}.ask-workspace:not([hidden]){display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;margin-top:70px}.ask-question-list{display:flex;flex-direction:column}.ask-answer{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:55px;background:transparent;border:0;padding:0;min-height:600px}.read-answer{margin-top:25px;border:0;background:transparent;text-decoration:underline;cursor:pointer}.next-questions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.next-questions button{border-bottom:1px solid var(--line)}
.contact-grid,.cv-options{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:50px}.contact-card{background:transparent;border:0;padding:0}.download-link{display:block;border-top:1px solid var(--line);padding:16px 0;color:var(--accent);font-weight:700}.contact-card hr{border:0;border-top:1px solid var(--line);margin:26px 0}footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:20px}
@media(max-width:900px){.wrap{width:min(100% - 36px,1280px)}.menu-toggle{display:block}.nav-inner{flex-wrap:wrap;padding:12px 0}.navlinks{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}.navlinks.open{display:flex}.navlinks a{padding:11px 0;border-top:1px solid var(--line)}.lang-switch{border-left:0;padding:8px 0}.hero,.editorial-hero,.generous-grid,.feature-spread,.portfolio-spread,.portfolio-spread:nth-child(even),.contact-layout,.two-col,.principle-slide,.case-slide,.stage-carousel .carousel-slide,.work-row,.ask-workspace:not([hidden]),.ask-answer,.contact-grid,.cv-options{grid-template-columns:1fr}.hero,.editorial-hero{min-height:auto;padding:70px 0}.portfolio-spread:nth-child(even) .image-free{order:0}.image-free,.image-stage,.editorial-hero-visual{min-height:260px}.carousel{padding:0 54px}.carousel-track{min-height:840px}.topic-doors{grid-template-columns:1fr}.brand span{font-size:.78rem}}
@media(max-width:560px){.wrap{width:min(100% - 24px,1280px)}section{padding:72px 0}h1{font-size:3.2rem}.brand{flex-direction:column;gap:0;align-items:flex-start}.carousel{padding:0}.carousel-arrow{top:auto;bottom:-64px}.carousel-arrow.prev{left:30%}.carousel-arrow.next{right:30%}.carousel-dots{margin-top:76px}.footer-inner{flex-direction:column}.hero,.editorial-hero{gap:30px}.editorial-hero-copy h1+*{margin-top:24px}}

/* Mapping and image integrity pass */
.feature-spread-text-only{display:block;max-width:900px;margin-inline:auto}
.image-free img,.editorial-hero-visual img,.carousel-slide img,.portrait{width:100%;height:auto;max-width:100%;object-fit:contain!important;object-position:center!important}
.ask-answer .image-free img{max-height:520px}


/* Individual illustration restoration */
.block-illustration{float:right;width:min(38vw,430px);margin:0 0 3rem 4rem}
.block-illustration img,.timeline-illustration img,.contact-secondary-visual img,.cv-illustration img{width:100%;height:auto;object-fit:contain;display:block}
.timeline-item{display:grid;grid-template-columns:minmax(120px,220px) 1fr;column-gap:2.5rem;align-items:start}
.timeline-item>span{grid-column:1/-1}
.timeline-item .timeline-illustration{grid-column:1;grid-row:2/span 8;margin:0}
.timeline-item h3,.timeline-item p{grid-column:2}
.contact-secondary-visual{width:min(38vw,420px);float:right;margin:0 0 3rem 4rem}
.cv-illustration{width:min(28vw,320px);margin:0 0 2rem auto}
.carousel-slide .slide-visual{max-width:42%;margin:0 auto 1.5rem}
@media(max-width:800px){.block-illustration,.contact-secondary-visual{float:none;width:min(100%,420px);margin:0 auto 2.5rem}.timeline-item{grid-template-columns:1fr}.timeline-item .timeline-illustration,.timeline-item h3,.timeline-item p{grid-column:1}.timeline-item .timeline-illustration{grid-row:auto;width:min(100%,320px);margin:0 auto 1.5rem}.carousel-slide .slide-visual{max-width:78%}.cv-illustration{width:min(100%,300px);margin:0 auto 2rem}}

/* Final freestanding illustration treatment */
.image-free,.image-stage,.editorial-hero-visual,.block-illustration,.timeline-illustration,.contact-secondary-visual,.cv-illustration{background:transparent!important;overflow:visible!important}
.image-free img,.image-stage img,.editorial-hero-visual img,.carousel-slide img,.block-illustration img,.timeline-illustration img,.contact-secondary-visual img,.cv-illustration img,.portrait{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:min(68vh,720px)!important;object-fit:contain!important;object-position:center!important;mix-blend-mode:normal!important;background:transparent!important;margin-inline:auto}

/* Illustration background harmonisation */
.image-free img,
.image-stage img,
.editorial-hero-visual img,
.carousel-slide img,
.block-illustration img,
.timeline-illustration img,
.contact-secondary-visual img,
.cv-illustration img,
.portrait {
  mix-blend-mode: multiply !important;
  background: transparent !important;
}

/* Ask Det — clear search field and question stage */
.ask-search input {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-bottom: 2px solid var(--accent) !important;
  border-radius: 8px;
  padding: 17px 18px !important;
  box-shadow: 0 2px 10px rgba(36,35,33,.04);
}
.ask-search input:focus {
  outline: 2px solid rgba(138,90,68,.22);
  outline-offset: 2px;
}

.ask-workspace:not([hidden]) {
  display: grid;
  grid-template-columns: minmax(250px,.62fr) minmax(0,1.38fr);
  gap: clamp(42px,6vw,96px);
  align-items: start;
  margin-top: 76px;
  padding-top: 64px;
  border-top: 1px solid var(--line);
}
.ask-question-list {
  position: sticky;
  top: 112px;
  min-height: 360px;
  display: grid !important;
  grid-template-rows: auto 1fr auto;
  gap: 22px;
  padding: 28px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.36);
}
.ask-question-stage-label {
  font-size: .76rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 800;
}
.ask-question-card {
  align-self: center;
  font-family: var(--display);
  font-size: clamp(1.5rem,2.25vw,2.35rem);
  line-height: 1.18;
  color: var(--ink);
}
.ask-question-controls {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
  gap: 12px;
}
.ask-question-controls button {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid var(--ink);
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  font-size: 1.35rem;
  line-height: 1;
  padding: 0;
  text-align: center;
}
.ask-question-counter {
  text-align: center;
  color: var(--muted);
  font-size: .92rem;
}
.ask-answer {
  display: grid !important;
  grid-template-columns: minmax(0,1.08fr) minmax(250px,.92fr) !important;
  gap: clamp(36px,5vw,72px) !important;
  align-items: center;
  min-height: 540px !important;
}
.ask-answer > .image-free {
  grid-column: 2;
  grid-row: 1;
  min-height: 360px;
}
.ask-answer > div:last-child {
  grid-column: 1;
  grid-row: 1;
}
.ask-answer h2 {
  font-size: clamp(2.2rem,3.6vw,4.1rem);
  margin-bottom: 28px;
}
.ask-answer .answer-copy p {
  font-size: 1.08rem;
  line-height: 1.82;
}
.ask-answer .image-free img {
  max-height: 500px !important;
}

@media(max-width:900px){
  .ask-workspace:not([hidden]){grid-template-columns:1fr;}
  .ask-question-list{position:relative;top:auto;min-height:280px;}
  .ask-answer{grid-template-columns:1fr !important;}
  .ask-answer > .image-free,.ask-answer > div:last-child{grid-column:1;grid-row:auto;}
  .ask-answer > .image-free{order:2;min-height:280px;}
}


/* Rebuilt editorial layout — strict, predictable and distortion-safe */
:root{--paper:#f2efe7;--ink:#242321;--accent:#8a5a44;--line:#cec6ba}
body{overflow-x:hidden}
section{padding:clamp(80px,9vw,150px) 0}
.lang-pane>section+section{border-top:1px solid var(--line)}
.editorial-hero{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:clamp(52px,7vw,120px);align-items:center;min-height:calc(100vh - 76px)}
.editorial-hero-copy{min-width:0}.editorial-hero-visual{min-width:0}
.editorial-hero-visual img,.spread-visual img,.image-free img,.carousel-slide img{width:100%!important;height:auto!important;max-width:720px!important;max-height:680px!important;object-fit:contain!important;object-position:center!important;display:block;margin:auto;background:transparent!important;mix-blend-mode:normal!important}
.content-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:clamp(52px,7vw,120px);align-items:center}
.content-spread.reverse{grid-template-columns:minmax(380px,.9fr) minmax(0,1fr)}
.content-spread.reverse .spread-copy{order:2}.content-spread.reverse .spread-visual{order:1}
.spread-copy{min-width:0;max-width:820px}.spread-visual{min-width:0;display:flex;align-items:center;justify-content:center}
.spread-copy p{font-size:clamp(1.08rem,1.25vw,1.3rem);line-height:1.82;color:#46433f}

/* Cases */
.cases-content{padding-top:80px}.case-tabs{margin-top:0}
.case-stage{width:100%;min-width:0}.case-stage.active{display:block}
.summary-view{max-width:920px;padding:55px 0 90px}
.full-view{width:100%;min-width:0}
.full-view .carousel,.stage-carousel{width:100%;padding:0 74px}
.full-view .carousel-track{min-height:660px;width:100%}
.case-slide,.stage-carousel .carousel-slide{grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr)!important;gap:clamp(48px,6vw,96px)!important;align-items:center!important;min-height:630px!important;width:100%!important}
.case-slide .slide-copy{min-width:0;max-width:760px}.case-slide .slide-copy p{font-size:1.08rem;line-height:1.78}
.case-slide .image-free{min-width:0;min-height:420px}
.case-slide .image-free img{max-height:560px!important}
.carousel-arrow{background:var(--paper)!important}

/* Ask Det */
.ask-interactive{padding-top:78px}
.ask-search{max-width:850px;margin:0 0 34px}.ask-search input{background:#fff!important;border:1px solid #bfb6aa!important;border-bottom:3px solid var(--accent)!important;border-radius:10px!important;padding:20px 22px!important;box-shadow:0 4px 14px rgba(50,40,30,.04)}
.topic-tabs-compact{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 62px}.topic-tabs-compact button{border:1px solid var(--line);border-radius:999px;background:transparent;padding:10px 15px;cursor:pointer;text-align:left}.topic-tabs-compact strong{font-family:var(--body);font-size:.95rem}.topic-tabs-compact span{display:none}
.ask-workspace:not([hidden]){display:grid!important;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);gap:clamp(48px,6vw,90px);align-items:start;margin-top:0}
.ask-question-list{position:sticky;top:110px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;min-width:0}
.ask-question-stage-label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:24px}
.ask-question-card{font-family:var(--display);font-size:clamp(1.55rem,2.15vw,2.35rem);line-height:1.18;min-height:190px}
.ask-question-controls{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.ask-question-controls button{width:46px;height:46px;border-radius:50%;border:1px solid var(--ink);background:transparent;font-size:1.25rem;cursor:pointer}.ask-question-counter{color:#6a655e;font-size:.9rem}
.ask-answer{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr)!important;gap:clamp(42px,5vw,80px)!important;align-items:start;min-height:0!important;width:100%;min-width:0}
.ask-answer>div:not(.image-free){min-width:0}.ask-answer h2{font-size:clamp(2.25rem,4vw,4.4rem);margin-bottom:30px}.answer-copy p{font-size:1.1rem;line-height:1.78}.ask-answer .image-free{min-width:0;min-height:360px;align-self:start}.ask-answer .image-free img{max-height:520px!important}

/* Keep all text blocks readable */
.readable,.long-copy,.slide-copy,.summary-view,.spread-copy{overflow-wrap:normal;word-break:normal;hyphens:none}

@media(max-width:980px){
 .editorial-hero,.content-spread,.content-spread.reverse,.case-slide,.stage-carousel .carousel-slide,.ask-workspace:not([hidden]),.ask-answer{grid-template-columns:1fr!important}
 .content-spread.reverse .spread-copy,.content-spread.reverse .spread-visual{order:initial}
 .ask-question-list{position:relative;top:auto}.ask-question-card{min-height:0}
 .full-view .carousel,.stage-carousel{padding:0 58px}.case-slide .image-free{min-height:300px}
}
@media(max-width:620px){
 .full-view .carousel,.stage-carousel{padding:0}.case-slide{padding-bottom:80px}.carousel-arrow{bottom:-4px!important}
}


/* FINAL CORRECTIONS — navigation, case toggle, Ask Det block navigator */
.navlinks a{position:relative;padding:26px 0 23px;color:var(--ink)}
.navlinks a::after{content:"";position:absolute;left:0;right:0;bottom:13px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.navlinks a.active,.navlinks a[aria-current="page"]{color:var(--accent);font-weight:700}
.navlinks a.active::after,.navlinks a[aria-current="page"]::after{transform:scaleX(1)}

/* Portrait paper background is baked to the exact page colour; avoid a framed block. */
.hero>.portrait{background:var(--paper)!important;mix-blend-mode:normal!important;width:auto!important;max-width:100%!important}

/* Case selector remains; reading mode is now a true toggle beneath each case title. */
.view-toggle{display:none!important}
.case-summary-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);gap:clamp(48px,6vw,96px);align-items:center}
.case-summary-copy{min-width:0}.case-summary-visual{min-height:420px}
.case-summary-visual img{max-height:540px!important}
.case-mode-toggle{display:flex;align-items:center;gap:14px;margin:18px 0 38px;font-family:var(--body);font-size:.92rem;color:var(--muted)}
.case-mode-toggle .mode-label{transition:color .18s ease,font-weight .18s ease}.case-stage:not(.show-full) .summary-label,.case-stage.show-full .full-label{color:var(--ink);font-weight:750}
.switch{position:relative;display:inline-flex;width:58px;height:30px;flex:0 0 auto}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-slider{position:absolute;inset:0;border:1px solid var(--ink);border-radius:999px;background:transparent;cursor:pointer}.switch-slider::after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:var(--accent);transition:transform .2s ease}.switch input:checked+.switch-slider::after{transform:translateX(28px)}.switch input:focus-visible+.switch-slider{outline:3px solid rgba(138,90,68,.25);outline-offset:3px}
.full-view[hidden],.summary-view[hidden]{display:none!important}

/* Ask Det: left = one topic block and all its questions; arrows move between blocks. */
.ask-interactive .wrap{max-width:1380px}
.ask-workspace:not([hidden]){display:grid!important;grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr)!important;gap:clamp(52px,6vw,100px)!important;align-items:start;margin-top:56px!important;padding-top:64px;border-top:1px solid var(--line)}
.ask-question-list{position:sticky;top:108px;display:block!important;border:0!important;padding:0!important;background:transparent!important;min-height:0!important}
.ask-block-head{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:16px;align-items:start;padding-bottom:28px;border-bottom:1px solid var(--line)}
.ask-block-arrow{width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;background:transparent;font-size:1.3rem;cursor:pointer}.ask-block-arrow:hover{background:var(--ink);color:#fff}
.ask-block-title{text-align:center}.ask-block-title span{display:block;color:var(--accent);font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;margin-bottom:9px}.ask-block-title h2{font-size:clamp(1.7rem,2.4vw,2.7rem);line-height:1.1}
.ask-block-questions{display:grid;margin-top:10px}.ask-block-questions button{border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:17px 6px;font-size:1rem;line-height:1.35;color:#555;cursor:pointer}.ask-block-questions button:hover,.ask-block-questions button.active{color:var(--accent);font-weight:700;padding-left:14px}.ask-block-questions button.active{border-left:3px solid var(--accent)}
.ask-answer{grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr)!important;align-items:start!important}.ask-answer>.image-free{grid-column:2!important;grid-row:1!important;min-height:340px}.ask-answer>div:first-child{grid-column:1!important;grid-row:1!important}.ask-answer .image-free img{max-height:500px!important}

@media(max-width:980px){
 .case-summary-layout,.ask-workspace:not([hidden]),.ask-answer{grid-template-columns:1fr!important}
 .ask-question-list{position:relative;top:auto}.ask-answer>.image-free,.ask-answer>div:first-child{grid-column:1!important;grid-row:auto!important}.ask-answer>.image-free{margin-top:25px}
 .navlinks a{padding:12px 0}.navlinks a::after{bottom:5px}
}
@media(max-width:620px){.case-mode-toggle{align-items:flex-start;flex-wrap:wrap}.ask-block-head{grid-template-columns:42px minmax(0,1fr) 42px;gap:9px}.ask-block-arrow{width:40px;height:40px}}

/* CV page and image captions */
.cv-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:clamp(60px,7vw,120px);align-items:start}.cv-main>h2{margin:0 0 24px}.cv-main>h2:not(:first-child){margin-top:70px}.cv-profile{font-family:var(--display);font-size:clamp(1.35rem,1.8vw,1.8rem);line-height:1.55;color:#4a4640}.cv-role{display:grid;grid-template-columns:140px minmax(0,1fr);gap:28px;padding:28px 0;border-top:1px solid var(--line)}.cv-role:last-child{border-bottom:1px solid var(--line)}.cv-period{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:800}.cv-role h3{font-size:1.55rem;margin-bottom:3px}.cv-role h4{font-family:var(--body);font-size:.95rem;color:var(--muted);margin:0 0 11px}.cv-role p,.cv-side p,.cv-side li{font-size:1rem;line-height:1.7;color:#46433f}.cv-side{position:sticky;top:110px}.cv-side h3{font-family:var(--body);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:35px 0 14px}.cv-side ul{padding-left:18px}.cv-download-panel{padding:30px;border:1px solid var(--line);margin-bottom:40px}.cv-download-panel h2{font-size:2rem;margin-bottom:22px}.cv-download-panel .btn{display:block;text-align:center;margin-top:12px}.editorial-hero-visual,.image-free,.spread-visual{flex-direction:column}figure .hand-note,figcaption.hand-note{display:block;margin:18px auto 0;text-align:center;max-width:90%}
@media(max-width:980px){.cv-layout{grid-template-columns:1fr}.cv-side{position:relative;top:auto}.cv-role{grid-template-columns:1fr;gap:8px}}

/* Selected Work - continuous hand-drawn client logo ribbon */
.logo-ribbon-section{padding:34px 0 42px!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.logo-ribbon{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.logo-ribbon-track{display:flex;width:max-content;align-items:center;animation:logoRibbon 42s linear infinite;will-change:transform}
.logo-ribbon-track img{width:1400px;height:105px;object-fit:contain;flex:none;opacity:.88;mix-blend-mode:multiply}
.logo-ribbon:hover .logo-ribbon-track{animation-play-state:paused}
@keyframes logoRibbon{from{transform:translateX(0)}to{transform:translateX(-1400px)}}
@media(max-width:700px){.logo-ribbon-section{padding:22px 0 28px!important}.logo-ribbon-track img{width:1050px;height:82px}@keyframes logoRibbon{from{transform:translateX(0)}to{transform:translateX(-1050px)}}}
@media(prefers-reduced-motion:reduce){.logo-ribbon-track{animation:none}}

/* Selected Work — compact continuous brand ribbon */
.brand-ribbon-section{
  padding:0!important;
  margin:0;
  background:var(--ink);
  border:0;
  overflow:hidden;
}
.brand-ribbon{
  width:100%;
  overflow:hidden;
  padding:18px 0 17px;
  mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97.5%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97.5%,transparent);
}
.brand-ribbon-track{
  display:flex;
  width:max-content;
  align-items:center;
  animation:brandRibbon 52s linear infinite;
  will-change:transform;
}
.brand-ribbon-group{
  display:flex;
  align-items:center;
  gap:clamp(34px,4.2vw,78px);
  padding-right:clamp(34px,4.2vw,78px);
  flex:none;
}
.brand-ribbon-group span{
  color:var(--paper);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(.88rem,1.25vw,1.18rem);
  font-weight:750;
  letter-spacing:.035em;
  white-space:nowrap;
  opacity:.92;
}
.brand-ribbon:hover .brand-ribbon-track{animation-play-state:paused}
@keyframes brandRibbon{to{transform:translateX(-50%)}}
@media(max-width:700px){
  .brand-ribbon{padding:14px 0 13px}
  .brand-ribbon-group{gap:30px;padding-right:30px}
  .brand-ribbon-group span{font-size:.82rem}
}
@media(prefers-reduced-motion:reduce){.brand-ribbon-track{animation:none}}

/* Illustration captions */
.image-free,
.spread-visual,
.editorial-hero-visual,
.block-illustration,
.timeline-illustration,
.ask-keyvisual {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.image-caption,
.image-free > .hand-note,
.spread-visual > .hand-note,
.editorial-hero-visual > .hand-note,
.block-illustration > .hand-note,
.timeline-illustration > .hand-note {
  align-self: stretch;
  margin: 0.7rem auto 0;
  max-width: 92%;
  padding: 0;
  text-align: center;
  line-height: 1.25;
}
.slide-copy > .hand-note,
.long-copy > .hand-note,
.spread-copy > .hand-note {
  display: none !important;
}
.ask-keyvisual-caption {
  min-height: 1.5em;
}

.full-view > .case-mode-toggle{margin:0 0 2rem;justify-content:flex-start}
.case-mode-toggle{position:relative;z-index:3}

/* Ask Me embedded at the end of About */
.about-ask-section {
  border-top: 1px solid var(--line, #cfc5b8);
  padding-top: clamp(3rem, 7vw, 7rem);
  margin-top: clamp(3rem, 7vw, 7rem);
}
.about-ask-intro {
  margin-bottom: clamp(2rem, 4vw, 4rem);
}
.about-ask-intro h2 {
  margin: 0 0 .75rem;
}
.about-ask-intro p {
  max-width: 48rem;
  margin: 0;
}

/* Combined Cases and Selected Work page */
.combined-section-divider{margin:clamp(5rem,10vw,10rem) auto clamp(3rem,6vw,6rem);padding-top:clamp(3rem,6vw,6rem);border-top:1px solid var(--line,#cfc7bb);max-width:var(--wrap,1400px);}
.combined-section-divider h2{font-family:var(--display,Georgia,serif);font-size:clamp(3rem,7vw,7rem);line-height:.95;margin:0;}

/* Combined Work page */
.combined-selected-work { margin-top: clamp(5rem, 10vw, 10rem); }
.combined-selected-work > .section-divider { border-top: 1px solid var(--line, #d5ccbf); margin-bottom: clamp(4rem, 8vw, 8rem); }
.combined-selected-work .page-hero { min-height: auto; }


/* =========================================================
   DESIGN OPTIMIZATION PASS — based on supplied implementation guide
   ========================================================= */
:root{
  --paper:#f2efe7;
  --ink:#242321;
  --muted:#5f5b55;
  --accent:#8a5a44;
  --accent-dark:#6f4533;
  --line:#d8d1c6;
  --max:1240px;
  --space-1:1.25rem;
  --space-2:2.5rem;
  --space-3:3.75rem;
  --space-4:5rem;
  --space-5:7.5rem;
}
html{scroll-padding-top:84px}
body{font-size:16px;line-height:1.72;background:var(--paper);color:var(--ink)}
.wrap{width:min(var(--max),calc(100% - 64px))}
.skip-link{position:fixed;left:12px;top:12px;z-index:999;transform:translateY(-160%);background:var(--ink);color:#fff;padding:10px 14px;border-radius:4px}.skip-link:focus{transform:none}
nav{background:rgba(242,239,231,.92);border-bottom:1px solid rgba(36,35,33,.12);box-shadow:0 1px 0 rgba(255,255,255,.45)}
.nav-inner{min-height:72px;gap:28px}.navlinks{gap:clamp(22px,2.2vw,32px);font-size:.94rem}.navlinks a{padding:24px 0 21px}.navlinks a::after{bottom:12px;height:2px}.lang-switch button{min-width:44px;min-height:44px;border-radius:50%}.lang-switch button:hover,.lang-switch button:focus-visible{background:rgba(138,90,68,.10)}

h1{font-size:clamp(3rem,5vw,3.5rem);line-height:1.08;letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.14;letter-spacing:-.025em}
h3{font-size:clamp(1.45rem,2vw,1.75rem);line-height:1.22}
p{margin-bottom:1.1em}.lead,.hero p,.editorial-hero-copy p{font-size:clamp(1.12rem,1.45vw,1.35rem);line-height:1.72;max-width:700px}
section{padding:clamp(72px,8vw,112px) 0}.lang-pane>section+section,.lang-pane>div+section,.lang-pane>section+div{border-top:1px solid var(--line)}

/* Hero: fixed 60/40 balance, transparent portrait, aligned columns */
.hero,.editorial-hero{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:clamp(60px,6vw,80px);align-items:start;min-height:calc(100svh - 72px);padding:clamp(64px,9vh,104px) 0}
.hero-copy,.editorial-hero-copy{padding-top:clamp(12px,3vh,34px);max-width:760px}.hero p:first-of-type,.editorial-hero-copy .lead{margin-top:32px}.hero .meta{margin-top:26px;max-width:620px}
.hero>.portrait,.portrait,.editorial-hero-visual img{background:transparent!important;mix-blend-mode:normal!important;max-height:min(72svh,720px)!important;width:auto!important;height:auto!important;object-fit:contain!important}
.editorial-hero-visual,.image-free,.image-stage,.spread-visual{background:transparent!important;overflow:visible!important;min-height:320px}
.editorial-hero-visual img,.image-free img,.image-stage img,.spread-visual img,.carousel-slide img,.portrait{width:auto!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center!important}

/* Home summary: no nested section padding, balanced columns */
.home-sections{padding:0 0 var(--space-5)}.home-sections .generous-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,5vw,72px)}.home-intro{padding:var(--space-4) 0 0}.home-intro h2{font-size:clamp(1.65rem,2vw,2.05rem);margin-bottom:18px}.home-intro p{font-size:1rem;line-height:1.75}

/* Alternating editorial spreads: cardless, generous rhythm */
.content-spread,.feature-spread,.portfolio-spread,.work-row,.contact-layout,.two-col{grid-template-columns:minmax(0,1fr) minmax(340px,1fr);gap:clamp(60px,7vw,96px);align-items:center;padding:clamp(64px,7vw,96px) 0;background:none!important;border:0!important}
.content-spread+.content-spread,.portfolio-spread+.portfolio-spread,.work-row+.work-row{border-top:1px solid var(--line)}
.content-spread.reverse,.portfolio-spread:nth-child(even){grid-template-columns:minmax(340px,1fr) minmax(0,1fr)}
.readable,.long-copy,.slide-copy,.summary-view,.spread-copy{max-width:720px}.home-intro p,.long-copy p,.readable p,.slide-copy p,.summary-view p,.answer-copy p{font-size:1rem;line-height:1.78}
.hand-note,.image-caption{font-size:clamp(1rem,1.5vw,1.25rem);margin-top:16px;max-width:90%;text-align:center}

/* Principles: transparent full-stage carousel, 40/60 split */
.stage-carousel,.carousel{padding-inline:68px}.carousel-track{min-height:620px}.principle-slide,.case-slide,.stage-carousel .carousel-slide{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:clamp(60px,7vw,96px);min-height:600px;padding:48px 0;background:transparent!important;border:0!important}
.principle-slide:nth-child(even),.case-slide:nth-child(even){grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}
.principle-slide:nth-child(even) .image-free,.case-slide:nth-child(even) .image-free{order:2}.carousel-arrow{width:48px;height:48px;min-width:48px;min-height:48px;border-color:rgba(36,35,33,.55);transition:.2s ease}.carousel-arrow:hover{background:var(--ink)!important;color:#fff}.carousel-dots{margin-top:18px}.carousel-dots button{width:10px;height:10px;min-width:10px;min-height:10px}

/* Cases and Work: remove boxes, emphasize images and headings */
.case-tabs{margin:22px 0 58px;border-bottom:1px solid var(--line);gap:0}.case-tabs button{border:0;border-radius:0;padding:14px 20px 13px;border-bottom:3px solid transparent}.case-tabs button.active{background:transparent;color:var(--accent);border-bottom-color:var(--accent)}
.case-stage{padding:0}.case-summary-layout{grid-template-columns:minmax(0,1fr) minmax(380px,.92fr);gap:clamp(60px,7vw,100px);align-items:center}.summary-view{max-width:none;padding:56px 0;min-height:0}.case-summary-visual{min-height:420px}.case-summary-visual img{max-height:600px!important}.case-mode-toggle{margin:18px 0 32px}.switch{width:60px;height:32px}.switch-slider::after{width:24px;height:24px}.switch input:checked+.switch-slider::after{transform:translateX(28px)}
.full-view .carousel-track{min-height:620px}.case-slide .image-free{min-height:380px}.case-slide .image-free img{max-height:560px!important}.key-learnings{margin:72px auto 24px}.key-learnings li{font-size:1rem;line-height:1.65}
.logo-ribbon-section{padding:0!important;background:var(--ink)!important;border:0!important}.logo-ribbon{padding:18px 0;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.logo-ribbon-track{gap:54px;animation-duration:50s}.logo-ribbon-track img{height:56px!important;width:auto!important;max-width:none!important;filter:sepia(1) saturate(.25) brightness(1.9);opacity:.95}

/* CV: minimal list, clear dates, no boxes */
.cv-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(60px,7vw,100px)}.cv-role{grid-template-columns:150px minmax(0,1fr);gap:30px;padding:38px 0;border-top:1px solid var(--line)}.cv-period{font-size:.86rem;color:var(--accent);font-weight:800}.cv-role h3{font-size:1.5rem}.cv-role h4{font-size:.98rem}.cv-download-panel{padding:0 0 34px;border:0;border-bottom:1px solid var(--line)}.cv-side{top:96px}.cv-side h3{margin-top:30px}.download-link,.cv-download-panel .btn{min-height:44px}

/* Questions: desktop split view, subtle dividers; mobile accordion-like stack */
.ask-search{max-width:840px}.ask-search input{min-height:56px;background:#fff!important;border:1px solid #c8c0b4!important;border-radius:6px!important;border-bottom:2px solid var(--accent)!important;padding:16px 18px!important;box-shadow:none!important}.ask-search input:focus{outline:3px solid rgba(138,90,68,.18);border-color:var(--accent)!important}
.ask-workspace:not([hidden]){grid-template-columns:minmax(280px,.32fr) minmax(0,1fr)!important;gap:clamp(48px,6vw,88px)!important;padding-top:56px;margin-top:48px!important}.ask-question-list{top:96px}.ask-block-head{grid-template-columns:44px minmax(0,1fr) 44px}.ask-block-arrow{width:44px;height:44px}.ask-block-questions button{min-height:44px;padding:14px 4px}.ask-answer{grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr)!important;gap:clamp(44px,5vw,72px)!important}.ask-answer h2{font-size:clamp(2rem,3.2vw,2.5rem)}.answer-copy p{line-height:1.75}.ask-answer .image-free{min-height:300px}

/* Contact: hierarchy instead of boxes */
.contact-grid,.cv-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(52px,7vw,90px)}.contact-card{padding:0!important;border:0!important;background:none!important}.contact-card h3{margin-bottom:14px}.contact-card .btn{min-height:46px;padding:12px 20px}.contact-card hr{border-color:var(--line);margin:30px 0}.contact-secondary-visual img,.cv-illustration img{max-height:420px!important}

/* Accessibility, transitions and motion */
button,a,input{transition:color .2s ease,background-color .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(138,90,68,.30);outline-offset:3px}.btn{min-height:44px}.btn:hover{transform:translateY(-1px)}
img{content-visibility:auto}.lang-pane.active{animation:fadeIn .22s ease}@keyframes fadeIn{from{opacity:.25}to{opacity:1}}

@media(max-width:1024px){
 .wrap{width:min(var(--max),calc(100% - 40px))}.hero,.editorial-hero{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:48px}.content-spread,.feature-spread,.portfolio-spread,.work-row,.case-summary-layout{gap:48px}.stage-carousel,.carousel{padding-inline:56px}
}
@media(max-width:767px){
 .wrap{width:min(100% - 28px,var(--max))}.nav-inner{min-height:64px}.menu-toggle{min-width:44px;min-height:44px}.navlinks a{min-height:44px;display:flex;align-items:center}.hero,.editorial-hero,.content-spread,.content-spread.reverse,.feature-spread,.portfolio-spread,.portfolio-spread:nth-child(even),.work-row,.case-summary-layout,.principle-slide,.principle-slide:nth-child(even),.case-slide,.case-slide:nth-child(even),.cv-layout,.ask-workspace:not([hidden]),.ask-answer,.contact-grid,.cv-options{grid-template-columns:1fr!important}.hero,.editorial-hero{min-height:auto;padding:56px 0;gap:36px}.hero-copy,.editorial-hero-copy{padding-top:0}.hero>.portrait,.portrait,.editorial-hero-visual img{max-height:520px!important}.home-sections .generous-grid{grid-template-columns:1fr;gap:0}.home-intro{padding:36px 0;border-top:1px solid var(--line)}.home-intro:first-child{border-top:0}.content-spread.reverse .spread-copy,.content-spread.reverse .spread-visual,.portfolio-spread:nth-child(even) .image-free,.principle-slide:nth-child(even) .image-free,.case-slide:nth-child(even) .image-free{order:initial}.stage-carousel,.carousel{padding-inline:0}.carousel-track{min-height:0}.principle-slide,.case-slide,.stage-carousel .carousel-slide{min-height:0;padding:30px 0 84px;gap:34px}.carousel-arrow{top:auto;bottom:8px;transform:none}.carousel-arrow.prev{left:calc(50% - 64px)}.carousel-arrow.next{right:calc(50% - 64px)}.carousel-dots{margin-top:12px}.case-tabs{overflow-x:auto;flex-wrap:nowrap}.case-tabs button{white-space:nowrap}.case-summary-visual{min-height:260px}.ask-question-list{position:relative;top:auto}.ask-answer>.image-free,.ask-answer>div:first-child{grid-column:1!important;grid-row:auto!important}.ask-answer>.image-free{margin-top:20px}.cv-role{grid-template-columns:1fr;gap:8px}.cv-side{position:relative;top:auto}.contact-grid,.cv-options{gap:48px}
}
@media(max-width:480px){
 h1{font-size:clamp(2.55rem,13vw,3rem)}h2{font-size:clamp(1.8rem,9vw,2.2rem)}section{padding:64px 0}.brand span{font-size:.74rem}.hero,.editorial-hero{padding:44px 0}.ask-block-head{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px}.ask-block-title h2{font-size:1.55rem}.logo-ribbon{padding:14px 0}.logo-ribbon-track img{height:46px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.logo-ribbon-track{animation:none!important}}

/* Requested spacing and header contrast refinement — 2026-08-02 */
nav {
  background: rgba(169, 167, 162, .97); /* paper mixed with roughly 30% black */
  border-bottom-color: rgba(36, 35, 33, .22);
  box-shadow: 0 1px 0 rgba(255,255,255,.18);
}

/* About hero: equal visual distance to the divider above and below */
body[data-page="about"] .page-hero {
  padding: 0;
}
body[data-page="about"] .page-hero .editorial-hero {
  min-height: auto;
  padding-top: clamp(72px, 7vw, 96px);
  padding-bottom: clamp(72px, 7vw, 96px);
}
body[data-page="about"] .page-hero + section {
  padding-top: clamp(72px, 7vw, 96px);
}

@media (max-width: 767px) {
  body[data-page="about"] .page-hero .editorial-hero {
    padding-top: 52px;
    padding-bottom: 52px;
  }
  body[data-page="about"] .page-hero + section {
    padding-top: 52px;
  }
}


/* Global divider rhythm and language-navigation refinement — 2026-08-02 */
/* Every content section that starts with a divider places its first content 36px below it. */
.lang-pane > section + section,
.lang-pane > div + section,
.lang-pane > section + div {
  padding-top: 36px !important;
}

/* Layout components already carry their own vertical padding. Remove the duplicated top space
   when they are the first element after a section divider. */
.lang-pane > section + section > .wrap > .feature-spread:first-child,
.lang-pane > section + section > .wrap > .content-spread:first-child,
.lang-pane > section + section > .wrap > .portfolio-spread:first-child,
.lang-pane > section + section > .wrap > .work-row:first-child,
.lang-pane > section + section > .wrap > .contact-layout:first-child,
.lang-pane > section + section > .wrap > .two-col:first-child,
.lang-pane > section + section > .wrap > .stage-carousel:first-child,
.lang-pane > section + section > .wrap > .carousel:first-child,
.lang-pane > section + section > .wrap > .cv-layout:first-child,
.lang-pane > section + section > .wrap > .ask-workspace:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Supersede the former About-only spacing rule. */
body[data-page="about"] .page-hero + section {
  padding-top: 36px !important;
}

@media (max-width: 767px) {
  .lang-pane > section + section,
  .lang-pane > div + section,
  .lang-pane > section + div,
  body[data-page="about"] .page-hero + section {
    padding-top: 36px !important;
  }
}

/* Uniform divider spacing — 36px above and below every section rule */
:root { --divider-gap: 36px; }

/* The divider is drawn on the following sibling. Keep the preceding section's
   final content exactly 36px away from that rule. */
.lang-pane > section:has(+ section),
.lang-pane > section:has(+ div),
.lang-pane > div:has(+ section) {
  padding-bottom: var(--divider-gap) !important;
}

/* Keep the first content after every divider exactly 36px away from the rule. */
.lang-pane > section + section,
.lang-pane > div + section,
.lang-pane > section + div {
  padding-top: var(--divider-gap) !important;
}

/* Prevent component padding or margins from being added to the divider gap. */
.lang-pane > section:has(+ section) > .wrap > :last-child,
.lang-pane > section:has(+ div) > .wrap > :last-child,
.lang-pane > div:has(+ section) > .wrap > :last-child {
  margin-bottom: 0 !important;
}

.lang-pane > section + section > .wrap > :first-child,
.lang-pane > div + section > .wrap > :first-child,
.lang-pane > section + div > .wrap > :first-child {
  margin-top: 0 !important;
}

/* Components with their own outer vertical padding must not enlarge the gap. */
.lang-pane > section:has(+ section) > .wrap > :last-child:is(
  .feature-spread,.content-spread,.portfolio-spread,.work-row,.contact-layout,
  .two-col,.stage-carousel,.carousel,.cv-layout,.ask-workspace,.generous-grid
) {
  padding-bottom: 0 !important;
}

.lang-pane > section + section > .wrap > :first-child:is(
  .feature-spread,.content-spread,.portfolio-spread,.work-row,.contact-layout,
  .two-col,.stage-carousel,.carousel,.cv-layout,.ask-workspace,.generous-grid
),
.lang-pane > div + section > .wrap > :first-child:is(
  .feature-spread,.content-spread,.portfolio-spread,.work-row,.contact-layout,
  .two-col,.stage-carousel,.carousel,.cv-layout,.ask-workspace,.generous-grid
) {
  padding-top: 0 !important;
}

@media (max-width: 767px) {
  :root { --divider-gap: 36px; }
}

/* Exact divider rhythm — structural reset, 2026-08-03 */
:root { --divider-gap: 36px; }

/* Top-level page sections: one real rule with exactly 36px of air on both sides. */
.lang-pane > section + section,
.lang-pane > div + section,
.lang-pane > section + div {
  border-top: 0 !important;
  padding-top: 0 !important;
}

.lang-pane > section + section::before,
.lang-pane > div + section::before,
.lang-pane > section + div::before {
  content: "";
  display: block;
  width: 100%;
  border-top: 1px solid var(--line);
  margin: var(--divider-gap) 0;
}

/* Remove every outer spacing source immediately next to the rule. */
.lang-pane > section:has(+ section),
.lang-pane > section:has(+ div),
.lang-pane > div:has(+ section) {
  padding-bottom: 0 !important;
}
.lang-pane > section:has(+ section) > .wrap,
.lang-pane > section:has(+ div) > .wrap,
.lang-pane > div:has(+ section) > .wrap,
.lang-pane > section:has(+ section) > .wrap > :last-child,
.lang-pane > section:has(+ div) > .wrap > :last-child,
.lang-pane > div:has(+ section) > .wrap > :last-child {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.lang-pane > section + section > .wrap,
.lang-pane > div + section > .wrap,
.lang-pane > section + div > .wrap,
.lang-pane > section + section > .wrap > :first-child,
.lang-pane > div + section > .wrap > :first-child,
.lang-pane > section + div > .wrap > :first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* The combined Work area already had a decorative divider; use the structural rule only. */
.combined-selected-work > .section-divider { display: none !important; }
.combined-selected-work > .page-hero { padding-top: 0 !important; }
.combined-selected-work > .page-hero > .wrap { padding-top: 0 !important; }

/* Repeated editorial rows inside one section use the same exact rhythm. */
.content-spread + .content-spread,
.portfolio-spread + .portfolio-spread,
.work-row + .work-row {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.content-spread + .content-spread::before,
.portfolio-spread + .portfolio-spread::before,
.work-row + .work-row::before {
  content: "";
  display: block;
  grid-column: 1 / -1;
  width: 100%;
  border-top: 1px solid var(--line);
  margin: var(--divider-gap) 0;
}
.content-spread:has(+ .content-spread),
.portfolio-spread:has(+ .portfolio-spread),
.work-row:has(+ .work-row) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  :root { --divider-gap: 36px; }
}

/* Prevent pseudo-divider margins from collapsing; the 1px rule is part of the flow. */
.lang-pane > section + section,
.lang-pane > div + section,
.lang-pane > section + div { display: flow-root; }
.lang-pane > section + section::before,
.lang-pane > div + section::before,
.lang-pane > section + div::before {
  border: 0 !important;
  height: 1px;
  background: var(--line);
}
.content-spread + .content-spread::before,
.portfolio-spread + .portfolio-spread::before,
.work-row + .work-row::before {
  border: 0 !important;
  height: 1px;
  background: var(--line);
}

/* Brand ribbon and Selected Work headline rhythm — 2026-08-03 */
/* The ribbon itself acts as the divider. Remove generated rules around it. */
.lang-pane > .page-hero + .brand-ribbon-section::before,
.lang-pane > .brand-ribbon-section + .wrap::before {
  display: none !important;
  content: none !important;
}

/* Exactly 36px from the final hero object to the ribbon and from the ribbon
   to the first work example. */
.lang-pane > .page-hero:has(+ .brand-ribbon-section),
.lang-pane > .page-hero:has(+ .brand-ribbon-section) > .wrap,
.lang-pane > .page-hero:has(+ .brand-ribbon-section) > .wrap > .editorial-hero {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.lang-pane > .brand-ribbon-section {
  margin: 36px 0 !important;
  padding: 0 !important;
}
.lang-pane > .brand-ribbon-section + .wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.lang-pane > .brand-ribbon-section + .wrap > .portfolio-spread:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Work examples use the same 36px divider rhythm as every other section. */
.combined-selected-work .portfolio-spread {
  align-items: start !important;
}
.combined-selected-work .portfolio-spread > .long-copy {
  align-self: start !important;
  padding-top: 0 !important;
}
.combined-selected-work .portfolio-spread > .long-copy > h2:first-child {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}
.combined-selected-work .portfolio-spread > .long-copy > h3 {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

/* Subsequent work examples: no hidden padding in addition to the 36px rule. */
.combined-selected-work .portfolio-spread + .portfolio-spread {
  padding-top: 0 !important;
}
.combined-selected-work .portfolio-spread + .portfolio-spread::before {
  margin: 36px 0 !important;
}

@media (max-width: 767px) {
  .lang-pane > .brand-ribbon-section { margin: 36px 0 !important; }
  .combined-selected-work .portfolio-spread > .long-copy > h2:first-child {
    margin-top: 0 !important;
  }
}
\n\n/* Coordinated layout correction — 2026-08-03 */
/* Header 25% lighter than the previous darkened treatment while retaining separation. */
nav{background:rgba(229,225,215,.96)!important;}

/* Reduce the H1-to-header distance by 50% on all page heroes. */
.hero,.editorial-hero{padding-top:35px!important;}
@media(max-width:900px){.hero,.editorial-hero{padding-top:35px!important;}}
@media(max-width:560px){.hero,.editorial-hero{padding-top:28px!important;}}

/* Home portrait: align the top of the hat with the first headline line. */
.home-hero .hero{align-items:start!important;}
.home-hero .hero-copy{align-self:start;}
.home-hero .portrait{align-self:start!important;margin-top:0!important;object-position:center top!important;}

/* The three home statements share one top edge and one divider rhythm. */
.home-sections{padding-top:0!important;}
.home-sections .generous-grid{align-items:start!important;}
.home-sections .home-intro{align-self:start!important;padding-top:36px!important;margin-top:0!important;}
.home-sections .home-intro h2{margin-top:0!important;}

/* Question block: clearer default arrows and aligned controls. */
.ask-block-head{display:grid!important;grid-template-columns:56px minmax(0,1fr) 56px!important;align-items:start!important;gap:20px!important;}
.ask-block-title{text-align:center;min-width:0;}
.ask-block-arrow{width:56px!important;height:56px!important;border-radius:50%!important;border:2px solid var(--ink)!important;background:var(--ink)!important;color:var(--paper)!important;font-size:1.7rem!important;line-height:1!important;display:grid!important;place-items:center!important;padding:0!important;box-shadow:0 4px 14px rgba(36,35,33,.16)!important;}
.ask-block-arrow:hover,.ask-block-arrow:focus-visible{background:var(--accent)!important;border-color:var(--accent)!important;transform:translateY(-2px);}
.ask-block-questions{margin-top:28px!important;}

/* Never distort illustrations. Intrinsic proportions always win. */
img,.portrait,.image-free img,.image-stage img,.editorial-hero-visual img,.carousel-slide img,.block-illustration img,.timeline-illustration img,.contact-secondary-visual img,.cv-illustration img{width:auto!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important;}
.image-free,.image-stage,.editorial-hero-visual,.slide-visual{overflow:visible!important;}

/* Case navigation explains scope; tabs read as case selectors rather than a generic subnav. */
.case-nav-label{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:800;margin:0 0 12px;}
.case-tabs{margin:0 0 20px!important;padding-bottom:12px;border-bottom:1px solid var(--line);gap:8px!important;}
.case-tabs button{border:0!important;border-radius:0!important;padding:12px 18px!important;background:transparent!important;border-bottom:3px solid transparent!important;font-weight:700;}
.case-tabs button::before{content:"Case · ";font-size:.72em;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.case-tabs button.active{color:var(--accent)!important;border-bottom-color:var(--accent)!important;background:rgba(138,90,68,.07)!important;}

/* One shared toggle directly below case navigation, identical for summary and full view. */
.case-stage{position:relative;}
.case-mode-toggle-global{display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 34px!important;padding:0!important;min-height:52px;}
.case-stage .summary-view{padding-top:0!important;}
.case-stage .full-view{padding-top:0!important;}
.case-mode-toggle-global .mode-label{font-weight:600;color:var(--muted);}
.case-stage:not(.show-full) .case-mode-toggle-global .summary-label,
.case-stage.show-full .case-mode-toggle-global .full-label{color:var(--ink);font-weight:800;}

@media(max-width:767px){
 .ask-block-head{grid-template-columns:48px minmax(0,1fr) 48px!important;gap:10px!important;}
 .ask-block-arrow{width:48px!important;height:48px!important;}
 .case-tabs button::before{content:"";}
 .case-mode-toggle-global{flex-wrap:wrap;gap:10px!important;}
}


/* Targeted spacing repair — 2026-08-03
   Intentionally limited to the areas identified in review screenshots. */
:root { --review-gap: 36px; }

/* Home: remove the artificial viewport-height gap, keep the portrait aligned to the headline. */
.home-hero .hero {
  min-height: auto !important;
  padding-top: 35px !important;
  padding-bottom: var(--review-gap) !important;
  align-items: start !important;
}
.home-hero .portrait {
  margin-top: 0 !important;
  align-self: start !important;
}
.home-hero + .home-sections {
  padding-top: var(--review-gap) !important;
  padding-bottom: 72px !important;
}
.home-sections .generous-grid {
  align-items: start !important;
}
.home-sections .home-intro {
  padding: 0 !important;
  margin: 0 !important;
}
.home-sections .home-intro h2 { margin: 0 0 20px !important; }

/* Page intros: compact, consistent distance from header and from following content. */
.lang-pane > .page-hero:first-child .editorial-hero,
.combined-selected-work > .page-hero .editorial-hero {
  min-height: auto !important;
  padding-top: 35px !important;
  padding-bottom: var(--review-gap) !important;
}

/* Principles and question carousels: arrows no longer overlap the title. */
.ask-block-head {
  grid-template-columns: 64px minmax(0, 1fr) 64px !important;
  align-items: center !important;
  gap: 28px !important;
}
.ask-block-title {
  max-width: 680px;
  margin-inline: auto;
  padding-inline: 12px;
}
.ask-block-title h2,
.ask-block-title h3 { overflow-wrap: anywhere; }
.ask-block-arrow {
  position: static !important;
  justify-self: center !important;
  align-self: center !important;
}

/* Cases: navigation, toggle and content form one compact, stable stack. */
.case-tabs { margin-bottom: 20px !important; }
.case-mode-toggle-global {
  margin: 0 0 24px !important;
  min-height: 44px !important;
}
.case-stage .summary-view {
  min-height: 0 !important;
  padding: 0 !important;
}
.case-summary-layout { align-items: start !important; }
.case-stage .full-view { padding-top: 0 !important; }
.case-stage .full-view .carousel-track { min-height: 0 !important; }
.case-stage .stage-carousel { margin-top: 0 !important; }

/* Selected Work: intro, brand ribbon and first example use the same 36px rhythm. */
.combined-selected-work > .section-divider { display: none !important; }
.combined-selected-work > .page-hero { padding: 0 !important; }
.combined-selected-work > .page-hero + .brand-ribbon-section {
  margin: var(--review-gap) 0 !important;
}
.combined-selected-work > .brand-ribbon-section + .wrap {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.combined-selected-work .portfolio-spread:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.combined-selected-work .portfolio-spread {
  align-items: start !important;
}
.combined-selected-work .portfolio-spread .long-copy {
  padding-top: 0 !important;
  align-self: start !important;
}
.combined-selected-work .portfolio-spread .long-copy > h2:first-child {
  margin: 0 0 12px !important;
}
.combined-selected-work .portfolio-spread .long-copy > h3 {
  margin: 0 0 20px !important;
}

/* Images: preserve intrinsic proportions without forcing full width. */
img,
.portrait,
.image-free img,
.image-stage img,
.editorial-hero-visual img,
.carousel-slide img,
.block-illustration img,
.timeline-illustration img,
.contact-secondary-visual img,
.cv-illustration img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
}


@media (max-width: 900px) {
  .home-hero .hero,
  .lang-pane > .page-hero:first-child .editorial-hero,
  .combined-selected-work > .page-hero .editorial-hero {
    padding-top: 28px !important;
    padding-bottom: var(--review-gap) !important;
  }
  .ask-block-head {
    grid-template-columns: 52px minmax(0, 1fr) 52px !important;
    gap: 14px !important;
  }
}

@media (max-width: 620px) {
  .ask-block-head {
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    gap: 8px !important;
  }
  .ask-block-title { padding-inline: 4px; }
}

/* Question block heading fix — 2026-08-03
   In the narrow topic column the title uses the full column width.
   Navigation arrows sit in a separate row beneath it. */
.ask-question-list .ask-block-head {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-areas:
    "title title"
    "previous next" !important;
  column-gap: 16px !important;
  row-gap: 22px !important;
  align-items: center !important;
  padding-bottom: 28px !important;
}
.ask-question-list .ask-block-title {
  grid-area: title !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.ask-question-list .ask-block-title h2 {
  max-width: 100% !important;
  font-size: clamp(2rem, 3vw, 3.25rem) !important;
  line-height: 1.04 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
.ask-question-list .ask-block-arrow:first-child {
  grid-area: previous !important;
  justify-self: start !important;
}
.ask-question-list .ask-block-arrow:last-child {
  grid-area: next !important;
  justify-self: end !important;
}

/* When the question navigation occupies the full page width, retain side arrows. */
@media (min-width: 1280px) {
  .ask-workspace.full-width-questions .ask-block-head {
    grid-template-columns: 64px minmax(0, 1fr) 64px !important;
    grid-template-areas: "previous title next" !important;
    row-gap: 0 !important;
  }
  .ask-workspace.full-width-questions .ask-block-title {
    text-align: center !important;
  }
}

@media (max-width: 620px) {
  .ask-question-list .ask-block-head {
    row-gap: 16px !important;
  }
  .ask-question-list .ask-block-title h2 {
    font-size: clamp(1.8rem, 9vw, 2.5rem) !important;
  }
  .ask-question-list .ask-block-arrow {
    width: 48px !important;
    height: 48px !important;
  }
}

/* Case heading-to-copy spacing — 2026-08-03
   Applies consistently to all three cases in summary and full-story modes. */
.case-summary-copy > h2 {
  margin: 0 0 28px !important;
}
.case-slide .slide-copy > h2 {
  margin: 0 0 26px !important;
}
@media (max-width: 767px) {
  .case-summary-copy > h2,
  .case-slide .slide-copy > h2 {
    margin-bottom: 22px !important;
  }
}


/* CONTACT SIMPLE */
.contact-simple { min-height: auto; padding-block: clamp(56px, 8vw, 112px); }
.contact-simple-inner { display: block; }
.contact-simple article { max-width: 900px; }
.contact-simple .page-title { margin: 0; }
.contact-short-copy { max-width: 700px; margin: 28px 0 0; font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.6; }
.contact-simple .btn { margin-top: 36px; }
@media (max-width: 767px) {
  .contact-simple { padding-block: 48px; }
  .contact-short-copy { margin-top: 22px; }
  .contact-simple .btn { margin-top: 28px; }
}

/* Legal pages */
.legal-links{display:flex;gap:1.1rem;align-items:center}.legal-links a{color:inherit;text-decoration:none}.legal-links a:hover{text-decoration:underline}.legal-page{padding:clamp(3rem,7vw,7rem) 0}.legal-page .readable{max-width:850px}.legal-page h2{margin-top:2.5rem}.legal-placeholder{padding:1rem 0;border-top:1px solid var(--line,#cfc7bd);border-bottom:1px solid var(--line,#cfc7bd)}@media(max-width:700px){.footer-inner{align-items:flex-start;gap:1rem}.legal-links{flex-wrap:wrap}}


/* Accessibility review — 2026-08-03 */
[hidden]{display:none!important}
main a:not(.btn):not(.brand):not(.navlinks a), footer a{ text-decoration:underline; text-decoration-thickness:.08em; text-underline-offset:.18em; }
.navlinks a,.brand,.btn{text-decoration:none!important}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #6f4533!important;outline-offset:4px!important}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
