/* ==========================================================================
   Creator Alchemist — site stylesheet
   Ported verbatim from the design-system tokens (colors / typography / spacing)
   plus component + layout classes recreated from the v1.01 prototype.
   Edit tokens here first; never hard-code a raw colour or size in a page.
   Fonts are loaded via <link> in includes/head.php (faster than @import here).
   ========================================================================== */

:root {
  /* Brand primitives */
  --ca-ink: #1A2237; --ca-coral: #FF926A; --ca-paper: #FFFEF7;
  /* Ink scale */
  --ink-900:#14192a; --ink-800:#1a2237; --ink-700:#2b3450; --ink-600:#434c66;
  --ink-500:#5b6379; --ink-400:#7c8294; --ink-300:#a3a79c; --ink-200:#c8c6b9; --ink-100:#e0ddcf;
  /* Paper scale */
  --paper-0:#ffffff; --paper-card:#fcfbf4; --paper-50:#faf8ef; --paper-100:#f4f1e6;
  --paper-200:#edeade; --paper-300:#e4e0d2;
  /* Coral scale */
  --coral-50:#fff1ea; --coral-100:#ffe0d2; --coral-300:#ffb594; --coral-500:#ff926a;
  --coral-600:#f4734a; --coral-700:#df5e36;
  /* On dark */
  --on-ink-hi:#fbfaf3; --on-ink:#d7dae3; --on-ink-mute:#8b91a4; --on-ink-line:#2e3650;
  /* Semantic aliases */
  --bg:var(--paper-50); --bg-card:var(--paper-card); --text-strong:var(--ink-900);
  --text-meta:var(--ink-300); --accent:var(--coral-500); --line:var(--ink-100); --line-strong:var(--ink-200);
  --focus-ring:var(--coral-500);
  /* Fonts */
  --font-sans:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:var(--font-sans);
  --font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  /* Weights */
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-black:800;
  /* Type scale */
  --fs-h1:2rem; --fs-h2:1.5rem; --fs-h3:1.25rem;
  --fs-body-lg:1.1875rem; --fs-body:1.0625rem; --fs-body-sm:0.9375rem;
  --fs-meta:0.8125rem; --fs-meta-sm:0.6875rem;
  /* Line heights */
  --lh-tight:1.1; --lh-heading:1.18; --lh-snug:1.4; --lh-body:1.6;
  /* Tracking */
  --ls-display:-0.022em; --ls-tight:-0.015em; --ls-mono:0.02em; --ls-label:0.18em; --ls-label-sm:0.14em;
  /* Spacing */
  --space-2:0.5rem; --space-5:1.5rem;
  /* Radii */
  --radius-md:8px; --radius-lg:12px; --radius-pill:999px;
  /* Shadows */
  --shadow-panel:0 1px 0 var(--line), 0 18px 40px -24px rgba(26,34,55,0.22);
  --shadow-btn:0 1px 0 rgba(20,25,42,0.9), 0 8px 18px -10px rgba(26,34,55,0.45);
  /* Layout + motion */
  --container:1200px; --ease-out:cubic-bezier(0.22,1,0.36,1);
  --ease-std:cubic-bezier(0.4,0,0.2,1); --dur:200ms; --dur-fast:120ms;
}

/* ---- Reset / base ------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--paper-50);color:var(--ink-800);
  font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);
  font-weight:var(--fw-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);font-weight:var(--fw-bold);
  letter-spacing:var(--ls-tight);line-height:var(--lh-heading);margin:0;text-wrap:balance;}
p{margin:0;text-wrap:pretty;}
img{display:block;max-width:100%;}
a{color:var(--coral-700);text-decoration:none;}
a:hover{color:var(--coral-600);}
::selection{background:var(--coral-100);color:var(--ink-900);}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
.page{min-height:100vh;display:flex;flex-direction:column;}
.container{max-width:var(--container);margin:0 auto;padding:0 clamp(20px,5vw,72px);}
main{flex:1;}
.fade-in{animation:caFade 0.45s var(--ease-out) both;}
@keyframes caFade{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

/* ---- Eyebrow ------------------------------------------------------------ */
.eyebrow{display:inline-flex;align-items:center;gap:0.75em;font-family:var(--font-mono);
  font-size:var(--fs-meta);font-weight:var(--fw-medium);letter-spacing:var(--ls-label);
  text-transform:uppercase;color:var(--text-meta);}
.eyebrow::before{content:"";width:2.25em;height:1px;background:currentColor;opacity:0.65;flex:none;}
.eyebrow--invert{color:var(--on-ink-mute);}
.eyebrow--center{justify-content:center;}

/* ---- Badge -------------------------------------------------------------- */
.badge{display:inline-flex;align-items:center;gap:0.6em;font-family:var(--font-mono);
  font-size:var(--fs-meta);font-weight:var(--fw-medium);letter-spacing:var(--ls-label-sm);
  text-transform:uppercase;border-radius:var(--radius-pill);padding:5px 13px;
  color:var(--coral-700);background:var(--coral-50);border:1px solid var(--coral-300);}
.badge .dot{width:6px;height:6px;border-radius:999px;background:var(--coral-500);flex:none;}

/* ---- Buttons ------------------------------------------------------------ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6em;
  font-family:var(--font-sans);font-weight:var(--fw-semibold);line-height:1;
  letter-spacing:var(--ls-tight);border-radius:var(--radius-md);border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:background var(--dur) var(--ease-std),color var(--dur) var(--ease-std),
    border-color var(--dur) var(--ease-std),transform var(--dur-fast) var(--ease-std);}
.btn:hover{transform:translateY(-1px);}
.btn .arrow{font-weight:var(--fw-medium);}
.btn--sm{padding:9px 16px;font-size:var(--fs-body-sm);}
.btn--md{padding:13px 22px;font-size:var(--fs-body);}
.btn--lg{padding:17px 30px;font-size:var(--fs-body-lg);}
.btn--primary{background:var(--ca-ink);color:var(--on-ink-hi);box-shadow:var(--shadow-btn);}
.btn--primary:hover{background:var(--ink-700);color:var(--on-ink-hi);}
.btn--accent{background:var(--coral-500);color:var(--ink-900);}
.btn--accent:hover{background:var(--coral-600);color:var(--ink-900);}
.btn--secondary{background:transparent;color:var(--ink-800);border-color:var(--ink-800);}
.btn--secondary:hover{background:var(--ink-900);color:var(--on-ink-hi);border-color:var(--ink-900);}
.btn--ghost-dark{background:transparent;color:var(--on-ink-hi);border-color:var(--on-ink);}
.btn--ghost-dark:hover{background:rgba(255,255,255,0.08);color:var(--on-ink-hi);}

/* ---- Field -------------------------------------------------------------- */
.field{display:flex;flex-direction:column;gap:var(--space-2);}
.field-label{font-family:var(--font-mono);font-size:var(--fs-meta-sm);letter-spacing:var(--ls-label-sm);
  text-transform:uppercase;color:var(--text-meta);}
.field-input,.field-textarea{font:inherit;font-size:var(--fs-body);color:var(--text-strong);
  background:transparent;border:none;border-bottom:1.5px solid var(--ink-200);border-radius:0;
  padding:9px 2px;outline:none;transition:border-color var(--dur) var(--ease-std);width:100%;}
.field-textarea{resize:vertical;}
.field-input:focus,.field-textarea:focus{border-bottom-color:var(--coral-500);}
.field-input::placeholder,.field-textarea::placeholder{color:var(--ink-400);}

/* ---- Header ------------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:60;
  background:color-mix(in srgb, var(--paper-50) 86%, transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.site-header .bar{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,72px);
  height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.brand{flex:none;background:none;border:none;padding:0;display:flex;align-items:center;}
.brand img{height:21px;width:auto;}
.nav-desktop{display:flex;align-items:center;gap:clamp(6px,2vw,10px);}
.nav-link{position:relative;background:none;border:none;cursor:pointer;font-family:var(--font-mono);
  font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-700);
  padding:8px 12px;text-decoration:none;display:inline-block;}
.nav-link:hover{color:var(--ink-900);}
.nav-link.is-active{color:var(--ink-900);}
.nav-link.is-active::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--coral-500);}
.nav-divider{width:1px;height:22px;background:var(--line);margin:0 6px;}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;
  border:none;cursor:pointer;padding:10px;margin-right:-10px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--ink-800);}

/* ---- Mobile menu -------------------------------------------------------- */
.mobile-menu{position:fixed;inset:0;z-index:200;background:var(--paper-50);
  display:none;flex-direction:column;animation:caFade 0.28s var(--ease-out) both;}
.mobile-menu.is-open{display:flex;}
.mobile-menu .mm-top{flex:none;height:76px;display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line);}
.mm-close{position:relative;width:30px;height:30px;background:none;border:none;cursor:pointer;flex:none;}
.mm-close span{position:absolute;top:14px;left:3px;width:24px;height:2px;background:var(--ink-800);}
.mm-close span:first-child{transform:rotate(45deg);}
.mm-close span:last-child{transform:rotate(-45deg);}
.mm-nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 clamp(20px,5vw,72px);}
.mm-item{display:flex;align-items:center;gap:16px;background:none;border:none;cursor:pointer;
  text-align:left;padding:14px 0;text-decoration:none;}
.mm-item .mm-num{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--text-meta);letter-spacing:var(--ls-mono);}
.mm-item .mm-word{font-size:clamp(2.25rem,10vw,3rem);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);color:var(--text-strong);}
.mm-item .mm-dot{width:9px;height:9px;border-radius:999px;background:var(--coral-500);}
.mm-foot{flex:none;padding:24px clamp(20px,5vw,72px);border-top:1px solid var(--line);display:flex;gap:24px;}
.mm-foot a{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:var(--ls-mono);color:var(--text-meta);}

/* ---- Sections / shared -------------------------------------------------- */
.section{border-bottom:1px solid var(--line);}
.section-pad{padding:clamp(56px,8vw,110px) clamp(20px,5vw,72px);}
.band{background:var(--paper-100);}
.ink-band{background:var(--ca-ink);}
.lead{font-size:var(--fs-body-lg);line-height:var(--lh-snug);color:var(--ink-500);}
.section h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.02;letter-spacing:var(--ls-display);
  color:var(--text-strong);font-weight:var(--fw-bold);}
.mt-22{margin-top:22px;} .mt-18{margin-top:18px;}

/* ---- Hero (photo variant) ---------------------------------------------- */
.hero{border-bottom:1px solid var(--line);}
.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:stretch;}
.hero-copy{padding:clamp(48px,7vw,104px) clamp(20px,5vw,72px);
  padding-left:max(clamp(20px,5vw,72px), calc((100vw - 1200px) / 2));
  display:flex;flex-direction:column;justify-content:center;}
.hero-copy h1{font-size:clamp(2.6rem,5.6vw,4.6rem);line-height:0.99;letter-spacing:var(--ls-display);
  color:var(--text-strong);font-weight:var(--fw-bold);margin:26px 0 0;}
.hero-copy p{max-width:48ch;margin:24px 0 0;}
.hero-photo{position:relative;min-height:clamp(320px,52vh,620px);background:var(--ink-900);}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cta-row{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap;}

/* ---- Beliefs ------------------------------------------------------------ */
.beliefs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(24px,5vw,64px);align-items:start;}
.beliefs-intro{position:sticky;top:100px;}
.beliefs-intro h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.02;letter-spacing:var(--ls-display);
  color:var(--text-strong);font-weight:var(--fw-bold);margin:22px 0 0;max-width:14ch;}
.beliefs-intro p{margin:20px 0 0;color:var(--ink-500);line-height:var(--lh-body);max-width:44ch;}
.belief{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,36px);padding:26px 0;
  border-top:1px solid var(--line);align-items:baseline;}
.belief .num{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--coral-700);letter-spacing:var(--ls-mono);}
.belief h3{font-size:var(--fs-h2);letter-spacing:var(--ls-tight);color:var(--text-strong);font-weight:var(--fw-semibold);margin:0;}
.belief .head{display:flex;align-items:center;gap:10px;}
.belief .head .dot{width:7px;height:7px;border-radius:999px;background:var(--coral-500);flex:none;}
.belief p{margin:9px 0 0;color:var(--ink-500);line-height:var(--lh-body);max-width:56ch;}

/* ---- Circle ------------------------------------------------------------- */
.circle-head{max-width:60ch;}
.circle-head h2{margin:22px 0 0;}
.mission-row{margin-top:40px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.mission-row .label{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:var(--ls-label);
  text-transform:uppercase;color:var(--text-meta);}
.mission-row .rule{height:1px;flex:1;min-width:40px;background:var(--line);}
.mission-row .mission{font-size:clamp(1.25rem,2.4vw,1.9rem);font-weight:var(--fw-bold);
  letter-spacing:var(--ls-tight);color:var(--coral-700);}
.ingredients{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.ingredient{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-card);
  padding:22px 22px 20px;min-height:132px;display:flex;flex-direction:column;justify-content:space-between;}
.ingredient .num{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:var(--ls-mono);color:var(--text-meta);}
.ingredient .name{font-size:var(--fs-h3);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--ink-900);}

/* ---- Watch / videos ----------------------------------------------------- */
.watch-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.watch-head .txt{max-width:52ch;}
.video-grid{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.video-card{display:block;color:inherit;border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;background:var(--paper-card);}
.video-card:hover{color:inherit;}
.video-card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--paper-300);}
.video-card .thumb img{width:100%;height:100%;object-fit:cover;}
.video-card .meta{padding:18px 20px 20px;}
.video-card .tag{font-family:var(--font-mono);font-size:var(--fs-meta-sm);letter-spacing:var(--ls-label-sm);
  text-transform:uppercase;color:var(--coral-700);}
.video-card .title{font-size:var(--fs-h3);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--ink-900);margin-top:8px;}

/* ---- CTA band ----------------------------------------------------------- */
.cta-band h2{color:var(--on-ink-hi);font-size:clamp(2.25rem,5vw,3.75rem);letter-spacing:var(--ls-display);
  line-height:1.0;font-weight:var(--fw-bold);margin:20px 0 0;max-width:18ch;}
.cta-band p{color:var(--on-ink-mute);margin:18px 0 0;max-width:46ch;font-size:var(--fs-body-lg);line-height:var(--lh-snug);}

/* ---- About -------------------------------------------------------------- */
.about-hero h1{font-size:clamp(2.4rem,5.4vw,4.25rem);line-height:0.99;letter-spacing:var(--ls-display);
  color:var(--text-strong);font-weight:var(--fw-bold);margin:24px 0 0;max-width:20ch;}
.founder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(28px,5vw,64px);align-items:start;}
.founder-photo{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--ink-900);}
.founder-photo img{width:100%;height:100%;object-fit:cover;}
.founder-copy h2{font-size:clamp(1.75rem,3.4vw,2.75rem);letter-spacing:var(--ls-tight);color:var(--text-strong);font-weight:var(--fw-bold);margin:20px 0 0;}
.founder-copy p{margin:16px 0 0;color:var(--ink-500);line-height:var(--lh-body);}
.founder-copy p.lede{margin:20px 0 0;color:var(--ink-600);font-size:var(--fs-body-lg);}
.philosophy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,5vw,64px);align-items:center;}
.philosophy-grid h2{color:var(--on-ink-hi);font-size:clamp(1.9rem,4vw,3rem);letter-spacing:var(--ls-tight);line-height:1.05;font-weight:var(--fw-bold);margin:22px 0 0;}
.philosophy-grid .sub{color:var(--on-ink-mute);margin:18px 0 0;max-width:46ch;font-size:var(--fs-body-lg);line-height:var(--lh-snug);}
.philosophy-photo{border:1px solid var(--on-ink-line);border-radius:var(--radius-lg);overflow:hidden;background:#000;}
.philosophy-photo img{width:100%;height:100%;object-fit:cover;}
.saysnot-grid{margin-top:34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(24px,4vw,48px);}
.saysnot-head{display:flex;align-items:center;gap:14px;}
.saysnot-head img{width:64px;height:64px;border-radius:var(--radius-md);object-fit:cover;}
.saysnot-head h3{font-size:var(--fs-h2);letter-spacing:var(--ls-tight);color:var(--text-strong);font-weight:var(--fw-semibold);margin:0;}
.saysnot-list{margin-top:20px;}
.says-item{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line);color:var(--ink-600);line-height:var(--lh-snug);}
.says-item .mark{color:var(--coral-500);flex:none;}
.not-item{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line);color:var(--ink-300);
  line-height:var(--lh-snug);text-decoration:line-through;text-decoration-color:var(--ink-200);}
.pledge{max-width:900px;margin:0 auto;padding:clamp(56px,9vw,120px) clamp(20px,5vw,72px);text-align:center;}
.pledge p{font-size:clamp(1.6rem,4vw,2.75rem);line-height:1.15;letter-spacing:var(--ls-tight);color:var(--text-strong);font-weight:var(--fw-bold);margin:26px 0 0;}
.pledge p .coral{color:var(--coral-700);}

/* ---- Contact ------------------------------------------------------------ */
.contact-hero h1{font-size:clamp(2.4rem,5.4vw,4.25rem);line-height:0.99;letter-spacing:var(--ls-display);
  color:var(--text-strong);font-weight:var(--fw-bold);margin:24px 0 0;max-width:16ch;}
.contact-hero p{max-width:52ch;margin:22px 0 0;}
.contact-grid{margin-top:clamp(40px,6vw,72px);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(32px,5vw,72px);align-items:start;}
.contact-form{display:flex;flex-direction:column;gap:26px;}
.form-note{font-size:var(--fs-body-sm);line-height:var(--lh-snug);}
.form-note--error{color:var(--negative-700,#a8412b);}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.sent-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-card);
  padding:clamp(28px,5vw,48px);box-shadow:var(--shadow-panel);}
.sent-panel .dot{width:10px;height:10px;border-radius:999px;background:var(--coral-500);}
.sent-panel h2{font-size:var(--fs-h1);letter-spacing:var(--ls-tight);color:var(--text-strong);font-weight:var(--fw-bold);margin:18px 0 0;}
.sent-panel p{margin:12px 0 0;color:var(--ink-500);line-height:var(--lh-body);max-width:44ch;}
.socials-label{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-meta);}
.socials{margin-top:18px;border-top:1px solid var(--line);}
.social-row{display:flex;align-items:center;gap:18px;padding:26px 0;border-bottom:1px solid var(--line);color:inherit;}
.social-row:hover{color:inherit;}
.social-row .ico{flex:none;width:48px;height:48px;border:1px solid var(--line);border-radius:var(--radius-md);
  background:var(--paper-card);display:flex;align-items:center;justify-content:center;}
.social-row .ico img{width:28px;height:28px;object-fit:contain;}
.social-row .name{font-size:var(--fs-h2);letter-spacing:var(--ls-tight);color:var(--ink-900);font-weight:var(--fw-semibold);}
.social-row .handle{margin-top:6px;font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--text-meta);letter-spacing:var(--ls-mono);}
.social-row .desc{margin-top:8px;color:var(--ink-500);font-size:var(--fs-body-sm);line-height:var(--lh-snug);max-width:38ch;}
.social-row .go{font-size:1.4rem;color:var(--coral-600);flex:none;}
.contact-sign{margin-top:34px;display:flex;align-items:center;gap:16px;}
.contact-sign img{width:46px;height:46px;}
.contact-sign p{margin:0;color:var(--ink-400);font-size:var(--fs-body-sm);line-height:var(--lh-snug);max-width:34ch;}

/* ---- Footer ------------------------------------------------------------- */
.site-footer{border-top:1px solid var(--line);background:var(--paper-100);}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;align-items:start;}
.site-footer .brand img{height:22px;}
.footer-blurb{margin:18px 0 0;color:var(--ink-500);font-size:var(--fs-body-sm);line-height:var(--lh-snug);max-width:34ch;}
.footer-col .label{font-family:var(--font-mono);font-size:var(--fs-meta-sm);letter-spacing:var(--ls-label-sm);text-transform:uppercase;color:var(--text-meta);}
.footer-links{margin-top:14px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.footer-links a{color:var(--ink-600);font-size:var(--fs-body-sm);}
.footer-links a:hover{color:var(--coral-700);}
.footer-bar{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;
  justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.footer-bar span{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--text-meta);letter-spacing:var(--ls-mono);}

/* ---- Utilities ---------------------------------------------------------- */
.ink-icon{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(56vw,720px);opacity:0.05;pointer-events:none;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ca-ink);color:var(--on-ink-hi);padding:10px 16px;z-index:300;}
.skip-link:focus{left:8px;top:8px;color:var(--on-ink-hi);}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:760px){
  .nav-desktop{display:none;}
  .hamburger{display:inline-flex;}
  .cta-row{flex-direction:column;align-items:stretch;}
  .cta-row>*{width:100%;}
  .beliefs-grid{grid-template-columns:1fr;}
  .beliefs-intro{position:static;}
}
