/* The approved editorial case-study system, with four distinct brand worlds. */
.ec-art{--ff-green:#b6bac0;--ff-light:#eceeef;--case-ink:#101113;--case-stage:#191b1e;font-family:'CR Reading',Arial,sans-serif;background:var(--case-ink);color:var(--ff-light);overflow:hidden}
.ec-art.ec-aw{--ff-green:#e0e1db;--ff-light:#f4f4ef;--case-ink:#101214;--case-stage:#202226}
.ec-art.ec-seb{--ff-green:#a88be6;--ff-light:#eeeaf7;--case-ink:#08090c;--case-stage:#17111f}
.ec-art.ec-mx{--ff-green:#ab83ed;--ff-light:#ece8e1;--case-ink:#17101f;--case-stage:#21152b}
.ec-art h1,.ec-art h2,.ec-art h3{font-family:'CR Reading',Arial,sans-serif!important;font-weight:400!important;text-transform:none;letter-spacing:-.055em;line-height:1.08}
.ec-art .ff-art-title h1{text-transform:uppercase;font-size:clamp(4rem,15vw,17rem);letter-spacing:-.075em;line-height:1;margin:45px 0 50px;overflow-wrap:normal}
.ec-art.ec-seb .ff-art-title h1{font-size:clamp(6rem,20vw,23rem)}
.ec-title-sub{display:block;font-size:.18em;letter-spacing:.25em;line-height:1.5;margin:20px 0 0 .1em;color:var(--ff-green)}
.ec-art .ff-art-title .ff-art-deck>p{font-size:clamp(1.5rem,2.7vw,2.9rem);color:var(--ff-light)}
.ec-art .ff-art-meta,.ec-art .ff-section-line,.ec-art .ff-audience-grid article,.ec-art .ff-build-method article{border-color:#ffffff29}
.ec-art .ff-art-meta,.ec-art .ff-image-caption,.ec-art .ff-type-specimen>span:last-child{color:#c6c1ce}
.ec-art .ff-art-hero{aspect-ratio:1.85;min-height:620px;background:var(--case-ink)}
.ec-art .ff-art-hero>.ff-art-image{object-fit:cover;object-position:65% center}
.ec-art .ff-hero-shade{background:linear-gradient(90deg,#08090ceb,transparent 80%),linear-gradient(0deg,#08090cb8,transparent 45%)}
.ec-art .ff-art-hero-copy{width:45%;max-width:690px}
.ec-art .ff-art-hero h2{font-size:clamp(2.7rem,5.9vw,6.8rem)}
.ec-art .ff-art-hero h2 em{color:var(--ff-light)}
.ec-art.ec-fc .ec-hero{aspect-ratio:auto;min-height:0;display:flex;flex-direction:column}
.ec-art.ec-fc .ec-hero>.ff-art-image{position:relative;inset:auto;aspect-ratio:1800/1013;object-fit:contain;height:auto}
.ec-art.ec-fc .ec-hero .ff-hero-shade{display:none}
.ec-art.ec-fc .ec-hero .ff-art-hero-copy{position:relative;inset:auto;transform:none;max-width:none;width:auto;padding:55px 6%;display:grid;grid-template-columns:1.15fr 1fr;gap:20px 8%;background:var(--case-stage)}
.ec-art.ec-fc .ec-hero .ff-eyebrow{grid-column:1/-1;margin-bottom:5px}
.ec-art.ec-fc .ec-hero h2{margin:0}.ec-art.ec-fc .ec-hero .ff-art-hero-copy>p:last-child{align-self:end;max-width:none}
.ec-art.ec-fc .ff-image-caption{top:24px;bottom:auto;color:#222328;background:#eeeeeedb;padding:5px 10px}
.ec-art.ec-aw .ff-hero-shade{background:linear-gradient(90deg,#08090ce6,transparent 65%),linear-gradient(0deg,#08090c80,transparent 40%)}
.ec-art.ec-mx .ec-hero{background:radial-gradient(ellipse at 75% 55%,#4c276777,transparent 68%),#0c0910}
.ec-art.ec-mx .ec-hero>.ff-art-image{width:55%;height:92%;left:43%;top:4%;object-fit:contain;object-position:center}
.ec-art.ec-mx .ff-hero-shade{display:none}
.ec-art .ff-manifesto{background:var(--ff-green);color:#111214;max-width:none}
.ec-art .ff-manifesto h2{font-size:clamp(3rem,8vw,9rem)}
.ec-art .ff-manifesto p,.ec-art .ff-manifesto .ff-eyebrow{color:#17121d}
.ec-art .ff-manifesto h2 em{color:#39303f}
.ec-art .ff-interface-intro{border-color:#ffffff29}
.ec-art .ec-detail{max-width:1400px;margin:0 auto;background:#0a090c}
.ec-art .ec-detail>img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.ec-art .ff-interface-art figcaption{color:#bbb5c4;border-color:#ffffff29}
.ec-art .ff-design{background:var(--case-stage)}
.ec-art .ff-type-specimen{background:var(--case-ink);border-color:#ffffff29;min-width:0}
.ec-art .ff-type-specimen>p{font-family:'CR Reading',Arial,sans-serif;font-weight:600;font-size:clamp(2.9rem,5.7vw,6.7rem);letter-spacing:-.065em;color:var(--ff-light)}
.ec-art .ff-type-specimen>span:last-child{font-size:.8rem;letter-spacing:.04em}
.ec-art .ff-colours i{border-color:#ffffff40}.ec-art .ff-colours span{color:#c4becc}
.ec-art .ff-audience-grid h3{font-size:clamp(1.55rem,2.5vw,2.8rem)}
.ec-art .ff-journey h2{font-size:clamp(2.8rem,5.2vw,6rem)}
.ec-website{margin-top:65px;border-color:#ffffff38!important}
.ec-website summary{font-family:'CR Reading',Arial,sans-serif;font-size:1.1rem;color:var(--ff-light);flex-wrap:wrap;gap:12px}
.ec-website summary>span{font-size:.85rem;color:var(--ff-green);white-space:nowrap}
.ec-capture-window{height:min(78vh,760px);overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--ff-green) var(--case-ink);border:1px solid #ffffff30;max-width:1000px;margin:20px auto;background:#08080b}
.ec-capture-window img{display:block;width:100%;height:auto}.ec-capture-window:focus-visible{outline:2px solid var(--ff-green);outline-offset:4px}
.ec-art .ff-build-method{margin-top:55px}
.ec-art .ec-credit{max-width:700px;font-size:.875rem;color:#ada5b6;margin:30px 0 0 25%}
.ec-art .ff-finale{background:linear-gradient(130deg,var(--case-stage),var(--case-ink) 70%);border-top:1px solid #ffffff29}
.ec-art .ff-finale h2{font-size:clamp(3rem,6.5vw,7.5rem)}
.ec-art .button{background:var(--ff-green);border-color:var(--ff-green);color:#110d17}
.ec-art .button.outline{background:transparent;color:var(--ff-light);border-color:#9b92a7}
.ec-art .button:hover{background:var(--ff-light);border-color:var(--ff-light)}
@media(max-width:1050px){.ec-art .ff-art-title h1{text-transform:uppercase;font-size:14.5vw}.ec-art .ff-art-hero{min-height:550px}.ec-art .ff-art-hero h2{font-size:6.2vw}.ec-art .ff-art-hero-copy{width:48%}.ec-art .ff-manifesto h2{font-size:7.5vw}.ec-art .ff-type-specimen>p{font-size:5.3vw}}
@media(max-width:700px){.ec-art .ff-art-title h1{text-transform:uppercase;font-size:15vw;letter-spacing:-.075em;margin:32px 0}.ec-art.ec-seb .ff-art-title h1{font-size:26vw}.ec-title-sub{font-size:.23em;margin-top:14px;letter-spacing:.18em}.ec-art .ff-art-title .ff-art-deck>p{font-size:1.7rem}
.ec-art .ff-art-hero{aspect-ratio:auto;min-height:690px}.ec-art .ff-art-hero>.ff-art-image{object-position:65% center}.ec-art .ff-hero-shade{background:linear-gradient(0deg,#08090cfa,#08090caa 40%,transparent 77%)}.ec-art .ff-art-hero-copy{width:auto;max-width:none;left:6%;right:6%;bottom:75px;top:auto;transform:none}.ec-art .ff-art-hero h2{font-size:clamp(2.7rem,10vw,4.5rem)}
.ec-art.ec-fc .ec-hero>.ff-art-image{min-height:0}.ec-art.ec-fc .ec-hero .ff-art-hero-copy{grid-template-columns:1fr;padding:40px 6%;gap:25px}.ec-art.ec-fc .ec-hero .ff-eyebrow{grid-column:auto}.ec-art.ec-fc .ff-image-caption{top:12px;right:4%;font-size:.7rem}
.ec-art.ec-aw .ff-hero-shade{background:linear-gradient(0deg,#08090cfa,#08090cb3 38%,transparent 80%)}
.ec-art.ec-mx .ec-hero{min-height:760px}.ec-art.ec-mx .ec-hero>.ff-art-image{width:86%;height:58%;left:7%;top:2%}.ec-art.ec-mx .ec-hero .ff-art-hero-copy{bottom:70px}
.ec-art .ff-manifesto h2{font-size:clamp(2.6rem,10.5vw,4.5rem)}.ec-art .ff-audience-grid h3{font-size:1.8rem}.ec-art .ff-journey h2{font-size:clamp(2.5rem,9.1vw,4rem)}.ec-art .ff-finale h2{font-size:clamp(2.6rem,10vw,4.2rem)}.ec-art .ff-type-specimen>p{font-size:clamp(2.5rem,10vw,4.2rem)}.ec-art .ec-credit{margin-left:0}.ec-website{margin-top:40px}.ec-capture-window{height:65vh}.ec-art .ff-design-notes h2{font-size:2.45rem}}
@media(prefers-reduced-motion:reduce){.ec-art *{scroll-behavior:auto;transition:none}}

/* The custom Maris campaign fills the hero; the object sits beside the headline. */
.ec-art.ec-mx .ec-hero>.ff-art-image{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:center}
.ec-art.ec-mx .ff-hero-shade{display:block;background:linear-gradient(90deg,#08090cc4,transparent 70%)}
@media(max-width:700px){.ec-art.ec-mx .ec-hero{min-height:760px}.ec-art.ec-mx .ec-hero>.ff-art-image{height:58%;object-fit:cover;object-position:70% center}.ec-art.ec-mx .ff-hero-shade{background:linear-gradient(0deg,#08090cf7,#08090c90 33%,transparent 75%)}}

/* Unobscured custom scenes and an uncapped flow prevent section overlap. */
.ec-art .ec-hero{aspect-ratio:auto;min-height:0;max-height:none;display:flex;flex-direction:column;overflow:visible}
.ec-art .ec-hero>.ff-art-image{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;flex:none;z-index:0}
.ec-art .ec-hero .ff-hero-shade{display:none}
.ec-art .ec-hero .ff-art-hero-copy{position:relative;inset:auto;transform:none;max-width:none;width:auto;padding:52px 6%;display:grid;grid-template-columns:1.15fr 1fr;gap:20px 8%;background:var(--case-stage)}
.ec-art .ec-hero .ff-art-hero-copy .ff-eyebrow{grid-column:1/-1;margin-bottom:0}
.ec-art .ec-hero h2{font-size:clamp(2.6rem,4.4vw,5.2rem);line-height:1.14;margin:0}
.ec-art .ec-hero .ff-art-hero-copy>p:last-child{align-self:end;max-width:540px;margin:0}
.ec-art .ec-hero .ff-image-caption{top:20px;bottom:auto;right:3%;background:#08090cd9;color:#ece8e1;padding:6px 10px;z-index:1}
.ec-art.ec-mx .ec-hero>.ff-art-image{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.ec-art .ff-manifesto{padding-top:100px;padding-bottom:100px;position:relative}
.ec-art .ff-manifesto h2{font-size:clamp(2.8rem,5.5vw,6.5rem);line-height:1.14;letter-spacing:-.05em;max-width:1450px}
.ec-art .ff-interface-intro h2,.ec-art .ff-build>h2,.ec-art .ff-journey>h2{font-size:clamp(2.7rem,5.2vw,6.2rem);line-height:1.14}
@media(max-width:700px){
.ec-art .ec-hero,.ec-art.ec-mx .ec-hero{min-height:0;max-height:none}
.ec-art .ec-hero .ff-art-hero-copy{grid-template-columns:1fr;padding:40px 6%;gap:24px}
.ec-art .ec-hero .ff-art-hero-copy .ff-eyebrow{grid-column:auto}
.ec-art .ec-hero h2{font-size:clamp(2.5rem,9vw,3.5rem)}
.ec-art .ec-hero .ff-image-caption{top:12px;max-width:88%;font-size:.75rem}
.ec-art .ff-manifesto{padding-top:60px;padding-bottom:60px}
.ec-art .ff-manifesto h2{font-size:clamp(2.5rem,9.5vw,3.8rem)}
.ec-art .ff-interface-intro h2,.ec-art .ff-build>h2,.ec-art .ff-journey>h2{font-size:clamp(2.5rem,9vw,3.7rem)}
}
.ec-art.ec-fc .ec-hero>.ff-art-image{aspect-ratio:auto}
.ec-art.ec-mx .ec-hero .ff-art-hero-copy{inset:auto}

/* Five distinct campaign scenes per case: cover, detail, paired studies, finale. */
.ec-art .ec-campaign{margin:0;background:var(--case-ink)}
.ec-art .ec-campaign>img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.ec-art .ec-campaign figcaption{display:flex;justify-content:space-between;gap:24px;padding:24px 6%;font-size:.875rem;line-height:1.6;color:#c4becc;border-top:1px solid #ffffff29}
.ec-art .ec-campaign figcaption>span:first-child{color:var(--ff-light)}
.ec-campaign-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:24px 3%;background:var(--case-stage)}
.ec-art .ec-campaign-pair figcaption{flex-direction:column;gap:8px;padding:22px 24px}
@media(max-width:700px){.ec-campaign-pair{grid-template-columns:1fr;gap:24px;padding:24px 6%}.ec-art .ec-campaign figcaption{flex-direction:column;gap:8px;padding:20px 6%}.ec-art .ec-campaign-pair figcaption{padding:20px}}
