/* customwebcopywriting.com | style.css */
/* Fonts: Fraunces (heading) + Figtree (body) */

:root{
  --cw-ink:       #0D1B2A;
  --cw-ink2:      #1A2F42;
  --cw-cream:     #FAFAF5;
  --cw-cream2:    #F2F0E8;
  --cw-white:     #FFFFFF;
  --cw-amber:     #F2A93B;
  --cw-amber-d:   #D4871A;
  --cw-amber-bg:  #FDF5E6;
  --cw-amber-bg2: #F7E4BB;
  --cw-sage:      #3B5E42;
  --cw-text:      #0D1B2A;
  --cw-muted:     #4A5C68;
  --cw-muted2:    #8999A5;
  --cw-border:    #E2E6E8;
  --cw-border2:   #C5CDD2;
  --cw-fh:        'Fraunces', Georgia, serif;
  --cw-fb:        'Figtree', system-ui, sans-serif;
  --cw-max:       1200px;
  --cw-r:         6px;
  --cw-r2:        12px;
  --cw-r3:        999px;
  --cw-sh:        0 2px 16px rgba(13,27,42,.07);
  --cw-sh2:       0 8px 40px rgba(13,27,42,.14);
  --cw-tr:        all .18s ease;
}

/* ─ Reset + base ─ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--cw-fb);font-size:clamp(0.94rem,1.4vw,1rem);color:var(--cw-text);background:var(--cw-white);line-height:1.72;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:inherit;font-size:inherit;}
ul,ol{list-style:none;}

/* ─ Layout ─ */
.cw-bound{max-width:var(--cw-max);margin:0 auto;padding:0 2rem;}
.cw-bound-narrow{max-width:820px;margin:0 auto;padding:0 2rem;}

/* ─ Section eyebrow / h2 ─ */
.cw-eye{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.32em;color:var(--cw-amber-d);display:block;margin-bottom:.5rem;}
.cw-eye--light{color:rgba(250,250,245,.4);}
.cw-section-h{font-family:var(--cw-fh);font-size:clamp(2.4rem,5vw,4rem);font-weight:800;color:var(--cw-ink);letter-spacing:-.03em;line-height:.96;}
.cw-section-h--light{color:var(--cw-cream);}
.cw-section-sub{font-size:clamp(0.88rem,1.5vw,1rem);color:var(--cw-muted);max-width:60ch;line-height:1.78;margin-top:.6rem;}
.cw-section-sub--light{color:rgba(250,250,245,.45);}
.cw-page-hd{text-align:center;padding:5rem 2rem 3.5rem;}
.cw-page-hd .cw-section-h{margin:0 auto;}
.cw-page-hd .cw-section-sub{margin:.6rem auto 0;}

/* ─ Buttons ─ */
.cw-btn-amber{display:inline-flex;align-items:center;gap:.4rem;background:var(--cw-amber);color:var(--cw-ink);font-family:var(--cw-fb);font-size:clamp(0.85rem,1.3vw,0.95rem);font-weight:700;padding:.58rem 1.6rem;border-radius:var(--cw-r3);text-decoration:none;transition:background .15s,transform .12s;white-space:nowrap;border:none;cursor:pointer;}
.cw-btn-amber:hover{background:var(--cw-amber-d);transform:translateY(-1px);}
.cw-btn-ink{display:inline-flex;align-items:center;gap:.4rem;background:var(--cw-ink);color:#fff;font-family:var(--cw-fb);font-size:clamp(0.85rem,1.3vw,0.95rem);font-weight:700;padding:.58rem 1.6rem;border-radius:var(--cw-r3);text-decoration:none;transition:background .15s;white-space:nowrap;border:none;cursor:pointer;}
.cw-btn-ink:hover{background:var(--cw-ink2);}
.cw-btn-ghost{display:inline-flex;align-items:center;gap:.35rem;color:var(--cw-muted);font-size:clamp(0.85rem,1.3vw,0.95rem);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--cw-border2);padding-bottom:2px;transition:color .15s,border-color .15s;white-space:nowrap;}
.cw-btn-ghost:hover{color:var(--cw-ink);border-color:var(--cw-ink);}
.cw-btn-ghost--light{color:rgba(250,250,245,.4);border-color:rgba(250,250,245,.15);}
.cw-btn-ghost--light:hover{color:rgba(250,250,245,.75);border-color:rgba(250,250,245,.4);}
.cw-link-amber{color:var(--cw-amber-d);font-weight:600;font-size:clamp(0.82rem,1.2vw,0.92rem);display:inline-flex;align-items:center;gap:.3rem;transition:gap .15s;}
.cw-link-amber:hover{gap:.5rem;}

/* ─ Reveal animation ─ */
.cw-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.cw-reveal.cw-in{opacity:1;transform:none;}

/* ─ Header / nav ─ */
.cw-mast{position:sticky;top:0;z-index:600;background:rgba(250,250,245,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--cw-border);}
.cw-mast-bound{max-width:var(--cw-max);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:68px;}
.cw-mast-arm{display:flex;align-items:center;gap:1.6rem;}
.cw-mast-arm--right{justify-content:flex-end;}
.cw-mast-link{font-size:clamp(0.9rem,1.4vw,1rem);font-weight:600;color:var(--cw-muted);transition:color .15s;white-space:nowrap;}
.cw-mast-link:hover,.cw-mast-link--on{color:var(--cw-ink);}
.cw-mast-logo{display:flex;align-items:center;justify-content:center;}
.cw-logo-svg{width:auto;height:2.2rem;color:var(--cw-ink);}
.cw-lang-tog{font-size:0.72rem;font-weight:700;padding:.25rem .6rem;border:1.5px solid var(--cw-border2);border-radius:var(--cw-r3);color:var(--cw-muted);transition:var(--cw-tr);}
.cw-lang-tog:hover{color:var(--cw-ink);border-color:var(--cw-ink);}
.cw-mast-cta{font-size:clamp(0.85rem,1.3vw,0.92rem);font-weight:700;background:var(--cw-amber);color:var(--cw-ink);padding:.38rem 1.1rem;border-radius:var(--cw-r3);transition:background .15s;white-space:nowrap;}
.cw-mast-cta:hover{background:var(--cw-amber-d);}
.cw-mast-ham{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:6px;}
.cw-ham-bar{display:block;height:2px;background:var(--cw-ink);border-radius:2px;transition:var(--cw-tr);}
.cw-mast-drawer{display:none;background:var(--cw-cream);border-top:1px solid var(--cw-border);padding:1.5rem 2rem 2rem;}
.cw-mast-drawer.cw-open{display:block;}
.cw-drawer-nav{display:flex;flex-direction:column;gap:.9rem;}
.cw-drawer-nav .cw-mast-link{font-size:1.05rem;color:var(--cw-ink);}
.cw-mast-cta--mob{margin-top:.4rem;width:fit-content;}

/* ─ HERO: overture ─ */
.cw-overture{background:var(--cw-cream);padding:8rem 2rem 5rem;overflow:hidden;position:relative;}
.cw-overture::before{content:'';position:absolute;right:-120px;top:-80px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,var(--cw-amber-bg) 0%,transparent 65%);pointer-events:none;}
.cw-ov-in{max-width:var(--cw-max);margin:0 auto;display:grid;grid-template-columns:1fr 440px;gap:5rem;align-items:center;}
.cw-ov-eye{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.32em;color:var(--cw-amber-d);display:block;margin-bottom:1.5rem;}
.cw-ov-headline{font-family:var(--cw-fh);font-size:clamp(4.5rem,9vw,9rem);font-weight:800;color:var(--cw-ink);line-height:.88;letter-spacing:-.04em;margin-bottom:1.8rem;}
.cw-ov-headline em{font-style:normal;color:var(--cw-amber-d);}
.cw-ov-word{display:inline-block;min-width:4ch;transition:opacity .3s,transform .3s;}
.cw-ov-word.cw-ov-fade{opacity:0;transform:translateY(-8px);}
.cw-ov-sub{font-size:clamp(1rem,1.7vw,1.15rem);color:var(--cw-muted);max-width:50ch;line-height:1.78;margin-bottom:2.2rem;}
.cw-ov-acts{display:flex;gap:.8rem;flex-wrap:wrap;}
.cw-ov-right{display:flex;flex-direction:column;gap:1rem;}
/* Stats cards in hero right */
.cw-ov-stat-card{background:var(--cw-white);border:1.5px solid var(--cw-border);border-radius:var(--cw-r2);padding:1.5rem;box-shadow:var(--cw-sh);}
.cw-ov-stat-card:nth-child(even){transform:translateX(20px);}
.cw-ov-stat-n{font-family:var(--cw-fh);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--cw-ink);display:block;line-height:1;}
.cw-ov-stat-l{font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--cw-muted2);display:block;margin-top:.2rem;}
.cw-ov-trust{font-size:0.72rem;color:var(--cw-muted2);margin-top:.4rem;}

/* ─ MARQUEE ─ */
.cw-ticker{background:var(--cw-ink);padding:1.1rem 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.04);}
.cw-ticker-track{display:flex;gap:0;animation:cwTick 26s linear infinite;white-space:nowrap;}
.cw-ticker-item{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:rgba(250,250,245,.28);padding:0 1.8rem;flex-shrink:0;}
.cw-ticker-dot{color:var(--cw-amber);margin-left:1.8rem;}
@keyframes cwTick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─ SERVICES ROSTER ─ */
.cw-roster{padding:6rem 0;background:var(--cw-white);}
.cw-roster-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem;}
.cw-roster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--cw-border);}
.cw-roster-cell{background:var(--cw-white);padding:2.5rem 2rem;display:flex;flex-direction:column;text-decoration:none;transition:background .15s;position:relative;overflow:hidden;}
.cw-roster-cell:hover{background:var(--cw-cream);}
.cw-roster-cell:hover .cw-rc-arr{transform:translate(3px,-3px);}
.cw-rc-n{font-size:0.58rem;font-weight:700;letter-spacing:.2em;color:var(--cw-muted2);display:block;margin-bottom:.4rem;}
.cw-rc-ico{color:var(--cw-amber-d);margin-bottom:.5rem;}
.cw-rc-nm{font-family:var(--cw-fh);font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:700;color:var(--cw-ink);margin-bottom:.4rem;line-height:1.15;}
.cw-rc-brief{font-size:clamp(0.75rem,1.1vw,0.85rem);color:var(--cw-muted);line-height:1.72;flex:1;}
.cw-rc-pr{font-size:0.72rem;font-weight:700;color:var(--cw-amber-d);margin-top:.8rem;padding-top:.6rem;border-top:1px solid var(--cw-border);}
.cw-rc-arr{color:var(--cw-muted2);margin-top:.3rem;transition:transform .18s;}

/* ─ CASE STUDIES / EXHIBIT ─ */
.cw-exhibit{padding:6rem 0;background:var(--cw-cream);}
.cw-exhibit-hd{margin-bottom:3rem;}
.cw-exhibit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.cw-ex-card{background:var(--cw-white);border-radius:var(--cw-r2);overflow:hidden;border:1.5px solid var(--cw-border);transition:var(--cw-tr);}
.cw-ex-card:hover{transform:translateY(-3px);box-shadow:var(--cw-sh2);border-color:var(--cw-amber);}
.cw-ex-img{width:100%;height:220px;object-fit:cover;background:var(--cw-cream2);display:block;}
.cw-ex-body{padding:1.8rem;}
.cw-ex-cat{font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--cw-amber-d);display:block;margin-bottom:.3rem;}
.cw-ex-nm{font-family:var(--cw-fh);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;color:var(--cw-ink);margin-bottom:.2rem;}
.cw-ex-loc{font-size:0.72rem;color:var(--cw-muted2);display:block;margin-bottom:.6rem;}
.cw-ex-svc{font-size:0.78rem;font-weight:600;color:var(--cw-muted);display:block;margin-bottom:.5rem;}
.cw-ex-pair{font-family:var(--cw-fh);font-size:0.9rem;font-style:italic;color:var(--cw-ink);display:block;border-left:3px solid var(--cw-amber);padding-left:.7rem;margin-bottom:.8rem;}
.cw-ex-result{font-size:clamp(0.75rem,1.1vw,0.85rem);color:var(--cw-muted);line-height:1.7;margin:0;}

/* ─ PROCESS ─ */
.cw-method{padding:6rem 0;background:var(--cw-ink);}
.cw-method-hd{margin-bottom:3.5rem;}
.cw-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.cw-method-grid::before{content:'';position:absolute;top:22px;left:5%;right:5%;height:1px;background:linear-gradient(90deg,var(--cw-amber),var(--cw-amber-d));opacity:.2;}
.cw-method-step{padding-right:2.5rem;position:relative;}
.cw-method-step:last-child{padding-right:0;}
.cw-ms-circle{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(242,169,59,.3);background:rgba(242,169,59,.08);display:flex;align-items:center;justify-content:center;color:var(--cw-amber);margin-bottom:1.2rem;position:relative;z-index:1;}
.cw-ms-n{font-size:0.6rem;font-weight:700;letter-spacing:.2em;color:var(--cw-amber);display:block;margin-bottom:.3rem;text-transform:uppercase;}
.cw-ms-nm{font-family:var(--cw-fh);font-size:clamp(1rem,1.6vw,1.2rem);font-weight:700;color:var(--cw-cream);margin-bottom:.5rem;}
.cw-ms-body{font-size:clamp(0.75rem,1.1vw,0.85rem);color:rgba(250,250,245,.4);line-height:1.75;}

/* ─ TESTIMONIALS ─ */
.cw-chorus{padding:6rem 0;background:var(--cw-white);}
.cw-chorus-hd{margin-bottom:3rem;}
.cw-chorus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.cw-chorus-card{border:1.5px solid var(--cw-border);border-radius:var(--cw-r2);padding:2.5rem;background:var(--cw-cream);display:flex;flex-direction:column;gap:1.2rem;}
.cw-chr-quote{font-family:var(--cw-fh);font-style:italic;font-size:clamp(1rem,1.7vw,1.2rem);color:var(--cw-ink);line-height:1.55;flex:1;}
.cw-chr-stars{color:var(--cw-amber);display:flex;gap:2px;}
.cw-chr-who{font-weight:700;font-size:clamp(0.88rem,1.3vw,0.98rem);color:var(--cw-ink);display:block;}
.cw-chr-role{font-size:0.72rem;color:var(--cw-muted2);display:block;margin-top:.1rem;}

/* ─ PRICING / TARIFF ─ */
.cw-tariff{padding:6rem 0;background:var(--cw-cream);}
.cw-tariff-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap;}
.cw-tariff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.cw-tariff-card{border:1.5px solid var(--cw-border);border-radius:var(--cw-r2);padding:2.5rem 2rem;background:var(--cw-white);display:flex;flex-direction:column;transition:var(--cw-tr);}
.cw-tariff-card:hover:not(.cw-tc-feat){border-color:var(--cw-border2);box-shadow:var(--cw-sh);}
.cw-tc-feat{background:var(--cw-ink);border-color:var(--cw-ink);}
.cw-tc-badge{font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--cw-amber);display:block;margin-bottom:.4rem;}
.cw-tc-nm{font-family:var(--cw-fh);font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:700;color:var(--cw-ink);display:block;margin-bottom:.1rem;}
.cw-tc-feat .cw-tc-nm{color:var(--cw-cream);}
.cw-tc-tag{font-size:0.72rem;color:var(--cw-muted2);display:block;margin-bottom:1.4rem;padding-bottom:1.4rem;border-bottom:1px solid var(--cw-border);}
.cw-tc-feat .cw-tc-tag{color:rgba(250,250,245,.3);border-bottom-color:rgba(250,250,245,.08);}
.cw-tc-pr{font-family:var(--cw-fh);font-size:clamp(2.8rem,5vw,4rem);font-weight:800;color:var(--cw-ink);display:block;line-height:1;}
.cw-tc-feat .cw-tc-pr{color:var(--cw-cream);}
.cw-tc-pp{font-size:0.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cw-muted2);display:block;margin-bottom:1.4rem;}
.cw-tc-feat .cw-tc-pp{color:rgba(250,250,245,.25);}
.cw-tc-list{display:flex;flex-direction:column;gap:.3rem;flex:1;margin-bottom:1.5rem;}
.cw-tc-item{display:flex;align-items:flex-start;gap:.35rem;font-size:clamp(0.75rem,1.1vw,0.84rem);color:var(--cw-muted);}
.cw-tc-item svg{color:var(--cw-amber);flex-shrink:0;margin-top:.12rem;}
.cw-tc-feat .cw-tc-item{color:rgba(250,250,245,.5);}
.cw-tc-feat .cw-tc-item svg{color:var(--cw-amber);}
.cw-tc-cta{width:100%;font-family:var(--cw-fb);font-size:clamp(0.85rem,1.3vw,0.94rem);font-weight:700;padding:.54rem;border-radius:var(--cw-r2);border:1.5px solid var(--cw-border2);background:transparent;color:var(--cw-ink);cursor:pointer;transition:var(--cw-tr);}
.cw-tc-cta:hover{background:var(--cw-amber);border-color:var(--cw-amber);}
.cw-tc-feat .cw-tc-cta{background:var(--cw-amber);border-color:var(--cw-amber);color:var(--cw-ink);}
.cw-tc-feat .cw-tc-cta:hover{background:var(--cw-amber-d);border-color:var(--cw-amber-d);}
.cw-tariff-foot{text-align:center;margin-top:2rem;}

/* ─ FAQ ─ */
.cw-queries{padding:6rem 0;background:var(--cw-white);}
.cw-queries-hd{margin-bottom:2.5rem;}
.cw-faq-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;}
.cw-faq-item{border-bottom:1px solid var(--cw-border);}
.cw-faq-trig{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;background:none;border:none;cursor:pointer;text-align:left;}
.cw-faq-q{font-family:var(--cw-fh);font-size:clamp(0.95rem,1.5vw,1.05rem);font-weight:700;color:var(--cw-ink);}
.cw-faq-ind{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--cw-border2);display:flex;align-items:center;justify-content:center;color:var(--cw-muted);transition:var(--cw-tr);}
.cw-faq-item.cw-faq-open .cw-faq-ind{background:var(--cw-amber);border-color:var(--cw-amber);color:var(--cw-ink);}
.cw-faq-body{display:none;padding-bottom:1.2rem;}
.cw-faq-body p{font-size:clamp(0.82rem,1.3vw,0.92rem);color:var(--cw-muted);line-height:1.8;}
.cw-faq-item.cw-faq-open .cw-faq-body{display:block;}

/* ─ CTA / FINALE ─ */
.cw-finale{background:var(--cw-ink);padding:7rem 2rem;}
.cw-finale-in{max-width:var(--cw-max);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center;}
.cw-finale-h{font-family:var(--cw-fh);font-size:clamp(3rem,7vw,7rem);font-weight:800;color:var(--cw-cream);letter-spacing:-.04em;line-height:.9;margin-bottom:.6rem;}
.cw-finale-h em{color:var(--cw-amber);font-style:italic;}
.cw-finale-sub{font-size:clamp(0.9rem,1.5vw,1.05rem);color:rgba(250,250,245,.35);max-width:52ch;line-height:1.78;}
.cw-finale-acts{display:flex;flex-direction:column;gap:.7rem;flex-shrink:0;align-items:flex-start;}

/* ─ PAGE INNER H1 ─ */
.cw-pg-banner{background:var(--cw-cream);padding:6rem 2rem 4rem;text-align:center;}
.cw-pg-banner h1{font-family:var(--cw-fh);font-size:clamp(2.8rem,6vw,5.5rem);font-weight:800;color:var(--cw-ink);letter-spacing:-.03em;line-height:.95;margin:0 auto;max-width:14ch;}
.cw-pg-banner .cw-eye{justify-content:center;}
.cw-pg-banner .cw-section-sub{margin:.8rem auto 0;}

/* ─ Portfolio ─ */
.cw-folio-zone{padding:4rem 0 6rem;background:var(--cw-white);}
.cw-folio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}

/* ─ About ─ */
.cw-about-body{padding:4rem 0 6rem;background:var(--cw-white);}
.cw-ab-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-bottom:5rem;}
.cw-ab-img{border-radius:var(--cw-r2);overflow:hidden;}
.cw-ab-img img{width:100%;height:480px;object-fit:cover;background:var(--cw-cream2);display:block;}
.cw-ab-text h2{font-family:var(--cw-fh);font-size:clamp(2rem,3.5vw,3rem);font-weight:700;color:var(--cw-ink);letter-spacing:-.02em;margin-bottom:1rem;}
.cw-ab-text p{font-size:clamp(0.88rem,1.4vw,1rem);color:var(--cw-muted);line-height:1.82;margin-bottom:.9rem;}
.cw-ab-vals{padding:4rem 0;border-top:1px solid var(--cw-border);}
.cw-ab-vals h2{font-family:var(--cw-fh);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;color:var(--cw-ink);letter-spacing:-.02em;margin-bottom:2rem;text-align:center;}
.cw-ab-val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.cw-ab-val-card{padding:2rem;border:1.5px solid var(--cw-border);border-radius:var(--cw-r2);}
.cw-ab-val-card h3{font-family:var(--cw-fh);font-size:1.1rem;font-weight:700;color:var(--cw-ink);margin-bottom:.5rem;}
.cw-ab-val-card p{font-size:0.85rem;color:var(--cw-muted);line-height:1.7;}

/* ─ Contact ─ */
.cw-contact-zone{padding:4rem 0 6rem;}
.cw-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.cw-contact-info h2{font-family:var(--cw-fh);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;color:var(--cw-ink);letter-spacing:-.02em;margin-bottom:1rem;}
.cw-contact-info p{font-size:clamp(0.88rem,1.4vw,1rem);color:var(--cw-muted);line-height:1.8;margin-bottom:1.2rem;}
.cw-contact-detail{display:flex;flex-direction:column;gap:.7rem;margin-top:1.5rem;}
.cw-ct-row{display:flex;align-items:center;gap:.6rem;font-size:clamp(0.82rem,1.3vw,0.92rem);color:var(--cw-muted);}
.cw-ct-row svg{color:var(--cw-amber-d);flex-shrink:0;}
.cw-ct-row a{color:var(--cw-muted);transition:color .15s;}
.cw-ct-row a:hover{color:var(--cw-ink);}

/* ─ Forms ─ */
.cw-form{display:flex;flex-direction:column;gap:1.1rem;}
.cw-field{display:flex;flex-direction:column;gap:.3rem;}
.cw-field label{font-size:0.78rem;font-weight:600;color:var(--cw-ink);}
.cw-field input,.cw-field select,.cw-field textarea{width:100%;background:var(--cw-cream);border:1.5px solid var(--cw-border);border-radius:var(--cw-r);padding:.55rem .85rem;font-size:clamp(0.85rem,1.3vw,0.95rem);color:var(--cw-ink);transition:border-color .15s;outline:none;}
.cw-field input:focus,.cw-field select:focus,.cw-field textarea:focus{border-color:var(--cw-amber);}
.cw-field textarea{min-height:130px;resize:vertical;}
.cw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.cw-form-done{display:none;padding:2rem;border:1.5px solid var(--cw-amber-bg2);border-radius:var(--cw-r2);background:var(--cw-amber-bg);text-align:center;}
.cw-agree-row{display:flex;align-items:flex-start;gap:.5rem;font-size:clamp(0.78rem,1.2vw,0.88rem);color:var(--cw-muted);}
.cw-agree-row input[type="checkbox"]{margin-top:.15rem;width:16px;height:16px;flex-shrink:0;accent-color:var(--cw-amber);}
.cw-agree-row a{color:var(--cw-amber-d);text-decoration:underline;}

/* ─ Package builder ─ */
.cw-builder-pg{padding:4rem 0 6rem;background:var(--cw-cream);}
.cw-builder-grid{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start;}
.cw-builder-left{display:flex;flex-direction:column;gap:2.5rem;}
.cw-blk{background:var(--cw-white);border:1.5px solid var(--cw-border);border-radius:var(--cw-r2);padding:2rem;}
.cw-blk-h{font-family:var(--cw-fh);font-size:clamp(1.05rem,1.7vw,1.25rem);font-weight:700;color:var(--cw-ink);margin-bottom:.4rem;}
.cw-blk-sub{font-size:clamp(0.75rem,1.1vw,0.85rem);color:var(--cw-muted);margin-bottom:1.2rem;}
/* Plan radio cards */
.cw-plan-cards{display:flex;flex-direction:column;gap:.7rem;}
.cw-plan-radio{position:absolute;opacity:0;width:0;height:0;}
.cw-plan-lbl{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.2rem;border:1.5px solid var(--cw-border);border-radius:var(--cw-r2);cursor:pointer;transition:var(--cw-tr);gap:1rem;flex-wrap:wrap;}
.cw-plan-radio:checked+.cw-plan-lbl{border-color:var(--cw-amber);background:var(--cw-amber-bg);}
.cw-plan-lbl:hover{border-color:var(--cw-border2);}
.cw-plan-lbl-left{flex:1;}
.cw-plan-lbl-nm{font-weight:700;color:var(--cw-ink);font-size:clamp(0.92rem,1.4vw,1rem);}
.cw-plan-lbl-tag{font-size:0.72rem;color:var(--cw-muted);margin-top:.1rem;}
.cw-plan-lbl-pr{font-family:var(--cw-fh);font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:700;color:var(--cw-ink);white-space:nowrap;}
/* Addon checkboxes */
.cw-ao-grid{display:flex;flex-direction:column;gap:.5rem;}
.cw-ao-check{position:absolute;opacity:0;width:0;height:0;}
.cw-ao-lbl{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1.5px solid var(--cw-border);border-radius:var(--cw-r);cursor:pointer;transition:var(--cw-tr);flex-wrap:wrap;}
.cw-ao-check:checked+.cw-ao-lbl{border-color:var(--cw-amber);background:var(--cw-amber-bg);}
.cw-ao-lbl:hover{border-color:var(--cw-border2);}
.cw-ao-nm{font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:600;color:var(--cw-ink);}
.cw-ao-brief{font-size:0.72rem;color:var(--cw-muted);margin-top:.1rem;}
.cw-ao-pr{font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;color:var(--cw-amber-d);white-space:nowrap;}
/* Hours slider */
.cw-hrs-row{display:flex;align-items:center;gap:1rem;}
.cw-hrs-sl{flex:1;accent-color:var(--cw-amber);}
.cw-hrs-val{font-family:var(--cw-fh);font-size:1.4rem;font-weight:700;color:var(--cw-ink);min-width:2.5ch;text-align:center;}
/* Summary sidebar */
.cw-summary{position:sticky;top:84px;background:var(--cw-ink);border-radius:var(--cw-r2);padding:2rem;color:var(--cw-cream);}
.cw-sum-h{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:rgba(250,250,245,.3);margin-bottom:1.2rem;display:block;}
.cw-sum-rows{display:flex;flex-direction:column;gap:.2rem;margin-bottom:1rem;min-height:3rem;}
.cw-sum-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;font-size:0.82rem;color:rgba(250,250,245,.6);}
.cw-sum-empty{font-size:0.82rem;color:rgba(250,250,245,.25);font-style:italic;}
.cw-sum-sep{border:none;border-top:1px solid rgba(250,250,245,.08);margin:.6rem 0;}
.cw-sum-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;}
.cw-sum-total-l{font-size:0.78rem;font-weight:600;color:rgba(250,250,245,.5);text-transform:uppercase;letter-spacing:.1em;}
.cw-sum-total-v{font-family:var(--cw-fh);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:var(--cw-cream);}
.cw-sum-go{margin-top:1.2rem;width:100%;font-family:var(--cw-fb);font-size:clamp(0.85rem,1.3vw,0.94rem);font-weight:700;padding:.58rem;border-radius:var(--cw-r2);border:none;background:var(--cw-amber);color:var(--cw-ink);cursor:pointer;transition:background .15s;}
.cw-sum-go:hover:not(:disabled){background:var(--cw-amber-d);}
.cw-sum-go:disabled{opacity:.35;cursor:not-allowed;}
.cw-sum-note{font-size:0.62rem;color:rgba(250,250,245,.18);text-align:center;margin-top:.5rem;line-height:1.5;}

/* ─ Checkout ─ */
.cw-checkout-pg{padding:4rem 0 6rem;background:var(--cw-cream);}
.cw-checkout-grid{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start;}
.cw-checkout-form{background:var(--cw-white);border:1.5px solid var(--cw-border);border-radius:var(--cw-r2);padding:2.5rem;}
.cw-checkout-form h2{font-family:var(--cw-fh);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;color:var(--cw-ink);margin-bottom:1.5rem;}
.cw-order-panel{background:var(--cw-ink);border-radius:var(--cw-r2);padding:2rem;color:var(--cw-cream);position:sticky;top:84px;}
.cw-order-panel h2{font-family:var(--cw-fh);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;color:var(--cw-cream);margin-bottom:1.2rem;}
.cw-order-row{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem 0;border-bottom:1px solid rgba(250,250,245,.06);font-size:0.82rem;color:rgba(250,250,245,.55);}
.cw-order-total-row{display:flex;justify-content:space-between;gap:.5rem;padding-top:.8rem;margin-top:.3rem;}
.cw-order-total-l{font-weight:700;font-size:0.88rem;color:rgba(250,250,245,.7);}
.cw-order-total-v{font-family:var(--cw-fh);font-size:1.5rem;font-weight:700;color:var(--cw-cream);}
.cw-checkout-note{font-size:0.72rem;color:rgba(250,250,245,.25);line-height:1.6;margin-top:1rem;}

/* ─ Success / Cancel ─ */
.cw-status-pg{padding:8rem 2rem;text-align:center;min-height:60vh;display:flex;align-items:center;justify-content:center;}
.cw-status-inner{max-width:520px;}
.cw-status-ico{font-size:3rem;margin-bottom:1.2rem;}
.cw-status-inner h1{font-family:var(--cw-fh);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;color:var(--cw-ink);margin-bottom:.8rem;}
.cw-status-inner p{font-size:clamp(0.9rem,1.5vw,1.05rem);color:var(--cw-muted);line-height:1.78;margin-bottom:1.5rem;}

/* ─ Legal pages ─ */
.cw-legal-pg{padding:4rem 0 6rem;background:var(--cw-white);}
.cw-legal-body{max-width:760px;margin:0 auto;padding:0 2rem;}
.cw-legal-body h2{font-family:var(--cw-fh);font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:700;color:var(--cw-ink);margin:2rem 0 .6rem;}
.cw-legal-body h3{font-family:var(--cw-fh);font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:700;color:var(--cw-ink);margin:1.5rem 0 .4rem;}
.cw-legal-body p{font-size:clamp(0.88rem,1.4vw,0.98rem);color:var(--cw-muted);line-height:1.82;margin-bottom:.9rem;}
.cw-legal-body ul{margin:.5rem 0 .9rem 1.2rem;list-style:disc;}
.cw-legal-body li{font-size:clamp(0.85rem,1.3vw,0.95rem);color:var(--cw-muted);line-height:1.75;margin-bottom:.3rem;}

/* ─ Service page ─ */
.cw-svc-hero{background:var(--cw-cream);padding:6rem 2rem 4rem;position:relative;overflow:hidden;}
.cw-svc-hero::before{content:'';position:absolute;right:-60px;top:-40px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,var(--cw-amber-bg) 0%,transparent 65%);pointer-events:none;}
.cw-svc-hero-in{max-width:var(--cw-max);margin:0 auto;display:grid;grid-template-columns:1fr 360px;gap:4rem;align-items:center;}
.cw-svc-hero-left h1{font-family:var(--cw-fh);font-size:clamp(3rem,6vw,5.5rem);font-weight:800;color:var(--cw-ink);letter-spacing:-.03em;line-height:.9;margin-bottom:1rem;}
.cw-svc-hero-left .cw-section-sub{margin-bottom:1.5rem;}
.cw-svc-img{border-radius:var(--cw-r2);overflow:hidden;}
.cw-svc-img img{width:100%;height:340px;object-fit:cover;background:var(--cw-cream2);display:block;}
.cw-svc-body{padding:4rem 0;background:var(--cw-white);}
.cw-svc-body-in{max-width:var(--cw-max);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 340px;gap:4rem;}
.cw-svc-content h2{font-family:var(--cw-fh);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;color:var(--cw-ink);margin:1.5rem 0 .6rem;}
.cw-svc-content p{font-size:clamp(0.88rem,1.4vw,0.98rem);color:var(--cw-muted);line-height:1.82;margin-bottom:.9rem;}
.cw-svc-content ul{margin:.5rem 0 1rem 1rem;list-style:disc;}
.cw-svc-content li{font-size:clamp(0.85rem,1.3vw,0.95rem);color:var(--cw-muted);line-height:1.75;margin-bottom:.3rem;}
.cw-svc-aside{position:sticky;top:84px;}
.cw-svc-aside-card{background:var(--cw-cream);border:1.5px solid var(--cw-border);border-radius:var(--cw-r2);padding:2rem;}
.cw-svc-aside-card h3{font-family:var(--cw-fh);font-size:1.1rem;font-weight:700;color:var(--cw-ink);margin-bottom:1rem;}
.cw-svc-pr-big{font-family:var(--cw-fh);font-size:clamp(2rem,3.5vw,3rem);font-weight:800;color:var(--cw-ink);display:block;margin-bottom:.2rem;}
.cw-svc-pr-note{font-size:0.72rem;color:var(--cw-muted2);display:block;margin-bottom:1.2rem;}
.cw-svc-inc-list{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.5rem;}
.cw-svc-inc-item{display:flex;align-items:center;gap:.4rem;font-size:0.82rem;color:var(--cw-muted);}
.cw-svc-inc-item svg{color:var(--cw-amber);flex-shrink:0;}

/* ─ Process page ─ */
.cw-process-pg{padding:4rem 0 6rem;background:var(--cw-white);}
.cw-process-list{display:flex;flex-direction:column;gap:0;}
.cw-proc-row{display:grid;grid-template-columns:80px 1fr;gap:2.5rem;padding:3rem 0;border-bottom:1px solid var(--cw-border);}
.cw-proc-row:last-child{border-bottom:none;}
.cw-proc-num{font-family:var(--cw-fh);font-size:clamp(3rem,6vw,5rem);font-weight:800;color:var(--cw-border2);line-height:1;}
.cw-proc-body h2{font-family:var(--cw-fh);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700;color:var(--cw-ink);margin-bottom:.8rem;}
.cw-proc-body p{font-size:clamp(0.88rem,1.4vw,0.98rem);color:var(--cw-muted);line-height:1.82;margin-bottom:.8rem;}

/* ─ Cookie bar ─ */
.cw-cookie-bar{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);z-index:900;background:var(--cw-ink);color:var(--cw-cream);border-radius:var(--cw-r3);padding:.75rem 1.4rem;display:flex;align-items:center;gap:1.2rem;box-shadow:var(--cw-sh2);max-width:calc(100vw - 2rem);flex-wrap:wrap;justify-content:center;}
.cw-cookie-bar p{font-size:0.78rem;color:rgba(250,250,245,.65);}
.cw-cookie-bar a{color:var(--cw-amber);text-decoration:underline;}
.cw-ck-btns{display:flex;gap:.5rem;}
.cw-ck-yes,.cw-ck-no{font-size:0.72rem;font-weight:700;padding:.28rem .8rem;border-radius:var(--cw-r3);border:none;cursor:pointer;}
.cw-ck-yes{background:var(--cw-amber);color:var(--cw-ink);}
.cw-ck-no{background:rgba(250,250,245,.12);color:rgba(250,250,245,.6);}
.cw-cookie-bar.cw-ck-hidden{display:none;}

/* ─ Responsive ─ */
@media(max-width:1060px){
  .cw-mast-arm{gap:1.2rem;}
  .cw-ov-in{grid-template-columns:1fr 360px;gap:3rem;}
  .cw-tariff-grid{grid-template-columns:1fr 1fr;}
  .cw-tariff-grid .cw-tariff-card:last-child{grid-column:span 2;max-width:50%;margin:0 auto;}
  .cw-builder-grid{grid-template-columns:1fr 320px;}
  .cw-checkout-grid{grid-template-columns:1fr 340px;}
  .cw-ab-split{gap:3rem;}
}
@media(max-width:880px){
  .cw-mast-arm{display:none;}
  .cw-mast-bound{grid-template-columns:1fr auto;}
  .cw-mast-logo{justify-content:flex-start;}
  .cw-mast-ham{display:flex;}
  .cw-ov-in{grid-template-columns:1fr;}
  .cw-ov-right{display:none;}
  .cw-roster-grid{grid-template-columns:repeat(2,1fr);}
  .cw-exhibit-grid{grid-template-columns:1fr;}
  .cw-method-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem;} .cw-method-grid::before{display:none;}
  .cw-chorus-grid{grid-template-columns:1fr;}
  .cw-tariff-grid{grid-template-columns:1fr;} .cw-tariff-grid .cw-tariff-card:last-child{grid-column:1;max-width:100%;margin:0;}
  .cw-finale-in{grid-template-columns:1fr;gap:2.5rem;} .cw-finale-acts{flex-direction:row;flex-wrap:wrap;}
  .cw-faq-cols{grid-template-columns:1fr;gap:0;}
  .cw-builder-grid{grid-template-columns:1fr;}
  .cw-checkout-grid{grid-template-columns:1fr;}
  .cw-contact-grid{grid-template-columns:1fr;}
  .cw-svc-hero-in{grid-template-columns:1fr;} .cw-svc-img{display:none;}
  .cw-svc-body-in{grid-template-columns:1fr;} .cw-svc-aside{position:static;}
  .cw-ab-split{grid-template-columns:1fr;}
  .cw-ab-img{display:none;}
  .cw-ab-val-grid{grid-template-columns:1fr;}
  .cw-folio-grid{grid-template-columns:1fr;}
}
@media(max-width:540px){
  .cw-roster-grid{grid-template-columns:1fr;}
  .cw-method-grid{grid-template-columns:1fr;}
  .cw-form-row{grid-template-columns:1fr;}
  .cw-ov-headline{font-size:clamp(3.5rem,15vw,8rem);}
}

/* ═══════════════════════════════════
   FOOTER (cw-colophon)
   ═══════════════════════════════════ */
.cw-colophon{background:var(--cw-ink);}
.cw-colophon-top{max-width:var(--cw-max);margin:0 auto;padding:4rem 2rem 3rem;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;}
.cw-col-brand-col{display:flex;flex-direction:column;}
.cw-col-logo{font-family:var(--cw-fh);font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:800;letter-spacing:-.03em;color:var(--cw-cream);display:inline-block;margin-bottom:.6rem;line-height:1.1;}
.cw-col-logo span{color:var(--cw-amber);font-weight:400;}
.cw-col-tagline{font-size:.75rem;color:rgba(250,250,245,.28);line-height:1.65;margin-bottom:.9rem;}
.cw-col-socs{display:flex;gap:.4rem;}
.cw-col-soc{color:rgba(250,250,245,.22);transition:color .15s;padding:4px;display:inline-flex;align-items:center;}
.cw-col-soc:hover{color:var(--cw-amber);}
.cw-col-nav-group{display:flex;flex-direction:column;}
.cw-col-nav-h{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:rgba(250,250,245,.18);display:block;margin-bottom:.85rem;}
.cw-col-nav{display:flex;flex-direction:column;gap:.4rem;}
.cw-col-nav a{font-size:clamp(.8rem,1.2vw,.88rem);color:rgba(250,250,245,.35);transition:color .15s;line-height:1.4;}
.cw-col-nav a:hover{color:var(--cw-cream);}
.cw-col-contact{display:flex;flex-direction:column;gap:.45rem;}
.cw-col-contact a,.cw-col-contact span{font-size:clamp(.78rem,1.1vw,.86rem);color:rgba(250,250,245,.35);display:flex;align-items:center;gap:.4rem;transition:color .15s;line-height:1.4;}
.cw-col-contact a:hover{color:var(--cw-cream);}
.cw-colophon-base{border-top:1px solid rgba(250,250,245,.07);max-width:var(--cw-max);margin:0 auto;padding:1.2rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.cw-col-copy{font-size:.7rem;color:rgba(250,250,245,.14);}
.cw-col-legal{display:flex;gap:1.2rem;flex-wrap:wrap;}
.cw-col-legal a{font-size:.65rem;color:rgba(250,250,245,.14);transition:color .15s;}
.cw-col-legal a:hover{color:rgba(250,250,245,.5);}

@media(max-width:880px){
  .cw-colophon-top{grid-template-columns:1fr 1fr;}
}
@media(max-width:540px){
  .cw-colophon-top{grid-template-columns:1fr;}
  .cw-colophon-base{flex-direction:column;align-items:flex-start;gap:.8rem;}
}
