
/* Journal Design System 3.0 — Template variants */
:root{--lux-ink:#171614;--lux-muted:#756f66;--lux-gold:#9b7a43;--lux-line:rgba(23,22,20,.14);--lux-paper:#f6f2eb;--lux-soft:#ece5da}
.template-note{font-family:Montserrat,sans-serif;font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lux-gold);margin:0 0 1rem}
.full-bleed-media{margin:3.2rem calc(50% - 50vw);width:100vw;position:relative}.full-bleed-media img{display:block;width:100%;height:min(68vw,720px);object-fit:cover}.full-bleed-media figcaption{max-width:1180px;margin:.8rem auto 0;padding:0 24px;color:var(--lux-muted);font-size:.83rem}
.editorial-chapter{display:grid;grid-template-columns:84px minmax(0,1fr);gap:24px;padding:2.2rem 0;border-top:1px solid var(--lux-line)}.editorial-chapter .chapter-no{font-family:Playfair Display,serif;font-size:2.3rem;color:var(--lux-gold);line-height:1}.editorial-chapter h2{margin-top:0}.editorial-chapter:last-child{border-bottom:1px solid var(--lux-line)}
.timeline{position:relative;margin:2.8rem 0}.timeline:before{content:"";position:absolute;left:20px;top:8px;bottom:8px;width:1px;background:var(--lux-line)}.timeline-item{position:relative;padding:0 0 2.7rem 72px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:12px;top:4px;width:17px;height:17px;border:1px solid var(--lux-gold);background:#fff;border-radius:50%}.timeline-step{font:500 .72rem/1.3 Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--lux-gold);margin-bottom:.55rem}.timeline-item h3{font-size:1.55rem;margin:.1rem 0 .65rem}.timeline-item p{margin:.2rem 0}
.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--lux-line);border:1px solid var(--lux-line);margin:2.6rem 0}.decision-card{background:#fff;padding:2rem}.decision-card.is-featured{background:var(--lux-paper)}.decision-card .kicker{font:500 .68rem/1.4 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lux-gold)}.decision-card h3{font-size:1.65rem;margin:.6rem 0 1rem}.decision-card ul{padding-left:1.1rem;margin:1rem 0}.decision-card li{margin:.65rem 0}.score-row{display:grid;grid-template-columns:155px 1fr 40px;gap:14px;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--lux-line);font-size:.9rem}.score-bar{height:4px;background:#ddd6ca}.score-bar span{display:block;height:100%;background:var(--lux-gold)}
.case-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;margin:2.8rem 0}.case-facts{border-top:1px solid var(--lux-line)}.case-fact{display:flex;justify-content:space-between;gap:20px;padding:.9rem 0;border-bottom:1px solid var(--lux-line);font-size:.86rem}.case-fact span:first-child{color:var(--lux-muted)}.case-section{display:grid;grid-template-columns:150px minmax(0,1fr);gap:34px;padding:2.5rem 0;border-top:1px solid var(--lux-line)}.case-section .case-label{font:500 .7rem/1.45 Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--lux-gold)}.result-band{margin:3rem 0;padding:2.5rem;background:var(--lux-ink);color:#fff}.result-band h2{color:#fff;margin-top:0}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2rem}.metric strong{display:block;font:400 2.25rem/1 Playfair Display,serif}.metric span{font-size:.78rem;color:#d8d0c3}
.luxury-hero{min-height:78vh;display:flex;align-items:flex-end;padding:64px;background-position:center;background-size:cover;position:relative;color:#fff}.luxury-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.64))}.luxury-hero>div{position:relative;max-width:850px}.luxury-hero h1{color:#fff;font-size:clamp(2.7rem,5vw,5.5rem);line-height:.98;margin:.5rem 0 1.2rem}.luxury-hero p{max-width:650px;color:rgba(255,255,255,.88)}.luxury-opening{max-width:760px;margin:5rem auto;text-align:center}.luxury-opening p{font:400 clamp(1.35rem,2.3vw,2rem)/1.55 Playfair Display,serif}.luxury-gallery{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(2,320px);gap:14px;margin:3rem 0}.luxury-gallery figure{margin:0;overflow:hidden}.luxury-gallery figure:first-child{grid-row:1/3}.luxury-gallery img{width:100%;height:100%;object-fit:cover;display:block}.quiet-divider{width:1px;height:90px;background:var(--lux-gold);margin:4rem auto}
.template-showcase{background:#f4f0e9;min-height:100vh}.showcase-hero{padding:100px 0 54px;border-bottom:1px solid var(--lux-line)}.showcase-hero h1{font-size:clamp(2.7rem,6vw,5rem);max-width:860px;margin:.5rem 0 1rem}.showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding:48px 0 80px}.showcase-card{background:#fff;border:1px solid var(--lux-line);overflow:hidden}.showcase-thumb{height:260px;background-size:cover;background-position:center;position:relative}.showcase-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.25))}.showcase-copy{padding:24px}.showcase-copy .no{font:500 .68rem Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lux-gold)}.showcase-copy h2{font-size:1.65rem;margin:.65rem 0}.showcase-copy p{font-size:.9rem;color:var(--lux-muted)}.showcase-copy a{display:inline-block;margin-top:12px}
.mobile-scroll-table{overflow-x:auto;margin:2rem 0}.mobile-scroll-table table{min-width:720px;margin:0}
@media(max-width:900px){.case-intro,.case-section{grid-template-columns:1fr}.result-metrics{grid-template-columns:1fr}.luxury-gallery{grid-template-columns:1fr;grid-template-rows:420px 260px 260px}.luxury-gallery figure:first-child{grid-row:auto}.showcase-grid{grid-template-columns:1fr}.editorial-chapter{grid-template-columns:54px 1fr}.luxury-hero{min-height:68vh;padding:34px 24px}.decision-grid{grid-template-columns:1fr}}
@media(max-width:640px){.full-bleed-media img{height:72vw}.timeline-item{padding-left:58px}.timeline:before{left:15px}.timeline-dot{left:7px}.score-row{grid-template-columns:115px 1fr 32px}.case-section{gap:12px}.luxury-gallery{grid-template-rows:300px 210px 210px}.showcase-thumb{height:210px}}


/* Journal Design System 3.1 — visual refinement and offline media QA */
.case-study-media,.timeline-media,.luxury-feature-media{margin:3.5rem 0 4rem;width:100%;position:relative}
.case-study-media img,.timeline-media img{display:block;width:100%;aspect-ratio:2/1;height:auto;object-fit:cover}
.case-study-media figcaption,.timeline-media figcaption,.luxury-feature-media figcaption{margin:.85rem 0 0;color:var(--lux-muted);font-size:.78rem;line-height:1.6;letter-spacing:.015em}

/* Case study: a composed editorial spread, never viewport bleed */
.template-case-study .article-hero{min-height:430px}
.template-case-study .case-intro{margin-top:3.4rem}
.template-case-study .case-study-media{max-width:760px}

/* Timeline: timeline is the visual protagonist */
.template-timeline-v31 .article-hero{min-height:390px;padding-block:64px}
.template-timeline-v31 .article-content>.lead{max-width:650px}
.template-timeline-v31 .timeline{margin:4.2rem 0 3.4rem;padding:3rem 3rem 3.1rem;background:rgba(255,255,255,.42);border-top:1px solid var(--lux-line);border-bottom:1px solid var(--lux-line)}
.template-timeline-v31 .timeline:before{left:50px;top:52px;bottom:54px;background:linear-gradient(var(--lux-gold),rgba(155,122,67,.18))}
.template-timeline-v31 .timeline-item{padding-left:88px;padding-bottom:3.6rem}
.template-timeline-v31 .timeline-dot{left:41px;top:2px;background:var(--lux-paper);box-shadow:0 0 0 7px var(--lux-paper)}
.template-timeline-v31 .timeline-item h3{font-size:clamp(1.55rem,2.1vw,2rem);font-weight:400}
.template-timeline-v31 .timeline-media{margin-top:4.6rem}

/* Luxury Editorial: calmer hierarchy, asymmetry and deliberate whitespace */
.template-luxury-editorial-v31{background:#f3eee5}
.template-luxury-editorial-v31 .article-shell{border-color:rgba(23,22,20,.09)}
.template-luxury-editorial-v31 .luxury-hero{min-height:72vh;padding:clamp(44px,6vw,92px);align-items:flex-end}
.template-luxury-editorial-v31 .luxury-hero>div{max-width:760px;margin-left:clamp(0px,5vw,80px)}
.template-luxury-editorial-v31 .luxury-hero h1{font-size:clamp(3.1rem,6vw,6.4rem);line-height:1.02;letter-spacing:.012em;max-width:920px}
.template-luxury-editorial-v31 .article-main{padding-top:0;background:#f7f3ec}
.template-luxury-editorial-v31 .article-content{max-width:820px}
.template-luxury-editorial-v31 .luxury-opening{max-width:700px;margin:8rem auto 7rem}
.template-luxury-editorial-v31 .luxury-opening p{font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1.62;letter-spacing:.008em}
.template-luxury-editorial-v31 .quiet-divider{height:120px;margin:0 auto 7rem;opacity:.72}
.template-luxury-editorial-v31 .editorial-chapter{grid-template-columns:72px minmax(0,1fr);gap:42px;max-width:700px;margin:0 auto;padding:4rem 0;border-color:rgba(23,22,20,.11)}
.template-luxury-editorial-v31 .editorial-chapter .chapter-no{font-size:1rem;letter-spacing:.12em;padding-top:.5rem}
.template-luxury-editorial-v31 .editorial-chapter h2{font-size:clamp(2rem,3.1vw,3rem);line-height:1.24;margin-bottom:1.15rem}
.template-luxury-editorial-v31 .editorial-chapter p{max-width:590px}
.template-luxury-editorial-v31 .luxury-feature-media{width:calc(100% + 160px);margin:6.5rem -80px 7rem}
.template-luxury-editorial-v31 .luxury-feature-media img{width:100%;aspect-ratio:2/1;height:auto;object-fit:cover}
.template-luxury-editorial-v31 .article-pullquote{max-width:720px;margin:7rem auto;padding:4rem 1rem;font-size:clamp(1.65rem,2.6vw,2.45rem);line-height:1.48;border-color:rgba(155,122,67,.35)}
.template-luxury-editorial-v31 .luxury-gallery{grid-template-columns:1.25fr .75fr;grid-template-rows:360px 360px;gap:18px;margin:7rem -36px}
.template-luxury-editorial-v31 .luxury-gallery figure{position:relative;background:#e6ded2}
.template-luxury-editorial-v31 .luxury-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff;font-size:.72rem;letter-spacing:.04em}
.template-luxury-editorial-v31 .article-end{max-width:700px;margin:8rem auto 0}
.template-luxury-editorial-v31 .gentle-cta{background:transparent;padding:36px 0;border-width:1px 0}

/* Showcase: an editorial index rather than a dashboard */
.template-showcase-v31{background:#f2ede4}
.template-showcase-v31 .showcase-hero{padding:clamp(100px,12vw,170px) 0 clamp(70px,8vw,110px);border-bottom:0;text-align:center}
.template-showcase-v31 .showcase-hero .page-shell{max-width:980px}
.template-showcase-v31 .showcase-hero h1{font-size:clamp(3rem,6.5vw,6.5rem);line-height:1.05;letter-spacing:.012em;margin:1rem auto 2rem}
.template-showcase-v31 .showcase-hero p{max-width:650px;margin:auto;color:var(--lux-muted);font-size:1rem;line-height:1.8}
.template-showcase-v31 .showcase-grid{grid-template-columns:repeat(12,1fr);gap:70px 24px;padding:0 0 120px}
.template-showcase-v31 .showcase-card{grid-column:span 6;background:transparent;border:0;overflow:visible}
.template-showcase-v31 .showcase-card:nth-child(3n+1){grid-column:2/span 7}
.template-showcase-v31 .showcase-card:nth-child(3n+2){grid-column:8/span 4;margin-top:120px}
.template-showcase-v31 .showcase-card:nth-child(3n){grid-column:3/span 8}
.template-showcase-v31 .showcase-thumb{height:auto;aspect-ratio:16/10;box-shadow:0 18px 48px rgba(44,35,22,.08)}
.template-showcase-v31 .showcase-card:nth-child(3n+2) .showcase-thumb{aspect-ratio:4/5}
.template-showcase-v31 .showcase-thumb:after{background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.18))}
.template-showcase-v31 .showcase-copy{padding:24px 0 0;max-width:530px}
.template-showcase-v31 .showcase-copy h2{font-size:clamp(1.9rem,3vw,3rem);margin:.65rem 0 .85rem;line-height:1.17}
.template-showcase-v31 .showcase-copy p{max-width:440px;font-size:.88rem;line-height:1.75}
.template-showcase-v31 .showcase-copy a{margin-top:20px;padding-bottom:7px;border-bottom:1px solid rgba(155,122,67,.55)}

/* Offline image manager */
.media-manager{position:fixed;inset:0;z-index:10002;display:none;background:rgba(20,18,15,.55);backdrop-filter:blur(6px);padding:24px}.media-manager.is-open{display:grid;place-items:center}.media-manager-panel{width:min(980px,100%);max-height:88vh;overflow:auto;background:#f7f3ec;border:1px solid rgba(155,122,67,.35);box-shadow:0 24px 80px rgba(0,0,0,.25)}.media-manager-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#f7f3ec;border-bottom:1px solid var(--lux-line)}.media-manager-head h2{font-size:1.35rem}.media-manager-close{border:0;background:transparent;font-size:1.5rem;cursor:pointer}.media-manager-list{padding:8px 24px 28px}.media-item{display:grid;grid-template-columns:150px 1fr auto;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--lux-line)}.media-preview{width:150px;aspect-ratio:16/10;object-fit:cover;background:#ddd}.media-preview-bg{background-position:center;background-size:cover}.media-fields label{display:block;margin:0 0 12px;font:500 .64rem/1.4 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--lux-muted)}.media-fields input{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--lux-line);background:#fff;font:300 .85rem/1.4 Montserrat,sans-serif}.media-change{padding:11px 14px;border:1px solid var(--lux-line);background:#fff;cursor:pointer;font:500 .66rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.1em}

@media(max-width:1080px){.template-luxury-editorial-v31 .luxury-feature-media{width:100%;margin-left:0;margin-right:0}.template-luxury-editorial-v31 .luxury-gallery{margin-left:0;margin-right:0}.template-showcase-v31 .showcase-card,.template-showcase-v31 .showcase-card:nth-child(n){grid-column:span 6;margin-top:0}}
@media(max-width:760px){.case-study-media img,.timeline-media img{aspect-ratio:16/10}.template-timeline-v31 .timeline{padding:2rem 1.2rem}.template-timeline-v31 .timeline:before{left:31px}.template-timeline-v31 .timeline-dot{left:22px}.template-timeline-v31 .timeline-item{padding-left:58px}.template-luxury-editorial-v31 .luxury-hero{min-height:68vh}.template-luxury-editorial-v31 .luxury-opening{margin:5rem auto}.template-luxury-editorial-v31 .editorial-chapter{grid-template-columns:1fr;gap:12px;padding:3rem 0}.template-luxury-editorial-v31 .luxury-gallery{grid-template-columns:1fr;grid-template-rows:330px 230px 230px;margin-block:5rem}.template-luxury-editorial-v31 .article-pullquote{margin-block:5rem}.template-showcase-v31 .showcase-grid{display:block;padding-inline:22px}.template-showcase-v31 .showcase-card{margin:0 0 70px!important}.template-showcase-v31 .showcase-card:nth-child(3n+2) .showcase-thumb{aspect-ratio:16/10}.media-item{grid-template-columns:90px 1fr}.media-preview{width:90px}.media-change{grid-column:2}}
