/*
  thetrueseo.com (Build 45) | SEO Agency | Virginia Beach VA / USD
  Theme: Deep Forest Green #0D3B2E + Lime #22C55E + Cream #FAFAF7 (FIRST GREEN in 45 builds!)
  Nav: SPLIT NAV with centered logo (left links, center logo, right CTA - NEVER done!)
  Hero: DIAGONAL SPLIT (dark green left + cream right with ranking SVG animation)
  Stats: ANIMATED COUNTER ROW (count-up on scroll - FIRST in series!)
  Work: HORIZONTAL SCROLL CASE STUDY CARDS with before/after metrics
  Services: 3-COL GRID with SEO-specific metric badges
  Process: ALTERNATING LEFT/RIGHT numbered blocks (vs horizontal/connected/accordion)
  Testimonials: 3-COL CARD GRID (vs 2x2/carousel/2x3/marquee)
  Pricing: TAB-BASED SWITCHER (Local/Regional/Enterprise tabs - FIRST!)
  FAQ: CATEGORY SIDEBAR left + accordion right (FIRST!)
  CTA: DARK BAND with newsletter field + button
  Footer: DARK FOREST GREEN background (FIRST colored dark footer!)
  Fonts: Cormorant Garamond (display serif) + Albert Sans (body) - BOTH first use!
  CSS prefix: tts-
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,500;0,600;0,700;1,400&family=Albert+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  --tts-cream:   #FAFAF7;
  --tts-white:   #FFFFFF;
  --tts-surf:    #F1F5F2;
  --tts-forest:  #0D3B2E;
  --tts-forest2: #1A5C44;
  --tts-forest3: #0A2E23;
  --tts-lime:    #22C55E;
  --tts-lime2:   #16A34A;
  --tts-limet:   rgba(34,197,94,.1);
  --tts-amber:   #F59E0B;
  --tts-ambert:  rgba(245,158,11,.12);
  --tts-dark:    #0A0A0A;
  --tts-ink:     #111827;
  --tts-mid:     #6B7280;
  --tts-muted:   #9CA3AF;
  --tts-border:  #E5E7EB;
  --tts-nav-h:   68px;
  --tts-max:     1080px;
  --tts-r:       4px;
  --tts-r2:      8px;
  --tts-r3:      16px;
  --tts-fh:      'Cormorant Garamond', Georgia, serif;
  --tts-fb:      'Albert Sans', system-ui, sans-serif;
  --tts-ease:    all 0.22s cubic-bezier(.4,0,.2,1);
  --tts-sh:      0 2px 16px rgba(13,59,46,.08);
  --tts-sh2:     0 8px 40px rgba(13,59,46,.14);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--tts-cream); color:var(--tts-ink); font-family:var(--tts-fb); font-size:1rem; line-height:1.72; overflow-x:hidden; }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }
input,textarea,select { font-family:inherit; }
address { font-style:normal; }

h1 { font-family:var(--tts-fh); font-size:clamp(3.5rem,6vw,7rem); font-weight:600; line-height:.95; letter-spacing:-.01em; }
h2 { font-family:var(--tts-fh); font-size:clamp(2.2rem,3.8vw,4.2rem); font-weight:600; line-height:1; letter-spacing:-.01em; }
h3 { font-family:var(--tts-fh); font-size:1.3rem; font-weight:600; }
p  { font-size:.92rem; line-height:1.84; color:var(--tts-mid); }

/* ============================================================
   SPLIT NAV with CENTERED LOGO (FIRST in 45 builds!)
   ============================================================ */
.tts-nav {
  position:fixed; top:0; left:0; right:0; height:var(--tts-nav-h);
  background:rgba(250,250,247,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(13,59,46,.08); z-index:900; transition:background .2s;
}
.tts-nav-frame { max-width:calc(var(--tts-max) + 120px); margin:0 auto; padding:0 2rem; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:100%; gap:1rem; }
/* Left links */
.tts-nav-left { display:flex; align-items:center; gap:.2rem; }
/* Center logo */
.tts-nav-logo-c { text-align:center; }
.tts-nav-logo { font-family:var(--tts-fh); font-size:1.2rem; font-weight:700; color:var(--tts-forest); letter-spacing:.02em; white-space:nowrap; display:inline-block; }
.tts-nav-logo em { font-style:italic; color:var(--tts-lime2); }
/* Right section */
.tts-nav-right { display:flex; align-items:center; justify-content:flex-end; gap:.2rem; }
.tts-nl { font-family:var(--tts-fb); font-size:.9rem; font-weight:600; color:var(--tts-mid); padding:.38rem .68rem; border-radius:100px; transition:var(--tts-ease); white-space:nowrap; }
.tts-nl:hover,.tts-nl.tts-on { color:var(--tts-forest); background:var(--tts-limet); }
.tts-nav-cta { font-family:var(--tts-fb); font-size:.9rem; font-weight:700; color:white; background:var(--tts-forest); padding:.42rem 1.2rem; border-radius:100px; transition:background .14s; white-space:nowrap; margin-left:.5rem; }
.tts-nav-cta:hover { background:var(--tts-forest2); }
/* Mobile */
.tts-ham { display:none; width:36px; height:36px; flex-direction:column; align-items:center; justify-content:center; gap:5px; border-radius:var(--tts-r2); border:1.5px solid var(--tts-border); cursor:pointer; }
.tts-ham span { width:15px; height:1.5px; background:var(--tts-ink); border-radius:2px; display:block; transition:var(--tts-ease); }
.tts-mob-ov { position:fixed; inset:0; background:rgba(0,0,0,.3); z-index:910; opacity:0; pointer-events:none; transition:opacity .22s; }
.tts-mob-ov.tts-ov-on { opacity:1; pointer-events:auto; }
.tts-mob-drawer { position:fixed; top:0; right:0; bottom:0; width:280px; background:var(--tts-white); z-index:920; transform:translateX(100%); transition:transform .28s cubic-bezier(.4,0,.2,1); padding:1.4rem; overflow-y:auto; box-shadow:-4px 0 24px rgba(0,0,0,.1); }
.tts-mob-drawer.tts-draw-on { transform:none; }
.tts-draw-hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.6rem; padding-bottom:.9rem; border-bottom:1px solid var(--tts-border); }
.tts-draw-lk { display:flex; align-items:center; justify-content:space-between; padding:.64rem 0; border-bottom:1px solid rgba(0,0,0,.04); font-family:var(--tts-fb); font-size:.9rem; font-weight:600; color:var(--tts-mid); transition:color .14s; }
.tts-draw-lk:hover { color:var(--tts-forest); }
.tts-draw-svc-h { font-size:.42rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--tts-muted); margin:1rem 0 .4rem; }

/* ============================================================
   DIAGONAL SPLIT HERO (FIRST in series!)
   ============================================================ */
.tts-hero { min-height:100vh; display:grid; grid-template-columns:55% 45%; position:relative; overflow:hidden; }
/* Left dark panel */
.tts-hero-l { background:var(--tts-forest); display:flex; flex-direction:column; justify-content:center; padding:calc(var(--tts-nav-h) + 4rem) 4rem 5rem 3rem; position:relative; }
/* Diagonal edge on right side of left panel */
.tts-hero-l::after { content:''; position:absolute; top:0; right:-6vw; bottom:0; width:12vw; background:var(--tts-forest); clip-path:polygon(0 0,100% 0,0 100%,0 100%); z-index:2; }
/* Decorative dots pattern */
.tts-hero-l::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(34,197,94,.12) 1px,transparent 1px); background-size:32px 32px; pointer-events:none; }
/* Right cream panel */
.tts-hero-r { background:var(--tts-cream); display:flex; align-items:center; justify-content:center; padding:calc(var(--tts-nav-h) + 2rem) 3rem 3rem 5vw; position:relative; z-index:1; }
.tts-hero-tag { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tts-fb); font-size:.52rem; font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:var(--tts-lime); background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.2); padding:.2rem .8rem; border-radius:100px; margin-bottom:1.2rem; }
.tts-hero h1 { color:white; margin-bottom:.4rem; }
.tts-hero-italic { font-style:italic; color:var(--tts-lime); }
.tts-hero-sub { max-width:40ch; color:rgba(255,255,255,.55); font-size:.92rem; margin-bottom:2rem; }
.tts-hero-acts { display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:3rem; }
/* Hero right side: ranking visualization */
.tts-rank-viz { background:white; border-radius:var(--tts-r3); padding:1.4rem; box-shadow:var(--tts-sh2); width:100%; max-width:320px; border:1px solid var(--tts-border); }
.tts-rv-h { font-family:var(--tts-fb); font-size:.48rem; font-weight:700; text-transform:uppercase; letter-spacing:.18em; color:var(--tts-muted); margin-bottom:.9rem; display:flex; align-items:center; justify-content:space-between; }
.tts-rv-label { color:var(--tts-lime2); }
.tts-rv-row { display:flex; align-items:center; gap:.6rem; padding:.44rem 0; border-bottom:1px solid rgba(0,0,0,.04); }
.tts-rv-pos { width:24px; height:24px; background:var(--tts-surf); border-radius:var(--tts-r); display:flex; align-items:center; justify-content:center; font-family:var(--tts-fb); font-size:.68rem; font-weight:700; color:var(--tts-mid); flex-shrink:0; }
.tts-rv-pos.tts-rv-top { background:var(--tts-forest); color:var(--tts-lime); }
.tts-rv-kw { font-size:.76rem; flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.tts-rv-arr { color:var(--tts-lime); flex-shrink:0; }
.tts-rv-delta { font-family:var(--tts-fb); font-size:.6rem; font-weight:700; color:var(--tts-lime); background:var(--tts-limet); padding:.06rem .4rem; border-radius:100px; white-space:nowrap; }

/* ============================================================
   STATS COUNTER ROW (animated)
   ============================================================ */
.tts-stats-belt { background:var(--tts-forest); }
.tts-stats-inner { max-width:var(--tts-max); margin:0 auto; padding:3rem 2rem; display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.tts-stat-blk { text-align:center; padding:1rem; border-right:1px solid rgba(255,255,255,.07); }
.tts-stat-blk:last-child { border-right:none; }
.tts-stat-n { font-family:var(--tts-fh); font-size:3rem; font-weight:700; color:white; line-height:1; }
.tts-stat-suffix { color:var(--tts-lime); }
.tts-stat-l { font-family:var(--tts-fb); font-size:.52rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.3); margin-top:.3rem; }

/* ============================================================
   CLIENTS MARQUEE
   ============================================================ */
.tts-marquee { overflow:hidden; padding:.7rem 0; border-top:1px solid var(--tts-border); border-bottom:1px solid var(--tts-border); background:var(--tts-white); }
.tts-marquee-inner { display:flex; width:max-content; animation:ttsMq 28s linear infinite; }
.tts-marquee:hover .tts-marquee-inner { animation-play-state:paused; }
@keyframes ttsMq { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.tts-mq-item { font-family:var(--tts-fb); font-size:.8rem; font-weight:600; color:var(--tts-muted); padding:0 2.8rem; border-right:1px solid var(--tts-border); white-space:nowrap; }

/* ============================================================
   SERVICES 3-COL WITH SEO METRIC BADGES
   ============================================================ */
.tts-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2.5rem; }
.tts-svc-card { background:var(--tts-white); border:1.5px solid var(--tts-border); border-radius:var(--tts-r3); padding:1.8rem; transition:var(--tts-ease); position:relative; overflow:hidden; }
.tts-svc-card:hover { border-color:var(--tts-lime); box-shadow:var(--tts-sh); transform:translateY(-3px); }
/* green top bar on hover */
.tts-svc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--tts-lime); transform:scaleX(0); transform-origin:left; transition:transform .22s; }
.tts-svc-card:hover::before { transform:scaleX(1); }
.tts-sc-ico { width:40px; height:40px; background:var(--tts-limet); border-radius:var(--tts-r2); display:flex; align-items:center; justify-content:center; color:var(--tts-lime2); margin-bottom:.9rem; }
.tts-sc-nm { font-family:var(--tts-fb); font-size:.94rem; font-weight:700; color:var(--tts-ink); margin-bottom:.2rem; }
.tts-sc-tag { font-size:.6rem; font-weight:700; color:var(--tts-lime2); margin-bottom:.5rem; display:block; }
.tts-sc-p { font-size:.78rem; line-height:1.7; margin-bottom:.9rem; }
.tts-sc-lk { display:flex; align-items:center; gap:.28rem; font-size:.78rem; font-weight:700; color:var(--tts-mid); transition:color .14s; }
.tts-svc-card:hover .tts-sc-lk { color:var(--tts-lime2); }

/* ============================================================
   HORIZONTAL SCROLL CASE STUDIES
   ============================================================ */
.tts-cases-scroll { overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; cursor:grab; padding-bottom:1rem; }
.tts-cases-scroll:active { cursor:grabbing; }
.tts-cases-row { display:flex; gap:1rem; padding:.2rem .5rem; width:max-content; }
.tts-case-card { width:340px; flex-shrink:0; scroll-snap-align:start; background:var(--tts-white); border:1.5px solid var(--tts-border); border-radius:var(--tts-r3); overflow:hidden; transition:var(--tts-ease); }
.tts-case-card:hover { border-color:var(--tts-forest); box-shadow:var(--tts-sh2); }
.tts-cc-img { height:160px; position:relative; overflow:hidden; background:var(--tts-surf); }
.tts-cc-img img { width:100%; height:100%; object-fit:cover; opacity:.3; transition:opacity .3s; }
.tts-case-card:hover .tts-cc-img img { opacity:.42; }
.tts-cc-sector { position:absolute; top:.7rem; left:.7rem; font-family:var(--tts-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--tts-lime); background:var(--tts-forest); padding:.12rem .52rem; border-radius:100px; }
.tts-cc-bd { padding:1.2rem; }
.tts-cc-nm { font-family:var(--tts-fh); font-size:1.05rem; font-weight:600; color:var(--tts-ink); margin-bottom:.7rem; }
.tts-cc-metric { background:var(--tts-limet); border:1px solid rgba(34,197,94,.2); border-radius:var(--tts-r2); padding:.6rem .8rem; margin-bottom:.6rem; }
.tts-cc-m-l { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--tts-mid); margin-bottom:.08rem; }
.tts-cc-m-v { font-family:var(--tts-fb); font-size:.9rem; font-weight:700; color:var(--tts-lime2); }
.tts-cc-win { font-size:.72rem; font-weight:700; color:var(--tts-forest); margin-top:.5rem; }

/* ============================================================
   ALTERNATING PROCESS BLOCKS
   ============================================================ */
.tts-proc-list { display:flex; flex-direction:column; gap:0; }
.tts-proc-block { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; padding:4rem 0; border-bottom:1px solid var(--tts-border); }
.tts-proc-block:nth-child(even) .tts-proc-txt { order:2; }
.tts-proc-block:nth-child(even) .tts-proc-num-c { order:1; }
.tts-proc-num-c { display:flex; align-items:center; justify-content:center; }
.tts-proc-n { font-family:var(--tts-fh); font-size:8rem; font-weight:700; color:var(--tts-forest); opacity:.07; line-height:1; user-select:none; }
.tts-proc-h { font-family:var(--tts-fb); font-size:.96rem; font-weight:700; color:var(--tts-ink); margin-bottom:.4rem; }
.tts-proc-step-n { font-family:var(--tts-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--tts-lime2); margin-bottom:.3rem; display:block; }
.tts-proc-p { font-size:.86rem; line-height:1.82; }

/* ============================================================
   3-COL TESTIMONIALS
   ============================================================ */
.tts-testi-trio { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2.5rem; }
.tts-tq { background:var(--tts-forest); border-radius:var(--tts-r3); padding:2rem; }
.tts-tq-stars { display:flex; gap:.2rem; margin-bottom:.9rem; color:var(--tts-amber); }
.tts-tq-q { font-family:var(--tts-fh); font-size:1.05rem; font-weight:400; color:rgba(255,255,255,.85); line-height:1.65; font-style:italic; margin-bottom:1.2rem; }
.tts-tq-who { font-family:var(--tts-fb); font-size:.8rem; font-weight:700; color:white; }
.tts-tq-role { font-size:.6rem; color:rgba(255,255,255,.3); margin-top:.04rem; }
.tts-tq-co { font-size:.68rem; color:var(--tts-lime); margin-top:.08rem; }

/* ============================================================
   TAB-BASED PRICING (FIRST in series!)
   ============================================================ */
.tts-price-tabs { display:flex; gap:.4rem; justify-content:center; margin-bottom:2.5rem; background:var(--tts-white); border:1.5px solid var(--tts-border); border-radius:100px; padding:.3rem; max-width:360px; margin-left:auto; margin-right:auto; }
.tts-ptab { flex:1; font-family:var(--tts-fb); font-size:.84rem; font-weight:700; color:var(--tts-mid); padding:.5rem; border-radius:100px; cursor:pointer; text-align:center; transition:var(--tts-ease); }
.tts-ptab.tts-ptab-on { background:var(--tts-forest); color:white; }
.tts-price-panel { display:none; }
.tts-price-panel.tts-pp-on { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start; }
.tts-pp-info { }
.tts-pp-nm { font-family:var(--tts-fh); font-size:2.8rem; font-weight:600; color:var(--tts-ink); margin-bottom:.1rem; }
.tts-pp-scope { font-size:.62rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--tts-mid); margin-bottom:.6rem; }
.tts-pp-price { font-family:var(--tts-fh); font-size:4.5rem; font-weight:700; color:var(--tts-forest); line-height:1; letter-spacing:-.02em; }
.tts-pp-per { font-family:var(--tts-fb); font-size:.52rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--tts-mid); margin-bottom:.3rem; }
.tts-pp-wks { font-size:.7rem; color:var(--tts-mid); font-style:italic; margin-bottom:.6rem; }
.tts-pp-tag2 { font-size:.82rem; color:var(--tts-mid); border-top:1px solid var(--tts-border); padding-top:.6rem; margin-top:.4rem; }
.tts-pp-inc { display:flex; flex-direction:column; gap:.28rem; margin:1.4rem 0; }
.tts-pp-row { display:flex; align-items:flex-start; gap:.38rem; font-size:.8rem; color:var(--tts-mid); }
.tts-pp-row svg { color:var(--tts-lime2); flex-shrink:0; margin-top:.04rem; }
.tts-pp-cta { margin-top:1.4rem; display:flex; gap:.5rem; flex-wrap:wrap; }
/* Right side: featured badge or summary */
.tts-pp-aside { background:var(--tts-forest); border-radius:var(--tts-r3); padding:2rem; color:white; }
.tts-pp-aside-h { font-family:var(--tts-fh); font-size:1.2rem; font-weight:600; color:white; margin-bottom:.5rem; }
.tts-pp-aside-row { display:flex; align-items:flex-start; gap:.38rem; font-size:.78rem; color:rgba(255,255,255,.5); padding:.3rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
.tts-pp-aside-row svg { color:var(--tts-lime); flex-shrink:0; margin-top:.06rem; }
.tts-pp-feat { display:inline-flex; align-items:center; gap:.3rem; font-family:var(--tts-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; background:var(--tts-lime); color:var(--tts-forest); padding:.18rem .6rem; border-radius:100px; margin-bottom:.6rem; }

/* ============================================================
   CATEGORY SIDEBAR FAQ (FIRST in series!)
   ============================================================ */
.tts-faq-layout { display:grid; grid-template-columns:200px 1fr; gap:3rem; margin-top:2.5rem; align-items:start; }
.tts-faq-cats { display:flex; flex-direction:column; gap:.2rem; position:sticky; top:calc(var(--tts-nav-h) + 1.5rem); }
.tts-faq-cat-btn { font-family:var(--tts-fb); font-size:.82rem; font-weight:600; color:var(--tts-mid); padding:.5rem .8rem; border-radius:var(--tts-r2); cursor:pointer; transition:var(--tts-ease); text-align:left; background:transparent; }
.tts-faq-cat-btn:hover { color:var(--tts-forest); background:var(--tts-limet); }
.tts-faq-cat-btn.tts-fcat-on { color:var(--tts-forest); background:var(--tts-limet); font-weight:700; }
.tts-faq-list { }
.tts-faq-item { border-bottom:1px solid var(--tts-border); }
.tts-faq-item[data-cat].tts-faq-hide { display:none; }
.tts-faq-qbtn { width:100%; display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.88rem 0; cursor:pointer; text-align:left; }
.tts-faq-qtxt { font-family:var(--tts-fb); font-size:.88rem; font-weight:600; color:var(--tts-mid); transition:color .15s; line-height:1.4; }
.tts-faq-item.tts-fq-open .tts-faq-qtxt { color:var(--tts-ink); }
.tts-faq-ico { width:22px; height:22px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--tts-muted); transition:var(--tts-ease); }
.tts-faq-item.tts-fq-open .tts-faq-ico { color:var(--tts-lime2); transform:rotate(45deg); }
.tts-faq-ans { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.tts-faq-item.tts-fq-open .tts-faq-ans { max-height:220px; }
.tts-faq-atxt { font-size:.84rem; color:var(--tts-mid); padding:.1rem 0 1rem; line-height:1.8; }

/* ============================================================
   SERVICE PAGE
   ============================================================ */
.tts-svc-layout { max-width:var(--tts-max); margin:0 auto; padding:5rem 2rem; display:grid; grid-template-columns:1fr 220px; gap:5rem; align-items:start; }
.tts-svc-bdy h2 { font-family:var(--tts-fh); font-size:1.6rem; font-weight:600; color:var(--tts-lime2); margin:2.5rem 0 .5rem; }
.tts-svc-bdy p { margin-bottom:.88rem; }
.tts-svc-inc-list { display:flex; flex-direction:column; gap:.38rem; margin-bottom:1.4rem; }
.tts-svc-inc-row { display:flex; align-items:flex-start; gap:.45rem; font-size:.86rem; color:var(--tts-ink); }
.tts-svc-inc-row svg { color:var(--tts-lime2); flex-shrink:0; margin-top:.1rem; }
.tts-svc-del { background:var(--tts-limet); border-left:3px solid var(--tts-lime2); padding:.72rem .9rem; border-radius:0 var(--tts-r) var(--tts-r) 0; margin-bottom:1.2rem; }
.tts-svc-del p { margin:0; font-size:.82rem; color:var(--tts-mid); }
.tts-aside-box { background:var(--tts-forest); border-radius:var(--tts-r3); overflow:hidden; position:sticky; top:calc(var(--tts-nav-h) + 1.5rem); }
.tts-aside-img img { width:100%; height:80px; object-fit:cover; opacity:.15; display:block; }
.tts-aside-bd { padding:1.2rem; }
.tts-aside-from { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:rgba(255,255,255,.3); margin-bottom:.2rem; }
.tts-aside-price { font-family:var(--tts-fh); font-size:.9rem; font-weight:700; color:var(--tts-lime); margin-bottom:.8rem; }
.tts-other-h { font-size:.42rem; font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:rgba(255,255,255,.2); margin:1.4rem 0 .5rem; }
.tts-other-lk { display:flex; align-items:center; gap:.38rem; font-size:.78rem; color:rgba(255,255,255,.3); padding:.34rem 0; border-bottom:1px solid rgba(255,255,255,.05); transition:color .14s; }
.tts-other-lk:hover { color:var(--tts-lime); }

/* ============================================================
   BUILDER
   ============================================================ */
.tts-build-wrap { max-width:var(--tts-max); margin:0 auto; padding:4rem 2rem 8rem; display:grid; grid-template-columns:1fr 260px; gap:4rem; align-items:start; }
.tts-bld-sec { margin-bottom:2.2rem; }
.tts-bld-lbl { display:block; font-family:var(--tts-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.24em; color:var(--tts-lime2); margin-bottom:.9rem; }
.tts-pick { background:var(--tts-white); border:1.5px solid var(--tts-border); border-radius:var(--tts-r2); padding:.78rem 1rem; display:flex; align-items:center; gap:.65rem; cursor:pointer; user-select:none; transition:var(--tts-ease); margin-bottom:.4rem; }
.tts-pick:hover { border-color:var(--tts-lime); }
.tts-pick.tts-picked { border-color:var(--tts-lime2); background:var(--tts-limet); }
.tts-pick-box { width:16px; height:16px; border:1.5px solid var(--tts-border); border-radius:var(--tts-r); flex-shrink:0; transition:var(--tts-ease); }
.tts-pick.tts-picked .tts-pick-box { background:var(--tts-lime2); border-color:var(--tts-lime2); }
.tts-pick-nm { font-size:.84rem; color:var(--tts-mid); flex:1; }
.tts-pick.tts-picked .tts-pick-nm { color:var(--tts-ink); font-weight:700; }
.tts-pick-pr { font-size:.7rem; font-weight:700; color:var(--tts-lime2); white-space:nowrap; }
.tts-adn-wrap { display:flex; flex-wrap:wrap; gap:.4rem; }
.tts-adn-chip { background:var(--tts-white); border:1.5px solid var(--tts-border); border-radius:100px; padding:.44rem .88rem; cursor:pointer; user-select:none; transition:var(--tts-ease); }
.tts-adn-chip:hover { border-color:var(--tts-lime); }
.tts-adn-chip.tts-chip-on { border-color:var(--tts-lime2); background:var(--tts-limet); }
.tts-chip-nm { font-size:.8rem; font-weight:600; color:var(--tts-mid); }
.tts-adn-chip.tts-chip-on .tts-chip-nm { color:var(--tts-ink); }
.tts-chip-pr { font-size:.58rem; color:var(--tts-muted); }
.tts-adn-chip.tts-chip-on .tts-chip-pr { color:var(--tts-lime2); }
.tts-hrs-box { background:var(--tts-white); border:1.5px solid var(--tts-border); border-radius:var(--tts-r2); padding:.9rem 1rem; }
.tts-hrs-hd { display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.tts-hrs-lbl { font-size:.82rem; color:var(--tts-mid); }
.tts-hrs-val { font-family:var(--tts-fh); font-size:1.8rem; font-weight:700; color:var(--tts-forest); line-height:1; }
.tts-hrs-slider { -webkit-appearance:none; width:100%; height:3px; background:var(--tts-border); border-radius:2px; cursor:pointer; }
.tts-hrs-slider::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:var(--tts-forest); cursor:pointer; }
.tts-hrs-note { font-size:.64rem; color:var(--tts-muted); margin-top:.4rem; }
.tts-receipt { background:var(--tts-forest); border-radius:var(--tts-r3); overflow:hidden; position:sticky; top:calc(var(--tts-nav-h) + 1.5rem); }
.tts-receipt-top { background:rgba(255,255,255,.04); padding:.82rem 1.1rem; border-bottom:1px solid rgba(255,255,255,.06); }
.tts-receipt-lbl { font-family:var(--tts-fb); font-size:.72rem; font-weight:700; color:rgba(255,255,255,.2); }
.tts-receipt-lines { padding:.8rem 1.1rem; min-height:56px; }
.tts-receipt-empty { font-size:.74rem; color:rgba(255,255,255,.2); font-style:italic; }
.tts-receipt-ln { display:flex; justify-content:space-between; gap:.5rem; font-size:.74rem; margin-bottom:.35rem; }
.tts-receipt-lnm { color:rgba(255,255,255,.3); }
.tts-receipt-lpr { font-weight:700; color:rgba(255,255,255,.65); }
.tts-receipt-foot { border-top:1px solid rgba(255,255,255,.06); padding:.82rem 1.1rem; }
.tts-receipt-tot { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:.82rem; }
.tts-receipt-totl { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.18); }
.tts-receipt-totv { font-family:var(--tts-fh); font-size:2.6rem; font-weight:700; color:var(--tts-lime); line-height:1; }
.tts-receipt-go { display:block; width:100%; background:var(--tts-lime2); color:white; font-family:var(--tts-fb); font-size:.88rem; font-weight:700; padding:.76rem; border-radius:100px; border:none; cursor:pointer; transition:background .14s; }
.tts-receipt-go:hover:not(:disabled) { background:var(--tts-lime); color:var(--tts-forest); }
.tts-receipt-go:disabled { opacity:.22; cursor:not-allowed; }

/* ============================================================
   CHECKOUT
   ============================================================ */
.tts-co-wrap { max-width:860px; margin:0 auto; padding:5rem 2rem; display:grid; grid-template-columns:1fr 220px; gap:4rem; align-items:start; }
.tts-fg { margin-bottom:.6rem; }
.tts-fl { display:block; font-family:var(--tts-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--tts-muted); margin-bottom:.28rem; }
.tts-fi { width:100%; background:var(--tts-white); border:1.5px solid var(--tts-border); border-radius:var(--tts-r2); padding:.64rem .9rem; color:var(--tts-ink); font-size:.9rem; transition:border-color .15s; }
.tts-fi:focus { outline:none; border-color:var(--tts-lime2); box-shadow:0 0 0 3px var(--tts-limet); }
.tts-fi::placeholder { color:var(--tts-muted); }
.tts-agree { display:flex; align-items:flex-start; gap:.5rem; font-size:.78rem; color:var(--tts-mid); margin:.88rem 0; line-height:1.6; }
.tts-agree input { margin-top:.12rem; accent-color:var(--tts-lime2); }
.tts-agree a { color:var(--tts-lime2); }
.tts-co-sum { background:var(--tts-forest); border-radius:var(--tts-r3); overflow:hidden; position:sticky; top:calc(var(--tts-nav-h) + 1.5rem); }
.tts-co-sum-hd { background:rgba(255,255,255,.04); padding:.7rem 1rem; border-bottom:1px solid rgba(255,255,255,.06); }
.tts-co-sum-hl { font-family:var(--tts-fb); font-size:.72rem; font-weight:700; color:rgba(255,255,255,.22); letter-spacing:.06em; }
.tts-co-sum-bd { padding:.84rem 1rem; }
.tts-co-ln { display:flex; justify-content:space-between; gap:1rem; font-size:.74rem; margin-bottom:.35rem; }
.tts-co-lnm { color:rgba(255,255,255,.3); }
.tts-co-lpr { font-weight:700; color:rgba(255,255,255,.65); }
.tts-co-div { border:none; border-top:1px solid rgba(255,255,255,.06); margin:.5rem 0; }
.tts-co-tot { display:flex; justify-content:space-between; align-items:flex-end; }
.tts-co-totl { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.18); }
.tts-co-totv { font-family:var(--tts-fh); font-size:2.2rem; font-weight:700; color:var(--tts-lime); line-height:1; }

/* ============================================================
   PAGE CAP
   ============================================================ */
.tts-pagecap { padding:calc(var(--tts-nav-h) + 4rem) 2rem 4rem; text-align:center; background:var(--tts-cream); border-bottom:1px solid var(--tts-border); position:relative; overflow:hidden; }
.tts-pagecap::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(13,59,46,.04) 1px,transparent 1px); background-size:28px 28px; pointer-events:none; }
.tts-pagecap-label { font-family:var(--tts-fb); font-size:.48rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--tts-lime2); background:var(--tts-limet); border:1px solid rgba(34,197,94,.2); padding:.2rem .82rem; border-radius:100px; display:inline-block; margin-bottom:.8rem; position:relative; }
.tts-pagecap h1 { color:var(--tts-ink); max-width:18ch; margin:0 auto; position:relative; }
.tts-pagecap-sub { color:var(--tts-mid); max-width:52ch; margin:.6rem auto 0; font-size:.95rem; position:relative; }

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.tts-legal { max-width:800px; margin:0 auto; padding:5rem 2rem 8rem; }
.tts-legal h2 { font-family:var(--tts-fh); font-size:1.6rem; font-weight:600; color:var(--tts-forest); margin:2.8rem 0 .5rem; }
.tts-legal h3 { font-family:var(--tts-fb); font-size:.92rem; font-weight:700; color:var(--tts-ink); margin:1.4rem 0 .3rem; }
.tts-legal p { margin-bottom:.88rem; font-size:.9rem; }
.tts-legal ul { padding-left:1.2rem; margin:.4rem 0 .88rem; }
.tts-legal li { font-size:.9rem; list-style:disc; color:var(--tts-mid); line-height:1.72; margin-bottom:.26rem; }
.tts-legal a { color:var(--tts-lime2); }
.tts-legal table { width:100%; border-collapse:collapse; font-size:.84rem; margin:.88rem 0 1.2rem; }
.tts-legal th { background:var(--tts-surf); color:var(--tts-ink); padding:.5rem .9rem; text-align:left; font-family:var(--tts-fb); font-size:.56rem; text-transform:uppercase; letter-spacing:.06em; border:1px solid var(--tts-border); }
.tts-legal td { padding:.5rem .9rem; border:1px solid var(--tts-border); color:var(--tts-mid); }
.tts-legal address { background:var(--tts-limet); border-left:3px solid var(--tts-lime2); padding:.88rem 1.1rem; font-size:.86rem; color:var(--tts-mid); line-height:1.86; margin:.88rem 0; border-radius:0 var(--tts-r) var(--tts-r) 0; }
.tts-legal-eff { display:inline-block; font-size:.68rem; color:var(--tts-muted); background:var(--tts-surf); border:1px solid var(--tts-border); padding:.24rem .7rem; border-radius:100px; margin-bottom:1.5rem; }
.tts-result { min-height:74vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:6rem 2rem; }

/* ============================================================
   BUTTONS
   ============================================================ */
.tts-btn-forest { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tts-fb); font-size:.9rem; font-weight:700; color:white; background:var(--tts-forest); padding:.7rem 2rem; border-radius:100px; transition:background .14s; border:none; cursor:pointer; white-space:nowrap; }
.tts-btn-forest:hover { background:var(--tts-forest2); }
.tts-btn-lime { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tts-fb); font-size:.9rem; font-weight:700; color:var(--tts-forest); background:var(--tts-lime); padding:.7rem 2rem; border-radius:100px; transition:background .14s; border:none; cursor:pointer; white-space:nowrap; }
.tts-btn-lime:hover { background:var(--tts-lime2); color:white; }
.tts-btn-outline { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tts-fb); font-size:.9rem; font-weight:700; color:var(--tts-ink); background:transparent; padding:.68rem 1.9rem; border-radius:100px; border:1.5px solid var(--tts-border); transition:var(--tts-ease); white-space:nowrap; }
.tts-btn-outline:hover { border-color:var(--tts-lime2); color:var(--tts-lime2); }
.tts-btn-outline-sm { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--tts-fb); font-size:.82rem; font-weight:700; color:var(--tts-mid); background:transparent; padding:.5rem 1.2rem; border-radius:100px; border:1.5px solid var(--tts-border); transition:var(--tts-ease); white-space:nowrap; }
.tts-btn-outline-sm:hover { border-color:var(--tts-lime2); color:var(--tts-lime2); }
/* For dark aside card - use lime + ghost-light */
.tts-btn-lime-sm { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--tts-fb); font-size:.82rem; font-weight:700; color:var(--tts-forest); background:var(--tts-lime); padding:.5rem 1rem; border-radius:100px; transition:background .14s; border:none; cursor:pointer; white-space:nowrap; }
.tts-btn-lime-sm:hover { background:var(--tts-lime2); color:white; }
.tts-btn-ghost-sm { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--tts-fb); font-size:.82rem; font-weight:700; color:rgba(255,255,255,.3); background:transparent; padding:.5rem 1rem; border-radius:100px; border:1.5px solid rgba(255,255,255,.12); transition:var(--tts-ease); white-space:nowrap; }
.tts-btn-ghost-sm:hover { border-color:var(--tts-lime); color:var(--tts-lime); }
/* Cream/outline for dark hero */
.tts-btn-outline-cream { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tts-fb); font-size:.9rem; font-weight:700; color:rgba(255,255,255,.7); background:transparent; padding:.68rem 1.9rem; border-radius:100px; border:1.5px solid rgba(255,255,255,.2); transition:var(--tts-ease); white-space:nowrap; }
.tts-btn-outline-cream:hover { border-color:var(--tts-lime); color:var(--tts-lime); }

/* ============================================================
   UTILITIES
   ============================================================ */
.tts-shell { max-width:var(--tts-max); margin:0 auto; padding:0 2rem; }
.tts-slab { padding:8rem 0; }
.tts-slab-md { padding:6rem 0; }
.tts-eyebrow { font-family:var(--tts-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--tts-lime2); display:inline-block; }
.tts-rise { opacity:0; transform:translateY(14px); transition:opacity .48s ease,transform .48s ease; }
.tts-rise.tts-vis { opacity:1; transform:none; }
.tts-center { text-align:center; }

/* ============================================================
   COOKIE + CHAT
   ============================================================ */
.tts-ck-bar { position:fixed; bottom:0; left:0; right:0; background:var(--tts-forest3); border-top:2px solid var(--tts-lime2); z-index:9999; padding:.9rem 2rem; display:none; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.tts-ck-bar p { font-size:.78rem; color:rgba(255,255,255,.4); margin:0; }
.tts-ck-bar a { color:var(--tts-lime); }
.tts-ck-btns { display:flex; gap:.4rem; flex-shrink:0; }
.tts-ck-yes { background:var(--tts-lime); color:var(--tts-forest); font-family:var(--tts-fb); font-size:.76rem; font-weight:700; padding:.38rem .92rem; border:none; border-radius:100px; cursor:pointer; }
.tts-ck-no  { background:transparent; color:rgba(255,255,255,.3); font-family:var(--tts-fb); font-size:.76rem; padding:.38rem .92rem; border:1px solid rgba(255,255,255,.12); border-radius:100px; cursor:pointer; }
.tts-chat-fab { position:fixed; bottom:4.5rem; right:1.5rem; z-index:9990; width:52px; height:52px; background:var(--tts-forest); border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(13,59,46,.35); cursor:pointer; border:none; transition:var(--tts-ease); }
.tts-chat-fab:hover { background:var(--tts-forest2); transform:scale(1.06); }
.tts-chatpop { position:fixed; bottom:7.5rem; right:1.5rem; z-index:9989; width:272px; background:white; border:1px solid var(--tts-border); border-radius:var(--tts-r3); box-shadow:var(--tts-sh2); opacity:0; pointer-events:none; transform:translateY(8px) scale(.97); transition:opacity .2s,transform .22s; overflow:hidden; }
.tts-chatpop.tts-cp-on { opacity:1; pointer-events:auto; transform:none; }
.tts-chatpop-hd { background:var(--tts-forest); padding:.9rem 1rem; display:flex; align-items:center; justify-content:space-between; }
.tts-chatpop-nm { font-family:var(--tts-fb); font-size:.88rem; font-weight:700; color:white; }
.tts-chatpop-sub { font-size:.52rem; color:rgba(255,255,255,.4); }
.tts-chatpop-x { color:rgba(255,255,255,.5); }
.tts-chatpop-bd { padding:.88rem; }
.tts-chat-done { display:none; text-align:center; padding:.7rem; font-size:.82rem; color:var(--tts-lime2); font-weight:700; }
.tts-chat-inp { width:100%; background:var(--tts-surf); border:1px solid var(--tts-border); border-radius:var(--tts-r2); padding:.44rem .76rem; font-size:.8rem; color:var(--tts-ink); margin-bottom:.36rem; resize:none; }
.tts-chat-send { width:100%; background:var(--tts-forest); color:white; font-family:var(--tts-fb); font-size:.78rem; font-weight:700; padding:.48rem; border-radius:100px; border:none; cursor:pointer; }

/* ============================================================
   DARK FOREST FOOTER (FIRST colored dark footer in series!)
   ============================================================ */
.tts-foot { background:var(--tts-forest3); }
.tts-foot-top { max-width:var(--tts-max); margin:0 auto; padding:5rem 2rem 2.5rem; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; }
.tts-foot-logo { font-family:var(--tts-fh); font-size:1.3rem; font-weight:700; color:white; letter-spacing:.01em; }
.tts-foot-logo em { font-style:italic; color:var(--tts-lime); }
.tts-foot-tagline { font-size:.76rem; color:rgba(255,255,255,.25); margin-top:.2rem; max-width:22ch; line-height:1.72; margin-bottom:.9rem; }
.tts-foot-soc { display:flex; gap:.4rem; }
.tts-foot-soc a { width:30px; height:30px; border:1px solid rgba(255,255,255,.1); border-radius:100px; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.3); transition:var(--tts-ease); }
.tts-foot-soc a:hover { border-color:var(--tts-lime); color:var(--tts-lime); }
.tts-foot-col-h { font-family:var(--tts-fb); font-size:.4rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:rgba(255,255,255,.2); margin-bottom:.9rem; }
.tts-foot-links { display:flex; flex-direction:column; gap:.46rem; }
.tts-foot-links a { font-size:.8rem; color:rgba(255,255,255,.25); transition:color .14s; }
.tts-foot-links a:hover { color:var(--tts-lime); }
.tts-foot-ct a { display:flex; align-items:flex-start; gap:.38rem; font-size:.78rem; color:rgba(255,255,255,.25); transition:color .14s; margin-bottom:.5rem; }
.tts-foot-ct a:hover { color:var(--tts-lime); }
.tts-foot-ct svg { color:rgba(255,255,255,.15); flex-shrink:0; margin-top:.04rem; }
.tts-foot-btm { border-top:1px solid rgba(255,255,255,.06); max-width:var(--tts-max); margin:0 auto; padding:1.2rem 2rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.tts-foot-copy { font-size:.6rem; color:rgba(255,255,255,.15); }
.tts-foot-leg { display:flex; gap:1.1rem; flex-wrap:wrap; }
.tts-foot-leg a { font-size:.6rem; color:rgba(255,255,255,.15); transition:color .14s; }
.tts-foot-leg a:hover { color:var(--tts-lime); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px) {
  .tts-nav-left,.tts-nav-right,.tts-nav-cta { display:none; }
  .tts-ham { display:flex; }
  .tts-nav-frame { grid-template-columns:1fr auto 1fr; }
  .tts-hero { grid-template-columns:1fr; min-height:auto; }
  .tts-hero-l::after { display:none; }
  .tts-hero-l { padding:calc(var(--tts-nav-h) + 2rem) 1.4rem 3rem; }
  .tts-hero-r { padding:2.5rem 1.4rem 3rem; }
  .tts-stats-inner { grid-template-columns:1fr 1fr; }
  .tts-svc-grid { grid-template-columns:1fr 1fr; }
  .tts-testi-trio { grid-template-columns:1fr; }
  .tts-price-panel.tts-pp-on { grid-template-columns:1fr; }
  .tts-faq-layout { grid-template-columns:1fr; }
  .tts-faq-cats { position:static; flex-direction:row; flex-wrap:wrap; }
  .tts-proc-block { grid-template-columns:1fr; gap:2rem; }
  .tts-proc-block:nth-child(even) .tts-proc-txt { order:0; }
  .tts-proc-block:nth-child(even) .tts-proc-num-c { order:0; }
  .tts-proc-n { font-size:5rem; }
  .tts-build-wrap,.tts-co-wrap,.tts-svc-layout { grid-template-columns:1fr; gap:2.5rem; }
  .tts-foot-top { grid-template-columns:1fr 1fr; gap:2rem; }
  .tts-shell,.tts-build-wrap,.tts-co-wrap { padding-left:1.4rem; padding-right:1.4rem; }
  .tts-svc-layout { padding:4rem 1.4rem; }
}
@media (max-width:640px) {
  .tts-svc-grid { grid-template-columns:1fr; }
  .tts-stats-inner { grid-template-columns:repeat(2,1fr); gap:.5rem; }
  .tts-foot-top { grid-template-columns:1fr; }
}
