@font-face{font-family:Bricolage;src:url('/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+100-2BA,U+300-304,U+308-309,U+323,U+329,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Bricolage;src:url('/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{font-family:Arial,Helvetica,sans-serif;color:#171715;background:#f3f2f0;--orange:#f64b22}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #b12e0c;outline-offset:6px}button:active,.primary:active{transform:scale(.97)}.skip{position:absolute;left:20px;top:-60px;z-index:10;background:white;padding:12px}.skip:focus{top:12px}
.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4.5vw,88px);position:relative;z-index:2;border-bottom:1px solid #17171512;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-family:Bricolage,sans-serif;font-weight:700;font-size:30px;letter-spacing:-1.5px}.brand img{border-radius:13px}.header nav{display:flex;gap:34px;font-size:14px}.header-contact{font-size:14px;font-weight:600;display:flex;gap:30px}.header a{transition:color 180ms ease}.header a:hover{color:var(--orange)}
.hero{min-height:720px;height:calc(100svh - 100px);max-height:1100px;position:relative;overflow:hidden;display:flex;align-items:center;padding:50px clamp(24px,4.5vw,88px) 100px;isolation:isolate}.hero-art{position:absolute;inset:0;z-index:-2;background:#f3f2f0}.hero-copy{width:58%;max-width:790px;position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:600;margin:0 0 28px}.eyebrow span{width:6px;height:6px;flex:none;border-radius:50%;background:var(--orange)}h1{font-family:Bricolage,sans-serif;font-size:clamp(64px,6.3vw,114px);font-weight:600;letter-spacing:-.065em;line-height:.94;margin:0 0 26px}h1 em{font-style:normal;color:var(--orange)}.intro{font-size:15px;line-height:1.65;color:#676760;margin:0;max-width:360px}.actions{display:flex;align-items:center;gap:28px;margin-top:32px;font-size:14px;font-weight:600}.actions a{display:inline-flex;align-items:center;gap:24px;min-height:48px}.primary{padding:0 23px;background:#191917;color:white;border-radius:999px;transition:transform 160ms ease-out,background-color 180ms ease}.secondary{border-bottom:1px solid #17171533}.hero-bottom{position:absolute;left:clamp(24px,4.5vw,88px);right:clamp(24px,4.5vw,88px);bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-bottom p{font-size:11px;letter-spacing:.2px;color:#676760}.hero-bottom p span{padding:0 10px}.hero-bottom button{min-height:44px;padding:8px 14px;display:flex;align-items:center;gap:10px;border:1px solid #17171522;background:#f3f2f0cc;border-radius:99px;font-size:11px}.hero-bottom button[hidden]{display:none}.preview-note{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(24px,4.5vw,88px);gap:16px;border-top:1px solid #17171515;font-size:11px;color:#75756f}.preview-note p{margin:0}.preview-note a{text-decoration:underline;text-underline-offset:4px}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,242,240,.84) 0%,rgba(243,242,240,.62) 35%,rgba(243,242,240,0) 64%);pointer-events:none}
@media(max-width:900px){.header{height:84px}.header nav{gap:20px}.header-contact{gap:10px}.hero{height:auto;min-height:720px}.hero-copy{width:62%}h1{font-size:70px}.intro{max-width:290px}}
@media(max-width:620px){.header{height:78px;padding-inline:22px}.brand{font-size:26px}.brand img{width:34px;height:34px;border-radius:10px}.header nav{display:none}.header-contact{font-size:12px}.hero{min-height:900px;display:block;padding:48px 22px 300px}.hero-copy{width:100%}h1{font-size:clamp(50px,16vw,90px);max-width:450px;letter-spacing:-.06em}.eyebrow{font-size:9px;margin-bottom:24px}.intro{font-size:14px;max-width:330px}.actions{gap:24px;margin-top:26px;font-size:13px}.actions a{gap:17px}.hero-art{top:auto;bottom:60px;height:300px;overflow:hidden}.hero-bottom{left:22px;right:22px;bottom:12px}.hero-bottom p{max-width:170px;font-size:10px;line-height:1.7}.hero-bottom p span{padding-inline:4px}.hero-bottom button{font-size:10px;white-space:nowrap}.preview-note{padding:20px 22px;line-height:1.5}.preview-note p{max-width:130px}}
@media(hover:hover) and (pointer:fine){.primary:hover{background:var(--orange)}.secondary:hover{color:var(--orange)}}
@media(prefers-reduced-motion:reduce){a,button{transition:none!important}}
@media(max-width:620px){.hero-art::after{background:linear-gradient(180deg,#f3f2f0 0%,rgba(243,242,240,0) 20%,rgba(243,242,240,0) 85%,#f3f2f0 100%)}}
.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;list-style:none;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:focus-visible{outline:2px solid #b12e0c;outline-offset:4px}.header>.header-contact{min-height:44px;align-items:center}.actions .secondary{border-bottom:0;position:relative}.actions .secondary::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 180ms ease-out}.actions .secondary:focus-visible::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.actions .secondary:hover::after{transform:scaleX(1)}}
@media(max-width:620px){.header{gap:14px}.header>.header-contact{margin-left:auto;font-size:11px;white-space:nowrap}.mobile-nav{display:block}.header .mobile-nav nav{position:absolute;display:flex;flex-direction:column;gap:0;top:calc(100% - 1px);left:14px;right:14px;padding:10px;background:#f3f2f0;border:1px solid #17171518;border-radius:16px;box-shadow:0 16px 30px #17171514;z-index:5}.mobile-nav:not([open]) nav{display:none}.header .mobile-nav nav a{display:block;padding:15px 14px;border-radius:8px;font-size:15px}.header .mobile-nav nav a:focus-visible{outline-offset:-2px}}
@media(prefers-reduced-motion:reduce){.actions .secondary::after{transition:none}}


/* A campaign shown as physical print and digital formats, all rendered in CSS. */
.campaign-art{background:radial-gradient(ellipse at 80% 59%,#e4ded5 0%,#eeebe5 32%,#f3f2f0 67%)}
.campaign-art::after{display:none}
.campaign-stage{position:absolute;width:58%;max-width:850px;aspect-ratio:1;right:2%;top:50%;transform:translateY(-50%);container-type:inline-size;perspective:1400px}
.campaign-world{position:absolute;inset:0;transform-style:preserve-3d;animation:campaign-orbit 18s linear infinite;animation-play-state:paused}
.campaign-ground{position:absolute;width:76%;height:11%;left:14%;top:80%;background:radial-gradient(ellipse,#53402b32 0%,#53402b16 35%,transparent 69%);filter:blur(13px);transform:rotate(-5deg)}
.campaign-billboard{position:absolute;left:25%;top:7%;width:49%;height:65%;transform:rotateY(-13deg) rotateZ(-7deg);transform-style:preserve-3d;animation:poster-angle 18s linear infinite;animation-play-state:paused}
.poster-face{position:absolute;inset:0;padding:3.5cqw 3.1cqw 2.4cqw;background:#ff542a;color:#171714;border:.7cqw solid #23231f;box-shadow:inset 1px 1px 0 #ffffff59,1.3cqw .4cqw 0 #363631,1.35cqw .4cqw 0 1px #181815,2.5cqw 4cqw 5cqw #32281528;display:flex;flex-direction:column;overflow:hidden}
.poster-face::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff29 0%,transparent 37%,#50180c12 100%);pointer-events:none}
.poster-masthead{display:flex;justify-content:space-between;align-items:center}
.poster-masthead b{font-family:Bricolage,sans-serif;font-size:4.4cqw;letter-spacing:-.3cqw;font-weight:750}
.poster-masthead>span{font-size:1.05cqw;letter-spacing:.1cqw;line-height:1.3;font-weight:600}
.poster-title{font-family:Bricolage,sans-serif;font-weight:750;font-size:10.8cqw;line-height:.86;letter-spacing:-.7cqw;margin:5cqw 0 0}
.poster-title>span{color:#fff6e9;font-size:9.3cqw;letter-spacing:-.65cqw}
.poster-baseline{margin-top:auto;display:flex;justify-content:space-between;font-size:.9cqw;letter-spacing:.06cqw;font-weight:700;border-top:1px solid #1717144a;padding-top:1.5cqw}
.billboard-pole{position:absolute;left:48%;top:99%;width:4%;height:26%;background:linear-gradient(90deg,#252521,#5e5e55 40%,#272723);transform:translateZ(-12px)}
.billboard-foot{position:absolute;left:29%;top:123%;width:42%;height:2%;background:linear-gradient(#6e6e64,#252522);border-radius:50%;transform:rotateX(40deg) translateZ(-10px);box-shadow:0 4px 6px #17171526}
.campaign-proof{position:absolute;left:7%;top:55%;width:48%;height:32%;background:#fcfaf4;padding:.9cqw .9cqw 0;box-shadow:0 1px 0 1px #ffffff,0 2px 0 2px #ddd8ce,1.4cqw 2.5cqw 4cqw #382b252b;transform:translateZ(70px) rotateY(9deg) rotateZ(-12deg);animation:proof-drift 18s linear infinite;animation-play-state:paused}
.campaign-proof img{width:100%;height:80%;object-fit:cover;object-position:50% 47%;display:block}
.proof-caption{height:20%;display:flex;align-items:center;justify-content:space-between;padding-inline:1cqw;gap:1cqw}
.proof-caption b{font-size:1.55cqw;letter-spacing:-.04cqw}
.proof-caption span{font-size:1.05cqw;color:#66635c}
.campaign-phone{position:absolute;left:67%;top:40%;width:22%;height:44%;border:.72cqw solid #242423;border-radius:3.4cqw;padding:.25cqw;background:#111110;box-shadow:inset 0 0 0 1px #7e7a73,.65cqw .15cqw 0 #77736a,.8cqw .2cqw 0 #211f1b,1.7cqw 3.1cqw 4.5cqw #382b253b;transform:translateZ(100px) rotateY(-15deg) rotateZ(9deg);animation:phone-drift 18s linear infinite;animation-play-state:paused}
.phone-screen{position:relative;width:100%;height:100%;border-radius:2.5cqw;overflow:hidden;background:#c9c1b5}
.phone-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,#ffffff2e,transparent 45%);pointer-events:none}
.phone-screen img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.phone-island{position:absolute;top:1cqw;left:32%;right:32%;height:1.1cqw;background:#171715;border-radius:1cqw}
.phone-home{position:absolute;bottom:.85cqw;left:33%;right:33%;height:.32cqw;background:#ffffffd9;border-radius:1cqw}
.campaign-caption{position:absolute;left:25%;bottom:6%;font-size:1.05cqw;font-weight:600;letter-spacing:.2cqw;color:#706a62;margin:0}.campaign-caption span{color:#252522;margin-right:1.2cqw}
.campaign-art[data-motion="running"] .campaign-world,.campaign-art[data-motion="running"] .campaign-billboard,.campaign-art[data-motion="running"] .campaign-proof,.campaign-art[data-motion="running"] .campaign-phone{animation-play-state:running}
@keyframes campaign-orbit{0%,100%{transform:rotateX(1deg) rotateY(-3deg)}50%{transform:rotateX(-1deg) rotateY(3deg)}}
@keyframes poster-angle{0%,100%{transform:rotateY(-13deg) rotateZ(-7deg)}50%{transform:rotateY(-7deg) rotateZ(-5deg)}}
@keyframes proof-drift{0%,100%{transform:translate3d(0,0,70px) rotateY(9deg) rotateZ(-12deg)}50%{transform:translate3d(-.7cqw,-1cqw,70px) rotateY(5deg) rotateZ(-9deg)}}
@keyframes phone-drift{0%,100%{transform:translate3d(0,0,100px) rotateY(-15deg) rotateZ(9deg)}50%{transform:translate3d(.5cqw,-1.2cqw,100px) rotateY(-10deg) rotateZ(7deg)}}
@media(min-width:621px) and (max-width:900px){.campaign-stage{width:57%;right:-1%}.hero-copy{width:57%}h1{font-size:clamp(54px,7.3vw,70px)}}
@media(max-width:620px){.hero{min-height:960px}.campaign-art{height:420px;bottom:60px;top:auto;background:radial-gradient(ellipse at 60% 50%,#e8e1d6 0%,#efebe4 35%,#f3f2f0 69%)}.campaign-stage{width:94%;right:3%;max-width:none;perspective:900px}.campaign-proof{left:8%;width:49%}.campaign-caption{font-size:1.8cqw;bottom:3%;left:22%;letter-spacing:.18cqw}.proof-caption b{font-size:1.9cqw}.proof-caption span{font-size:1.5cqw}.campaign-ground{filter:blur(9px)}}
/* Static composition is the default; explicit start is still available. */
@media(prefers-reduced-motion:reduce){.campaign-art:not([data-explicit-motion="true"]) .campaign-world,.campaign-art:not([data-explicit-motion="true"]) .campaign-billboard,.campaign-art:not([data-explicit-motion="true"]) .campaign-proof,.campaign-art:not([data-explicit-motion="true"]) .campaign-phone{animation-play-state:paused}}
