/* GrowMark Digital — Stylesheet v5 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
  --navy:    #0f1f3d;
  --navy2:   #162847;
  --g:       #2ca16a;
  --gd:      #1f8a58;
  --gl:      #e8f5ef;
  --orange:  #f87321;
  --orange-l:#fff4ed;
  --white:   #ffffff;
  --off:     #f5f6f8;
  --border:  #e2e8f0;
  --text:    #0f1f3d;
  --textm:   #475569;
  --textl:   #94a3b8;
  --ff:      'Inter',sans-serif;
  --r:       8px;
  --r2:      14px;
  --r3:      20px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{margin:0;padding:0;scroll-behavior:auto}
body{margin:0;padding:0;font-family:var(--ff);color:var(--text);background:#fff;overflow-x:hidden}

/* ── TOP BAR ── */
.topbar{position:fixed;top:0;left:0;right:0;z-index:201;background:var(--orange);height:32px;line-height:32px;padding:0 2.5rem;text-align:center;overflow:hidden}
.topbar p{font-size:.75rem;font-weight:600;color:#fff;margin:0;line-height:32px}
.topbar a{color:#fff;text-decoration:underline}

/* ── NAV ── */
nav{position:fixed;top:32px;left:0;right:0;z-index:200;background:var(--navy);height:70px;display:flex;align-items:center;padding:0 2.5rem;}
nav.no-topbar{top:0}
.nav-inner{max-width:1200px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between}

/* CSS Logo */
.nav-logo{text-decoration:none;display:inline-flex;flex-direction:column;line-height:1;gap:0}
.nav-logo .nl1{display:flex;align-items:center;line-height:1}
.nav-logo .nl1 span{font-size:1.45rem;font-weight:900;color:#fff;letter-spacing:-.01em}
.nav-logo .nl1 .o-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}
.nav-logo .nl1 .o-dot{position:absolute;width:7px;height:7px;background:var(--orange);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-54%)}
.nav-logo .nl2{font-size:.5rem;font-weight:700;color:var(--g);letter-spacing:.35em;text-transform:uppercase;margin-top:3px;text-align:right;padding-right:2px}

/* Nav links */
.nav-links{display:flex;gap:0;list-style:none;align-items:center}
.nav-links>li{position:relative}
.nav-links>li>a{display:flex;align-items:center;gap:.25rem;padding:.5rem .9rem;font-size:.72rem;font-weight:600;color:rgba(255,255,255,.65);text-decoration:none;letter-spacing:.05em;text-transform:uppercase;transition:color .2s;white-space:nowrap}
.nav-links>li>a:hover,.nav-links>li:hover>a{color:#fff}
.dd-arrow{font-size:.5rem;opacity:.5}
/* Hover bridge */
.nav-links>li::after{content:'';position:absolute;top:100%;left:0;right:0;height:12px}
/* Dropdown */
.nav-links .dropdown{display:none;position:absolute;top:calc(100% + 12px);left:0;background:#fff;border-radius:var(--r2);box-shadow:0 20px 50px rgba(0,0,0,.18);border:1px solid var(--border);min-width:220px;padding:.5rem 0;z-index:300}
.nav-links li:hover .dropdown{display:block}
.dropdown a{display:block;padding:.55rem 1.1rem;font-size:.78rem;color:var(--textm);text-decoration:none;font-weight:500;transition:all .15s;white-space:nowrap}
.dropdown a:hover{background:var(--off);color:var(--navy)}
.dd-sect{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--textl);padding:.5rem 1.1rem .2rem;margin-top:.25rem}
.dd-divider{height:1px;background:var(--border);margin:.35rem 0}

/* Nav right */
.nav-r{display:flex;align-items:center;gap:.65rem}
.btn-nav-ghost{padding:.5rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:var(--r);color:rgba(255,255,255,.7);font-size:.72rem;font-weight:600;text-decoration:none;transition:all .2s;white-space:nowrap;letter-spacing:.04em}
.btn-nav-ghost:hover{border-color:rgba(255,255,255,.5);color:#fff}
.btn-nav-orange{padding:.55rem 1.25rem;background:var(--orange);border-radius:var(--r);color:#fff;font-size:.75rem;font-weight:700;text-decoration:none;transition:background .2s;white-space:nowrap}
.btn-nav-orange:hover{background:#e0641a}

/* Mobile nav */
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px 4px;background:none;border:none;z-index:300;outline:none}
.nav-burger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .3s}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;position:fixed;top:102px;left:0;right:0;background:var(--navy2);padding:1rem 2rem;z-index:199;border-top:1px solid rgba(255,255,255,.08);flex-direction:column;max-height:calc(100vh - 102px);overflow-y:auto}
.mobile-nav.open{display:flex}
.mobile-nav a{font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75);text-decoration:none;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.mobile-nav a:hover{color:#fff}
.mob-sub a{font-size:.72rem;color:rgba(255,255,255,.5);padding:.6rem 0 .6rem 1.25rem}
.mob-btns{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:1rem}
.mob-btns a{display:block;text-align:center;padding:.75rem 1rem;border-radius:var(--r);font-size:.82rem;font-weight:700;text-decoration:none}
.mob-btn-orange{background:var(--orange);color:#fff}
.mob-btn-ghost{border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.75)}
.mob-accordion{width:100%;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.75);font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.8rem 0;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.mob-accordion:hover{color:#fff}
.mob-acc-arrow{font-size:.6rem;transition:transform .25s;color:var(--orange);opacity:1}
.mob-acc-body{display:none;flex-direction:column}
.mob-acc-body.open{display:flex}
.mob-acc-body a{font-size:.72rem;color:rgba(255,255,255,.5);padding:.6rem 0 .6rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.04);text-decoration:none;text-transform:uppercase;letter-spacing:.06em}
.mob-acc-body a:hover{color:#fff}
.mob-acc-body .mob-sub-head{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);padding:.75rem 1.25rem .3rem;border-bottom:none}

/* ── SPACER ── */
.spacer{height:102px}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:#fff;background:var(--orange);text-decoration:none;padding:.85rem 1.9rem;border-radius:var(--r);transition:all .2s;border:none;cursor:pointer;font-family:var(--ff)}
.btn-primary:hover{background:#e0641a;transform:translateY(-1px)}
.btn-green{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:#fff;background:var(--g);text-decoration:none;padding:.85rem 1.9rem;border-radius:var(--r);transition:all .2s;border:none;cursor:pointer;font-family:var(--ff)}
.btn-green:hover{background:var(--gd);transform:translateY(-1px)}
.btn-outline-white{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.8);border:2px solid rgba(255,255,255,.25);text-decoration:none;padding:.83rem 1.9rem;border-radius:var(--r);transition:all .2s}
.btn-outline-white:hover{border-color:rgba(255,255,255,.7);color:#fff}
.btn-outline-green{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--g);border:2px solid var(--g);text-decoration:none;padding:.83rem 1.9rem;border-radius:var(--r);transition:all .2s;background:transparent}
.btn-outline-green:hover{background:var(--g);color:#fff}
.btn-white{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:800;color:var(--g);background:#fff;text-decoration:none;padding:.95rem 2.25rem;border-radius:var(--r2);transition:all .2s}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.15)}

/* ── LAYOUT ── */
.sec{padding:6rem 2.5rem}
.sec-sm{padding:4rem 2.5rem}
.inner{max-width:1200px;margin:0 auto}
.sec-navy{background:var(--navy)}
.sec-off{background:var(--off)}
.sec-white{background:#fff}
.sec-green{background:var(--g)}

/* ── TYPOGRAPHY HELPERS ── */
.eyebrow{display:flex;align-items:center;gap:.6rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.9rem}
.eyebrow::before{content:'';width:28px;height:2px;background:currentColor;flex-shrink:0}
.eyebrow-orange{color:var(--orange)}
.eyebrow-green{color:var(--g)}
.eyebrow-white{color:rgba(255,255,255,.6)}
.h2-display{font-size:clamp(1.8rem,2.8vw,2.6rem);font-weight:900;line-height:1.12;letter-spacing:-.02em;margin-bottom:1.25rem}
.h2-white{color:#fff}
.h2-navy{color:var(--navy)}
.txt-orange{color:var(--orange)}
.txt-green{color:var(--g)}
.lead{font-size:.98rem;color:var(--textm);line-height:1.75;font-weight:300;max-width:580px}
.lead-white{color:rgba(255,255,255,.55)}

/* ── HERO (two-column) ── */
.hero{background:var(--navy);padding:80px 2.5rem 80px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-200px;right:-100px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(44,161,106,.12) 0%,transparent 70%);pointer-events:none}
.hero-slash{position:absolute;top:0;right:320px;bottom:0;width:2px;background:linear-gradient(to bottom,transparent 10%,rgba(248,115,33,.3) 50%,transparent 90%);transform:skewX(-12deg)}
.hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 400px;gap:5rem;align-items:center}
.hero-eyebrow{font-size:.68rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.25rem}
.hero h1{font-size:clamp(2.2rem,3.8vw,3.6rem);font-weight:900;color:#fff;line-height:1.06;letter-spacing:-.02em;margin-bottom:1.5rem}
.hero-sub{font-size:1rem;color:rgba(255,255,255,.55);line-height:1.75;margin-bottom:2rem;font-weight:300;max-width:480px}
.hero-sub strong{color:rgba(255,255,255,.85);font-weight:600}
.hero-ctas{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.75rem;margin-bottom:2.5rem}
.hero-stats{display:flex;gap:2.5rem;flex-wrap:wrap}
.hero-stat .num{font-size:1.75rem;font-weight:900;color:#fff;line-height:1}
.hero-stat .num span{color:var(--g)}
.hero-stat .lbl{font-size:.68rem;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem}

/* Hero page (non-home) - simple dark bar */
.page-hero{background:var(--navy);padding:60px 2.5rem 60px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 100% at 70% 50%,rgba(44,161,106,.1) 0%,transparent 60%)}
.page-hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 380px;gap:4rem;align-items:center;position:relative;z-index:1}
.page-hero-text h1{font-size:clamp(2rem,3.5vw,3rem);font-weight:900;color:#fff;line-height:1.1;letter-spacing:-.02em;margin-bottom:1rem}
.page-hero-text p{font-size:.95rem;color:rgba(255,255,255,.55);line-height:1.75;font-weight:300;margin-bottom:1.75rem}

/* ── FORM CARD ── */
.form-card{background:#fff;border-radius:var(--r3);padding:2rem;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.form-card h3{font-size:1.1rem;font-weight:800;color:var(--navy);margin-bottom:.3rem}
.form-card p{font-size:.82rem;color:var(--textm);margin-bottom:1.5rem;font-weight:300}
.form-field{margin-bottom:.85rem}
.form-field label{display:block;font-size:.7rem;font-weight:600;color:var(--textm);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:.7rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);font-size:.85rem;font-family:var(--ff);color:var(--text);background:#fff;outline:none;transition:border-color .2s;line-height:1.4;box-sizing:border-box}
/* Force all single-line fields to identical height so a row of inputs
   and selects line up perfectly. 42px = 0.7rem*2 + 1.4em line-height + 2*1.5px border. */
.form-field input,.form-field select{height:42px}
/* Kill native select styling (appearance differs by OS/browser and
   inflates the height on some platforms) and add a custom caret */
.form-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23475569' stroke-width='1.8'%3E%3Cpolyline points='1,1.5 6,6.5 11,1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px 8px;padding-right:2.5rem}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--g)}
.form-field textarea{resize:vertical;min-height:90px}
.form-submit{width:100%;padding:.85rem;background:var(--orange);border:none;border-radius:var(--r);color:#fff;font-size:.9rem;font-weight:700;font-family:var(--ff);cursor:pointer;transition:background .2s}
.form-submit:hover{background:#e0641a}
.form-divider{display:flex;align-items:center;gap:.75rem;margin:.85rem 0}
.form-divider span{font-size:.72rem;color:var(--textl);white-space:nowrap}
.form-divider::before,.form-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.btn-pricing-link{display:block;width:100%;padding:.8rem;background:var(--g);border:none;border-radius:var(--r);color:#fff;font-size:.88rem;font-weight:700;font-family:var(--ff);cursor:pointer;text-decoration:none;text-align:center;transition:background .2s}
.btn-pricing-link:hover{background:var(--gd)}

/* ── ACCREDITATION STRIP ── */
.accred-strip{background:var(--navy2);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:2rem 2.5rem}
.accred-inner{max-width:1200px;margin:0 auto}
.accred-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.25);margin-bottom:1.25rem;text-align:center}
.accred-badges{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.accred-badge{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r2);padding:1rem 1.4rem;display:flex;align-items:center;gap:.85rem;flex:1;min-width:155px;max-width:215px;transition:border-color .2s}
.accred-badge:hover{border-color:rgba(255,255,255,.22)}
.accred-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.accred-icon svg{width:22px;height:22px;stroke-width:1.8;fill:none}
.ai-green{background:rgba(44,161,106,.2)} .ai-green svg{stroke:#4ade9a}
.ai-orange{background:rgba(248,115,33,.2)} .ai-orange svg{stroke:var(--orange)}
.ai-blue{background:rgba(59,130,246,.2)} .ai-blue svg{stroke:#60a5fa}
.ai-purple{background:rgba(168,85,247,.2)} .ai-purple svg{stroke:#c084fc}
.ai-pink{background:rgba(236,72,153,.2)} .ai-pink svg{stroke:#f472b6}
.accred-text .at{font-size:.82rem;font-weight:700;color:#fff;line-height:1.2}
.accred-text .as{font-size:.68rem;color:rgba(255,255,255,.4);margin-top:.15rem}

/* ── PROBLEM/SOLUTION ── */
.ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem}
.ps-card{border-radius:var(--r3);padding:2.5rem}
.ps-problem{background:#fff;border:1.5px solid var(--border)}
.ps-solution{background:var(--orange)}
.ps-card h3{font-size:1.25rem;font-weight:900;margin-bottom:1.5rem;letter-spacing:-.01em}
.ps-problem h3{color:var(--navy)}
.ps-solution h3{color:#fff}
.ps-list{list-style:none;display:flex;flex-direction:column;gap:.9rem}
.ps-list li{display:flex;gap:.85rem;align-items:flex-start;font-size:.88rem;line-height:1.6}
.ps-problem .ps-list li{color:var(--textm)}
.ps-solution .ps-list li{color:rgba(255,255,255,.92)}
.ps-bar{width:18px;height:3px;border-radius:2px;background:#ef4444;flex-shrink:0;margin-top:.55rem}
.ps-solution .ps-bar{background:rgba(255,255,255,.4)}
.ps-tick{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.ps-tick svg{width:10px;height:10px;stroke:#fff;stroke-width:2.5;fill:none}
.ps-cta{margin-top:2rem}

/* ── SERVICE CARDS ── */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{border:1.5px solid var(--border);border-radius:var(--r3);overflow:hidden;transition:all .3s;background:#fff}
.service-card:hover{border-color:var(--g);transform:translateY(-4px);box-shadow:0 20px 50px rgba(44,161,106,.1)}
.svc-img{height:200px;background:var(--off);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.svc-circle{width:140px;height:140px;border-radius:50%;border:4px solid #fff;box-shadow:0 8px 30px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;overflow:hidden}
.svc-circle img{width:100%;height:100%;object-fit:cover}
.svc-circle-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.svc-circle-ph svg{width:52px;height:52px;stroke:rgba(255,255,255,.6);stroke-width:1.2;fill:none}
.c-seo{background:linear-gradient(135deg,#1e40af,#7c3aed)}
.c-social{background:linear-gradient(135deg,#0891b2,#2563eb)}
.c-blog{background:linear-gradient(135deg,#059669,#0d9488)}
.c-web{background:linear-gradient(135deg,#0f1f3d,#1e3a5f)}
.c-hub{background:linear-gradient(135deg,#d97706,#f87321)}
.c-ai{background:linear-gradient(135deg,#7c3aed,#db2777)}
.svc-price{position:absolute;bottom:12px;right:12px;background:var(--navy);border-radius:20px;padding:.3rem .8rem;font-size:.7rem;font-weight:700;color:#fff}
.svc-price span{color:var(--g)}
.svc-body{padding:1.4rem 1.6rem 1.6rem}
.svc-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);margin-bottom:.4rem}
.svc-body h3{font-size:1rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.01em}
.svc-body p{font-size:.82rem;color:var(--textm);line-height:1.65;font-weight:300;margin-bottom:.85rem}
.svc-result{font-size:.75rem;font-weight:700;color:var(--g);display:flex;align-items:center;gap:.4rem}
.svc-result::before{content:'→'}

/* ── STEPS ── */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.step-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r3);padding:2.25rem;position:relative;overflow:hidden;transition:border-color .3s}
.step-card:hover{border-color:rgba(248,115,33,.3)}
.step-bg{font-size:5rem;font-weight:900;color:rgba(248,115,33,.07);position:absolute;bottom:-10px;right:12px;line-height:1;pointer-events:none}
.step-icon{width:50px;height:50px;border-radius:12px;background:rgba(248,115,33,.1);border:1px solid rgba(248,115,33,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}
.step-icon svg{width:24px;height:24px;stroke:var(--orange);stroke-width:1.8;fill:none}
.step-card h3{font-size:1rem;font-weight:800;color:#fff;margin-bottom:.75rem}
.step-card p{font-size:.84rem;color:rgba(255,255,255,.45);line-height:1.7;font-weight:300}

/* ── WHY CARDS ── */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:3rem}
.why-card{background:#fff;border-radius:var(--r3);padding:1.75rem;border:1.5px solid var(--border);transition:border-color .3s}
.why-card:hover{border-color:var(--g)}
.why-icon{width:52px;height:52px;border-radius:14px;margin-bottom:1.1rem;display:flex;align-items:center;justify-content:center}
.wi-navy{background:var(--navy)} .wi-green{background:var(--g)} .wi-orange{background:var(--orange)} .wi-grey{background:var(--off);border:1.5px solid var(--border)}
.why-icon svg{width:26px;height:26px;stroke:#fff;stroke-width:1.8;fill:none}
.wi-grey svg{stroke:var(--navy)}
.why-card h3{font-size:.92rem;font-weight:800;margin-bottom:.5rem}
.why-card p{font-size:.8rem;color:var(--textm);line-height:1.7;font-weight:300}

/* ── TESTIMONIAL ── */
.testimonial-sec{background:var(--navy);padding:6rem 2.5rem;position:relative;overflow:hidden}
.testimonial-sec::before{content:'"';position:absolute;left:3%;top:-3rem;font-size:22rem;font-weight:900;color:rgba(248,115,33,.05);line-height:1;pointer-events:none}
.t-inner{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:1}
.t-stars{color:var(--orange);font-size:1.1rem;margin-bottom:1.5rem;letter-spacing:.1em}
.t-quote{font-size:clamp(1.2rem,2.2vw,1.75rem);font-weight:700;color:#fff;line-height:1.45;letter-spacing:-.01em;margin-bottom:2rem}
.t-quote .orange{color:var(--orange)}
.t-author{display:flex;align-items:center;justify-content:center;gap:1rem}
.t-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--g),#00c47c);display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;font-size:.9rem;border:2px solid rgba(255,255,255,.15);overflow:hidden}
.t-avatar img{width:100%;height:100%;object-fit:cover}
.t-name{font-weight:700;color:#fff;font-size:.9rem}
.t-role{font-size:.75rem;color:rgba(255,255,255,.4)}

/* ── CTA SECTION ── */
.cta-sec{background:var(--g);padding:6rem 2.5rem;position:relative;overflow:hidden}
.cta-sec::before{content:'';position:absolute;top:-50%;left:-10%;width:600px;height:600px;border-radius:50%;background:rgba(0,0,0,.07);pointer-events:none}
.cta-inner{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:1}
.cta-inner h2{font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:900;color:#fff;letter-spacing:-.02em;line-height:1.1;margin-bottom:1rem}
.cta-inner p{font-size:1rem;color:rgba(255,255,255,.75);font-weight:300;max-width:560px;margin:0 auto 2.5rem;line-height:1.7}
.cta-btns{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.cta-prices{display:flex;justify-content:center;gap:3rem;margin-top:2.5rem;flex-wrap:wrap}
.cta-price{text-align:center}
.cta-price .from{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.55)}
.cta-price .amount{font-size:1.65rem;font-weight:900;color:#fff;line-height:1.1}
.cta-price .what{font-size:.72rem;color:rgba(255,255,255,.55)}

/* ── FOOTER ── */
footer{background:var(--navy);padding:3rem 2rem 2rem}
.footer-wrap{max-width:1240px;margin:0 auto}
.footer-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:3.5rem 3.5rem 2.5rem;margin-bottom:1.5rem}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;padding-bottom:2.5rem;}
.footer-brand{max-width:280px}
.footer-logo .wm{font-size:2rem;font-weight:900;color:#fff;letter-spacing:.02em;line-height:1;display:flex;align-items:center}
.footer-logo .wm .fo-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}
.footer-logo .wm .fo-dot{position:absolute;width:10px;height:10px;background:var(--orange);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-54%)}
.footer-logo .ws{font-size:.6rem;font-weight:700;color:var(--g);letter-spacing:.3em;text-transform:uppercase;margin-top:.4rem;display:block;text-align:right}
.footer-desc{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.7;margin:0 0 .85rem;font-weight:300}
.footer-legal-line{font-size:.72rem;color:rgba(255,255,255,.3);line-height:1.7;margin:0;font-weight:300}
.footer-badges{display:flex;gap:.5rem;margin-top:1.25rem;flex-wrap:wrap}
.f-badge{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.4rem .8rem;font-size:.68rem;font-weight:600;color:rgba(255,255,255,.5);white-space:nowrap}
.f-badge.fg{border-color:rgba(44,161,106,.3);color:rgba(44,161,106,.8)}
.f-badge.fo{border-color:rgba(248,115,33,.3);color:rgba(248,115,33,.8)}
.footer-col h4{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.25);margin-bottom:1.25rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer-col ul li a{font-size:.85rem;color:rgba(255,255,255,.5);text-decoration:none;font-weight:400;transition:color .2s}
.footer-col ul li a:hover{color:#fff}
.footer-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-legal{font-size:.72rem;color:rgba(255,255,255,.22);line-height:1.7}
.footer-email a{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.45);text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:color .2s}
.footer-email a:hover{color:#fff}
.footer-awards{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}
.award-pill{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:.55rem 1.1rem;font-size:.73rem;font-weight:600;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:.45rem}
.award-pill .ap-dot{width:5px;height:5px;border-radius:50%;background:var(--g);flex-shrink:0}
.award-pill.ap-o .ap-dot{background:var(--orange)}

/* ── NEWS CARDS ── */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.news-card{border:1.5px solid var(--border);border-radius:var(--r3);overflow:hidden;transition:all .3s;background:#fff;text-decoration:none;display:block;color:inherit}
.news-card:hover{border-color:var(--g);transform:translateY(-3px);box-shadow:0 16px 40px rgba(44,161,106,.09)}
.news-card-img{height:200px;background:var(--off);position:relative;overflow:hidden}
.news-card-img img{width:100%;height:100%;object-fit:cover}
.news-card-img .nc-cat{position:absolute;top:12px;left:12px;background:var(--orange);border-radius:20px;padding:.25rem .7rem;font-size:.65rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.06em}
.news-card-body{padding:1.25rem 1.5rem 1.5rem}
.news-card-meta{font-size:.72rem;color:var(--textl);margin-bottom:.5rem}
.news-card-body h3{font-size:.95rem;font-weight:800;margin-bottom:.5rem;line-height:1.4}
.news-card-body p{font-size:.82rem;color:var(--textm);line-height:1.6;font-weight:300;margin-bottom:.75rem}
.news-card-read{font-size:.75rem;font-weight:700;color:var(--g)}

/* ── CONTENT PAGES (2-col: text left, form right) ── */
.content-2col{display:grid;grid-template-columns:1fr 380px;gap:4rem;align-items:start}
/* When a body section has no form-card on the right (duplicate callback removed),
   use the .content-solo modifier to collapse to a single centred column. */
.content-2col.content-solo{grid-template-columns:1fr;max-width:1200px;margin:0 auto}
.content-body h2{font-size:1.5rem;font-weight:900;margin-bottom:.75rem;letter-spacing:-.01em}
.content-body h3{font-size:1.1rem;font-weight:800;margin:1.75rem 0 .65rem}
.content-body p{font-size:.9rem;color:var(--textm);line-height:1.8;font-weight:300;margin-bottom:1rem}
.content-body ul{margin:.75rem 0 1rem 0;display:flex;flex-direction:column;gap:.5rem}
.content-body ul li{font-size:.88rem;color:var(--textm);line-height:1.6;padding-left:1.5rem;position:relative}
.content-body ul li::before{content:'→';position:absolute;left:0;color:var(--g);font-weight:700}

/* ── INCLUDED LIST ── */
.included-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}
.included-list li{display:flex;align-items:flex-start;gap:.85rem;font-size:.88rem;color:var(--textm);line-height:1.55}
.il-tick{width:22px;height:22px;border-radius:50%;background:var(--gl);border:1.5px solid var(--g);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.05rem}
.il-tick svg{width:10px;height:10px;stroke:var(--g);stroke-width:2.5;fill:none}

/* ── PRICING CARDS ── */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.price-card{border:1.5px solid var(--border);border-radius:var(--r3);padding:2rem;background:#fff;position:relative;transition:all .3s}
.price-card.featured{border-color:var(--g);box-shadow:0 20px 50px rgba(44,161,106,.12)}
.price-card .pc-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);margin-bottom:.75rem}
.price-card h3{font-size:1.1rem;font-weight:900;margin-bottom:.5rem}
.price-card .pc-desc{font-size:.82rem;color:var(--textm);font-weight:300;margin-bottom:1.5rem;line-height:1.6}
.price-card .pc-price{font-size:2.5rem;font-weight:900;color:var(--navy);line-height:1;margin-bottom:.25rem}
.price-card .pc-price span{font-size:.9rem;font-weight:400;color:var(--textl)}
.price-card .pc-period{font-size:.75rem;color:var(--textl);margin-bottom:1.75rem}
.pc-features{list-style:none;display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.75rem}
.pc-features li{display:flex;align-items:flex-start;gap:.75rem;font-size:.83rem;color:var(--textm);line-height:1.5}
.pc-features li .pf-tick{width:18px;height:18px;border-radius:50%;background:var(--gl);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.pc-features li .pf-tick svg{width:9px;height:9px;stroke:var(--g);stroke-width:2.5;fill:none}
.pc-popular{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:.65rem;font-weight:800;padding:.3rem .9rem;border-radius:20px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}

/* ── LEGAL PAGES ── */
.legal{max-width:1200px;margin:0 auto}
.legal h1{font-size:2rem;font-weight:900;margin-bottom:.5rem}
.legal .meta{font-size:.8rem;color:var(--textl);margin-bottom:2.5rem}
.legal h2{font-size:1.15rem;font-weight:800;margin:2rem 0 .6rem}
.legal p{font-size:.9rem;color:var(--textm);line-height:1.8;margin-bottom:1rem}
.legal ul{margin:.5rem 0 1rem 1.25rem;display:flex;flex-direction:column;gap:.4rem}
.legal ul li{font-size:.9rem;color:var(--textm);line-height:1.7}

/* ── FAQ ── */
.faq-list{display:flex;flex-direction:column;gap:.75rem;max-width:1200px}
.faq-item{border:1.5px solid var(--border);border-radius:var(--r2);overflow:hidden}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;cursor:pointer;font-weight:700;font-size:.92rem;gap:1rem}
.faq-q .faq-icon{font-size:.75rem;color:var(--textl);flex-shrink:0;transition:transform .2s}
.faq-item.open .faq-q .faq-icon{transform:rotate(180deg)}
.faq-a{display:none;padding:0 1.5rem 1.25rem;font-size:.87rem;color:var(--textm);line-height:1.75;font-weight:300}
.faq-item.open .faq-a{display:block}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .hero-inner,.page-hero-inner,.content-2col{grid-template-columns:1fr}
  .footer-top{grid-template-columns:repeat(2,1fr);gap:2rem}
  .footer-brand{grid-column:1 / -1;max-width:100%}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid,.steps-grid,.pricing-grid{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .ps-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  nav{top:0}
  .topbar{display:none}
  .spacer{height:70px;background:var(--navy)}
  .mobile-nav{top:70px;max-height:calc(100vh - 70px)}
  .nav-links,.nav-r .btn-nav-ghost,.nav-r .btn-nav-orange{display:none}
  .nav-burger{display:flex}
  /* Fix 5: prevent horizontal scroll */
  body{overflow-x:hidden}
  /* Fix 6: contact 4-card equal split */
  .contact-channels{grid-template-columns:1fr 1fr !important}
  /* Fix 7: FAQ full width */
  .faq-page{padding:0 1rem}
  /* Fix 8: art-back visible on mobile */
  .art-back{display:inline-flex !important}
  /* Fix 9: book-a-call date/time stack on mobile */
  #bac-form > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
  .services-grid,.steps-grid,.pricing-grid,.news-grid,.why-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .footer-card{padding:2rem 1.5rem}
  .ps-grid{grid-template-columns:1fr}
  .hero-inner,.page-hero-inner{grid-template-columns:1fr;gap:2.5rem}
  .hero,.page-hero{padding:50px 1.5rem 50px}
  .sec{padding:4rem 1.5rem}
  .hero-stats{gap:1.25rem}
  .accred-badges{flex-direction:column}
  .accred-badge{max-width:100%}
  .hero-slash{display:none}
}

/* Force logo to be properly contained and centred */
nav .nav-logo{display:flex;align-items:center;height:100%;padding:0;margin:0}
nav .nav-logo img{display:block;max-height:calc(100% - 20px);height:72px;width:auto}

/* Kill any top gap / white line above the header */
html, body {background: var(--navy) !important; margin:0 !important; padding:0 !important}
body {background: #fff !important} /* body is white for normal content, but html stays navy */

/* Remove the OLD text-logo remnants — DIGITAL span, o-dot etc. */
.nav-logo .nl1, .nav-logo .nl2, .nav-logo .o-dot, .nav-logo .o-wrap {display:none !important}

/* Keep only the img */
.nav-logo img {display:block !important}

/* ═══════════════════════════════════════════════════════════════
   GrowMark Digital — Page support classes (append v1, Apr 2026)
   Adds classes used by: carbon-reduction-plan.php, community.php,
   knowledge-hub.php, ai-chat.php, online-booking.php.
   Pure additive — no overrides of existing rules.
   ═══════════════════════════════════════════════════════════════ */

/* ── PAGE HERO EXTRAS ── */
.page-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 30% 40%,rgba(44,161,106,.12) 0%,transparent 60%),radial-gradient(ellipse 50% 70% at 80% 60%,rgba(248,115,33,.08) 0%,transparent 60%);pointer-events:none}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 70%)}
.page-hero-ctas{display:flex;gap:.75rem;margin-top:1.75rem;flex-wrap:wrap}
.page-hero-price{display:inline-flex;align-items:baseline;gap:.5rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r2);padding:.85rem 1.25rem;margin-bottom:1.25rem}
.php-from{font-size:.68rem;font-weight:600;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.12em}
.php-amount{font-size:1.6rem;font-weight:900;color:#fff;letter-spacing:-.01em}
.php-per{font-size:.75rem;font-weight:500;color:rgba(255,255,255,.55)}
/* Base headline colour for ANY h1 inside a page-hero, not just inside .page-hero-text.
   The existing rule (.page-hero-text h1) only covers the two-column layout; these newer
   pages (community, carbon-reduction-plan, knowledge-hub) put h1 directly under
   .page-hero-inner and were rendering as dark-navy-on-navy (invisible). */
.page-hero-inner>div>h1,
.page-hero-inner>h1{font-size:clamp(2rem,3.5vw,3rem);font-weight:900;color:#fff;line-height:1.1;letter-spacing:-.02em;margin-bottom:1rem}
.page-hero-inner>div>p,
.page-hero-inner>p{font-size:.95rem;color:rgba(255,255,255,.7);line-height:1.75;font-weight:300;margin-bottom:1.75rem}
.page-hero h1,.page-hero h1 strong{color:#fff}
.page-hero h1 strong{font-weight:900;display:inline}
.page-hero h1 .hl{color:var(--g)}

/* Single-column page-hero (any page-hero-inner that has no .form-card on the right).
   Using :not(:has(...)) so it works for pages with multiple children (eyebrow + h1 + p
   + ctas) as well as single-child layouts. Carbon, community, knowledge-hub all use
   this pattern. */
.page-hero-inner:not(:has(.form-card)){grid-template-columns:1fr}

/* ── EYEBROW VARIANTS ── */
/* Alternate eyebrow syntax used on newer pages: <div class="eyebrow grn"><span class="ew-line"></span>Label</div> */
.eyebrow.grn{color:var(--g)}
.eyebrow.lt{color:rgba(255,255,255,.55)}
.eyebrow .ew-line{display:inline-block;width:28px;height:2px;background:currentColor;flex-shrink:0}
/* When ew-line is used inline, suppress the ::before pseudo-element to avoid double-lines */
.eyebrow:has(.ew-line)::before{display:none}

/* ── SECTION HEADINGS (alt vocabulary) ── */
.st{font-size:clamp(1.8rem,2.8vw,2.6rem);font-weight:900;line-height:1.12;letter-spacing:-.02em;color:var(--navy);margin-bottom:1.25rem}
.st strong{font-weight:900;color:var(--g)}
.ss{font-size:.95rem;color:var(--textm);line-height:1.8;font-weight:300;margin-bottom:1rem}

/* ── BUTTONS (generic outline, for dark backgrounds) ── */
.btn-outline{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.8);border:2px solid rgba(255,255,255,.25);text-decoration:none;padding:.83rem 1.9rem;border-radius:var(--r);transition:all .2s;background:transparent}
.btn-outline:hover{border-color:rgba(255,255,255,.7);color:#fff}

/* ═══ CARBON REDUCTION PLAN PAGE ═══ */
.crp-wrap{max-width:1200px;margin:0 auto}
.ppn-badge{display:inline-flex;align-items:center;gap:.55rem;background:rgba(44,161,106,.08);border:1px solid rgba(44,161,106,.2);color:var(--g);font-size:.72rem;font-weight:700;padding:.55rem 1rem;border-radius:999px;margin-bottom:1.25rem;letter-spacing:.04em}
.ppn-badge svg{flex-shrink:0}
.crp-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;font-size:.78rem;color:var(--textl);padding-bottom:2rem;margin-bottom:2.5rem;border-bottom:1px solid var(--border)}
.crp-section{margin-bottom:3rem}
.crp-section>h2{font-size:1.35rem;font-weight:800;color:var(--navy);margin-bottom:1rem;letter-spacing:-.01em}
.crp-section>h3{font-size:1rem;font-weight:700;color:var(--navy);margin:1.75rem 0 .75rem}
.crp-section>p{font-size:.9rem;color:var(--textm);line-height:1.8;font-weight:300;margin-bottom:1rem}
.crp-table{width:100%;border-collapse:collapse;margin:.5rem 0 .25rem;font-size:.82rem;background:#fff;border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}
.crp-table th{background:var(--off);color:var(--navy);font-weight:700;text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.crp-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);color:var(--textm);line-height:1.55;vertical-align:top;font-weight:300}
.crp-table tr:last-child td{border-bottom:none}
.crp-table tbody tr:hover{background:rgba(44,161,106,.025)}
.commitment-box{background:var(--off);border-left:4px solid var(--g);border-radius:var(--r2);padding:1.5rem 1.75rem;margin:1rem 0}
.commitment-box h3{font-size:.95rem;font-weight:800;color:var(--navy);margin-bottom:.6rem}
.commitment-box p{font-size:.88rem;color:var(--textm);line-height:1.75;font-weight:300;margin-bottom:.85rem}
.commitment-box ul{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}
.commitment-box ul li{position:relative;padding-left:1.25rem;font-size:.85rem;color:var(--textm);line-height:1.65;font-weight:300}
.commitment-box ul li::before{content:'';position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--g)}
.impact-box{background:rgba(248,115,33,.05);border:1px solid rgba(248,115,33,.15);border-radius:var(--r2);padding:1.25rem 1.5rem;margin:1.25rem 0}
.impact-box p{font-size:.86rem;color:var(--textm);line-height:1.7;font-weight:300;margin:0}
.sig-block{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.sig-field{margin-bottom:1rem}
.sig-field label{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--textl);margin-bottom:.4rem}
.sig-field p{font-size:.9rem;color:var(--navy);font-weight:500;margin:0}
.sig-field .sig-name{font-family:'Brush Script MT','Lucida Handwriting',cursive;font-size:1.5rem;color:var(--navy);font-weight:400;line-height:1}

/* ═══ COMMUNITY PAGE ═══ */
.comm-intro{max-width:760px;margin:0 auto 3rem;text-align:center}
.comm-intro .eyebrow{justify-content:center}
.comm-intro p{margin:.75rem auto;max-width:660px}
.comm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1rem}
.comm-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--r2);padding:1.75rem;transition:all .2s}
.comm-card:hover{border-color:var(--g);transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,31,61,.06)}
.comm-card h3{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:.65rem}
.comm-card p{font-size:.85rem;color:var(--textm);line-height:1.7;font-weight:300}
.topics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}
.topic-item{display:flex;align-items:flex-start;gap:.9rem;padding:1.1rem 1.25rem;background:var(--off);border-radius:var(--r2);border:1px solid transparent;transition:all .2s}
.topic-item:hover{border-color:var(--g);background:#fff}
.topic-dot{width:8px;height:8px;background:var(--g);border-radius:50%;flex-shrink:0;margin-top:.55rem}
.topic-item p{font-size:.86rem;color:var(--textm);line-height:1.7;font-weight:300;margin:0}
.topic-item p strong{color:var(--navy);font-weight:700}
.advice-box{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center;background:#fff;border-radius:var(--r3);padding:2.5rem;border:1.5px solid var(--border)}
.advice-l{min-width:0}
.advice-l h2{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:900;color:var(--navy);line-height:1.15;letter-spacing:-.01em;margin-bottom:1rem}
.advice-l h2 strong{font-weight:900;color:var(--g)}
.advice-l p{font-size:.9rem;color:var(--textm);line-height:1.75;font-weight:300;margin-bottom:1rem}
.advice-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.advice-stat{background:var(--off);border-radius:var(--r2);padding:1.25rem;border:1px solid var(--border)}
.advice-stat-n{font-size:1.25rem;font-weight:900;color:var(--navy);line-height:1.1;margin-bottom:.3rem}
.advice-stat-n strong{color:var(--orange);font-weight:900}
.advice-stat-l{font-size:.72rem;color:var(--textm);font-weight:500;letter-spacing:.02em}

/* Alternate CTA section layout — centre-stacked */
.cta-in{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:1}
.cta-in .eyebrow{justify-content:center;color:rgba(255,255,255,.6)}
.cta-t{font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:900;color:#fff;letter-spacing:-.02em;line-height:1.1;margin-bottom:1rem}
.cta-t strong{font-weight:900;color:#fff}
.cta-s{font-size:1rem;color:rgba(255,255,255,.8);font-weight:300;max-width:560px;margin:0 auto 2rem;line-height:1.7}

/* ═══ KNOWLEDGE HUB (service detail) PAGE ═══ */
.svc-detail-grid{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start}
.svc-includes-box{background:var(--off);border:1.5px solid var(--border);border-radius:var(--r3);padding:1.75rem}
.svc-includes-box h3{font-size:.95rem;font-weight:800;color:var(--navy);margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}
.svc-include-item{font-size:.85rem;color:var(--textm);line-height:1.6;font-weight:300;padding:.6rem 0 .6rem 1.55rem;position:relative;border-bottom:1px solid rgba(0,0,0,.04)}
.svc-include-item:last-child{border-bottom:none;padding-bottom:.25rem}
.svc-include-item::before{content:'';position:absolute;left:0;top:.85rem;width:14px;height:14px;background:var(--g);border-radius:50%;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px var(--g)}
.svc-include-item::after{content:'';position:absolute;left:4px;top:.95rem;width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.svc-price-box{margin-top:1.25rem;background:var(--navy);color:#fff;border-radius:var(--r3);padding:1.75rem;text-align:center}
.spb-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.45);margin-bottom:.4rem}
.spb-price{font-size:2.5rem;font-weight:900;color:#fff;line-height:1;letter-spacing:-.02em}
.spb-price strong{font-weight:900}
.spb-per{font-size:.78rem;color:rgba(255,255,255,.55);margin-top:.5rem;font-weight:300}
.svc-price-box .btn-primary{background:var(--orange)}
.svc-price-box .btn-primary:hover{background:#e0641a}
.link-arrow{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;color:var(--g);text-decoration:none;transition:gap .2s}
.link-arrow:hover{gap:.55rem;color:var(--gd)}

/* ── RESPONSIVE (support classes) ── */
@media(max-width:1024px){
  .comm-cards{grid-template-columns:1fr 1fr}
  .svc-detail-grid{grid-template-columns:1fr}
  .sig-block{grid-template-columns:1fr}
  .advice-box{grid-template-columns:1fr;gap:1.75rem;padding:2rem}
}
@media(max-width:768px){
  .page-hero-inner{grid-template-columns:1fr}
  .comm-cards,.topics-grid,.advice-stats{grid-template-columns:1fr}
  .crp-table{display:block;overflow-x:auto;white-space:nowrap}
  .crp-meta{flex-direction:column;gap:.25rem}
  .advice-box{padding:1.5rem}
  .page-hero-price{padding:.7rem 1rem}
  .php-amount{font-size:1.35rem}
  .page-hero-ctas{flex-direction:column;align-items:stretch}
  .page-hero-ctas a{justify-content:center}
}

/* ═══════════════════════════════════════════════════════════════
   GrowMark Digital — Page support classes (append v2, Apr 2026)
   Covers the remaining undefined classes found in a full audit:
   knowledge.php, payments.php, pricing.php, complaints.php,
   vulnerability.php, cookies.php, logo-design.php, and legal pages.
   ═══════════════════════════════════════════════════════════════ */

/* ═══ PRICING PAGE HERO ═══ */
/* pricing.php uses its own hero wrapper (not .page-hero) because the page
   layout is bespoke for the React configurator below. Same visual language. */
.pricing-hero{background:var(--navy);padding:102px 2.5rem 60px;position:relative;overflow:hidden}
.pricing-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 100% at 70% 50%,rgba(44,161,106,.1) 0%,transparent 60%);pointer-events:none}
.pricing-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 70%)}
.pricing-hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}

/* ═══ KNOWLEDGE INDEX PAGE ═══ */
/* Topic-browse cards (the "Find what you need right now" section) */
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.theme-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--r2);padding:1.6rem;transition:all .2s;display:flex;flex-direction:column}
.theme-card:hover{border-color:var(--g);transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,31,61,.06)}
.theme-card h3{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:.55rem;line-height:1.25}
.theme-card p{font-size:.85rem;color:var(--textm);line-height:1.7;font-weight:300;margin-bottom:1rem;flex:1}
.theme-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;color:var(--g);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;transition:gap .2s}
.theme-link:hover{gap:.55rem;color:var(--gd)}

/* Filter bar and guide cards (the "Browse the full guide library" section) */
.filter-bar{display:flex;flex-wrap:wrap;gap:.55rem;margin:2rem 0 2.25rem}
.filter-btn{font-family:var(--ff);font-size:.72rem;font-weight:600;color:var(--textm);background:#fff;border:1.5px solid var(--border);border-radius:999px;padding:.55rem 1.1rem;cursor:pointer;transition:all .15s;letter-spacing:.03em;text-transform:uppercase}
.filter-btn:hover{border-color:var(--g);color:var(--g)}
.filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}

.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.guide-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--r2);overflow:hidden;display:flex;flex-direction:column;transition:all .2s;text-decoration:none;color:inherit}
.guide-card:hover{border-color:var(--g);transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,31,61,.06)}
.guide-card .gc-read{position:static;pointer-events:none}
.guide-card::after{content:'';position:absolute;inset:0;z-index:0;cursor:pointer}
.guide-card:hover .gc-cat,.guide-card:hover .gc-title{color:var(--navy)}
.gc-top{padding:1.4rem 1.4rem 1rem;border-bottom:1px solid var(--border)}
.gc-cat{font-size:.62rem;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.5rem}
.gc-title{font-size:.95rem;font-weight:800;color:var(--navy);line-height:1.35;letter-spacing:-.01em}
.gc-body{padding:1.1rem 1.4rem 1.4rem;display:flex;flex-direction:column;flex:1}
.gc-excerpt{font-size:.82rem;color:var(--textm);line-height:1.7;font-weight:300;margin-bottom:1rem;flex:1}
.gc-meta{display:flex;justify-content:space-between;align-items:center;padding-top:.85rem;border-top:1px solid rgba(0,0,0,.04)}
.gc-time{font-size:.7rem;color:var(--textl);font-weight:500;letter-spacing:.02em}
.gc-read{font-size:.75rem;font-weight:700;color:var(--g);text-decoration:none;transition:color .15s}
.gc-read:hover{color:var(--gd)}

/* An alternate .st heading tone for dark backgrounds (.st.lt = "section title, light") */
.st.lt{color:#fff}
.st.lt strong{color:var(--g)}

/* ═══ PAYMENTS PAGE ═══ */
.payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.5rem}
.payment-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--r2);padding:1.75rem;display:flex;flex-direction:column}
.payment-card h3{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:1rem}
.payment-card .amount{font-size:1.9rem;font-weight:900;color:var(--navy);letter-spacing:-.02em;line-height:1.1;margin-bottom:.2rem}
.payment-card .amount-sub{font-size:.82rem;font-weight:500;color:var(--textl);margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.payment-card p{font-size:.86rem;color:var(--textm);line-height:1.7;font-weight:300;margin:0}
.payment-card.featured{background:var(--navy);border-color:var(--navy);color:#fff}
.payment-card.featured h3{color:#fff}
.payment-card.featured .amount{color:#fff}
.payment-card.featured .amount span{color:rgba(255,255,255,.55) !important}
.payment-card.featured .amount-sub{color:var(--g);border-bottom-color:rgba(255,255,255,.15)}
.payment-card.featured p{color:rgba(255,255,255,.75)}
.payment-card.featured p a{color:var(--g) !important}

.billing-table{width:100%;border-collapse:collapse;margin:.5rem 0 .25rem;font-size:.86rem;background:#fff;border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}
.billing-table th{background:var(--off);color:var(--navy);font-weight:700;text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.billing-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);color:var(--textm);line-height:1.5;vertical-align:top;font-weight:300}
.billing-table tr:last-child td{border-bottom:none}
.billing-table tbody tr:hover{background:rgba(44,161,106,.025)}

/* ═══ LEGAL PAGES ═══ */
.legal-meta{font-size:.78rem;color:var(--textl);margin-bottom:2.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border);font-weight:300}

/* ═══ COMPLAINTS & VULNERABILITY — numbered-step boxes ═══ */
.step-box{display:grid;grid-template-columns:56px 1fr;gap:1.25rem;align-items:flex-start;padding:1.5rem;background:var(--off);border-radius:var(--r2);border:1px solid var(--border);margin-bottom:1rem}
.step-num{width:44px;height:44px;background:var(--g);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:800;flex-shrink:0}
.step-content h3{font-size:.95rem;font-weight:800;color:var(--navy);margin-bottom:.5rem}
.step-content p{font-size:.86rem;color:var(--textm);line-height:1.75;font-weight:300;margin-bottom:.6rem}
.step-content p:last-child{margin-bottom:0}

/* ═══ COMPLAINTS — contact callout box ═══ */
.contact-box{background:var(--navy);color:#fff;border-radius:var(--r2);padding:1.75rem;margin:1.5rem 0}
.contact-box h3{font-size:1rem;font-weight:800;color:#fff;margin-bottom:.75rem}
.contact-box p{font-size:.88rem;color:rgba(255,255,255,.75);line-height:1.75;font-weight:300;margin-bottom:.6rem}
.contact-box a{color:var(--g);text-decoration:none;font-weight:600}
.contact-box a:hover{color:#4ade80}

/* ═══ COOKIES PAGE ═══ */
.cookie-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.85rem;background:#fff;border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}
.cookie-table th{background:var(--off);color:var(--navy);font-weight:700;text-align:left;padding:.8rem 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}
.cookie-table td{padding:.8rem 1rem;border-bottom:1px solid var(--border);color:var(--textm);line-height:1.55;vertical-align:top;font-weight:300}
.cookie-table tr:last-child td{border-bottom:none}
.pref-btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ff);font-size:.8rem;font-weight:700;color:#fff;background:var(--orange);border:none;padding:.75rem 1.4rem;border-radius:var(--r);cursor:pointer;transition:background .2s;margin:1rem 0}
.pref-btn:hover{background:#e0641a}

/* ═══ LOGO DESIGN PAGE (LIQUIDBRANDD partner service) ═══ */
.liq-band{background:var(--navy);border-radius:var(--r3);padding:2rem;color:#fff;border:1px solid rgba(255,255,255,.08)}
.liq-tagline{font-family:'Georgia',serif;font-size:1rem;font-style:italic;color:rgba(255,255,255,.7);margin-bottom:1rem;letter-spacing:.01em}
.liq-body{font-size:.86rem;color:rgba(255,255,255,.65);line-height:1.75;font-weight:300;margin-bottom:1.25rem}
.btn-liq{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ff);font-size:.82rem;font-weight:700;color:var(--navy);background:#fff;text-decoration:none;padding:.75rem 1.4rem;border-radius:var(--r);transition:all .2s}
.btn-liq:hover{background:var(--g);color:#fff}

.btn-outline-dk{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--navy);border:2px solid var(--navy);text-decoration:none;padding:.83rem 1.9rem;border-radius:var(--r);transition:all .2s;background:transparent}
.btn-outline-dk:hover{background:var(--navy);color:#fff}

.img-ph{background:linear-gradient(135deg,var(--off) 0%,#eef1f5 100%);border:2px dashed var(--border);border-radius:var(--r2);display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center}
.img-ph-label{font-size:.78rem;color:var(--textl);font-weight:500;line-height:1.6;font-style:italic}

/* ── RESPONSIVE (append v2) ── */
@media(max-width:1024px){
  .theme-grid,.guide-grid,.payment-grid{grid-template-columns:repeat(2,1fr)}
  .payment-card.featured{grid-column:span 2}
}
@media(max-width:768px){
  .theme-grid,.guide-grid,.payment-grid{grid-template-columns:1fr}
  .payment-card.featured{grid-column:auto}
  .step-box{grid-template-columns:40px 1fr;gap:1rem;padding:1.1rem}
  .step-num{width:36px;height:36px;font-size:.95rem}
  .billing-table,.cookie-table{display:block;overflow-x:auto}
  .filter-bar{gap:.4rem}
  .filter-btn{font-size:.66rem;padding:.45rem .85rem}
  .pricing-hero{padding:80px 1.5rem 40px}
}

/* ═══════════════════════════════════════════════════════════════
   GrowMark Digital — Hero consistency fix (append v3, Apr 2026)

   Problem: hero headlines and eyebrows jumped around the page.
   Root causes:
     1. .page-hero-inner used align-items:center, which centred
        single-column content vertically within an inflated hero.
     2. Several pages had inline `style="padding:168px 2.5rem 100px"`
        overrides, which expanded their heroes far past the default
        and pushed the content to the bottom of a huge empty space.
     3. .page-hero-price used `display:inline-flex` but on a
        `grid-template-columns:1fr` layout it was stretching full-width
        because the grid item spans the column. We need align-self:start.

   Fix: use a nested grid child wrapper with top alignment, consistent
   padding override with higher specificity than inline styles, and
   force the price pill and CTA row to be shrink-wrapped.
   ═══════════════════════════════════════════════════════════════ */

/* Normalise page-hero padding. !important used because several pages
   had inline style="padding:168px..." overrides. Inline styles on those
   pages have also been stripped, but !important is here as a safety net. */
.page-hero{padding:84px 2.5rem 72px !important}

/* Top-align hero content (previously centred vertically, causing headlines
   to float mid-hero when content was short). */
.page-hero-inner{align-items:start !important}

/* When the hero is single-column (no form-card on the right), stop
   the 1fr column from forcing child flex/inline-flex elements to
   stretch. This is what made the price pill bar-like in screenshot 1. */
.page-hero-inner:not(:has(.form-card))>*{justify-self:start;max-width:100%}

/* Price pill — make it shrink to its contents, never stretch */
.page-hero-price{align-self:start;width:auto;max-width:max-content}

/* CTA button row — shrink-wrap too */
.page-hero-ctas{align-self:start}

/* Pages that use .page-hero-inner WITHOUT wrapping their content in
   .page-hero-text: we want the eyebrow / h1 / p / ctas stacked neatly
   at the top. This applies to community, knowledge, knowledge-hub,
   carbon-reduction-plan, payments, complaints, vulnerability,
   logo-design, assurances. */
.page-hero-inner:not(:has(.form-card)){
  grid-template-columns:1fr;
  /* Keep the 1200px outer max-width so the LEFT edge of content aligns
     with pages that DO have a form-card. Consistency across all heroes. */
  align-items:start;
  justify-items:start;
  min-height:auto;
  /* CRITICAL: kill the 4rem grid gap that was spacing children by 64px each.
     Spacing between hero children is handled by margin on each child below. */
  gap:0;
}

/* Cap the hero text content width (readability) — matches about.php's
   inline 720px limit. Headline gets a touch more, description stays narrow. */
.page-hero-inner:not(:has(.form-card))>h1{max-width:820px}
.page-hero-inner:not(:has(.form-card))>p{max-width:640px}

/* Explicit spacing between single-column hero children — replaces grid gap */
.page-hero-inner:not(:has(.form-card))>.eyebrow,
.page-hero-inner:not(:has(.form-card))>.hero-eyebrow{margin-bottom:1rem}
.page-hero-inner:not(:has(.form-card))>.page-hero-price{margin-bottom:1.25rem}
.page-hero-inner:not(:has(.form-card))>h1{margin-bottom:1rem}
.page-hero-inner:not(:has(.form-card))>p{margin-bottom:1.5rem}
.page-hero-inner:not(:has(.form-card))>.page-hero-ctas{margin-top:1.5rem}

/* Re-enable centered hero content on 2-column layouts (with form-card) */
.page-hero-inner:has(.form-card){align-items:center !important}

/* Tighten the h1 spacing so headline + description don't get lost
   in a tall hero */
.page-hero-inner>h1,
.page-hero-inner>div>h1{margin-bottom:1rem;max-width:800px}
.page-hero-inner>p,
.page-hero-inner>div>p{max-width:640px;margin-bottom:0}

/* Assurances page uses .page-hero with padding-bottom:0 and a nested
   .inner wrapper instead of .page-hero-inner. Normalise that too so it
   top-aligns and has consistent vertical padding. */
.page-hero>.inner{padding-top:0;padding-bottom:60px}

/* ── Page-hero mobile tuning ──
   Ensures heroes stay reasonable-height on phones and the price pill
   doesn't bunch up awkwardly */
@media(max-width:768px){
  .page-hero{padding:48px 1.5rem 44px !important}
  .page-hero-inner>h1,
  .page-hero-inner>div>h1{font-size:clamp(1.65rem,6vw,2.25rem);line-height:1.15}
  .page-hero-inner>p,
  .page-hero-inner>div>p{font-size:.9rem}
  .page-hero-ctas{flex-direction:column;align-items:stretch;width:100%}
  .page-hero-ctas>a{justify-content:center;text-align:center}
  /* Pricing-hero mobile — was inheriting the desktop 102px top padding */
  .pricing-hero{padding:60px 1.5rem 40px !important}
}

/* On very narrow phones (below 420px), clamp the h1 further */
@media(max-width:420px){
  .page-hero-inner>h1,
  .page-hero-inner>div>h1{font-size:1.55rem}
  .page-hero-price{padding:.55rem .85rem}
  .php-amount{font-size:1.2rem}
  .php-from,.php-per{font-size:.65rem}
}

/* ═══════════════════════════════════════════════════════════════
   Turn-1 additions (Apr 2026) — speak-to-someone block, FAQ
   accordion polish, contact-page filler tile.
   ═══════════════════════════════════════════════════════════════ */

/* ── SPEAK-TO-SOMEONE block (reusable on FAQ/About/Assurances etc.) ── */
.sts-section .eyebrow{display:inline-flex}
.sts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.sts-grid-3{grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:1100px;margin:0 auto}
.sts-card{display:flex;flex-direction:column;align-items:flex-start;padding:1.5rem;background:#fff;border:1.5px solid var(--border);border-radius:var(--r2);text-align:left;text-decoration:none;transition:all .2s;font-family:var(--ff);cursor:pointer;color:inherit;width:100%}
.sts-card:hover{border-color:var(--g);transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,31,61,.08)}
.sts-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;flex-shrink:0}
.sts-icon svg{width:22px;height:22px}
.sts-ic-orange{background:rgba(248,115,33,.1);color:var(--orange)}
.sts-ic-green{background:rgba(44,161,106,.1);color:var(--g)}
.sts-ic-navy{background:rgba(15,31,61,.08);color:var(--navy)}
.sts-ic-purple{background:rgba(124,58,237,.1);color:#7c3aed}
.sts-title{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:.35rem;line-height:1.25}
.sts-sub{font-size:.82rem;color:var(--textm);font-weight:300;line-height:1.55;margin-bottom:1rem;flex:1}
.sts-action{font-size:.75rem;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.06em;transition:color .15s}
.sts-card:hover .sts-action{color:var(--gd)}
/* button.sts-card gets the same padding/border reset */
button.sts-card{border:1.5px solid var(--border);background:#fff;appearance:none;-webkit-appearance:none}
button.sts-card:hover{border-color:var(--g)}

@media(max-width:1024px){.sts-grid{grid-template-columns:repeat(2,1fr)}.sts-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.sts-grid{grid-template-columns:1fr}.sts-grid-3{grid-template-columns:1fr}}

/* ── FAQ accordion — caret rotation was already defined; double-check ── */
.faq-item .faq-q{user-select:none}
.faq-item:hover .faq-q{color:var(--g)}
.faq-item.open .faq-q{color:var(--navy)}

/* ── Contact page: right-column filler tile ── */
.contact-filler{padding:1.75rem;background:var(--off);border-radius:var(--r2);border:1.5px solid var(--border);margin-top:.5rem}
.contact-filler h4{font-size:.95rem;font-weight:800;color:var(--navy);margin-bottom:.75rem}
.contact-filler p{font-size:.84rem;color:var(--textm);line-height:1.7;font-weight:300;margin-bottom:.75rem}
.contact-filler ul{list-style:none;padding:0;margin:.5rem 0 0}
.contact-filler ul li{position:relative;padding-left:1.1rem;font-size:.82rem;color:var(--textm);line-height:1.65;font-weight:300;margin-bottom:.4rem}
.contact-filler ul li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--g)}

/* ═══════════════════════════════════════════════════════════════
   Turn-2 additions (Apr 2026) — Add-Ons nav + landing page
   ═══════════════════════════════════════════════════════════════ */

/* ─── SERVICES mega menu (desktop) ───────────────────────────────
   .has-mega is the top-level <li> wrapping the Services link. Its
   child .mega is a full-width panel that sits below the nav bar and
   opens on hover. The existing .has-dropdown pattern is still used
   for About (small dropdown); this is a bigger cousin.

   IMPORTANT: the nav earlier in this file sets `.nav-links>li{position:relative}`
   — we need higher specificity to override so the .mega can position
   itself relative to <nav> (full width) not relative to the <li>.
*/
.nav-links>li.has-mega{position:static}
.has-mega>a{display:flex;align-items:center;gap:.25rem}
/* Also hide the default hover bridge .nav-links>li::after for has-mega,
   because we set up our own bridge that only shows when needed */
.nav-links>li.has-mega::after{display:none}
.mega{
  position:absolute;
  left:0;right:0;
  top:100%;
  background:#fff;
  border-top:1px solid var(--border);
  box-shadow:0 24px 48px rgba(15,31,61,.08);
  padding:2rem 0;
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:1100;
}
.has-mega:hover>.mega,
.has-mega:focus-within>.mega{opacity:1;visibility:visible;transform:translateY(0)}
/* Hover bridge so moving the cursor between the trigger and the mega
   panel doesn't close it. */
.has-mega::after{content:'';position:absolute;left:0;right:0;top:100%;height:12px;display:none}
.has-mega:hover::after{display:block}

.mega-inner{
  max-width:1280px;
  margin:0 auto;
  padding:0 2rem;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2rem;
}

.mega-col{display:flex;flex-direction:column;gap:.5rem}
.mega-col-head{
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--textl);
  text-transform:uppercase;
  padding:0 .5rem;
  margin-bottom:.35rem;
}

.mega-item{
  display:flex;
  gap:.85rem;
  padding:.7rem .6rem;
  border-radius:var(--r2);
  text-decoration:none;
  color:inherit;
  transition:background .12s;
  align-items:flex-start;
}
.mega-item:hover{background:var(--off)}
.mega-item:hover .mi-title{color:var(--g)}

.mi-icon{
  flex-shrink:0;
  width:34px;height:34px;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(44,161,106,.1);
  color:var(--g);
}
.mi-icon svg{width:17px;height:17px}
.mi-ic-orange{background:rgba(248,115,33,.1);color:var(--orange)}
.mi-ic-navy{background:rgba(15,31,61,.08);color:var(--navy)}
.mi-ic-purple{background:rgba(124,58,237,.1);color:#7c3aed}

.mi-body{flex:1;min-width:0}
.mi-title{
  font-size:.85rem;
  font-weight:700;
  color:var(--navy);
  line-height:1.3;
  margin-bottom:.15rem;
  transition:color .12s;
}
.mi-sub{
  font-size:.74rem;
  color:var(--textm);
  line-height:1.45;
  font-weight:400;
}

.mega-all{
  display:block;
  margin-top:.5rem;
  padding:.65rem .6rem;
  font-size:.72rem;
  font-weight:700;
  color:var(--g);
  text-transform:uppercase;
  letter-spacing:.06em;
  text-decoration:none;
  border-top:1px solid var(--border);
  text-align:left;
  transition:color .12s;
}
.mega-all:hover{color:var(--gd)}

/* On narrower desktops (1024-1200px) collapse mega to 2 columns */
@media(max-width:1200px){
  .mega-inner{grid-template-columns:repeat(2,1fr);gap:1.5rem}
}
/* Mobile nav kicks in <=900px and the mega is hidden there */
@media(max-width:900px){
  .mega{display:none}
}

/* ─── Mobile nav subcategory headers ─────────────────────────── */
.mob-sub{display:flex;flex-direction:column}
.mob-sub a{display:block;width:100%}
.mob-sub-head{
  display:block;
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.14em;
  color:rgba(255,255,255,.35);
  text-transform:uppercase;
  padding:1rem .5rem .35rem 1.25rem;
  margin-top:.35rem;
  border-top:1px solid rgba(255,255,255,.06);
}
.mob-sub-head:first-child{border-top:0;margin-top:0;padding-top:.5rem}
.mob-all{
  color:var(--g)!important;
  font-weight:700!important;
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:.5rem;
  padding-top:.65rem!important;
}

/* ─── Rich dropdown (for About — same item style as the mega panel,
   single column, narrower). The .has-dropdown li keeps position:relative
   from the base nav styles so the panel sits below the trigger, not
   full-width like the mega. */
.has-dropdown-rich>.dropdown-rich{
  position:absolute;
  top:calc(100% + 12px);
  left:0;               /* anchor to left edge of the About li (standard pattern) */
  background:#fff;
  border-radius:var(--r2);
  box-shadow:0 20px 50px rgba(0,0,0,.18);
  border:1px solid var(--border);
  padding:.65rem;
  min-width:340px;
  z-index:300;
  display:flex;
  flex-direction:column;
  gap:.15rem;
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.has-dropdown-rich:hover>.dropdown-rich,
.has-dropdown-rich:focus-within>.dropdown-rich{opacity:1;visibility:visible;transform:translateY(0)}
.has-dropdown-rich .dropdown-rich a{background:transparent}
@media(max-width:900px){.has-dropdown-rich>.dropdown-rich{display:none!important}}

/* ─── /addons.php landing page ──────────────────────────────── */
.ao-intro{max-width:780px;margin:0 auto 3rem;text-align:center}
.ao-intro .ao-lead{font-size:1.05rem;color:var(--textm);line-height:1.75;font-weight:300}

.ao-category{margin-bottom:3rem}
.ao-cat-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.ao-cat-head h3{font-size:1.5rem;font-weight:900;color:var(--navy);letter-spacing:-.01em;margin:0}
.ao-cat-head .ao-cat-sub{font-size:.92rem;color:var(--textm);font-weight:300;line-height:1.6;margin:0}

.ao-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.ao-card{display:flex;flex-direction:column;padding:1.75rem;background:#fff;border:1.5px solid var(--border);border-radius:var(--r2);text-decoration:none;color:inherit;transition:all .2s;position:relative;overflow:hidden}
.ao-card:hover{border-color:var(--g);transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,31,61,.08)}
.ao-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent,var(--g));opacity:.9}
.ao-card.acc-orange{--accent:var(--orange)}
.ao-card.acc-navy{--accent:var(--navy)}
.ao-card.acc-purple{--accent:#7c3aed}

.ao-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(44,161,106,.1);color:var(--g);margin-bottom:1rem}
.ao-card.acc-orange .ao-icon{background:rgba(248,115,33,.1);color:var(--orange)}
.ao-card.acc-navy .ao-icon{background:rgba(15,31,61,.08);color:var(--navy)}
.ao-card.acc-purple .ao-icon{background:rgba(124,58,237,.1);color:#7c3aed}
.ao-icon svg{width:24px;height:24px}

.ao-card h4{font-size:1.05rem;font-weight:800;color:var(--navy);margin-bottom:.5rem;line-height:1.25}
.ao-card p{font-size:.85rem;color:var(--textm);line-height:1.65;font-weight:300;margin-bottom:1rem;flex:1}

.ao-card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem;border-top:1px solid var(--border);margin-top:auto}
.ao-price{display:flex;flex-direction:column;line-height:1.15}
.ao-price .ao-p-amount{font-size:1.05rem;font-weight:900;color:var(--navy)}
.ao-price .ao-p-meta{font-size:.68rem;color:var(--textl);font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem}
.ao-price.ao-free .ao-p-amount{color:var(--g)}
.ao-action{font-size:.74rem;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.06em}
.ao-card:hover .ao-action{color:var(--gd)}

@media(max-width:960px){.ao-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ao-grid{grid-template-columns:1fr}}

/* ─── Individual add-on detail pages (Turn 3-4) ─────────────── */
/* Add-on detail pages reuse the Knowledge Hub-style svc-detail-grid
   layout already in the CSS. New styles below are just for page-
   specific niceties. */
.ao-feature-list{list-style:none;padding:0;margin:1.5rem 0}
.ao-feature-list li{position:relative;padding:.65rem 0 .65rem 1.75rem;font-size:.92rem;color:var(--text);line-height:1.65;font-weight:400;border-bottom:1px solid var(--border)}
.ao-feature-list li:last-child{border-bottom:0}
.ao-feature-list li::before{content:'';position:absolute;left:0;top:1.05rem;width:14px;height:14px;border-radius:50%;background:var(--gl);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none' stroke='%232ca16a' stroke-width='1.8' stroke-linecap='round'%3E%3Cpolyline points='2,5.5 4.2,8 8,2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}

.ao-usecases{margin-top:2rem;padding:1.75rem;background:var(--off);border-radius:var(--r3)}
.ao-usecases-title{font-size:.72rem;font-weight:700;color:var(--textl);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.ao-usecases-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.ao-usecases-list li{font-size:.87rem;color:var(--text);line-height:1.5;padding:.5rem 0 .5rem 1.25rem;position:relative;font-weight:500}
.ao-usecases-list li::before{content:'';position:absolute;left:0;top:.95rem;width:6px;height:6px;border-radius:50%;background:var(--orange)}
@media(max-width:560px){.ao-usecases-list{grid-template-columns:1fr}}

.ao-related{background:#fff;border:1.5px solid var(--border);border-radius:var(--r3);padding:2rem;margin-top:2rem}
.ao-related-head{font-size:.72rem;font-weight:700;color:var(--textl);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.ao-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ao-related-card{padding:1rem;border:1.5px solid var(--border);border-radius:var(--r2);text-decoration:none;color:inherit;transition:all .15s;display:block}
.ao-related-card:hover{border-color:var(--g)}
.ao-related-card .arc-name{font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.25rem}
.ao-related-card .arc-price{font-size:.75rem;color:var(--g);font-weight:700}
@media(max-width:700px){.ao-related-grid{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════════
   Turn-3 additions (Apr 2026) — service page content sections
   ═══════════════════════════════════════════════════════════════ */

/* ─── STAT BLOCK (horizontal bars showing click distribution etc.) ─── */
.stat-block{background:#fff;border:1.5px solid var(--border);border-radius:var(--r3);padding:1.75rem}
.stat-block-head{font-size:.95rem;font-weight:800;color:var(--navy);margin-bottom:.2rem;line-height:1.3}
.stat-block-sub{font-size:.75rem;color:var(--textl);margin-bottom:1.25rem;font-weight:400}
.stat-bars{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1rem}
.sb-row{display:grid;grid-template-columns:80px 1fr 52px;gap:.6rem;align-items:center}
.sb-label{font-size:.75rem;color:var(--textm);font-weight:500;letter-spacing:.01em}
.sb-track{background:var(--off);height:22px;border-radius:6px;overflow:hidden;position:relative}
.sb-fill{height:100%;border-radius:6px;transition:width .4s ease-out}
.sb-f-green{background:var(--g)}
.sb-f-navy{background:var(--navy);opacity:.7}
.sb-f-grey{background:var(--textl);opacity:.45}
.sb-f-orange{background:var(--orange);opacity:.65}
.sb-pct{font-size:.78rem;color:var(--navy);font-weight:700;text-align:right}
.sb-pct-strong{font-weight:900;color:var(--g)}
.stat-block-foot{font-size:.78rem;color:var(--textm);line-height:1.55;font-weight:400;margin-top:.9rem;padding-top:1rem;border-top:1px solid var(--border);font-style:italic}

/* ─── TIMELINE grid (4 cards in a row) ─── */
.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.tl-card{background:var(--off);border:1px solid var(--border);border-radius:var(--r3);padding:1.5rem;display:flex;flex-direction:column;position:relative}
.tl-card::before{content:'';position:absolute;top:0;left:1.5rem;right:1.5rem;height:3px;background:var(--g);border-radius:0 0 2px 2px}
.tl-phase{font-size:.65rem;font-weight:800;color:var(--g);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem;margin-top:.25rem}
.tl-card h3{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:.55rem;line-height:1.3}
.tl-card p{font-size:.85rem;color:var(--textm);line-height:1.65;font-weight:300;margin:0 0 1rem;flex:1}
.tl-outcome{font-size:.75rem;color:var(--navy);font-weight:700;line-height:1.45;padding-top:.85rem;border-top:1px dashed var(--border)}

@media(max-width:1024px){.timeline-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.timeline-grid{grid-template-columns:1fr}}

/* ─── CASE STUDY CARD (rich multi-phase layout) ─── */
.case-study-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--r3);padding:2.5rem;box-shadow:0 8px 24px rgba(15,31,61,.04);max-width:1200px;margin:0 auto}
.cs-header{border-bottom:1px solid var(--border);padding-bottom:1.25rem;margin-bottom:1.5rem}
.cs-persona{display:flex;align-items:center;gap:1rem}
.cs-avatar{width:52px;height:52px;background:var(--g);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.05rem;flex-shrink:0}
.cs-name{font-size:1rem;font-weight:800;color:var(--navy);line-height:1.2}
.cs-role{font-size:.8rem;color:var(--textm);margin-top:.2rem;font-weight:400}

.cs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:.5rem}
.cs-phase{background:var(--off);border-radius:var(--r2);padding:1.25rem;display:flex;flex-direction:column}
.cs-phase-label{font-size:.62rem;font-weight:800;color:var(--g);text-transform:uppercase;letter-spacing:.13em;margin-bottom:.6rem}
.cs-phase h4{font-size:.92rem;font-weight:800;color:var(--navy);margin-bottom:.55rem;line-height:1.3}
.cs-phase p{font-size:.82rem;color:var(--textm);line-height:1.6;font-weight:300;margin:0 0 .85rem;flex:1}
.cs-metric{font-size:.8rem;color:var(--navy);line-height:1.45;padding-top:.7rem;border-top:1px dashed var(--border);font-weight:400}
.cs-metric strong{font-weight:800}

.cs-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--border)}
.cs-stat{background:var(--gl);padding:1.25rem;border-radius:var(--r2);text-align:center}
.cs-stat-n{font-size:1.75rem;font-weight:900;color:var(--g);line-height:1;margin-bottom:.35rem}
.cs-stat-l{font-size:.72rem;color:var(--textm);font-weight:500;line-height:1.4}

@media(max-width:1100px){.cs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cs-grid{grid-template-columns:1fr}.cs-totals{grid-template-columns:1fr}.case-study-card{padding:1.5rem}}

/* ─── COMPARE GRID (what we don't do vs what we do) ─── */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.compare-col{background:#fff;border:1.5px solid var(--border);border-radius:var(--r3);padding:1.75rem}
.compare-bad{background:rgba(248,115,33,.03);border-color:rgba(248,115,33,.2)}
.compare-good{background:rgba(44,161,106,.04);border-color:rgba(44,161,106,.25)}
.compare-head{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}
.compare-badge{display:inline-block;padding:.35rem .8rem;border-radius:6px;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.compare-badge-bad{background:rgba(248,115,33,.12);color:var(--orange)}
.compare-badge-good{background:rgba(44,161,106,.12);color:var(--g)}
.compare-item{display:grid;grid-template-columns:28px 1fr;gap:.85rem;padding:.9rem 0;border-bottom:1px solid rgba(0,0,0,.05);align-items:start}
.compare-item:last-child{border-bottom:none}
.compare-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:900;flex-shrink:0;margin-top:.1rem}
.compare-icon-x{background:rgba(248,115,33,.12);color:var(--orange)}
.compare-icon-tick{background:rgba(44,161,106,.15);color:var(--g)}
.compare-icon-tick svg{width:12px;height:12px}
.compare-body strong{font-size:.9rem;color:var(--navy);font-weight:700;display:block;margin-bottom:.25rem;line-height:1.35}
.compare-sub{font-size:.8rem;color:var(--textm);line-height:1.55;font-weight:300}

@media(max-width:900px){.compare-grid{grid-template-columns:1fr}}

/* ─── PRICE COMPARE BAND (full-width callout between sections) ────
   Replaces the small green "Agencies charge £X" callouts that were
   living at the foot of the right-hand sidebar. As a full-width band
   they get room to breathe and present a proper value-comparison
   rather than a squeezed afterthought. */
.price-compare-band{
  background:linear-gradient(180deg, var(--gl) 0%, rgba(44,161,106,0.03) 100%);
  border:1px solid rgba(44,161,106,.18);
  border-radius:var(--r3);
  padding:2.25rem 2.5rem;
  display:grid;
  grid-template-columns:minmax(auto,340px) 1fr auto;
  gap:2.5rem;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
}
/* Orange variant — for info-style callouts like "Taking payments?" */
.price-compare-band.pcb-orange{
  background:linear-gradient(180deg, rgba(248,115,33,.06) 0%, rgba(248,115,33,.02) 100%);
  border-color:rgba(248,115,33,.2);
}
.pcb-orange .pcb-amount{color:var(--orange)}
.pcb-orange .pcb-price .pcb-ours{color:var(--orange)}
.pcb-orange .pcb-price .pcb-arrow{color:var(--orange)}

/* Navy variant — for neutral/technical info callouts (security, providers, fees) */
.price-compare-band.pcb-navy{
  background:linear-gradient(180deg, rgba(15,31,61,.04) 0%, rgba(15,31,61,.015) 100%);
  border-color:var(--border);
}
.pcb-navy .pcb-amount{color:var(--navy)}
.pcb-navy .pcb-price{color:var(--navy)}
.pcb-navy .pcb-price .pcb-ours{color:var(--navy)}
.pcb-navy .pcb-price .pcb-arrow{color:var(--navy)}
.pcb-amount{
  font-size:.72rem;
  font-weight:700;
  color:var(--g);
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:.5rem;
}
.pcb-price{
  font-size:2.2rem;
  font-weight:900;
  color:var(--navy);
  line-height:1;
  letter-spacing:-.01em;
  margin-bottom:.35rem;
}
.pcb-price .pcb-strike{
  text-decoration:line-through;
  text-decoration-color:rgba(15,31,61,.25);
  text-decoration-thickness:2px;
  color:rgba(15,31,61,.55);
  font-weight:700;
  margin-right:.4rem;
}
.pcb-price .pcb-arrow{
  display:inline-block;
  color:var(--g);
  margin:0 .35rem;
  font-weight:700;
}
.pcb-price .pcb-ours{color:var(--g)}
.pcb-label{font-size:.82rem;color:var(--textm);font-weight:500}
.pcb-body h3{
  font-size:1.05rem;
  font-weight:800;
  color:var(--navy);
  margin-bottom:.5rem;
  line-height:1.35;
}
.pcb-body p{
  font-size:.88rem;
  color:var(--textm);
  line-height:1.65;
  font-weight:300;
  margin:0;
}
.pcb-cta{flex-shrink:0}
.pcb-cta .btn-primary{white-space:nowrap}

@media(max-width:900px){
  .price-compare-band{
    grid-template-columns:1fr;
    gap:1.5rem;
    padding:1.75rem;
    text-align:left;
  }
  .pcb-price{font-size:1.85rem}
}

/* ─── LIQUIDBRANDD CSS wordmark (replaces missing LB_logo_white.png) ───
   Used on logo-design.php hero and partner card. Two-part typographic
   treatment: "LIQUID" in lighter weight, "BRANDD" in heavier weight,
   matching the existing brand pairing with GROWMARK-style treatment. */
.lb-wordmark{
  font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  letter-spacing:.04em;
  line-height:1;
  user-select:none;
  display:inline-block;
}
.lb-wordmark .lb-liquid{
  font-weight:300;
  color:#fff;
}
.lb-wordmark .lb-brandd{
  font-weight:800;
  color:#fff;
  margin-left:.15em;
}
/* Hero variant — large, sits above the eyebrow on logo-design.php */
.lb-wordmark-hero{
  font-size:2rem;
  margin-bottom:1.5rem;
  opacity:.95;
}
/* Card variant — appears inside the dark navy partner card */
.lb-wordmark-card{
  font-size:1.65rem;
  margin-bottom:.5rem;
}

/* ═══════════════════════════════════════════════════════════════
   ARTICLE PAGES — news and knowledge article layouts
   Uses the Knowledge Hub 2-col pattern: prose on left, sticky
   sidebar on the right with related articles and category nav.
   ═══════════════════════════════════════════════════════════════ */

/* Article hero - full 1200px width, consistent with the rest of the site */
.art-hero{background:var(--navy);padding:5rem 2.5rem 4rem;position:relative;overflow:hidden;color:#fff}
.art-hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.art-hero-text{max-width:820px}
.art-back{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;color:var(--orange);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;margin-top:2rem;padding:.4rem 0;border-bottom:1.5px solid rgba(248,115,33,.3);transition:all .2s}
.art-back:hover{color:#fff;border-bottom-color:rgba(255,255,255,.4);gap:.75rem}
.art-back svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.5;fill:none;flex-shrink:0;transition:transform .2s}
.art-back:hover svg{transform:translateX(-3px)}

.art-cat{display:inline-block;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.4rem .9rem;border-radius:20px;margin-bottom:1.5rem}
.art-hero h1{font-size:clamp(1.85rem,3.8vw,2.8rem);font-weight:900;line-height:1.15;color:#fff;letter-spacing:-.01em;margin-bottom:1.25rem}
.art-meta{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.55);font-weight:400}
.art-meta-sep{width:3px;height:3px;background:rgba(255,255,255,.3);border-radius:50%}
.art-lede{font-size:1.05rem;color:rgba(255,255,255,.8);line-height:1.7;font-weight:300;margin-top:1.5rem}

/* Main article layout — 2 columns inside a wide 1200px container */
.art-layout{max-width:1200px;margin:0 auto;padding:4rem 2.5rem;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:4rem;align-items:start}
.art-body{min-width:0} /* prevents grid-overflow on long links */
.art-body > p{font-size:1.02rem;line-height:1.85;color:var(--text);font-weight:400;margin-bottom:1.4rem}
.art-body > p:first-of-type::first-letter{font-size:3.2rem;font-weight:900;float:left;line-height:1;padding:.3rem .7rem 0 0;color:var(--navy)}
.art-body h2{font-size:1.55rem;font-weight:800;color:var(--navy);margin:2.75rem 0 1rem;line-height:1.3;letter-spacing:-.01em}
.art-body h3{font-size:1.15rem;font-weight:800;color:var(--navy);margin:2rem 0 .75rem;line-height:1.35}
.art-body ul,.art-body ol{margin:0 0 1.5rem 1.5rem;padding:0}
.art-body li{font-size:1rem;line-height:1.85;color:var(--text);margin-bottom:.5rem}
.art-body strong{font-weight:700;color:var(--navy)}
.art-body em{font-style:italic;color:var(--textm)}
.art-body a{color:var(--g);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-weight:500}
.art-body a:hover{color:var(--gd)}
.art-body blockquote{border-left:4px solid var(--g);padding:.5rem 0 .5rem 1.5rem;margin:2rem 0;font-size:1.1rem;line-height:1.7;color:var(--navy);font-weight:500;font-style:italic}

/* Pull-quote / callout inside article */
.art-callout{background:var(--off);border-radius:var(--r2);padding:1.5rem 1.75rem;margin:2rem 0;border-left:4px solid var(--g)}
.art-callout-title{font-size:.72rem;font-weight:700;color:var(--g);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.6rem}
.art-callout p{font-size:.95rem;line-height:1.7;color:var(--textm);margin:0;font-weight:400}
.art-callout.acl-orange{border-left-color:var(--orange)}
.art-callout.acl-orange .art-callout-title{color:var(--orange)}
.art-callout.acl-navy{border-left-color:var(--navy);background:rgba(15,31,61,.04)}
.art-callout.acl-navy .art-callout-title{color:var(--navy)}

/* TL;DR block at top of article */
.art-tldr{background:var(--gl);border-radius:var(--r2);padding:1.4rem 1.75rem;margin-bottom:2.5rem;border-left:4px solid var(--g)}
.art-tldr-label{font-size:.66rem;font-weight:800;color:var(--g);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem}
.art-tldr-text{font-size:.95rem;line-height:1.7;color:var(--navy);font-weight:500;margin:0}

/* ─── ARTICLE SIDEBAR (sticky on desktop, stacks on mobile) ─── */
.art-sidebar{position:sticky;top:2rem;display:flex;flex-direction:column;gap:1.25rem}
.art-side-box{background:var(--off);border:1px solid var(--border);border-radius:var(--r2);padding:1.5rem}
.art-side-label{font-size:.66rem;font-weight:800;color:var(--g);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.art-side-item{display:block;padding:.85rem 0;border-bottom:1px solid rgba(0,0,0,.06);text-decoration:none;transition:all .15s}
.art-side-item:last-child{border-bottom:none;padding-bottom:.25rem}
.art-side-item-cat{font-size:.62rem;font-weight:700;color:var(--g);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem}
.art-side-item-title{font-size:.88rem;font-weight:700;color:var(--navy);line-height:1.4}
.art-side-item:hover .art-side-item-title{color:var(--g)}

/* Category chip-bar inside sidebar */
.art-side-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.art-side-chip{display:inline-block;background:#fff;border:1px solid var(--border);color:var(--navy);font-size:.72rem;font-weight:600;padding:.35rem .7rem;border-radius:14px;text-decoration:none;transition:all .15s}
.art-side-chip:hover{background:var(--g);color:#fff;border-color:var(--g)}

/* Compact CTA card in sidebar */
.art-side-cta{background:var(--navy);color:#fff;padding:1.5rem;border-radius:var(--r2)}
.art-side-cta .ascta-label{font-size:.65rem;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.6rem}
.art-side-cta h4{font-size:1.05rem;font-weight:800;color:#fff;line-height:1.3;margin-bottom:.65rem}
.art-side-cta p{font-size:.82rem;line-height:1.6;color:rgba(255,255,255,.7);font-weight:300;margin-bottom:1rem}
.art-side-cta .btn-primary{display:block;text-align:center;font-size:.82rem}

/* Read-next section (BELOW article, full width) */
.art-next{background:var(--off);padding:4rem 2.5rem;border-top:1px solid var(--border)}
.art-next-inner{max-width:1200px;margin:0 auto}
.art-next-label{display:block;font-size:.72rem;font-weight:700;color:var(--g);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;text-align:center}
.art-next-head{font-size:1.8rem;font-weight:900;color:var(--navy);text-align:center;margin-bottom:2.5rem;line-height:1.2}
.art-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto}
.art-next-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--r3);padding:1.75rem;text-decoration:none;display:block;transition:all .2s}
.art-next-card:hover{border-color:var(--g);transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,31,61,.08)}
.art-next-cat{font-size:.66rem;font-weight:700;color:var(--g);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.65rem}
.art-next-title{font-size:1.05rem;font-weight:800;color:var(--navy);line-height:1.35;margin-bottom:.75rem}
.art-next-excerpt{font-size:.88rem;color:var(--textm);line-height:1.65;font-weight:300;margin-bottom:1rem}
.art-next-read{font-size:.8rem;font-weight:700;color:var(--g);letter-spacing:.02em}

/* Responsive: stack sidebar below content on narrow screens */
@media(max-width:1024px){
  .art-layout{grid-template-columns:1fr;gap:3rem;padding:3rem 2rem}
  .art-sidebar{position:static}
  .art-next-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .art-hero{padding:3rem 1.5rem 2.5rem}
  .art-layout{padding:2.5rem 1.5rem;gap:2.5rem}
  .art-body > p:first-of-type::first-letter{font-size:2.4rem}
  .art-next{padding:2.5rem 1.5rem}
  .art-next-grid{grid-template-columns:1fr}
}

/* ── Additional mobile fixes ─────────────────────────────── */
@media(max-width:600px){
  /* Book a call - stack date/time fields */
  .form-field + .form-field{margin-top:0}
  div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
  /* Grants eligibility inline grid override */
  div[style*="repeat(3,1fr)"]{grid-template-columns:1fr !important}
  /* Prevent ALL horizontal overflow */
  html,body{overflow-x:hidden !important;max-width:100vw}
  /* FAQ page padding */
  .faq-page{padding:0 .75rem !important}
  /* Contact channels equal grid */
  .contact-channels{grid-template-columns:1fr 1fr !important;gap:.75rem !important}
  /* Art-back always visible */
  .art-back{display:inline-flex !important;margin-top:1.25rem}
}

/* ── Grants page mobile fixes ─────────────────────────────── */
@media(max-width:768px){
  /* SWEF stats - force 2x2 wrap */
  .grant-stats{grid-template-columns:1fr 1fr !important;gap:1rem !important}
  /* Eligibility 3-col -> 1-col */
  .grant-eligibility-grid,
  .inner > div.grant-elig{grid-template-columns:1fr !important}
}

/* ── Book a call date field ────────────────────────────────── */
@media(max-width:600px){
  /* Date input needs explicit height on iOS */
  input[type="date"]{
    -webkit-appearance:none;
    appearance:none;
    min-height:48px;
    line-height:1.4;
    padding:.75rem 1rem;
    font-size:1rem;
    color:var(--navy);
    background:#fff;
  }
  input[type="date"]::-webkit-date-and-time-value{
    text-align:left;
    min-height:1.4em;
  }
}
