/* geniuscopywriting.com | Copywriting Agency | Jerez de la Frontera, Cadiz, Spain (FIRST!)
   DEEP VIOLET #2D1066 + CREAM #FAF8F5 + ELECTRIC LIME #A8E62E (ALL FIRST in 52-site series!)
   Sora (FIRST!) + Plus Jakarta Sans (FIRST!)
   gcw- CSS prefix | GCW JS | $gcw PHP | gcw_lang cookie (EN/ES bilingual)
   REDESIGNED: LIME UTILITY BAR + SOLID VIOLET NAV | FULL-SCREEN VIOLET HERO (FIRST!)
   LIME STATS STRIP (FIRST!) | 4-COL BENTO SERVICES (FIRST!)
   GIANT STROKE TEXT ABOUT (FIRST -webkit-text-stroke!) | EDITORIAL NUMBERED PROCESS (FIRST!)
   FULL-HEIGHT SPLIT TESTIMONIALS violet/cream (FIRST!) | HORIZONTAL ROW PRICING (FIRST!)
   Q-LIST+A-PANEL REACTIVE FAQ (FIRST!) | LIME ON VIOLET CTA (FIRST!)
   DARK VIOLET FOOTER (FIRST!) | TikTok+Instagram+Facebook (FIRST!)
   Star/spark favicon (FIRST!) | Bodegas Palomino, TechSur, Hotel Hacienda Palmera (FIRST Jerez!)
   Spark/Ignite/Genius package names (FIRST!) */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --gcw-bg:    #FAF8F5; --gcw-surf:  #F0EAF8; --gcw-surf2: #E4D6F5;
  --gcw-bl:    #D0C4E8; --gcw-blL:   #E2D8F0;
  --gcw-violet:#2D1066; --gcw-viol2: #1E0A48; --gcw-violL: rgba(45,16,102,.07);
  --gcw-lime:  #A8E62E; --gcw-lime2: #70A818; --gcw-limeL: rgba(168,230,46,.12);
  --gcw-ink:   #150A2E; --gcw-mid:   #3D2B6A; --gcw-stone: #887AAA;
  --gcw-white: #FFFFFF;
  --gcw-max:   1160px;
  --gcw-fh:    'Sora', system-ui, sans-serif;       /* FIRST Sora! */
  --gcw-fb:    'Plus Jakarta Sans', system-ui, sans-serif; /* FIRST Plus Jakarta! */
  --gcw-r:4px; --gcw-r2:8px; --gcw-r3:14px; --gcw-r4:28px;
  --gcw-ease:  all .22s cubic-bezier(.4,0,.2,1);
  --gcw-sh:    0 2px 16px rgba(45,16,102,.06);
  --gcw-sh2:   0 16px 48px rgba(45,16,102,.14);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--gcw-bg);color:var(--gcw-mid);font-family:var(--gcw-fb);font-size:.88rem;line-height:1.72;overflow-x:hidden;}
img{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,h2,h3,h4{font-family:var(--gcw-fh);color:var(--gcw-ink);letter-spacing:-.03em;}
h2{font-size:clamp(2rem,5vw,3.8rem);font-weight:700;line-height:1.1;}
p{font-size:.88rem;line-height:1.78;color:var(--gcw-mid);}

/* REDESIGNED HEADER: LIME UTILITY BAR + SOLID VIOLET NAV
   Lime top utility bar -> Solid violet main nav -> Animated underline links */
/* ═══ REDESIGNED HEADER: LIME UTILITY BAR + SOLID VIOLET MAIN NAV (NEW!)
   Replaces: glass morphism that toggled between transparent/cream states
   New: always-solid violet nav, lime top utility bar, animated underline on links ═══ */
/* LIME TOP UTILITY BAR */
.gcw-hdr-bar{background:var(--gcw-lime);padding:.28rem 2.5rem;}
.gcw-hdr-bar-in{max-width:var(--gcw-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.gcw-hdr-bar-tag{font-family:var(--gcw-fb);font-size:.38rem;font-weight:600;color:rgba(45,16,102,.55);letter-spacing:.04em;}
.gcw-hdr-bar-end{display:flex;align-items:center;gap:1rem;}
.gcw-hdr-bar-a{font-family:var(--gcw-fb);font-size:.38rem;font-weight:600;color:rgba(45,16,102,.55);text-decoration:none;display:flex;align-items:center;gap:.25rem;transition:color .14s;}
.gcw-hdr-bar-a:hover{color:var(--gcw-violet);}
.gcw-hdr-bar-sep{color:rgba(45,16,102,.2);font-size:.38rem;}
/* Language toggle (in lime bar - violet text) */
.gcw-lang{display:flex;align-items:center;gap:.14rem;}
.gcw-lga{font-family:var(--gcw-fb);font-size:.38rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(45,16,102,.45);cursor:pointer;padding:.1rem .22rem;border-radius:var(--gcw-r);transition:color .14s;border:none;background:none;}
.gcw-lga:hover,.gcw-lga.gcw-lon{color:var(--gcw-violet);}
.gcw-lga-sep{color:rgba(45,16,102,.2);font-size:.38rem;}
/* MAIN NAV: Solid violet, scrolled state adds shadow */
.gcw-header{position:sticky;top:0;z-index:200;background:var(--gcw-violet);transition:box-shadow .25s;}
.gcw-header.gcw-hd-lit{box-shadow:0 2px 28px rgba(45,16,102,.3);}
.gcw-hd-in{max-width:var(--gcw-max);margin:0 auto;padding:.82rem 2.5rem;display:flex;align-items:center;gap:1.2rem;}
/* BIGGER logo: Sora 2rem 800 */
.gcw-brand{font-family:var(--gcw-fh);font-size:2rem;font-weight:800;color:white;text-decoration:none;letter-spacing:-.04em;line-height:1;flex-shrink:0;margin-right:.3rem;}
.gcw-brand em{color:var(--gcw-lime);font-style:normal;}
.gcw-brand:hover em{color:var(--gcw-lime2);}
/* Nav links: Plus Jakarta 1rem 600, lime animated underline */
.gcw-nav-lnks{display:flex;align-items:center;gap:.05rem;flex:1;}
.gcw-nl{font-family:var(--gcw-fb);font-size:1rem;font-weight:600;color:rgba(255,255,255,.5);padding:.38rem .6rem;border-radius:var(--gcw-r);transition:color .2s;text-decoration:none;white-space:nowrap;position:relative;}
.gcw-nl::after{content:'';position:absolute;bottom:2px;left:.6rem;right:.6rem;height:2px;background:var(--gcw-lime);border-radius:1px;transform:scaleX(0);transition:transform .2s cubic-bezier(.4,0,.2,1);}
.gcw-nl:hover,.gcw-nl.gcw-active{color:white;}
.gcw-nl:hover::after,.gcw-nl.gcw-active::after{transform:scaleX(1);}
/* Dropdown */
.gcw-dd-wrap{position:relative;}
.gcw-dd{position:absolute;top:calc(100% + .8rem);left:50%;transform:translateX(-50%) translateY(-6px);background:white;border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r2);box-shadow:0 12px 40px rgba(45,16,102,.18);min-width:250px;padding:.3rem 0;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:300;}
.gcw-dd::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--gcw-bl);}
.gcw-dd-wrap:hover .gcw-dd{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.gcw-dd-lnk{display:flex;align-items:center;gap:.5rem;font-family:var(--gcw-fb);font-size:.88rem;font-weight:600;color:var(--gcw-stone);padding:.45rem 1.1rem;transition:color .14s,background .14s;}
.gcw-dd-lnk:hover{color:var(--gcw-violet);background:var(--gcw-violL);}
/* CTA: Lime pill button */
.gcw-hd-end{display:flex;align-items:center;gap:.6rem;flex-shrink:0;margin-left:auto;}
.gcw-hd-cta{font-family:var(--gcw-fb);font-size:.88rem;font-weight:700;color:var(--gcw-violet);background:var(--gcw-lime);padding:.4rem 1.1rem;border-radius:100px;transition:background .14s,transform .14s;white-space:nowrap;text-decoration:none;}
.gcw-hd-cta:hover{background:var(--gcw-lime2);transform:scale(1.02);}
/* Mobile */
.gcw-mob-btn{color:rgba(255,255,255,.55);display:none;padding:.3rem;transition:color .2s;}
.gcw-mob-btn:hover{color:var(--gcw-lime);}
.gcw-mob-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--gcw-viol2);border-top:2px solid var(--gcw-lime);border-bottom:2px solid rgba(168,230,46,.18);padding:.5rem 2.5rem 1rem;z-index:190;}
.gcw-mob-menu.gcw-mob-open{display:block;}
.gcw-mob-nl{display:block;font-family:var(--gcw-fb);font-size:1rem;font-weight:600;color:rgba(255,255,255,.4);padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.07);transition:color .14s;text-decoration:none;}
.gcw-mob-nl:hover,.gcw-mob-nl.gcw-active{color:var(--gcw-lime);}

/* FULL-SCREEN VIOLET HERO with GEOMETRIC DECORATIONS (FIRST in 52-site series!) */
.gcw-hero-zone{background:var(--gcw-violet);min-height:calc(100vh - 64px);position:relative;overflow:hidden;display:flex;align-items:center;}
/* Geometric circle decorations in subtle lime */
.gcw-hero-zone::before{content:'';position:absolute;width:600px;height:600px;border:1.5px solid rgba(168,230,46,.1);border-radius:50%;top:-150px;right:-150px;pointer-events:none;}
.gcw-hero-zone::after{content:'';position:absolute;width:280px;height:280px;border:1px solid rgba(168,230,46,.07);border-radius:50%;bottom:80px;left:80px;pointer-events:none;}
.gcw-hero-in{max-width:var(--gcw-max);margin:0 auto;padding:4rem 2.5rem;display:grid;grid-template-columns:1fr 420px;gap:3rem;align-items:center;position:relative;z-index:1;width:100%;}
.gcw-hero-tag{font-family:var(--gcw-fb);font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.26em;color:rgba(255,255,255,.35);display:block;margin-bottom:1.2rem;}
.gcw-hero-h1{font-family:var(--gcw-fh);font-size:clamp(3rem,8vw,8.5rem);font-weight:800;color:white;line-height:1.0;letter-spacing:-.04em;margin-bottom:1.5rem;}
.gcw-hero-h1 em{color:var(--gcw-lime);font-style:normal;position:relative;display:inline-block;}
.gcw-hero-h1 em::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:4px;background:var(--gcw-lime);border-radius:2px;opacity:.5;}
.gcw-hero-sub{font-family:var(--gcw-fb);font-size:.97rem;color:rgba(255,255,255,.4);max-width:50ch;line-height:1.72;margin-bottom:2.5rem;}
.gcw-hero-acts{display:flex;gap:.7rem;flex-wrap:wrap;}
.gcw-hero-img-wrap{position:relative;}
.gcw-hero-img{width:100%;height:480px;object-fit:cover;border-radius:var(--gcw-r3);border:2px solid rgba(168,230,46,.25);}
.gcw-hero-stat-badge{position:absolute;top:1.5rem;right:1.5rem;background:var(--gcw-lime);border-radius:var(--gcw-r2);padding:.5rem .9rem;}
.gcw-hsb-num{font-family:var(--gcw-fh);font-size:1.8rem;font-weight:800;color:var(--gcw-violet);line-height:1;display:block;letter-spacing:-.04em;}
.gcw-hsb-lbl{font-family:var(--gcw-fb);font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--gcw-mid);}

/* LIME STATS STRIP with VIOLET TEXT (FIRST in 52-site series!) */
.gcw-stats-strip{background:var(--gcw-lime);}
.gcw-stats-in{max-width:var(--gcw-max);margin:0 auto;padding:1.2rem 2.5rem;display:grid;grid-template-columns:repeat(4,1fr);}
.gcw-stat-blk{text-align:center;padding:.7rem;border-right:1px solid rgba(45,16,102,.15);}
.gcw-stat-blk:last-child{border-right:none;}
.gcw-sv{font-family:var(--gcw-fh);font-size:2.2rem;font-weight:800;color:var(--gcw-violet);display:block;line-height:1;letter-spacing:-.04em;}
.gcw-sl{font-family:var(--gcw-fb);font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:rgba(45,16,102,.5);}

/* 4-COL BENTO SERVICES GRID with WIDE FIRST + LAST (FIRST in 52-site series!)
   Wide cards turn VIOLET on hover; small cards get LIME BOTTOM BORDER */
.gcw-svc-zone{background:var(--gcw-bg);padding:7rem 2.5rem;}
.gcw-svc-in{max-width:var(--gcw-max);margin:0 auto;}
.gcw-svc-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem;}
.gcw-sb-card{background:white;border:1.5px solid var(--gcw-bl);border-bottom:3px solid transparent;border-radius:var(--gcw-r2);padding:1.8rem;transition:var(--gcw-ease);text-decoration:none;display:block;}
.gcw-sb-card:hover{border-bottom-color:var(--gcw-lime);box-shadow:var(--gcw-sh2);transform:translateY(-3px);}
.gcw-sb-feat{grid-column:span 2;background:var(--gcw-surf);}
.gcw-sb-wide{grid-column:span 2;background:var(--gcw-surf);}
.gcw-sb-feat:hover,.gcw-sb-wide:hover{background:var(--gcw-violet);border-color:var(--gcw-violet);border-bottom-color:var(--gcw-lime);}
.gcw-sb-feat:hover .gcw-sc-nm,.gcw-sb-wide:hover .gcw-sc-nm{color:white;}
.gcw-sb-feat:hover .gcw-sc-num,.gcw-sb-wide:hover .gcw-sc-num{color:rgba(168,230,46,.5);}
.gcw-sb-feat:hover .gcw-sc-desc,.gcw-sb-wide:hover .gcw-sc-desc{color:rgba(255,255,255,.4);}
.gcw-sb-feat:hover .gcw-sc-icon,.gcw-sb-wide:hover .gcw-sc-icon{color:var(--gcw-lime);}
.gcw-sb-feat:hover .gcw-sc-pr,.gcw-sb-wide:hover .gcw-sc-pr{color:var(--gcw-lime);}
.gcw-sc-num{font-family:var(--gcw-fh);font-size:.42rem;font-weight:700;color:rgba(45,16,102,.3);display:block;margin-bottom:.4rem;letter-spacing:.1em;transition:color .14s;}
.gcw-sc-icon{color:var(--gcw-violet);margin-bottom:.6rem;transition:color .14s;}
.gcw-sc-nm{font-family:var(--gcw-fh);font-size:1.15rem;font-weight:700;color:var(--gcw-ink);margin-bottom:.3rem;transition:color .14s;}
.gcw-sc-desc{font-size:.8rem;color:var(--gcw-stone);line-height:1.6;margin-bottom:.8rem;transition:color .14s;}
.gcw-sc-pr{font-family:var(--gcw-fh);font-size:.88rem;font-weight:700;color:var(--gcw-violet);transition:color .14s;}

/* ABOUT with GIANT STROKE "G" (-webkit-text-stroke FIRST in 52-site series!) */
.gcw-about-zone{background:var(--gcw-surf);padding:8rem 2.5rem;overflow:hidden;}
.gcw-about-in{max-width:var(--gcw-max);margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:5rem;align-items:center;}
.gcw-about-big{font-family:var(--gcw-fh);font-size:clamp(10rem,22vw,24rem);font-weight:800;color:transparent;-webkit-text-stroke:2.5px rgba(45,16,102,.2);letter-spacing:-.05em;line-height:.9;display:block;user-select:none;margin:0;}
.gcw-about-right h2{font-family:var(--gcw-fh);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:700;color:var(--gcw-ink);letter-spacing:-.03em;line-height:1.15;margin-bottom:1.5rem;}
.gcw-about-right p{font-size:.92rem;color:var(--gcw-mid);line-height:1.82;margin-bottom:1rem;font-family:var(--gcw-fb);}

/* EDITORIAL NUMBERED PROCESS with GRADIENT LINE DIVIDER (FIRST in 52-site series!) */
.gcw-proc-zone{background:var(--gcw-bg);padding:7rem 2.5rem;border-top:1px solid var(--gcw-bl);}
.gcw-proc-in{max-width:var(--gcw-max);margin:0 auto;margin-top:2.5rem;}
.gcw-proc-item{display:grid;grid-template-columns:260px 1fr;gap:4rem;padding:2rem 0;border-bottom:1px solid var(--gcw-bl);align-items:start;}
.gcw-proc-item:last-child{border-bottom:none;}
.gcw-pi-head{display:flex;align-items:center;gap:1rem;}
.gcw-pi-num{font-family:var(--gcw-fh);font-size:2.8rem;font-weight:800;color:transparent;-webkit-text-stroke:1.5px var(--gcw-violet);line-height:1;flex-shrink:0;letter-spacing:-.04em;opacity:.5;}
.gcw-pi-lin{flex:1;height:1.5px;background:linear-gradient(90deg,var(--gcw-violet),var(--gcw-lime));}
.gcw-pi-nm{font-family:var(--gcw-fh);font-size:1rem;font-weight:700;color:var(--gcw-ink);white-space:nowrap;}
.gcw-pi-body p{font-size:.9rem;color:var(--gcw-stone);line-height:1.78;font-family:var(--gcw-fb);}

/* PORTFOLIO BENTO 2+1 (large left case spans full height) */
.gcw-port-zone{background:var(--gcw-surf);padding:7rem 2.5rem;}
.gcw-port-in{max-width:var(--gcw-max);margin:0 auto;}
.gcw-cases-bento{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:1.5rem;margin-top:2.5rem;}
.gcw-case-feat{grid-row:1/3;}
.gcw-case-card{background:var(--gcw-bg);border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r2);overflow:hidden;transition:var(--gcw-ease);}
.gcw-case-card:hover{border-bottom:3px solid var(--gcw-lime);transform:translateY(-3px);box-shadow:var(--gcw-sh2);}
.gcw-cc-img{overflow:hidden;background:var(--gcw-surf2);}
.gcw-case-feat .gcw-cc-img{height:320px;}
.gcw-case-card:not(.gcw-case-feat) .gcw-cc-img{height:160px;}
.gcw-cc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.gcw-case-card:hover .gcw-cc-img img{transform:scale(1.05);}
.gcw-cc-body{padding:1.3rem 1.5rem;}
.gcw-cc-cat{font-family:var(--gcw-fb);font-size:.42rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--gcw-violet);display:block;margin-bottom:.3rem;}
.gcw-cc-nm{font-family:var(--gcw-fh);font-size:1.1rem;font-weight:700;color:var(--gcw-ink);margin-bottom:.2rem;}
.gcw-cc-city{font-size:.72rem;color:var(--gcw-stone);}

/* FULL-HEIGHT SPLIT TESTIMONIALS violet/cream (FIRST in 52-site series!) */
.gcw-testi-zone{display:grid;grid-template-columns:5fr 7fr;min-height:540px;}
.gcw-testi-left{background:var(--gcw-violet);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:space-between;}
.gcw-tq-mark{font-family:var(--gcw-fh);font-size:5rem;font-weight:800;color:rgba(168,230,46,.15);line-height:.7;display:block;margin-bottom:.3rem;}
.gcw-tq-main{font-family:var(--gcw-fh);font-size:clamp(1.2rem,2vw,1.7rem);font-weight:400;font-style:italic;color:var(--gcw-lime);line-height:1.5;margin-bottom:1.5rem;}
.gcw-tq-main-who{font-family:var(--gcw-fb);font-size:.82rem;font-weight:600;color:rgba(255,255,255,.3);}
.gcw-testi-right{background:var(--gcw-bg);padding:4rem;display:flex;flex-direction:column;justify-content:center;gap:1.5rem;}
.gcw-tq-small{background:white;border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r2);padding:1.5rem;border-left:3px solid var(--gcw-lime);}
.gcw-tqs-text{font-size:.88rem;font-style:italic;color:var(--gcw-mid);line-height:1.65;margin-bottom:.8rem;}
.gcw-tqs-who{font-family:var(--gcw-fh);font-size:.88rem;font-weight:700;color:var(--gcw-violet);}

/* HORIZONTAL ROW PRICING with EXPANDABLE INCLUDES (FIRST in 52-site series!) */
.gcw-price-zone{background:var(--gcw-surf);padding:7rem 2.5rem;}
.gcw-price-in{max-width:var(--gcw-max);margin:0 auto;}
.gcw-pkg-rows{margin-top:2.5rem;}
.gcw-pkg-row{display:flex;align-items:center;gap:1.5rem;padding:1.4rem 2rem;border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r2);margin-bottom:.8rem;background:var(--gcw-bg);transition:var(--gcw-ease);cursor:default;}
.gcw-pkg-row:hover{box-shadow:var(--gcw-sh);}
.gcw-pkg-row.gcw-pr-feat{background:var(--gcw-violet);border-color:var(--gcw-violet);}
.gcw-pr-left{min-width:130px;}
.gcw-pr-nm{font-family:var(--gcw-fh);font-size:1.5rem;font-weight:800;color:var(--gcw-ink);letter-spacing:-.03em;}
.gcw-pr-feat .gcw-pr-nm{color:white;}
.gcw-pr-badge{display:inline-block;font-family:var(--gcw-fb);font-size:.38rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;background:var(--gcw-lime);color:var(--gcw-violet);padding:.12rem .6rem;border-radius:100px;margin-top:.1rem;}
.gcw-pr-tag{font-family:var(--gcw-fb);font-size:.82rem;color:var(--gcw-stone);flex:1;line-height:1.5;}
.gcw-pr-feat .gcw-pr-tag{color:rgba(255,255,255,.35);}
.gcw-pr-price{font-family:var(--gcw-fh);font-size:2rem;font-weight:800;color:var(--gcw-violet);letter-spacing:-.04em;white-space:nowrap;}
.gcw-pr-feat .gcw-pr-price{color:var(--gcw-lime);}
.gcw-pr-expand{font-family:var(--gcw-fb);font-size:.76rem;font-weight:600;color:var(--gcw-stone);background:var(--gcw-surf2);border:1px solid var(--gcw-bl);border-radius:var(--gcw-r);padding:.28rem .7rem;cursor:pointer;transition:var(--gcw-ease);flex-shrink:0;}
.gcw-pr-expand:hover,.gcw-pr-feat .gcw-pr-expand{background:rgba(255,255,255,.1);color:white;border-color:rgba(255,255,255,.2);}
.gcw-pr-body{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 2rem;}
.gcw-pr-body.gcw-prb-open{max-height:400px;padding:1rem 2rem 1.5rem;}
.gcw-pr-body-in{display:flex;flex-wrap:wrap;gap:.4rem;}
.gcw-pr-inc{display:flex;align-items:center;gap:.3rem;font-family:var(--gcw-fb);font-size:.8rem;color:var(--gcw-mid);}
.gcw-pr-feat .gcw-pr-inc{color:rgba(255,255,255,.5);}
.gcw-pr-inc svg{color:var(--gcw-violet);flex-shrink:0;}
.gcw-pr-feat .gcw-pr-inc svg{color:rgba(168,230,46,.7);}

/* Q-LIST LEFT + A-PANEL RIGHT REACTIVE FAQ (FIRST in 52-site series!) */
.gcw-faq-zone{background:var(--gcw-bg);padding:7rem 2.5rem;}
.gcw-faq-in{max-width:var(--gcw-max);margin:0 auto;}
.gcw-faq-shell{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r3);overflow:hidden;margin-top:2.5rem;box-shadow:var(--gcw-sh);}
.gcw-faq-qlist{background:var(--gcw-surf);border-right:1.5px solid var(--gcw-bl);}
.gcw-fq-btn{display:flex;align-items:flex-start;gap:.6rem;padding:.9rem 1.2rem;width:100%;text-align:left;background:none;border:none;cursor:pointer;border-bottom:1px solid var(--gcw-bl);transition:background .14s;}
.gcw-fq-btn:last-child{border-bottom:none;}
.gcw-fq-btn.gcw-fqa-on{background:var(--gcw-violet);}
.gcw-fq-num{font-family:var(--gcw-fh);font-size:.82rem;font-weight:700;color:var(--gcw-stone);flex-shrink:0;transition:color .14s;width:24px;}
.gcw-fq-btn.gcw-fqa-on .gcw-fq-num{color:var(--gcw-lime);}
.gcw-fq-q{font-family:var(--gcw-fb);font-size:.84rem;font-weight:600;color:var(--gcw-mid);transition:color .14s;line-height:1.4;}
.gcw-fq-btn.gcw-fqa-on .gcw-fq-q{color:white;}
.gcw-faq-apanel{background:var(--gcw-white);padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:flex-start;}
.gcw-ap-q{font-family:var(--gcw-fh);font-size:1.1rem;font-weight:700;color:var(--gcw-violet);margin-bottom:.7rem;letter-spacing:-.02em;line-height:1.3;}
.gcw-ap-a{font-family:var(--gcw-fb);font-size:.88rem;color:var(--gcw-stone);line-height:1.78;}

/* LIME ON VIOLET CTA (FIRST in 52-site series!) */
.gcw-cta-zone{background:var(--gcw-violet);padding:9rem 2.5rem;text-align:center;position:relative;overflow:hidden;}
.gcw-cta-zone::before{content:'';position:absolute;width:800px;height:800px;border:1.5px solid rgba(168,230,46,.06);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
.gcw-cta-in{max-width:var(--gcw-max);margin:0 auto;position:relative;z-index:1;}
.gcw-cta-h{font-family:var(--gcw-fh);font-size:clamp(2.5rem,7vw,6.5rem);font-weight:800;color:white;line-height:1.05;letter-spacing:-.04em;margin-bottom:.8rem;}
.gcw-cta-h em{color:var(--gcw-lime);font-style:normal;}
.gcw-cta-sub{font-family:var(--gcw-fb);font-size:.95rem;color:rgba(255,255,255,.3);margin-bottom:2.5rem;}
.gcw-cta-btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}

/* SERVICE PAGE */
.gcw-svc-pg{max-width:var(--gcw-max);margin:0 auto;padding:5rem 2.5rem 8rem;display:grid;grid-template-columns:1fr 260px;gap:4rem;align-items:start;}
/* LIME HEADER + CREAM body service aside (FIRST in 52-site series!) */
.gcw-svc-aside{border-radius:var(--gcw-r3);overflow:hidden;border:1.5px solid var(--gcw-bl);position:sticky;top:5rem;}
.gcw-sas-hd{background:var(--gcw-lime);padding:1.5rem;}
.gcw-sas-from{font-family:var(--gcw-fb);font-size:.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:rgba(45,16,102,.4);}
.gcw-sas-pr{font-family:var(--gcw-fh);font-size:2.8rem;font-weight:800;color:var(--gcw-violet);line-height:1;letter-spacing:-.04em;margin-bottom:.4rem;}
.gcw-sas-desc{font-family:var(--gcw-fb);font-size:.72rem;color:rgba(45,16,102,.4);line-height:1.5;margin-bottom:.9rem;}
.gcw-sas-btn{display:flex;width:100%;justify-content:center;background:var(--gcw-violet);color:white;font-family:var(--gcw-fb);font-size:.88rem;font-weight:700;padding:.5rem;border-radius:var(--gcw-r);cursor:pointer;transition:background .14s;text-decoration:none;}
.gcw-sas-btn:hover{background:var(--gcw-viol2);}
.gcw-sas-body{background:var(--gcw-surf);}
.gcw-sas-lnk{display:flex;align-items:center;gap:.5rem;font-family:var(--gcw-fb);font-size:.84rem;font-weight:600;color:var(--gcw-stone);padding:.42rem 1.2rem;border-top:1px solid var(--gcw-bl);transition:color .14s,background .14s;}
.gcw-sas-lnk:hover,.gcw-sas-lnk.gcw-active{color:var(--gcw-violet);background:var(--gcw-violL);}

/* BUILDER */
.gcw-bld-wrap{max-width:var(--gcw-max);margin:0 auto;padding:4rem 2.5rem 8rem;display:grid;grid-template-columns:1fr 270px;gap:4rem;align-items:start;}
.gcw-bld-sec{margin-bottom:2rem;}
.gcw-bld-lbl{display:block;font-family:var(--gcw-fh);font-size:.44rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--gcw-stone);margin-bottom:.8rem;}
.gcw-sel-row{background:var(--gcw-bg);border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r2);padding:.7rem 1rem;display:flex;align-items:center;gap:.7rem;cursor:pointer;user-select:none;transition:var(--gcw-ease);margin-bottom:.4rem;}
.gcw-sel-row.gcw-sel-on{border-color:var(--gcw-violet);background:var(--gcw-violL);}
.gcw-sel-dot{width:16px;height:16px;border:2px solid var(--gcw-bl);border-radius:50%;flex-shrink:0;transition:var(--gcw-ease);}
.gcw-sel-row.gcw-sel-on .gcw-sel-dot{background:var(--gcw-violet);border-color:var(--gcw-violet);}
.gcw-sel-nm{font-family:var(--gcw-fb);font-size:.9rem;color:var(--gcw-stone);flex:1;}
.gcw-sel-row.gcw-sel-on .gcw-sel-nm{color:var(--gcw-ink);font-weight:700;}
.gcw-sel-pr{font-family:var(--gcw-fh);font-size:.95rem;font-weight:700;color:var(--gcw-ink);}
.gcw-adn-rack{display:flex;flex-wrap:wrap;gap:.5rem;}
.gcw-adn-chip{background:var(--gcw-bg);border:1.5px solid var(--gcw-bl);border-radius:100px;padding:.38rem .9rem;cursor:pointer;user-select:none;transition:var(--gcw-ease);}
.gcw-adn-chip.gcw-adn-on{border-color:var(--gcw-violet);background:var(--gcw-violL);}
.gcw-adn-nm{font-family:var(--gcw-fb);font-size:.8rem;color:var(--gcw-stone);}
.gcw-adn-chip.gcw-adn-on .gcw-adn-nm{color:var(--gcw-violet);font-weight:700;}
.gcw-adn-pr{font-size:.68rem;color:var(--gcw-stone);}
.gcw-hrs-box{background:var(--gcw-bg);border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r2);padding:1rem;}
.gcw-hrs-rng{-webkit-appearance:none;width:100%;height:2px;background:var(--gcw-bl);border-radius:1px;cursor:pointer;}
.gcw-hrs-rng::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gcw-violet);cursor:pointer;}
/* LIME HEADER RECEIPT (FIRST in 52-site series!) */
.gcw-rcpt{background:white;border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r3);overflow:hidden;position:sticky;top:5rem;}
.gcw-rcpt-hd{background:var(--gcw-lime);padding:.8rem 1.2rem;}
.gcw-rcpt-hl{font-family:var(--gcw-fb);font-size:.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(45,16,102,.4);}
.gcw-rcpt-bd{padding:.9rem 1.2rem;}
.gcw-rcpt-ln{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;margin-bottom:.35rem;}
.gcw-rcpt-lnm{color:var(--gcw-stone);font-family:var(--gcw-fb);}
.gcw-rcpt-lnp{font-family:var(--gcw-fh);font-size:.9rem;font-weight:700;color:var(--gcw-ink);}
.gcw-rcpt-sep{border:none;border-top:1px solid var(--gcw-bl);margin:.4rem 1.2rem;}
.gcw-rcpt-tot{display:flex;justify-content:space-between;align-items:flex-end;padding:0 1.2rem .5rem;}
.gcw-rcpt-totl{font-family:var(--gcw-fb);font-size:.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gcw-stone);}
.gcw-rcpt-totv{font-family:var(--gcw-fh);font-size:2.2rem;font-weight:800;color:var(--gcw-violet);letter-spacing:-.04em;}
.gcw-rcpt-ft{padding:.9rem 1.2rem;border-top:1px solid var(--gcw-bl);}
.gcw-rcpt-go{display:block;width:100%;background:var(--gcw-violet);color:white;font-family:var(--gcw-fb);font-size:.96rem;font-weight:700;padding:.7rem;border-radius:var(--gcw-r);border:none;cursor:pointer;transition:background .14s;}
.gcw-rcpt-go:hover:not(:disabled){background:var(--gcw-viol2);}
.gcw-rcpt-go:disabled{opacity:.25;cursor:not-allowed;}

/* PAGE BANNER */
.gcw-pg-banner{background:var(--gcw-violet);padding:5rem 2.5rem 4rem;position:relative;overflow:hidden;}
.gcw-pg-banner::after{content:'';position:absolute;width:400px;height:400px;border:1.5px solid rgba(168,230,46,.08);border-radius:50%;top:-100px;right:-80px;pointer-events:none;}
.gcw-pg-banner-in{max-width:var(--gcw-max);margin:0 auto;position:relative;z-index:1;}
.gcw-pg-banner h1{font-family:var(--gcw-fh);font-size:clamp(2.5rem,6vw,5rem);font-weight:800;color:white;letter-spacing:-.04em;line-height:1.05;}
.gcw-pg-banner h1 em{color:var(--gcw-lime);font-style:normal;}
.gcw-pg-sub{font-family:var(--gcw-fb);font-size:.93rem;color:rgba(255,255,255,.3);max-width:52ch;margin:.7rem 0 0;line-height:1.72;}
.gcw-eyebrow{font-family:var(--gcw-fb);font-size:.44rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--gcw-lime);display:block;margin-bottom:.5rem;opacity:.7;}

/* CHECKOUT */
.gcw-co-wrap{max-width:var(--gcw-max);margin:0 auto;padding:5rem 2.5rem 8rem;display:grid;grid-template-columns:1fr 270px;gap:4rem;align-items:start;}

/* FORMS */
.gcw-fg{margin-bottom:.7rem;}
.gcw-fl{display:block;font-family:var(--gcw-fb);font-size:.42rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gcw-stone);margin-bottom:.28rem;}
.gcw-fi{width:100%;background:white;border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r2);padding:.65rem 1rem;color:var(--gcw-ink);font-size:.88rem;transition:border-color .14s;font-family:var(--gcw-fb);}
.gcw-fi:focus{outline:none;border-color:var(--gcw-violet);box-shadow:0 0 0 3px var(--gcw-violL);}
.gcw-agree{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:var(--gcw-stone);margin:1rem 0;line-height:1.6;font-family:var(--gcw-fb);}
.gcw-agree input{margin-top:.14rem;accent-color:var(--gcw-violet);}
.gcw-agree a{color:var(--gcw-violet);text-decoration:underline;}

/* BUTTONS */
.gcw-btn-lime{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--gcw-fb);font-size:.92rem;font-weight:700;color:var(--gcw-violet);background:var(--gcw-lime);padding:.52rem 1.5rem;border-radius:var(--gcw-r);transition:var(--gcw-ease);border:none;cursor:pointer;white-space:nowrap;}
.gcw-btn-lime:hover{background:var(--gcw-lime2);color:var(--gcw-violet);}
.gcw-btn-violet{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--gcw-fb);font-size:.92rem;font-weight:700;color:white;background:var(--gcw-violet);padding:.52rem 1.5rem;border-radius:var(--gcw-r);transition:var(--gcw-ease);border:none;cursor:pointer;white-space:nowrap;}
.gcw-btn-violet:hover{background:var(--gcw-viol2);}
.gcw-btn-out{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--gcw-fb);font-size:.92rem;font-weight:700;color:var(--gcw-violet);background:transparent;padding:.5rem 1.5rem;border-radius:var(--gcw-r);border:1.5px solid var(--gcw-bl);transition:var(--gcw-ease);white-space:nowrap;}
.gcw-btn-out:hover{border-color:var(--gcw-violet);background:var(--gcw-violL);}
.gcw-btn-ghost-v{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--gcw-fb);font-size:.92rem;font-weight:700;color:white;background:transparent;padding:.5rem 1.5rem;border-radius:var(--gcw-r);border:1.5px solid rgba(255,255,255,.2);transition:var(--gcw-ease);white-space:nowrap;}
.gcw-btn-ghost-v:hover{border-color:rgba(255,255,255,.5);}
.gcw-btn-out-w{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--gcw-fb);font-size:.92rem;font-weight:700;color:var(--gcw-violet);background:white;padding:.5rem 1.5rem;border-radius:var(--gcw-r);border:1.5px solid white;transition:var(--gcw-ease);white-space:nowrap;}
.gcw-btn-out-w:hover{background:rgba(255,255,255,.9);}

/* LEGAL */
.gcw-legal-wrap{max-width:800px;margin:0 auto;padding:5rem 2.5rem 8rem;}
.gcw-legal-eff{display:inline-block;font-family:var(--gcw-fb);font-size:.72rem;color:var(--gcw-stone);background:var(--gcw-surf);border:1px solid var(--gcw-bl);padding:.22rem .8rem;border-radius:100px;margin-bottom:1.5rem;}
.gcw-legal-wrap h2{font-family:var(--gcw-fh);font-size:1.1rem;font-weight:700;color:var(--gcw-violet);margin:2.5rem 0 .5rem;letter-spacing:-.02em;}
.gcw-legal-wrap p,.gcw-legal-wrap li{font-size:.9rem;color:var(--gcw-stone);line-height:1.78;margin-bottom:.9rem;}
.gcw-legal-wrap ul{padding-left:1.4rem;margin:.5rem 0;}
.gcw-legal-wrap li{list-style:disc;}
.gcw-legal-wrap a{color:var(--gcw-violet);}

/* DARK VIOLET FOOTER (FIRST in 52-site series!) */
.gcw-footer{background:var(--gcw-violet);}
.gcw-ft-top{max-width:var(--gcw-max);margin:0 auto;padding:3rem 2.5rem 2rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;border-bottom:1px solid rgba(168,230,46,.06);}
/* BIGGER footer brand: Sora 2rem 800 */
.gcw-ft-brand{font-family:var(--gcw-fh);font-size:2rem;font-weight:800;color:white;display:block;letter-spacing:-.04em;margin-bottom:.5rem;text-decoration:none;}
.gcw-ft-brand em{color:var(--gcw-lime);font-style:normal;}
.gcw-ft-desc{font-family:var(--gcw-fb);font-size:.78rem;color:rgba(255,255,255,.1);line-height:1.65;margin-bottom:.8rem;}
.gcw-ft-soc{display:flex;gap:.4rem;}
.gcw-ft-soc a{width:30px;height:30px;border:1px solid rgba(168,230,46,.1);border-radius:var(--gcw-r);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.15);transition:var(--gcw-ease);}
.gcw-ft-soc a:hover{border-color:var(--gcw-lime);color:var(--gcw-lime);}
.gcw-ft-col-h{font-family:var(--gcw-fh);font-size:.38rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.08);margin-bottom:.7rem;}
.gcw-ft-nav{display:flex;flex-direction:column;gap:.22rem;}
.gcw-ft-nav a{font-family:var(--gcw-fb);font-size:.78rem;color:rgba(255,255,255,.1);transition:color .14s;}
.gcw-ft-nav a:hover{color:var(--gcw-lime);}
.gcw-ft-ct a{display:flex;align-items:flex-start;gap:.35rem;font-family:var(--gcw-fb);font-size:.76rem;color:rgba(255,255,255,.1);transition:color .14s;margin-bottom:.25rem;}
.gcw-ft-ct a:hover{color:var(--gcw-lime);}
.gcw-ft-btm{max-width:var(--gcw-max);margin:0 auto;padding:.8rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.gcw-ft-copy{font-family:var(--gcw-fb);font-size:.62rem;color:rgba(255,255,255,.05);}
.gcw-ft-legal{display:flex;gap:1rem;flex-wrap:wrap;}
.gcw-ft-legal a{font-family:var(--gcw-fb);font-size:.62rem;color:rgba(255,255,255,.05);transition:color .14s;}
.gcw-ft-legal a:hover{color:var(--gcw-lime);}

/* COOKIE + CHAT */
.gcw-ck-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--gcw-violet);border-top:2px solid var(--gcw-lime);padding:.9rem 2rem;display:none;align-items:center;gap:2rem;justify-content:space-between;flex-wrap:wrap;}
.gcw-ck-bar p{font-family:var(--gcw-fb);font-size:.8rem;color:rgba(255,255,255,.3);margin:0;}
.gcw-ck-bar a{color:var(--gcw-lime);}
.gcw-ck-btns{display:flex;gap:.5rem;flex-shrink:0;}
.gcw-ck-yes{background:var(--gcw-lime);color:var(--gcw-violet);font-family:var(--gcw-fb);font-size:.88rem;font-weight:700;padding:.32rem .9rem;border-radius:var(--gcw-r);cursor:pointer;border:none;}
.gcw-ck-no{background:transparent;color:rgba(255,255,255,.25);font-family:var(--gcw-fb);font-size:.82rem;padding:.3rem .9rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--gcw-r);cursor:pointer;}
.gcw-chat-fab{position:fixed;bottom:4.5rem;right:1.5rem;z-index:9990;width:50px;height:50px;background:var(--gcw-violet);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:var(--gcw-sh2);transition:var(--gcw-ease);color:var(--gcw-lime);}
.gcw-chat-fab:hover{background:var(--gcw-lime);color:var(--gcw-violet);}
.gcw-chatpop{position:fixed;bottom:7rem;right:1.5rem;z-index:9989;width:290px;background:white;border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r3);box-shadow:var(--gcw-sh2);opacity:0;pointer-events:none;transform:translateY(8px) scale(.97);transition:opacity .2s,transform .22s;overflow:hidden;}
.gcw-chatpop.gcw-cp-on{opacity:1;pointer-events:auto;transform:none;}
.gcw-chatpop-hd{background:var(--gcw-violet);padding:.8rem 1.1rem;}
.gcw-chatpop-nm{font-family:var(--gcw-fh);font-size:1rem;font-weight:800;color:white;letter-spacing:-.03em;}
.gcw-chatpop-nm em{color:var(--gcw-lime);font-style:normal;}
.gcw-chat-fi{width:100%;background:var(--gcw-surf);border:1.5px solid var(--gcw-bl);border-radius:var(--gcw-r);padding:.5rem .8rem;font-family:var(--gcw-fb);font-size:.84rem;color:var(--gcw-ink);margin-bottom:.36rem;resize:none;transition:border-color .14s;}
.gcw-chat-fi:focus{outline:none;border-color:var(--gcw-violet);}
.gcw-chat-send{width:100%;background:var(--gcw-lime);color:var(--gcw-violet);font-family:var(--gcw-fb);font-size:.9rem;font-weight:700;padding:.5rem;border-radius:var(--gcw-r);border:none;cursor:pointer;}
.gcw-chat-done{display:none;text-align:center;padding:.9rem;font-family:var(--gcw-fh);font-size:1rem;font-weight:700;color:var(--gcw-violet);}

/* REVEAL */
.gcw-reveal{opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;}
.gcw-reveal.gcw-in{opacity:1;transform:none;}
.gcw-result-pg{min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:8rem 2.5rem;flex-direction:column;gap:1.5rem;}

/* RESPONSIVE */
@media(max-width:960px){
  .gcw-nav-lnks{display:none;}
  .gcw-mob-btn{display:flex;}
  .gcw-hero-in{grid-template-columns:1fr;}
  .gcw-hero-img-wrap{display:none;}
  .gcw-svc-bento{grid-template-columns:repeat(2,1fr);}
  .gcw-sb-feat,.gcw-sb-wide{grid-column:span 2;}
  .gcw-about-in{grid-template-columns:1fr;}
  .gcw-about-big{font-size:8rem;}
  .gcw-proc-item{grid-template-columns:1fr;}
  .gcw-cases-bento{grid-template-columns:1fr;}
  .gcw-case-feat{grid-row:auto;}
  .gcw-testi-zone{grid-template-columns:1fr;}
  .gcw-pkg-row{flex-wrap:wrap;}
  .gcw-faq-shell{grid-template-columns:1fr;}
  .gcw-ft-top{grid-template-columns:1fr 1fr;}
  .gcw-bld-wrap,.gcw-co-wrap,.gcw-svc-pg{grid-template-columns:1fr;}
  .gcw-stats-in{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .gcw-svc-bento{grid-template-columns:1fr;}
  .gcw-sb-feat,.gcw-sb-wide{grid-column:auto;}
  .gcw-ft-top{grid-template-columns:1fr;}
  .gcw-stats-in{grid-template-columns:1fr;}
}
