/* Keep content within its layout without clipping text. */
.atelier-copy,.concept-copy,.concept-ticket,.proof-title,.benefits-v2 article{min-width:0}
.process-steps summary>i{flex:0 0 20px;text-align:center}
.process-steps details[open] summary>i{transform:none}
.section-bar{line-height:1.5}
.section-bar>span:only-child{max-width:none;text-align:left}
.action,.nav-cta{max-width:100%}
@media(min-width:701px) and (max-width:1100px){
  .product-art .product-annotation{right:18%}
  .concept-ticket{padding:20px}
  .concept-ticket .action{gap:12px;padding:14px 12px}
}
/* Complete desktop sections at common laptop and monitor heights. */
@media(min-width:1000px){
  .block{padding-top:clamp(26px,4svh,48px);padding-bottom:clamp(26px,4svh,48px)}
  .section-bar{padding-top:14px;margin-bottom:24px}
  .atelier>.section-bar{margin-bottom:22px}
  .atelier-grid{align-items:start;gap:7%;grid-template-columns:1fr 1fr}
  .atelier-copy{padding-top:0}
  .atelier-copy h2{font-size:clamp(46px,7.2svh,72px);margin:16px 0}
  .section-intro{max-width:520px;line-height:1.6}
  .process-steps{margin-top:20px}
  .process-steps details{padding:13px 0}
  .process-steps details>p{max-width:520px;padding:10px 20px 0 37px;font-size:15px;line-height:1.55}
  .inline-action{margin-top:16px;padding:12px 18px;min-height:48px}
  .collection-column{width:100%;max-width:660px;justify-self:end}
  .collection-viewer{margin-top:8px}
  .viewer-top{padding:12px 15px}
  .lookbook{aspect-ratio:auto;height:clamp(250px,43svh,500px);margin:8px 20px 0}
  .lookbook img{object-fit:contain}
  .viewer-bottom{padding-top:12px}
  .viewer-bottom h3{font-size:26px}
  .viewer-note{padding-top:9px;padding-bottom:14px}
  .collection-column .product-range{margin-top:22px;gap:7px}
  .product-range li{padding:5px 10px;font-size:12px}
  .campaign-wide{height:49svh;min-height:340px;max-height:580px}
  .wide-top{top:24px}
  .wide-title{bottom:35px;flex-direction:row;align-items:flex-end}
  .wide-title h2{font-size:clamp(50px,7.5svh,86px)}
  .wide-title>p{max-width:360px;line-height:1.65}
  .benefits-v2{padding-top:28px;padding-bottom:30px;gap:40px}
  .benefits-v2 h3{font-size:clamp(32px,4.7svh,42px);margin:18px 0 14px}
  .benefits-v2 article>p{line-height:1.65;margin-bottom:20px;max-width:400px}
  .concept-v2 .section-bar{margin-bottom:28px}
  .concept-copy h2{font-size:clamp(54px,8.6svh,92px)}
  .concept-layout{padding-bottom:8px}
  .concept-ticket{padding:20px 26px}
  .ticket-top{padding-bottom:12px}
  .concept-ticket>img{width:75px;height:50px;margin:16px 0}
  .concept-ticket h3{font-size:42px}
  .concept-ticket>p:not(.email-note){margin:16px 0;line-height:1.6}
  .ticket-bottom{padding-top:14px;margin-top:18px}
  .proof-compact .section-bar{margin-bottom:24px}
  .proof-overview{margin-bottom:24px}
  .proof-title h2{font-size:clamp(40px,6svh,66px)}
  .proof-stat>strong{font-size:clamp(68px,9svh,92px)}
  .portrait{height:clamp(270px,36svh,430px)}
  .portrait-grid article:nth-child(2){margin-top:3svh}
  .portrait-grid article:nth-child(3){margin-top:6svh}
  .portrait-name h3{font-size:clamp(46px,6.5svh,64px)}
  .proof-compact .proof-note{margin-top:18px}
}
/* Narrow screens retain readable, naturally scrolling sections. */
@media(min-width:701px) and (max-width:999px){
  .atelier{padding-top:32px;padding-bottom:36px}
  .atelier>.section-bar{margin-bottom:30px}
  .campaign-wide{height:52svh;min-height:470px}
  .wide-title{bottom:38px}
  .wide-title h2{font-size:clamp(52px,8vw,72px)}
  .benefits-v2{padding-top:34px;padding-bottom:36px;gap:24px}
  .benefits-v2 h3{font-size:32px}
  .benefits-v2 article>p{font-size:15px;line-height:1.65}
}
@media(max-width:700px){
  .atelier-copy h2{font-size:clamp(46px,14vw,64px)}
  .section-bar{gap:16px}
  .campaign-wide{height:auto;min-height:620px;display:flex;flex-direction:column;justify-content:flex-end;padding:100px 6% 38px}
  .campaign-wide>img{position:absolute;inset:0}
  .wide-title{position:relative;inset:auto;gap:22px}
  .wide-title h2{font-size:clamp(42px,14vw,64px)}
  .wide-title>p{line-height:1.7}
  .product-range{gap:7px}
  .product-range li{padding:6px 9px;font-size:12px}
  .concept-ticket{margin-right:10px;box-shadow:8px 12px 0 #1c1c23}
  .concept-ticket .action{gap:10px;padding:14px 12px}
  .portrait{height:clamp(330px,100vw,430px)}
}
/* Phone landscape and short windows must not crop the hero. */
@media(min-width:701px) and (max-height:600px){
  .campaign-hero{height:auto;min-height:500px}
  .campaign-copy{height:auto;padding-top:32px;padding-bottom:80px}
  .campaign-copy h1{font-size:58px}
}

/* Main chapters fill the viewport; the brand argument and closing CTA stay compact. */
html{scroll-padding-top:0}
main>section:not(.campaign-hero):not(.final-statement):not(.difference-refined){min-height:100vh;min-height:100dvh}
.difference-refined{min-height:clamp(420px,62dvh,680px)}
.atelier,.difference-refined,.concept-v2,.proof-compact{
  display:flex;
  flex-direction:column;
}
.atelier-grid,.difference-refined .difference-heading,.concept-layout{
  flex:1;
  align-content:center;
  align-items:center;
}
.atelier .collection-column{align-self:center}
.difference-refined .difference-heading{margin-bottom:0}
.community{display:flex;flex-direction:column}
.community .campaign-wide{flex:1 0 auto;max-height:none}
.community .benefits-v2{flex:0 0 auto}
.proof-compact .proof-overview{margin-top:auto}
.proof-compact .proof-note{margin-bottom:auto}
.campaign-hero{height:auto;min-height:calc(100dvh - 76px)}
.campaign-copy{height:auto;min-height:calc(100dvh - 76px)}
@media(min-width:1000px){
  .atelier,.difference-refined,.concept-v2,.proof-compact{
    padding-top:clamp(32px,5dvh,72px);
    padding-bottom:clamp(32px,5dvh,72px);
  }
  .atelier>.section-bar,.difference-refined>.section-bar,.concept-v2>.section-bar,.proof-compact>.section-bar{margin-bottom:clamp(28px,4dvh,56px)}
  .atelier-copy h2{font-size:clamp(52px,min(5.6vw,8dvh),90px)}
  .lookbook{height:clamp(270px,47dvh,620px)}
  .community .campaign-wide{min-height:55dvh}
  .benefits-v2{padding-top:clamp(30px,4dvh,56px);padding-bottom:clamp(32px,5dvh,70px)}
  .difference-refined .difference-heading h2{font-size:clamp(48px,min(5.8vw,9dvh),96px)}
  .difference-mark{height:clamp(220px,28dvh,350px)}
  .proof-compact .portrait{height:clamp(280px,42dvh,600px)}
}
@media(max-width:700px){
  .difference-refined{min-height:0}
  .campaign-hero,.campaign-copy{min-height:calc(100dvh - 68px)}
  .campaign-copy{padding-bottom:70px}
}
@media(min-width:701px) and (max-height:600px){
  .campaign-hero,.campaign-copy{min-height:max(500px,calc(100dvh - 76px))}
}

/* A larger design-call card with a clear, skimmable agenda. */
.concept-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:7%;padding-right:1%}
.concept-ticket{padding:28px 32px}
.concept-ticket .ticket-top{align-items:center;padding-bottom:16px;margin-bottom:22px}
.concept-ticket .ticket-top img{width:66px;height:44px;object-fit:contain;filter:invert(1)}
.concept-ticket .ticket-top>span{font-size:10px;letter-spacing:.06em;text-align:right}
.concept-ticket h3{font-size:clamp(34px,3.4vw,50px);line-height:1}
.concept-ticket>p:not(.email-note){font-size:15px;line-height:1.6;margin:16px 0 20px;max-width:440px}
.call-agenda{list-style:none;margin:0 0 24px;padding:0}
.call-agenda li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:14px 0;border-top:1px solid #aaaab1}
.agenda-number{font-size:11px;line-height:24px;color:#6b6b73}
.call-agenda h4{font-size:15px;line-height:1.5;margin:0 0 4px;font-weight:700;letter-spacing:-.02em}
.call-agenda p{font-size:14px;line-height:1.55;color:#55555f}
.concept-ticket .action{min-height:54px;font-size:14px}
@media(min-width:701px) and (max-width:999px){
  .concept-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5%}
  .concept-ticket{padding:24px}
}
@media(max-width:700px){
  .concept-layout{grid-template-columns:minmax(0,1fr);padding-right:0;gap:40px}
  .concept-ticket{padding:24px 20px}
  .concept-ticket h3{font-size:clamp(30px,8.8vw,42px)}
  .concept-ticket .ticket-top{gap:12px}
  .concept-ticket .ticket-top>span{max-width:150px}
  .call-agenda li{gap:8px}
  .concept-ticket .action{font-size:12px}
}
