:root{
  --ink:#12262c;
  --ink-2:#31505a;
  --muted:#65777d;
  --cream:#f5efe6;
  --sand:#e8d7c1;
  --aqua:#dbecea;
  --teal:#0f4f5b;
  --teal-2:#163c45;
  --gold:#b98245;
  --white:#ffffff;
  --card:rgba(255,255,255,.84);
  --radius:30px;
  --shadow:0 26px 80px rgba(15,39,45,.24);
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--cream);color:var(--ink);line-height:1.55;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:16px;background:#fff;color:#000;padding:10px 14px;z-index:100}.skip-link:focus{top:16px}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:26px;padding:18px 28px;background:rgba(245,239,230,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(18,38,44,.08)}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.02em}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--teal),var(--gold));box-shadow:0 12px 30px rgba(15,79,91,.25)}.brand-text{white-space:nowrap}.nav{display:flex;gap:22px;margin-left:auto;font-size:.92rem;font-weight:700;color:rgba(18,38,44,.76)}.nav a:hover{color:var(--teal)}.nav-cta{font-size:.92rem;font-weight:800;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 10px 26px rgba(18,38,44,.18)}.section-dark{background:var(--teal-2);color:#fff}.eyebrow{margin:0 0 16px;color:rgba(255,255,255,.78);font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem}.eyebrow.dark{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(4rem,9vw,8.8rem);line-height:.86;letter-spacing:-.075em;margin-bottom:30px;font-weight:800;max-width:930px}h2{font-size:clamp(2.35rem,5.3vw,5rem);line-height:.96;letter-spacing:-.065em;margin-bottom:24px;font-weight:760}h3{font-size:1.22rem;line-height:1.15;letter-spacing:-.03em;margin-bottom:10px}.hero{position:relative;min-height:100vh;display:grid;align-items:end;overflow:hidden;padding:130px 0 78px}.hero-bg,.case-bg,.cta-bg{position:absolute;inset:0;background-position:center;background-size:cover}.hero-bg{background-image:url('assets/hero-coast.jpg');filter:saturate(1.04) contrast(1.05);transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,34,39,.92) 0%,rgba(11,34,39,.72) 42%,rgba(11,34,39,.20) 100%),linear-gradient(0deg,rgba(11,34,39,.55) 0%,rgba(11,34,39,.08) 54%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:54px;align-items:end}.hero-lede{font-size:clamp(1.35rem,2vw,2rem);max-width:790px;line-height:1.28;color:rgba(255,255,255,.88);font-weight:650;letter-spacing:-.025em}.hero-actions,.case-actions,.cta-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 22px;border-radius:999px;font-weight:850;letter-spacing:-.02em;transition:transform .2s ease,background .2s ease,border-color .2s ease;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button-primary{background:#fff;color:var(--teal-2);box-shadow:0 18px 50px rgba(0,0,0,.22)}.button-ghost{border:1px solid rgba(255,255,255,.42);color:#fff;background:rgba(255,255,255,.08)}.button-ghost-dark{border:1px solid rgba(18,38,44,.2);background:rgba(18,38,44,.06)}.hero-card{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.13);backdrop-filter:blur(18px);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.hero-card>p{font-weight:800;font-size:1.2rem;letter-spacing:-.03em;color:#fff}.mini-stat{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid rgba(255,255,255,.18)}.mini-stat strong{font-size:.95rem}.mini-stat span{color:rgba(255,255,255,.72);font-size:.9rem;text-align:right}.marquee{background:var(--ink);color:#fff;overflow:hidden;padding:18px 0}.marquee-track{display:flex;width:max-content;animation:drift 32s linear infinite}.marquee-group{display:flex;gap:38px;min-width:max-content;padding-left:38px}.marquee span{text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:rgba(255,255,255,.78);font-size:.82rem;white-space:nowrap}@keyframes drift{to{transform:translateX(-50%)}}.intro-section{padding:110px 0 76px}.intro-kicker{color:var(--gold);font-weight:850;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;margin-bottom:18px}.intro-section h2{max-width:1000px}.intro-section p{font-size:1.32rem;color:var(--ink-2);max-width:860px}.terrain-strip{display:grid;grid-template-columns:1.2fr 1fr .78fr;gap:18px;width:min(1320px,calc(100% - 40px));margin:0 auto 120px}.terrain-card{position:relative;min-height:440px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.terrain-card img,.city-graphic{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.terrain-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,28,33,.64),rgba(6,28,33,.02) 58%)}.terrain-card span{position:absolute;left:24px;bottom:22px;z-index:2;color:#fff;font-size:clamp(1.6rem,3vw,3.2rem);font-weight:850;letter-spacing:-.06em}.city-graphic{background:radial-gradient(circle at 20% 15%,#e2a35e 0 9%,transparent 9.5%),linear-gradient(140deg,#132e37 0%,#1b5f69 44%,#c88a48 100%)}.city-graphic:before{content:"";position:absolute;inset:auto 8% 13% 8%;height:60%;background:linear-gradient(90deg,transparent 0 4%,rgba(255,255,255,.18) 4% 5%,transparent 5% 11%,rgba(255,255,255,.25) 11% 12%,transparent 12% 18%,rgba(255,255,255,.2) 18% 19%,transparent 19% 25%,rgba(255,255,255,.22) 25% 26%,transparent 26%);clip-path:polygon(0 100%,0 55%,6% 55%,6% 30%,15% 30%,15% 65%,25% 65%,25% 18%,36% 18%,36% 42%,49% 42%,49% 5%,61% 5%,61% 48%,72% 48%,72% 22%,84% 22%,84% 68%,100% 68%,100% 100%)}.split-section,.proof-section{padding:120px 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}.reach-layout{padding:110px 0;display:grid;grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr);gap:72px;align-items:center}.split-copy p,.reach-copy p,.proof-copy p{font-size:1.13rem;color:var(--ink-2)}.reach-copy h2{font-size:clamp(3.1rem,6.2vw,5.8rem);line-height:.97;max-width:560px}.reach-copy p{max-width:560px}.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.audience-grid article,.services-grid article{background:rgba(255,255,255,.58);border:1px solid rgba(18,38,44,.1);border-radius:24px;padding:28px;box-shadow:0 22px 60px rgba(18,38,44,.07)}.audience-grid span{color:var(--gold);font-weight:850;font-size:.8rem}.audience-grid p,.services-grid p{color:var(--ink-2)}.case-study{position:relative;overflow:hidden;padding:120px 0}.case-bg{background-image:url('assets/cambria-wide.jpg');opacity:.36;filter:saturate(.92) contrast(1.05)}.case-study:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,40,48,.96),rgba(10,40,48,.86) 52%,rgba(10,40,48,.66));z-index:0}.case-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr);gap:72px;align-items:center}.case-copy h2{font-size:clamp(3rem,6.2vw,6.2rem);line-height:1.02;letter-spacing:-.055em;max-width:680px}.case-copy p{font-size:1.14rem;color:rgba(255,255,255,.78);max-width:660px}.metric-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.metric{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);border-radius:28px;padding:28px 26px;min-height:184px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.metric strong{font-size:clamp(3.4rem,5.4vw,5.1rem);line-height:.92;letter-spacing:-.055em;white-space:nowrap}.metric span{font-weight:750;color:rgba(255,255,255,.80);font-size:.98rem;line-height:1.32;max-width:220px}.services-section{padding:120px 0}.section-heading{max-width:820px;margin-bottom:42px}.section-heading p{font-size:1.15rem;color:var(--ink-2)}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.services-grid article{min-height:250px}.icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin-bottom:28px;background:var(--aqua);color:var(--teal);font-weight:850}.reach-section{background:#fffaf2}.reach-layout{align-items:center}.reach-map{position:relative;background:var(--ink);color:#fff;border-radius:34px;padding:34px;box-shadow:var(--shadow)}.route-line{position:absolute;left:44px;top:54px;bottom:54px;width:2px;background:linear-gradient(var(--gold),rgba(255,255,255,.18))}.route-item{position:relative;padding-left:42px;margin:0 0 30px}.route-item:last-child{margin-bottom:0}.route-item span{position:absolute;left:0;top:4px;width:22px;height:22px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 8px rgba(185,130,69,.16)}.route-item strong{display:block;font-size:1.25rem;letter-spacing:-.03em;margin-bottom:4px}.route-item em{font-style:normal;color:rgba(255,255,255,.68)}.approach{padding:120px 0}.approach-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px}.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.steps article{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:28px}.steps span{display:block;color:var(--gold);font-weight:850;margin-bottom:14px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.steps p{color:rgba(255,255,255,.76)}.proof-section{grid-template-columns:1.05fr .95fr;align-items:center}.proof-image img{border-radius:34px;box-shadow:var(--shadow);aspect-ratio:1/1;object-fit:cover}.proof-copy ul{margin:22px 0 0;padding:0;list-style:none}.proof-copy li{padding:14px 0 14px 34px;border-top:1px solid rgba(18,38,44,.12);position:relative;font-weight:700;color:var(--ink-2)}.proof-copy li:before{content:"";position:absolute;left:0;top:20px;width:12px;height:12px;background:var(--gold);border-radius:50%}.cta-section{position:relative;padding:130px 0;overflow:hidden}.cta-bg{background-image:url('assets/valley-original-wide.jpg');opacity:.28;filter:saturate(.9)}.cta-section:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,239,230,.98),rgba(245,239,230,.86) 58%,rgba(245,239,230,.48));z-index:0}.cta-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1fr);gap:54px;align-items:start}.cta-panel p{font-size:1.17rem;color:var(--ink-2);max-width:710px}.contact-form{background:rgba(255,255,255,.72);border:1px solid rgba(18,38,44,.12);border-radius:30px;padding:30px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.contact-form label{display:block;margin-bottom:18px}.contact-form span{display:block;font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(18,38,44,.14);background:rgba(255,255,255,.86);border-radius:16px;padding:15px 16px;font:inherit;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(185,130,69,.14)}.contact-form button{border:0;cursor:pointer;margin-top:4px}.form-note{font-size:.86rem!important;line-height:1.4;color:var(--muted)!important;margin:16px 0 0!important}.site-footer{background:#071b20;color:#fff;padding:52px 0}.footer-grid{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.footer-grid p{color:rgba(255,255,255,.62);max-width:420px;margin-top:16px}.footer-links{display:flex;gap:22px;font-weight:750;color:rgba(255,255,255,.72)}
@media (max-width: 980px){.site-header{padding:16px 20px}.nav{display:none}.nav-cta{margin-left:auto}.hero-grid,.case-layout,.split-section,.reach-layout,.approach-grid,.proof-section,.cta-panel{grid-template-columns:1fr}.hero{min-height:850px}.hero-card{max-width:420px}.terrain-strip{grid-template-columns:1fr}.terrain-card{min-height:300px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-panel,.audience-grid,.steps{grid-template-columns:1fr 1fr}.reach-copy h2{max-width:760px}.contact-form{max-width:760px}.case-layout{gap:42px}}
@media (max-width: 640px){.brand-text{font-size:.95rem}.nav-cta{display:none}h1{font-size:clamp(3.5rem,18vw,5.6rem)}h2{font-size:clamp(2.2rem,11vw,3.4rem)}.hero{min-height:900px;padding-top:110px}.hero-grid{gap:32px}.hero-actions,.case-actions,.cta-actions{display:grid}.button{width:100%}.intro-section,.split-section,.services-section,.reach-layout,.approach,.proof-section{padding:76px 0}.audience-grid,.services-grid,.metric-panel,.steps,.form-row{grid-template-columns:1fr}.case-study,.cta-section{padding:86px 0}.footer-grid{display:grid}.footer-links{flex-wrap:wrap}.metric{min-height:160px}.terrain-card{min-height:260px}.marquee-track{animation-duration:22s}.case-copy h2{font-size:clamp(2.8rem,14vw,4rem)}.reach-copy h2{font-size:clamp(2.8rem,14vw,4.1rem)}.contact-form{padding:22px}}

/* Refinement pass: balanced reach section + readable metrics */
.reach-layout{
  grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);
  gap:64px;
}
.reach-copy h2{
  font-size:clamp(3rem,4.9vw,5rem);
  line-height:1.04;
  letter-spacing:-.06em;
  font-weight:560;
  max-width:680px;
}
.reach-copy h2 strong{
  font-weight:850;
}
.reach-copy p{
  max-width:650px;
}
.market-board{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  background:var(--ink);
  color:#fff;
  border-radius:34px;
  padding:26px;
  box-shadow:var(--shadow);
}
.market-card{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  border-radius:22px;
  padding:18px 18px 20px;
  min-height:146px;
}
.market-card.featured{
  background:rgba(185,130,69,.18);
  border-color:rgba(185,130,69,.38);
}
.market-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:rgba(185,130,69,.18);
  color:var(--gold);
  font-weight:900;
  font-size:.78rem;
  margin-bottom:18px;
}
.market-card strong{
  display:block;
  font-size:1.06rem;
  line-height:1.12;
  letter-spacing:-.035em;
  margin-bottom:8px;
}
.market-card em{
  display:block;
  font-style:normal;
  color:rgba(255,255,255,.68);
  line-height:1.35;
  font-weight:650;
  font-size:.92rem;
}
.case-copy h2{
  line-height:1.06;
  letter-spacing:-.052em;
}
.metric{
  min-height:178px;
  padding:28px 24px;
}
.metric strong{
  font-size:clamp(3.25rem,4.6vw,4.75rem);
  letter-spacing:-.06em;
}
.metric:nth-child(3) strong,
.metric:nth-child(4) strong{
  font-size:clamp(3.05rem,4.15vw,4.25rem);
}
.metric span{
  font-size:.96rem;
  line-height:1.26;
}
@media (max-width:980px){
  .reach-layout{grid-template-columns:1fr;}
  .market-board{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .reach-copy h2{font-size:clamp(2.55rem,12vw,3.7rem);}
  .market-board{grid-template-columns:1fr;padding:20px;}
  .market-card{min-height:auto;}
  .metric strong,.metric:nth-child(3) strong,.metric:nth-child(4) strong{font-size:clamp(3rem,16vw,4.2rem);}
}

/* Round 4 corrections: restore v2 reach layout, open headline spacing, and balance case study */
h1{
  letter-spacing:-.035em;
}
h2,
.section-heading h2,
.split-copy h2,
.reach-copy h2,
.case-copy h2,
.proof-copy h2,
.cta-copy h2{
  letter-spacing:-.025em;
}
.terrain-card span{
  letter-spacing:-.025em;
}
.case-study{
  padding:112px 0;
}
.case-layout{
  grid-template-columns:minmax(0,1fr) minmax(520px,1fr);
  gap:58px;
  align-items:center;
}
.case-copy h2{
  font-size:clamp(3rem,4.8vw,5.15rem);
  line-height:1.06;
  max-width:610px;
}
.case-copy p{
  max-width:600px;
}
.metric-panel{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.metric{
  min-height:142px;
  padding:22px 22px 20px;
  border-radius:24px;
}
.metric strong,
.metric:nth-child(3) strong,
.metric:nth-child(4) strong{
  font-size:clamp(2.7rem,3.55vw,3.9rem);
  line-height:.94;
  letter-spacing:-.035em;
}
.metric-word strong{
  font-size:clamp(1.8rem,2.55vw,2.6rem)!important;
  letter-spacing:-.025em!important;
}
.metric span{
  font-size:.9rem;
  line-height:1.22;
  max-width:240px;
}
.reach-layout{
  grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);
  gap:64px;
}
.reach-copy h2{
  font-size:clamp(3rem,4.9vw,5rem);
  line-height:1.04;
  font-weight:560;
  max-width:680px;
}
.reach-copy h2 strong{
  font-weight:850;
}
.market-board{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  background:var(--ink);
  color:#fff;
  border-radius:34px;
  padding:26px;
  box-shadow:var(--shadow);
}
.market-card{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  border-radius:22px;
  padding:18px 18px 20px;
  min-height:146px;
}
.market-card.featured{
  background:rgba(185,130,69,.18);
  border-color:rgba(185,130,69,.38);
}
.market-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:rgba(185,130,69,.18);
  color:var(--gold);
  font-weight:900;
  font-size:.78rem;
  margin-bottom:18px;
}
.market-card strong{
  display:block;
  font-size:1.06rem;
  line-height:1.14;
  letter-spacing:-.02em;
  margin-bottom:8px;
}
.market-card em{
  display:block;
  font-style:normal;
  color:rgba(255,255,255,.68);
  line-height:1.35;
  font-weight:650;
  font-size:.92rem;
}
@media (max-width:980px){
  .case-layout,.reach-layout{grid-template-columns:1fr;}
  .case-layout{gap:42px;}
  .metric-panel,.market-board{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  h1{letter-spacing:-.025em;}
  h2,.case-copy h2,.reach-copy h2{letter-spacing:-.018em;}
  .metric-panel,.market-board{grid-template-columns:1fr;}
  .metric strong,.metric:nth-child(3) strong,.metric:nth-child(4) strong{font-size:clamp(3rem,15vw,4rem);}
  .metric-word strong{font-size:clamp(1.8rem,9vw,2.4rem)!important;}
}

/* Terrain illustration refinement: keep all three cards in the same illustrated visual system */
.terrain-card.illustration-card{
  background:#12262c;
  border:1px solid rgba(18,38,44,.08);
}
.terrain-card.illustration-card:after{
  background:
    linear-gradient(0deg,rgba(6,28,33,.70),rgba(6,28,33,.08) 58%),
    radial-gradient(circle at 18% 16%,rgba(226,163,94,.18),transparent 22%);
}
.coast-graphic,
.vineyard-graphic,
.city-graphic{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  overflow:hidden;
}
.coast-graphic{
  background:
    radial-gradient(circle at 14% 16%,#e2a35e 0 7%,transparent 7.6%),
    linear-gradient(160deg,rgba(255,248,223,.78) 0 18%,rgba(126,178,184,.50) 18% 35%,transparent 35%),
    linear-gradient(180deg,#163c46 0 21%,#236a76 21% 46%,#45aab1 46% 62%,#d99c56 62% 69%,#234f42 69% 100%);
}
.coast-graphic:before{
  content:"";
  position:absolute;
  inset:28% -8% 20% -8%;
  background:
    linear-gradient(150deg,transparent 0 35%,rgba(255,255,255,.24) 35% 36%,transparent 36% 43%,rgba(255,255,255,.18) 43% 44%,transparent 44%),
    linear-gradient(145deg,transparent 0 18%,#6b7d4d 18% 32%,#324c41 32% 42%,transparent 42%),
    linear-gradient(160deg,transparent 0 47%,#f1c67a 47% 51%,#45766b 51% 60%,#126c86 60% 100%);
  clip-path:polygon(0 54%,16% 44%,27% 37%,38% 42%,50% 31%,66% 38%,81% 27%,100% 34%,100% 100%,0 100%);
  opacity:.95;
}
.coast-graphic:after{
  content:"";
  position:absolute;
  inset:49% -10% 0 18%;
  background:
    repeating-linear-gradient(160deg,rgba(255,255,255,.32) 0 2px,transparent 2px 22px),
    linear-gradient(110deg,transparent 0 33%,rgba(255,255,255,.65) 33% 34%,transparent 34% 38%,rgba(255,255,255,.45) 38% 39%,transparent 39%),
    linear-gradient(180deg,#09809a 0%,#0d6074 78%);
  clip-path:ellipse(78% 58% at 58% 58%);
  opacity:.88;
}
.vineyard-graphic{
  background:
    radial-gradient(circle at 18% 17%,#e2a35e 0 7%,transparent 7.8%),
    linear-gradient(180deg,#d7eef1 0 22%,#92b8a7 22% 36%,#526d44 36% 47%,#c38c44 47% 100%);
}
.vineyard-graphic:before{
  content:"";
  position:absolute;
  inset:28% -8% 42% -8%;
  background:
    radial-gradient(ellipse at 30% 80%,#314a32 0 42%,transparent 43%),
    radial-gradient(ellipse at 60% 90%,#5c7840 0 42%,transparent 43%),
    radial-gradient(ellipse at 88% 85%,#2d4434 0 38%,transparent 39%);
  opacity:.96;
}
.vineyard-graphic:after{
  content:"";
  position:absolute;
  inset:43% -4% 0 -4%;
  background:
    linear-gradient(84deg,transparent 0 9%,rgba(255,241,162,.78) 9% 10%,transparent 10% 19%,rgba(255,241,162,.72) 19% 20%,transparent 20% 29%,rgba(255,241,162,.68) 29% 30%,transparent 30% 39%,rgba(255,241,162,.65) 39% 40%,transparent 40% 49%,rgba(255,241,162,.58) 49% 50%,transparent 50% 59%,rgba(255,241,162,.52) 59% 60%,transparent 60% 69%,rgba(255,241,162,.48) 69% 70%,transparent 70% 79%,rgba(255,241,162,.42) 79% 80%,transparent 80%),
    repeating-linear-gradient(100deg,rgba(39,80,40,.82) 0 16px,rgba(125,124,45,.86) 16px 28px,rgba(207,168,61,.72) 28px 42px),
    linear-gradient(180deg,#b98245 0%,#6e7339 100%);
  clip-path:polygon(0 6%,100% 0,100% 100%,0 100%);
}

/* Round 5: expanded destination range cards */
.destination-range{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  width:min(1320px,calc(100% - 40px));
  margin:0 auto 120px;
}
.range-card{
  position:relative;
  min-height:280px;
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#12262c;
  border:1px solid rgba(18,38,44,.08);
}
.range-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,rgba(6,28,33,.74),rgba(6,28,33,.08) 60%),
    radial-gradient(circle at 18% 16%,rgba(226,163,94,.16),transparent 22%);
}
.range-card span{
  position:absolute;
  left:22px;
  bottom:20px;
  z-index:2;
  color:#fff;
  font-size:clamp(1.8rem,2.7vw,3rem);
  font-weight:850;
  letter-spacing:-.015em;
  line-height:.96;
}
.mountain-graphic,
.lake-graphic,
.redwood-graphic,
.desert-graphic,
.district-graphic{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  overflow:hidden;
}
.mountain-graphic{
  background:
    radial-gradient(circle at 18% 16%,#e2a35e 0 8%,transparent 8.5%),
    linear-gradient(180deg,#164454 0 28%,#3d6e79 28% 42%,#7d9b7a 42% 58%,#274338 58% 100%);
}
.mountain-graphic:before{
  content:"";
  position:absolute;
  inset:20% -8% 20% -8%;
  background:linear-gradient(135deg,#f6efe0 0 14%,#9ab2b1 14% 27%,#263e42 27% 54%,#5b774b 54% 100%);
  clip-path:polygon(0 82%,14% 58%,25% 70%,40% 28%,54% 66%,68% 18%,82% 62%,100% 38%,100% 100%,0 100%);
  opacity:.96;
}
.mountain-graphic:after{
  content:"";
  position:absolute;
  inset:67% -5% 0 -5%;
  background:repeating-linear-gradient(150deg,rgba(255,255,255,.16) 0 2px,transparent 2px 18px),linear-gradient(180deg,#23463c,#12262c);
}
.lake-graphic{
  background:
    radial-gradient(circle at 82% 18%,#e2a35e 0 8%,transparent 8.7%),
    linear-gradient(180deg,#163b48 0 28%,#5d7f64 28% 48%,#23545e 48% 100%);
}
.lake-graphic:before{
  content:"";
  position:absolute;
  inset:28% -10% 30% -10%;
  background:linear-gradient(160deg,#2d563f,#7a8f55 45%,#263f37);
  clip-path:polygon(0 65%,18% 35%,36% 54%,54% 24%,75% 45%,100% 18%,100% 100%,0 100%);
}
.lake-graphic:after{
  content:"";
  position:absolute;
  left:10%;right:8%;bottom:16%;height:38%;
  background:repeating-linear-gradient(170deg,rgba(255,255,255,.22) 0 2px,transparent 2px 20px),linear-gradient(180deg,#59a7a9,#176a7b);
  clip-path:ellipse(50% 42% at 50% 56%);
  opacity:.92;
}
.redwood-graphic{
  background:
    radial-gradient(circle at 80% 14%,#e2a35e 0 7%,transparent 7.6%),
    linear-gradient(180deg,#16343c 0%,#244a3b 48%,#10221f 100%);
}
.redwood-graphic:before{
  content:"";
  position:absolute;
  inset:10% 7% 0 7%;
  background:
    linear-gradient(90deg,transparent 0 8%,#5b3a28 8% 11%,transparent 11% 22%,#68422b 22% 25%,transparent 25% 37%,#5b3a28 37% 41%,transparent 41% 55%,#6e472d 55% 59%,transparent 59% 74%,#593725 74% 78%,transparent 78%),
    radial-gradient(ellipse at 10% 18%,#2f6a49 0 18%,transparent 19%),
    radial-gradient(ellipse at 35% 16%,#3d7d52 0 18%,transparent 19%),
    radial-gradient(ellipse at 62% 18%,#2f6a49 0 20%,transparent 21%),
    radial-gradient(ellipse at 88% 16%,#3d7d52 0 18%,transparent 19%);
  opacity:.95;
}
.redwood-graphic:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:32%;
  background:linear-gradient(180deg,transparent,#173126 45%,#0f211d);
}
.desert-graphic{
  background:
    radial-gradient(circle at 18% 18%,#e2a35e 0 10%,transparent 10.5%),
    linear-gradient(180deg,#f0c478 0 28%,#cc8751 28% 56%,#773f34 56% 100%);
}
.desert-graphic:before{
  content:"";
  position:absolute;
  inset:32% -8% 30% -8%;
  background:linear-gradient(135deg,#7d4b42,#b2644a 55%,#502f34);
  clip-path:polygon(0 70%,20% 48%,37% 62%,55% 38%,78% 55%,100% 31%,100% 100%,0 100%);
}
.desert-graphic:after{
  content:"";
  position:absolute;
  inset:52% -8% 0 -8%;
  background:repeating-linear-gradient(168deg,rgba(255,231,160,.34) 0 3px,transparent 3px 32px),linear-gradient(180deg,#d99a58,#8b5140);
  clip-path:polygon(0 15%,100% 0,100% 100%,0 100%);
}
.district-graphic{
  background:
    radial-gradient(circle at 18% 16%,#e2a35e 0 8%,transparent 8.7%),
    linear-gradient(140deg,#162d34 0%,#25535e 52%,#b98245 100%);
}
.district-graphic:before{
  content:"";
  position:absolute;
  inset:28% 8% 18% 8%;
  background:
    linear-gradient(90deg,rgba(255,255,255,.24) 0 1px,transparent 1px 18%),
    linear-gradient(180deg,#c28a52 0 18%,#28434b 18% 100%);
  clip-path:polygon(0 100%,0 42%,14% 42%,14% 30%,28% 30%,28% 48%,43% 48%,43% 24%,58% 24%,58% 44%,73% 44%,73% 34%,88% 34%,88% 52%,100% 52%,100% 100%);
  opacity:.9;
}
.district-graphic:after{
  content:"";
  position:absolute;
  left:-5%;right:-5%;bottom:0;height:34%;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 2px,transparent 2px 34px),linear-gradient(180deg,#293f45,#11262c);
}
@media (max-width:980px){
  .destination-range{grid-template-columns:repeat(2,minmax(0,1fr));}
  .range-card{min-height:260px;}
}
@media (max-width:640px){
  .destination-range{grid-template-columns:1fr;margin-bottom:76px;}
  .range-card{min-height:230px;}
}

/* Round 6: destination-type hover reveals: day-to-night with visitor-driver statements */
.range-card{
  isolation:isolate;
  transform-style:preserve-3d;
  transition:transform .45s ease, box-shadow .45s ease, border-color .45s ease;
  outline:none;
}
.range-card:hover,
.range-card:focus-visible{
  transform:translateY(-8px) rotateX(1.5deg);
  box-shadow:0 30px 90px rgba(18,38,44,.22);
  border-color:rgba(226,163,94,.35);
}
.range-card .range-scene{
  transition:filter .55s ease, transform .65s ease, opacity .55s ease;
}
.range-card:hover .range-scene,
.range-card:focus-visible .range-scene{
  filter:brightness(.48) saturate(.78) hue-rotate(8deg);
  transform:scale(1.045);
}
.range-card:after{
  z-index:1;
  transition:background .55s ease, opacity .55s ease;
}
.range-card:hover:after,
.range-card:focus-visible:after{
  background:
    linear-gradient(0deg,rgba(6,21,27,.88),rgba(6,21,27,.36) 55%,rgba(6,21,27,.72)),
    radial-gradient(circle at 78% 18%,rgba(236,215,157,.42),transparent 18%);
}
.night-sky{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  pointer-events:none;
  transition:opacity .55s ease;
  background:
    radial-gradient(circle at 77% 18%,#f0d99b 0 6%,transparent 6.5%),
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.72) 0 1px,transparent 1.6px),
    radial-gradient(circle at 28% 34%,rgba(255,255,255,.55) 0 1px,transparent 1.5px),
    radial-gradient(circle at 43% 18%,rgba(255,255,255,.65) 0 1px,transparent 1.4px),
    radial-gradient(circle at 62% 32%,rgba(255,255,255,.48) 0 1px,transparent 1.5px),
    linear-gradient(180deg,rgba(5,18,25,.28),rgba(5,18,25,.05));
}
.range-card:hover .night-sky,
.range-card:focus-visible .night-sky{
  opacity:1;
}
.range-copy{
  position:absolute;
  left:22px;
  right:22px;
  bottom:20px;
  z-index:3;
  color:#fff;
  transform:translateY(0);
  transition:transform .45s ease;
}
.range-copy span,
.range-card span{
  position:static;
  display:block;
  left:auto;
  bottom:auto;
  z-index:auto;
  font-size:clamp(1.8rem,2.6vw,2.9rem);
  font-weight:850;
  letter-spacing:.005em;
  line-height:.95;
  text-shadow:0 8px 26px rgba(0,0,0,.22);
}
.range-copy p{
  max-width:92%;
  margin:14px 0 0;
  color:rgba(255,255,255,.82);
  font-weight:750;
  font-size:.98rem;
  line-height:1.28;
  letter-spacing:-.015em;
  opacity:0;
  max-height:0;
  overflow:hidden;
  transform:translateY(12px);
  transition:opacity .42s ease, transform .42s ease, max-height .42s ease;
}
.range-card:hover .range-copy,
.range-card:focus-visible .range-copy{
  transform:translateY(-4px);
}
.range-card:hover .range-copy p,
.range-card:focus-visible .range-copy p{
  opacity:1;
  max-height:130px;
  transform:translateY(0);
}
@media (hover:none){
  .range-copy p{opacity:1;max-height:130px;transform:none;}
  .range-card .night-sky{opacity:.35;}
}

/* Round 7: bento destination range + sitewide card hover polish */
.destination-range{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:170px;
  align-items:stretch;
  gap:18px;
}
.range-card{min-height:0;height:auto;}
.range-card.coast{grid-column:span 2;grid-row:span 2;}
.range-card.vineyard{grid-column:span 2;grid-row:span 1;}
.range-card.metro{grid-column:span 2;grid-row:span 2;}
.range-card.mountain{grid-column:span 2;grid-row:span 1;}
.range-card.lake{grid-column:span 1;grid-row:span 1;}
.range-card.redwood{grid-column:span 1;grid-row:span 1;}
.range-card.desert{grid-column:span 2;grid-row:span 1;}
.range-card.district{grid-column:span 2;grid-row:span 1;}
.range-card.lake .range-copy span,
.range-card.redwood .range-copy span{
  font-size:clamp(1.45rem,2vw,2.15rem);
}
.range-card.lake .range-copy p,
.range-card.redwood .range-copy p{
  font-size:.85rem;
  line-height:1.22;
}
.range-card.vineyard .range-copy p,
.range-card.mountain .range-copy p,
.range-card.desert .range-copy p,
.range-card.district .range-copy p{
  max-width:72%;
}
.range-card.coast .range-copy p,
.range-card.metro .range-copy p{
  max-width:86%;
}
.range-card:hover,
.range-card:focus-visible{
  transform:translateY(-8px) scale(1.01);
}

/* A shared interaction language for cards across the page */
.audience-grid article,
.services-grid article,
.market-card,
.metric,
.steps article,
.hero-card,
.contact-form{
  position:relative;
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.audience-grid article::after,
.services-grid article::after,
.market-card::after,
.metric::after,
.steps article::after,
.hero-card::after,
.contact-form::after{
  content:"";
  position:absolute;
  inset:-45% -35% auto auto;
  width:170px;
  height:170px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(226,163,94,.24),rgba(226,163,94,0) 68%);
  opacity:0;
  transform:translate(24px,-24px) scale(.72);
  transition:opacity .32s ease, transform .32s ease;
  pointer-events:none;
}
.audience-grid article:hover,
.services-grid article:hover,
.market-card:hover,
.metric:hover,
.steps article:hover,
.hero-card:hover,
.contact-form:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 80px rgba(18,38,44,.14);
  border-color:rgba(185,130,69,.34);
}
.audience-grid article:hover::after,
.services-grid article:hover::after,
.market-card:hover::after,
.metric:hover::after,
.steps article:hover::after,
.hero-card:hover::after,
.contact-form:hover::after{
  opacity:1;
  transform:translate(0,0) scale(1);
}
.audience-grid article:hover span,
.services-grid article:hover .icon,
.market-card:hover span,
.steps article:hover span{
  transform:scale(1.04);
}
.audience-grid span,
.services-grid .icon,
.market-card span,
.steps span{
  transition:transform .28s ease, background .28s ease, color .28s ease;
}
.services-grid article:hover .icon{
  background:var(--gold);
  color:#fff;
}
.market-card:hover{
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
}
.market-card.featured:hover{
  background:linear-gradient(135deg,rgba(185,130,69,.22),rgba(255,255,255,.05));
}
.metric:hover{
  background:rgba(255,255,255,.18);
}
.metric:hover strong{
  letter-spacing:-.035em;
}
.metric strong{
  transition:letter-spacing .28s ease, transform .28s ease;
}
.metric:hover strong{transform:translateX(2px);}
.proof-image img{
  transition:transform .45s ease, filter .45s ease;
}
.proof-image:hover img{
  transform:scale(1.025);
  filter:saturate(1.04) contrast(1.04);
}
.button{position:relative;overflow:hidden;}
.button::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 0 35%,rgba(255,255,255,.32) 48%,transparent 61%);
  transform:translateX(-120%);
  transition:transform .55s ease;
  pointer-events:none;
}
.button:hover::after{transform:translateX(120%);}

@media (max-width:1100px){
  .destination-range{
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-rows:165px;
  }
  .range-card.coast,.range-card.metro{grid-column:span 2;grid-row:span 2;}
  .range-card.vineyard,.range-card.mountain,.range-card.desert,.range-card.district{grid-column:span 2;grid-row:span 1;}
  .range-card.lake,.range-card.redwood{grid-column:span 2;grid-row:span 1;}
}
@media (max-width:640px){
  .destination-range{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
  }
  .range-card.coast,.range-card.vineyard,.range-card.mountain,.range-card.lake,.range-card.redwood,.range-card.desert,.range-card.metro,.range-card.district{
    grid-column:auto;
    grid-row:auto;
    min-height:250px;
  }
  .range-card.vineyard .range-copy p,
  .range-card.mountain .range-copy p,
  .range-card.desert .range-copy p,
  .range-card.district .range-copy p,
  .range-card.coast .range-copy p,
  .range-card.metro .range-copy p{
    max-width:92%;
  }
}

/* Round 8: return destination range to a balanced 4 x 2 grid, keeping hover states */
.destination-range{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:auto;
  gap:18px;
  align-items:stretch;
}
.range-card,
.range-card.coast,
.range-card.vineyard,
.range-card.mountain,
.range-card.lake,
.range-card.redwood,
.range-card.desert,
.range-card.metro,
.range-card.district{
  grid-column:auto;
  grid-row:auto;
  min-height:320px;
  height:auto;
}
.range-card .range-copy span,
.range-card.lake .range-copy span,
.range-card.redwood .range-copy span{
  font-size:clamp(1.45rem,2.05vw,2.35rem);
  line-height:1;
  letter-spacing:-.005em;
}
.range-card .range-copy p,
.range-card.coast .range-copy p,
.range-card.vineyard .range-copy p,
.range-card.mountain .range-copy p,
.range-card.lake .range-copy p,
.range-card.redwood .range-copy p,
.range-card.desert .range-copy p,
.range-card.metro .range-copy p,
.range-card.district .range-copy p{
  max-width:92%;
  font-size:.95rem;
  line-height:1.28;
}

@media (max-width:1100px){
  .destination-range{grid-template-columns:repeat(2,minmax(0,1fr));}
  .range-card,
  .range-card.coast,
  .range-card.vineyard,
  .range-card.mountain,
  .range-card.lake,
  .range-card.redwood,
  .range-card.desert,
  .range-card.metro,
  .range-card.district{
    grid-column:auto;
    grid-row:auto;
    min-height:290px;
  }
}
@media (max-width:640px){
  .destination-range{grid-template-columns:1fr;}
  .range-card,
  .range-card.coast,
  .range-card.vineyard,
  .range-card.mountain,
  .range-card.lake,
  .range-card.redwood,
  .range-card.desert,
  .range-card.metro,
  .range-card.district{
    min-height:250px;
  }
}

/* Header brand refinement */
.brand{gap:12px;letter-spacing:0}
.brand-mark{
  width:42px;
  height:42px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}
.brand-text{
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  letter-spacing:0;
  line-height:1;
}
.brand-name-primary{
  font-weight:900;
  letter-spacing:-.025em;
}
.brand-name-secondary{
  font-weight:520;
  letter-spacing:.045em;
  color:rgba(18,38,44,.82);
}
.footer-brand .brand-name-secondary{color:rgba(255,255,255,.72)}
@media (max-width: 640px){
  .brand-mark{width:38px;height:38px;font-size:.66rem}
  .brand-text{gap:4px}
  .brand-name-secondary{letter-spacing:.025em}
}
.contact-form .form-submit-button {
  appearance: none;
  border: 0;
  background: #10262c;
  color: #ffffff;
  border-radius: 999px;
  padding: 16px 26px;
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 18px 45px rgba(16, 38, 44, 0.18);
}

.contact-form .form-submit-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 60px rgba(16, 38, 44, 0.24);
}

.contact-form .form-submit-button:disabled {
  opacity: 0.75;
  cursor: not-allowed;
  transform: none;
}

.form-note-success {
  color: #0f7a56;
  font-weight: 700;
}

.form-note-error {
  color: #9b2c2c;
  font-weight: 700;
}
