/* ============================ TOKENS ============================ */
  :root{
    --ink:#1b1a16;
    --ink-2:#131210;          /* footer / deepest */
    --ink-panel:#26241d;      /* lifted panel on ink */
    --paper:#ece6d8;          /* warm stone */
    --paper-2:#f4efe5;        /* lighter card on paper */

    --paper-on-ink:#ece6d8;
    --muted-on-ink:rgba(236,230,216,.74);
    --ink-on-paper:#1b1a16;
    --muted-on-paper:rgba(27,26,22,.66);

    --amber:#ffc233;
    --amber-2:#e9a200;        /* darker amber: borders / hover */
    --go:#0e8a44;             /* deep WhatsApp green */
    --go-2:#0b7539;

    --line-paper:rgba(27,26,22,.16);
    --line-ink:rgba(236,230,216,.16);

    --radius:14px;
    --radius-sm:9px;
    --radius-lg:22px;

    --shadow-sm:0 1px 2px rgba(20,18,14,.10), 0 2px 6px rgba(20,18,14,.06);
    --shadow-md:0 10px 28px rgba(20,18,14,.16);
    --shadow-amber:0 8px 0 var(--amber-2);

    --container:64rem;
    --measure:52rem;
    --gutter:clamp(1.25rem, 5vw, 2.5rem);
    --pad-section:clamp(3.5rem, 8vw, 6.5rem);

    --font-display:"Bricolage Grotesque", system-ui, sans-serif;
    --font-body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  }

  /* ============================ RESET ============================ */
  *,*::before,*::after{ box-sizing:border-box; }
  html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
  body{
    margin:0;
    font-family:var(--font-body);
    font-size:1.0625rem;
    line-height:1.62;
    color:var(--ink-on-paper);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; }
  h1,h2,h3,p,ul{ margin:0; }
  ul{ list-style:none; padding:0; }
  :focus-visible{
    outline:3px solid var(--amber);
    outline-offset:3px;
    border-radius:4px;
  }
  .site-header :focus-visible,
  .hero :focus-visible,
  .s--ink :focus-visible,
  .site-footer :focus-visible,
  .mobile-bar :focus-visible{
    outline-color:var(--amber);
  }

  /* ============================ HELPERS ============================ */
  .container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
  .measure{ max-width:var(--measure); }
  .eyebrow{
    font-family:var(--font-mono);
    font-size:.74rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:500;
    display:inline-flex;
    align-items:center;
    gap:.6em;
    color:var(--muted-on-paper);
  }
  .eyebrow::before{
    content:"";
    width:1.6em; height:0;
    border-top:2px solid var(--amber-2);
  }
  .s--ink .eyebrow{ color:var(--muted-on-ink); }
  .s--ink .eyebrow::before{ border-top-color:var(--amber); }

  .u-amber{ color:var(--amber); }
  .skip-link{
    position:absolute; left:50%; top:.5rem; transform:translateX(-50%) translateY(-160%);
    background:var(--ink); color:var(--paper);
    padding:.7rem 1.1rem; border-radius:8px; z-index:100;
    font-weight:600; text-decoration:none; transition:transform .15s ease;
  }
  .skip-link:focus{ transform:translateX(-50%) translateY(0); }

  /* ============================ TYPE ============================ */
  .h1,.h2,.h3{ font-family:var(--font-display); font-weight:800; line-height:1.02; letter-spacing:-.02em; }
  .h2{ font-size:clamp(1.95rem, 1.35rem + 2.7vw, 3.1rem); line-height:1.04; letter-spacing:-.022em; }
  .h3{ font-size:clamp(1.2rem, 1.02rem + .9vw, 1.5rem); font-weight:700; line-height:1.12; letter-spacing:-.01em; }
  .lead{ font-size:clamp(1.1rem, 1rem + .55vw, 1.32rem); line-height:1.5; color:var(--muted-on-paper); }
  .s--ink .lead{ color:var(--muted-on-ink); }
  .section-head{ margin-bottom:clamp(1.8rem, 1rem + 3vw, 3rem); }
  .section-head .h2{ margin-top:.7rem; }
  .section-head .lead{ margin-top:1rem; }

  /* ============================ SECTIONS ============================ */
  .section{ padding-block:var(--pad-section); position:relative; }
  .section[id]{ scroll-margin-top:84px; }
  .s--ink{ background:var(--ink); color:var(--paper-on-ink); }
  .s--ink .h1,.s--ink .h2,.s--ink .h3{ color:var(--paper-on-ink); }
  .s--paper{ background:var(--paper); }
  .rule-top{ border-top:1px solid var(--line-paper); }
  .s--ink.rule-top{ border-top-color:var(--line-ink); }

  /* ============================ BUTTONS ============================ */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:.55em;
    font-family:var(--font-body); font-weight:600; font-size:1.02rem;
    line-height:1; text-decoration:none; cursor:pointer; border:0;
    padding:1rem 1.45rem; border-radius:var(--radius);
    min-height:54px;
    transition:transform .12s ease, background-color .15s ease, box-shadow .15s ease, color .15s ease;
  }
  .btn .ic{ width:1.3em; height:1.3em; flex:none; }
  .btn--wa{ background:var(--go); color:#fff; box-shadow:var(--shadow-sm); }
  .btn--wa:hover{ background:var(--go-2); }
  .btn--call{ background:transparent; color:var(--ink-on-paper); border:2px solid var(--line-paper); }
  .btn--call:hover{ border-color:var(--ink-on-paper); }
  .s--ink .btn--call{ color:var(--paper-on-ink); border-color:rgba(236,230,216,.45); }
  .s--ink .btn--call:hover{ border-color:var(--paper-on-ink); background:rgba(236,230,216,.06); }
  .btn--amber{ background:var(--amber); color:var(--ink); }
  .btn--amber:hover{ background:#ffce5c; }
  .btn:active{ transform:translateY(1px); }
  .btn-row{ display:flex; flex-wrap:wrap; gap:.75rem; }

  /* ============================ HEADER ============================ */
  .site-header{
    position:sticky; top:0; z-index:40;
    background:rgba(27,26,22,.96);
    color:var(--paper-on-ink);
    border-bottom:1px solid transparent;
  }
  @supports (backdrop-filter:blur(6px)){
    .site-header{ background:rgba(27,26,22,.82); backdrop-filter:blur(10px); }
  }
  .site-header.is-scrolled{ border-bottom-color:var(--line-ink); }
  .header-inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:62px; }
  .brand{ display:inline-flex; align-items:center; gap:.55rem; min-width:0; text-decoration:none; color:var(--paper-on-ink); font-family:var(--font-display); font-weight:800; letter-spacing:-.02em; font-size:clamp(.95rem, .9rem + .4vw, 1.04rem); }
  .brand span:not(.mark){ white-space:nowrap; }
  .brand .mark{ width:30px; height:30px; border-radius:8px; background:var(--amber); color:var(--ink); display:grid; place-items:center; font-size:.82rem; font-weight:800; flex:none; }
  .brand .mark svg{ width:68%; height:68%; display:block; }
  .nav{ display:none; }
  .header-cta{ display:inline-flex; align-items:center; gap:.5rem; }
  .header-wa{
    display:inline-flex; align-items:center; justify-content:center; gap:0;
    background:var(--go); color:#fff; text-decoration:none; font-weight:600;
    padding:.5rem; border-radius:10px; font-size:.95rem; min-height:42px; min-width:42px; flex:none;
  }
  .header-wa .wa-label{ display:none; }
  .header-wa .ic{ width:1.15em; height:1.15em; }
  .header-wa:hover{ background:var(--go-2); }

  @media (min-width:600px){
    .header-wa{ gap:.45rem; padding:.6rem .85rem; min-width:0; }
    .header-wa .wa-label{ display:inline; }
  }

  @media (min-width:880px){
    .nav{ display:flex; gap:1.15rem; margin-left:auto; margin-right:1.2rem; }
    .nav a{ text-decoration:none; color:var(--muted-on-ink); font-size:.95rem; font-weight:500; padding:.35rem 0; border-bottom:2px solid transparent; transition:color .15s, border-color .15s; }
    .nav a:hover{ color:var(--paper-on-ink); border-bottom-color:var(--amber); }
  }

  /* ============================ HERO ============================ */
  .hero{ background:var(--ink); color:var(--paper-on-ink); padding-top:clamp(2.6rem,6vw,4.5rem); padding-bottom:clamp(3rem,7vw,5.5rem); overflow:hidden; }
  .hero__title{
    font-family:var(--font-display); font-weight:800;
    font-size:clamp(2.3rem, 1.5rem + 4.4vw, 4rem);
    line-height:1.02; letter-spacing:-.025em; color:var(--paper-on-ink);
    margin-top:1.1rem;
  }
  .hero__title .line{ display:block; }
  .hero__title .line--sub{ font-size:.5em; font-weight:700; letter-spacing:-.01em; line-height:1.15; }
  .hero__title .line:nth-child(2){ margin-top:1.2rem; }
  .hero__title .line:nth-child(3){ margin-top:.35rem; }
  .price-stamp{
    display:inline-block;
    background:var(--amber); color:var(--ink);
    padding:.04em .26em .1em; border-radius:12px;
    transform:rotate(-2.2deg);
    box-shadow:6px 6px 0 rgba(0,0,0,.22);
    margin:.06em 0;
  }
  .hero__sub{ margin-top:1.4rem; font-size:clamp(1.1rem,1rem + .6vw,1.4rem); line-height:1.5; color:var(--muted-on-ink); max-width:34ch; }
  .hero .btn-row{ margin-top:1.9rem; }
  .hero__trust{
    margin-top:1.5rem; display:flex; flex-wrap:wrap; gap:.5rem 1.1rem;
    font-family:var(--font-mono); font-size:.8rem; letter-spacing:.04em; text-transform:uppercase;
    color:var(--muted-on-ink);
  }
  .hero__trust span{ display:inline-flex; align-items:center; gap:.5rem; }
  .hero__trust span::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--amber); flex:none; }

  /* signature: compact day-ticket in hero */
  .ticket{
    margin-top:2.4rem;
    background:var(--paper-2); color:var(--ink);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-md);
    position:relative;
    overflow:hidden;
  }
  .ticket__head{
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    padding:.85rem 1.2rem;
    font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--muted-on-paper);
    border-bottom:2px dashed var(--line-paper);
  }
  .ticket__head .tag{ color:var(--ink); font-weight:500; }
  .ticket__rows{ display:grid; }
  .ticket__row{ display:flex; align-items:center; gap:1rem; padding:1.05rem 1.2rem; position:relative; }
  .ticket__row + .ticket__row{ border-top:2px dashed var(--line-paper); }
  .ticket__num{
    flex:none; width:2.4rem; height:2.4rem; border-radius:10px;
    background:var(--amber); color:var(--ink);
    display:grid; place-items:center;
    font-family:var(--font-mono); font-weight:500; font-size:.95rem;
  }
  .ticket__row .day{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-on-paper); }
  .ticket__row .what{ font-family:var(--font-display); font-weight:700; font-size:1.08rem; letter-spacing:-.01em; }

  @media (min-width:880px){
    .hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
    .hero__sub{ max-width:38ch; }
    .ticket{ margin-top:0; }
  }

  /* ============================ PROCESS ============================ */
  .steps{ display:grid; gap:1rem; }
  .step{
    background:var(--paper-2);
    border:1px solid var(--line-paper);
    border-radius:var(--radius);
    padding:1.5rem 1.4rem;
    position:relative;
    display:grid; gap:.4rem;
  }
  .step__day{
    display:inline-flex; align-items:center; gap:.6rem;
    font-family:var(--font-mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--muted-on-paper);
  }
  .step__chip{
    width:2.7rem; height:2.7rem; border-radius:11px; flex:none;
    background:var(--ink); color:var(--amber);
    display:grid; place-items:center;
    font-family:var(--font-mono); font-weight:500; font-size:1.05rem;
    margin-bottom:.5rem;
  }
  .step .h3{ margin-bottom:.15rem; }
  .step p{ color:var(--muted-on-paper); }
  @media (min-width:760px){ .steps{ grid-template-columns:repeat(3,1fr); } }

  /* ============================ INCLUDES ============================ */
  .includes-grid{ display:grid; gap:clamp(1.8rem,4vw,3rem); }
  .check-list{ display:grid; gap:.95rem; }
  .check-list li{ position:relative; padding-left:2.7rem; line-height:1.4; }
  .check-list li::before{
    content:"✓";
    position:absolute; left:0; top:-.05em;
    width:1.85rem; height:1.85rem; border-radius:8px;
    background:var(--amber); color:var(--ink);
    display:grid; place-items:center;
    font-weight:700; font-size:1rem;
  }
  .check-list b{ font-weight:600; }
  @media (min-width:880px){
    .includes-grid{ grid-template-columns:1.1fr .9fr; align-items:start; }
  }

  /* ============================ RECEIPT ============================ */
  .receipt-wrap{ display:flex; justify-content:center; align-items:flex-start; }
  .receipt{
    --r-rule:rgba(27,26,22,.24);
    position:relative;
    width:100%; max-width:23rem;
    background:var(--paper-2); color:var(--ink);
    font-family:"Courier Prime", var(--font-mono);
    padding:1.7rem 1.5rem;
    border-radius:3px;
    transform:rotate(-1.3deg);
    box-shadow:0 18px 38px rgba(20,18,14,.36), 0 4px 10px rgba(20,18,14,.2);
  }
  .receipt::before,
  .receipt::after{
    content:""; position:absolute; left:0; right:0; height:9px;
    background-image:radial-gradient(circle at 6px 0, transparent 5px, var(--paper-2) 5.5px);
    background-size:12px 9px;
  }
  .receipt::before{ top:-9px; transform:rotate(180deg); }
  .receipt::after{ bottom:-9px; }
  .receipt__mark{ width:40px; height:40px; display:block; margin:0 auto .6rem; }
  .receipt__name{ text-align:center; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.95rem; }
  .receipt__sub{ text-align:center; font-size:.72rem; letter-spacing:.06em; color:var(--muted-on-paper); margin-top:.25rem; margin-bottom:1.05rem; }
  .r-line{ display:flex; justify-content:space-between; gap:1rem; font-size:.82rem; padding:.42rem 0; border-bottom:1px dashed var(--r-rule); }
  .r-line span:first-child{ color:rgba(27,26,22,.85); }
  .r-line span:last-child{ font-weight:700; white-space:nowrap; }
  .r-line.is-was{ border-bottom:0; padding-top:.7rem; color:var(--muted-on-paper); }
  .r-line.is-was span:last-child{ font-weight:400; text-decoration:line-through; }
  .r-total{ display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:.1rem; padding-top:.7rem; border-top:2px solid var(--ink); font-weight:700; font-size:1rem; }
  .r-total .amt{ font-size:1.7rem; letter-spacing:.01em; }
  .r-stamp{
    position:absolute; right:1rem; bottom:2.5rem;
    background:var(--amber); color:var(--ink);
    font-size:.64rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
    padding:.38rem .6rem; border:1px dashed rgba(27,26,22,.5);
    transform:rotate(-8deg); border-radius:3px;
    box-shadow:0 2px 5px rgba(20,18,14,.22);
  }
  .r-foot{ text-align:center; font-size:.66rem; line-height:1.55; color:var(--muted-on-paper); margin-top:1.3rem; }
  @media (prefers-reduced-motion: reduce){ .receipt{ transform:none; } }

  /* ============================ WORK ============================ */
  .work-grid{ display:grid; gap:1.3rem; }
  .work-card{ background:var(--paper-2); border:1px solid var(--line-paper); border-radius:var(--radius); overflow:hidden; }
  .shot{
    aspect-ratio:16/10; position:relative;
    background:
      repeating-linear-gradient(135deg, rgba(27,26,22,.05) 0 12px, rgba(27,26,22,.025) 12px 24px),
      var(--paper);
    display:grid; place-items:center; text-align:center;
    border-bottom:1px solid var(--line-paper);
    overflow:hidden;
  }
  .shot__hint{ font-family:var(--font-mono); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-on-paper); }
  .wip{
    position:absolute; top:.85rem; right:-2.4rem;
    transform:rotate(8deg);
    background:var(--amber); color:var(--ink);
    font-family:var(--font-mono); font-size:.66rem; font-weight:500;
    letter-spacing:.12em; text-transform:uppercase;
    padding:.4rem 2.6rem; border:1px dashed rgba(27,26,22,.4);
    box-shadow:0 2px 5px rgba(20,18,14,.18);
  }
  .work-card__body{ padding:1.15rem 1.25rem 1.4rem; }
  .work-card__body .h3{ font-size:1.18rem; }
  .work-card .where{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-on-paper); display:block; margin-bottom:.45rem; }
  .work-card p{ color:var(--muted-on-paper); margin-top:.2rem; font-size:.97rem; }
  @media (min-width:720px){ .work-grid{ grid-template-columns:repeat(3,1fr); } }



  /* ============================ CLIENT LAUNCH SHOWCASE ============================ */
  .work-section{ background:var(--paper); overflow:hidden; }
  .work-section .container{ max-width:76rem; }
  .launch-showcase{ display:grid; gap:1.15rem; }
  .launch-hero-card{
    display:grid; gap:0; background:var(--ink); color:var(--paper-on-ink);
    border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md);
    border:1px solid rgba(27,26,22,.22);
  }
  .launch-copy{ padding:clamp(1.45rem,4vw,2.8rem); display:flex; flex-direction:column; justify-content:center; }
  .launch-kicker{
    display:inline-flex; align-items:center; width:max-content; gap:.45rem;
    background:var(--amber); color:var(--ink); border-radius:999px;
    padding:.36rem .72rem; font-family:var(--font-mono); font-size:.68rem;
    letter-spacing:.11em; text-transform:uppercase; font-weight:500; margin-bottom:1rem;
  }
  .launch-copy .h3{ font-size:clamp(1.85rem,1.25rem + 2.7vw,3.45rem); line-height:.98; letter-spacing:-.03em; max-width:10ch; }
  .launch-copy .h3 span{ color:var(--amber); }
  .launch-copy p{ color:var(--muted-on-ink); max-width:39rem; margin-top:1rem; font-size:clamp(1rem,.95rem + .25vw,1.08rem); }
  .launch-meta{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1.25rem; }
  .launch-pill{
    display:inline-flex; align-items:center; border:1px solid rgba(236,230,216,.18);
    border-radius:999px; padding:.32rem .7rem; font-family:var(--font-mono);
    font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
    color:var(--muted-on-ink); background:rgba(236,230,216,.06);
  }
  .launch-actions{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.4rem; }
  .launch-actions .btn{ min-width:11.5rem; }
  .launch-shot{
    padding:clamp(1rem,3vw,2rem);
    background:radial-gradient(circle at 85% 15%, rgba(255,194,51,.18), transparent 30%), linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,0));
    display:flex; align-items:center; justify-content:center; min-width:0;
  }
  .launch-shot-frame{
    width:100%; max-width:44rem; border-radius:18px; overflow:hidden; background:#111;
    border:1px solid rgba(236,230,216,.16); box-shadow:0 24px 60px rgba(0,0,0,.36);
    transform:rotate(1deg);
  }
  .launch-shot-frame img{ display:block; width:100%; height:auto; }
  .launch-proof-grid{ display:grid; gap:1rem; margin-top:1rem; }
  .launch-panel{ background:var(--paper-2); border:1px solid var(--line-paper); border-radius:var(--radius); padding:clamp(1.15rem,3vw,1.45rem); }
  .launch-panel h3{ margin-bottom:.55rem; }
  .launch-panel p,.launch-panel li{ color:var(--muted-on-paper); font-size:.98rem; }
  .launch-list{ display:grid; gap:.48rem; margin-top:.75rem; }
  .launch-list li{ position:relative; padding-left:1.55rem; line-height:1.45; }
  .launch-list li::before{ content:"✓"; position:absolute; left:0; top:0; color:var(--amber-2); font-weight:800; }
  .launch-quote{ margin-top:.85rem; padding:1rem; border-left:4px solid var(--amber); background:rgba(255,194,51,.16); border-radius:0 var(--radius-sm) var(--radius-sm) 0; }
  .launch-quote p{ color:var(--ink-on-paper); font-size:.98rem; line-height:1.5; }
  .launch-quote cite{ display:block; margin-top:.55rem; font-style:normal; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-on-paper); }
  .launch-services{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.9rem; }
  .launch-services span{ border:1px solid var(--line-paper); border-radius:999px; padding:.35rem .65rem; font-size:.84rem; color:var(--muted-on-paper); background:rgba(27,26,22,.03); }
  .launch-bottom-cta{ margin-top:1rem; display:grid; gap:1rem; align-items:center; background:var(--paper-2); border:1px solid var(--line-paper); border-radius:var(--radius-lg); padding:clamp(1.3rem,3vw,1.75rem); }
  .launch-bottom-cta p{ color:var(--muted-on-paper); max-width:64ch; }
  .launch-bottom-cta .launch-actions{ margin-top:0; }
  .launch-care-note{ margin-top:.85rem; font-size:.94rem; color:var(--muted-on-paper); }
  @media (min-width:900px){
    .launch-hero-card{ grid-template-columns:minmax(20rem,.82fr) minmax(0,1.18fr); align-items:stretch; }
    .launch-shot{ min-height:31rem; }
    .launch-proof-grid{ grid-template-columns:1.05fr 1fr 1fr; align-items:stretch; }
    .launch-bottom-cta{ grid-template-columns:1fr auto; }
  }
  @media (min-width:1120px){ .launch-shot-frame{ transform:rotate(1deg) translateX(.75rem); } }
  @media (max-width:560px){
    .launch-actions .btn{ width:100%; }
    .launch-copy .h3{ max-width:11ch; }
    .launch-shot{ padding:1rem; }
    .launch-shot-frame{ transform:none; border-radius:14px; }
  }

  /* ============================ ABOUT ============================ */
  .about{ display:grid; gap:clamp(1.5rem,4vw,2.6rem); align-items:start; }
  .about__photo{
    width:min(52vw, 196px); height:auto; aspect-ratio:1; object-fit:cover;
    border-radius:20px; flex:none;
    transform:rotate(-2deg);
    box-shadow:7px 7px 0 var(--amber);
  }
  .about__body p + p{ margin-top:1.05rem; }
  .about__body p{ color:var(--muted-on-ink); font-size:clamp(1.05rem,1rem + .4vw,1.18rem); }
  .about__body b{ color:var(--paper-on-ink); font-weight:600; }
  @media (min-width:760px){ .about{ grid-template-columns:auto 1fr; gap:2.4rem; } }

  /* ============================ CARE PLAN ============================ */
  .care{
    border:2px dashed var(--amber-2);
    border-radius:var(--radius-lg);
    background:var(--paper-2);
    padding:clamp(1.6rem,4vw,2.6rem);
    position:relative;
  }
  .care__flag{
    position:absolute; top:-.85rem; left:1.6rem;
    background:var(--ink); color:var(--paper);
    font-family:var(--font-mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
    padding:.35rem .8rem; border-radius:999px;
  }
  .care__top{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.4rem 1rem; }
  .care__price{ font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,1.5rem + 2.4vw,2.8rem); letter-spacing:-.03em; line-height:1; }
  .care__per{ font-family:var(--font-mono); font-size:.82rem; letter-spacing:.06em; color:var(--muted-on-paper); }
  .care__lead{ margin-top:.65rem; color:var(--muted-on-paper); }
  .care .check-list{ margin-top:1.4rem; }
  .care .check-list li::before{ background:var(--ink); color:var(--amber); }
  .care__gift{
    margin-top:1.5rem; padding:1.05rem 1.15rem;
    border-radius:var(--radius);
    background:rgba(255,194,51,.16);
    border:1px solid rgba(233,162,0,.45);
  }
  .care__gift-tag{
    display:inline-block; margin-bottom:.55rem;
    font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em;
    text-transform:uppercase; color:var(--ink);
    background:var(--amber); padding:.25rem .6rem; border-radius:999px;
  }
  .care__gift p{ margin:0; color:var(--ink-on-paper); font-size:.98rem; line-height:1.45; }
  .care__gift b{ font-weight:600; }

  /* ============================ FAQ ============================ */
  .faq{ max-width:48rem; }
  .faq details{ border-top:1px solid var(--line-paper); }
  .faq details:last-of-type{ border-bottom:1px solid var(--line-paper); }
  .faq summary{
    list-style:none; cursor:pointer;
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    padding:1.15rem .2rem;
    font-family:var(--font-display); font-weight:700; font-size:clamp(1.05rem,1rem + .5vw,1.25rem); letter-spacing:-.01em;
    color:var(--ink-on-paper);
  }
  .faq summary::-webkit-details-marker{ display:none; }
  .faq summary .pm{ flex:none; width:1.7rem; height:1.7rem; position:relative; }
  .faq summary .pm::before,
  .faq summary .pm::after{ content:""; position:absolute; background:var(--amber-2); border-radius:2px; }
  .faq summary .pm::before{ left:0; right:0; top:calc(50% - 1.5px); height:3px; }
  .faq summary .pm::after{ top:0; bottom:0; left:calc(50% - 1.5px); width:3px; transition:transform .2s ease; }
  .faq details[open] summary .pm::after{ transform:scaleY(0); }
  .faq .answer{ padding:0 .2rem 1.3rem; color:var(--muted-on-paper); max-width:60ch; }
  .faq .answer p + p{ margin-top:.8rem; }

  /* ============================ FINAL CTA ============================ */
  .cta-final{ text-align:center; }
  .cta-mark{ width:54px; height:54px; display:block; margin:0 auto 1.15rem; }
  .cta-final .h2{ font-size:clamp(2.2rem,1.5rem + 3.4vw,3.6rem); }
  .cta-final .lead{ margin:1.1rem auto 0; max-width:44ch; }
  .cta-final .small{ margin:.7rem auto 0; max-width:44ch; font-size:.98rem; color:var(--muted-on-ink); }
  .cta-final .btn-row{ justify-content:center; margin-top:1.9rem; }

  /* ============================ FOOTER ============================ */
  .site-footer{ background:var(--ink-2); color:var(--muted-on-ink); padding-block:clamp(2.6rem,5vw,3.6rem); }
  .footer-top{ display:grid; gap:1.6rem; }
  .footer-brand .brand{ font-size:1.1rem; }
  .footer-tag{ margin-top:.9rem; max-width:34ch; }
  .footer-contact{ display:grid; gap:.6rem; }
  .footer-contact a{ color:var(--paper-on-ink); text-decoration:none; font-weight:500; display:inline-flex; align-items:center; gap:.55rem; }
  .footer-contact a:hover{ text-decoration:underline; text-underline-offset:3px; }
  .footer-contact .ic{ width:1.05em; height:1.05em; color:var(--amber); }
  .footer-links{ display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; }
  .footer-links a{ color:var(--muted-on-ink); text-decoration:none; font-size:.95rem; }
  .footer-links a:hover{ color:var(--paper-on-ink); }
  .footer-meta{
    margin-top:2.2rem; padding-top:1.4rem; border-top:1px solid var(--line-ink);
    font-family:var(--font-mono); font-size:.75rem; letter-spacing:.04em;
    display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; justify-content:space-between;
  }
  @media (min-width:760px){ .footer-top{ grid-template-columns:1.3fr 1fr; gap:3rem; } }

  /* ============================ STICKY MOBILE BAR ============================ */
  .mobile-bar{
    position:fixed; left:0; right:0; bottom:0; z-index:50;
    display:flex; gap:0;
    background:var(--ink); border-top:1px solid var(--line-ink);
    padding-bottom:env(safe-area-inset-bottom);
    box-shadow:0 -6px 20px rgba(0,0,0,.22);
  }
  .mobile-bar a{
    flex:1; display:flex; align-items:center; justify-content:center; gap:.5rem;
    min-height:58px; text-decoration:none; font-weight:600; font-size:1rem; color:#fff;
  }
  .mobile-bar a .ic{ width:1.25em; height:1.25em; }
  .mobile-bar .mb-call{ color:var(--paper-on-ink); }
  .mobile-bar .mb-wa{ background:var(--go); }
  .mobile-bar .mb-call + .mb-wa{ border-left:1px solid var(--line-ink); }
  body{ padding-bottom:calc(58px + env(safe-area-inset-bottom)); }
  @media (min-width:768px){
    .mobile-bar{ display:none; }
    body{ padding-bottom:0; }
  }

  /* ============================ MOTION (opt-in) ============================ */
  @media (prefers-reduced-motion: no-preference){
    .reveal{ opacity:0; transform:translateY(14px); }
    .is-loaded .reveal{ opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease; }
    .hero__title .line{ opacity:0; transform:translateY(16px); }
    .is-loaded .hero__title .line{ opacity:1; transform:none; transition:opacity .55s ease, transform .55s ease; }
    .is-loaded .hero__title .line:nth-child(1){ transition-delay:.05s; }
    .is-loaded .hero__title .line:nth-child(2){ transition-delay:.16s; }
    .is-loaded .hero__title .line:nth-child(3){ transition-delay:.27s; }
    .price-stamp{ transform:rotate(-2.2deg) scale(.6); opacity:0; }
    .is-loaded .price-stamp{ transform:rotate(-2.2deg) scale(1); opacity:1; transition:transform .4s cubic-bezier(.2,1.3,.4,1) .42s, opacity .25s ease .42s; }
    .ticket{ opacity:0; transform:translateY(16px); }
    .is-loaded .ticket{ opacity:1; transform:none; transition:opacity .6s ease .35s, transform .6s ease .35s; }
  }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation:none !important; transition:none !important; }
  }

  /* ============================ PRICING ============================ */
  .pricing{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin-top:2.4rem; align-items:stretch; }
  .price-card{ background:var(--paper); border:1px solid var(--line-paper); border-radius:var(--radius-lg); padding:1.9rem 1.6rem; display:flex; flex-direction:column; }
  .price-card--featured{ background:var(--ink); color:var(--paper-on-ink); border:2px solid var(--amber); box-shadow:0 22px 50px rgba(0,0,0,.22); position:relative; }
  .price-badge{ position:absolute; top:-.8rem; left:50%; transform:translateX(-50%); background:var(--amber); color:var(--ink); font-family:var(--font-mono); font-size:.66rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; padding:.35rem .8rem; border-radius:999px; white-space:nowrap; }
  .price-card__name{ font-family:var(--font-display); font-weight:800; font-size:1.5rem; letter-spacing:-.01em; }
  .price-card__price{ font-family:var(--font-display); font-weight:800; font-size:2.7rem; line-height:1; margin:.35rem 0 .15rem; }
  .price-card--featured .price-card__price{ color:var(--amber); }
  .price-card__desc{ color:var(--muted-on-paper); font-size:.97rem; line-height:1.5; margin:.5rem 0 1.2rem; }
  .price-card--featured .price-card__desc{ color:var(--muted-on-ink); }
  .price-card__incl{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-on-paper); margin:0 0 .85rem; }
  .price-card--featured .price-card__incl{ color:rgba(236,230,216,.7); }
  .price-list{ list-style:none; margin:0 0 1.7rem; padding:0; display:grid; gap:.6rem; }
  .price-list li{ position:relative; padding-left:1.7rem; font-size:.96rem; line-height:1.4; }
  .price-list li::before{ content:"\2713"; position:absolute; left:0; top:0; color:#e9a200; font-weight:800; }
  .price-card--featured .price-list li::before{ color:var(--amber); }
  .price-card__btn{ margin-top:auto; width:100%; justify-content:center; }
  .pricing__note{ margin-top:1.9rem; text-align:center; color:var(--muted-on-paper); font-size:.95rem; line-height:1.6; max-width:52ch; margin-inline:auto; }
  .pricing__note a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
  @media (max-width:880px){ .pricing{ grid-template-columns:1fr; max-width:30rem; margin-inline:auto; } }
  .care__note{ margin-top:1.3rem; font-size:.92rem; color:var(--muted-on-paper); font-style:italic; }
  .care__btn{ margin-top:1.5rem; }


  /* ============================ V6 FULL-SITE POLISH ============================ */
  :root{
    --container:72rem;
    --measure:50rem;
    --pad-section:clamp(4rem,6vw,5.75rem);
    --shadow-lg:0 24px 70px rgba(20,18,14,.18),0 4px 14px rgba(20,18,14,.08);
  }
  body{ background:var(--paper); }
  .section-head .lead{ max-width:44rem; }
  .site-header{ box-shadow:0 1px 0 rgba(236,230,216,.08); }
  .header-inner{ min-height:68px; }
  .nav{ gap:1.35rem; }
  .header-wa{ box-shadow:0 5px 14px rgba(14,138,68,.22); }

  .hero{
    padding-top:clamp(3.5rem,6vw,5rem);
    padding-bottom:clamp(3.8rem,6vw,5.25rem);
    background:radial-gradient(circle at 82% 22%,rgba(255,194,51,.09),transparent 24rem),radial-gradient(circle at 8% 90%,rgba(255,255,255,.035),transparent 24rem),var(--ink);
  }
  .hero .eyebrow{ color:var(--muted-on-ink); }
  .hero .eyebrow::before{ border-top-color:var(--amber); }
  .hero-grid{ align-items:center; }
  .hero__title{ font-size:clamp(2.55rem,1.55rem + 4.5vw,4.45rem); max-width:13ch; }
  .hero__title .line--sub{ font-size:.53em; }
  .hero__sub{ max-width:39ch; }
  .hero .btn--call{ color:var(--paper-on-ink); border-color:rgba(236,230,216,.42); background:rgba(236,230,216,.025); }
  .hero .btn--call:hover{ border-color:var(--paper-on-ink); background:rgba(236,230,216,.08); }
  .hero__trust{ gap:.65rem 1.25rem; }
  .ticket{ border:1px solid rgba(255,255,255,.1); box-shadow:0 28px 70px rgba(0,0,0,.32); }
  .ticket__head{ background:rgba(27,26,22,.025); }
  .ticket__row{ padding:1.1rem 1.25rem; }

  .proof-strip{ background:var(--amber); color:var(--ink); border-bottom:1px solid var(--amber-2); }
  .proof-strip__inner{ min-height:62px; display:flex; align-items:center; gap:.8rem 1.25rem; }
  .proof-strip__inner p{ flex:1; font-size:.98rem; }
  .proof-strip__badge{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-mono); font-size:.69rem; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
  .proof-strip__badge span{ width:.55rem; height:.55rem; border-radius:50%; background:var(--go); box-shadow:0 0 0 4px rgba(14,138,68,.14); }
  .proof-strip a{ font-weight:700; text-decoration:none; white-space:nowrap; border-bottom:1px solid rgba(27,26,22,.45); }
  .proof-strip a:hover{ border-bottom-color:var(--ink); }

  .step{ border-color:rgba(27,26,22,.18); border-radius:18px; box-shadow:0 8px 24px rgba(20,18,14,.035); overflow:hidden; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
  .step::after{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--amber); }
  .step:hover{ transform:translateY(-3px); border-color:rgba(27,26,22,.28); box-shadow:0 14px 34px rgba(20,18,14,.08); }
  .step__chip{ margin-top:.2rem; }

  #included{ background:radial-gradient(circle at 82% 45%,rgba(255,194,51,.075),transparent 24rem),var(--ink); }
  .includes-grid{ align-items:center; }
  .receipt{ transform:rotate(-.75deg); }

  .price-card{ border-color:rgba(27,26,22,.18); box-shadow:0 10px 26px rgba(20,18,14,.04); transition:transform .18s ease,box-shadow .18s ease; }
  .price-card:hover{ transform:translateY(-4px); box-shadow:0 18px 42px rgba(20,18,14,.09); }
  .price-card--featured{ transform:translateY(-.45rem); box-shadow:0 24px 60px rgba(20,18,14,.2); }
  .price-card--featured:hover{ transform:translateY(-.7rem); }
  .pricing__note{ margin-top:2.1rem; }

  .work-section{ background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 18rem),var(--paper); }
  .work-intro{ max-width:55rem; }
  .case-study-card{ display:grid; overflow:hidden; background:var(--ink); color:var(--paper-on-ink); border-radius:26px; border:1px solid rgba(27,26,22,.18); box-shadow:var(--shadow-lg); }
  .case-study-visual{ position:relative; display:flex; align-items:center; justify-content:center; min-width:0; padding:clamp(.72rem,1.5vw,1rem); background:radial-gradient(circle at 12% 10%,rgba(255,194,51,.16),transparent 18rem),linear-gradient(145deg,#29271f,#12110f); text-decoration:none; }
  .case-study-visual::after{ content:"View project"; position:absolute; right:1.35rem; bottom:1.35rem; padding:.48rem .72rem; border-radius:999px; background:rgba(27,26,22,.88); color:var(--paper-on-ink); font-family:var(--font-mono); font-size:.66rem; letter-spacing:.09em; text-transform:uppercase; opacity:0; transform:translateY(5px); transition:opacity .18s ease,transform .18s ease; }
  .case-study-visual:hover::after{ opacity:1; transform:none; }
  .case-study-visual img{ width:100%; height:auto; border-radius:17px; border:1px solid rgba(236,230,216,.14); box-shadow:0 22px 54px rgba(0,0,0,.36); }
  .case-live{ position:absolute; z-index:2; top:1.35rem; left:1.35rem; display:inline-flex; align-items:center; gap:.48rem; padding:.43rem .7rem; border-radius:999px; background:rgba(19,18,16,.88); color:var(--paper-on-ink); backdrop-filter:blur(8px); font-family:var(--font-mono); font-size:.66rem; letter-spacing:.09em; text-transform:uppercase; }
  .case-live span{ width:.52rem; height:.52rem; border-radius:50%; background:#36d46f; box-shadow:0 0 0 4px rgba(54,212,111,.16); }
  .case-study-copy{ padding:clamp(1.55rem,3.25vw,2.65rem); display:flex; flex-direction:column; justify-content:center; }
  .case-kicker,.case-cta__eyebrow{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--amber); }
  .case-study-copy .h3{ margin-top:.62rem; font-size:clamp(1.8rem,1.35rem + 1.55vw,2.55rem); line-height:1.02; max-width:15ch; }
  .case-summary{ margin-top:1rem; color:var(--muted-on-ink); max-width:39rem; }
  .case-outcomes{ display:grid; gap:.78rem; margin-top:1.35rem; }
  .case-outcome{ display:grid; grid-template-columns:2.25rem 1fr; gap:.78rem; align-items:start; }
  .case-outcome__num{ width:2.25rem; height:2.25rem; border-radius:9px; display:grid; place-items:center; background:rgba(255,194,51,.12); border:1px solid rgba(255,194,51,.26); color:var(--amber); font-family:var(--font-mono); font-size:.66rem; }
  .case-outcome strong{ display:block; color:var(--paper-on-ink); font-weight:600; line-height:1.25; }
  .case-outcome span:not(.case-outcome__num){ display:block; color:var(--muted-on-ink); font-size:.92rem; line-height:1.42; margin-top:.16rem; }
  .case-tags{ display:flex; flex-wrap:wrap; gap:.42rem; margin-top:1.25rem; }
  .case-tags span{ padding:.3rem .58rem; border-radius:999px; border:1px solid rgba(236,230,216,.16); color:var(--muted-on-ink); font-family:var(--font-mono); font-size:.63rem; letter-spacing:.07em; text-transform:uppercase; }
  .case-actions{ margin-top:1.35rem; }
  .case-actions .btn{ min-height:50px; padding:.88rem 1.15rem; }

  .case-proof-row{ display:grid; gap:1rem; margin-top:1rem; }
  .case-quote,.case-tech{ border-radius:20px; padding:clamp(1.35rem,3vw,2rem); }
  .case-quote{ margin:0; background:var(--amber); color:var(--ink); box-shadow:0 10px 30px rgba(233,162,0,.14); }
  .case-quote__label{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; opacity:.72; }
  .case-stars{ margin-top:.75rem; letter-spacing:.12em; font-size:.92rem; }
  .case-quote > p:last-child{ margin-top:.65rem; font-family:var(--font-display); font-weight:700; font-size:clamp(1.18rem,1.02rem + .55vw,1.48rem); line-height:1.35; max-width:44rem; }
  .case-tech{ background:var(--paper-2); border:1px solid var(--line-paper); }
  .case-tech .h3{ margin-top:.6rem; font-size:1.45rem; }
  .case-tech__chips{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem; }
  .case-tech__chips span{ padding:.38rem .62rem; border-radius:999px; background:rgba(27,26,22,.045); border:1px solid var(--line-paper); color:var(--muted-on-paper); font-size:.82rem; }
  .case-care-note{ margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line-paper); color:var(--muted-on-paper); font-size:.92rem; }

  .case-cta{ margin-top:1rem; display:grid; gap:1.2rem; align-items:center; padding:clamp(1.35rem,3vw,1.9rem); border:2px solid var(--ink); border-radius:20px; background:var(--paper-2); }
  .case-cta__eyebrow{ color:var(--amber-2); }
  .case-cta .h3{ margin-top:.38rem; }
  .case-cta p:not(.case-cta__eyebrow){ margin-top:.45rem; color:var(--muted-on-paper); max-width:54rem; }
  .case-cta .btn-row{ margin:0; }

  .about{ max-width:68rem; margin-inline:auto; align-items:center; }
  .about__photo{ width:min(48vw,200px); box-shadow:8px 8px 0 var(--amber); }
  .care{ max-width:68rem; margin-inline:auto; box-shadow:0 14px 42px rgba(20,18,14,.055); background:linear-gradient(145deg,var(--paper-2),#f7f1e5); }

  .faq-layout{ display:grid; gap:clamp(2rem,5vw,4.5rem); align-items:start; }
  .faq-intro .h2{ margin-top:.7rem; }
  .faq-intro .lead{ margin-top:1rem; }
  .faq-quick{ margin-top:1.5rem; width:max-content; }
  .faq{ max-width:none; }
  .faq details{ border-top-color:rgba(27,26,22,.18); }
  .faq summary{ padding:1.25rem .15rem; }
  .faq .answer{ padding-bottom:1.45rem; }

  .cta-final{ background:radial-gradient(circle at 50% 10%,rgba(255,194,51,.1),transparent 22rem),var(--ink); }
  .cta-final .lead{ max-width:38ch; }
  .site-footer{ border-top:1px solid rgba(236,230,216,.08); }

  @media (min-width:880px){
    .hero-grid{ grid-template-columns:1.08fr .92fr; gap:clamp(3rem,6vw,5.25rem); }
    .case-study-card{ grid-template-columns:minmax(0,1.18fr) minmax(23rem,.82fr); }
    .case-proof-row{ grid-template-columns:1.18fr .82fr; }
    .case-cta{ grid-template-columns:1fr auto; }
    .faq-layout{ grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr); }
    .faq-intro{ position:sticky; top:104px; }
  }
  @media (max-width:880px){ .price-card--featured,.price-card--featured:hover{ transform:none; } }
  @media (max-width:767px){
    :root{ --pad-section:3.8rem; }
    .header-inner{ min-height:62px; }
    .hero{ padding-top:3rem; padding-bottom:3.6rem; }
    .hero__title{ max-width:10ch; }
    .hero .btn-row .btn{ width:100%; }
    .proof-strip__inner{ padding-block:.85rem; flex-wrap:wrap; }
    .proof-strip__inner p{ order:3; flex-basis:100%; line-height:1.35; }
    .proof-strip a{ margin-left:auto; }
    .step:hover,.price-card:hover{ transform:none; }
    .case-study-card{ border-radius:20px; }
    .case-study-visual{ padding:.55rem; }
    .case-study-visual img{ border-radius:13px; }
    .case-study-visual::after{ display:none; }
    .case-live{ top:.9rem; left:.9rem; }
    .case-study-copy{ padding:1.45rem 1.25rem 1.55rem; }
    .case-study-copy .h3{ max-width:16ch; }
    .case-actions .btn,.case-cta .btn{ width:100%; }
    .case-proof-row{ margin-top:.8rem; }
    .case-quote,.case-tech{ border-radius:17px; padding:1.25rem; }
    .case-cta{ border-radius:17px; padding:1.25rem; }
    .faq-quick{ width:100%; }
  }

/* ============================ SEO / MULTI-PAGE POLISH ============================ */
.sr-only{
  position:absolute!important; width:1px!important; height:1px!important; padding:0!important;
  margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important;
  white-space:nowrap!important; border:0!important;
}
.text-link{
  color:var(--ink); font-weight:600; text-decoration:underline;
  text-decoration-color:var(--amber-2); text-decoration-thickness:2px; text-underline-offset:4px;
}
.text-link:hover{ text-decoration-color:currentColor; }
.text-link--light{ color:var(--paper-on-ink); }
.section-linkline{ margin-top:1.4rem; color:var(--muted-on-paper); }
.case-detail-link{ margin-top:1rem; }
.case-study-visual picture{ display:block; width:100%; }
.case-study-visual picture img{ width:100%; height:auto; object-fit:contain; }
.about > picture{ display:block; }

.breadcrumb{
  display:flex; flex-wrap:wrap; align-items:center; gap:.45rem;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted-on-ink); margin-bottom:1.4rem;
}
.breadcrumb a{ color:inherit; text-decoration:none; }
.breadcrumb a:hover{ color:var(--paper-on-ink); text-decoration:underline; text-underline-offset:3px; }
.breadcrumb .sep{ color:var(--amber); }

.page-hero{
  background:var(--ink); color:var(--paper-on-ink);
  padding-block:clamp(3rem,7vw,5.6rem); overflow:hidden;
}
.page-hero__grid{ display:grid; gap:clamp(2rem,5vw,4rem); align-items:center; }
.page-hero__title{
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(2.35rem,1.55rem + 4vw,4.2rem); line-height:1.02;
  letter-spacing:-.028em; max-width:14ch;
}
.page-hero__lead{ margin-top:1.25rem; max-width:44rem; color:var(--muted-on-ink); font-size:clamp(1.1rem,1rem + .55vw,1.32rem); }
.page-hero .btn-row{ margin-top:1.7rem; }
.page-hero__meta{
  display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.4rem;
}
.page-hero__meta span{
  border:1px solid var(--line-ink); border-radius:999px; padding:.4rem .7rem;
  color:var(--muted-on-ink); font-family:var(--font-mono); font-size:.69rem;
  letter-spacing:.08em; text-transform:uppercase;
}
.page-hero__panel{
  background:var(--paper-2); color:var(--ink); border-radius:var(--radius-lg);
  padding:clamp(1.4rem,3vw,2rem); box-shadow:var(--shadow-md);
}
.page-hero__panel-label{
  color:var(--muted-on-paper); font-family:var(--font-mono); font-size:.7rem;
  letter-spacing:.14em; text-transform:uppercase;
}
.page-hero__panel h2{ margin-top:.65rem; font-family:var(--font-display); font-size:clamp(1.45rem,1.2rem + 1vw,2rem); line-height:1.06; }
.page-hero__panel p{ margin-top:.8rem; color:var(--muted-on-paper); }
.page-hero__panel .check-list{ margin-top:1.25rem; }
.page-hero__panel .check-list li{ font-size:.95rem; }
.page-hero__media{
  background:var(--ink-panel); border:1px solid var(--line-ink); border-radius:var(--radius-lg);
  padding:.65rem; box-shadow:var(--shadow-md); transform:rotate(1deg);
}
.page-hero__media img{ width:100%; height:auto; border-radius:calc(var(--radius-lg) - 7px); }

.feature-grid{ display:grid; gap:1rem; }
.feature-card{
  background:var(--paper-2); border:1px solid var(--line-paper); border-radius:var(--radius);
  padding:1.45rem; box-shadow:var(--shadow-sm);
}
.feature-card__num{
  display:inline-grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:10px;
  background:var(--ink); color:var(--amber); font-family:var(--font-mono); font-size:.82rem;
  margin-bottom:1rem;
}
.feature-card p{ margin-top:.55rem; color:var(--muted-on-paper); }
.feature-card a{ display:inline-block; margin-top:.8rem; }

.prose{ max-width:48rem; }
.prose h2{ font-family:var(--font-display); font-size:clamp(1.8rem,1.35rem + 2vw,2.7rem); line-height:1.06; letter-spacing:-.02em; }
.prose h3{ margin-top:1.8rem; font-family:var(--font-display); font-size:1.35rem; line-height:1.15; }
.prose p{ margin-top:1rem; color:var(--muted-on-paper); }
.prose ul{ margin-top:1rem; display:grid; gap:.7rem; }
.prose li{ position:relative; padding-left:1.55rem; color:var(--muted-on-paper); }
.prose li::before{ content:"✓"; position:absolute; left:0; color:var(--amber-2); font-weight:800; }
.s--ink .prose p,.s--ink .prose li{ color:var(--muted-on-ink); }
.s--ink .prose h2,.s--ink .prose h3{ color:var(--paper-on-ink); }
.s--ink .prose li::before{ color:var(--amber); }

.split-content{ display:grid; gap:clamp(1.8rem,5vw,4rem); align-items:start; }
.sticky-card{ background:var(--paper-2); border:1px solid var(--line-paper); border-radius:var(--radius-lg); padding:1.5rem; }
.sticky-card h3{ font-family:var(--font-display); font-size:1.4rem; }
.sticky-card p{ margin-top:.7rem; color:var(--muted-on-paper); }
.sticky-card .btn{ margin-top:1.2rem; width:100%; }

.pill-grid{ display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.3rem; }
.pill-grid span,.pill-grid a{
  border:1px solid var(--line-paper); background:var(--paper-2); border-radius:999px;
  padding:.5rem .75rem; font-size:.9rem; text-decoration:none;
}
.s--ink .pill-grid span,.s--ink .pill-grid a{ border-color:var(--line-ink); background:rgba(236,230,216,.05); }

.case-page-summary{
  display:grid; gap:1rem; background:var(--paper-2); border:1px solid var(--line-paper);
  border-radius:var(--radius-lg); padding:clamp(1.4rem,4vw,2.2rem);
}
.case-fact{ border-bottom:1px solid var(--line-paper); padding-bottom:.85rem; }
.case-fact:last-child{ border-bottom:0; padding-bottom:0; }
.case-fact span{ display:block; font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted-on-paper); }
.case-fact strong{ display:block; margin-top:.25rem; font-size:1.05rem; }
.case-gallery{ display:grid; gap:1rem; margin-top:2rem; }
.case-gallery figure{ margin:0; background:var(--paper-2); border:1px solid var(--line-paper); border-radius:var(--radius-lg); overflow:hidden; }
.case-gallery img{ width:100%; height:auto; }
.case-gallery figcaption{ padding:.9rem 1rem; color:var(--muted-on-paper); font-size:.92rem; }

.page-cta{
  background:var(--ink); color:var(--paper-on-ink); border-radius:var(--radius-lg);
  padding:clamp(1.6rem,5vw,3rem); display:grid; gap:1.3rem; align-items:center;
}
.page-cta h2{ font-family:var(--font-display); font-size:clamp(1.8rem,1.4rem + 2vw,2.7rem); line-height:1.05; }
.page-cta p{ margin-top:.6rem; color:var(--muted-on-ink); max-width:42rem; }
.page-cta .btn-row{ margin:0; }

.legal-copy{ max-width:48rem; }
.legal-copy h2{ margin-top:2rem; font-family:var(--font-display); font-size:1.55rem; }
.legal-copy p,.legal-copy li{ margin-top:.8rem; color:var(--muted-on-paper); }
.legal-copy ul{ list-style:disc; padding-left:1.3rem; }

.not-found{ min-height:65vh; display:grid; place-items:center; text-align:center; }
.not-found .h1{ font-size:clamp(3rem,2rem + 8vw,7rem); }
.not-found p{ margin:1rem auto 0; max-width:35rem; color:var(--muted-on-ink); }
.not-found .btn-row{ justify-content:center; margin-top:1.6rem; }

@media (min-width:720px){
  .feature-grid{ grid-template-columns:repeat(3,1fr); }
  .case-page-summary{ grid-template-columns:repeat(4,1fr); }
  .case-fact{ border-bottom:0; border-right:1px solid var(--line-paper); padding:0 1rem 0 0; }
  .case-fact:last-child{ border-right:0; }
  .case-gallery{ grid-template-columns:1.2fr .8fr; align-items:start; }
}
@media (min-width:880px){
  .page-hero__grid{ grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr); }
  .split-content{ grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr); }
  .sticky-card{ position:sticky; top:104px; }
  .page-cta{ grid-template-columns:1fr auto; }
}
@media (max-width:767px){
  .page-hero .btn-row .btn,.page-cta .btn{ width:100%; }
  .page-hero__media{ transform:none; }
}

