@font-face{font-family:"Zilla Slab";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/zilla-slab-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Zilla Slab";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/zilla-slab-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Zilla Slab";font-weight:700;font-style:italic;font-display:swap;src:url(../fonts/zilla-slab-latin-700-italic.woff2) format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:100 900;font-style:normal;font-display:swap;src:url(../fonts/space-grotesk-latin-wght-normal.woff2) format("woff2")}

:root{
  --kiln:#1d0f0a; --terra:#c0522f; --terra-d:#8f3a22; --glow:#e08a52; --paper:#f4e9d4; --paper-2:#e9dabd;
  --ink:#2a1710; --ink-2:#5a4034; --sun:#ffcf8e; --lime:#cdbf9f;
  --slab:"Zilla Slab",Rockwell,"Roboto Slab",serif; --sans:"Space Grotesk",system-ui,sans-serif;
  --gut:clamp(1.1rem,4.4vw,4.5rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--kiln);-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--paper);background:var(--kiln);line-height:1.55;font-size:clamp(1rem,.96rem + .2vw,1.14rem);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:.8rem;top:-4rem;z-index:100;background:var(--paper);color:var(--ink);padding:.6rem 1rem;border-radius:3px;text-decoration:none;font-weight:700;transition:top .2s}
.skip:focus{top:.8rem}

/* backdrop */
#wall{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}
.no-gl body{background:repeating-linear-gradient(0deg,#a2432a 0 55px,#d8c8a6 55px 65px),var(--kiln)}
.scrim{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(24,10,5,.5),rgba(24,10,5,0) 58%),radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(20,8,4,.55)),linear-gradient(0deg,rgba(20,8,4,.35),transparent 30%)}
.grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.09;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{background-position:0 0}20%{background-position:-40px 30px}40%{background-position:35px -50px}60%{background-position:-60px -20px}80%{background-position:20px 60px}100%{background-position:0 0}}

/* header */
.top{position:fixed;z-index:50;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem var(--gut);
  background:rgba(29,15,10,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(244,233,212,.14)}
.logo{font-family:var(--slab);font-weight:700;font-size:clamp(1.15rem,2.6vw,1.5rem);letter-spacing:.01em;text-decoration:none;display:flex;align-items:baseline;gap:.5rem;text-shadow:0 1px 14px rgba(0,0,0,.4)}
.logo i{font-style:italic;color:var(--sun)}
.logo small{font-family:var(--sans);font-weight:600;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;opacity:.85}
.top nav{display:flex;gap:clamp(1rem,2.6vw,2.2rem);align-items:center}
.top nav a{font-size:.86rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;text-shadow:0 1px 10px rgba(0,0,0,.5);padding:.4rem 0;position:relative}
.top nav a::after{content:"";position:absolute;left:0;right:100%;bottom:.1rem;height:2px;background:var(--sun);transition:right .3s}
.top nav a:hover::after{right:0}
.top .tel{background:var(--paper);color:var(--ink);padding:.5rem .95rem;border-radius:2px;text-shadow:none;letter-spacing:.04em}
.top .tel::after{display:none}
@media(max-width:760px){.top nav a:not(.tel){display:none}.logo small{display:none}}

/* gauge rod */
.gauge{position:fixed;z-index:40;right:clamp(.5rem,1.6vw,1.6rem);top:50%;transform:translateY(-50%);height:min(66svh,34rem);width:3.4rem;display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;pointer-events:none}
.gauge .rod{position:relative;flex:1;width:14px;background:rgba(244,233,212,.14);border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(244,233,212,.25)}
.gauge .rod::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 calc(100% / 64 - 1px),rgba(24,10,5,.55) calc(100% / 64 - 1px) calc(100% / 64));z-index:2}
.gauge .fill{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,var(--terra-d),var(--glow));transition:height .25s linear}
.gauge .n{font-family:var(--slab);font-weight:700;font-size:1.5rem;line-height:1;text-align:right;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.gauge .n small{display:block;font-family:var(--sans);font-size:.58rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin-bottom:.25rem}
@media(max-width:760px){.gauge{width:2.4rem;height:34svh;top:36%}.gauge .n{font-size:1.05rem}.gauge .n small{display:none}.gauge .rod{width:9px}}

/* layout */
main{position:relative;z-index:10}
.sec{position:relative;padding:0 var(--gut);padding-right:max(var(--gut),4.8rem)}
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(2rem,7vh,5rem);padding-top:7rem}
.kicker{font-size:.78rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--sun);display:flex;align-items:center;gap:.9rem;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.kicker::before{content:"";width:2.6rem;height:3px;background:var(--glow)}
h1,h2,h3{font-family:var(--slab);font-weight:700;line-height:.95;letter-spacing:-.015em}
h1{font-size:clamp(3.3rem,10.4vw,10.6rem);margin:1.1rem 0 1.6rem;filter:drop-shadow(0 6px 28px rgba(18,6,2,.5))}
h1 .ln{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
h1 em{font-style:italic;color:var(--sun);font-weight:700}
.lede{max-width:34rem;font-size:clamp(1.05rem,1.2vw + .6rem,1.32rem);text-shadow:0 1px 18px rgba(18,6,2,.75);color:#fbf1dd}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.btn{display:inline-flex;align-items:center;gap:.7rem;font-weight:700;font-size:.9rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;padding:1rem 1.5rem;border-radius:2px;background:var(--terra);color:#fff7ea;border:2px solid var(--terra);transition:transform .25s,background .25s}
.btn:hover{transform:translateY(-3px);background:var(--terra-d);border-color:var(--terra-d)}
.btn.ghost{background:rgba(24,10,5,.35);border-color:var(--paper);color:var(--paper);backdrop-filter:blur(4px)}
.btn.ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,2rem);margin-top:clamp(2rem,6vh,4rem);padding-top:1.1rem;border-top:1px solid rgba(244,233,212,.4);max-width:56rem}
.facts p{font-size:.9rem;line-height:1.4;text-shadow:0 1px 12px rgba(0,0,0,.8)}
.facts b{display:block;font-family:var(--slab);font-size:1.25rem;color:var(--sun);margin-bottom:.15rem}
@media(max-width:640px){.kicker{font-size:.66rem;letter-spacing:.16em}.kicker::before{width:1.4rem}.lede{font-size:1rem}.facts{grid-template-columns:1fr;gap:.55rem}.facts b{display:inline;margin-right:.4rem;font-size:1.05rem}.hero{padding-top:5.5rem}h1{margin-bottom:1rem}.cta{margin-top:1.2rem}.btn{padding:.85rem 1.1rem}}
.cue{position:absolute;left:var(--gut);bottom:1.2rem;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;display:none}

.beat{min-height:88svh;display:flex;align-items:center;padding-block:7vh}
.beat.r{justify-content:flex-end}
.beat.c{justify-content:center}
.beat.head{min-height:68svh;align-items:flex-end}
.tablet{position:relative;width:min(100%,31rem);background:var(--paper);color:var(--ink);padding:clamp(1.4rem,3vw,2.4rem);padding-top:clamp(1.9rem,3.4vw,2.8rem);box-shadow:0 30px 70px -20px rgba(10,3,1,.7),0 2px 0 rgba(255,255,255,.4) inset;border-radius:2px}
.tablet::before{content:"";position:absolute;left:0;right:0;top:0;height:11px;background:
  repeating-linear-gradient(90deg,var(--terra) 0 38px,transparent 38px 41px) 0 0/100% 5.5px no-repeat,
  repeating-linear-gradient(90deg,var(--terra) 0 38px,transparent 38px 41px) 20px 5.5px/100% 5.5px no-repeat;}
.tablet .tag{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-d);display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.tablet h2,.tablet h3{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-bottom:.9rem;color:var(--ink)}
.tablet p{color:var(--ink-2)}
.tablet p+p{margin-top:.8rem}
.tablet .more{display:inline-block;margin-top:1.1rem;font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terra-d);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:.15rem}
.tablet ul{list-style:none;margin-top:1rem;display:grid;gap:.4rem}
.tablet li{padding-left:1.3rem;position:relative;color:var(--ink);font-size:.96rem}
.tablet li::before{content:"";position:absolute;left:0;top:.62em;width:.7rem;height:.38rem;background:var(--terra)}
@media(max-width:640px){.beat{align-items:flex-end;padding-block:5vh 7vh;min-height:92svh}.tablet{padding:1.5rem 1.25rem;width:100%}.beat.head{min-height:50svh}}

.bigword{font-size:clamp(3rem,9.5vw,9rem);max-width:15ch;text-shadow:0 6px 50px rgba(18,6,2,.6);line-height:.92}
.bigword em{font-style:italic;color:var(--sun)}
.bigword+p{max-width:32rem;margin-top:1.1rem;text-shadow:0 1px 18px rgba(18,6,2,.8);color:#fbf1dd}

/* steps */
.step-n{font-family:var(--slab);font-weight:700;font-size:5rem;line-height:.8;color:var(--terra);opacity:.9;float:right;margin:-.4rem 0 0 .6rem}

/* joint profiles */
.profiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.2rem}
.profiles figure svg{width:100%;height:auto;border:1px solid rgba(42,23,16,.25)}
.profiles figcaption{font-size:.78rem;font-weight:700;margin-top:.4rem;letter-spacing:.04em;color:var(--ink)}
.profiles figcaption span{display:block;font-weight:500;color:var(--ink-2);letter-spacing:0}
.wide{width:min(100%,60rem)}
@media(max-width:640px){.profiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* work */
.job dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin-top:1rem;font-size:.92rem;border-top:1px solid rgba(42,23,16,.2);padding-top:.9rem}
.job dt{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;color:var(--terra-d);padding-top:.25rem}
.job dd{color:var(--ink)}

/* form */
form{display:grid;gap:.9rem;margin-top:1.1rem}
label{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-d);display:grid;gap:.35rem}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:#fffaf0;border:1.5px solid rgba(42,23,16,.4);border-radius:2px;padding:.75rem .85rem;width:100%}
textarea{min-height:6.5rem;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media(max-width:520px){.row2{grid-template-columns:1fr}}
.demo-msg{font-weight:700;color:var(--terra-d);min-height:1.4em}
.btn.dark{align-self:start;cursor:pointer;font-family:inherit}

footer{position:relative;z-index:10;padding:5rem var(--gut) 2.5rem;padding-right:max(var(--gut),4.8rem);background:linear-gradient(180deg,rgba(20,8,4,0),rgba(20,8,4,.88) 38%);}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;align-items:start;max-width:72rem}
.foot h4{font-family:var(--slab);font-size:1.4rem;margin-bottom:.4rem}
.foot p,.foot a{font-size:.95rem;color:#e9dcc3}
.credit{margin-top:3rem;padding-top:1.2rem;border-top:1px solid rgba(244,233,212,.3);font-size:.82rem;color:#d9c9ac;max-width:50rem}
@media(max-width:760px){.foot{grid-template-columns:1fr}}

.rv{opacity:1}
.js .rv{opacity:0}
@media(prefers-reduced-motion:reduce){.grain{animation:none}.js .rv{opacity:1}*{scroll-behavior:auto!important}}

table.mix{width:100%;border-collapse:collapse;margin-top:.6rem;font-size:.95rem}
table.mix th{text-align:left;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-d);padding:.5rem .6rem .5rem 0;border-bottom:2px solid var(--ink)}
table.mix td{padding:.7rem .6rem .7rem 0;border-bottom:1px solid rgba(42,23,16,.25);color:var(--ink);vertical-align:top}
@media(max-width:560px){table.mix{font-size:.84rem}}

.pg-repoint .scrim{background:linear-gradient(90deg,rgba(24,10,5,.8),rgba(24,10,5,.25) 72%),radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(20,8,4,.55)),linear-gradient(0deg,rgba(20,8,4,.45),transparent 30%)}
@media(max-width:640px){.scrim{background:linear-gradient(90deg,rgba(24,10,5,.55),rgba(24,10,5,.3)),radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(20,8,4,.55)),linear-gradient(0deg,rgba(20,8,4,.35),transparent 30%)}}
