@charset "UTF-8";
/* ============================================================
   Superior Ink — shared stylesheet
   Design tokens from brandbook (see DESIGN-TOKENS.md). Plain CSS, no build.
   ============================================================ */

:root{
  /* Brand colors */
  --c-primary:#005f57;      /* Alpine Green */
  --c-primary-d:#004a44;    /* darker hover */
  --c-ink:#232323;          /* Young Night */
  --c-white:#ffffff;
  --c-teal:#00949c;         /* Riviera Paradise */
  --c-mint:#8cd3c7;         /* Green Daze */
  --c-coral:#f47059;        /* Camellia */
  --c-yellow:#ffe36e;       /* Yellow Tan */
  /* Neutrals */
  --c-bg:#ffffff;
  --c-bg-soft:#f2f1ef;
  --c-bg-mint:#eaf5f2;
  --c-muted:#5b6b67;
  --c-border:#e4e7e6;
  /* Typography */
  --f-head:Verdana, Geneva, Tahoma, sans-serif;
  --f-body:"Helvetica Neue", Helvetica, Arial, "Segoe UI", system-ui, sans-serif;
  --f-serif:Georgia, "Times New Roman", serif;
  --fs-hero:clamp(2.25rem,5vw,3.5rem);
  --fs-h1:clamp(2rem,4vw,3rem);
  --fs-h2:clamp(1.6rem,3vw,2.25rem);
  --fs-h3:1.25rem;
  --fs-body:1.0625rem;
  --fs-small:.875rem;
  /* Spacing */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;
  --radius:10px;--radius-sm:6px;--radius-pill:999px;
  --shadow-sm:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04);
  --shadow-md:0 8px 24px rgba(16,24,40,.10);
  --wrap:1200px;
  --header-h:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}
h1,h2,h3{overflow-wrap:break-word}
body{margin:0;font-family:var(--f-body);font-size:var(--fs-body);line-height:1.6;color:var(--c-ink);background:var(--c-bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-primary);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--f-head);line-height:1.15;color:var(--c-ink);margin:0 0 .5em;font-weight:700}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}
p{margin:0 0 1em}
.serif{font-family:var(--f-serif);font-style:italic}
.accent{color:var(--c-teal)}
.eyebrow{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--c-teal);margin:0 0 .5rem}
.muted{color:var(--c-muted)}

/* Layout */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--sp-5)}
.section{padding-block:var(--sp-9)}
.section--soft{background:var(--c-bg-soft)}
.section--mint{background:var(--c-bg-mint)}
.section--ink{background:var(--c-ink);color:#f3f3f3}
.section--ink h1,.section--ink h2,.section--ink h3{color:#fff}
.section--primary{background:var(--c-primary);color:#eafffb}
.section--primary h1,.section--primary h2{color:#fff}
.grid{display:grid;gap:var(--sp-5)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.center{text-align:center}
.lead{font-size:1.2rem;color:var(--c-muted);max-width:60ch}
.center .lead{margin-inline:auto}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-body);font-weight:700;font-size:.95rem;
  padding:.75rem 1.4rem;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;transition:.15s;text-decoration:none}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--c-primary);color:#fff}
.btn-primary:hover{background:var(--c-primary-d)}
.btn-outline{background:transparent;color:var(--c-primary);border-color:var(--c-primary)}
.btn-outline:hover{background:var(--c-primary);color:#fff}
.btn-ghost{background:transparent;color:var(--c-ink);padding-inline:.5rem}
.btn-lg{padding:.9rem 1.8rem;font-size:1.05rem}
.btn-light{background:#fff;color:var(--c-primary)}

/* Cards */
.card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--sp-5);box-shadow:var(--shadow-sm)}
.card h3{margin-top:0}
.card .ico{width:44px;height:44px;color:var(--c-primary);margin-bottom:var(--sp-3)}
.tile{display:flex;gap:var(--sp-4);align-items:flex-start}
.tile .ico{flex:0 0 auto;width:32px;height:32px;color:var(--c-primary)}
.tile h3{font-size:1.05rem;margin:0 0 .25rem}
.tile p{margin:0;font-size:.95rem;color:var(--c-muted)}
.link-arrow{font-weight:700;color:var(--c-primary)}
.link-arrow::after{content:" \2192"}

/* Hero */
.hero{background:linear-gradient(180deg,var(--c-bg-mint),#fff);padding-block:var(--sp-9)}
.hero h1{font-size:var(--fs-hero);max-width:16ch}
.hero .lead{margin-block:var(--sp-4) var(--sp-6)}
.hero-cta{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.hero--ink{background:var(--c-ink);color:#f3f3f3}
.hero--ink h1,.hero--ink .accent{color:#fff}

/* generated-copy marker (visible only via review class toggle) */
.gen{}

/* ---------------- HEADER / NAV / MEGA MENU ---------------- */
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--c-border)}
.nav{display:flex;align-items:center;gap:var(--sp-5);height:var(--header-h);max-width:1320px;margin-inline:auto;padding-inline:var(--sp-5)}
.nav-brand img{height:40px;width:auto}
.nav-menu{display:flex;align-items:stretch;gap:var(--sp-2);margin-left:var(--sp-3);list-style:none;padding:0;margin-block:0}
.nav-item{position:static;display:flex;align-items:center}
.nav-link{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .6rem;color:var(--c-ink);font-weight:600;font-size:.95rem;background:none;border:0;cursor:pointer;font-family:var(--f-body);height:100%}
.nav-link .caret{width:10px;height:10px;transition:transform .2s}
.nav-item[aria-expanded="true"] .nav-link{color:var(--c-primary)}
.nav-item[aria-expanded="true"] .nav-link .caret{transform:rotate(180deg)}
.nav-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3)}
.nav-actions .btn{padding:.55rem 1rem;font-size:.9rem}
.nav-shop{color:var(--c-ink);font-weight:600;font-size:.9rem}

/* mega panel */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--c-border);
  box-shadow:var(--shadow-md);display:none}
.nav-item[aria-expanded="true"] .mega{display:block}
.mega-context{background:var(--c-bg-soft);color:var(--c-muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.5rem 0;border-bottom:1px solid var(--c-border)}
.mega-inner{display:grid;grid-template-columns:300px 1fr;gap:var(--sp-7);padding-block:var(--sp-6)}
.mega-inner.cards3{grid-template-columns:1fr}
.mega-rail{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.mega-rail button{width:100%;text-align:left;display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border:0;background:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--f-body);color:var(--c-ink)}
.mega-rail button .ico{width:22px;height:22px;color:var(--c-primary);flex:0 0 auto}
.mega-rail button small{display:block;color:var(--c-muted);font-size:.72rem}
.mega-rail li.active button,.mega-rail button:hover{background:var(--c-bg-mint);box-shadow:inset 3px 0 0 var(--c-primary)}
.mega-panelwrap{position:relative}
.mega-cat{display:none}
.mega-cat.active{display:block}
.mega-cat h3{font-size:1.5rem;margin:0 0 .25rem}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3) var(--sp-6);margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--c-border)}
.mega-cta{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-5)}
.mega-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.mega-foot{background:var(--c-bg-soft);border-top:1px solid var(--c-border)}
.mega-foot .wrapf{display:flex;gap:var(--sp-4);flex-wrap:wrap;align-items:center;padding:.8rem 0;max-width:1320px;margin-inline:auto;padding-inline:var(--sp-5)}
.mega-foot a{font-size:.85rem;font-weight:600}
.mega-foot .spacer{margin-left:auto;color:var(--c-muted);font-size:.85rem}

/* mobile */
.nav-toggle{display:none;margin-left:auto;background:none;border:0;cursor:pointer;width:44px;height:44px}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";display:block;width:24px;height:2px;background:var(--c-ink);position:relative;transition:.2s}
.nav-toggle span::before{position:absolute;top:-7px}.nav-toggle span::after{position:absolute;top:7px}

@media (max-width:960px){
  .nav-menu,.nav-actions{display:none}
  .nav-toggle{display:block}
  body.nav-open .nav-menu{display:flex;position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:#fff;flex-direction:column;
    align-items:stretch;gap:0;overflow-y:auto;padding:var(--sp-4);margin:0}
  body.nav-open .nav-actions{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;padding:var(--sp-4);border-top:1px solid var(--c-border);gap:var(--sp-3);justify-content:center;flex-wrap:wrap}
  .nav-item{border-bottom:1px solid var(--c-border)}
  .nav-link{width:100%;justify-content:space-between;padding:.9rem .4rem}
  .mega{position:static;box-shadow:none;border:0;padding-left:var(--sp-3)}
  .mega-inner{grid-template-columns:1fr;gap:var(--sp-4);padding-block:var(--sp-3)}
  .mega-context{display:none}
  .mega-grid,.mega-cards{grid-template-columns:1fr}
  .mega-cat{display:block}  /* on mobile show all, stacked */
  .mega-rail{display:none}
  .mega-foot{display:none}
}

/* ---------------- FOOTER ---------------- */
.site-footer{background:var(--c-ink);color:#c9cecc;padding-block:var(--sp-8) var(--sp-6);font-size:.92rem}
.site-footer a{color:#c9cecc}
.site-footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:var(--sp-6)}
.footer-brand img{height:36px;filter:brightness(0) invert(1);opacity:.95;margin-bottom:var(--sp-4)}
.site-footer h4{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--sp-3)}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.footer-bottom{border-top:1px solid #3a3a3a;margin-top:var(--sp-7);padding-top:var(--sp-5);display:flex;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;font-size:.82rem;color:#8b918f}

/* ported legacy content (Webflow classes stripped -> style raw elements) */
.ported{max-width:920px;margin-inline:auto}
.ported h2{font-size:var(--fs-h2);margin:1.6em 0 .5em}
.ported h3{font-size:var(--fs-h3);margin:1.3em 0 .4em}
.ported h4{font-size:1.05rem;margin:1.2em 0 .3em}
.ported p{margin:0 0 1em;color:var(--c-ink)}
.ported a{color:var(--c-primary);font-weight:600}
.ported ul,.ported ol{margin:0 0 1em;padding-left:1.3rem}
.ported li{margin:.35em 0}
.ported img{max-width:100%;height:auto;border-radius:var(--radius);margin:1.25rem 0}
.ported figure{margin:1.25rem 0}
.ported blockquote{margin:1.25rem 0;padding-left:1rem;border-left:3px solid var(--c-mint);font-style:italic;color:var(--c-muted)}
.ported strong,.ported b{font-weight:700}
.ported div:empty{display:none}

/* placeholders carried from legacy cleanup style */
.static-form-placeholder,.static-embed-placeholder{padding:1.25rem;border:1px dashed #b7c4bf;border-radius:8px;background:var(--c-bg-mint);color:var(--c-primary);text-align:center;font-weight:600}

/* responsive grids */
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr}.mega-grid{grid-template-columns:1fr}}

/* ============ HOME PAGE — replicates live production home ============ */
/* Hero — matches live production */
.home-hero{background:#e7e7e9;overflow:hidden}
.home-hero .wrap{display:grid;grid-template-columns:1fr minmax(360px,520px);gap:var(--sp-7);align-items:center;padding-block:var(--sp-7)}
.home-hero .wrap>div{min-width:0}
.home-hero h1{margin:0 0 var(--sp-6);line-height:.82;letter-spacing:-.02em}
.home-hero h1 .more,.home-hero h1 .merch{display:block;font-size:clamp(3rem,7.5vw,6.5rem);text-transform:uppercase;color:var(--c-ink)}
.home-hero h1 .more{font-family:var(--f-head);font-weight:700}
.home-hero h1 .merch{font-family:var(--f-serif);font-style:italic;font-weight:400;width:max-content;max-width:100%;border-bottom:6px solid var(--c-teal);padding-bottom:.05em}

/* two big stacked-text buttons */
.hero-btns{display:flex;gap:var(--sp-4);flex-wrap:wrap}
.hero-btn{display:flex;flex-direction:column;justify-content:center;min-width:190px;padding:1.1rem 1.7rem;border-radius:16px;font-family:var(--f-head);font-weight:700;line-height:1;text-decoration:none;transition:.15s}
.hero-btn small{font-size:.85rem;font-weight:600;opacity:.85;letter-spacing:.04em;margin-bottom:.35rem}
.hero-btn b{font-size:2rem}
.hero-btn.q{background:var(--c-mint);color:var(--c-ink)}
.hero-btn.q:hover{background:#7cc9bc}
.hero-btn.c{background:var(--c-ink);color:#fff}
.hero-btn.c:hover{background:#000}

/* hero media (print-shop video), rounded with corner ticker tab */
.home-hero-media{position:relative;border-radius:28px;aspect-ratio:4/5;background:#d8d8da}
.home-hero-media>video,.home-hero-media>img{width:100%;height:100%;object-fit:cover;display:block;border-radius:28px}
.hero-tab{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:.6rem;background:#fff;border-radius:var(--radius-pill);padding:6px 18px 6px 6px;box-shadow:var(--shadow-md);max-width:80%}
.hero-recycle{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--c-primary);display:flex;align-items:center;justify-content:center}
.hero-recycle svg{width:22px;height:22px}
.hero-ticker{overflow:hidden;white-space:nowrap;max-width:230px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.hero-ticker .track{display:inline-flex;align-items:center;gap:.9rem;animation:ticker 16s linear infinite;will-change:transform}
.hero-ticker span{font-weight:700;letter-spacing:.12em;font-size:.72rem;text-transform:uppercase;color:var(--c-ink)}
.hero-ticker img{width:10px;height:10px;opacity:.8}
@keyframes ticker{to{transform:translateX(-50%)}}
.home-hero-media .vp{position:absolute;bottom:18px;right:18px;width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}
.home-hero-media .vp img{width:22px;height:22px;object-fit:contain}
@media (max-width:820px){.home-hero .wrap{grid-template-columns:1fr;text-align:center}.hero-btns{justify-content:center}.home-hero h1 .merch{margin-inline:auto}.home-hero-media{order:-1;max-width:430px;margin-inline:auto}}

/* Logo marquee (infinite scroll) */
.logos{border-block:1px solid var(--c-border);background:#fff;overflow:hidden}
.logos .lbl{text-align:center;color:var(--c-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;padding:var(--sp-5) 0 var(--sp-2)}
.logo-marquee{overflow:hidden;padding-block:var(--sp-5);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logo-track{display:inline-flex;align-items:center;gap:var(--sp-8);animation:logoscroll 32s linear infinite;will-change:transform}
.logos:hover .logo-track{animation-play-state:paused}
.logo-track img{height:38px;width:auto;opacity:.6;filter:grayscale(1);transition:.2s;flex:0 0 auto}
.logo-track img:hover{opacity:1;filter:none}
@keyframes logoscroll{to{transform:translateX(-50%)}}

/* Why — checklist + media */
.why .wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-7);align-items:center}
.checklist{list-style:none;margin:var(--sp-5) 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-4)}
.checklist li{display:flex;align-items:center;gap:var(--sp-3);font-size:1.15rem;font-weight:600}
.checklist li::before{content:"";flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--c-mint) url("/assets/home/check.svg") center/14px no-repeat}
.why-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}
@media (max-width:820px){.why .wrap{grid-template-columns:1fr}.why-media{order:-1}}

/* Stats band */
.stats{background:var(--c-ink);color:#fff}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5);padding-block:var(--sp-7);text-align:center}
.stat .num{font-family:var(--f-head);font-weight:700;font-size:clamp(2.2rem,4vw,3.2rem);color:#fff;line-height:1}
.stat .lbl{color:var(--c-mint);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin-top:.4rem}
@media (max-width:640px){.stats .wrap{grid-template-columns:1fr 1fr}}

/* Sustainability impact */
.impact .icard{text-align:center}
.impact .icard img{height:54px;width:auto;margin:0 auto var(--sp-4)}
.impact .big{font-family:var(--f-head);font-weight:700;font-size:2rem;color:var(--c-primary);line-height:1}
.impact .sub{font-weight:700;margin:.25rem 0 .5rem}

/* Testimonials */
.tcard{position:relative;background:#fff}
.tcard .qmark{width:34px;opacity:.9;margin-bottom:var(--sp-3)}
.tcard blockquote{margin:0 0 var(--sp-4);font-size:1.05rem;line-height:1.6}
.tcard .who{display:flex;align-items:center;gap:var(--sp-3)}
.tcard .who img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.tcard .who b{display:block}
.tcard .who span{color:var(--c-muted);font-size:.9rem}
