/* Project stories: finished spaces first, then the record of their making. */
.story-evolved .story-hero{display:block;padding:0;gap:0;border-bottom:5px solid var(--gold-line)}
.story-evolved .story-opening{position:relative;isolation:isolate;display:grid;grid-template-columns:1.12fr 1fr;gap:0 6%;padding:48px 5% 45px;align-items:start}
.story-evolved .story-opening .breadcrumb,.story-evolved .story-opening>.eyebrow{grid-column:1/-1}
.story-evolved .story-opening .breadcrumb{margin-bottom:23px}
.story-evolved .story-opening>.eyebrow{margin-bottom:22px;font-size:10px}
.story-evolved .story-opening h1{grid-column:1;grid-row:3/6;margin:0;max-width:none;min-width:0}
.story-evolved .story-opening .display-title{font-size:clamp(68px,8.7vw,132px);line-height:1.02;text-transform:uppercase;letter-spacing:-.035em}
.story-evolved .story-opening h1 em{display:block;font-size:clamp(38px,4.1vw,62px);line-height:1.12;margin-top:10px;color:var(--green)}
.story-evolved .story-opening>.lead{grid-column:2;grid-row:3;max-width:600px;font-size:18px;line-height:1.7;margin-top:5px}
.story-evolved .project-facts{grid-column:2;grid-row:4;margin:23px 0 0;padding-top:16px;font-size:10px;color:#555a55}
.story-evolved .story-opening .actions{grid-column:2;grid-row:5;margin-top:23px;gap:10px 24px;align-items:center}
.story-evolved .story-opening .actions .text-link{font-size:12px;min-height:44px}
.story-evolved .story-lead-image{position:relative;isolation:isolate;padding:0;border:0;max-width:none;margin:0;width:100%;background:var(--surface-dark-color)}
.story-evolved .story-lead-image::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--surface) center/cover no-repeat;opacity:var(--surface-dark-opacity);filter:var(--surface-dark-filter)}
.story-evolved .story-lead-image>img{display:block;width:100%;height:auto;max-height:850px;object-fit:contain;box-shadow:none}
.story-evolved .story-lead-image>figcaption{padding:17px 5%;color:#dedfd7;line-height:1.6;font-size:10px;background:transparent}
body:is(.story-villa-mimosa,.story-sculptural-reception) .story-opening .inspiration-save{border-color:#8b8067;background:#faf9f5b3;color:var(--ink)}
body:is(.story-villa-mimosa,.story-sculptural-reception) .story-opening .inspiration-save[aria-pressed=true]{border-color:var(--green);background:#e9eee9;color:var(--green)}
.story-evolved .story-hero::before{content:none}
/* The plaster belongs to the written opening, not a fixed-height strip above the media. */
.story-evolved .story-opening::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--surface-light) var(--surface-light-position)/var(--surface-light-size) no-repeat;opacity:var(--surface-light-opacity);filter:var(--surface-light-filter);mask-image:var(--surface-light-mask)}
.story-evolved .section{padding-top:70px;padding-bottom:70px}
.story-evolved .story-hero.section{padding:0}
.story-evolved .story-body{grid-template-columns:.65fr 1.35fr;gap:8%;border-top:1px solid var(--gold-line)}
.story-evolved .story-body>aside{top:175px}
.story-evolved .reading-copy{max-width:760px}
.story-evolved .reading-copy .standfirst{font-size:clamp(21px,2vw,28px);line-height:1.55}
.story-evolved .reading-copy h2{font-size:clamp(31px,3.2vw,44px);line-height:1.15}
.story-evolved .reading-copy p{font-size:17px;line-height:1.8}
.story-evolved .client-memory{position:static;border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line);background:transparent;padding:35px 0 35px 30px}
.story-evolved .reading-copy .client-memory blockquote{font-size:clamp(25px,2.5vw,34px);line-height:1.45}
.story-chapter-nav,.story-evolved .mimosa-room-nav{display:flex;flex-wrap:nowrap;gap:0;align-items:center;padding:0 5%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;background:var(--paper);border-block:1px solid var(--line)}
.story-chapter-nav a,.story-evolved .mimosa-room-nav a{flex:0 0 auto;min-height:62px;border:0;border-bottom:3px solid transparent;white-space:nowrap;font-size:11px;padding:19px 18px;transition:border-color .2s,color .2s}
.story-chapter-nav a:hover,.story-chapter-nav a[aria-current=location],.story-evolved .mimosa-room-nav a:hover,.story-evolved .mimosa-room-nav a[aria-current=location]{background:transparent;color:var(--green);border-bottom-color:var(--gold-line)}
.story-evolved .mimosa-room-nav{position:sticky;top:91px;z-index:15}
.story-evolved .mimosa-room-nav>span{white-space:nowrap;flex:0 0 auto;margin-right:15px;font-size:9px}
.story-evolved section[id],.story-evolved figure[id]{scroll-margin-top:75px}
.story-evolved .takeaway>p:last-child{font-size:clamp(28px,3.5vw,48px);max-width:1000px}
.story-evolved .next-story{border-top:1px solid var(--gold-line);gap:24px}
.story-evolved .next-title{font-size:clamp(36px,4.6vw,68px);min-height:70px}
.story-evolved .next-title>span{transition:transform .25s}
.story-evolved .next-title:hover>span{transform:translate(5px,-5px)}
/* Landscape stories: the full photograph spans its own stage. */
.story-villa-mimosa .story-lead-image>img{max-height:850px}
.story-villa-mimosa .mimosa-bedroom,.story-villa-mimosa .mimosa-master-bath{padding-left:0;padding-right:0}
.story-villa-mimosa .mimosa-bedroom-opening{display:block}
.story-villa-mimosa .mimosa-bedroom-opening>div{display:grid;grid-template-columns:1.15fr 1fr;gap:0 7%;padding:0 5% 36px;align-items:end}
.story-villa-mimosa .mimosa-bedroom-opening .eyebrow{grid-column:1/-1;margin-bottom:22px}
.story-villa-mimosa .mimosa-bedroom-opening h2{font-size:clamp(40px,4.8vw,70px);margin:0}
.story-villa-mimosa .mimosa-bedroom-opening p:not(.eyebrow){max-width:570px;line-height:1.75;margin:0}
.story-villa-mimosa .mimosa-bedroom-opening>figure{background:#e9e7df}
.story-villa-mimosa .mimosa-bedroom-opening img{width:100%;height:auto;max-height:850px;object-fit:contain;display:block}
.story-villa-mimosa .mimosa-bedroom-opening figcaption{padding:17px 5%;background:var(--paper);font-size:10px}
.story-villa-mimosa .mimosa-bedroom-copy{margin:40px 5% 0;gap:7%}
.story-villa-mimosa .mimosa-bedroom-copy p{max-width:560px;font-size:16px}
.story-villa-mimosa .mimosa-columns-feature{max-width:none;grid-template-columns:1.15fr 1fr;gap:8%;padding-bottom:55px;border-bottom:1px solid var(--gold-line)}
.story-villa-mimosa .mimosa-columns-feature>img{max-width:none;max-height:800px;object-fit:contain;background:#e9e7df}
.story-villa-mimosa .mimosa-room-caption h3{font-size:clamp(37px,4.4vw,65px)}
.story-villa-mimosa .mimosa-room-caption p{font-size:17px;line-height:1.75}
.story-villa-mimosa .mimosa-dawn-feature{width:auto;max-width:none;margin:0 -5.56%}
.story-villa-mimosa .mimosa-dawn-feature img.mimosa-dawn-room{display:block;max-height:900px;object-fit:contain;background:#141915}
.story-villa-mimosa .mimosa-dawn-feature .mimosa-room-caption{margin:0;padding:30px 5%;border:0;gap:7%}
.story-evolved .story-process-intro{position:relative;isolation:isolate;background:var(--surface-dark-color);color:#fff;border-top:5px solid var(--gold-line);display:grid;grid-template-columns:1.05fr 1fr;gap:20px 8%}
.story-evolved .story-process-intro::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--surface) center/cover no-repeat;opacity:var(--surface-dark-opacity);filter:var(--surface-dark-filter)}
.story-process-intro>.eyebrow{grid-column:1/-1;color:var(--gold-light)}
.story-process-intro h2{font-size:clamp(48px,6.5vw,88px);line-height:1.05}
.story-process-intro h2 em{color:var(--gold-light)}
.story-process-intro>p:not(.eyebrow){font-size:18px;line-height:1.8;color:#d6dbd4;max-width:620px;align-self:center}
.story-process-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 35px;border-top:1px solid #ffffff38;padding-top:20px;margin-top:15px}
.story-process-links a{padding:13px 0;min-height:44px;font-size:12px;border-bottom:1px solid var(--gold-line)}
.story-villa-mimosa .mimosa-details{grid-template-columns:1fr 1fr;gap:6%;align-items:start}
.story-villa-mimosa .mimosa-details img{max-height:740px;object-fit:contain;background:#e5e2d7}
.story-villa-mimosa .mimosa-details figcaption{font-size:10px;margin-top:8px}
.story-villa-mimosa .mimosa-film-heading{margin-top:60px;gap:7%}
.story-villa-mimosa .mimosa-film-heading h3{font-size:clamp(32px,4.2vw,60px)}
.story-villa-mimosa .mimosa-powder-film{max-width:none;width:100%;margin-top:35px}
.story-villa-mimosa .mimosa-powder-film video{height:auto;max-height:800px;aspect-ratio:16/9;object-fit:contain}
.story-villa-mimosa .media-section{background:var(--paper);border-top:1px solid var(--gold-line)}
.story-villa-mimosa .media-section .inline-film{max-width:1200px;width:100%}
.story-villa-mimosa .media-section video{height:700px;object-fit:contain}
.story-villa-mimosa .mimosa-bath-process{margin:0;max-width:none;grid-template-columns:1fr 1fr;gap:8%;background:#e9e7df;border-top:1px solid var(--gold-line)}
.story-villa-mimosa .mimosa-bath-process>div{max-width:520px}
.story-villa-mimosa .mimosa-bath-process h3{font-size:clamp(40px,4.7vw,65px)}
.story-villa-mimosa .mimosa-bath-process>div p:not(.eyebrow){font-size:17px;line-height:1.8}
.story-villa-mimosa .mimosa-bath-process .film-frame{max-width:470px}
/* Portrait sources stay complete; the surrounding design gives them scale. */
.story-jbdc-blue-epoxy .story-hero,.story-courtyard-planters .story-hero{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;background:var(--surface-dark-color);color:#fff}
.story-jbdc-blue-epoxy .story-opening,.story-courtyard-planters .story-opening{display:block;padding:50px 10%;align-self:center}
.story-jbdc-blue-epoxy .story-opening .display-title,.story-courtyard-planters .story-opening .display-title{font-size:clamp(70px,7.4vw,110px)}
.story-jbdc-blue-epoxy .story-opening h1 em,.story-courtyard-planters .story-opening h1 em{font-size:clamp(37px,4vw,57px);color:var(--gold-light);margin-top:20px}
.story-jbdc-blue-epoxy .story-opening .breadcrumb,.story-courtyard-planters .story-opening .breadcrumb{color:#d1d7cf}
.story-jbdc-blue-epoxy .story-opening>.eyebrow,.story-courtyard-planters .story-opening>.eyebrow{color:var(--gold-light)}
.story-jbdc-blue-epoxy .story-opening>.lead,.story-courtyard-planters .story-opening>.lead{margin-top:28px;color:#d1d7cf}
.story-jbdc-blue-epoxy .project-facts,.story-courtyard-planters .project-facts{color:#d1d7cf;border-color:#ffffff30}
.story-jbdc-blue-epoxy .story-opening .text-link,.story-courtyard-planters .story-opening .text-link{color:white}
.story-jbdc-blue-epoxy .story-opening::before,.story-courtyard-planters .story-opening::before{content:none}
.story-jbdc-blue-epoxy .story-hero::before,.story-courtyard-planters .story-hero::before{content:'';background:var(--surface) center/cover no-repeat;inset:0;height:auto;opacity:var(--surface-dark-opacity);filter:var(--surface-dark-filter);mask-image:none}
.story-jbdc-blue-epoxy .story-lead-image,.story-courtyard-planters .story-lead-image{max-width:none;align-self:center;margin:0;background:transparent}
.story-jbdc-blue-epoxy .story-lead-image::before,.story-courtyard-planters .story-lead-image::before{content:none}
.story-jbdc-blue-epoxy .story-lead-image video{height:min(82svh,850px);min-height:600px;width:100%;object-fit:contain}
.story-courtyard-planters .story-lead-image.portrait img{max-height:820px;height:auto;width:100%;object-fit:contain;background:#e6e4dc}
.story-evolved .courtyard-view-grid{grid-template-columns:1.2fr 1fr;gap:6%;align-items:start;max-width:1300px;margin:auto}
.story-evolved .courtyard-view-grid img{height:720px;aspect-ratio:auto;object-fit:contain;object-position:center;background:#e9e7df}
.story-evolved .courtyard-view-grid figcaption{padding-top:18px;font-size:10px}
.story-evolved .courtyard-view-grid figcaption span{font-size:14px}
.story-evolved .courtyard-making{grid-template-columns:.85fr 1.15fr;gap:8%;border-top:5px solid var(--gold-line)}
.story-evolved .courtyard-making h2{font-size:clamp(40px,4.7vw,67px)}
.story-evolved .courtyard-making img{max-height:750px;object-fit:contain}
.story-evolved .courtyard-making p:not(.eyebrow){font-size:17px;line-height:1.75}
/* Preserve the reception comparison, opening on the completed installation. */
.story-evolved .reception-compare{height:min(80svh,900px);min-height:420px;aspect-ratio:auto}
.story-evolved .reception-compare img{object-fit:contain}
.story-evolved .compare-actions{padding:18px 5%;background:var(--paper)}
.story-evolved .compare-actions button{min-width:135px;font-size:12px}
.story-evolved .reception-comparison figcaption span{color:#bcc5bc}
.story-evolved .reception-details .detail-pair{gap:5%;max-width:1300px;margin:auto}
.story-evolved .reception-details .detail-pair img{height:780px;max-height:85svh;aspect-ratio:auto;object-fit:contain;background:#e9e7df}
.story-evolved .reception-details figcaption{font-size:10px;padding-top:18px}
.story-evolved .film-play{min-height:44px}
/* Motion reveals text and chapters, never hiding the first finished view. */
.story-motion .story-reveal{opacity:1;transition:transform var(--reveal-duration) var(--reveal-ease)}
.story-motion .story-awaiting{opacity:1;transform:translateY(var(--reveal-distance))}
@media(min-width:1600px){.story-evolved .story-opening{padding-block:60px}.story-evolved .story-lead-image>img{max-height:950px}}
@media(max-width:1000px){
 .story-evolved .story-opening{gap:0 5%}.story-evolved .story-opening .display-title{font-size:clamp(66px,8.8vw,95px)}
 .story-evolved .story-opening h1 em{font-size:40px}.story-evolved .story-opening>.lead{font-size:16px}
 .story-jbdc-blue-epoxy .story-opening,.story-courtyard-planters .story-opening{padding:45px 9%}
 .story-jbdc-blue-epoxy .story-opening .display-title,.story-courtyard-planters .story-opening .display-title{font-size:75px}
 .story-evolved .courtyard-view-grid img{height:580px}.story-evolved .mimosa-room-nav{top:91px}
}
@media(max-width:800px){
 .story-evolved .story-opening::before{background-size:auto max(100%,1467px,233.334vw)}
 .story-evolved .story-opening{display:block;padding:36px 6% 35px}.story-evolved .story-opening h1{max-width:none}
 .story-evolved .story-opening .display-title{font-size:clamp(70px,12vw,100px)}
 .story-evolved .story-opening h1 em{font-size:clamp(36px,6.5vw,51px)}
 .story-evolved .story-opening>.lead{margin-top:22px;font-size:17px;max-width:650px}
 .story-evolved .section{padding:52px 6%}.story-evolved .story-hero.section{padding:0}
 .story-evolved .story-body{grid-template-columns:1fr;gap:24px}.story-evolved .story-body>aside{position:static}
 .story-evolved .reading-copy p{font-size:16px}.story-evolved .reading-copy h2{font-size:34px}
 .story-evolved .mimosa-room-nav{top:77px}.story-evolved .mimosa-room-nav>span{display:none}
 .story-evolved .mimosa-room-nav a,.story-chapter-nav a{font-size:10px;min-height:56px;padding:16px 13px}
 .story-evolved section[id],.story-evolved figure[id]{scroll-margin-top:65px}
 .story-villa-mimosa .mimosa-bedroom,.story-villa-mimosa .mimosa-master-bath{padding-inline:0}
 .story-villa-mimosa .mimosa-bedroom-opening>div{display:block;padding:0 6% 28px}
 .story-villa-mimosa .mimosa-bedroom-opening h2{font-size:45px;margin-bottom:24px}
 .story-villa-mimosa .mimosa-bedroom-copy{margin:30px 6% 0;gap:30px}
 .story-villa-mimosa .mimosa-columns-feature{gap:6%;grid-template-columns:1fr 1fr;padding-bottom:35px}
 .story-villa-mimosa .mimosa-room-caption h3{font-size:38px}.story-villa-mimosa .mimosa-room-caption p{font-size:16px}
 .story-villa-mimosa .mimosa-dawn-feature{margin-inline:-6.82%}.story-villa-mimosa .mimosa-dawn-feature .mimosa-room-caption{padding:25px 6%}
 .story-evolved .story-process-intro{grid-template-columns:1fr;gap:25px}.story-process-intro>p:not(.eyebrow){font-size:17px}
 .story-villa-mimosa .media-section video{height:560px}.story-villa-mimosa .mimosa-bath-process{grid-template-columns:1fr;gap:30px}
 .story-villa-mimosa .mimosa-bath-process>div{max-width:none}.story-villa-mimosa .mimosa-bath-process .film-frame{width:100%;max-width:420px}
 .story-jbdc-blue-epoxy .story-hero,.story-courtyard-planters .story-hero{grid-template-columns:1fr}
 .story-jbdc-blue-epoxy .story-opening,.story-courtyard-planters .story-opening{padding:36px 6%}
 .story-jbdc-blue-epoxy .story-hero::before,.story-courtyard-planters .story-hero::before{inset:0;height:auto}
 .story-jbdc-blue-epoxy .story-lead-image video{min-height:0;height:80svh;max-height:820px}
 .story-courtyard-planters .story-lead-image.portrait img{max-height:760px}
 .story-evolved .courtyard-view-grid img{height:510px}.story-evolved .courtyard-making{grid-template-columns:1fr;gap:32px}
 .story-evolved .reception-compare{min-height:0;height:auto;aspect-ratio:4/3}
 .story-evolved .reception-details .detail-pair img{height:560px;max-height:none}
}
@media(max-width:520px){
 .story-evolved .story-opening .display-title{font-size:clamp(56px,15vw,77px)}
 .story-evolved .story-opening h1 em{font-size:clamp(34px,9vw,43px)}
 .story-evolved .story-opening>.eyebrow{font-size:9px;line-height:1.7}.story-evolved .story-opening .breadcrumb{font-size:11px}
 .story-evolved .story-opening .actions{flex-direction:column;align-items:flex-start;gap:8px}
 .story-evolved .story-lead-image>figcaption{font-size:9px;padding:14px 6%}
 .story-evolved .mimosa-room-nav{display:flex}.story-chapter-nav{padding-inline:3%}
 .story-evolved .reading-copy .standfirst{font-size:21px}.story-evolved .reading-copy h2{font-size:32px}
 .story-evolved .client-memory{padding:26px 0 26px 22px}.story-evolved .reading-copy .client-memory blockquote{font-size:25px}
 .story-villa-mimosa .mimosa-bedroom-opening h2{font-size:39px}.story-villa-mimosa .mimosa-bedroom-copy{grid-template-columns:1fr}
 .story-villa-mimosa .mimosa-columns-feature{grid-template-columns:1fr;gap:25px}.story-villa-mimosa .mimosa-columns-feature>img{height:auto;max-height:none}
 .story-villa-mimosa .mimosa-room-caption h3{font-size:36px}.story-villa-mimosa .mimosa-dawn-feature .mimosa-room-caption{grid-template-columns:1fr;gap:20px}
 .story-process-links{gap:8px 20px}.story-process-links a{font-size:11px}
 .story-villa-mimosa .mimosa-details{grid-template-columns:1fr;gap:35px}.story-villa-mimosa .mimosa-details figure:first-child{max-width:none}
 .story-villa-mimosa .mimosa-film-heading{margin-top:40px}.story-villa-mimosa .mimosa-powder-film .film-play{width:100%;font-size:24px;gap:12px}
 .story-villa-mimosa .mimosa-powder-film .film-play>span{font-size:13px}.story-villa-mimosa .media-section video{height:auto;aspect-ratio:9/16;max-height:78svh}
 .story-evolved .courtyard-view-grid{grid-template-columns:1fr;gap:35px}.story-evolved .courtyard-view-grid img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
 .story-evolved .courtyard-planter-view{max-width:none;justify-self:stretch}.story-evolved .courtyard-making h2{font-size:40px}
 .story-evolved .reception-details .detail-pair{grid-template-columns:1fr;gap:35px}.story-evolved .reception-details .detail-pair img{height:auto;width:100%}
 .story-evolved .compare-actions{padding:14px 6%;gap:8px}.story-evolved .compare-actions button{min-width:0;flex:1;font-size:11px}
 .story-evolved .takeaway>p:last-child{font-size:29px}.story-evolved .next-title{font-size:37px;gap:20px}
}
@media(prefers-reduced-motion:reduce){.story-motion .story-reveal,.story-motion .story-awaiting{opacity:1;transform:none;transition:none}}
