@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#1a1b21;--paper:#f4f3ee;--line:#c9c8c1;--lime:#d7f33f;--muted:#585a60;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:1rem;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}a:focus-visible{outline:3px solid #754ae8;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Space Grotesk',Arial,sans-serif;line-height:1.02;letter-spacing:-.045em}.wrap{max-width:1440px;margin:auto;padding-inline:clamp(22px,5vw,86px)}.small{font-family:'Space Grotesk',Arial,sans-serif;font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:10;background:rgba(244,243,238,.96);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-family:'Space Grotesk',Arial,sans-serif;text-decoration:none;font-size:1.25rem;font-weight:700;letter-spacing:-.06em;white-space:nowrap}.wordmark span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--lime);font-size:1rem;margin-right:9px}.nav{display:flex;gap:clamp(18px,3vw,46px);align-items:center}.nav a{text-decoration:none;font-size:.9rem;font-weight:700}.nav a:hover,.inline:hover{text-decoration:underline;text-underline-offset:5px}.nav .contact-link{background:var(--ink);color:#fff;padding:10px 18px;border-radius:100px}.nav .contact-link:hover{background:#41434b;text-decoration:none}
.case-hero{padding-top:clamp(65px,8vw,115px);padding-bottom:clamp(55px,7vw,105px)}.breadcrumb{display:flex;gap:12px;align-items:center;margin-bottom:55px}.breadcrumb a{text-underline-offset:4px}.case-hero h1{font-size:clamp(3.6rem,8.5vw,9.6rem);max-width:1200px;margin:0 0 35px}.intro{font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.35;max-width:780px;margin:0}.case-index{color:var(--muted)}.hero-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);padding-top:18px;margin-top:65px}.hero-meta span{font-weight:700}.hero-visual{background:var(--visual-bg,#30343a);padding:clamp(18px,5vw,78px)}.hero-visual img{margin:auto;width:auto;max-height:min(74vh,850px);object-fit:contain;box-shadow:0 18px 55px rgba(0,0,0,.13)}.hero-visual.wide img{width:100%;max-height:none;box-shadow:none}.hero-visual img.no-shadow{box-shadow:none}
.case-body{padding-block:clamp(75px,9vw,145px)}.story-grid{display:grid;grid-template-columns:1fr 2fr;gap:clamp(40px,7vw,110px);border-top:1px solid var(--line);padding-top:26px;margin-bottom:100px}.story-label{font-size:clamp(1.8rem,3vw,3rem);margin:0}.story-copy{max-width:850px}.story-copy p{font-size:clamp(1.08rem,1.5vw,1.34rem);line-height:1.5;margin:0 0 24px}.outcome{border-left:5px solid var(--lime);padding:8px 0 8px 22px;font-weight:700}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,3vw,48px) 22px}.gallery figure{margin:0;min-width:0}.gallery figure.full{grid-column:1/-1}.gallery .art{display:grid;place-items:center;min-height:290px;padding:clamp(15px,3vw,50px);background:var(--image-bg,#e4e4e2)}.gallery .art img{width:auto;max-height:750px;object-fit:contain}.gallery .art.wide img{width:100%;max-height:none}.gallery figcaption{font-size:.9rem;color:var(--muted);margin-top:12px;max-width:650px}.source-note{border-top:1px solid var(--line);padding-top:20px;margin-top:90px;color:var(--muted);font-size:.92rem}.source-note a{text-underline-offset:4px}.next{background:var(--ink);color:var(--paper);padding-block:85px 100px}.next a{text-decoration:none;display:block}.next h2{font-size:clamp(3rem,7vw,7rem);margin:20px 0 0}.next a:hover h2{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:10px}.footer{background:var(--ink);color:#c7c8c3;border-top:1px solid #67686a;padding-block:25px;display:flex;justify-content:space-between;gap:20px;font-size:.85rem}.footer a{text-underline-offset:4px}
@media(max-width:800px){.story-grid{grid-template-columns:1fr;gap:25px;margin-bottom:65px}.hero-meta{flex-wrap:wrap}.case-hero h1{font-size:clamp(3.2rem,11vw,6rem)}.hero-visual{padding:22px}.gallery{grid-template-columns:1fr}.gallery figure.full{grid-column:auto}.gallery .art{min-height:200px}.footer{display:block}}
@media(max-width:520px){.header-inner{min-height:66px}.nav{gap:15px}.nav a:nth-child(2){display:none}.nav a{font-size:.85rem}.nav .contact-link{padding:8px 12px}.wordmark{font-size:1.05rem}.wordmark span{width:27px;height:27px}.case-hero{padding-top:55px}.breadcrumb{margin-bottom:50px}.hero-meta{margin-top:55px}.intro{font-size:1.12rem}.gallery .art{padding:12px}.next{padding-block:70px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
.case-carousel{border-top:1px solid var(--line);padding-top:22px}.carousel-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.carousel-heading h2{font-size:clamp(2.2rem,4vw,4.5rem);margin:12px 0 0}.carousel-controls{display:flex;align-items:center;gap:12px}.carousel-count{font-family:'Space Grotesk',Arial,sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.08em;margin-right:8px;min-width:60px}.carousel-arrow{width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;background:var(--ink);color:var(--paper);font-size:1.3rem;cursor:pointer}.carousel-arrow:hover:not(:disabled){background:#42434b}.carousel-arrow:disabled{opacity:.35;cursor:default}.carousel-arrow:focus-visible,.carousel-dots button:focus-visible{outline:3px solid #754ae8;outline-offset:4px}.carousel-stage{display:grid;place-items:center;background:#e9e1dc;padding:clamp(18px,5vw,65px);min-height:500px}.carousel-slide{margin:0;text-align:center;width:100%}.carousel-slide[hidden]{display:none}.carousel-slide img{width:auto;max-height:min(75vh,800px);margin:auto;object-fit:contain;box-shadow:0 18px 45px rgba(31,20,28,.15)}.carousel-slide figcaption{margin-top:18px;color:var(--muted);font-size:.9rem}.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:22px}.carousel-dots button{width:12px;height:12px;border-radius:50%;border:1px solid var(--ink);background:transparent;cursor:pointer}.carousel-dots button[aria-current="true"]{background:var(--ink)}@media(max-width:600px){.carousel-heading{align-items:start;display:block}.carousel-controls{margin-top:22px}.carousel-stage{min-height:0;padding:18px}.carousel-slide img{max-height:70vh}}

.process-breakdown{margin:0 0 clamp(75px,9vw,125px);border-top:1px solid var(--line);padding-top:22px}.process-art{display:grid;place-items:center;background:#e9e1dc;padding:clamp(18px,5vw,60px);margin-top:25px}.process-art img{max-width:100%;max-height:650px;object-fit:contain}.process-breakdown figcaption{font-size:.9rem;color:var(--muted);margin-top:15px}.case-video{border-top:1px solid var(--line);margin-top:clamp(80px,9vw,135px);padding-top:22px}.case-video h2{font-size:clamp(2.2rem,4vw,4.5rem);margin:12px 0 30px}.case-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#162d43}.case-video+.source-note{margin-top:80px}

.poster-mockup{margin:0}.poster-mockup-scene{position:relative;aspect-ratio:1672/941;background:#b8bab8 url('assets/haulier-mockup-wall.webp') center/cover no-repeat;overflow:hidden}.poster-mockup-scene img{position:absolute;top:8%;left:33%;width:25%;height:auto;max-height:73%;object-fit:contain;box-shadow:3px 12px 28px rgba(0,0,0,.28),0 0 0 2px rgba(255,255,255,.36)}.poster-mockup figcaption{font-size:.84rem;color:var(--muted);max-width:1440px;margin:0 auto;padding:14px clamp(22px,5vw,86px) 0}.haulier-carousel .carousel-stage{background:#e9e7db}@media(max-width:650px){.poster-mockup-scene{aspect-ratio:4/5;background-position:50% 50%}.poster-mockup-scene img{width:58%;left:16%;top:11%;max-height:71%}}

.sham-carousel .carousel-stage{background:#e7dac1}.sham-video p{max-width:780px;font-size:clamp(1.08rem,1.5vw,1.34rem);line-height:1.5;margin:0 0 28px}.sham-video video{width:min(100%,820px);margin:auto;aspect-ratio:1/1}
