
  /* ============================================================
     SHERIFY — HOSPITALITY GROWTH ADVISORY
     Black / Charcoal / Warm Gold / White
     Display: Cormorant Garamond  |  Body: Outfit
     ============================================================ */
  :root{
    --black:#080808;
    --charcoal:#121110;
    --charcoal-2:#1a1816;
    --charcoal-3:#211f1c;
    --line:#2b2825;
    --line-soft:#211e1b;
    --white:#f6f4ef;
    --paper:#efece4;
    --muted:#9a978f;
    --muted-2:#8e8b84; /* was #787570 (4.36:1 on --black) — raised to meet WCAG AA 4.5:1 for small text */
    --gold:#c9a227;
    --gold-light:#e2c96d;
    --gold-deep:#a4811a;
    --gold-soft:rgba(201,162,39,.12);

    --font-display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --font-body:'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --container:1200px;
    --container-narrow:880px;
    --radius:4px;
    --radius-lg:8px;

    --text-xs:clamp(0.75rem,0.72rem + 0.15vw,0.82rem);
    --text-sm:clamp(0.875rem,0.84rem + 0.18vw,0.95rem);
    --text-base:clamp(1rem,0.96rem + 0.2vw,1.1rem);
    --text-lg:clamp(1.15rem,1.05rem + 0.4vw,1.4rem);
    --text-xl:clamp(1.5rem,1.2rem + 1.2vw,2.2rem);
    --text-2xl:clamp(2rem,1.4rem + 2.6vw,3.4rem);
    --text-3xl:clamp(2.6rem,1.5rem + 4.6vw,5rem);

    --ease:cubic-bezier(.16,1,.3,1);
  }

  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:84px;
  }
  body{
    min-height:100dvh;line-height:1.65;font-family:var(--font-body);
    font-size:var(--text-base);font-weight:400;color:var(--white);
    background:var(--black);overflow-x:hidden;
  }
  img,picture,svg,iframe{display:block;max-width:100%;height:auto}
  a{color:inherit;text-decoration:none}
  button{cursor:pointer;background:none;border:none;color:inherit;font:inherit}
  input,select,textarea,button{font:inherit;color:inherit}
  h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.08;text-wrap:balance;letter-spacing:-0.01em}
  p{text-wrap:pretty}
  ::selection{background:rgba(201,162,39,.28);color:var(--white)}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:var(--radius)}

  .container{max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}
  .narrow{max-width:var(--container-narrow);margin-inline:auto}
  section{position:relative}
  .eyebrow{
    font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;
    letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
    display:inline-flex;align-items:center;gap:.6rem;
  }
  .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold);opacity:.7}
  .eyebrow.center{justify-content:center}
  .section-head{max-width:760px}
  .section-head.center{margin-inline:auto;text-align:center}
  .section-head h2{font-size:var(--text-2xl);margin:1.1rem 0 .9rem;color:var(--white)}
  .section-head p{color:var(--muted);font-size:var(--text-lg);font-weight:300;max-width:60ch}
  .section-head.center p{margin-inline:auto}
  em{font-style:italic;color:var(--gold-light)}
  .pad{padding-block:clamp(4.5rem,9vw,8rem)}
  .pad-sm{padding-block:clamp(3rem,6vw,5rem)}

  /* ---- Buttons ---- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
    font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;
    letter-spacing:.02em;padding:1.05rem 1.9rem;border-radius:var(--radius);
    transition:all .3s var(--ease);text-align:center;line-height:1.2;
  }
  .btn-gold{background:var(--gold);color:var(--black);box-shadow:0 8px 30px rgba(201,162,39,.18)}
  .btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 14px 40px rgba(201,162,39,.3)}
  .btn-ghost{border:1px solid var(--line);color:var(--white);background:transparent}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-light);background:var(--gold-soft)}
  .btn-arrow svg{width:16px;height:16px;transition:transform .3s var(--ease)}
  .btn:hover .btn-arrow svg{transform:translateX(3px)}

  /* ---- Header / Nav ---- */
  header.site-nav{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    background:rgba(8,8,8,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid transparent;transition:background .3s,border-color .3s;
  }
  header.site-nav.scrolled{background:rgba(8,8,8,.92);border-bottom-color:var(--line-soft)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px;gap:2rem}
  .brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
  .brand .official-logo{
    width:48px;height:48px;display:block;object-fit:cover;border-radius:50%;
    filter:drop-shadow(0 0 13px rgba(214,176,48,.24));
  }
  .brand .brand-name{
    font-family:var(--font-display);font-weight:600;font-size:1.25rem;
    letter-spacing:.16em;color:#e1c05a;line-height:1
  }
  .nav-links{display:flex;align-items:center;gap:2.2rem}
  .nav-links a{font-size:var(--text-sm);font-weight:500;color:var(--muted);letter-spacing:.01em;transition:color .25s}
  .nav-links a:hover,.nav-links a.active{color:var(--white)}
  .nav-links a.mobile-only{display:none}
  .nav-cta{display:flex;align-items:center;gap:1.2rem}
  .nav-cta .btn{padding:.7rem 1.3rem}
  .menu-toggle{display:none;flex-direction:column;gap:5px;padding:6px;z-index:1100}
  .menu-toggle span{width:24px;height:2px;background:var(--white);transition:.3s}

  /* ---- Hero (full-bleed cinematic banner) ---- */
  .hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding-top:74px;overflow:hidden;background:var(--black)}
  .hero-bg{position:absolute;inset:0;z-index:0}
  .hero-bg picture{position:absolute;inset:0;display:block}
  .hero-bg img{width:100%;height:100%;object-fit:cover;object-position:72% top;display:block}
  /* Layered cinematic grading: deep cinema vignette + left-weighted scrim so copy reads, founder stays lit */
  .hero-bg::after{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(90deg,rgba(8,8,8,.94) 0%,rgba(8,8,8,.86) 24%,rgba(8,8,8,.55) 50%,rgba(8,8,8,.18) 72%,rgba(8,8,8,.32) 100%),
      linear-gradient(0deg,rgba(8,8,8,.96) 0%,rgba(8,8,8,.55) 26%,rgba(8,8,8,.12) 58%,rgba(8,8,8,.28) 100%),
      radial-gradient(120% 90% at 30% 60%,rgba(8,8,8,0) 40%,rgba(8,8,8,.45) 100%);
  }
  /* subtle warm gold light bloom toward founder side */
  .hero-bg::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:radial-gradient(60% 70% at 78% 42%,rgba(201,162,39,.10) 0%,rgba(201,162,39,0) 60%);mix-blend-mode:screen}
  .hero-inner{position:relative;z-index:2;width:100%;padding-block:clamp(3rem,8vh,6.5rem)}
  .hero-content{max-width:680px}
  .hero h1{font-size:var(--text-3xl);font-weight:500;color:var(--white);margin:1.5rem 0 1.6rem;line-height:1.0;text-shadow:0 2px 30px rgba(0,0,0,.55)}
  .hero h1 em{display:block;color:var(--gold-light);font-style:italic}
  .hero-sub{font-size:var(--text-lg);font-weight:300;color:var(--paper);max-width:50ch;margin-bottom:.7rem;text-shadow:0 1px 18px rgba(0,0,0,.6)}
  .hero-concepts{font-size:var(--text-xs);color:var(--paper);opacity:.9;margin-bottom:2.2rem;letter-spacing:.16em;font-weight:600;text-transform:uppercase;text-shadow:0 1px 10px rgba(8,8,8,.85)}
  .hero-concepts span{color:var(--gold);opacity:.95;margin:0 .1em;font-weight:400}
  .hero-cta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
  .hero-note{font-size:var(--text-xs);color:var(--muted);margin-top:1.5rem;display:flex;align-items:center;gap:.5rem}
  .hero-note svg{width:15px;height:15px;color:var(--gold);flex-shrink:0}
  /* Founder credit pinned bottom-right of the banner */
  .hero-credit{position:absolute;right:clamp(1.25rem,4vw,2.5rem);bottom:clamp(1.4rem,4vh,2.6rem);z-index:3;text-align:right;padding-left:1.1rem;border-left:2px solid var(--gold)}
  .hero-credit .nm{font-family:var(--font-display);font-size:clamp(1.15rem,.9rem+.7vw,1.5rem);color:var(--white);font-weight:600;line-height:1.05;text-shadow:0 2px 14px rgba(0,0,0,.7)}
  .hero-credit .rl{font-size:var(--text-xs);color:var(--gold-light);letter-spacing:.12em;text-transform:uppercase;margin-top:.25rem}
  @media (max-width:760px){.hero-credit{display:none}}

  /* ---- Credibility bar ---- */
  .cred{background:var(--charcoal);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .cred-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft)}
  .cred-metric{background:var(--charcoal);padding:2.4rem 1.5rem;text-align:center}
  .cred-metric .num{font-family:var(--font-display);font-size:clamp(1.8rem,1.2rem+2vw,2.8rem);font-weight:600;color:var(--gold);line-height:1}
  .cred-metric .lbl{font-size:var(--text-xs);color:var(--muted);letter-spacing:.04em;margin-top:.7rem;line-height:1.4}

  /* ---- Logo row (brands) ---- */
  .logo-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem;margin-top:1rem}
  .logo-chip{
    background:var(--paper);border-radius:var(--radius-lg);padding:1.4rem 1.8rem;
    display:flex;align-items:center;justify-content:center;min-height:108px;flex:1 1 200px;max-width:260px;
    transition:transform .3s var(--ease),box-shadow .3s;
  }
  .logo-chip:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.4)}
  .logo-chip img{max-height:74px;width:auto;object-fit:contain}
  .logo-chip.dark{background:var(--charcoal-2);border:1px solid var(--line)}

  /* ---- Proof strip (sleek, borderless, premium) ---- */
  .proofstrip{background:linear-gradient(180deg,var(--black),var(--charcoal));border-bottom:1px solid var(--line-soft)}
  .proofstrip .ps-head{text-align:center;font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem}
  .proofstrip .ps-head b{color:var(--gold-light);font-weight:600}
  .ps-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(1.6rem,4vw,3.4rem)}
  .ps-item{display:flex;align-items:center;justify-content:center;position:relative}
  /* Founder lockup — clean, no card */
  .ps-founder{display:flex;align-items:center;gap:.8rem;transition:opacity .3s}
  .ps-founder img{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:center top;border:1.5px solid var(--gold);box-shadow:0 4px 16px rgba(0,0,0,.5)}
  .ps-founder .pf-tx .nm{font-family:var(--font-display);font-size:1.2rem;color:var(--white);font-weight:600;line-height:1.05}
  .ps-founder .pf-tx .rl{font-size:10px;color:var(--gold-light);letter-spacing:.12em;text-transform:uppercase;margin-top:.15rem}
  /* Logo marks — directly on dark, unified height, soft luminosity, no boxes */
  .ps-logo{display:flex;align-items:center;justify-content:center;height:62px;opacity:.92;transition:opacity .3s var(--ease),transform .3s var(--ease),filter .3s}
  .ps-logo img{max-height:100%;width:auto;object-fit:contain}
  .ps-logo:hover{opacity:1;transform:translateY(-2px)}
  /* Round badge logo (Dirty Potato) — transparent-cornered, sits cleanly on dark, slightly larger */
  .ps-logo.disc{height:78px}
  .ps-logo.disc img{filter:drop-shadow(0 6px 18px rgba(0,0,0,.55))}
  .ps-divider{width:1px;height:46px;background:var(--line);flex-shrink:0}
  @media (max-width:680px){.ps-divider{display:none}.ps-row{gap:1.8rem}}


  /* ---- Brands cards ---- */
  .brands-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
  /* Featured brand (Dirty Potato) — cinematic, dark, glowing */
  .brand-feature{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;background:linear-gradient(135deg,var(--charcoal-2),var(--charcoal));border:1px solid rgba(201,162,39,.32);border-radius:var(--radius-lg);overflow:hidden;margin-top:3rem;box-shadow:0 30px 80px rgba(0,0,0,.45)}
  .brand-feature .bf-visual{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(2.4rem,4vw,3.6rem);min-height:340px;
    background:radial-gradient(70% 70% at 50% 45%,rgba(201,162,39,.16) 0%,rgba(201,162,39,0) 62%),linear-gradient(160deg,#16140f,#0b0a08);
    border-right:1px solid var(--line-soft);overflow:hidden}
  .brand-feature .bf-visual::after{content:"";position:absolute;inset:0;background:radial-gradient(closest-side,rgba(0,0,0,0) 60%,rgba(0,0,0,.35) 100%);pointer-events:none}
  .brand-feature .bf-visual img{position:relative;z-index:1;max-width:76%;max-height:248px;width:auto;object-fit:contain;filter:drop-shadow(0 18px 40px rgba(0,0,0,.55))}
  .brand-feature .bf-visual .bf-badge{position:absolute;top:1.2rem;left:1.2rem;z-index:2;background:var(--gold);color:var(--black);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .8rem;border-radius:999px}
  .brand-feature .bf-body{padding:clamp(2rem,3.5vw,3rem)}
  .brand-feature .bf-body .tag{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
  .brand-feature .bf-body h3{font-family:var(--font-display);font-size:clamp(1.8rem,1.3rem+1.8vw,2.6rem);color:var(--white);margin:.5rem 0 .9rem;font-weight:600;line-height:1.05}
  .brand-feature .bf-body p{font-size:var(--text-base);color:var(--paper);font-weight:300;line-height:1.65;margin-bottom:1.3rem}
  .bf-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}
  .bf-pills span{font-size:var(--text-xs);color:var(--gold-light);border:1px solid var(--line);border-radius:999px;padding:.4rem .85rem;background:var(--charcoal-2)}
  .brand-feature .bf-body a.link{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--text-sm);font-weight:600;color:var(--gold-light)}
  .brand-feature .bf-body a.link svg{width:14px;height:14px}
  .brand-card{
    background:linear-gradient(160deg,var(--charcoal-2),var(--charcoal));border:1px solid var(--line-soft);border-radius:var(--radius-lg);
    overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;
  }
  .brand-card:hover{transform:translateY(-5px);border-color:rgba(201,162,39,.3);box-shadow:0 24px 60px rgba(0,0,0,.45)}
  .brand-card .logobox{height:168px;display:flex;align-items:center;justify-content:center;padding:1.9rem;position:relative;
    background:radial-gradient(75% 80% at 50% 42%,rgba(201,162,39,.10) 0%,rgba(201,162,39,0) 60%),linear-gradient(160deg,#14120e,#0c0b09);
    border-bottom:1px solid var(--line-soft)}
  .brand-card .logobox img{max-height:92px;width:auto;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.5))}
  .brand-card .logobox.on-dark img{max-height:84px}
  .brand-card .meta{padding:1.7rem 1.6rem 1.9rem}
  .brand-card .meta .tag{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
  .brand-card .meta h3{font-size:var(--text-lg);margin:.6rem 0 .5rem;color:var(--white);font-weight:600}
  .brand-card .meta p{font-size:var(--text-sm);color:var(--muted);line-height:1.6}
  .brand-card .meta a.link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:var(--text-sm);font-weight:600;color:var(--gold-light)}
  .brand-card .meta a.link svg{width:14px;height:14px}

  /* ---- Full-width cinematic image band ---- */
  .imgband{position:relative;min-height:clamp(360px,52vh,560px);display:flex;align-items:center;overflow:hidden;background:var(--black)}
  .imgband-bg{position:absolute;inset:0;z-index:0}
  .imgband-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
  .imgband-bg::after{content:"";position:absolute;inset:0;background:
    linear-gradient(90deg,rgba(8,8,8,.92) 0%,rgba(8,8,8,.62) 45%,rgba(8,8,8,.35) 100%),
    linear-gradient(0deg,rgba(8,8,8,.7) 0%,rgba(8,8,8,.1) 50%)}
  .imgband-inner{position:relative;z-index:2;width:100%}
  .imgband .quote{max-width:780px}
  .imgband .quote .q{font-family:var(--font-display);font-size:clamp(1.7rem,1.1rem+2.6vw,3rem);font-weight:500;color:var(--white);line-height:1.16;text-shadow:0 2px 24px rgba(0,0,0,.6)}
  .imgband .quote .q em{color:var(--gold-light);font-style:italic}
  .imgband .quote .by{margin-top:1.4rem;font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}

  /* ---- About ---- */
  .about-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
  .about-photo{position:relative}
  .about-photo img{width:100%;border-radius:var(--radius-lg);object-fit:cover;aspect-ratio:4/5}
  .about-photo .frame{position:absolute;inset:14px;border:1px solid var(--gold);border-radius:var(--radius-lg);pointer-events:none;opacity:.5}
  .about-copy h2{font-size:var(--text-2xl);color:var(--white);margin:1.1rem 0 1.3rem}
  .about-copy p{color:var(--paper);font-weight:300;font-size:var(--text-base);margin-bottom:1.1rem}
  .about-copy p.lead{font-size:var(--text-lg);color:var(--white);font-weight:400}
  .about-creds{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:1.8rem;padding-top:1.8rem;border-top:1px solid var(--line-soft)}
  .about-cred{display:flex;flex-direction:column}
  .about-cred .k{font-family:var(--font-display);font-size:1.4rem;color:var(--gold);font-weight:600}
  .about-cred .v{font-size:var(--text-xs);color:var(--muted);letter-spacing:.03em}
  .about-sign{margin-top:1.8rem;font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--white)}

  /* ---- How we help ---- */
  .help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
  .help-card{
    background:linear-gradient(180deg,var(--charcoal-2),var(--charcoal));
    border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:2.2rem 2rem 2.4rem;
    display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s;position:relative;overflow:hidden;
  }
  .help-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transition:opacity .35s}
  .help-card:hover{transform:translateY(-5px);border-color:var(--line)}
  .help-card:hover::before{opacity:1}
  .help-card .idx{font-family:var(--font-display);font-size:1.1rem;color:var(--gold);font-weight:600;letter-spacing:.05em}
  .help-card h3{font-size:var(--text-xl);color:var(--white);margin:.9rem 0 .3rem;font-weight:600}
  .help-card .sub{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
  .help-card .desc{font-size:var(--text-sm);color:var(--paper);font-weight:300;margin:1.1rem 0 1.4rem;line-height:1.65}
  .help-card ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.6rem}
  .help-card li{font-size:var(--text-sm);color:var(--muted);display:flex;gap:.65rem;align-items:flex-start;line-height:1.5}
  .help-card li svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;margin-top:3px}
  .help-card .price{margin-top:auto;padding-top:1.3rem;border-top:1px solid var(--line-soft)}
  .help-card .price .amt{font-family:var(--font-display);font-size:1.5rem;color:var(--white);font-weight:600}
  .help-card .price .note{font-size:var(--text-xs);color:var(--muted);display:block;margin-top:.2rem}
  .help-card .card-cta{margin-top:1.4rem}
  .help-card .card-cta a{font-size:var(--text-sm);font-weight:600;color:var(--gold-light);display:inline-flex;align-items:center;gap:.4rem}
  .help-card .card-cta svg{width:14px;height:14px}

  /* ---- Turnaround band ---- */
  .turn{position:relative;overflow:hidden;background:var(--charcoal)}
  .turn-bg{position:absolute;inset:0;z-index:0}
  .turn-bg img{width:100%;height:100%;object-fit:cover}
  .turn-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.95) 0%,rgba(8,8,8,.85) 50%,rgba(8,8,8,.7) 100%)}
  .turn-inner{position:relative;z-index:2}
  .turn-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:3rem;align-items:center}
  .turn-copy h2{font-size:var(--text-2xl);color:var(--white);margin:1rem 0 1.1rem}
  .turn-copy p{color:var(--paper);font-weight:300;font-size:var(--text-base);margin-bottom:1rem;max-width:56ch}
  .turn-box{background:rgba(18,17,16,.7);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem;backdrop-filter:blur(6px)}
  .turn-box .label{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
  .turn-box .amt{font-family:var(--font-display);font-size:2rem;color:var(--white);font-weight:600;margin:.5rem 0}
  .turn-box .desc{font-size:var(--text-sm);color:var(--muted);margin-bottom:1.4rem}

  /* ---- Process ---- */
  .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:3rem;counter-reset:step}
  .process-step{position:relative;padding:2rem 1.6rem;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--charcoal);transition:border-color .3s}
  .process-step:hover{border-color:var(--line)}
  .process-step .step-n{font-family:var(--font-display);font-size:2.4rem;color:var(--gold);font-weight:600;line-height:1;opacity:.9}
  .process-step h3{font-size:var(--text-lg);color:var(--white);margin:.6rem 0 .5rem;font-weight:600}
  .process-step p{font-size:var(--text-sm);color:var(--muted);line-height:1.6}

  /* ---- Guarantee ---- */
  .guarantee{background:linear-gradient(180deg,var(--charcoal),var(--black))}
  .guarantee-card{
    border:1px solid var(--gold-deep);border-radius:var(--radius-lg);
    background:linear-gradient(135deg,rgba(201,162,39,.08),rgba(18,17,16,.4));
    padding:clamp(2.5rem,5vw,4rem);text-align:center;position:relative;overflow:hidden;
  }
  .guarantee-card .seal{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--gold)}
  .guarantee-card h2{font-size:var(--text-2xl);color:var(--white);margin-bottom:1.2rem}
  .guarantee-card p{font-size:var(--text-lg);color:var(--paper);font-weight:300;max-width:62ch;margin:0 auto 1rem}
  .guarantee-card p .hl{color:var(--gold-light);font-weight:400}

  /* ---- Who we serve ---- */
  .serve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}
  .serve-chip{
    background:var(--charcoal);border:1px solid var(--line-soft);border-radius:var(--radius);
    padding:1.3rem 1.5rem;display:flex;align-items:center;gap:1rem;transition:border-color .3s,transform .3s
  }
  .serve-chip:hover{border-color:var(--gold-deep);transform:translateY(-2px)}
  .serve-chip svg{width:22px;height:22px;color:var(--gold);flex-shrink:0}
  .serve-chip span{font-size:var(--text-base);color:var(--white);font-weight:400}

  /* ---- Results ---- */
  .results-note{
    background:var(--charcoal);border:1px dashed var(--line);border-radius:var(--radius-lg);
    padding:clamp(2rem,4vw,3rem);text-align:center;margin-top:2.5rem;
  }
  .results-note p{color:var(--muted);font-size:var(--text-base);max-width:64ch;margin:0 auto}
  .results-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
  .result-point{padding:1.8rem;border-left:2px solid var(--gold-deep);background:var(--charcoal)}
  .result-point h3{font-size:var(--text-lg);color:var(--white);margin-bottom:.5rem;font-weight:600}
  .result-point p{font-size:var(--text-sm);color:var(--muted);line-height:1.6}

  /* ---- Assessment CTA + form ---- */
  .assess{background:linear-gradient(180deg,var(--black),var(--charcoal));border-top:1px solid var(--line-soft)}
  .assess-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start}
  .assess-copy h2{font-size:var(--text-2xl);color:var(--white);margin:1.1rem 0 1.2rem}
  .assess-copy p{color:var(--paper);font-weight:300;font-size:var(--text-base);margin-bottom:1.4rem;max-width:50ch}
  .assess-list{list-style:none;display:flex;flex-direction:column;gap:1rem;margin-top:1.8rem}
  .assess-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:var(--text-sm);color:var(--paper)}
  .assess-list li svg{width:18px;height:18px;color:var(--gold);flex-shrink:0;margin-top:2px}
  .assess-list li b{color:var(--white);font-weight:600}
  .assess-form{
    background:var(--charcoal-2);border:1px solid var(--line);border-radius:var(--radius-lg);
    padding:clamp(1.8rem,3vw,2.6rem);box-shadow:0 24px 60px rgba(0,0,0,.4);
  }
  .assess-form .form-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--white);font-weight:600;margin-bottom:.4rem}
  .assess-form .form-sub{font-size:var(--text-sm);color:var(--muted);margin-bottom:1.8rem}
  .field{margin-bottom:1.15rem}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .field label{display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
  .field input,.field select,.field textarea{
    width:100%;background:var(--black);border:1px solid var(--line);border-radius:var(--radius);
    padding:.85rem 1rem;font-size:var(--text-sm);color:var(--white);transition:border-color .25s,background .25s;
  }
  .field input::placeholder,.field textarea::placeholder{color:var(--muted-2)}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#0c0b0a}
  .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239a978f' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.6rem}
  .field textarea{resize:vertical;min-height:90px}
  .assess-form button[type=submit]{width:100%;margin-top:.5rem}
  .form-fine{font-size:var(--text-xs);color:var(--muted-2);margin-top:1rem;text-align:center;line-height:1.5}

  /* ---- Booking alt ---- */
  .booking-alt{margin-top:3rem;text-align:center}
  .booking-alt .or{display:flex;align-items:center;gap:1rem;max-width:420px;margin:0 auto 2rem;color:var(--muted);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase}
  .booking-alt .or::before,.booking-alt .or::after{content:"";flex:1;height:1px;background:var(--line-soft)}
  .booking-frame-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--charcoal-2);max-width:760px;margin:0 auto}
  .booking-frame-wrap iframe{width:100%;min-height:620px;border:0;display:block}

  /* ---- Footer ---- */
  footer.site-footer{background:var(--black);border-top:1px solid var(--line-soft);padding-block:clamp(3rem,5vw,4.5rem)}
  .footer-top{display:grid;grid-template-columns:1.5fr 1fr 1.15fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--line-soft)}
  .footer-brand .brand{margin-bottom:1.1rem}
  .footer-brand .brand .official-logo{width:64px;height:64px}
  .footer-brand .brand .brand-name{font-size:1.45rem}
  .footer-brand p{font-size:var(--text-sm);color:var(--muted);max-width:42ch;font-weight:300}
  .footer-col h3{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:1.1rem}
  .footer-col a{display:block;font-size:var(--text-sm);color:var(--paper);margin-bottom:.7rem;font-weight:300;transition:color .25s}
  .footer-col a:hover{color:var(--gold-light)}
  .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:2rem;font-size:var(--text-xs);color:var(--muted-2)}
  .footer-bottom a{color:var(--muted)}
  .footer-bottom a:hover{color:var(--gold-light)}

  /* ---- Reveal ---- */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .reveal.visible{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

  /* ---- Responsive ---- */
  @media (max-width:980px){
    .brands-grid,.help-grid,.process-grid,.serve-grid,.results-points{grid-template-columns:1fr 1fr}
    .about-grid,.turn-grid,.assess-grid{grid-template-columns:1fr;gap:2.5rem}
    .about-photo{max-width:420px;margin-inline:auto}
    .cred-metrics{grid-template-columns:1fr 1fr}
    .hero-content{max-width:none}
    .brand-feature{grid-template-columns:1fr}
    .brand-feature .bf-visual{min-height:240px}
    .footer-top{grid-template-columns:1fr 1fr;gap:2.2rem}
  }
  @media (max-width:760px){
    .hero{align-items:center;text-align:left}
    /* Mobile uses a dedicated founder portrait crop (1080x1440, see <picture> source) with built-in
       headroom above his head. Anchor to the top so his full face clears the nav — reposition only. */
    .hero-bg img{object-position:center top}
    /* Keep text legible but DON'T black out his face: lighter scrim over the founder zone,
       stronger only toward the bottom behind the headline + CTA. */
    .hero-bg::after{background:
      linear-gradient(180deg,rgba(8,8,8,.22) 0%,rgba(8,8,8,.14) 26%,rgba(8,8,8,.78) 100%),
      linear-gradient(0deg,rgba(8,8,8,.94) 0%,rgba(8,8,8,.48) 40%,rgba(8,8,8,0) 64%)}
    .footer-top{grid-template-columns:1fr;gap:2rem}
  }
  @media (max-width:680px){
    .menu-toggle{display:flex}
    .nav-links{
      position:fixed;top:74px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;
      background:rgba(8,8,8,.98);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);
      padding:1rem 1.5rem 1.5rem;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.3s;
    }
    .nav-links.open{transform:none;opacity:1;pointer-events:auto}
    .nav-links a{width:100%;padding:.9rem 0;border-bottom:1px solid var(--line-soft);font-size:var(--text-base)}
    .nav-links a.mobile-only{display:block;color:var(--gold);font-weight:600}
    .nav-cta .btn.desktop-only{display:none}
    .brands-grid,.help-grid,.process-grid,.serve-grid,.results-points{grid-template-columns:1fr}
    .cred-metrics{grid-template-columns:1fr 1fr}
    .field-row{grid-template-columns:1fr}
    .hero h1{margin:1.1rem 0 1.3rem}
    .ps-logo{height:48px}
    .ps-logo.disc{height:60px}
    .ps-row{gap:1.6rem 2rem}
  }
  
  /* ===================================================================
     NORTH STAR COMPONENTS
     Added for the business-improvement positioning. Built on the existing
     token set — no new colours, fonts, radii, or easing introduced.
     =================================================================== */

  /* ---- Hero quick-start: business URL capture directly in the hero ---- */
  .quickstart{margin-top:1.8rem;max-width:560px}
  .qs-form{display:flex;gap:.6rem;flex-wrap:wrap}
  .qs-field{flex:1 1 260px;min-width:0;position:relative}
  .qs-field input{
    width:100%;background:rgba(8,8,8,.72);border:1px solid var(--line);
    border-radius:var(--radius);padding:1.05rem 1.1rem;color:var(--white);
    font-family:var(--font-body);font-size:var(--text-sm);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    transition:border-color .3s var(--ease),background .3s
  }
  .qs-form .btn{flex:0 0 auto}
  .qs-field input::placeholder{color:var(--muted-2)}
  .qs-field input:focus{outline:none;border-color:var(--gold);background:rgba(8,8,8,.9)}
  .qs-note{
    margin-top:.85rem;font-size:var(--text-xs);color:var(--muted);
    display:flex;align-items:center;gap:.5rem;line-height:1.5
  }
  .qs-note svg{width:14px;height:14px;flex:0 0 14px;color:var(--gold)}
  @media(max-width:520px){
    .qs-form .btn{width:100%}
  }

  /* ---- Symptom cards: lead with the owner's words, not our services ---- */
  .symptom-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
    gap:1.1rem;margin-top:2.6rem
  }
  .symptom-card{
    background:var(--charcoal);border:1px solid var(--line-soft);
    border-left:2px solid var(--gold-deep);
    border-radius:var(--radius);padding:1.6rem 1.5rem;
    transition:border-color .35s var(--ease),transform .35s var(--ease)
  }
  .symptom-card:hover{transform:translateY(-3px);border-left-color:var(--gold)}
  .symptom-card .sym{
    font-family:var(--font-display);font-style:italic;
    font-size:var(--text-lg);color:var(--white);line-height:1.35;
    margin-bottom:.7rem;overflow-wrap:break-word
  }
  .symptom-card .fix{font-size:var(--text-sm);color:var(--muted);line-height:1.65}

  /* ---- The differentiator: side-by-side contrast ---- */
  .contrast{
    display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:2.8rem;
    border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden
  }
  .contrast-col{padding:2.2rem 2rem}
  .contrast-col:first-child{background:var(--charcoal);border-right:1px solid var(--line-soft)}
  .contrast-col:last-child{
    background:linear-gradient(180deg,rgba(201,162,39,.07),var(--charcoal-2))
  }
  .contrast-col .lbl{
    font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;
    font-weight:600;margin-bottom:1.4rem;display:block
  }
  .contrast-col:first-child .lbl{color:var(--muted-2)}
  .contrast-col:last-child .lbl{color:var(--gold)}
  .contrast-col ul{list-style:none;display:flex;flex-direction:column;gap:.85rem}
  .contrast-col li{
    font-size:var(--text-sm);line-height:1.6;display:flex;gap:.7rem;align-items:flex-start
  }
  .contrast-col:first-child li{color:var(--muted)}
  .contrast-col:last-child li{color:var(--white)}
  .contrast-col li svg{width:15px;height:15px;flex:0 0 15px;margin-top:.3rem}
  .contrast-col:first-child li svg{color:var(--muted-2)}
  .contrast-col:last-child li svg{color:var(--gold)}
  .contrast-punch{
    margin-top:2rem;text-align:center;font-family:var(--font-display);
    font-size:var(--text-xl);color:var(--white);line-height:1.35;
    max-width:760px;margin-inline:auto
  }
  .contrast-punch b{color:var(--gold);font-weight:600}
  @media(max-width:760px){
    .contrast{grid-template-columns:1fr}
    .contrast-col:first-child{border-right:none;border-bottom:1px solid var(--line-soft)}
  }

  /* ---- Industries ---- */
  .ind-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
    gap:1rem;margin-top:2.4rem
  }
  .ind-card{
    background:var(--charcoal);border:1px solid var(--line-soft);border-radius:var(--radius);
    padding:1.5rem 1.4rem;transition:border-color .35s,transform .35s var(--ease);
    display:flex;flex-direction:column;gap:.6rem
  }
  .ind-card:hover{transform:translateY(-3px);border-color:var(--line)}
  .ind-card.featured{
    background:linear-gradient(180deg,rgba(201,162,39,.08),var(--charcoal-2));
    border-color:rgba(201,162,39,.28)
  }
  .ind-card h3{
    font-family:var(--font-body);font-size:var(--text-base);font-weight:600;
    color:var(--white);line-height:1.35;overflow-wrap:break-word
  }
  .ind-card p{font-size:var(--text-sm);color:var(--muted);line-height:1.6}
  .ind-card .badge{
    font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;
    color:var(--gold);font-weight:600
  }

  /* ---- Honest technology positioning ---- */
  .honest{
    border:1px solid rgba(201,162,39,.22);border-radius:var(--radius-lg);
    background:linear-gradient(180deg,rgba(201,162,39,.06),transparent);
    padding:clamp(1.8rem,4vw,2.8rem);text-align:center;max-width:820px;margin-inline:auto
  }
  .honest p{
    font-family:var(--font-display);font-size:var(--text-lg);color:var(--white);
    line-height:1.55;overflow-wrap:break-word
  }
  .honest p + p{
    font-family:var(--font-body);font-size:var(--text-sm);color:var(--muted);
    margin-top:1.1rem;line-height:1.7
  }
  .honest .hl{color:var(--gold)}

  /* ---- Proof: separate client results from founder-owned businesses ---- */
  .proof-split{margin-top:2.4rem}
  .proof-lane + .proof-lane{margin-top:3.4rem}
  .lane-head{
    display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;
    padding-bottom:.9rem;margin-bottom:1.6rem;border-bottom:1px solid var(--line-soft)
  }
  .lane-head h3{
    font-family:var(--font-display);font-size:var(--text-xl);color:var(--white);
    font-weight:600;line-height:1.2
  }
  .lane-head .lane-note{font-size:var(--text-xs);color:var(--muted-2);line-height:1.5}

  /* ---- Review funnel ---- */
  .review-wrap{max-width:680px;margin-inline:auto}
  .step-dots{
    display:flex;align-items:center;justify-content:center;gap:.7rem;
    margin-bottom:2rem
  }
  .step-dots .dot{
    width:8px;height:8px;border-radius:50%;background:var(--line);transition:background .3s
  }
  .step-dots .dot.on{background:var(--gold)}
  .step-dots .dot-lbl{
    font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;
    color:var(--muted);margin-left:.3rem
  }
  .review-step[hidden]{display:none}
  .chip-select{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.2rem}
  .chip-opt{position:relative}
  .chip-opt input{position:absolute;opacity:0;width:0;height:0}
  .chip-opt span{
    display:block;padding:.75rem 1.1rem;border:1px solid var(--line);
    border-radius:var(--radius);font-size:var(--text-sm);color:var(--muted);
    cursor:pointer;transition:all .25s var(--ease);line-height:1.3;
    /* .chip-opt is a <label>, so it would otherwise inherit the uppercase
       field-label treatment. These are proper outcome names — keep their case. */
    text-transform:none;letter-spacing:0;font-weight:500
  }
  .chip-opt span:hover{border-color:var(--gold-deep);color:var(--white)}
  .chip-opt input:checked + span{
    border-color:var(--gold);color:var(--black);background:var(--gold);font-weight:600
  }
  .chip-opt input:focus-visible + span{outline:2px solid var(--gold-light);outline-offset:2px}
  .field-hint{
    font-size:var(--text-xs);color:var(--muted-2);margin-top:.45rem;line-height:1.5
  }
  .form-err{
    color:#e58a7a;font-size:var(--text-xs);margin-top:.5rem;line-height:1.5;display:none
  }
  .form-err.on{display:block}
  .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .step-back{
    background:none;border:none;color:var(--muted);font-family:var(--font-body);
    font-size:var(--text-sm);cursor:pointer;padding:.6rem 0;display:inline-flex;
    align-items:center;gap:.4rem;transition:color .3s
  }
  .step-back:hover{color:var(--gold)}
  .review-recap{
    display:flex;align-items:center;gap:.7rem;padding:.9rem 1.1rem;
    background:var(--charcoal-3);border:1px solid var(--line-soft);
    border-radius:var(--radius);margin-bottom:1.6rem;font-size:var(--text-sm);
    color:var(--muted);flex-wrap:wrap;line-height:1.5
  }
  .review-recap b{color:var(--white);font-weight:600;overflow-wrap:anywhere}
  .review-recap svg{width:15px;height:15px;flex:0 0 15px;color:var(--gold)}

  /* ---- Thank-you / confirmation ---- */
  .thanks{
    max-width:660px;margin-inline:auto;text-align:center
  }
  .thanks .tick{
    width:56px;height:56px;border-radius:50%;border:1px solid rgba(201,162,39,.35);
    background:rgba(201,162,39,.08);display:flex;align-items:center;justify-content:center;
    margin:0 auto 1.6rem
  }
  .thanks .tick svg{width:24px;height:24px;color:var(--gold)}
  .thanks-steps{
    text-align:left;margin-top:2.4rem;display:flex;flex-direction:column;gap:1rem
  }
  .thanks-step{
    display:flex;gap:1rem;align-items:flex-start;background:var(--charcoal);
    border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.3rem 1.4rem
  }
  .thanks-step .n{
    font-family:var(--font-display);font-size:var(--text-lg);color:var(--gold);
    line-height:1;flex:0 0 auto;min-width:1.4rem
  }
  .thanks-step h2{
    font-family:var(--font-body);font-size:var(--text-base);font-weight:600;
    color:var(--white);margin-bottom:.35rem;line-height:1.35
  }
  .thanks-step p{font-size:var(--text-sm);color:var(--muted);line-height:1.65}

  /* ---- Small shared utilities ---- */
  .lede{
    font-size:var(--text-lg);color:var(--white);line-height:1.6;
    max-width:760px;overflow-wrap:break-word
  }
  .stack-sm > * + *{margin-top:1rem}
  .center-text{text-align:center}
  .measure{max-width:70ch}

/* --- Accessibility utility: visually hidden but available to screen readers --- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

  /* ---- Inner-page header band (used by every page except the homepage,
         which keeps the full-bleed cinematic hero) ---- */
  .page-hero{
    padding:calc(74px + 5.5rem) 0 3.5rem;
    background:
      radial-gradient(1100px 420px at 12% 0%,rgba(201,162,39,.09),transparent 62%),
      var(--charcoal);
    border-bottom:1px solid var(--line-soft)
  }
  .page-hero h1{margin:.7rem 0 0;max-width:20ch}
  .page-hero .lede{margin-top:1.2rem;max-width:62ch}
  @media (max-width:760px){
    .page-hero{padding:calc(74px + 3.2rem) 0 2.6rem}
    .page-hero h1{max-width:none}
  }

  /* ---- Inline checkbox row (opt-outs and preferences inside forms) ---- */
  .check-inline{
    display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;
    margin:-.4rem 0 1.5rem;font-size:var(--text-sm);color:var(--muted);line-height:1.5
  }
  .check-inline input{
    appearance:none;flex:0 0 18px;width:18px;height:18px;margin-top:.15rem;
    border:1px solid var(--line);border-radius:3px;background:#0c0b0a;
    cursor:pointer;transition:all .25s var(--ease);position:relative
  }
  .check-inline input:checked{background:var(--gold);border-color:var(--gold)}
  .check-inline input:checked::after{
    content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
    border:solid var(--black);border-width:0 2px 2px 0;transform:rotate(45deg)
  }
  .check-inline input:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}
  .check-inline:hover{color:var(--paper)}

  /* Focus is moved here programmatically on step change for screen readers;
     no visible ring, since the step change is already obvious. */
  .review-step:focus{outline:none}

  /* The funnel page leads with a header band, so the form needs less air above
     it than a standalone section would. */
  #reviewTop{padding-top:3.4rem}
  @media (max-width:760px){ #reviewTop{padding-top:2.4rem} }

/* Vertical-landing hero: the headline leads, the photo supports. Without this
   the shared .about-grid gives the photo the wider column and the h1 wraps
   into a cramped stack. */
.about-grid.text-lead{grid-template-columns:1.1fr .9fr}
@media (max-width:820px){.about-grid.text-lead{grid-template-columns:1fr}}

/* Legal pages: long-form prose needs a narrower measure than the 1200px grid
   and readable spacing for nested lists. Reuses the existing type tokens. */
.legal-wrap{max-width:760px}
.legal-wrap h2{font-size:1.2rem;color:var(--gold);margin:2.6rem 0 .7rem;letter-spacing:.01em}
.legal-wrap h3{font-size:1.02rem;margin:1.8rem 0 .5rem;color:var(--white)}
.legal-wrap p,.legal-wrap li{color:var(--muted);line-height:1.75}
.legal-wrap p{margin:0 0 1rem}
.legal-wrap ul,.legal-wrap ol{margin:0 0 1.2rem 1.2rem}
.legal-wrap li{margin-bottom:.45rem}
/* Underlined so inline links are distinguishable without relying on colour (WCAG 1.4.1). */
.legal-wrap a{color:var(--gold-light);text-decoration:underline;text-underline-offset:.18em}
.legal-wrap a:hover,.legal-wrap a:focus-visible{color:var(--gold)}
.legal-wrap .updated{color:var(--muted-2);font-size:.85rem;margin-bottom:2rem}

/* ================================================================
   HOMEPAGE NORTH STAR PROTOTYPE
   Scoped to .home-v2 so every existing inner page remains untouched.
   The old homepage sections stay in the document during this visual
   decision pass, but are hidden. Funnel behavior is unchanged.
   ================================================================ */
.home-v2{
  --ns-paper:#f3efe6;
  --ns-paper-2:#e9e2d5;
  --ns-ink:#11110f;
  --ns-ink-2:#1d1d19;
  --ns-copy:#34332e;
  --ns-faint:#6c695f;
  --ns-line:rgba(17,17,15,.16);
  --ns-signal:#c9a227;
  --ns-signal-dark:#8f6f0f;
  background:var(--ns-paper);
  color:var(--ns-ink)
}
.home-v2 .ns-home{display:block;background:var(--ns-paper);overflow:hidden}
.home-v2 .site-nav{background:rgba(8,8,8,.96);border-bottom:1px solid rgba(255,255,255,.08)}
.home-v2 .nav-links{gap:clamp(1.2rem,2.4vw,2.3rem)}
.home-v2 .nav-links a{font-size:.87rem}
.home-v2 .site-footer{background:#090909}
.home-v2 .ns-home h1,.home-v2 .ns-home h2,.home-v2 .ns-home h3,
.home-v2 .ns-home p{margin-top:0}
.home-v2 .ns-home h1,.home-v2 .ns-home h2{
  font-family:var(--font-display);color:var(--ns-ink);font-weight:500;letter-spacing:-.035em
}
.home-v2 .ns-home h1{font-size:clamp(3.7rem,7.4vw,7.1rem);line-height:.88;max-width:8ch}
.home-v2 .ns-home h2{font-size:clamp(2.3rem,4.6vw,4.5rem);line-height:.98}
.home-v2 .ns-home h3{font-family:var(--font-body);color:var(--ns-ink);font-size:1.05rem;font-weight:650}
.ns-kicker{
  display:inline-flex;align-items:center;gap:.7rem;font-size:.69rem;line-height:1;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ns-signal-dark);font-weight:700
}
.ns-kicker::before{content:"";width:25px;height:1px;background:currentColor}
.ns-section-heading{max-width:780px}
.ns-section-heading h2{margin:.8rem 0 1.1rem}
.ns-section-heading>p{font-size:clamp(1.03rem,1.5vw,1.22rem);line-height:1.7;color:var(--ns-copy);max-width:64ch}

/* Hero: product experience first, operator present but accountable. */
.ns-hero{padding:calc(74px + clamp(4.5rem,8vw,8rem)) 0 clamp(4.5rem,8vw,7rem);position:relative}
.ns-hero::before{
  content:"";position:absolute;inset:74px 0 auto;height:1px;
  background:linear-gradient(90deg,transparent,var(--ns-line),transparent)
}
.ns-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.ns-hero-copy .ns-kicker{margin-bottom:1.8rem}
.ns-lede{font-size:clamp(1.12rem,1.8vw,1.42rem);line-height:1.6;color:var(--ns-copy);max-width:620px;margin:2rem 0 2.1rem}
.ns-quickstart label,.ns-final-form label{
  display:block;font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ns-faint);font-weight:700;margin-bottom:.55rem
}
.ns-quickstart-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;max-width:680px}
.ns-quickstart input,.ns-final-form input{
  width:100%;border:1px solid var(--ns-line);background:rgba(255,255,255,.42);color:var(--ns-ink);
  min-height:58px;padding:0 1.05rem;font-family:var(--font-body);font-size:.96rem;border-radius:2px
}
.ns-quickstart input::placeholder,.ns-final-form input::placeholder{color:#777268}
.ns-quickstart input:focus,.ns-final-form input:focus{outline:2px solid var(--ns-signal);outline-offset:1px;border-color:transparent}
.ns-button{
  min-height:58px;border:0;border-radius:2px;padding:0 1.35rem;background:var(--ns-ink);color:#fff;
  font-family:var(--font-body);font-weight:650;font-size:.9rem;display:inline-flex;align-items:center;
  justify-content:center;gap:1.1rem;cursor:pointer;transition:background .2s,transform .2s
}
.ns-button:hover{background:var(--ns-signal-dark);transform:translateY(-1px)}
.ns-button span{font-size:1.15em}
.ns-form-note{font-size:.78rem;color:var(--ns-faint);margin:.75rem 0 0}
.ns-loop{display:flex;align-items:center;gap:.85rem;margin:1.35rem 0 0;font-size:.68rem;letter-spacing:.17em;color:var(--ns-faint)}
.ns-loop b{font-weight:700;color:var(--ns-ink)}
.ns-loop span{color:var(--ns-signal-dark)}
.ns-quickstart .form-err,.ns-final-form .form-err{color:#9d332b}

.ns-review-shell{
  position:relative;background:var(--ns-ink);color:#f7f3e9;padding:clamp(1.5rem,3vw,2.35rem);
  border-radius:3px;box-shadow:24px 28px 0 var(--ns-paper-2),0 35px 80px rgba(45,37,18,.18)
}
.ns-review-shell::before{content:"";position:absolute;inset:9px;border:1px solid rgba(201,162,39,.27);pointer-events:none}
.ns-review-topline{display:flex;justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(255,255,255,.14);font-size:.61rem;text-transform:uppercase;letter-spacing:.14em;color:#a8a294}
.ns-review-intro{padding:clamp(1.7rem,3vw,2.6rem) 0 1.8rem}
.ns-review-label{font-size:.67rem;text-transform:uppercase;letter-spacing:.15em;color:#e0c45d;font-weight:700}
.ns-review-intro h2{font-size:clamp(2rem,3.4vw,3.25rem)!important;color:#fff!important;max-width:12ch;margin:.65rem 0 .8rem;letter-spacing:-.025em!important}
.ns-review-intro p{color:#bbb5a7;line-height:1.65;max-width:48ch;font-size:.94rem}
.ns-review-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.13)}
.ns-review-cell{padding:1.25rem;min-height:148px;display:flex;flex-direction:column}
.ns-review-cell+ .ns-review-cell{border-left:1px solid rgba(255,255,255,.13)}
.ns-review-cell>span,.ns-priority>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:#9e998d;font-weight:700}
.ns-review-cell strong{font-family:var(--font-display);font-size:1.45rem;line-height:1.1;font-weight:500;margin:.75rem 0;color:#fff}
.ns-review-cell small{margin-top:auto;font-size:.65rem;color:#aaa497}
.ns-positive{border-top:2px solid #7fa48a}.ns-warning{border-top:2px solid var(--ns-signal)}
.ns-priority{margin-top:1rem;padding:1.35rem;background:#f0e9d8;color:var(--ns-ink)}
.ns-priority>span{color:var(--ns-signal-dark)}
.ns-priority>strong{display:block;font-family:var(--font-display);font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.15;font-weight:600;margin:.55rem 0 1rem}
.ns-priority-meta{display:flex;gap:.45rem;flex-wrap:wrap}
.ns-priority-meta span{font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(17,17,15,.18);padding:.38rem .48rem}
.ns-operator{display:flex;gap:.8rem;align-items:center;padding-top:1.1rem}
.ns-operator img{width:48px;height:48px;object-fit:cover;object-position:center 15%;border-radius:50%;border:1px solid rgba(201,162,39,.5)}
.ns-operator div{display:flex;flex-direction:column;gap:.15rem}.ns-operator strong{font-size:.78rem;color:#f2eee4}.ns-operator span{font-size:.65rem;color:#999388;letter-spacing:.06em}

/* Investigation surface */
.ns-surface{padding:clamp(5rem,9vw,9rem) 0;border-top:1px solid var(--ns-line)}
.ns-signal-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3.4rem;border-top:1px solid var(--ns-line);border-left:1px solid var(--ns-line)}
.ns-signal-grid article{padding:1.7rem;min-height:205px;border-right:1px solid var(--ns-line);border-bottom:1px solid var(--ns-line);background:rgba(255,255,255,.18)}
.ns-signal-grid article>span{font-family:var(--font-display);font-size:1.25rem;color:var(--ns-signal-dark)}
.ns-signal-grid h3{margin:2.3rem 0 .55rem}.ns-signal-grid p{font-size:.88rem;line-height:1.65;color:var(--ns-faint)}

/* Review output */
.ns-product{padding:clamp(5rem,9vw,9rem) 0;background:#dfd6c7}
.ns-product-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.ns-product .ns-section-heading{position:sticky;top:120px}
.ns-text-link{display:inline-flex;gap:.7rem;align-items:center;margin-top:1.1rem;color:var(--ns-ink);font-size:.86rem;font-weight:700;border-bottom:1px solid var(--ns-signal-dark);padding-bottom:.25rem}
.ns-output-list{list-style:none;border-top:1px solid var(--ns-line)}
.ns-output-list li{display:grid;grid-template-columns:45px 1fr;gap:1rem;padding:1.25rem .2rem;border-bottom:1px solid var(--ns-line)}
.ns-output-list li>span{font-family:var(--font-display);font-size:1.05rem;color:var(--ns-faint)}
.ns-output-list strong{display:block;font-size:.98rem;color:var(--ns-ink);margin-bottom:.25rem}.ns-output-list p{font-size:.83rem;color:var(--ns-faint);line-height:1.5}
.ns-output-list li.active{background:var(--ns-ink);margin-inline:-1.2rem;padding-inline:1.2rem;border-bottom-color:transparent}
.ns-output-list li.active span{color:var(--ns-signal)}.ns-output-list li.active strong{color:#fff}.ns-output-list li.active p{color:#b8b2a5}

/* Category difference */
.ns-difference{padding:clamp(5rem,9vw,9rem) 0;background:var(--ns-ink);color:#fff}
.ns-section-heading-light h2{color:#fff!important;max-width:13ch;margin-top:.9rem}.ns-section-heading-light .ns-kicker{color:#d8bd58}
.ns-category-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3.3rem;border:1px solid rgba(255,255,255,.14)}
.ns-category-grid>div{padding:1.5rem;min-height:165px;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;justify-content:space-between}
.ns-category-grid>div:last-child{border-right:0}.ns-category-grid span{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:#8f8b82}.ns-category-grid strong{font-family:var(--font-display);font-size:1.55rem;line-height:1.1;color:#d1ccc0;font-weight:500}
.ns-category-grid .featured{background:var(--ns-signal);grid-column:span 1}.ns-category-grid .featured span{color:#423407}.ns-category-grid .featured strong{color:var(--ns-ink);font-size:1.75rem}
.ns-method{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.3rem;color:#9e998e;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}
.ns-method span:not(:last-child)::after{content:"";display:inline-block;width:1px;height:.8rem;margin-left:clamp(1rem,3vw,3rem);background:#4e4a43;vertical-align:middle}

/* Honest proof and founder */
.ns-proof{padding:clamp(5rem,9vw,9rem) 0;background:var(--ns-paper)}
.ns-proof-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:1.25rem}
.ns-proof-card,.ns-founder-card{border:1px solid var(--ns-line);background:rgba(255,255,255,.24)}
.ns-proof-card{padding:clamp(1.8rem,4vw,3.2rem);display:flex;flex-direction:column;align-items:flex-start}
.ns-proof-card>img{width:min(230px,70%);height:120px;object-fit:contain;object-position:left center;margin:2.4rem 0 2rem;filter:saturate(.85)}
.ns-proof-card h2{font-size:clamp(2.1rem,3.5vw,3.25rem)!important;margin-bottom:1rem}.ns-proof-card>p{font-size:.93rem;line-height:1.7;color:var(--ns-copy)}
.ns-proof-status{display:inline-block;margin-top:auto;padding-top:2rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ns-faint)}
.ns-founder-card{display:grid;grid-template-columns:.8fr 1.2fr;min-height:520px}
.ns-founder-card>img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:saturate(.82) contrast(1.02)}
.ns-founder-card>div{padding:clamp(1.8rem,4vw,3.2rem);align-self:center}.ns-founder-card h2{font-size:clamp(2rem,3.2vw,3.1rem)!important;margin:.9rem 0 1rem}.ns-founder-card p{font-size:.92rem;line-height:1.7;color:var(--ns-copy)}

/* Final CTA */
.ns-final{padding:clamp(5rem,9vw,8rem) 0;background:#d6cbb9;border-top:1px solid var(--ns-line)}
.ns-final-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.ns-final h2{margin:.9rem 0 1rem;max-width:11ch}.ns-final-grid>div>p{color:var(--ns-copy);line-height:1.7;max-width:54ch}
.ns-final-form{background:var(--ns-paper);border:1px solid var(--ns-line);padding:1.5rem}.ns-final-form .ns-button{width:100%;margin-top:.7rem}.ns-final-form>p:last-child{font-size:.7rem;line-height:1.5;color:var(--ns-faint);margin:.8rem 0 0;text-align:center}

@media(max-width:980px){
  .ns-hero-grid{grid-template-columns:1fr;gap:4rem}.home-v2 .ns-home h1{max-width:10ch}
  .ns-review-shell{max-width:720px}.ns-product-grid,.ns-proof-grid,.ns-final-grid{grid-template-columns:1fr}
  .ns-product .ns-section-heading{position:static}.ns-category-grid{grid-template-columns:1fr 1fr}.ns-category-grid>div:nth-child(2){border-right:0}.ns-category-grid>div{border-bottom:1px solid rgba(255,255,255,.14)}
  .ns-final-form{max-width:640px}.ns-founder-card{min-height:460px}
}
@media(max-width:760px){
  .home-v2 .nav-links{background:#090909}.home-v2 .ns-home h1{font-size:clamp(3.25rem,17vw,5rem)}
  .ns-hero{padding-top:calc(74px + 3.3rem)}.ns-hero-grid{gap:3.2rem}.ns-lede{font-size:1.08rem;margin-top:1.4rem}
  .ns-quickstart-row{grid-template-columns:1fr}.ns-button{width:100%}.ns-loop{gap:.48rem;letter-spacing:.11em;flex-wrap:wrap}
  .ns-review-shell{padding:1.25rem;box-shadow:12px 14px 0 var(--ns-paper-2)}.ns-review-topline{font-size:.54rem}.ns-review-topline span:last-child{display:none}
  .ns-review-grid{grid-template-columns:1fr}.ns-review-cell+ .ns-review-cell{border-left:0;border-top:1px solid rgba(255,255,255,.13)}
  .ns-signal-grid{grid-template-columns:1fr 1fr}.ns-signal-grid article{min-height:185px;padding:1.25rem}
  .ns-category-grid{grid-template-columns:1fr}.ns-category-grid>div{border-right:0;min-height:135px}.ns-category-grid .featured{grid-column:auto}
  .ns-method{align-items:flex-start;display:grid;grid-template-columns:1fr 1fr}.ns-method span::after{display:none}
  .ns-founder-card{grid-template-columns:1fr;min-height:0}.ns-founder-card>img{height:380px;object-position:center 18%}
  .home-v2 .footer-top{grid-template-columns:1fr 1fr}.home-v2 .footer-brand{grid-column:1/-1}
}
@media(max-width:480px){
  .ns-signal-grid{grid-template-columns:1fr}.ns-signal-grid article{min-height:0}.ns-review-intro h2{max-width:14ch}
  .ns-output-list li.active{margin-inline:-.6rem;padding-inline:.6rem}.home-v2 .footer-top{grid-template-columns:1fr}
}

/* ================================================================
   CINEMATIC CONVERSION PASS
   Keeps the intelligence architecture, but gives the homepage the
   visual authority, founder presence and depth expected of Sherify.
   ================================================================ */
.home-v2 .site-nav{
  background:linear-gradient(180deg,rgba(5,5,5,.97),rgba(5,5,5,.87));
  backdrop-filter:blur(18px);box-shadow:0 12px 45px rgba(0,0,0,.22)
}
.home-v2 .site-logo img{filter:drop-shadow(0 0 13px rgba(214,176,48,.28))}
.home-v2 .nav-links a{color:#c9c4b8}.home-v2 .nav-links a:hover{color:#fff}
.home-v2 .nav-cta .btn{box-shadow:0 0 28px rgba(201,162,39,.22)}

.ns-hero{
  min-height:1120px;padding:calc(74px + clamp(5rem,10vw,9rem)) 0 5.5rem;
  color:#fff;isolation:isolate;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.9) 29%,rgba(5,5,5,.32) 59%,rgba(5,5,5,.04) 100%),
    linear-gradient(0deg,rgba(5,5,5,.98) 0%,transparent 43%),
    url('/assets/sherify-founder-hero-v2.jpg') center top / auto 880px no-repeat,
    #080808
}
.ns-hero::before{
  inset:74px 0 0;height:auto;z-index:-1;
  background:
    linear-gradient(rgba(201,162,39,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,162,39,.055) 1px,transparent 1px);
  background-size:74px 74px;
  mask-image:linear-gradient(90deg,#000,transparent 72%)
}
.ns-hero::after{
  content:"";position:absolute;z-index:-1;left:-12vw;top:18%;width:46vw;height:46vw;
  border:1px solid rgba(201,162,39,.18);transform:rotate(45deg);
  box-shadow:0 0 90px rgba(201,162,39,.055),inset 0 0 90px rgba(201,162,39,.035)
}
.ns-hero-grid{display:block;position:relative}
.ns-hero-copy{position:relative;z-index:2;max-width:650px}
.ns-hero-copy .ns-kicker{color:#e0bd48;text-shadow:0 0 24px rgba(224,189,72,.25)}
.home-v2 .ns-hero h1{color:#fff;max-width:7.4ch;font-size:clamp(4rem,7.8vw,7.6rem);text-shadow:0 20px 55px rgba(0,0,0,.45)}
.ns-hero .ns-lede{color:#ded9ce;max-width:600px;font-size:clamp(1.12rem,1.65vw,1.38rem)}
.ns-hero .ns-quickstart{max-width:640px;padding:1.15rem 1.15rem 1.55rem;border:1px solid rgba(255,255,255,.16);background:rgba(8,8,8,.54);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.ns-hero .ns-quickstart label{color:#bdb6a8}
.ns-hero .ns-quickstart input{background:rgba(255,255,255,.95);border-color:transparent;color:#151512}
.ns-hero .ns-button{background:linear-gradient(135deg,#e0bd48,#b78b10);color:#090909;box-shadow:0 10px 34px rgba(201,162,39,.2)}
.ns-hero .ns-button:hover{background:#f0d66f;box-shadow:0 14px 42px rgba(201,162,39,.35)}
.home-v2 .ns-hero .ns-form-note{color:#aca69a;margin:.8rem 0 0;line-height:1.45}
.ns-hero .ns-loop b{color:#fff}
.home-v2 .ns-hero .ns-loop{color:#8f8a80;margin:1.1rem 0 0}
.home-v2 .ns-hero .ns-hero-proof{margin-top:1.25rem}
.ns-hero-proof{display:flex;gap:1.6rem;flex-wrap:wrap;color:#b8b1a4;font-size:.69rem;text-transform:uppercase;letter-spacing:.09em}
.ns-hero-proof span{display:flex;align-items:center;gap:.55rem}.ns-hero-proof b{color:#d7b541;font-family:var(--font-display);font-size:.9rem}

/* The Review becomes a command deck suspended inside the cinematic scene. */
.ns-hero .ns-review-shell{
  position:relative;z-index:2;width:100%;margin-top:8rem;padding:1.5rem;
  display:grid;grid-template-columns:.72fr .88fr 1fr;gap:0;
  background:linear-gradient(135deg,rgba(17,17,15,.92),rgba(8,8,8,.78));
  border:1px solid rgba(227,193,72,.28);backdrop-filter:blur(24px);
  box-shadow:0 35px 100px rgba(0,0,0,.48),0 0 80px rgba(201,162,39,.06)
}
.ns-hero .ns-review-shell::after{
  content:"LIVE REVIEW MODEL";position:absolute;right:1.5rem;top:-.72rem;padding:.35rem .62rem;
  background:#d0a726;color:#0b0b09;font-size:.57rem;font-weight:800;letter-spacing:.13em
}
.ns-hero .ns-review-topline{grid-column:1/-1;padding:.2rem .4rem 1.1rem;margin-bottom:0}
.ns-hero .ns-review-intro{padding:1.45rem 1.7rem 1rem;border-right:1px solid rgba(255,255,255,.12)}
.ns-hero .ns-review-intro h2{font-size:clamp(1.75rem,2.55vw,2.7rem)!important;margin-bottom:.6rem}
.ns-hero .ns-review-intro p{font-size:.78rem;line-height:1.55;margin-bottom:0}
.ns-hero .ns-review-grid{grid-template-columns:1fr;border:0;border-right:1px solid rgba(255,255,255,.12)}
.ns-hero .ns-review-cell{min-height:0;padding:1rem 1.35rem}.ns-hero .ns-review-cell+.ns-review-cell{border-left:0;border-top:1px solid rgba(255,255,255,.11)}
.ns-hero .ns-review-cell strong{font-size:1.18rem;margin:.38rem 0}.ns-hero .ns-review-cell small{font-size:.58rem}
.ns-hero .ns-priority{margin:0;padding:1.45rem;background:linear-gradient(145deg,#f3ecd9,#dcd0b3)}
.ns-hero .ns-priority>strong{font-size:clamp(1.3rem,2vw,1.8rem)}
.ns-hero .ns-operator{grid-column:1/-1;padding:1.1rem .4rem 0;border-top:1px solid rgba(255,255,255,.1);margin-top:1rem}
.ns-operator-mark{
  width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid rgba(201,162,39,.46);
  color:#d8b43d;font-family:var(--font-display);font-size:1.3rem;background:rgba(201,162,39,.06)
}

/* More contrast and dimensional signal through the rest of the story. */
.ns-surface{position:relative;background:linear-gradient(180deg,#f2eee5,#e9e1d3)}
.ns-surface::before{content:"01 / INVESTIGATE";position:absolute;right:4vw;top:5rem;color:rgba(17,17,15,.09);font-size:clamp(2.2rem,6vw,6rem);font-weight:800;letter-spacing:-.05em}
.ns-signal-grid article{position:relative;overflow:hidden;transition:transform .3s ease,background .3s ease,box-shadow .3s ease}
.ns-signal-grid article::after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--ns-signal);transition:width .35s ease}
.ns-signal-grid article:hover{z-index:2;transform:translateY(-7px);background:#fff;box-shadow:0 25px 55px rgba(43,35,15,.12)}
.ns-signal-grid article:hover::after{width:100%}
.ns-product{position:relative;background:linear-gradient(120deg,#dfd6c7,#eee7da)}
.ns-output-list li{transition:transform .25s ease,background .25s ease}.ns-output-list li:not(.active):hover{transform:translateX(8px);background:rgba(255,255,255,.32)}
.ns-difference{position:relative;overflow:hidden;background:radial-gradient(circle at 86% 18%,rgba(201,162,39,.16),transparent 26%),#090909}
.ns-difference::before{content:"S";position:absolute;right:-.01em;top:-.25em;color:transparent;-webkit-text-stroke:1px rgba(201,162,39,.12);font-family:var(--font-display);font-size:46rem;line-height:1;transform:rotate(-8deg)}
.ns-category-grid,.ns-method,.ns-difference .ns-section-heading{position:relative;z-index:1}
.ns-category-grid>div{background:rgba(12,12,11,.5);backdrop-filter:blur(8px);transition:transform .28s ease,background .28s ease}
.ns-category-grid>div:hover{transform:translateY(-8px);background:#171714}.ns-category-grid .featured:hover{background:#e0b82f}
.ns-proof{background:linear-gradient(135deg,#f3efe6 0%,#e6ddcd 100%)}
.ns-proof-card,.ns-founder-card{box-shadow:0 28px 65px rgba(45,37,18,.09)}
.ns-founder-card{
  display:flex;min-height:520px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 78% 20%,rgba(201,162,39,.22),transparent 27%),
    linear-gradient(145deg,#11110f,#080808);color:#fff
}
.ns-founder-card::before{
  content:"S";position:absolute;right:-.06em;bottom:-.24em;color:transparent;
  -webkit-text-stroke:1px rgba(201,162,39,.19);font-family:var(--font-display);font-size:34rem;line-height:1;transform:rotate(-8deg)
}
.ns-founder-card>div{position:relative;z-index:1;max-width:620px;margin:auto 0}.ns-founder-card h2{color:#fff!important}
.ns-founder-card p{color:#c2bbae}.ns-founder-card .ns-text-link{color:#fff}
.ns-final{position:relative;overflow:hidden;background:linear-gradient(135deg,#d8ccb7,#bbaa8d)}
.ns-final::after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(17,17,15,.1);right:-190px;bottom:-260px;transform:rotate(45deg)}
.ns-final-grid{position:relative;z-index:1}

@keyframes nsSignalPulse{0%,100%{opacity:.45}50%{opacity:1}}
.ns-review-label{animation:nsSignalPulse 2.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.ns-review-label{animation:none}.ns-signal-grid article,.ns-category-grid>div,.ns-output-list li{transition:none}}

@media(max-width:980px){
  .ns-hero{min-height:auto;background-position:62% top;padding-bottom:4rem}
  .ns-hero::after{display:none}.ns-hero-copy{max-width:580px}
  .ns-hero .ns-review-shell{margin-top:6rem;grid-template-columns:1fr 1fr}
  .ns-hero .ns-review-intro{border-right:1px solid rgba(255,255,255,.12)}
  .ns-hero .ns-review-grid{border-right:0}.ns-hero .ns-priority{grid-column:1/-1}
}
@media(max-width:760px){
  .ns-hero{
    padding-top:calc(74px + 22rem);background:
      linear-gradient(0deg,#070707 0%,rgba(7,7,7,.98) 44%,rgba(7,7,7,.18) 76%),
      url('/assets/sherify-founder-hero-v2.jpg') 69% top / auto 520px no-repeat,
      #070707
  }
  .home-v2 .ns-hero h1{font-size:clamp(3.55rem,17vw,5.2rem);line-height:.89}
  .ns-hero .ns-quickstart{padding:.8rem .8rem 1rem}.ns-hero-proof{gap:.75rem 1.1rem}
  .ns-hero .ns-review-shell{grid-template-columns:1fr;margin-top:4.5rem;padding:1rem}
  .ns-hero .ns-review-intro{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding-inline:.7rem}
  .ns-hero .ns-review-grid{grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(255,255,255,.12)}
  .ns-hero .ns-review-cell+.ns-review-cell{border-top:0;border-left:1px solid rgba(255,255,255,.11)}
  .ns-hero .ns-priority{grid-column:auto}.ns-surface::before{display:none}
  .ns-founder-card{min-height:420px}
}
@media(max-width:480px){
  .ns-hero{padding-top:calc(74px + 19rem);background-size:auto 450px}
  .ns-hero .ns-review-grid{grid-template-columns:1fr}.ns-hero .ns-review-cell+.ns-review-cell{border-left:0;border-top:1px solid rgba(255,255,255,.11)}
  .ns-hero-proof span{width:100%}
}

/* ================================================================
   FULL-SITE SHERIFY SYSTEM
   The inner pages retain their original content and functionality,
   but now share the visual authority of the new homepage.
   ================================================================ */
.eyebrow::before,.ns-kicker::before{
  width:6px;height:6px;flex:0 0 6px;background:var(--gold);transform:rotate(45deg);opacity:.9
}
.inner-v2{
  background:
    radial-gradient(circle at 84% 4%,rgba(201,162,39,.08),transparent 24rem),
    var(--black)
}
.inner-v2 .site-nav{
  background:linear-gradient(180deg,rgba(5,5,5,.97),rgba(5,5,5,.88));
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.065);box-shadow:0 12px 45px rgba(0,0,0,.2)
}
.inner-v2 .brand .official-logo{filter:drop-shadow(0 0 13px rgba(214,176,48,.26))}
.inner-v2 .nav-links a{color:#bbb5aa}.inner-v2 .nav-links a:hover,.inner-v2 .nav-links a.active{color:#fff}
.inner-v2 .nav-cta .btn{box-shadow:0 0 28px rgba(201,162,39,.2)}

.inner-v2 .page-hero{
  min-height:clamp(470px,62vh,680px);display:flex;align-items:flex-end;overflow:hidden;
  padding:calc(74px + clamp(5rem,10vw,9rem)) 0 clamp(4.5rem,8vw,7rem);
  background:
    linear-gradient(rgba(201,162,39,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,162,39,.045) 1px,transparent 1px),
    radial-gradient(circle at 82% 30%,rgba(201,162,39,.16),transparent 25rem),
    linear-gradient(135deg,#090909,#13120f 64%,#090909);
  background-size:76px 76px,76px 76px,auto,auto;
  border-bottom:1px solid rgba(201,162,39,.18)
}
.inner-v2 .page-hero::before{
  content:"";position:absolute;width:min(46vw,620px);aspect-ratio:1;right:-10vw;top:8%;
  border:1px solid rgba(201,162,39,.17);transform:rotate(45deg);
  box-shadow:0 0 100px rgba(201,162,39,.04),inset 0 0 100px rgba(201,162,39,.025)
}
.inner-v2 .page-hero::after{
  content:"SHERIFY";position:absolute;right:clamp(1rem,5vw,5rem);bottom:-.22em;
  font-family:var(--font-display);font-size:clamp(7rem,18vw,17rem);font-weight:600;
  line-height:.7;letter-spacing:-.055em;color:transparent;-webkit-text-stroke:1px rgba(201,162,39,.09);
  pointer-events:none
}
.inner-v2 .page-hero>.container{position:relative;z-index:2;width:100%}
.inner-v2 .page-hero h1{
  font-size:clamp(3.7rem,7.2vw,7.2rem)!important;line-height:.89;max-width:10ch;
  margin:1.1rem 0 1.35rem;color:#fff;text-shadow:0 20px 50px rgba(0,0,0,.42)
}
.inner-v2 .page-hero .lede{font-size:clamp(1.08rem,1.55vw,1.3rem);line-height:1.7;color:#cbc5b9;max-width:62ch}
.inner-v2 .page-hero .eyebrow{color:#dfbd4d}

/* Core sales pages pair the promise with real visual evidence instead of
   repeating a decorative wordmark across a wall of copy. */
.inner-v2 .page-hero:has(.inner-hero-grid){
  min-height:clamp(620px,78vh,820px);align-items:center;
  padding:calc(74px + clamp(4.2rem,7vw,6.5rem)) 0 clamp(4.2rem,7vw,6.5rem)
}
.inner-v2 .page-hero:has(.inner-hero-grid)::after{display:none}
.inner-hero-grid{
  display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  gap:clamp(2.5rem,6vw,6.5rem);align-items:center
}
.inner-hero-copy{position:relative;z-index:2}
.inner-v2 .inner-hero-grid h1{
  font-size:clamp(3.65rem,6.2vw,6.4rem)!important;max-width:8.5ch
}
.inner-hero-media{
  position:relative;margin:0;min-height:clamp(360px,42vw,540px);overflow:hidden;
  border:1px solid rgba(224,189,72,.3);background:#0b0b0a;
  box-shadow:28px 32px 0 rgba(201,162,39,.07),0 38px 95px rgba(0,0,0,.5)
}
.inner-hero-media::before{
  content:"";position:absolute;z-index:2;inset:10px;border:1px solid rgba(231,204,105,.23);
  pointer-events:none
}
.inner-hero-media::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent 54%,rgba(5,5,5,.86) 100%)
}
.inner-hero-media img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.84) contrast(1.08);transition:transform .8s var(--ease)
}
.inner-hero-media:hover img{transform:scale(1.025)}
.inner-hero-media figcaption{
  position:absolute;z-index:3;left:1.7rem;right:1.7rem;bottom:1.45rem;
  display:flex;align-items:center;gap:.85rem;color:#e4dfd4;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.115em;line-height:1.45
}
.inner-hero-media figcaption span{color:#dfbd4d;font-family:var(--font-display);font-size:1rem}
.inner-hero-portrait img{object-position:center 22%}
.inner-hero-portrait{max-width:510px;width:100%;justify-self:end;min-height:0;aspect-ratio:2/3}

/* Hospitality already has a real image. Treat it as the specialist page. */
.inner-v2 .page-hero .about-grid{position:relative;z-index:2}
.inner-v2 .page-hero .about-photo{
  box-shadow:26px 30px 0 rgba(201,162,39,.09),0 35px 90px rgba(0,0,0,.48)
}
.inner-v2 .page-hero .about-photo img{
  filter:saturate(.83) contrast(1.08);border-radius:2px;object-position:72% center
}
.inner-v2 .page-hero .about-photo .frame{inset:10px;border-radius:0;opacity:.65}
.inner-v2 .page-hero:has(.about-grid){min-height:auto;align-items:center;padding:calc(74px + 4.5rem) 0 4.5rem}
.inner-v2 .page-hero:has(.about-grid)::after{display:none}
.inner-v2 .page-hero:has(.about-grid) h1{font-size:clamp(3.3rem,4.6vw,4.9rem)!important;max-width:13ch}
.inner-v2 .page-hero:has(.about-grid) .lede{font-size:clamp(1rem,1.2vw,1.16rem)}

.inner-v2 main>.pad,.inner-v2>.pad{border-top:1px solid rgba(255,255,255,.035)}
.inner-v2 .pad{overflow:hidden}
.inner-v2 .section-head h2{font-size:clamp(2.45rem,4.6vw,4.6rem);line-height:.98;letter-spacing:-.028em}
.inner-v2 .section-head>p{line-height:1.72}
.inner-v2 .section-head.center{max-width:880px}
.inner-v2 .section-head.center h2{max-width:15ch;margin-inline:auto}

.inner-v2 .process-grid,.inner-v2 .help-grid,.inner-v2 .ind-grid{gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.inner-v2 .process-step,.inner-v2 .help-card,.inner-v2 .ind-card{
  border:0;border-radius:0;background:linear-gradient(145deg,#181714,#10100e);
  box-shadow:none;transition:transform .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)
}
.inner-v2 .process-step:hover,.inner-v2 .help-card:hover,.inner-v2 .ind-card:hover{
  z-index:2;transform:translateY(-7px);background:#1d1b17;box-shadow:0 28px 65px rgba(0,0,0,.4)
}
.inner-v2 .process-step::after,.inner-v2 .ind-card::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold);transition:width .35s var(--ease)
}
.inner-v2 .process-step:hover::after,.inner-v2 .ind-card:hover::after{width:100%}
.inner-v2 .process-step .step-n,.inner-v2 .help-card .idx{color:#d6b33c;text-shadow:0 0 24px rgba(201,162,39,.18)}

.inner-v2 .honest{
  position:relative;background:
    radial-gradient(circle at 88% 20%,rgba(201,162,39,.12),transparent 18rem),
    linear-gradient(145deg,#171612,#0d0d0c);
  border:1px solid rgba(201,162,39,.19);border-radius:2px;
  box-shadow:0 28px 70px rgba(0,0,0,.3)
}
.inner-v2 .honest::before{
  content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(var(--gold),transparent)
}
.inner-v2 .review-wrap,.inner-v2 .assess-form{
  border-color:rgba(201,162,39,.22);border-radius:2px;
  background:linear-gradient(145deg,#181714,#0e0e0d);
  box-shadow:0 35px 90px rgba(0,0,0,.38)
}
.inner-v2 .review-wrap input,.inner-v2 .review-wrap textarea,.inner-v2 .review-wrap select,
.inner-v2 .assess-form input,.inner-v2 .assess-form textarea,.inner-v2 .assess-form select{
  border-radius:2px;background:#0b0b0a
}
.inner-v2 .brand-card,.inner-v2 .brand-feature{border-radius:2px}
.inner-v2 .results-note{border-radius:2px}
.inner-v2 .legal-wrap{position:relative;z-index:1}
.inner-v2 .legal-wrap h2{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.35rem);color:#e0c35d}
.inner-v2 .legal-wrap p,.inner-v2 .legal-wrap li{color:#bbb6ab}
.inner-v2 .site-footer{border-top:1px solid rgba(201,162,39,.12);background:#060606}

@media(max-width:820px){
  .inner-v2 .page-hero{min-height:500px;padding-top:calc(74px + 4rem)}
  .inner-v2 .page-hero::before{right:-40vw;width:90vw}.inner-v2 .page-hero::after{font-size:30vw}
  .inner-v2 .page-hero h1{font-size:clamp(3.45rem,14vw,5.7rem)!important}
  .inner-v2 .page-hero:has(.about-grid){padding-bottom:4.5rem}
  .inner-v2 .page-hero:has(.inner-hero-grid){min-height:0;padding:calc(74px + 3.5rem) 0 4rem}
  .inner-hero-grid{grid-template-columns:1fr;gap:2.7rem}
  .inner-v2 .inner-hero-grid h1{max-width:10ch}
  .inner-hero-media{min-height:clamp(330px,68vw,500px);box-shadow:14px 16px 0 rgba(201,162,39,.07),0 30px 70px rgba(0,0,0,.45)}
  .inner-hero-portrait{min-height:0;max-width:420px;justify-self:center;aspect-ratio:2/3}
}
@media(max-width:1050px){
  .home-v2 .menu-toggle,.inner-v2 .menu-toggle{display:flex}
  .home-v2 .nav-links,.inner-v2 .nav-links{
    position:fixed;top:74px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;
    background:rgba(7,7,7,.98);backdrop-filter:blur(18px);border-bottom:1px solid var(--line-soft);
    padding:1rem 1.5rem 1.5rem;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.3s
  }
  .home-v2 .nav-links.open,.inner-v2 .nav-links.open{transform:none;opacity:1;pointer-events:auto}
  .home-v2 .nav-links a,.inner-v2 .nav-links a{width:100%;padding:.9rem 0;border-bottom:1px solid var(--line-soft);font-size:var(--text-base)}
  .home-v2 .nav-links a.mobile-only,.inner-v2 .nav-links a.mobile-only{display:block;color:var(--gold);font-weight:600}
  .home-v2 .nav-cta .btn.desktop-only,.inner-v2 .nav-cta .btn.desktop-only{display:none}
}
@media(max-width:760px){
  .inner-v2 .nav-links{background:#080808}
  .inner-v2 .process-grid,.inner-v2 .help-grid,.inner-v2 .ind-grid{gap:1px}
  .inner-v2 .section-head h2{font-size:clamp(2.35rem,11vw,3.5rem)}
  .brand .brand-name{font-size:1.05rem;letter-spacing:.13em}
  .brand .official-logo{width:44px;height:44px}
  .inner-hero-media figcaption{left:1.25rem;right:1.25rem;bottom:1.15rem;font-size:.64rem}
}
@media(prefers-reduced-motion:reduce){
  .inner-v2 .process-step,.inner-v2 .help-card,.inner-v2 .ind-card{transition:none}
}
