@font-face { font-family: 'Darker Grotesque'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/U9MH6cuh-mLQlC4BKCtayOfARkSVq77UJEUJQOMuqA.6fd4e125.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Darker Grotesque'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/U9MH6cuh-mLQlC4BKCtayOfARkSVq7_UJEUJQOMuqA.2e2a31bd.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Darker Grotesque'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/U9MH6cuh-mLQlC4BKCtayOfARkSVq7HUJEUJQOM.d95bddd4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Darker Grotesque'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/U9MH6cuh-mLQlC4BKCtayOfARkSVq77UJEUJQOMuqA.6fd4e125.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Darker Grotesque'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/U9MH6cuh-mLQlC4BKCtayOfARkSVq7_UJEUJQOMuqA.2e2a31bd.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Darker Grotesque'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/U9MH6cuh-mLQlC4BKCtayOfARkSVq7HUJEUJQOM.d95bddd4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Darker Grotesque'; font-style: normal; font-weight: 800; font-display: swap; src: url(/fonts/U9MH6cuh-mLQlC4BKCtayOfARkSVq77UJEUJQOMuqA.6fd4e125.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Darker Grotesque'; font-style: normal; font-weight: 800; font-display: swap; src: url(/fonts/U9MH6cuh-mLQlC4BKCtayOfARkSVq7_UJEUJQOMuqA.2e2a31bd.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Darker Grotesque'; font-style: normal; font-weight: 800; font-display: swap; src: url(/fonts/U9MH6cuh-mLQlC4BKCtayOfARkSVq7HUJEUJQOM.d95bddd4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@charset "UTF-8";
:root{--bg:#F4EFE6;--ink:#14110F;--accent:#700A3A;--accent-deep:#4E0628;--gutter:clamp(1rem,4vw,3rem);--ease-out:cubic-bezier(.23,1,.32,1);--font:"Darker Grotesque",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.125rem/1.5 var(--font);}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:.5rem 1rem;z-index:10}
.skip:focus{left:1rem}
.wrap{padding-inline:var(--gutter)}
/* header */
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--gutter);border-bottom:3px solid var(--ink);background:var(--bg);position:relative;z-index:2}
.brand{font:800 1.5rem/1 var(--font);text-decoration:none;text-transform:uppercase;letter-spacing:.02em}
.nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.nav a{font-weight:600;text-decoration:none;padding:.25rem 0;min-height:44px;display:inline-flex;align-items:center}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
/* buttons */
.btn{display:inline-flex;align-items:center;min-height:52px;padding:0 1.5rem;border:3px solid var(--ink);background:var(--accent);color:var(--bg);font:800 1.125rem var(--font);text-decoration:none;box-shadow:6px 6px 0 var(--ink);transition:transform 160ms var(--ease-out),box-shadow 160ms var(--ease-out)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}
.btn:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--ink)}
.btn--light{background:var(--bg);color:var(--ink)}
/* hero (home) */
.hero{position:relative;min-height:min(100svh,62rem);display:grid;align-content:end;overflow:hidden;border-bottom:3px solid var(--ink);color:var(--bg);isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(20,17,15,.45),rgba(20,17,15,0) 35%,rgba(20,17,15,0) 45%,rgba(20,17,15,.78))}
.hero__name{margin:0;padding:1rem var(--gutter) 0;font:800 clamp(3.2rem,15.5vw,15rem)/.82 var(--font);text-transform:uppercase;letter-spacing:-.02em;text-shadow:4px 4px 0 var(--ink)}
.hero__name span{display:block;white-space:nowrap}
.hero__name .sub{font-size:.52em;letter-spacing:.02em;margin-top:.15em}
.hero__foot{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1.25rem 2rem;padding:1.5rem var(--gutter) 2.5rem}
.hero__line{margin:0;max-width:30ch;font:600 clamp(1.4rem,2.6vw,2rem)/1.2 var(--font)}
/* statement band */
.band{padding:clamp(4rem,10vw,8rem) var(--gutter);border-block:3px solid var(--ink);background:var(--ink);color:var(--bg);transition:background-color .6s var(--ease-out),color .6s var(--ease-out)}
.band.is-accent{background:var(--accent);color:var(--bg)}
.band h2{margin:0 auto 2.5rem;max-width:20ch;text-align:center;font:800 clamp(2.4rem,6.5vw,6rem)/.98 var(--font);text-transform:uppercase;text-wrap:balance}
.band ul{list-style:none;margin:0 auto;padding:0;max-width:64rem;display:grid;gap:1.25rem;text-align:center}
.band strong{display:block;font:800 clamp(2.4rem,5vw,3.75rem)/1 var(--font);color:#F4EFE6}
@media (min-width:900px){.band ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* strip */
.section{padding:clamp(3.5rem,8vw,6rem) 0}
.sec-label{display:inline-block;margin:0 var(--gutter) .75rem;padding:.2rem .6rem;border:3px solid var(--ink);background:var(--accent);color:var(--bg);font:800 .95rem var(--font);text-transform:uppercase;letter-spacing:.06em;box-shadow:3px 3px 0 var(--ink)}
.section h2{margin:0 var(--gutter) 2rem;font:800 clamp(2.2rem,5vw,4rem)/1 var(--font);text-transform:uppercase;text-wrap:balance}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(15rem,72vw,22rem);gap:1.25rem;margin:0;padding:0 var(--gutter) 1.25rem;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter)}
.strip li{scroll-snap-align:start}
.strip a{display:block;text-decoration:none;border:3px solid var(--ink);background:#fff;box-shadow:6px 6px 0 var(--ink);transition:transform 200ms var(--ease-out)}
.strip a:hover{transform:translate(-3px,-3px)}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-bottom:3px solid var(--ink)}
.strip span{display:block;padding:.9rem 1rem 1.1rem;font:800 1.5rem/1.1 var(--font);text-transform:uppercase}
/* split */
.split{display:grid;gap:0;border-block:3px solid var(--ink);background:#fff}
.split__media img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;aspect-ratio:4/5;border-bottom:3px solid var(--ink)}
.split__text{padding:clamp(2rem,5vw,4rem) var(--gutter)}
.split__text h2{margin:0 0 1rem;font:800 clamp(2.2rem,4.5vw,3.5rem)/1 var(--font);text-transform:uppercase}
.split__text p{margin:0 0 1.25rem;max-width:44ch;font-size:1.2rem}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr}.split__media img{border-bottom:0;border-right:3px solid var(--ink);aspect-ratio:auto;height:100%}}
/* visual break */
.break{position:relative;border-block:3px solid var(--ink)}
.break img{width:100%;aspect-ratio:21/9;object-fit:cover}
.break p{position:absolute;left:var(--gutter);bottom:1.25rem;margin:0;padding:.5rem .9rem;border:3px solid var(--ink);background:var(--bg);font:800 clamp(1.3rem,2.4vw,2rem)/1.1 var(--font);text-transform:uppercase}
/* field (gradient flow) */
.gf{position:relative;isolation:isolate;overflow:clip;padding:clamp(4rem,10vw,8rem) var(--gutter);border-bottom:3px solid var(--ink)}
.gf::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 75% at 18% 22%,rgba(112,10,58,.32),transparent 75%),radial-gradient(55% 70% at 82% 30%,rgba(112,10,58,.2),transparent 75%),radial-gradient(65% 80% at 60% 85%,rgba(78,6,40,.28),transparent 75%),var(--bg);animation:gf-a 34s ease-in-out infinite alternate}
@keyframes gf-a{to{background-position:0 0,0 0,0 0,0 0}}
.gf__inner{max-width:44rem}
.gf h2{margin:0 0 1rem;font:800 clamp(2.4rem,5.5vw,4.5rem)/1 var(--font);text-transform:uppercase;text-wrap:balance}
.gf p{margin:0 0 2rem;max-width:40ch;font-size:1.25rem}
.gf-row{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.gf-row{grid-template-columns:1.1fr .9fr}.gf-row img{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);aspect-ratio:4/3;object-fit:cover;width:100%}}
@media (max-width:899px){.gf-row img{border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);width:100%;aspect-ratio:4/3;object-fit:cover}}
/* inner pages */
.page-hero{position:relative;display:grid;min-height:min(70svh,44rem);align-content:end;border-bottom:3px solid var(--ink);overflow:hidden;color:var(--bg);isolation:isolate}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(20,17,15,.85),rgba(20,17,15,.2) 70%)}
.page-hero__text{padding:2rem var(--gutter) 3rem;max-width:58rem}
.page-hero h1{margin:0 0 .5rem;font:800 clamp(3.2rem,10vw,9rem)/.88 var(--font);text-transform:uppercase;letter-spacing:-.01em}
.page-hero p{margin:0 0 1.5rem;max-width:36ch;font:600 clamp(1.4rem,2.4vw,1.9rem)/1.2 var(--font)}
.prose{padding:clamp(3rem,7vw,5rem) var(--gutter);max-width:50rem}
.prose h2{font:800 clamp(2rem,4vw,2.9rem)/1 var(--font);text-transform:uppercase;margin:2.5rem 0 1rem}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 1.25rem;font-size:1.2rem;max-width:62ch}
.prose ul{padding-left:1.25rem;font-size:1.2rem}
.prose li{margin-bottom:.5rem}
.cta-row{padding:2rem var(--gutter) 4rem;display:flex;flex-wrap:wrap;gap:1rem}
/* footer */
.foot{background:var(--ink);color:var(--bg);padding:3rem var(--gutter) 9rem}
.foot__grid{display:grid;gap:2rem}
.foot a{color:var(--bg)}
.foot__name{font:800 clamp(2rem,4vw,3rem)/1 var(--font);text-transform:uppercase}
.foot nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.foot small{display:block;margin-top:2rem;opacity:.85}
@media (min-width:900px){.foot__grid{grid-template-columns:2fr 1fr}.foot{padding-bottom:3rem}}
/* reveal */
.js .rise{opacity:0;transform:translateY(1.25rem);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.js .rise.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .rise{opacity:1;transform:none}}
#wixheadless-banner-container{display:none !important}

/* No photo yet for these slots: they stand on the ink ground instead of a broken picture. */
.hero{background:var(--ink)}
.page-hero{background:var(--ink)}
.break{min-height:22rem;display:grid;align-items:end;background:var(--accent);color:var(--bg)}
.break p{position:static;align-self:end;margin:2rem var(--gutter);display:inline-block;justify-self:start;background:var(--bg);color:var(--ink)}
.strip a{min-height:14rem;display:flex;flex-direction:column;justify-content:flex-end;background:var(--bg)}
.strip span{padding:1rem 1.1rem 1.25rem}

/* Text wraps inside its box at any width and at 200% text size. */
.page-hero__text{min-width:0;max-width:100%}
.page-hero h1{overflow-wrap:anywhere}
.prose{min-width:0}
/* Hero entrance (hero-intro) and scroll scene (hero-drift, first layers). */
@keyframes hero-rise{from{transform:translateY(.42em);opacity:.35}to{transform:none;opacity:1}}
@keyframes hero-settle{from{transform:scale(1.06);filter:blur(6px)}to{transform:none;filter:none}}
@supports (animation-timeline: scroll()){
  .hero__name span{animation:hero-rise 900ms var(--ease-out) backwards}
  .hero__name .sub{animation-delay:110ms}
  .hero__media img{animation:hero-settle 1200ms cubic-bezier(.2,.65,.25,1) backwards}
  .hero__media{animation:hero-dolly linear both;animation-timeline:scroll(root);animation-range:0 100vh}
  .hero__name{animation:hero-drift linear both;animation-timeline:scroll(root);animation-range:0 80vh}
}
@keyframes hero-dolly{to{transform:translateY(10%) scale(1.14)}}
@keyframes hero-drift{to{transform:translateY(-6vh);opacity:.6}}
@media (prefers-reduced-motion:reduce){.hero__name span,.hero__media img,.hero__media,.hero__name{animation:none!important}}

.hero{min-height:calc(100svh - 8rem)}
.page-hero>img,.hero__media img{width:100%;height:100%;object-fit:cover}
.break img{width:100%;aspect-ratio:21/9;object-fit:cover}
.break{display:block;background:var(--ink)}
.break p{position:absolute;left:var(--gutter);bottom:1.25rem;margin:0}
.strip a{display:block;min-height:0;background:#fff}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-bottom:3px solid var(--ink)}
.strip span{padding:.9rem 1rem 1.1rem}
.wide{width:100%;aspect-ratio:21/9;object-fit:cover;border-block:3px solid var(--ink)}
.cards{display:grid;gap:1.5rem;padding:0 var(--gutter)}
.card{border:3px solid var(--ink);background:#fff;box-shadow:6px 6px 0 var(--ink)}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:3px solid var(--ink)}
.card__text{padding:1.25rem 1.25rem 1.5rem}
.card h3{margin:0 0 .5rem;font:800 clamp(1.8rem,3vw,2.4rem)/1 var(--font);text-transform:uppercase}
.card p{margin:0 0 1.25rem;max-width:44ch}
@media (min-width:900px){.cards{grid-template-columns:1fr 1fr}.gf-row{grid-template-columns:1.1fr .9fr}}
.pathsec{border-block:3px solid var(--ink);background:var(--ink);color:var(--bg)}
.pathsec__media img{width:100%;aspect-ratio:3/1;object-fit:cover}
.pathsec__text{padding:2rem var(--gutter) 3rem;max-width:56rem}
.pathsec h2{margin:0 0 1rem;font:800 clamp(2.4rem,5.5vw,4.5rem)/1 var(--font);text-transform:uppercase}
.pathsec p{margin:0;font-size:1.25rem;max-width:46ch}
.pathsec .sec-label{margin-left:0;color:var(--bg)}

/* How to start: gradient flow from ink into oxblood at the foot of the page. */
.gf{background:linear-gradient(180deg,var(--bg) 0%,#3A0A22 55%,var(--accent) 100%)}

/* Neubrutalist frames: every picture sits in a thick ink border with a hard offset shadow. */
.card img,.strip img,.page-hero>img,.hero__media,.break img,.wide,.pathsec__media img,.split__media img{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}
.break img{margin:0 auto;width:calc(100% - 2*var(--gutter));max-width:none}
.wide{margin:2rem auto;width:calc(100% - 2*var(--gutter));display:block}
.pathsec__media img{box-shadow:none;border-width:0 0 3px}

/* Homepage copy blocks */
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
.hero__foot p{max-width:52ch}
.checks{margin:0 0 1.25rem;padding-left:1.1rem}
.checks li{margin:.35rem 0}
.disclaimer{margin:2rem var(--gutter) 3rem;max-width:60rem;font-size:1rem;opacity:.85}
.split{align-items:start}
.split__text h2{overflow-wrap:anywhere}
