/* Crostella's editorial case study. Deliberately independent of other projects. */
body[data-project="crostella"] .cst-editorial-hero,
body[data-project="crostella"] #project-story{--cream:#f7eddc;--ivory:#f7eddc;--terracotta:#c1442e;--olive:#9e9b4a;--hazelnut:#6c4c2e;--lemon:#efcc62;--ink:#372b21;--universe-base:#f7eddc;--universe-ink:#372b21;--universe-accent:#a73520;--universe-light:#f7eddc;--case-width:1280px;background:var(--cream);color:var(--ink)}
body[data-project="crostella"] .cst-editorial-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;isolation:isolate;overflow:hidden}
body[data-project="crostella"] .cst-hero-copy{padding:clamp(36px,6vw,90px) 6vw;min-width:0}
body[data-project="crostella"] .cst-kicker{font-size:12px;letter-spacing:.15em;line-height:1.7;text-transform:uppercase;margin:0 0 26px}
body[data-project="crostella"] .cst-hero-copy h1{font-size:clamp(4.2rem,8.8vw,9rem);line-height:.98;letter-spacing:-.04em;color:#a73520;margin:0 0 30px;text-wrap:balance}
body[data-project="crostella"] .cst-hero-copy h1 em{font-style:italic}
body[data-project="crostella"] .cst-hero-copy>p:not(.cst-kicker){font-size:clamp(18px,1.6vw,24px);line-height:1.6;max-width:29ch;margin:0 0 24px}
body[data-project="crostella"] .cst-offer{display:block;font-size:14px;letter-spacing:.08em;margin:0 0 26px;text-decoration:underline;text-underline-offset:5px}
body[data-project="crostella"] .cst-enter{border-radius:99px;font-size:13px;min-height:48px;letter-spacing:.04em;color:#f7eddc;background:#a73520;border-color:#a73520}
body[data-project="crostella"] .cst-hero-photo{margin:0;min-width:0;background:#f3dcc1}
body[data-project="crostella"] .cst-hero-photo img{display:block;width:100%;height:auto;max-height:900px;object-fit:contain}
body[data-project="crostella"] .cst-brief-band{padding:35px 5vw 40px;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;border-bottom:1px solid var(--line)}
body[data-project="crostella"] .cst-brief-band>p{font-size:clamp(1.7rem,2.6vw,2.6rem);line-height:1.15;margin:0;max-width:20ch}
body[data-project="crostella"] .cst-brief-band ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:0;font-size:13px;line-height:1.5}
body[data-project="crostella"] .cst-brief-band li>span{display:block;font-size:2.5rem;line-height:1;margin-bottom:12px;color:#a73520}
body[data-project="crostella"] #project-story .section{padding-block:clamp(52px,7vw,100px)}
body[data-project="crostella"] #project-story .display{font-size:clamp(2.8rem,5.7vw,6.2rem);line-height:1.04;max-width:17ch;letter-spacing:-.035em}
body[data-project="crostella"] .section-head{align-items:end;margin-bottom:40px}
body[data-project="crostella"] .section-head>p{font-size:18px;line-height:1.8}
body[data-project="crostella"] #project-story .section-number{color:inherit;font-size:12px}
body[data-project="crostella"] #project-story .btn{border-radius:99px;min-height:48px;font-size:13px;letter-spacing:.04em}
body[data-project="crostella"] #project-story .btn.primary{background:#a73520;border-color:#a73520;color:#f7eddc}
body[data-project="crostella"] #project-story .btn:focus-visible,
body[data-project="crostella"] #project-story button:focus-visible,
body[data-project="crostella"] .cst-editorial-hero a:focus-visible{outline:3px solid currentColor;outline-offset:5px}
body[data-project="crostella"] #project-story .intro{background:#a73520;color:#f7eddc}
body[data-project="crostella"] .intro-top blockquote{font-size:clamp(2.6rem,4.6vw,4.6rem)}
body[data-project="crostella"] .triad{gap:36px;margin-top:38px}
body[data-project="crostella"] .triad article{border:0;border-radius:0;padding:0}
body[data-project="crostella"] .triad h3{font-size:28px;color:#ffe0aa}
body[data-project="crostella"] .triad p{font-size:16px}
body[data-project="crostella"] .cst-strategy-extension{max-width:1280px;margin:52px auto 0;background:#f7eddc;color:#372b21;border-radius:20px;padding:clamp(25px,4vw,52px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6vw}
body[data-project="crostella"] :is(.cst-strategy-extension,.cst-intentions,.cst-subhead,.cst-type-system,.cst-dna,.cst-digital-copy,.cst-web-principle,.cst-deliverables) h3{font-size:clamp(1.9rem,3vw,3rem);line-height:1.12;margin:18px 0}
body[data-project="crostella"] :is(.cst-strategy-extension,.cst-intentions,.cst-secondary,.cst-subhead,.cst-type-system,.cst-dna,.cst-digital-copy,.cst-web-principle,.cst-deliverables) p{font-size:17px;line-height:1.75;margin:0 0 18px;max-width:58ch}
body[data-project="crostella"] #project-story dl{margin:24px 0 0;display:grid;gap:16px}
body[data-project="crostella"] #project-story dt{font-size:13px;letter-spacing:.04em}
body[data-project="crostella"] #project-story dd{font-size:16px;line-height:1.65;margin:6px 0 0;max-width:55ch}
body[data-project="crostella"] #project-story .process{background:#f7eddc;color:#372b21}
body[data-project="crostella"] .cst-intentions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:1280px;margin:44px auto 0}
body[data-project="crostella"] .cst-intentions article>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
body[data-project="crostella"] .cst-intentions h3{font-size:28px}
body[data-project="crostella"] #project-story .intention,
body[data-project="crostella"] #project-story .intention-copy{background:#6c4c2e;color:#f7eddc}
body[data-project="crostella"] #project-story .hand{color:#efcc62}
body[data-project="crostella"] .cst-logo-system{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:6vw;align-items:center;max-width:1100px;margin:0 auto 60px}
body[data-project="crostella"] .cst-logo-primary img{aspect-ratio:540/315;object-fit:contain}
body[data-project="crostella"] .cst-logo-primary .cr-image-button{border-radius:0}
body[data-project="crostella"] .cst-secondary .cr-image-button{max-width:400px;border-radius:0;margin:auto}
body[data-project="crostella"] .cst-secondary p{font-size:16px;margin-top:22px}
body[data-project="crostella"] .cst-figure{margin:0;min-width:0}
body[data-project="crostella"] .cst-type-system{display:grid;grid-template-columns:1fr 1fr;gap:6vw;max-width:1280px;margin:60px auto 0;padding-top:38px;border-top:1px solid var(--line);align-items:center}
body[data-project="crostella"] .cst-type-specimen{background:#f8e6d6;padding:clamp(20px,3vw,40px);border-radius:18px}
body[data-project="crostella"] .cst-type-specimen>p{font-size:14px;margin:14px 0 0}
body[data-project="crostella"] #project-story .cst-type-specimen dl{grid-template-columns:1fr 1fr;margin-block:26px}
body[data-project="crostella"] .cst-type-specimen small{font-size:12px;line-height:1.5;display:block}
body[data-project="crostella"] #project-story .palette{padding-top:0}
body[data-project="crostella"] .swatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-radius:20px;overflow:hidden}
body[data-project="crostella"] .swatch{padding:28px;min-height:245px;justify-content:flex-start;border:0!important;border-radius:0;transform:none!important}
body[data-project="crostella"] .swatch b{font-size:1.8rem}
body[data-project="crostella"] .swatch span{font-size:14px}
body[data-project="crostella"] .swatch p{font-size:16px;line-height:1.65;margin:26px 0 0;max-width:30ch}
body[data-project="crostella"] .swatch.s1{background:#c1442e;color:#fffaf1}
body[data-project="crostella"] .swatch.s2{background:#ecd3bb;color:#372b21}
body[data-project="crostella"] .swatch.s3{background:#fff8ec;color:#372b21}
body[data-project="crostella"] .swatch.s4{background:#6c4c2e;color:#fffaf1}
body[data-project="crostella"] .swatch.s5{background:#9e9b4a;color:#29281b}
body[data-project="crostella"] .swatch.s6{background:#efcc62;color:#372b21}
body[data-project="crostella"] #project-story .character{background:#ecd3bb}
body[data-project="crostella"] .archetypes{gap:32px}
body[data-project="crostella"] .archetype{padding:0;background:transparent;border:0;border-radius:0}
body[data-project="crostella"] .archetype strong{font-size:clamp(4rem,7vw,6.5rem);color:#a73520}
body[data-project="crostella"] .cst-dna{max-width:1280px;margin:48px auto 0;border-top:1px solid var(--line);padding-top:30px}
body[data-project="crostella"] .cst-dna h3{font-size:clamp(2.3rem,4vw,4rem)}
body[data-project="crostella"] .cst-dna>p:last-child{max-width:76ch}
body[data-project="crostella"] #project-story .applications{background:#6c4c2e;color:#f7eddc}
body[data-project="crostella"] .cst-packaging{max-width:1280px;margin:auto}
body[data-project="crostella"] .cst-subhead{display:grid;grid-template-columns:1fr 1fr;gap:0 6vw;margin-bottom:30px}
body[data-project="crostella"] .cst-subhead>.section-number{grid-column:1/-1}
body[data-project="crostella"] .cst-subhead h3{margin:16px 0 0}
body[data-project="crostella"] .cst-subhead p{margin-top:16px}
body[data-project="crostella"] .cst-pack-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:25px;align-items:start}
body[data-project="crostella"] .cst-pack-grid .cst-pack-bag{grid-row:span 2}
body[data-project="crostella"] .cst-pack-grid img{width:100%;aspect-ratio:1;object-fit:cover}
body[data-project="crostella"] .cst-pack-grid .cst-pack-bag img{aspect-ratio:426/667}
body[data-project="crostella"] .cst-pattern-row{display:grid;grid-template-columns:1.6fr .4fr;gap:40px;align-items:center;margin-top:32px}
body[data-project="crostella"] .cst-pattern-row>.cst-figure:first-child img{aspect-ratio:16/7;object-fit:cover}
body[data-project="crostella"] .cst-pattern-row>.cst-figure:last-child .cr-image-button{background:#a99f4b}
body[data-project="crostella"] .cst-pattern-row>.cst-figure:last-child img{height:310px;object-fit:contain}
body[data-project="crostella"] .cst-space{max-width:1280px;margin:56px auto 32px}
body[data-project="crostella"] .cst-space h3{grid-column:1/-1}
body[data-project="crostella"] .cst-digital-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;max-width:1200px;margin:auto}
body[data-project="crostella"] .cst-feed-specimen{background:#fff8ec;border:1px solid var(--line);border-radius:20px;overflow:hidden;padding:24px}
body[data-project="crostella"] .cst-feed-specimen>.cst-kicker{font-size:13px;margin-bottom:20px}
body[data-project="crostella"] .cst-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:hidden;border-radius:10px}
body[data-project="crostella"] .cst-feed img{aspect-ratio:1;width:100%;height:auto;object-fit:cover}
body[data-project="crostella"] .cst-caption{font-size:13px!important;line-height:1.6!important;letter-spacing:.02em;margin:16px 0 0!important}
body[data-project="crostella"] .cst-digital-copy .btn{margin-top:30px;text-transform:none}
body[data-project="crostella"] .cst-web-principle{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center;max-width:1280px;margin:70px auto 0}
body[data-project="crostella"] .cst-web-frame{margin:0;background:#fff8ec;border-radius:16px;overflow:hidden;border:1px solid var(--line);min-width:0}
body[data-project="crostella"] #project-story .cst-web-frame>figcaption{padding:10px 22px;background:#ecd3bb;font-size:12px}
body[data-project="crostella"] .cst-web-top{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;gap:12px;font-size:12px}
body[data-project="crostella"] .cst-web-top>span:first-child{font-size:23px}
body[data-project="crostella"] .cst-web-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center}
body[data-project="crostella"] .cst-web-hero>div{padding:22px}
body[data-project="crostella"] .cst-web-hero p{font-size:14px;margin:0}
body[data-project="crostella"] .cst-web-hero h4{font-size:clamp(1.6rem,2.6vw,2.8rem);line-height:1.08;margin:14px 0;color:#a73520}
body[data-project="crostella"] .cst-web-hero span{display:inline-block;padding:10px 13px;background:#50512b;color:#fff8ec;font-size:12px;margin-top:12px;border-radius:6px}
body[data-project="crostella"] .cst-web-hero>img{aspect-ratio:1;width:100%;height:auto;object-fit:contain}
body[data-project="crostella"] .cst-web-title{font-size:26px!important;line-height:1.1!important;padding:22px 22px 0;margin:0!important}
body[data-project="crostella"] .cst-web-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:20px 22px}
body[data-project="crostella"] .cst-web-products img{aspect-ratio:4/5;object-fit:cover;border-radius:8px}
body[data-project="crostella"] .cst-web-foot{background:#50512b;color:#fff8ec;font-size:19px;text-align:center;padding:20px}
body[data-project="crostella"] #project-story .campaign{background:#a73520;color:#f7eddc}
body[data-project="crostella"] .cst-campaign-pair{max-width:820px;margin:48px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:32px}
body[data-project="crostella"] .cst-campaign-pair img{width:100%;height:auto;min-height:0;object-fit:contain}
body[data-project="crostella"] .cst-urban{max-width:1280px;margin:42px auto 0}
body[data-project="crostella"] .cst-urban img{height:auto;min-height:0}
body[data-project="crostella"] #project-story .experience{background:#6c4c2e}
body[data-project="crostella"] .cst-deliverables{max-width:1280px;margin:0 auto 35px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
body[data-project="crostella"] .cst-deliverables li{border-top:1px solid var(--line);padding-top:20px}
body[data-project="crostella"] .cst-deliverables li>span{font-size:15px;color:#a73520}
body[data-project="crostella"] .cst-summary-actions{max-width:1280px;margin:auto;display:flex;flex-wrap:wrap;gap:14px}
/* Scoped responsive rules preserve the full poster and remove minimum widths from all new grids. */
@media(max-width:980px){
 body[data-project="crostella"] .cst-hero-copy{padding:30px 5vw}
 body[data-project="crostella"] .cst-hero-copy h1{font-size:clamp(3.5rem,8vw,6rem)}
 body[data-project="crostella"] .cst-hero-copy>p:not(.cst-kicker){font-size:19px}
 body[data-project="crostella"] :is(.cst-brief-band,.cst-web-principle){gap:30px}
 body[data-project="crostella"] .cst-pack-grid{gap:18px}
 body[data-project="crostella"] .cst-web-hero{grid-template-columns:1fr}
 body[data-project="crostella"] .cst-web-hero>img{max-height:280px}
 body[data-project="crostella"] .cst-web-top>span:last-child{display:none}
}
@media(max-width:700px){
 body[data-project="crostella"] .cst-editorial-hero{grid-template-columns:1fr}
 body[data-project="crostella"] .cst-hero-copy{padding:34px 6vw 36px}
 body[data-project="crostella"] .cst-hero-copy h1{font-size:clamp(3.8rem,15vw,6rem);margin-bottom:24px;max-width:9ch}
 body[data-project="crostella"] .cst-hero-copy .cst-kicker{font-size:11px;margin-bottom:24px}
 body[data-project="crostella"] .cst-hero-copy>p:not(.cst-kicker){max-width:30ch}
 body[data-project="crostella"] .cst-offer{margin-bottom:24px}
 body[data-project="crostella"] .cst-hero-photo img{max-height:none;width:100%;height:auto}
 body[data-project="crostella"] .cst-brief-band{grid-template-columns:1fr;padding:28px 6vw;gap:28px}
 body[data-project="crostella"] .cst-brief-band ol{gap:16px;font-size:12px}
 body[data-project="crostella"] #project-story .section{padding:46px 6vw}
 body[data-project="crostella"] #project-story .display{font-size:clamp(2.65rem,11.5vw,4rem);line-height:1.06}
 body[data-project="crostella"] .section-head>p{font-size:17px}
 body[data-project="crostella"] .triad{gap:25px}
 body[data-project="crostella"] :is(.cst-strategy-extension,.cst-intentions,.cst-logo-system,.cst-type-system,.cst-subhead,.cst-digital-grid,.cst-web-principle,.cst-deliverables){grid-template-columns:1fr;gap:24px}
 body[data-project="crostella"] .cst-strategy-extension{margin-top:36px;padding:24px}
 body[data-project="crostella"] .cst-intentions{margin-top:32px}
 body[data-project="crostella"] .cst-intentions h3{font-size:27px}
 body[data-project="crostella"] .cst-logo-system{margin-bottom:32px}
 body[data-project="crostella"] .cst-logo-primary{max-width:540px;width:100%;margin:auto}
 body[data-project="crostella"] .cst-type-system{margin-top:36px}
 body[data-project="crostella"] #project-story .palette{padding-top:0}
 body[data-project="crostella"] .swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-project="crostella"] .swatch{min-height:240px;padding:20px 17px}
 body[data-project="crostella"] .swatch b{font-size:1.5rem}
 body[data-project="crostella"] .swatch p{font-size:15px;line-height:1.6;margin-top:20px}
 body[data-project="crostella"] .archetypes{gap:26px}
 body[data-project="crostella"] .archetype strong{font-size:3.6rem}
 body[data-project="crostella"] .cst-dna{margin-top:32px}
 body[data-project="crostella"] .cst-subhead>h3,body[data-project="crostella"] .cst-subhead>p{margin:0}
 body[data-project="crostella"] .cst-pack-grid{grid-template-columns:1fr 1fr;gap:24px 14px}
 body[data-project="crostella"] .cst-pack-grid .cst-pack-bag{grid-row:auto;grid-column:1/-1;max-width:400px;width:100%;justify-self:center}
 body[data-project="crostella"] .cst-pattern-row{grid-template-columns:1fr;gap:24px;margin-top:32px}
 body[data-project="crostella"] .cst-pattern-row>.cst-figure:last-child{width:180px;max-width:70%;justify-self:center}
 body[data-project="crostella"] .cst-space{margin-top:38px}
 body[data-project="crostella"] .cst-feed-specimen{padding:18px}
 body[data-project="crostella"] .cst-web-principle{margin-top:45px}
 body[data-project="crostella"] .cst-web-hero{grid-template-columns:1fr 1fr}
 body[data-project="crostella"] .cst-web-hero>div{padding:16px}
 body[data-project="crostella"] .cst-web-hero h4{font-size:clamp(1.4rem,6vw,2.4rem)}
 body[data-project="crostella"] .cst-web-hero span{font-size:11px;padding:8px}
 body[data-project="crostella"] .cst-web-top{padding:16px}
 body[data-project="crostella"] .cst-web-top>span:first-child{font-size:21px}
 body[data-project="crostella"] .cst-web-foot{font-size:17px}
 body[data-project="crostella"] .cst-campaign-pair{gap:20px;max-width:400px;grid-template-columns:1fr;margin-top:30px}
 body[data-project="crostella"] .cst-urban{margin-top:30px}
 body[data-project="crostella"] .cst-deliverables{gap:20px}
 body[data-project="crostella"] .cst-deliverables h3{margin-top:10px}
}
@media(max-width:360px){body[data-project="crostella"] .cst-brief-band ol{grid-template-columns:1fr;gap:18px}body[data-project="crostella"] .cst-brief-band li>span{display:inline;margin-right:12px;font-size:1.7rem}body[data-project="crostella"] .swatches{grid-template-columns:1fr}body[data-project="crostella"] .swatch{min-height:190px}body[data-project="crostella"] .cst-web-hero{grid-template-columns:1fr}}

/* Detail photograph: fill its existing portrait tile without olive bars. */
body[data-project="crostella"] .app-grid .tile.full .cr-image-button{position:relative;overflow:hidden;aspect-ratio:3/4;background:transparent}
body[data-project="crostella"] .app-grid .tile.full img{display:block;width:100%;height:100%;object-fit:cover;object-position:74% 54%}
