/* Shared foundations. Mobile overrides follow the desktop rules. */
:root{--bg:#38383b;--text:#fff;--muted:#d0d0d0;--accent:#e7ca73;--line:#646464;--max:1320px;--gutter:4vw;--body:19px;--h1:clamp(42px,4.25vw,64px);--h2:clamp(30px,3.35vw,48px);--space:clamp(56px,6vw,96px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font-family:Poppins,Arial,sans-serif;font-size:var(--body);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-weight:600;letter-spacing:-.025em;line-height:1.25;margin:0 0 24px}h1{font-size:var(--h1)}h2{font-size:var(--h2)}h3{font-size:clamp(24px,2vw,30px)}h4{font-size:23px}p{margin:0 0 24px}ul,ol{padding-left:1.4em;margin:0 0 28px}li{padding-left:.25em;margin-bottom:12px}strong,b{font-weight:600}.wrap{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}.site-header{width:min(calc(100% - var(--gutter)*2),var(--max));margin:auto;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:54px;height:54px;object-fit:contain}.site-header nav{display:flex;gap:26px;font-size:18px;font-weight:500}.site-header nav a{text-decoration:none}.site-header nav a[aria-current],.site-header nav a:hover{text-decoration:underline}.intro{padding-block:42px var(--space)}.intro h1{max-width:1100px;margin-bottom:28px}.intro-statement{font-size:var(--h2);font-weight:600;line-height:1.3;letter-spacing:-.025em;max-width:1010px;margin-bottom:28px}.intro .button{margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 28px;border:2px solid var(--accent);border-radius:6px;color:var(--accent);font-size:15px;font-weight:500;line-height:1.5;text-decoration:none;min-height:50px;transition:background .18s,color .18s}.button:hover{background:var(--accent);color:#282828}.work{padding-block:12px var(--space);scroll-margin-top:30px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 28px}.project-image{display:block;overflow:hidden;border-radius:12px;margin-bottom:24px}.project-image img{width:100%;aspect-ratio:1.48;object-fit:cover;transition:transform .25s}.project-image:hover img{transform:scale(1.025)}.project-card h3{margin-bottom:20px}.project-card h3 a{text-decoration:none}.resources{padding-bottom:var(--space)}.resource-section{max-width:1000px;margin-bottom:54px}.resource-section:last-child{margin-bottom:0}.resource-section a{color:var(--accent)}.site-footer{border-top:1px solid var(--line);margin:0 auto;width:min(calc(100% - var(--gutter)*2),var(--max));padding:56px 0 48px;display:grid;grid-template-columns:80px 1fr auto;gap:28px;color:var(--muted);font-size:16px}.footer-title{color:white;font-size:22px;font-weight:500;margin-bottom:12px}.social-links{display:flex;gap:28px}.back-top{align-self:end}.case-hero{position:relative;min-height:560px;height:min(640px,70vw);isolation:isolate;display:flex;align-items:end}.case-hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.12));z-index:-1}.hero-heading{padding-block:60px}.hero-heading h1{max-width:1100px;margin-bottom:0}.eyebrow{font-size:23px;font-weight:500;margin-bottom:16px}.case-body{padding-top:var(--space)}.story-section{margin-bottom:52px}.prose{max-width:840px;margin-inline:auto;overflow-wrap:break-word}.prose:has(+.prose){margin-bottom:28px}.prose h2,.prose h3,.prose h4{margin-top:40px}.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose p:last-child{margin-bottom:0}.prose a{color:var(--accent)}figure{margin:32px auto;max-width:1120px}figure img{margin:auto;max-height:950px;object-fit:contain;border-radius:4px;background:#fff}.image-link{display:block;cursor:zoom-in}hr{border:0;border-top:1px solid var(--line);max-width:840px;margin:52px auto}.read-next{padding-block:36px var(--space)}.gallery{position:relative;max-width:1120px;margin:auto}.gallery figure{margin:0}.gallery.enhanced figure[hidden]{display:none}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:24px;padding-top:20px;font-size:15px}.gallery-controls button{font:inherit;border:1px solid var(--accent);color:var(--accent);background:none;min-height:44px;padding:8px 18px;border-radius:4px;cursor:pointer}.gallery-controls button:hover{background:var(--accent);color:var(--bg)}.error-page{padding-block:100px;min-height:60vh}.skip-link{position:fixed;top:-100px;left:16px;background:var(--accent);color:#222;padding:12px;z-index:10}.skip-link:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Mobile layouts and type scale. Tablet widths interpolate between both. */
@media(max-width:767px){:root{--gutter:24px;--body:16px;--h1:clamp(32px,8.5vw,44px);--h2:clamp(25px,6.5vw,34px);--space:56px}.site-header{min-height:84px;gap:16px}.brand img{width:44px;height:44px}.site-header nav{font-size:14px;gap:18px}.intro{padding-top:26px}.intro h1{line-height:1.22;margin-bottom:24px}.intro-statement{font-size:25px;line-height:1.4;margin-bottom:22px}.intro .button{margin-top:10px}.project-grid{grid-template-columns:1fr;gap:42px}.project-image{margin-bottom:20px;border-radius:8px}.project-card h3{font-size:23px;margin-bottom:16px}.button{padding:12px 22px;font-size:14px}.resources{padding-top:10px}.resource-section{margin-bottom:40px}.site-footer{grid-template-columns:48px 1fr;gap:20px;padding-block:36px;font-size:14px}.site-footer .back-top{grid-column:2;margin-top:4px}.footer-title{font-size:19px}.social-links{gap:24px}.case-hero{height:auto;min-height:400px}.hero-heading{padding-block:36px}.hero-heading h1{font-size:36px}.eyebrow{font-size:18px}.story-section{margin-bottom:36px}.prose h2{font-size:28px}.prose h3{font-size:24px}.prose h4{font-size:20px}figure{margin-block:24px}hr{margin-block:36px}.gallery-controls{gap:14px;font-size:13px}.gallery-controls button{padding:8px 12px}.read-next{padding-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Long project names must remain inside narrow phone viewports. */
.hero-heading h1{overflow-wrap:anywhere}

/* Original Squarespace section palettes; section boundaries live in content files. */
.case-body{padding-top:0}
.story-section{--section-bg:#38383b;--section-text:#fff;--section-link:#e7ca73;background:var(--section-bg);color:var(--section-text);margin:0;padding-block:26px}
.story-section[data-theme="white"]{--section-bg:#fff;--section-text:#000;--section-link:#0b3050}
.story-section[data-theme="light"]{--section-bg:#eaf2f9;--section-text:#000;--section-link:#0b3050}
.story-section[data-theme="light-bold"]{--section-bg:#0b3050;--section-text:#fff}
.story-section[data-theme="bright"]{--section-bg:#f8f0d8;--section-text:#38383b;--section-link:#0b3050}
/* The original black theme layers two 56% black fills over charcoal. */
.story-section[data-theme="black"]{--section-bg:#0b0b0b;--section-text:#fff}
.story-section.theme-start{padding-top:64px}
.story-section.theme-end{padding-bottom:64px}
.story-section .prose a{color:var(--section-link)}
.story-section figure img{background:transparent}
.story-section .gallery-controls button{border-color:var(--section-link);color:var(--section-link)}
.story-section .gallery-controls button:hover{background:var(--section-link);color:var(--section-bg)}
.story-section hr{border-color:currentColor;opacity:.3}
.story-section :focus-visible{outline-color:var(--section-link)}
@media(max-width:767px){.story-section{padding-block:18px}.story-section.theme-start{padding-top:40px}.story-section.theme-end{padding-bottom:40px}}
