:root{
    --navy-deep:#0A1830;
    --navy:#0F2A4A;
    --orange:#F2811F;
    --paper:#FAF9F6;
    --ink:#16202E;
    --mist:#6B7684;
    --hairline:#E4E1D8;
    --radius:2px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',system-ui,sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Sora',system-ui,sans-serif;
    font-weight:700;
    margin:0;
    letter-spacing:-0.01em;
  }
  a{color:inherit;}
  button{font-family:inherit;}
  :focus-visible{outline:2px solid var(--orange); outline-offset:3px;}

  /* ===================== INTRO SEQUENCE ===================== */
  #intro{
    position:fixed;
    inset:0;
    background:var(--navy-deep);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:100;
    overflow:hidden;
    transition:opacity .8s ease, visibility .8s ease;
  }
  #intro.hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  .intro-stage{
    position:relative;
    width:100%;
    max-width:640px;
    padding:0 24px;
    text-align:center;
  }
  .intro-word{
    font-size:clamp(2.2rem, 9vw, 4.2rem);
    color:#fff;
    opacity:0;
    letter-spacing:0.02em;
  }
  .intro-tagline{
    margin-top:18px;
    font-family:'Inter',sans-serif;
    font-weight:500;
    font-size:clamp(0.85rem, 2.4vw, 1.05rem);
    color:var(--orange);
    white-space:nowrap;
    overflow:hidden;
    width:0;
    letter-spacing:0.04em;
  }
  .intro-glow{
    position:absolute;
    left:50%; top:50%;
    width:10px; height:10px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:radial-gradient(circle, rgba(242,129,31,0.9) 0%, rgba(242,129,31,0) 70%);
    opacity:0;
    pointer-events:none;
  }
  .intro-brand{
    margin-top:8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    opacity:0;
  }
  .intro-brand .founder{
    font-size:clamp(1.6rem, 6vw, 2.6rem);
    color:#fff;
  }
  .intro-divider{
    width:0;
    height:2px;
    background:var(--orange);
  }
  .intro-brand .faststart{
    font-size:clamp(2.2rem, 8vw, 3.6rem);
    color:#fff;
  }
  .intro-enter{
    margin-top:36px;
    opacity:0;
  }
  .btn{
    display:inline-block;
    padding:13px 30px;
    background:var(--orange);
    color:#0A1830;
    font-weight:600;
    font-size:0.95rem;
    text-decoration:none;
    border:none;
    border-radius:var(--radius);
    cursor:pointer;
    transition:transform .15s ease, background .15s ease;
  }
  .btn:hover{background:#ffa14d;}
  .btn:active{transform:scale(0.98);}
  .btn-ghost{
    background:transparent;
    color:#fff;
    border:1px solid rgba(255,255,255,0.35);
  }
  .btn-ghost:hover{border-color:var(--orange); color:var(--orange); background:transparent;}

  /* Skip control for repeat visitors / accessibility */
  #skip-intro{
    position:absolute;
    bottom:28px; right:28px;
    background:none;
    border:none;
    color:rgba(255,255,255,0.55);
    font-size:0.8rem;
    cursor:pointer;
    letter-spacing:0.03em;
  }
  #skip-intro:hover{color:#fff;}

  /* Reduced motion: show final state immediately, no animation */
  @media (prefers-reduced-motion: reduce){
    .intro-word,.intro-tagline,.intro-brand,.intro-enter{opacity:1 !important; width:auto !important; animation:none !important;}
    .intro-glow{display:none;}
  }

  /* ===================== SITE SHELL ===================== */
  #site{
    opacity:0;
    transition:opacity .6s ease;
  }
  #site.visible{opacity:1;}

  header.nav{
    position:sticky;
    top:0;
    z-index:10;
    background:var(--paper);
    border-bottom:1px solid var(--hairline);
  }
  .nav-inner{
    max-width:1120px;
    margin:0 auto;
    padding:18px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .logo{
    font-family:'Sora',sans-serif;
    font-weight:700;
    font-size:1.05rem;
    color:var(--navy-deep);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .logo .dot{
    width:6px;height:6px;background:var(--orange);border-radius:50%;
    display:inline-block;
  }
  nav.links{
    display:flex;
    gap:32px;
    align-items:center;
    margin-left:32px;
  }

  .header-cart{
    margin-left:auto;
    margin-right:18px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    position:relative;
    color:var(--navy-deep);
    text-decoration:none;
    font-size:0.86rem;
    font-weight:600;
  }
  .header-cart .cart-icon{
    width:23px; height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .header-cart .cart-badge{
    display:inline-flex;
    min-width:20px; height:20px;
    padding:0 5px;
    margin-left:-7px;
    margin-top:-15px;
    background:var(--orange);
    color:var(--navy-deep);
    border:2px solid var(--paper);
    font-size:0.68rem;
    font-weight:800;
  }
  .header-cart:hover{color:var(--orange);}
  nav.links a{
    text-decoration:none;
    color:var(--ink);
    font-size:0.93rem;
    font-weight:500;
  }
  nav.links a:hover{color:var(--orange);}
  nav.links .btn{padding:9px 20px; font-size:0.88rem; color:#fff; background:var(--navy-deep);}
  nav.links .btn:hover{background:var(--navy);}
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
  .nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;}

  /* Hero */
  .hero{
    max-width:1120px;
    margin:0 auto;
    padding:80px 24px 64px;
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:48px;
    align-items:end;
  }
  .hero h1{
    font-size:clamp(2.1rem, 4.4vw, 3.4rem);
    line-height:1.1;
    color:var(--navy-deep);
    max-width:620px;
  }
  .hero p.lede{
    margin-top:20px;
    font-size:1.05rem;
    color:var(--mist);
    max-width:480px;
    line-height:1.55;
  }
  .hero .actions{
    margin-top:30px;
    display:flex;
    gap:14px;
  }
  .btn-primary{background:var(--navy-deep); color:#fff;}
  .btn-primary:hover{background:var(--navy);}
  .btn-outline{background:transparent; color:var(--navy-deep); border:1px solid var(--navy-deep);}
  .btn-outline:hover{border-color:var(--orange); color:var(--orange);}

  .hero-stat{
    border-left:2px solid var(--orange);
    padding-left:18px;
    justify-self:end;
    text-align:left;
  }
  .hero-stat .num{
    font-family:'Sora',sans-serif;
    font-weight:800;
    font-size:2.6rem;
    color:var(--navy-deep);
    line-height:1;
  }
  .hero-stat .label{
    margin-top:8px;
    font-size:0.9rem;
    color:var(--mist);
    max-width:200px;
  }

  /* Services teaser — divided list, not cards */
  .services{
    max-width:1120px;
    margin:0 auto;
    padding:40px 24px 96px;
  }
  .services-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    border-bottom:1px solid var(--hairline);
    padding-bottom:20px;
    margin-bottom:6px;
  }
  .services-head h2{
    font-size:1.5rem;
    color:var(--navy-deep);
  }
  .services-head a{
    font-size:0.9rem;
    font-weight:600;
    color:var(--navy-deep);
    text-decoration:none;
    border-bottom:1px solid var(--orange);
    padding-bottom:2px;
  }
  .services-head a:hover{color:var(--orange);}

  .service-row{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:24px;
    align-items:center;
    padding:26px 0;
    border-bottom:1px solid var(--hairline);
  }
  .service-row .name{
    font-family:'Sora',sans-serif;
    font-weight:600;
    font-size:1.15rem;
    color:var(--navy-deep);
  }
  .service-row .desc{
    margin-top:4px;
    font-size:0.92rem;
    color:var(--mist);
    max-width:420px;
  }
  .service-row .price{
    font-family:'Sora',sans-serif;
    font-weight:700;
    font-size:1.2rem;
    color:var(--navy-deep);
    white-space:nowrap;
  }
  .service-row .price span{
    display:block;
    font-family:'Inter',sans-serif;
    font-weight:400;
    font-size:0.78rem;
    color:var(--mist);
  }
  .service-row .add{
    white-space:nowrap;
    padding:10px 18px;
    font-size:0.85rem;
  }

  footer{
    background:var(--navy-deep);
    color:rgba(255,255,255,0.75);
    padding:48px 24px 28px;
  }
  .footer-inner{
    max-width:1120px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:24px;
    font-size:0.88rem;
  }
  .footer-inner .brand{
    color:#fff;
    font-family:'Sora',sans-serif;
    font-weight:700;
  }
  .footer-bottom{
    max-width:1120px;
    margin:24px auto 0;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,0.12);
    font-size:0.78rem;
    color:rgba(255,255,255,0.45);
  }

  @media (max-width:820px){
    .hero{grid-template-columns:1fr; padding-top:56px;}
    .hero-stat{justify-self:start; border-left:none; border-top:2px solid var(--orange); padding-left:0; padding-top:14px;}
    header.nav .nav-inner{position:relative;}
    nav.links{
      position:absolute; top:100%; left:0; right:0;
      background:var(--paper);
      flex-direction:column;
      align-items:flex-start;
      padding:18px 24px 28px;
      border-bottom:1px solid var(--hairline);
      display:none;
      gap:16px;
    }
    nav.links.open{display:flex;}
    .nav-toggle{display:block;}
    .service-row{grid-template-columns:1fr; text-align:left;}
    .service-row .add{justify-self:start;}
  }

  /* ===================== PAGE HEADER (About / Services) ===================== */
  .page-header{
    max-width:1120px;
    margin:0 auto;
    padding:64px 24px 40px;
  }
  .page-header .eyebrow-plain{
    color:var(--orange);
    font-weight:600;
    font-size:0.9rem;
  }
  .page-header h1{
    margin-top:10px;
    font-size:clamp(2rem, 4.4vw, 3rem);
    color:var(--navy-deep);
    max-width:700px;
  }
  .page-header p{
    margin-top:16px;
    color:var(--mist);
    font-size:1.05rem;
    max-width:560px;
    line-height:1.55;
  }

  /* Sub-nav pills used on About page (Who Are We / Our Journey / Why Choose Us) */
  .subnav{
    max-width:1120px;
    margin:0 auto;
    padding:0 24px 8px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
  }
  .subnav a{
    text-decoration:none;
    font-size:0.9rem;
    font-weight:500;
    color:var(--navy-deep);
    padding:9px 18px;
    border:1px solid var(--hairline);
    border-radius:999px;
  }
  .subnav a:hover, .subnav a.active{
    border-color:var(--navy-deep);
    background:var(--navy-deep);
    color:#fff;
  }

  .about-section{
    max-width:1120px;
    margin:0 auto;
    padding:56px 24px;
    border-top:1px solid var(--hairline);
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:48px;
  }
  .about-section h2{
    font-size:1.6rem;
    color:var(--navy-deep);
    max-width:280px;
  }
  .about-section .body p{
    color:var(--ink);
    line-height:1.7;
    font-size:1rem;
    max-width:600px;
  }
  .about-section .body p + p{margin-top:16px;}

  .why-list{
    list-style:none;
    margin:0; padding:0;
    display:grid;
    gap:0;
  }
  .why-list li{
    padding:20px 0;
    border-bottom:1px solid var(--hairline);
    display:grid;
    grid-template-columns:auto 1fr;
    gap:18px;
    align-items:baseline;
  }
  .why-list li:first-child{border-top:1px solid var(--hairline);}
  .why-list .mark{
    width:8px;height:8px;
    border-radius:50%;
    background:var(--orange);
    margin-top:6px;
  }
  .why-list strong{
    display:block;
    font-family:'Sora',sans-serif;
    font-size:1.05rem;
    color:var(--navy-deep);
    margin-bottom:4px;
  }
  .why-list span{
    color:var(--mist);
    font-size:0.95rem;
    line-height:1.5;
  }

  /* ===================== SERVICES (full listing) ===================== */
  .package-group{
    max-width:1120px;
    margin:0 auto;
    padding:40px 24px 8px;
  }
  .package-group h2{
    font-size:1.3rem;
    color:var(--navy-deep);
    padding-bottom:16px;
    border-bottom:1px solid var(--hairline);
  }

  .no-jargon-note{
    max-width:1120px;
    margin:0 auto;
    padding:0 24px 8px;
    color:var(--mist);
    font-size:0.9rem;
  }

  .cart-bar{
    position:sticky;
    bottom:0;
    background:var(--navy-deep);
    color:#fff;
    display:none;
    z-index:20;
  }
  .cart-bar.visible{display:block;}
  .cart-bar-inner{
    max-width:1120px;
    margin:0 auto;
    padding:16px 24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
  }
  .cart-bar .count{font-weight:600;}
  .cart-bar .total{font-family:'Sora',sans-serif; font-weight:700;}

  @media (max-width:820px){
    .about-section{grid-template-columns:1fr;}
  }

  /* ===================== TWO-PATHWAY HOME TEASER ===================== */
  .pathways{
    max-width:1120px;
    margin:0 auto;
    padding:40px 24px 96px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .pathway-card{
    border:1px solid var(--hairline);
    padding:36px 32px;
    text-decoration:none;
    color:inherit;
    display:block;
    transition:border-color .15s ease;
  }
  .pathway-card:hover{border-color:var(--navy-deep);}
  .pathway-card .kicker{
    color:var(--orange);
    font-weight:600;
    font-size:0.85rem;
  }
  .pathway-card h3{
    margin-top:10px;
    font-size:1.5rem;
    color:var(--navy-deep);
  }
  .pathway-card p{
    margin-top:12px;
    color:var(--mist);
    font-size:0.95rem;
    line-height:1.55;
    max-width:360px;
  }
  .pathway-card .go{
    margin-top:20px;
    font-size:0.9rem;
    font-weight:600;
    color:var(--navy-deep);
    border-bottom:1px solid var(--orange);
    display:inline-block;
    padding-bottom:2px;
  }
  .pathway-card:hover .go{color:var(--orange);}

  /* ===================== PACKAGE TIERS (Start a Business) ===================== */
  .tiers{
    max-width:1120px;
    margin:0 auto;
    padding:16px 24px 96px;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
    border-top:1px solid var(--hairline);
    border-left:1px solid var(--hairline);
  }
  .tier{
    border-right:1px solid var(--hairline);
    border-bottom:1px solid var(--hairline);
    padding:32px 24px;
    position:relative;
  }
  .tier.featured{background:var(--navy-deep); color:#fff;}
  .tier .tier-name{
    font-family:'Sora',sans-serif;
    font-weight:700;
    font-size:1.1rem;
  }
  .tier.featured .tier-name{color:#fff;}
  .tier .tier-price{
    margin-top:10px;
    font-family:'Sora',sans-serif;
    font-weight:800;
    font-size:1.9rem;
  }
  .tier .tier-for{
    margin-top:8px;
    font-size:0.85rem;
    color:var(--mist);
    min-height:38px;
  }
  .tier.featured .tier-for{color:rgba(255,255,255,0.65);}
  .tier .tier-features{
    list-style:none;
    margin:20px 0 0;
    padding:0;
    font-size:0.86rem;
    line-height:1.9;
  }
  .tier .tier-features li{
    padding-left:16px;
    position:relative;
  }
  .tier .tier-features li::before{
    content:'';
    position:absolute;
    left:0; top:9px;
    width:5px; height:5px;
    border-radius:50%;
    background:var(--orange);
  }
  .tier .btn{
    margin-top:24px;
    width:100%;
    text-align:center;
    font-size:0.88rem;
    padding:11px 0;
  }
  .tier-badge{
    position:absolute;
    top:-1px; right:-1px;
    background:var(--orange);
    color:var(--navy-deep);
    font-size:0.72rem;
    font-weight:700;
    padding:4px 10px;
  }

  /* ===================== GROW A BUSINESS — CATEGORY GRID ===================== */
  .category-grid{
    max-width:1120px;
    margin:0 auto;
    padding:16px 24px 96px;
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:1px;
    background:var(--hairline);
    border:1px solid var(--hairline);
  }
  .category-card{
    background:var(--paper);
    padding:30px 28px;
  }
  .category-card .cat-label{
    color:var(--orange);
    font-size:0.8rem;
    font-weight:600;
  }
  .category-card h3{
    margin-top:8px;
    font-size:1.25rem;
    color:var(--navy-deep);
  }
  .category-card .from-price{
    margin-top:6px;
    font-family:'Sora',sans-serif;
    font-weight:700;
    color:var(--navy-deep);
  }
  .category-card p.pitch{
    margin-top:10px;
    color:var(--mist);
    font-size:0.9rem;
    line-height:1.5;
  }
  .category-card .go{
    display:inline-block;
    margin-top:14px;
    font-size:0.85rem;
    font-weight:600;
    color:var(--navy-deep);
    border-bottom:1px solid var(--orange);
    text-decoration:none;
  }

  @media (max-width:900px){
    .pathways{grid-template-columns:1fr;}
    .tiers{grid-template-columns:1fr 1fr;}
    .category-grid{grid-template-columns:1fr;}
  }
  @media (max-width:560px){
    .tiers{grid-template-columns:1fr;}
  }

  /* ===================== STAGE 2.6 — GROW CATALOGUE ===================== */
  .cluster{
    max-width:1120px;
    margin:0 auto;
    padding:36px 24px 8px;
  }
  .cluster-label{
    font-size:0.82rem;
    font-weight:600;
    color:var(--orange);
    letter-spacing:0.02em;
    border-bottom:1px solid var(--hairline);
    padding-bottom:12px;
    margin-bottom:0;
  }
  .product-card{
    max-width:1120px;
    margin:0 auto;
    padding:0 24px;
  }
  .product-summary{
    display:grid;
    grid-template-columns:140px 1fr auto auto;
    gap:20px;
    align-items:center;
    padding:22px 0;
    border-bottom:1px solid var(--hairline);
    cursor:pointer;
    background:none;
    border-left:none; border-right:none; border-top:none;
    width:100%;
    text-align:left;
    font-family:inherit;
  }
  .product-summary .thumb{width:100%; height:auto; display:block;}
  .product-summary .name{
    font-family:'Sora',sans-serif;
    font-weight:600;
    font-size:1.1rem;
    color:var(--navy-deep);
  }
  .product-summary .oneliner{
    margin-top:3px;
    font-size:0.88rem;
    color:var(--mist);
  }
  .product-summary .from{
    font-family:'Sora',sans-serif;
    font-weight:700;
    color:var(--navy-deep);
    white-space:nowrap;
  }
  .product-summary .caret{
    width:10px; height:10px;
    border-right:2px solid var(--navy-deep);
    border-bottom:2px solid var(--navy-deep);
    transform:rotate(45deg);
    transition:transform .2s ease;
  }
  .product-summary.open .caret{transform:rotate(-135deg);}

  .product-detail{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
    background:#fff;
  }
  .product-detail.open{max-height:1400px;}
  .product-detail-inner{
    padding:8px 0 36px 160px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
  }
  .pd-block h4{
    font-family:'Sora',sans-serif;
    font-size:0.78rem;
    letter-spacing:0.04em;
    color:var(--orange);
    margin-bottom:8px;
  }
  .pd-block p, .pd-block li{
    font-size:0.92rem;
    color:var(--ink);
    line-height:1.6;
  }
  .pd-block ul{margin:0; padding-left:18px;}
  .pd-block + .pd-block{margin-top:20px;}
  .pd-examples{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:6px;
  }
  .pd-examples span{
    background:var(--paper);
    border:1px solid var(--hairline);
    padding:5px 12px;
    font-size:0.82rem;
    color:var(--ink);
  }
  .pd-cta{margin-top:18px;}

  /* Add-ons */
  .addons{
    max-width:1120px;
    margin:0 auto;
    padding:56px 24px 96px;
    border-top:1px solid var(--hairline);
    margin-top:40px;
  }
  .addons h2{font-size:1.4rem; color:var(--navy-deep);}
  .addons p.sub{color:var(--mist); margin-top:8px; max-width:520px;}
  .addon-carousel{
    margin-top:28px;
    display:flex;
    gap:16px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    padding:4px 2px 18px;
    scrollbar-width:thin;
  }
  .addon-item{
    flex:0 0 min(310px, 78vw);
    min-height:225px;
    scroll-snap-align:start;
    background:#fff;
    border:1px solid var(--hairline);
    padding:22px;
    display:flex;
    flex-direction:column;
    box-shadow:0 8px 24px rgba(10,24,48,0.06);
  }
  .addon-item .addon-kicker{
    color:var(--orange);
    font-size:0.7rem;
    font-weight:800;
    letter-spacing:0.1em;
  }
  .addon-item .an{
    color:var(--navy-deep);
    font-family:'Sora',sans-serif;
    font-size:1.02rem;
    line-height:1.25;
    margin:12px 0 10px;
  }
  .addon-item .ap{
    color:var(--mist);
    font-size:0.9rem;
    margin-bottom:20px;
  }
  .addon-item .ap span{font-size:0.78rem;}
  .addon-item .addon-add{
    margin-top:auto;
    width:100%;
    justify-content:center;
  }
  .addon-carousel::after{
    content:'Swipe →';
    position:sticky;
    right:0;
    align-self:center;
    flex:0 0 auto;
    padding:8px 10px;
    background:var(--navy-deep);
    color:#fff;
    font-size:0.72rem;
    font-weight:700;
    opacity:.82;
  }

  @media (max-width:820px){
    .product-summary{grid-template-columns:70px 1fr auto; }
    .product-summary .from{display:none;}
    .product-detail-inner{grid-template-columns:1fr; padding-left:24px;}
    .addon-carousel{margin-right:-24px; padding-right:24px;}
    .addon-carousel::after{display:none;}
  }

  /* ===================== CART / CHECKOUT (Stage 3) ===================== */
  .cart-link{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:5px;
  }
  .cart-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:18px; height:18px;
    padding:0 4px;
    background:var(--orange);
    color:var(--navy-deep);
    font-size:0.72rem;
    font-weight:700;
    border-radius:999px;
  }

  .cart-page{
    max-width:760px;
    margin:0 auto;
    padding:56px 24px 96px;
  }
  .cart-page h1{font-size:1.8rem; color:var(--navy-deep);}
  .cart-empty{
    padding:48px 0;
    text-align:center;
    color:var(--mist);
  }
  .cart-line{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:16px;
    align-items:center;
    padding:20px 0;
    border-bottom:1px solid var(--hairline);
  }
  .cart-line .name{font-family:'Sora',sans-serif; font-weight:600; color:var(--navy-deep);}
  .cart-line .cat{font-size:0.8rem; color:var(--mist); margin-top:2px;}
  .cart-line .price{font-family:'Sora',sans-serif; font-weight:700; color:var(--navy-deep); white-space:nowrap;}
  .cart-line .remove{
    background:none; border:none; color:var(--mist); font-size:0.82rem;
    text-decoration:underline; cursor:pointer; white-space:nowrap;
  }
  .cart-line .remove:hover{color:var(--orange);}

  .cart-summary{
    margin-top:24px;
    padding-top:20px;
    border-top:2px solid var(--navy-deep);
    display:flex;
    justify-content:space-between;
    align-items:baseline;
  }
  .cart-summary .total-label{font-size:1rem; color:var(--ink);}
  .cart-summary .total-value{font-family:'Sora',sans-serif; font-weight:800; font-size:1.7rem; color:var(--navy-deep);}
  .cart-actions{margin-top:28px; display:flex; gap:14px; flex-wrap:wrap;}

  /* Checkout form */
  .checkout-grid{
    max-width:1000px;
    margin:0 auto;
    padding:56px 24px 96px;
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:48px;
    align-items:start;
  }
  .checkout-grid h1{font-size:1.7rem; color:var(--navy-deep); margin-bottom:24px;}
  .field-group{margin-bottom:18px;}
  .field-group label{
    display:block;
    font-size:0.85rem;
    font-weight:600;
    color:var(--navy-deep);
    margin-bottom:6px;
  }
  .field-group input, .field-group textarea{
    width:100%;
    padding:11px 14px;
    border:1px solid var(--hairline);
    background:#fff;
    font-family:'Inter',sans-serif;
    font-size:0.95rem;
    color:var(--ink);
    border-radius:2px;
  }
  .field-group input:focus, .field-group textarea:focus{
    outline:2px solid var(--orange);
    outline-offset:1px;
    border-color:var(--orange);
  }
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .field-hint{font-size:0.78rem; color:var(--mist); margin-top:-10px; margin-bottom:16px;}
  .biz-names{
    border:1px solid var(--hairline);
    padding:16px;
    margin-top:6px;
    background:var(--paper);
  }
  .biz-names .field-group{margin-bottom:12px;}
  .biz-names .field-group:last-child{margin-bottom:0;}

  .order-summary{
    background:var(--paper);
    border:1px solid var(--hairline);
    padding:24px;
    position:sticky;
    top:90px;
  }
  .order-summary h3{font-size:1.05rem; color:var(--navy-deep); margin-bottom:16px;}
  .order-summary .line{
    display:flex; justify-content:space-between;
    font-size:0.9rem; padding:8px 0;
    border-bottom:1px solid var(--hairline);
  }
  .order-summary .total{
    display:flex; justify-content:space-between;
    padding-top:14px; margin-top:6px;
    font-family:'Sora',sans-serif; font-weight:700; font-size:1.15rem;
    color:var(--navy-deep);
  }
  .popia-consent{
    display:flex; gap:10px; align-items:flex-start;
    font-size:0.82rem; color:var(--mist);
    margin:20px 0;
  }
  .popia-consent input{margin-top:3px;}
  .popia-consent a{color:var(--navy-deep); text-decoration:underline;}

  /* Enquiry / quote form */
  .enquiry-grid{
    max-width:720px;
    margin:0 auto;
    padding:56px 24px 96px;
  }
  .enquiry-grid h1{font-size:1.7rem; color:var(--navy-deep);}
  .enquiry-product-tag{
    display:inline-block;
    margin-top:10px;
    padding:6px 14px;
    background:var(--paper);
    border:1px solid var(--hairline);
    font-size:0.85rem;
    color:var(--navy-deep);
    font-weight:600;
  }

  .confirmation-box{
    max-width:560px;
    margin:80px auto;
    padding:0 24px;
    text-align:center;
  }
  .confirmation-box .mark{
    width:56px; height:56px;
    border-radius:50%;
    background:var(--navy-deep);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:1.6rem;
    margin:0 auto 20px;
  }
  .confirmation-box h1{font-size:1.6rem; color:var(--navy-deep);}
  .confirmation-box p{color:var(--mist); margin-top:12px; line-height:1.6;}

  @media (max-width:820px){
    .checkout-grid{grid-template-columns:1fr;}
    .order-summary{position:static;}
    .field-row{grid-template-columns:1fr;}
  }
/* ===================== LEGAL PAGES ===================== */
.legal-page{max-width:900px;margin:0 auto;padding:80px 24px 96px;}
.legal-page h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:24px;}
.legal-page h2{font-size:1.35rem;margin:38px 0 10px;}
.legal-page p{max-width:760px;line-height:1.75;color:var(--mist);}
.legal-page a{color:var(--navy);font-weight:600;}
.legal-note{margin-top:48px;padding:18px;border-left:3px solid var(--orange);background:#fff;}
