/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-latin.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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-latin.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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-latin.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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo-latin.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin.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;
}

/* Layout: one account, Northmarch Foods, followed down an ink page from the guess to the booked meeting. The territory map is the one full-bleed moment; Caddie sits on the app's own bone ground. Mono marks evidence; Archivo carries the argument. */
:root{
  --ink:#14181B; --ink-2:#101417; --ocean:#0C1013;
  --panel:#192025; --panel-2:#1F262B; --rule:#2A3238; --rule-2:#36414A;
  --bone:#F5F2EB; --mid:#A0A8AF; --dim:#6C757D;
  --kernel:#C97B21; --kl:#E9A44C; --action:#EB8904; --action-h:#FF9A26; --on-action:#1A1206;
  --good:#5FA97C; --bad:#C4614F; --blue:#3E90C2;
  --app-bg:#F5F2EB; --app-card:#FFFFFF; --app-ink:#1A1D21; --app-line:#E6E4DE; --app-line-2:#D9D6CD; --app-mut:#686D72;
  --app-ker:#9E5F0B; --app-good-bg:#EAF3EE; --app-good:#2C6A4C; --app-bad-bg:#FBEEEA; --app-bad:#963D30; --app-warn-bg:#FBF0DF; --app-warn:#7E520F;
  --sans:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1240px; --gut:clamp(16px,4vw,48px);
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--kl);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono{font-family:var(--mono)}
.eb{font:500 12px/1.3 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--kl);margin:0 0 22px}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(2.45rem,4.5vw,4.15rem);line-height:1.02}
h2{font-size:clamp(2.05rem,4.2vw,3.7rem);line-height:1.04;max-width:17ch}
h3{font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.1;letter-spacing:-.03em}
.lead{font-size:clamp(1.06rem,1.35vw,1.22rem);line-height:1.55;color:var(--mid);max-width:40ch;margin:22px 0 0}
.basis{font:400 12px/1.6 var(--mono);color:var(--dim);margin:22px 0 0;letter-spacing:.01em}
section{position:relative}
.sec{padding-block:clamp(80px,9vw,136px)}
.sec-head{display:grid;gap:0;margin-bottom:clamp(40px,4.5vw,64px)}
@media (min-width:1000px){.sec-head{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:64px;align-items:end}.sec-head .eb{grid-column:1/-1}.sec-head h2{grid-column:1}.sec-head .lead{grid-column:2;margin:0 0 6px;justify-self:end}}
.tab{font-variant-numeric:tabular-nums}

/* ---------- buttons */
.btn{--h:50px;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 24px;border-radius:10px;border:1px solid transparent;font:600 15.5px/1 var(--sans);letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn-act{background:var(--action);color:var(--on-action)}
.btn-act:hover,.btn-act:focus-visible{background:var(--action-h)}
.btn-line{background:transparent;color:var(--bone);border-color:rgba(245,242,235,.45)}
.btn-line:hover,.btn-line:focus-visible{border-color:var(--bone);background:rgba(245,242,235,.05)}
.btn .pulse{position:absolute;width:12px;height:12px;border-radius:50%;border:1.5px solid currentColor;transform:translate(-50%,-50%) scale(1);opacity:.7;pointer-events:none;animation:pulse .7s var(--ease) forwards}
@keyframes pulse{to{transform:translate(-50%,-50%) scale(14);opacity:0}}

/* ---------- mark */
.mk{display:block;flex:none}
.mk .k{fill:var(--kernel)}
.mk .r,.mk .t{fill:none;stroke:var(--bone);stroke-linecap:round}
.mk .r3{stroke-opacity:.5}

/* ---------- nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(16,20,23,.82);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom-color:rgba(42,50,56,.7)}
.nav .wrap{height:68px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:19px;letter-spacing:-.03em}
.nav ul{display:flex;gap:26px;list-style:none;margin:0 0 0 auto;padding:0}
.nav ul a{font-size:14.5px;color:var(--mid);text-decoration:none;padding:6px 0;position:relative;transition:color .2s}
.nav ul a:hover{color:var(--bone)}
.nav ul a.on{color:var(--bone)}
.nav ul a.on::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:var(--kernel)}
.nav .btn{--h:40px;padding:0 16px;font-size:14px}
.nav .btn.quiet{background:transparent;color:var(--bone);border-color:rgba(245,242,235,.45)}
@media (max-width:900px){.nav ul{display:none}.nav .btn{margin-left:auto}}

/* ---------- hero */
.hero{padding-top:clamp(120px,13vw,168px);padding-bottom:clamp(56px,6vw,96px);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(40px,6vw,96px);align-items:center;position:relative;z-index:1}
.hero h1 span{display:block}
.hero h1 .two{color:var(--kl)}
.hero .lead{max-width:34ch;margin-top:28px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
#rings{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
@media (max-width:960px){.hero .wrap{grid-template-columns:1fr}.hero .card{max-width:560px}}

/* ---------- brief card (hero and brief section share it) */
.card{background:linear-gradient(180deg,#1C2328,#171D21);border:1px solid var(--rule);border-radius:18px;box-shadow:0 1px 0 rgba(245,242,235,.05) inset,0 40px 80px -30px rgba(0,0,0,.6);overflow:hidden;position:relative}
.card-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 24px 18px;border-bottom:1px solid var(--rule)}
.card-h b{font-size:17px;letter-spacing:-.02em;display:block}
.card-h .nm2{display:grid;gap:3px;min-width:0}
.card-h .dom{font:400 12px var(--mono);color:var(--dim)}
.tag{margin-left:auto;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kl);border:1px solid rgba(233,164,76,.45);border-radius:6px;padding:6px 8px}
.row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;padding:16px 24px;border-bottom:1px solid rgba(42,50,56,.7);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.row:last-child{border-bottom:0}
.row .l{font:500 10.5px/1.9 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kl)}
.row .v{font-size:15.5px;line-height:1.45;min-width:0}
.row .p{display:block;font:400 11.5px/1.5 var(--mono);color:var(--dim);margin-top:5px}
.row.no .l{color:var(--bad)}
.row.no{position:relative}
.row.no::after{content:"";position:absolute;left:24px;right:24px;bottom:0;height:1.5px;background:var(--bad);transform-origin:left;transform:scaleX(1);transition:transform .9s var(--ease)}
.card-f{padding:13px 24px;font:400 11px/1.4 var(--mono);color:var(--dim);letter-spacing:.06em;border-top:1px solid var(--rule);background:rgba(0,0,0,.12);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pre .row{opacity:.28;transform:translateY(4px)}
.pre .row.no::after{transform:scaleX(0)}
.row.in{opacity:1!important;transform:none!important}
.row.no.in::after{transform:scaleX(1)!important}
@media (max-width:520px){.row{grid-template-columns:1fr;gap:4px;padding:14px 18px}.card-h{padding:16px 18px}.card-f{padding:12px 18px}.row.no::after{left:18px;right:18px}}

/* ---------- problem */
.stage{background:var(--ink-2);border:1px solid var(--rule);border-radius:22px;position:relative;overflow:hidden}
.pb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0;min-height:520px}
.pb-steps{display:flex;gap:6px;padding:22px 28px 0;grid-column:1/-1}
.pb-steps button{flex:1;max-width:220px;background:none;border:0;padding:0 0 12px;text-align:left;cursor:pointer;font:500 11.5px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);position:relative}
.pb-steps button::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--rule);border-radius:2px}
.pb-steps button i{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--kl);border-radius:2px;z-index:1}
.pb-steps button[aria-pressed="true"]{color:var(--bone)}
.pb-steps button.g[aria-pressed="true"] i{background:var(--bad)}
.cat{padding:34px 28px 34px 28px;position:relative;z-index:1}
.cat .cap{font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 16px;display:flex;justify-content:space-between}
.cat ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.cat li{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-radius:9px;border:1px solid var(--rule);background:rgba(245,242,235,.02);font-size:14.5px;color:var(--mid);transition:all .35s var(--ease);position:relative}
.cat li em{margin-left:auto;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:var(--dim);border:1px solid var(--rule-2);border-radius:5px;padding:4px 6px}
.cat li.more{border-style:dashed;color:var(--dim);font:400 12px var(--mono);letter-spacing:.04em}
.cat li.hov{border-color:rgba(245,242,235,.5);color:var(--bone)}
.cat li.pick-g{border-color:var(--bone);color:var(--bone);background:rgba(245,242,235,.06)}
.cat li.pick-b{border-color:var(--kernel);color:var(--bone);background:rgba(201,123,33,.16)}
.cat li.pick-b em{color:var(--kl);border-color:rgba(233,164,76,.5)}
.cat li.cross{color:var(--dim);text-decoration:line-through;text-decoration-color:var(--bad)}
.acct{position:relative;display:flex;align-items:center;justify-content:center;padding:34px 28px}
.acct-w{position:relative;width:100%;max-width:440px;z-index:1}
.acct .rings-bg{position:absolute;left:50%;top:50%;width:760px;height:760px;transform:translate(-50%,-50%);pointer-events:none;opacity:.9}
.acct-c{width:100%;background:var(--panel);border:1px solid var(--rule);border-radius:18px;padding:28px;position:relative;transition:border-color .5s,box-shadow .6s;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.acct-c .who{display:flex;align-items:center;gap:14px}
.av{width:44px;height:44px;border-radius:11px;background:var(--panel-2);border:1px solid var(--rule-2);display:grid;place-items:center;font:600 13px var(--mono);color:var(--mid);flex:none}
.acct-c .who b{font-size:21px;letter-spacing:-.02em}
.acct-c .who{transition:opacity .8s,filter .8s}
.acct-c .meta{font:400 12px/1.5 var(--mono);color:var(--dim);margin-top:4px}
.acct-c .st{margin-top:22px;display:grid;gap:10px;min-height:118px}
.acct-c .st p{margin:0;font-size:16px;line-height:1.45}
.acct-c .st .k{font:500 10.5px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;display:block;color:var(--dim)}
.acct-c.spent{border-color:rgba(196,97,79,.45)}
.acct-c.spent .who{opacity:.45;filter:grayscale(1)}
.acct-c.won{border-color:rgba(201,123,33,.75);box-shadow:0 0 0 6px rgba(201,123,33,.08),0 30px 60px -30px rgba(0,0,0,.7)}
.stamp{position:absolute;right:22px;top:-15px;font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:8px 10px;border-radius:6px;opacity:0;transform:scale(.9) rotate(-3deg);transition:all .4s var(--ease);z-index:2}
.stamp.on{opacity:1;transform:scale(1) rotate(-3deg)}
.stamp.bad{background:var(--bad);color:#1A0B08}
.stamp.good{background:var(--kl);color:#1A1206;transform:scale(.9) rotate(0)}
.stamp.good.on{transform:none}
#pbwire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.pb-foot{grid-column:1/-1;padding:0 28px 22px}
@media (max-width:860px){.pb{grid-template-columns:1fr}.acct{padding-top:0}.cat{padding-bottom:18px}.cat li:nth-child(n+6):not(.more):not(.keep){display:none}}

/* ---------- territory */
.terr-head{padding-top:clamp(80px,9vw,136px)}
.scrolly{position:relative}
.stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ocean)}
#map{position:absolute;inset:0;width:100%;height:100%}
.stick::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--ink) 0,rgba(12,16,19,0) 14%,rgba(12,16,19,0) 82%,var(--ink) 100%)}
.hud{position:absolute;z-index:3;pointer-events:none}
.count{right:var(--gut);bottom:clamp(40px,7vh,72px);text-align:right}
.count b{display:block;font:500 clamp(34px,4vw,54px)/1 var(--mono);letter-spacing:-.03em;color:var(--bone)}
.count span{display:block;font:500 11px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin-top:10px}
.legend{left:var(--gut);bottom:clamp(40px,7vh,72px);display:flex;gap:18px;flex-wrap:wrap;font:500 11px/1.4 var(--mono);letter-spacing:.08em;color:var(--mid)}
.legend span{display:flex;align-items:center;gap:8px}
.legend i{width:9px;height:9px;border-radius:50%;display:block}
.cond{right:var(--gut);top:calc(96px + env(safe-area-inset-top,0px));max-width:430px;background:rgba(16,20,23,.86);border:1px solid var(--rule);border-radius:14px;padding:18px 20px;opacity:0;transform:translateY(-6px);transition:opacity .5s,transform .5s var(--ease);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cond.on{opacity:1;transform:none}
.cond .k{font:500 10.5px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kl);display:block;margin-bottom:8px}
.cond p{margin:0;font-size:15px;line-height:1.5;min-height:4.5em}
.cond p::after{content:"";display:inline-block;width:7px;height:1.05em;vertical-align:-2px;background:var(--kl);margin-left:2px;opacity:var(--caret,0)}
.steps{position:relative;z-index:4;margin-top:-100vh;margin-top:-100svh;pointer-events:none}
.step{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-inline:var(--gut)}
.step:first-child{min-height:120vh}
.step .sc{pointer-events:auto;width:min(380px,100%);background:rgba(16,20,23,.84);border:1px solid var(--rule);border-radius:16px;padding:24px 24px 22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity .5s,border-color .5s}
.step .sc .n{font:500 11px/1 var(--mono);letter-spacing:.16em;color:var(--kl);display:block;margin-bottom:14px}
.step .sc h3{font-size:clamp(1.35rem,2vw,1.7rem)}
.step .sc p{margin:10px 0 0;color:var(--mid);font-size:15px;line-height:1.5}
.step .sc .qm{display:none;margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);color:var(--bone);font-size:14px}
.step .sc .qm span{display:block;font:500 10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kl);margin-bottom:6px}
.step.off .sc{opacity:.35}
.capm{display:none}
.terr-foot{padding-top:28px;padding-bottom:0}
.terr-foot details{margin-top:18px;border-top:1px solid var(--rule);padding-top:14px}
.terr-foot summary{cursor:pointer;font:500 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mid);list-style:none;display:inline-flex;align-items:center;gap:10px}
.terr-foot summary::-webkit-details-marker{display:none}
.terr-foot summary::before{content:"+";color:var(--kl);font-size:15px}
.terr-foot details[open] summary::before{content:"\2212"}
.sectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px;margin-top:22px}
.sectors h4{margin:0 0 10px;font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kl)}
.sectors ul{list-style:none;margin:0;padding:0;columns:2;column-gap:28px;font-size:13.5px;color:var(--mid)}
.sectors li{display:flex;justify-content:space-between;gap:10px;break-inside:avoid;padding:3px 0;border-bottom:1px solid rgba(42,50,56,.5)}
.sectors li b{font:500 12px var(--mono);color:var(--bone)}
@media (max-width:760px){
  .step .sc{visibility:hidden}
  .capm{display:block;position:absolute;z-index:4;left:var(--gut);right:var(--gut);bottom:max(18px,env(safe-area-inset-bottom,0px));background:rgba(16,20,23,.9);border:1px solid var(--rule);border-radius:16px;padding:18px 18px 16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .capm .n{font:500 11px/1 var(--mono);letter-spacing:.16em;color:var(--kl);display:block;margin-bottom:12px}
  .capm h3{font-size:1.3rem}
  .capm p{margin:8px 0 0;color:var(--mid);font-size:14.5px;line-height:1.5}
  .capm .qm{display:block;margin-top:12px;padding-top:10px;border-top:1px solid var(--rule);color:var(--bone);font-size:13.5px}
  .capm .qm span{display:block;font:500 10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kl);margin-bottom:4px}
  .count{top:calc(86px + env(safe-area-inset-top,0px));bottom:auto}
  .count b{font-size:30px}
  .legend{display:none}
  .cond{display:none}
  .step .sc .qm{display:block}
  .sectors{grid-template-columns:1fr}
  .sectors ul{columns:1}
}
.rm .steps{margin-top:0}
.rm .stick{position:relative;height:auto;aspect-ratio:16/9;max-height:80vh;min-height:420px}
.rm .step{min-height:0;padding-block:10px}
.rm .step .sc{width:100%;max-width:760px;visibility:visible}
.rm .capm{display:none}

/* ---------- reading */
.flow{display:grid;grid-template-columns:214px minmax(0,1fr) 250px;gap:0;position:relative}
.flow>div{padding:26px 24px;min-width:0}
.flow>div+div{border-left:1px solid var(--rule)}
.flow .ch{font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 18px;display:flex;gap:10px;align-items:center}
.flow .ch i{font-style:normal;color:var(--kl)}
.srcs{display:grid;gap:8px}
.src{font:500 12px/1 var(--mono);color:var(--mid);border:1px solid var(--rule-2);border-radius:8px;padding:10px 11px;transition:all .3s;position:relative;background:var(--ink-2)}
.src.hot{color:var(--bone);border-color:var(--kl);box-shadow:0 0 0 4px rgba(233,164,76,.12)}
.obs{display:grid;gap:0}
.ob{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid rgba(42,50,56,.6);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ob .d{font:400 12px/1.7 var(--mono);color:var(--dim)}
.ob .f{font-size:15px;line-height:1.45;position:relative}
.ob .f small{display:block;font:400 11px/1.5 var(--mono);color:var(--dim);margin-top:3px}
.ob .s{font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:6px 7px;border-radius:5px;border:1px solid;white-space:nowrap;transition:transform .3s var(--ease),opacity .3s}
.s.kept{color:var(--good);border-color:rgba(95,169,124,.5)}
.s.inf{color:var(--kl);border-color:rgba(233,164,76,.5)}
.s.nf{color:var(--mid);border-color:var(--rule-2)}
.s.void{color:var(--bad);border-color:rgba(196,97,79,.55)}
.ob.v .f{color:var(--dim)}
.ob .tx{position:relative}
.ob.v .tx::after{content:"";position:absolute;left:0;top:.62em;height:1.5px;width:100%;background:var(--bad);transition:width .6s var(--ease)}
.ctl{margin-top:22px;border:1px dashed var(--rule-2);border-radius:12px;padding:16px 18px}
.ctl .k{font:500 10.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mid);display:block;margin-bottom:10px}
.ctl ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ctl li{display:flex;justify-content:space-between;gap:12px;font:400 12.5px/1.5 var(--mono);color:var(--mid);transition:opacity .4s}
.ctl li span{color:var(--dim)}
.ctl li span.na{color:var(--bone)}
.ctl .res{margin:12px 0 0;font-weight:600;color:var(--kl);font-size:15px;transition:opacity .5s}
.mini{display:grid;gap:10px}
.mini div{border-radius:10px;border:1px solid var(--rule);padding:11px 13px;background:var(--panel);transition:all .45s var(--ease)}
.mini div span{display:block;font:500 10px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kl)}
.mini div p{margin:2px 0 0;font-size:14px;line-height:1.4}
.mini div.lit{border-color:rgba(201,123,33,.6)}
.pre-r .ob{opacity:.22}
.pre-r .ob .s{opacity:0;transform:scale(.8)}
.pre-r .ob.v .tx::after{width:0}
.pre-r .mini div{opacity:.25}
.pre-r .ctl li,.pre-r .ctl .res{opacity:.25}
.ob.in{opacity:1!important}
.ob.in .s{opacity:1!important;transform:none!important}
.ob.v.in .tx::after{width:100%!important}
.mini div.in{opacity:1!important}
.ctl .in{opacity:1!important}
#flowwire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.replay{background:none;border:1px solid var(--rule-2);border-radius:8px;color:var(--mid);font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:8px 10px;cursor:pointer;margin-left:auto}
.replay:hover{color:var(--bone);border-color:var(--mid)}
@media (max-width:980px){.flow{grid-template-columns:1fr}.flow>div+div{border-left:0;border-top:1px solid var(--rule)}.srcs{grid-template-columns:repeat(3,minmax(0,1fr))}#flowwire{display:none}.mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ob{grid-template-columns:1fr auto}.ob .d{grid-column:1/-1;line-height:1}.srcs{grid-template-columns:repeat(2,minmax(0,1fr))}.mini{grid-template-columns:1fr}}

/* proof */
.proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px);margin-top:clamp(64px,7vw,104px)}
.proof h3{grid-column:1/-1;max-width:24ch}
.pf{border-top:1px solid var(--rule);padding-top:26px}
.pf .big{font:500 clamp(46px,5.6vw,78px)/1 var(--mono);letter-spacing:-.04em}
.pf .big small{font-size:.36em;letter-spacing:0;color:var(--mid);margin-left:8px}
.pf p{color:var(--mid);max-width:42ch;margin:16px 0 22px}
.pf p b{color:var(--bone);font-weight:600}
.bar{height:12px;border-radius:6px;background:var(--panel-2);position:relative;overflow:hidden}
.bar i{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--kernel);width:var(--w);transition:width 1.2s var(--ease)}
.bar.hatch{background:repeating-linear-gradient(135deg,rgba(196,97,79,.28) 0 4px,rgba(196,97,79,.08) 4px 8px)}
.bar-l{display:flex;justify-content:space-between;font:500 11.5px/1.4 var(--mono);color:var(--mid);margin-top:9px;gap:12px}
.bar-l b{color:var(--bone);font-weight:500}
.bars{display:grid;gap:18px}
.bars .t{display:flex;justify-content:space-between;font:500 11.5px/1.4 var(--mono);letter-spacing:.06em;color:var(--mid);margin-bottom:8px;gap:12px}
.bars .t b{color:var(--bone);font-weight:500}
.pre-p .bar i{width:0}
@media (max-width:820px){.proof{grid-template-columns:1fr}}

/* ---------- brief section */
.bf{display:grid;grid-template-columns:260px minmax(0,680px);gap:clamp(24px,4vw,56px);justify-content:start}
.notes{position:relative}
.notes p{position:absolute;right:0;margin:0;text-align:right;font-size:14px;line-height:1.35;color:var(--dim);max-width:230px;transform:translateY(-50%);transition:color .4s,opacity .4s}
.notes p::after{content:"";position:absolute;right:-40px;top:50%;width:28px;height:1px;background:var(--rule-2)}
.notes p.on{color:var(--bone)}
.notes p.red{color:var(--kl)}
.bf .card .row{grid-template-columns:150px minmax(0,1fr)}
.row.say .v{font-size:17px;font-weight:500;color:var(--bone);letter-spacing:-.01em}
.row.lw .v{color:var(--kl);font-weight:600}
.lift{transition:transform .6s var(--ease),box-shadow .6s var(--ease),background .6s}
.lift.up{transform:translateY(-3px) scale(1.012)!important;background:rgba(196,97,79,.08);box-shadow:0 18px 40px -18px rgba(0,0,0,.7)}
.half{display:block;font:500 11.5px/1.5 var(--mono);color:var(--kl);margin-top:6px;letter-spacing:.04em}
@media (max-width:980px){.bf{grid-template-columns:1fr}.notes{display:none}}
@media (max-width:520px){.bf .card .row{grid-template-columns:1fr}}
@media (min-width:981px){.bf .half{display:none}}

/* ---------- catalogue */
.cg{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,96px);align-items:start}
.ctabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.ctabs button{background:transparent;border:1px solid var(--rule-2);border-radius:10px;padding:11px 14px;text-align:left;cursor:pointer;color:var(--mid);transition:all .25s;display:grid;gap:3px}
.ctabs button b{font:600 14.5px/1.2 var(--sans);color:inherit}
.ctabs button span{font:400 11px/1.2 var(--mono);letter-spacing:.06em;color:var(--dim)}
.ctabs button[aria-selected="true"]{border-color:var(--bone);color:var(--bone);background:rgba(245,242,235,.04)}
.timer{font:500 12px/1 var(--mono);color:var(--kl);letter-spacing:.06em;align-self:center;margin-left:auto;opacity:0;transition:opacity .3s}
.timer.on{opacity:1}
.grid75{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:6px}
.cell{aspect-ratio:1;border-radius:5px;background:var(--c,#333);transition:transform .18s ease,background .18s}
.cell.none{background:transparent;box-shadow:inset 0 0 0 1.5px var(--bad)}
.cell.flip{transform:scaleX(0)}
.cell.mp{box-shadow:0 0 0 2px var(--ink),0 0 0 3.5px rgba(233,164,76,.9)}
.lgd{display:grid;gap:9px;margin-top:26px}
.lgd div{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14.5px;color:var(--mid)}
.lgd i{width:14px;height:14px;border-radius:4px;background:var(--c)}
.lgd i.none{background:transparent;box-shadow:inset 0 0 0 1.5px var(--bad)}
.lgd em{font:500 12px var(--mono);font-style:normal;color:var(--bone)}
.mpline{margin-top:24px;padding-top:18px;border-top:1px solid var(--rule);display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.mpline b{font:500 40px/1 var(--mono);letter-spacing:-.03em;color:var(--kl)}
.mpline span{color:var(--mid);font-size:14.5px;max-width:34ch}
@media (max-width:900px){.cg{grid-template-columns:1fr;gap:0}.grid75{gap:4px}.cg>div:first-child{display:contents}.cg .eb{order:0}.cg h2{order:1}.cg .lead{order:2;margin-bottom:32px}.cg>div:last-child{order:3}.lgd{order:4}.mpline{order:5}}

/* ---------- caddie (app ground) */
.app{background:var(--app-bg);color:var(--app-ink)}
.app .eb{color:var(--app-ker)}
.app .lead{color:var(--app-mut)}
.app .basis{color:var(--app-mut)}
.loop{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding-top:56px}
.track{position:absolute;left:0;right:0;top:0;height:40px}
.track svg{width:100%;height:100%;overflow:visible}
.lp{display:grid;grid-template-rows:auto 1fr;gap:14px;min-width:0}
.lp .k{font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--app-mut);display:flex;gap:8px;align-items:center;transition:color .3s}
.lp .k i{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--app-line-2);display:grid;place-items:center;font-style:normal;font-size:10.5px;color:var(--app-mut);background:var(--app-bg);transition:all .3s}
.lp.on .k{color:var(--app-ink)}
.lp.on .k i{border-color:var(--app-ker);color:#fff;background:var(--app-ker)}
.frag{background:var(--app-card);border:1px solid var(--app-line);border-radius:12px;box-shadow:0 1px 2px rgba(24,27,31,.04),0 18px 40px -26px rgba(24,27,31,.28);padding:16px;font-size:13px;line-height:1.45;min-width:0;transition:box-shadow .4s,transform .4s var(--ease)}
.lp.on .frag{box-shadow:0 1px 2px rgba(24,27,31,.04),0 24px 48px -24px rgba(24,27,31,.38);transform:translateY(-2px)}
.frag .fh{display:flex;align-items:center;gap:7px;font:600 11px/1 var(--sans);color:var(--app-mut);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--app-line)}
.frag .fh .mk .r,.frag .fh .mk .t{stroke:var(--app-ink)}
.frag h4{margin:0;font-size:14.5px;font-weight:640;letter-spacing:-.01em}
.frag .sub{color:var(--app-mut);font-size:12px;margin-top:2px}
.frag .sell{color:var(--app-ker);font-weight:660;font-size:12.5px;margin-top:8px}
.frag .ev{margin:6px 0 0;font-size:12.5px;color:#3A3F44}
.frag .ev code{font:400 11.5px var(--mono)}
.frag .acts{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.ab{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--app-line-2);background:#fff;font:620 12px/1 var(--sans);color:var(--app-ink);display:inline-flex;align-items:center;transition:transform .15s,box-shadow .2s,background .2s}
.ab.ink{background:var(--app-ink);border-color:var(--app-ink);color:#fff}
.ab.ker{background:var(--app-ker);border-color:var(--app-ker);color:#fff;width:100%;justify-content:center;height:36px}
.ab.press{transform:scale(.95);box-shadow:0 0 0 4px rgba(26,29,33,.14)}
.ab.ker.press{box-shadow:0 0 0 4px rgba(158,95,11,.22)}
.pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font:650 11px/1 var(--sans);white-space:nowrap}
.pill.g{background:var(--app-good-bg);color:var(--app-good)}
.pill.w{background:var(--app-warn-bg);color:var(--app-warn)}
.pill.r{background:var(--app-bad-bg);color:var(--app-bad)}
.pill.n{background:#EFEDE7;color:var(--app-mut)}
.frag .note{margin-top:10px;font-size:11.5px;color:var(--app-mut);min-height:17px;transition:opacity .3s}
.frag .log{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.frag .log li{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#3A3F44;padding-top:6px;border-top:1px solid var(--app-line);transition:opacity .35s,transform .35s var(--ease)}
.frag .log li span{color:var(--app-mut)}
.frag .rowx{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ring{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--app-line)}
.ring svg{width:46px;height:46px;flex:none}
.ring b{font-size:13px;font-weight:640;display:block}
.ring span{font-size:11.5px;color:var(--app-mut)}
.hide-s{opacity:0!important;transform:translateY(4px)}
.caddie-foot{margin-top:40px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:var(--app-mut);font-size:15px}
.caddie-foot b{color:var(--app-ink);font-weight:600}
@media (max-width:1060px){.loop{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0}.track{display:none}}
@media (max-width:600px){.loop{grid-template-columns:1fr}}

/* ---------- hero small line, what you buy */
.free{margin-top:16px;font:400 14px/1.5 var(--sans);color:var(--mid);max-width:46ch}
.who3 p{margin:14px 0 0;font:400 15px/1.55 var(--sans);color:var(--mid);max-width:32ch}
.buy3,.back3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.buy3>div{padding:28px 28px 8px 0;min-width:0}
.buy3>div+div{padding-left:28px;border-left:1px solid var(--rule)}
.bl{display:block;font:500 11.5px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--kl)}
.buy3 b{display:block;margin-top:14px;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}
.buy3 p{margin:14px 0 0;font:400 15.5px/1.55 var(--sans);color:var(--mid);max-width:36ch}
.bl.back{margin:clamp(56px,6vw,88px) 0 18px;color:var(--dim)}
.back3{gap:0 28px;border-top:0}
.back3 p{margin:0;padding-top:20px;border-top:1px solid var(--rule);font:600 clamp(1.15rem,1.7vw,1.4rem)/1.3 var(--sans);letter-spacing:-.015em;color:var(--bone);max-width:24ch}
#buy .who-l{margin-top:clamp(48px,5vw,72px)}
.tlink{display:inline-block;margin-top:18px;font:500 15px/1.4 var(--sans);color:var(--kl);text-decoration:none;border-bottom:1px solid rgba(233,164,76,.45);padding-bottom:2px}
.tlink:hover{color:var(--bone);border-bottom-color:var(--bone)}
@media (max-width:700px){.buy3,.back3{grid-template-columns:1fr}.buy3>div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}.back3 p+p{margin-top:24px}}

.sec-head div.lead p{margin:0}
.sec-head div.lead p+p{margin-top:14px}
.ctl-l{margin:0 0 14px;font:600 16px/1.4 var(--sans);color:var(--bone)}
.buy4{grid-template-columns:repeat(4,minmax(0,1fr))}
.buy4 b{font-size:clamp(1.3rem,1.9vw,1.7rem)}
@media (max-width:1100px){.buy4{grid-template-columns:repeat(2,minmax(0,1fr))}.buy4>div:nth-child(3){padding-left:0;border-left:0}.buy4>div:nth-child(n+3){border-top:1px solid var(--rule);margin-top:20px}}
@media (max-width:700px){.buy4{grid-template-columns:1fr}.buy4>div{margin-top:0!important}.buy4>div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}

/* ---------- never */
.never h2{max-width:22ch;font-size:clamp(2.1rem,4.6vw,4.1rem)}
.never h2 .two{display:block;color:var(--kl)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:44px}
.chip{font:500 12px/1 var(--mono);color:var(--dim);border:1px solid var(--rule-2);border-radius:999px;padding:10px 14px;transition:color .4s,border-color .4s,background .4s}
.chip.lit{color:var(--bone);border-color:rgba(233,164,76,.55);background:rgba(201,123,33,.08)}

/* ---------- who */
.who3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--rule)}
.who3 div{padding:28px 28px 8px 0}
.who3 div+div{padding-left:28px;border-left:1px solid var(--rule)}
.who3 b{display:block;font-size:clamp(2.2rem,4.4vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1}
.who3 span{display:block;margin-top:14px;font:500 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kl)}
.who-l{margin-top:44px;font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:500;letter-spacing:-.015em;max-width:40ch}
@media (max-width:700px){.who3{grid-template-columns:1fr}.who3 div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}

/* ---------- name */
.nm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(36px,6vw,96px);align-items:center}
.nm svg{width:100%;max-width:520px;margin-inline:auto;overflow:visible}
.nm .ln{fill:none;stroke:var(--bone);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nm #nut{fill:rgba(201,123,33,0);stroke:var(--kl);transition:fill 1s var(--ease)}
.nm #nut.ripe{fill:rgba(201,123,33,.92)}
.nm .ann{transition:opacity .8s var(--ease)}
.nm .ann text{font-family:var(--mono);font-size:12px;letter-spacing:.06em;fill:var(--mid)}
.nm .ann .t1{font-family:var(--sans);font-size:17px;font-weight:600;letter-spacing:-.01em;fill:var(--bone)}
@media (max-width:820px){.nm{grid-template-columns:1fr}.nm svg{max-width:300px}}

/* ---------- team */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px clamp(32px,5vw,80px)}
.person{border-top:1px solid var(--rule);padding-top:26px}
.person b{display:block;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.1}
.person .role{display:block;font:500 11.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kl);margin-top:10px}
.person p{margin:16px 0 0;color:var(--mid);max-width:50ch}
.person.sm b{font-size:clamp(1.3rem,1.9vw,1.6rem)}
.team-close{margin-top:clamp(48px,6vw,80px);display:flex;align-items:baseline;gap:22px;flex-wrap:wrap}
.team-close p{margin:0;font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:600;letter-spacing:-.025em;max-width:30ch}
.team-close span{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.tgl{font:500 11.5px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin:0 0 20px}
.team+.tgl{margin-top:clamp(56px,6vw,88px)}
.team.spec{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px clamp(28px,3.5vw,56px)}
.team .person{display:grid;grid-template-rows:auto auto 1fr;align-content:start}
.person.sm p{font-size:15px;line-height:1.55;margin-top:14px}
.team .person p{color:#C4C9CD}
@media (max-width:1000px){.team.spec{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.team,.team.spec{grid-template-columns:1fr}}

.ph{display:grid;place-items:center;width:128px;height:128px;margin-bottom:16px;background:rgba(245,242,235,.05);border:1px solid rgba(245,242,235,.12);overflow:hidden;flex:0 0 auto}
.ph>span{font:700 36px/1 var(--sans);letter-spacing:-.02em;color:rgba(245,242,235,.4)}
.ph img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:grayscale(1);display:block}
.ph.has{border-color:transparent;background:none}
.team.founders{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px clamp(28px,3.5vw,56px)}
.team.founders .person b{font-size:clamp(1.4rem,2vw,1.8rem)}
.team.spec{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px clamp(24px,2.6vw,40px)}
.team .person{grid-template-rows:auto auto auto 1fr}
.brains-w{margin-top:clamp(56px,6vw,88px)}
.brains-w.wr{margin-top:0}
.brains-g.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.brains-g.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.brains-g.four{grid-template-columns:1fr}}
.brains-w.wr .brains-t{padding-top:22px}
.brains-t{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--rule);padding:26px 0 8px;cursor:pointer}
.brains-t:focus-visible{outline:2px solid var(--kl);outline-offset:6px}
.brains-t .bt{min-width:0}
.brains-t .bt b{display:block;font:700 28px/1.15 var(--sans);letter-spacing:-.025em;color:var(--bone)}
.brains-t .bt span{display:block;margin-top:8px;font:400 15.5px/1.5 var(--sans);color:var(--mid)}
.brains-t .bc{display:flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--kl);white-space:nowrap}
.brains-t .bc svg{transition:transform .3s var(--ease)}
.brains-t[aria-expanded="true"] .bc svg{transform:rotate(180deg)}
.brains-t:hover .bc{color:var(--bone)}
.brains{overflow:hidden;transition:height .4s var(--ease)}
.brains-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px clamp(24px,3vw,48px);padding-top:40px;padding-bottom:48px}
@media (max-width:760px){.brains-g{padding-bottom:32px}}
.bp{border-top:1px solid var(--rule);padding-top:24px;min-width:0}
.bp b{display:block;font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:700;letter-spacing:-.03em;line-height:1.1}
.bp p{margin:12px 0 0;font-size:15px;line-height:1.55;color:var(--mid);max-width:44ch}
.brains.anim .bp{animation:bpin .45s var(--ease) both;animation-delay:calc(var(--i)*40ms)}
@keyframes bpin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:1000px){.team.spec,.brains-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1000px){.team.founders{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}}
@media (max-width:760px){.team.founders,.team,.team.spec,.brains-g{grid-template-columns:1fr}.ph{width:96px;height:96px}.ph>span{font-size:28px}.brains-t .bt b{font-size:22px}.bp{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start}.bp .ph{margin-bottom:0}.brains-t{align-items:flex-start}.brains-t .bc{padding-top:6px}}
@media (max-width:420px){.brains-t .bc-l{display:none}}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

.who4{grid-template-columns:repeat(4,minmax(0,1fr))}
.who4 b{font-size:clamp(1.8rem,3vw,2.6rem);white-space:nowrap}
.who4 p{max-width:none}
#who .who-l{max-width:none}
@media (max-width:1300px){.who4 div{padding-right:22px}.who4 div+div{padding-left:22px}}
@media (max-width:1100px){.who4{grid-template-columns:repeat(2,minmax(0,1fr))}.who4 div:nth-child(3){padding-left:0;border-left:0}.who4 div:nth-child(n+3){border-top:1px solid var(--rule)}}
@media (max-width:700px){.who4{grid-template-columns:1fr}.who4 div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}
section.ruled{border-top:1px solid var(--rule)}
#problem .sec-head{margin-bottom:0}
.inv-f{flex-basis:100%;padding-top:26px;margin-top:8px;border-top:1px solid var(--rule)}
.inv-f .lead{margin:0;max-width:52ch}
.inv-f .invf{justify-content:flex-start;margin-top:18px}
.inv-f .ask{margin-top:10px;color:var(--mid);font-size:14.5px}
#invlink[aria-expanded="true"]{color:var(--bone)}

/* light bands: What you get and Your catalogue sit on the same warm ground as Caddie */
.app h2{color:var(--app-ink)}
#buy.app .buy3{border-top-color:var(--app-line-2)}
#buy.app .buy3>div+div{border-left-color:var(--app-line-2)}
#buy.app .bl{color:var(--app-ker)}
#buy.app .buy3 b{color:var(--app-ink)}
#buy.app .buy3 p{color:var(--app-mut)}
#buy.app .who-l{color:var(--app-ink)}
#buy.app .tlink{color:var(--app-ker);border-bottom-color:rgba(158,95,11,.4)}
#buy.app .tlink:hover{color:var(--app-ink);border-bottom-color:var(--app-ink)}
@media (max-width:1100px){#buy.app .buy4>div:nth-child(n+3){border-top-color:var(--app-line-2)}}
@media (max-width:700px){#buy.app .buy4>div+div{border-top-color:var(--app-line-2)}}
#catalogue.app .ctl-l{color:var(--app-ink)}
#catalogue.app .ctabs button{border-color:var(--app-line-2);color:var(--app-mut);background:var(--app-card)}
#catalogue.app .ctabs button span{color:var(--app-mut)}
#catalogue.app .ctabs button:hover{border-color:var(--app-ink);color:var(--app-ink)}
#catalogue.app .ctabs button[aria-selected="true"]{border-color:var(--app-ink);color:var(--app-ink);background:var(--app-card);box-shadow:0 1px 2px rgba(26,29,33,.08)}
#catalogue.app .ctabs button:focus-visible{outline-color:var(--app-ker)}
#catalogue.app .cell{box-shadow:inset 0 0 0 1px rgba(26,29,33,.1)}
#catalogue.app .cell.none{background:transparent;box-shadow:inset 0 0 0 1.5px var(--app-bad)}
#catalogue.app .cell.mp{box-shadow:0 0 0 2px var(--app-bg),0 0 0 3.5px var(--app-ker)}
#catalogue.app .lgd div{color:var(--app-mut)}
#catalogue.app .lgd i{box-shadow:inset 0 0 0 1px rgba(26,29,33,.12)}
#catalogue.app .lgd i.none{box-shadow:inset 0 0 0 1.5px var(--app-bad)}
#catalogue.app .lgd em{color:var(--app-ink)}
#catalogue.app .mpline{border-top-color:var(--app-line-2)}
#catalogue.app .mpline b{color:var(--app-ker)}
#catalogue.app .mpline span{color:var(--app-mut)}
@media (max-width:980px){#catalogue.app .grid75{gap:4px}}

/* ---------- light ground: the dark tokens remapped, so every rule that uses them reads on light */
.lt{background:var(--app-bg);color:var(--app-ink);
 --bone:var(--app-ink); --mid:#50565C; --dim:#6A7075;
 --rule:var(--app-line-2); --rule-2:#CFCBC1;
 --ink:var(--app-bg); --ink-2:var(--app-card); --panel:var(--app-card); --panel-2:#ECE9E2;
 --kl:var(--app-ker); --kernel:var(--app-ker); --good:var(--app-good); --bad:var(--app-bad)}
.lt h2,.lt h3{color:var(--app-ink)}
.lt .eb{color:var(--app-ker)}
.lt .lead{color:#50565C}
.lt .basis{color:#6A7075}
/* who it is for */
.lt .who3 p{color:#50565C}
/* the research */
.lt .ob{border-bottom-color:var(--app-line)}
.lt .ob.v .f{color:#7A8086}
.lt .src{color:#50565C;background:var(--app-card)}
.lt .src.hot{color:var(--app-ink);border-color:var(--app-ker);box-shadow:0 0 0 4px rgba(158,95,11,.12)}
.lt .s.kept{color:var(--app-good);background:var(--app-good-bg);border-color:rgba(44,106,76,.35)}
.lt .s.inf{color:var(--app-warn);background:var(--app-warn-bg);border-color:rgba(126,82,15,.35)}
.lt .s.nf{color:#50565C;background:#EFEDE7;border-color:#CFCBC1}
.lt .s.void{color:var(--app-bad);background:var(--app-bad-bg);border-color:rgba(150,61,48,.35)}
.lt .mini div{background:var(--app-card);border-color:var(--app-line-2);box-shadow:0 1px 2px rgba(26,29,33,.05)}
.lt .mini div.lit{border-color:var(--app-ker)}
.lt .replay{background:var(--app-card)}
/* the catalogue: stronger text on light */
#catalogue.app .lgd div{color:#3E4449}
#catalogue.app .ctabs button span{color:#5E6368}
#catalogue.app .basis{color:#5E6368}
/* the team */
.lt .ph{background:rgba(26,29,33,.05);border-color:rgba(26,29,33,.12)}
.lt .ph>span{color:rgba(26,29,33,.42)}
.lt .ph.has{border-color:transparent;background:none}
.lt .team .person p,.lt .bp p,.lt .brains-t .bt span{color:#50565C}
.lt .tgl{color:#6A7075}
.lt .brains-t:hover .bc{color:var(--app-ink)}
/* the form */
.lt .status.err{color:var(--app-bad)}
.lt a:focus-visible,.lt button:focus-visible,.lt input:focus-visible,.lt textarea:focus-visible{outline-color:var(--app-ker)}
/* the proof, now its own band */
#proofs .proof{margin-top:0}
#proofs .proof h3{font-size:clamp(2rem,3.6vw,3rem);line-height:1.05;letter-spacing:-.035em;max-width:18ch;margin:0 0 clamp(16px,2vw,24px)}

/* ---------- form */
.fm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:start}
#readform{background:var(--panel);border:1px solid var(--rule);border-radius:18px;padding:clamp(20px,3vw,32px)}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--ink-2);border:1px solid var(--rule);border-radius:10px;padding:4px;margin-bottom:22px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{text-align:center;padding:10px;border-radius:7px;font-size:14px;font-weight:600;color:var(--mid);cursor:pointer;transition:all .2s}
.seg input:checked+label{background:var(--panel-2);color:var(--bone);box-shadow:inset 0 0 0 1px var(--rule-2)}
.seg input:focus-visible+label{outline:2px solid var(--kl);outline-offset:2px}
.fl{display:grid;gap:7px;margin-bottom:16px}
.fl label{font:500 11px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mid)}
.fl input,.fl textarea{width:100%;background:var(--ink-2);border:1px solid var(--rule-2);border-radius:9px;color:var(--bone);font:400 15.5px/1.4 var(--sans);padding:12px 13px;transition:border-color .2s}
.fl textarea{min-height:90px;resize:vertical}
.fl input:focus,.fl textarea:focus{outline:none;border-color:var(--kl)}
.two-f{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{font-size:14px;color:var(--mid);min-height:22px;margin:14px 0 0}
.status.err{color:#E08A77}
.status.ok{color:var(--good)}
#readform.sent .fields{display:none}
.done{display:none}
#readform.sent .done{display:block}
@media (max-width:860px){.fm{grid-template-columns:1fr}.two-f{grid-template-columns:1fr}}

/* ---------- investors */
.inv{text-align:center;border-top:1px solid var(--rule)}
.inv .mk{margin:0 auto 26px}
.inv h2{margin:0 auto;max-width:none}
.inv .lead{margin-inline:auto}
.invf{display:flex;gap:10px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.invf input{height:50px;width:min(300px,100%);background:var(--ink-2);border:1px solid var(--rule-2);border-radius:10px;color:var(--bone);font:400 15.5px var(--sans);padding:0 14px}
.invf input:focus{outline:none;border-color:var(--kl)}
.inv .ask{margin-top:18px;color:var(--dim);font-size:14px}
.inv .status{text-align:center}
.deck{position:fixed;inset:0;z-index:100;background:var(--ink);clip-path:circle(0 at var(--cx,50%) var(--cy,50%));transition:clip-path .8s cubic-bezier(.6,0,.2,1)}
.deck.open{clip-path:circle(150% at var(--cx,50%) var(--cy,50%))}
.deck iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--ink)}
.deck .x{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px;z-index:2;--h:40px;padding:0 14px;font-size:14px;background:rgba(16,20,23,.9)}
.drings{position:fixed;inset:0;z-index:101;pointer-events:none}
.drings i{position:absolute;left:var(--cx);top:var(--cy);width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid var(--kl);opacity:0}
.drings.go i{animation:ring 1s var(--ease) forwards}
.drings.go i:nth-child(2){animation-delay:.12s}
.drings.go i:nth-child(3){animation-delay:.24s}
@keyframes ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(40)}}

/* ---------- footer */
footer{border-top:1px solid var(--rule);padding-block:34px calc(34px + env(safe-area-inset-bottom,0px))}
footer .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
footer .brand{font-size:16px}
footer small{font:400 12px var(--mono);color:var(--dim);letter-spacing:.04em}
footer nav{margin-left:auto;display:flex;gap:18px}
footer nav a{font:400 12px var(--mono);color:var(--mid);text-decoration:none;letter-spacing:.04em}
footer nav a:hover{color:var(--bone)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ================= visual finish ================= */
:root{--app-bg:#F8F8F5;--r-card:16px;--r-ctl:10px}
/* one rhythm */
.sec{padding-block:clamp(96px,10vw,144px)}
.eb{margin:0 0 20px;letter-spacing:.2em}
h2{max-width:16ch;line-height:1.03;letter-spacing:-.035em}
.lead{max-width:44ch;margin-top:20px;color:#AEB5BB}
.sec-head{margin-bottom:clamp(44px,5vw,72px)}
@media (min-width:1000px){.sec-head{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:80px}.sec-head .lead{justify-self:start;margin:0 0 8px}}
.basis{margin-top:24px;color:#737C83}
/* nav */
.nav ul a{white-space:nowrap}
@media (max-width:1100px){.nav ul{gap:20px}}
@media (max-width:980px){.nav ul{display:none}.nav .btn{margin-left:auto}}
.nav .btn.quiet:hover{border-color:var(--bone)}
/* pills never wrap */
.tag,.stamp,.cat li em,.ob .s,.pill,.chip,.timer,.half{white-space:nowrap}
.tag{padding:7px 9px;line-height:1}
/* surfaces: only real objects keep a box */
.stage{background:transparent;border:0;border-radius:0;overflow:visible}
.pb{min-height:0;border-top:1px solid var(--rule)}
.pb-steps{padding:24px 0 0}
.cat{padding:36px 40px 36px 0}
.acct{padding:40px 0 40px 40px}
.pb-foot{padding:0}
.flow{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.flow>div{padding:30px 28px}
.flow>div:first-child{padding-left:0}
.flow>div:last-child{padding-right:0}
@media (max-width:980px){.flow>div{padding:24px 0}}
@media (max-width:860px){.cat{padding:28px 0 12px}.acct{padding:12px 0 28px}}
/* the catalogue list: quiet, so the account card leads */
.cat li{height:auto;min-height:40px;padding:9px 12px;border-color:transparent;border-bottom-color:rgba(42,50,56,.7);border-radius:8px;background:transparent;color:#838C93;font-size:14px}
.cat li em{border-color:var(--rule);color:#6C757D}
.cat li.more{border-style:solid;border-color:transparent;color:var(--dim)}
.cat li.hov{border-color:rgba(245,242,235,.28);color:var(--bone)}
.cat li.pick-g{border-color:rgba(245,242,235,.7);background:rgba(245,242,235,.05)}
.cat li.pick-b{border-color:var(--kernel);background:rgba(201,123,33,.12)}
.cat .cap{margin-bottom:12px}
.acct-c{background:#1B2227;border-color:#2E373E;border-radius:20px;padding:32px;box-shadow:0 1px 0 rgba(245,242,235,.06) inset,0 44px 90px -36px rgba(0,0,0,.85)}
.acct-c .who b{font-size:22px}
.acct-c .st p{font-size:16.5px}
.av{border-radius:12px}
.stamp{border-radius:7px;padding:8px 11px;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
/* step buttons */
.pb-steps button{padding-bottom:14px;transition:color .2s}
.pb-steps button:hover{color:var(--mid)}
.pb-steps button:focus-visible{outline:2px solid var(--kl);outline-offset:4px;border-radius:4px}
/* the brief card: a finished document */
.card{background:#1A2025;border-color:#2C353B;border-radius:var(--r-card);box-shadow:0 1px 0 rgba(245,242,235,.06) inset,0 48px 96px -40px rgba(0,0,0,.8)}
.card-h{padding:22px 28px 20px;gap:14px}
.card-h b{font-size:18px}
.row{grid-template-columns:140px minmax(0,1fr);gap:20px;padding:17px 28px;border-bottom-color:rgba(44,53,59,.8)}
.row .l{font-size:10.5px;letter-spacing:.16em;line-height:2}
.row .v{font-size:15.5px;line-height:1.5}
.row .p{margin-top:7px;font-size:11px;letter-spacing:.02em;color:#6F787F}
.row.no{background:linear-gradient(90deg,rgba(196,97,79,.07),rgba(196,97,79,0) 70%)}
.row.no::after{left:28px;right:28px;height:2px;border-radius:2px}
.card-f{padding:14px 28px;background:rgba(0,0,0,.18);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;gap:6px 16px}
.card-f>*{white-space:nowrap}
.bf .card .row{grid-template-columns:156px minmax(0,1fr)}
@media (max-width:520px){.row{padding:15px 20px;grid-template-columns:1fr;gap:4px}.card-h{padding:18px 20px}.card-f{padding:12px 20px}.row.no::after{left:20px;right:20px}}
.notes p{font-size:13.5px}
.notes p.on{color:var(--bone)}
/* the reading */
.src{background:transparent;border-color:var(--rule);border-radius:8px;transition:color .25s,border-color .25s,box-shadow .25s}
.ob{padding:14px 0;grid-template-columns:100px minmax(0,1fr) auto}
.ob .f{font-size:15px}
.ob .s{font:600 10px/1 var(--mono);letter-spacing:.12em;padding:6px 8px;border-radius:5px}
.s.kept{background:rgba(95,169,124,.1);border-color:rgba(95,169,124,.55)}
.s.inf{background:rgba(233,164,76,.1);border-color:rgba(233,164,76,.55)}
.s.nf{background:rgba(160,168,175,.06)}
.s.void{background:rgba(196,97,79,.12);border-color:rgba(196,97,79,.65)}
.ob.v .tx::after{height:1.5px;top:calc(.62em + .5px);background:var(--bad)}
.ctl{border-style:solid;border-color:var(--rule);background:var(--ink-2);border-radius:12px}
.mini div{background:#1A2025;border-color:#2C353B}
.replay:focus-visible{outline:2px solid var(--kl);outline-offset:3px}
/* catalogue */
.ctabs button{border-radius:10px;padding:12px 16px;transition:border-color .2s,color .2s,background .2s}
.ctabs button:hover{border-color:var(--mid);color:var(--bone)}
.ctabs button:focus-visible{outline:2px solid var(--kl);outline-offset:3px}
.grid75{gap:5px}
.cell{border-radius:4px}
.mpline b{font-weight:500}
/* proof bars */
.pf .big{font-weight:500}
/* map HUD */
.step .sc{border-radius:16px;border-color:#2C353B;background:rgba(16,20,23,.9)}
.cond{border-color:#2C353B}
.count b{font-weight:500}
/* Caddie: the prototype's own components on its own ground */
.app{background:var(--app-bg)}
.frag{border-radius:12px;border-color:var(--app-line);box-shadow:0 1px 2px rgba(26,29,33,.05),0 12px 32px -22px rgba(26,29,33,.3);padding:16px}
.frag .fh{font:600 11px/1 var(--sans);letter-spacing:.01em}
.frag h4{font-size:14px;font-weight:640}
.ab{height:32px;padding:0 14px;border-radius:8px;border-color:#D9D6CD;font:620 13px/1 var(--sans);box-shadow:0 1px 2px rgba(26,29,33,.06);cursor:default}
.ab.ink{background:#1A1D21;border-color:#1A1D21}
.ab.ker{background:#9E5F0B;border-color:#9E5F0B;height:34px}
.pill{height:20px;padding:0 8px;border-radius:6px;font:650 11.5px/1 var(--sans)}
.lp .k i{width:24px;height:24px}
.caddie-foot{font-size:15px}
/* never, who, team */
.chip{padding:10px 15px}
.who3 b{letter-spacing:-.045em}
.person{padding-top:28px}
/* form and investors */
#readform{border-radius:var(--r-card);background:#1A2025;border-color:#2C353B}
.fl input:hover,.fl textarea:hover,.invf input:hover{border-color:#46515A}
.seg label:hover{color:var(--bone)}
/* focus everywhere */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--kl);outline-offset:3px}
.app a:focus-visible,.app button:focus-visible{outline-color:#9E5F0B}
.btn:focus-visible{outline-offset:4px}
.terr-foot summary:hover{color:var(--bone)}
@media (max-width:420px){.cat li{font-size:13.5px}.acct-c{padding:24px}.ob{grid-template-columns:1fr auto}}

/* ---------- who it is for: three across, specialists as a full row beneath */
.who4{grid-template-columns:repeat(3,minmax(0,1fr))}
.who4>div:nth-child(4){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:clamp(24px,4vw,64px);align-items:start;border-left:0;padding-left:0;border-top:1px solid var(--rule);margin-top:8px;padding-top:30px}
.who4>div:nth-child(4) b,.who4>div:nth-child(4) span{grid-column:1}
.who4>div:nth-child(4) p{grid-column:2;grid-row:1/span 2;margin-top:4px;max-width:60ch;font-size:16.5px}
.who4 b{white-space:normal}
@media (max-width:1100px){.who4{grid-template-columns:repeat(3,minmax(0,1fr))}.who4 div:nth-child(3){padding-left:22px;border-left:1px solid var(--rule)}.who4 div:nth-child(n+3){border-top:0}.who4>div:nth-child(4){border-top:1px solid var(--rule);padding-left:0;border-left:0}}
@media (max-width:760px){.who4{grid-template-columns:1fr}.who4>div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}.who4 div:nth-child(3){padding-left:0;border-left:0}.who4>div:nth-child(4){grid-template-columns:1fr}.who4>div:nth-child(4) p{grid-column:1;grid-row:auto;margin-top:14px}}
/* ---------- team: colour and a little art */
#team{background:linear-gradient(180deg,var(--app-bg) 0,var(--app-bg) 62%,#F2EBDD 100%)}
.lt .tgl{display:flex;align-items:center;gap:12px;color:var(--app-ker)}
.lt .tgl::before{content:"";width:28px;height:2px;background:var(--app-ker)}
.team.founders{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}
.team.founders .person{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:28px;align-content:start;position:relative;overflow:hidden;background:var(--app-card);border:1px solid var(--app-line);border-radius:16px;padding:34px 30px 30px;box-shadow:0 1px 2px rgba(26,29,33,.04),0 28px 60px -40px rgba(26,29,33,.3)}
.team.founders .person::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--kernel)}
.team.founders .ph{grid-row:1/span 3;width:148px;height:148px;margin:0 8px 8px 0}
.team.founders .person b{font-size:clamp(1.5rem,2.1vw,1.9rem)}
.team.founders .person p{margin-top:14px}
/* photo offset: a pale warm tint at rest, deepening a step on hover; everyone colours in on hover */
.lt .ph.has{box-shadow:8px 8px 0 #F2E3C9;transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.lt .team.founders .ph.has{box-shadow:10px 10px 0 #EFD9B3}
.lt .ph img{transition:filter .5s var(--ease)}
.lt .person:hover .ph img,.lt .bp:hover .ph img,.lt .person:focus-within .ph img,.lt .bp:focus-within .ph img{filter:grayscale(0)}
.lt .person:hover .ph.has,.lt .bp:hover .ph.has{transform:translate(-2px,-2px);box-shadow:11px 11px 0 #EBCB98}
.lt .team.founders .person:hover .ph.has{box-shadow:13px 13px 0 #E6BF82}
.lt .team.spec .person,.lt .bp{border-top-color:var(--app-line-2)}
.lt .person .role{color:var(--app-ker)}
@media (max-width:1000px){.team.founders{grid-template-columns:1fr}}
@media (max-width:560px){.team.founders .person{grid-template-columns:1fr;padding:24px}.team.founders .ph{grid-row:auto;width:112px;height:112px;margin-bottom:22px}}
/* ---------- the form card: the product's ink, on the light page */
#read #readform{--bone:#F5F2EB;--mid:#A8B0B6;--dim:#8C959C;--rule:#2E373E;--rule-2:#3A454E;--ink:#14181B;--ink-2:#1F262B;--panel:#1A2025;--panel-2:#232B31;--kl:#E9A44C;--kernel:#C97B21;--good:#5FA97C;--bad:#E07A66;
 color:#F5F2EB;background:#14181B;border:0;border-top:3px solid var(--kernel);border-radius:18px;box-shadow:0 2px 4px rgba(26,29,33,.08),0 40px 80px -40px rgba(26,29,33,.55)}
#read .seg{background:#1F262B;border-color:#2E373E}
#read .seg input:checked+label{background:rgba(201,123,33,.2);color:#F5F2EB;box-shadow:inset 0 0 0 1px var(--kernel)}
#read .fl input,#read .fl textarea{background:#1A2025;border-color:#2E373E;color:#F5F2EB}
#read .fl input::placeholder,#read .fl textarea::placeholder{color:#6F787F}
#read .fl input:hover,#read .fl textarea:hover{border-color:#46515A}
#read .fl input:focus,#read .fl textarea:focus{border-color:var(--kl)}
#read #readform :focus-visible{outline-color:var(--kl)}

/* Qashew logo animation: the full-screen intro, the nav mark and the investors gate.
   Keyframe names start with q so they never clash with the page's own. */
.qload{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#14181B;clip-path:circle(150vmax at 50% 50%);animation:qout .85s cubic-bezier(.7,0,.2,1) 2.3s forwards}
.qload .in{display:flex;flex-direction:column;align-items:center;gap:24px;animation:qin .7s cubic-bezier(.7,0,.2,1) 2.3s forwards}
.qload.skip{animation:qoutskip .45s cubic-bezier(.7,0,.2,1) forwards}
.qload.skip .in{animation:qin .35s cubic-bezier(.7,0,.2,1) forwards}
.qload .mk{position:relative;display:block;line-height:0}
.qload .mark{width:clamp(96px,14vw,160px);height:auto;overflow:visible}
.qload .mark path{transform-box:view-box;transform-origin:50% 50%;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:qring .75s cubic-bezier(.2,.8,.2,1) forwards}
.qload .mark .r2{animation-delay:.55s}.qload .mark .r1{animation-delay:.72s}.qload .mark .r0{animation-delay:.89s}
.qload .mark .k{transform-box:fill-box;transform-origin:center;opacity:0;animation:qseed .7s cubic-bezier(.3,1.5,.4,1) .1s forwards}
.qload .mark .h{stroke-dasharray:1;stroke-dashoffset:1;animation:qdraw .45s cubic-bezier(.4,0,.2,1) 1.35s forwards}
.qload .word{font:700 clamp(26px,3vw,38px)/1 Archivo,system-ui,sans-serif;letter-spacing:-.04em;color:#F5F2EB;opacity:0;transform:translateY(8px);animation:qword .6s cubic-bezier(.2,.8,.2,1) 1.55s forwards}
/* the ripples: open arcs with the mark's own gap, so nothing reads as a target */
.qload .wave{position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;overflow:visible;pointer-events:none}
.qload .wave g{transform-box:fill-box;transform-origin:center;opacity:0;animation:qwave 1.6s cubic-bezier(.2,.7,.3,1) .45s forwards}
.qload .wave.w2 g{animation-delay:.8s}
@keyframes qseed{0%{opacity:0;transform:translateY(-38px) scale(.4)}60%{opacity:1;transform:translateY(0) scale(1.18)}100%{opacity:1;transform:none}}
@keyframes qseeds{0%{opacity:0;transform:translateY(-16px) scale(.4)}60%{opacity:1;transform:translateY(0) scale(1.18)}100%{opacity:1;transform:none}}
@keyframes qpop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:none}}
@keyframes qring{0%{opacity:0;stroke-dashoffset:1;transform:scale(.55) rotate(-40deg)}40%{opacity:1}100%{opacity:1;stroke-dashoffset:0;transform:none}}
@keyframes qdraw{to{stroke-dashoffset:0}}
@keyframes qword{to{opacity:1;transform:none}}
@keyframes qwave{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(24)}}
@keyframes qin{to{transform:scale(.6);opacity:0}}
@keyframes qout{to{clip-path:circle(0 at 50% 50%);visibility:hidden}}
@keyframes qoutskip{to{clip-path:circle(0 at 50% 50%);visibility:hidden}}
html.qloading{overflow:hidden}
@media (prefers-reduced-motion:reduce){.qload{display:none}}

/* the nav mark draws itself as the intro opens onto the page */
html.qnav .nav .mk .r,html.qnav .nav .mk .t{stroke-dasharray:1;stroke-dashoffset:1;animation:qdraw .55s cubic-bezier(.4,0,.2,1) forwards}
html.qnav .nav .mk .r:nth-of-type(2){animation-delay:.45s}
html.qnav .nav .mk .r:nth-of-type(1){animation-delay:.6s}
html.qnav .nav .mk .t{animation-delay:.9s;animation-duration:.35s}
html.qnav .nav .mk .k{transform-box:fill-box;transform-origin:center;animation:qpop .5s cubic-bezier(.3,1.5,.4,1) .3s both}

/* the investors gate: the mark builds while the case unlocks */
.gmk{display:block;width:46px;height:46px;overflow:visible;margin:2px 0 0}
.gmk path{transform-box:view-box;transform-origin:50% 50%;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:qring .6s cubic-bezier(.2,.8,.2,1) forwards}
.gmk .r2{animation-delay:.3s}.gmk .r1{animation-delay:.42s}.gmk .r0{animation-delay:.54s}
.gmk .k{transform-box:fill-box;transform-origin:center;opacity:0;animation:qseeds .55s cubic-bezier(.3,1.5,.4,1) forwards}
.gmk .h{stroke-dasharray:1;stroke-dashoffset:1;animation:qdraw .35s cubic-bezier(.4,0,.2,1) .95s forwards}

/* the rings that open the investment case get the mark's gap on the diagonal too */
.drings i{-webkit-mask:conic-gradient(from 150deg,#000 0 330deg,transparent 330deg);mask:conic-gradient(from 150deg,#000 0 330deg,transparent 330deg)}
