/* Blessed Pirate design system tokens */
/* tokens/fonts.css */
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/BricolageGrotesque-normal-200-800.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/InstrumentSerif-normal-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/InstrumentSerif-italic-400.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Shantell Sans";src:url("../fonts/ShantellSans-normal-300-800.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:"Shantell Sans";src:url("../fonts/ShantellSans-italic-300-800.woff2") format("woff2");font-weight:300 800;font-style:italic;font-display:swap}
/* tokens/colors.css */
:root{
/* Ink — warm near-blacks (text, borders, dark surfaces) */
--ink-900:#15130F;--ink-800:#24211B;--ink-700:#3A362E;--ink-600:#545046;--ink-500:#6E685C;--ink-400:#948D7F;--ink-300:#B7AF9F;--ink-200:#D9D2C3;
/* Paper — warm off-whites (page, cards) */
--paper-0:#FFFDF9;--paper-50:#FBF8F2;--paper-100:#F4EEE3;--paper-200:#EAE2D2;--paper-300:#DDD3BF;
/* Flag — signature vermillion (primary action, brand moments) */
--flag-100:#FBDCD3;--flag-300:#F2937E;--flag-500:#E5432A;--flag-600:#C7351F;--flag-700:#9E2915;
/* Gold — the "blessed" accent (highlights, stamps, stars) */
--gold-100:#FBEDC8;--gold-300:#F6CF74;--gold-400:#F2B53A;--gold-600:#C98A12;
/* Sea — deep teal (secondary surfaces, info) */
--sea-100:#D7E5E7;--sea-300:#8FB1B8;--sea-500:#2C5A6A;--sea-700:#17343F;--sea-900:#0D2129;
--green-100:#D9EDDF;--green-600:#2F7D4F;
/* Semantic aliases */
--bg-page:var(--paper-50);--bg-sunken:var(--paper-100);--bg-inverse:var(--ink-900);--bg-sea:var(--sea-700);
--surface-card:var(--paper-0);--surface-muted:var(--paper-100);--surface-inverse:var(--ink-900);--surface-accent:var(--flag-500);--surface-highlight:var(--gold-400);
--text-strong:var(--ink-900);--text-body:var(--ink-800);--text-muted:var(--ink-500);--text-faint:var(--ink-400);--text-inverse:var(--paper-50);--text-on-accent:var(--paper-0);--text-accent:var(--flag-600);
--border-strong:var(--ink-900);--border-default:var(--ink-200);--border-subtle:var(--paper-300);--border-inverse:var(--ink-700);
--action-primary:var(--flag-500);--action-primary-hover:var(--flag-600);--action-primary-press:var(--flag-700);
--action-secondary:var(--ink-900);--action-secondary-hover:var(--ink-700);
--focus-ring:var(--gold-400);
--status-success:var(--green-600);--status-success-bg:var(--green-100);
--status-warning:var(--gold-600);--status-warning-bg:var(--gold-100);
--status-danger:var(--flag-600);--status-danger-bg:var(--flag-100);
--status-info:var(--sea-500);--status-info-bg:var(--sea-100);
}

/* tokens/typography.css */
:root{
--font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
--font-sans:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
--font-serif:"Instrument Serif",ui-serif,Georgia,serif;
--font-mono:"Courier Prime","Courier New",ui-monospace,monospace;
--font-hand:"Shantell Sans","Comic Neue",cursive;
--fw-regular:400;/* @kind font */--fw-medium:500;/* @kind font */--fw-semibold:600;/* @kind font */--fw-bold:700;/* @kind font */--fw-black:800;/* @kind font */
--fs-display-xl:104px;--fs-display:76px;--fs-h1:56px;--fs-h2:40px;--fs-h3:28px;--fs-h4:22px;
--fs-body-lg:19px;--fs-body:16px;--fs-small:14px;--fs-caption:13px;
--lh-tight:0.95;/* @kind font */--lh-snug:1.1;/* @kind font */--lh-heading:1.15;/* @kind font */--lh-body:1.55;/* @kind font */
--ls-display:-0.035em;/* @kind font */--ls-heading:-0.02em;/* @kind font */--ls-body:0;/* @kind font */--ls-mono:0;/* @kind font */
--type-display:var(--fw-bold) var(--fs-display)/var(--lh-tight) var(--font-display);
--type-h1:var(--fw-bold) var(--fs-h1)/var(--lh-snug) var(--font-display);
--type-h2:var(--fw-bold) var(--fs-h2)/var(--lh-heading) var(--font-display);
--type-h3:var(--fw-semibold) var(--fs-h3)/var(--lh-heading) var(--font-display);
--type-h4:var(--fw-semibold) var(--fs-h4)/1.25 var(--font-display);
--type-body-lg:var(--fw-regular) var(--fs-body-lg)/var(--lh-body) var(--font-sans);
--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);
--type-small:var(--fw-regular) var(--fs-small)/1.5 var(--font-sans);
--type-label:var(--fw-medium) 16px/1.2 var(--font-hand);
--type-hand:var(--fw-medium) 22px/1.2 var(--font-hand);
--type-hand-sm:var(--fw-regular) 17px/1.3 var(--font-hand);
}

/* tokens/spacing.css */
:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;
--container-max:1200px;--container-narrow:760px;--gutter:24px;--section-y:112px;
/* Hand-cut radii: every corner slightly different, like a box drawn with a marker */
--radius-xs:4px 3px 5px 2px/3px 5px 2px 4px;--radius-sm:8px 5px 9px 4px/5px 9px 4px 8px;--radius-md:14px 7px 12px 6px/7px 13px 6px 12px;--radius-lg:22px 9px 19px 10px/10px 20px 9px 22px;--radius-xl:32px 14px 28px 16px/16px 30px 14px 32px;--radius-pill:999px 880px 999px 920px/860px 999px 900px 999px;
--radius-sketch:255px 15px 225px 15px/15px 225px 15px 255px;--radius-blob:60% 40% 55% 45%/45% 55% 40% 60%;
--control-h-sm:34px;--control-h-md:44px;--control-h-lg:56px;
}

/* tokens/effects.css */
:root{
--border-w:2px;--border-w-thick:2.5px;
--shadow-hard-sm:2px 3px 0 var(--ink-900);--shadow-hard:4px 5px 0 -1px var(--ink-900);--shadow-hard-lg:7px 9px 0 -2px var(--ink-900);
--shadow-soft:0 1px 2px rgba(21,19,15,.06),0 8px 24px -8px rgba(21,19,15,.14);
--shadow-overlay:0 24px 64px -16px rgba(21,19,15,.35);
--scrim:rgba(21,19,15,.55);
--ease-out:cubic-bezier(.2,.7,.2,1);/* @kind other */--ease-snap:cubic-bezier(.3,1.4,.5,1);/* @kind other */
--dur-fast:120ms;/* @kind other */--dur-base:200ms;/* @kind other */--dur-slow:360ms;/* @kind other */
/* Hand-made textures & marks */
--texture-paper: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='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .08 0 0 0 0 .07 0 0 0 0 .05 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");/* @kind other */
--texture-squiggle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='10' viewBox='0 0 60 10'%3E%3Cpath d='M1 6.5c6-4 9 2 15-1.5s9-3 15 .5 9 2.5 14-1 8-1.5 14 1' fill='none' stroke='%23E5432A' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");/* @kind other */
--marker-gold:linear-gradient(100deg,transparent 0 2%,rgba(242,181,58,.75) 3% 96%,transparent 98%);/* @kind other */
--marker-flag:linear-gradient(100deg,transparent 0 2%,rgba(229,67,42,.28) 3% 96%,transparent 98%);/* @kind other */
--tilt-sm:-0.8deg;/* @kind other */--tilt-md:-1.6deg;/* @kind other */--tilt-lg:-3deg;/* @kind other */
}

/* tokens/base.css */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--texture-paper),var(--bg-page);color:var(--text-body);font:var(--type-body)}
h1,h2,h3,h4{color:var(--text-strong);margin:0;text-wrap:balance}
h1{font:var(--type-h1);letter-spacing:var(--ls-heading)}h2{font:var(--type-h2);letter-spacing:var(--ls-heading)}h3{font:var(--type-h3);letter-spacing:-.01em}h4{font:var(--type-h4)}
p{margin:0;text-wrap:pretty}
.bp-accent{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0}
a{color:var(--text-strong);text-decoration:underline wavy;text-decoration-color:var(--flag-500);text-decoration-thickness:1.5px;text-underline-offset:4px;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--flag-600)}
::selection{background:var(--gold-300);color:var(--ink-900)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.bp-label{font:var(--type-label);letter-spacing:0}
/* Hand-made utilities */
.bp-hand{font:var(--type-hand);letter-spacing:0;color:var(--flag-600)}
.bp-hand-sm{font:var(--type-hand-sm);letter-spacing:0}
.bp-marker{background:var(--marker-gold) 0 62%/100% 58% no-repeat;padding:0 .12em;margin:0 -.06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.bp-marker-flag{background:var(--marker-flag) 0 62%/100% 58% no-repeat;padding:0 .12em;margin:0 -.06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.bp-squiggle{background:var(--texture-squiggle) 0 100%/auto .32em repeat-x;padding-bottom:.18em}
.bp-circled{position:relative;display:inline-block;padding:0 .18em}
.bp-circled::after{content:"";position:absolute;inset:-.12em -.1em -.08em -.14em;border:2.5px solid var(--flag-500);border-radius:var(--radius-blob);transform:rotate(-2.5deg);pointer-events:none}
.bp-tape{position:relative}
.bp-tape::before{content:"";position:absolute;top:-12px;left:50%;width:96px;height:26px;transform:translateX(-50%) rotate(-3deg);background:rgba(246,207,116,.62);box-shadow:0 1px 1px rgba(21,19,15,.08);z-index:2}
.bp-tilt-l{transform:rotate(var(--tilt-md))}.bp-tilt-r{transform:rotate(calc(var(--tilt-md)*-1))}
.bp-sketch{border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-sketch)}


/* Blessed Pirate site styles. Built on the Blessed Pirate design system tokens (above).
   Layout: one long paper page, flat colour blocks per section (paper / paper-100 / ink / flag), 1200px container. */
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{min-height:100vh}
img{max-width:100%}
.wrap{max-width:var(--container-max);margin:0 auto;padding-inline:var(--gutter)}
.sec{padding-block:clamp(64px,9vw,var(--section-y))}
.sec--muted{background:var(--paper-100)}
.sec--ink{background:var(--ink-900);color:var(--paper-100)}
.stack{display:flex;flex-direction:column}
.eyebrow{font:500 19px/1.2 var(--font-hand);color:var(--flag-600);display:inline-block;transform:rotate(-1.5deg);transform-origin:left center}
.sec--ink .eyebrow{color:var(--gold-400)}
.disp{font:var(--fw-bold) clamp(44px,6.6vw,92px)/var(--lh-tight) var(--font-display);letter-spacing:var(--ls-display);color:var(--ink-900);margin:0;text-wrap:balance}
.h2{font:var(--fw-bold) clamp(32px,4.4vw,52px)/1.05 var(--font-display);letter-spacing:-.03em;color:var(--ink-900);margin:0;text-wrap:balance}
.sec--ink .h2{color:var(--paper-50)}
.lead{font:var(--type-body-lg);color:var(--ink-700);max-width:580px}
.muted{color:var(--ink-600)}
.accent{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0}
mark.hl{background:var(--marker-gold) 0 64%/100% 56% no-repeat;color:inherit;padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:20px}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,5vw,64px);align-items:start}
.split > *{min-width:0}
.tilt-a{transform:rotate(-1.1deg)}.tilt-b{transform:rotate(.8deg)}.tilt-c{transform:rotate(-.5deg)}
.note{font:500 20px/1.15 var(--font-hand);color:var(--flag-600);transform:rotate(-4deg);display:inline-block}
.icon{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h-md);padding:0 20px;font:600 16px/1 var(--font-sans);letter-spacing:-.01em;color:var(--paper-0);background:var(--flag-500);border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-md);box-shadow:var(--shadow-hard-sm);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.btn:hover{background:var(--flag-600);color:var(--paper-0);box-shadow:var(--shadow-hard);transform:translate(-1px,-1px)}
.btn:active{box-shadow:0 0 0 var(--ink-900);transform:translate(2px,2px)}
.btn--lg{height:var(--control-h-lg);padding:0 28px;font-size:18px;gap:10px}
.btn--sm{height:var(--control-h-sm);padding:0 14px;font-size:14px;gap:6px}
.btn--outline{background:var(--paper-0);color:var(--ink-900)}
.btn--outline:hover{background:var(--paper-100);color:var(--ink-900)}
.btn--dark{background:var(--ink-900);color:var(--paper-50);border-color:var(--ink-900);box-shadow:none}
.btn--dark:hover{background:var(--ink-700);color:var(--paper-50);box-shadow:none;transform:none}
.btn--paper{background:var(--paper-50);color:var(--ink-900);border-color:var(--paper-50);box-shadow:none}
.btn--paper:hover{background:var(--gold-300);color:var(--ink-900);box-shadow:none;transform:none}
@media (max-width:420px){.btn--lg{padding:0 20px;font-size:17px}}

/* Header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(251,248,242,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1.5px solid var(--border-default)}
.site-header .wrap{display:flex;align-items:center;gap:32px;height:72px}
.logo{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink-900)}
.logo svg{width:32px;height:32px;overflow:visible;flex:none}
.logo span{font:700 22px/1 var(--font-hand);letter-spacing:-.02em;white-space:nowrap}
.logo span em{font-style:normal;color:var(--flag-500)}
.site-footer .logo{color:var(--paper-50)}.site-footer .logo span em{color:var(--gold-400)}
.nav{display:flex;gap:28px;flex:1}
.nav a{font:500 15px/1 var(--font-sans);color:var(--ink-800);text-decoration:none;padding:8px 0}
.nav a:hover{color:var(--ink-900);background:var(--texture-squiggle) 0 100%/auto 6px repeat-x}
.site-header .btn{margin-left:auto}
@media (max-width:860px){.nav{display:none}}

/* Hero */
.hero{padding-block:clamp(48px,7vw,88px) clamp(64px,8vw,104px)}
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(40px,5vw,64px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:26px;min-width:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ticks{display:flex;gap:10px 22px;flex-wrap:wrap;color:var(--ink-600);font-size:15px;padding:0;margin:0;list-style:none}
.ticks li{display:inline-flex;gap:7px;align-items:center}
.ticks .icon{width:17px;height:17px;color:var(--flag-500);stroke-width:2.5}
.hero-visual{position:relative;padding:28px 8px 32px 24px;min-width:0}
.hero-visual::before{content:"";position:absolute;inset:0 0 52px 64px;background:var(--sea-700);border-radius:var(--radius-xl)}

/* Annotated post */
.post{position:relative;background:var(--paper-0);border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard-lg);max-width:460px;transform:rotate(-1.3deg)}
.post::before{content:"";position:absolute;top:-12px;left:50%;width:96px;height:26px;transform:translateX(-50%) rotate(-3deg);background:rgba(246,207,116,.62);box-shadow:0 1px 1px rgba(21,19,15,.08);z-index:2}
.post-head{display:flex;align-items:center;gap:10px;padding:16px 16px 10px}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--sea-700);color:var(--paper-50);display:grid;place-items:center;font:700 15px/1 var(--font-display);flex:none}
.post-name{font:600 15px/1.2 var(--font-sans);color:var(--ink-900)}
.post-role{font:400 13px/1.3 var(--font-sans);color:var(--ink-500)}
.post-body{padding:0 16px 14px;font:400 15px/1.5 var(--font-sans);color:var(--ink-800);display:flex;flex-direction:column;gap:10px}
.post-body p{position:relative}
.tag{display:inline-block;font:500 14px/1 var(--font-hand);color:var(--flag-600);margin-bottom:3px}
.post-img{margin:0 16px 16px;aspect-ratio:4/3;max-width:100%;background:var(--flag-500);border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-md);display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;padding:18px;color:var(--paper-0)}
.post-img .big{font:700 clamp(48px,7vw,72px)/.9 var(--font-display);letter-spacing:-.04em}
.post-img .cap{font:500 15px/1.2 var(--font-hand);margin-top:8px;max-width:22ch}
.post-img .face{width:64px;height:64px;border-radius:50%;background:var(--paper-50);border:var(--border-w) solid var(--ink-900);display:grid;place-items:center;font:500 12px/1.1 var(--font-hand);color:var(--ink-600);text-align:center}
.stamp{width:136px;height:136px;border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(-10deg);border:2px solid currentColor;outline:2px solid currentColor;outline-offset:-10px;font:700 12px/1.15 var(--font-hand);color:var(--flag-500);background:var(--paper-50);flex:none}
.stamp b{display:block;font:italic 400 31px/1 var(--font-serif);margin:4px 0}
.hero-visual .stamp{position:absolute;right:-6px;top:-10px;z-index:3}
@media (max-width:520px){.hero-visual .stamp{width:108px;height:108px;font-size:10px}.hero-visual .stamp b{font-size:25px}}

/* Cards */
.card{background:var(--paper-0);border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:10px;min-width:0}
.card--quiet{border-color:var(--border-default)}
.card--gold{background:var(--gold-400)}
.card h3{font:var(--type-h4);color:var(--ink-900)}
.card p{color:var(--ink-700)}
.card .icon{width:28px;height:28px;color:var(--flag-500)}
.card .label{font:var(--type-label);color:var(--flag-600)}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:20px}
.pillar{border-top:var(--border-w-thick) solid var(--ink-900);padding-top:18px;display:flex;flex-direction:column;gap:10px}
.pillar h3{font:var(--type-h4);color:var(--ink-900)}
.pillar p{color:var(--ink-700)}
.pillar--hot{border-top-color:var(--flag-500)}
.closing{font:var(--fw-bold) clamp(26px,3vw,36px)/1.1 var(--font-display);letter-spacing:-.02em;color:var(--ink-900)}

/* Steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:28px 24px}
.steps li{border-top:2px solid var(--ink-600);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.steps li:last-child{border-top-color:var(--flag-500)}
.steps .num{font:600 46px/1 var(--font-hand);color:var(--gold-400);display:inline-block;transform:rotate(-3deg);transform-origin:left}
.steps li:nth-child(even) .num{transform:rotate(3deg)}
.steps li:last-child .num{color:var(--flag-500)}
.steps h3{font:var(--type-h4);color:var(--paper-50)}
.steps p{color:var(--ink-300);font-size:15px}

/* Catch */
.catch{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;border-top:1.5px solid var(--ink-900)}
.catch li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:22px 0;border-bottom:1.5px solid var(--ink-900)}
.catch .n{font:italic 400 44px/1 var(--font-serif);color:var(--flag-500)}
.catch h3{font:var(--type-h4);color:var(--ink-900);margin-bottom:6px}
.catch p{color:var(--ink-700)}

/* Pricing */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;align-items:stretch}
.plan{display:flex;flex-direction:column;gap:18px;padding:30px;border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-lg);background:var(--paper-0);min-width:0}
.plan--featured{background:var(--ink-900);color:var(--paper-100);box-shadow:var(--shadow-hard-lg)}
.plan .pname{font:500 17px/1.15 var(--font-hand);color:var(--flag-600);display:flex;justify-content:space-between;gap:8px;align-items:center}
.plan--featured .pname{color:var(--gold-400)}
.sticker{font:500 14px/1 var(--font-hand);background:var(--gold-400);color:var(--ink-900);padding:6px 10px;border:1.5px solid var(--ink-900);border-radius:var(--radius-sm);transform:rotate(2deg)}
.price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.price strong{font:700 56px/1 var(--font-display);letter-spacing:-.04em;color:var(--ink-900);font-variant-numeric:tabular-nums}
.plan--featured .price strong{color:var(--paper-50)}
.price span{font:400 15px/1 var(--font-sans);color:var(--ink-500)}
.plan--featured .price span{color:var(--ink-300)}
.feats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;flex:1}
.feats li{display:flex;gap:10px;font:400 15px/1.45 var(--font-sans)}
.feats .icon{width:18px;height:18px;margin-top:2px;color:var(--flag-500);stroke-width:2.5}
.plan--featured .feats .icon{color:var(--gold-400)}
.addons{border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-lg);background:var(--paper-0);overflow:hidden}
.addons h3{font:var(--type-h4);color:var(--ink-900);padding:22px 24px 6px}
.addons table{width:100%;border-collapse:collapse;font-size:15px}
.addons th,.addons td{text-align:left;padding:14px 24px;border-top:1.5px solid var(--border-default);vertical-align:top}
.addons th{font-weight:600;color:var(--ink-900);width:40%}
.addons td.p{white-space:nowrap;font-weight:600;color:var(--ink-900);font-variant-numeric:tabular-nums;text-align:right}
.addons .small{display:block;color:var(--ink-500);font-weight:400;font-size:14px;margin-top:2px}
@media (max-width:600px){.addons tr{display:grid;grid-template-columns:1fr auto;border-top:1.5px solid var(--border-default)}.addons th,.addons td{border-top:0;padding:10px 18px}.addons th{width:auto}.addons td:not(.p){grid-column:1/-1;grid-row:2;padding-top:0}}
.annual{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:24px 28px;border-radius:var(--radius-lg);background:var(--gold-400);border:var(--border-w) solid var(--ink-900)}
.annual p{flex:1;min-width:min(100%,280px);color:var(--ink-900)}
.annual .stamp{width:112px;height:112px;background:transparent;color:var(--ink-900);transform:rotate(8deg);font-size:11px}
.annual .stamp b{font-size:26px}

/* About */
.about{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,48px);align-items:start}
.about > *{min-width:0}
.portrait{width:clamp(140px,18vw,200px);aspect-ratio:4/5;max-width:100%;border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-lg);background:repeating-linear-gradient(135deg,var(--paper-200) 0 10px,var(--paper-100) 10px 20px);display:grid;place-items:center;font:500 15px/1.2 var(--font-hand);color:var(--ink-500);text-align:center;padding:12px;transform:rotate(-2deg)}
.creds{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.creds li{font:500 15px/1 var(--font-hand);padding:8px 12px;border:1.5px solid var(--ink-900);border-radius:var(--radius-sm);background:var(--paper-0)}
@media (max-width:560px){.about{grid-template-columns:1fr}}

/* FAQ */
.faq{border-top:1.5px solid var(--ink-900)}
.faq details{border-bottom:1.5px solid var(--ink-900)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;cursor:pointer;font:600 20px/1.3 var(--font-display);color:var(--ink-900);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 30px/1 var(--font-sans);color:var(--flag-500);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 24px;max-width:680px;color:var(--ink-700);font-size:17px}

/* CTA band + footer */
.cta-band{background:var(--flag-500);border-top:1.5px solid var(--ink-900)}
.cta-band .wrap{padding-block:clamp(56px,8vw,96px);display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-band .h2{color:var(--paper-0);max-width:680px}
.cta-band .under{font:var(--type-hand-sm);color:var(--paper-0);margin-top:10px;display:block}
.site-footer{background:var(--ink-900);color:var(--paper-100)}
.site-footer .wrap{padding-block:64px 36px}
.foot-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:40px}
.foot-top p{color:var(--ink-300);max-width:360px;font-size:15px;margin-top:14px}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col .bp-label{color:var(--ink-400)}
.foot-col a{color:var(--paper-100);text-decoration:none;font-size:15px}
.foot-col a:hover{color:var(--gold-300)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:56px;padding-top:20px;border-top:1.5px solid var(--ink-700)}
.foot-bottom span{font:var(--type-label);color:var(--ink-400)}

/* Apply + thanks */
.narrow{max-width:var(--container-narrow);margin:0 auto;padding-inline:var(--gutter)}
.form-slot{border:var(--border-w) dashed var(--ink-900);border-radius:var(--radius-lg);background:repeating-linear-gradient(135deg,var(--paper-100) 0 12px,var(--paper-50) 12px 24px);min-height:420px;display:grid;place-items:center;text-align:center;padding:32px;font:500 18px/1.35 var(--font-hand);color:var(--ink-600)}
.form-frame{width:100%;min-height:900px;border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-lg);background:var(--paper-0)}
.asklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.asklist li{display:flex;gap:10px;color:var(--ink-800)}
.asklist .icon{width:18px;height:18px;margin-top:3px;color:var(--flag-500);stroke-width:2.5}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (max-width:520px){.hide-xs{display:none}.site-header .wrap{gap:12px}.logo span{font-size:19px}.logo svg{width:28px;height:28px}}
.core{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px 48px;align-items:center;padding:clamp(24px,4vw,40px);background:var(--paper-0);border:var(--border-w) solid var(--ink-900);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard-lg)}
.core > *{min-width:0}
.core-copy{display:flex;flex-direction:column;gap:12px}
.core .label{font:var(--type-label);color:var(--flag-600)}
.core h3{font:var(--fw-bold) clamp(24px,2.6vw,32px)/1.1 var(--font-display);letter-spacing:-.02em;color:var(--ink-900)}
.core p{color:var(--ink-700)}
#what-you-get .eyebrow{margin-top:8px}
figure.portrait{margin:0;width:clamp(170px,22vw,260px);aspect-ratio:auto;max-width:100%;padding:10px 10px 6px;background:var(--paper-0);display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-hard);position:relative}
figure.portrait::before{content:"";position:absolute;top:-12px;left:50%;width:84px;height:24px;transform:translateX(-50%) rotate(-3deg);background:rgba(246,207,116,.62);z-index:2}
figure.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border:1.5px solid var(--ink-900);border-radius:var(--radius-sm)}
figure.portrait figcaption{font:500 15px/1.2 var(--font-hand);color:var(--ink-600);text-align:center}
/* Legal pages */
.legal{display:flex;flex-direction:column;gap:16px}
.legal h2{font:var(--type-h4);color:var(--ink-900);margin-top:20px}
.legal p,.legal li{color:var(--ink-800);max-width:68ch}
.legal ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.legal .lead{margin-bottom:8px}
