/* =========================================================
   ROGUE RIVER SECURITIES LLC — Brand Stylesheet v2
   Palette: Deep Forest Green + Gold + Ivory
   Type: Fraunces (display) / Work Sans (body)
   ========================================================= */

:root{
  --green-deepest:#0e1c14;
  --green-deep:#15281e;
  --green-primary:#1b3527;
  --green-mid:#254631;
  --green-mid2:#2d5439;
  --green-line:#3c6448;
  --green-tint: rgba(255,255,255,.028);
  --green-tint2: rgba(255,255,255,.07);
  --gold:#c6a458;
  --gold-soft:#d8bd85;
  --gold-bright:#e8cd8f;
  --gold-deep:#9c7f3d;
  --gold-line: linear-gradient(90deg, rgba(198,164,88,0) 0%, #c6a458 50%, rgba(198,164,88,0) 100%);
  --cream:#f8f2e3;
  --ivory:#fbf9f3;
  --ink:#e9efe9;
  --ink-soft:#c1cec3;
  --ink-faint:#8ea190;
  --white:#ffffff;
  --border-soft: rgba(255,255,255,.10);
  --border-line: rgba(255,255,255,.14);
  --glass-bg: rgba(255,255,255,.045);
  --glass-bg-strong: rgba(255,255,255,.065);

  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem;
  --sp-6:2rem; --sp-7:2.75rem; --sp-8:3.5rem; --sp-9:5rem; --sp-10:7rem;

  --radius-sm:3px; --radius-md:8px; --radius-lg:12px; --radius-xl:18px;

  --shadow-1: 0 1px 2px rgba(0,0,0,.22), 0 1px 1px rgba(0,0,0,.14);
  --shadow-2: 0 10px 26px -10px rgba(0,0,0,.5), 0 2px 8px -2px rgba(0,0,0,.3);
  --shadow-3: 0 30px 70px -24px rgba(0,0,0,.65), 0 10px 28px -12px rgba(0,0,0,.4);
  --shadow-gold: 0 10px 34px -10px rgba(198,164,88,.5);
  --facet: inset 0 1px 0 rgba(255,255,255,.16), inset 1px 0 0 rgba(255,255,255,.06), inset 0 0 0 1px rgba(255,255,255,.03);

  --max: 1200px;
  --ease: cubic-bezier(.22,.9,.32,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Work Sans', Arial, sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1300px 820px at 12% -8%, rgba(198,164,88,.11), transparent 58%),
    radial-gradient(1100px 760px at 88% 8%, rgba(90,158,118,.11), transparent 55%),
    radial-gradient(900px 700px at 50% 100%, rgba(198,164,88,.06), transparent 60%),
    linear-gradient(180deg, #0e1c14 0%, #0a1710 45%, #08130d 100%);
  background-attachment:fixed;
  min-height:100vh;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  position:relative;
  isolation:isolate;
}
h1,h2,h3,h4{
  font-family:'Fraunces', Georgia, serif;
  font-weight:560;
  color:var(--ivory);
  line-height:1.1;
  margin:0 0 .5em;
  letter-spacing:-.01em;
}
h1{font-size:clamp(2.5rem,4.6vw,3.9rem); font-weight:560; letter-spacing:-.02em;}
h2{font-size:clamp(1.85rem,3.1vw,2.6rem);}
h3{font-size:1.28rem; font-weight:600;}
h4{font-size:1.02rem; font-weight:600;}
p{margin:0 0 1em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{margin:0; padding:0;}
li{list-style:none;}
svg{flex:none; display:block;}
.container{max-width:var(--max); margin:0 auto; padding:0 32px;}
@media (max-width:640px){.container{padding:0 20px;}}

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  letter-spacing:2.4px;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--gold);
  margin-bottom:16px;
}
.eyebrow::before{content:""; width:26px; height:1px; background:var(--gold);}
.eyebrow.on-dark{color:var(--gold-bright);}
.eyebrow.on-dark::before{background:var(--gold-bright);}
.eyebrow.center{justify-content:center;}

.lede{font-size:1.14rem; color:var(--ink-soft); max-width:640px; line-height:1.7;}
.on-dark .lede, .lede.on-dark{color:#c9d6cc;}
.text-center{text-align:center;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:9px;
  padding:16px 28px;
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  font-size:.9rem;
  letter-spacing:.3px;
  border-radius:var(--radius-sm);
  border:1px solid transparent;
  cursor:pointer;
  position:relative; overflow:hidden;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .2s ease, color .2s ease, border-color .2s ease;
}
.btn::after{
  content:""; position:absolute; top:0; left:-70%; width:40%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.55), transparent);
  transform:skewX(-18deg); transition:left .7s var(--ease); pointer-events:none;
}
.btn:hover::after{left:130%;}
.btn svg{width:16px; height:16px; transition:transform .25s var(--ease); position:relative; z-index:1;}
.btn:hover svg{transform:translateX(3px);}
.btn-gold{background:var(--gold); color:var(--green-deepest); box-shadow:var(--shadow-1);}
.btn-gold:hover{background:var(--gold-bright); transform:translateY(-2px); box-shadow:var(--shadow-gold);}
.btn-outline{background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.35); color:var(--white); backdrop-filter:blur(6px);}
.btn-outline:hover{background:rgba(255,255,255,.09); border-color:var(--gold-bright); color:var(--gold-bright); transform:translateY(-2px);}
.btn-outline-dark{background:rgba(255,255,255,.03); border-color:var(--border-line); color:var(--white); backdrop-filter:blur(6px);}
.btn-outline-dark:hover{background:rgba(255,255,255,.09); color:var(--gold-bright); border-color:var(--gold-bright); transform:translateY(-2px); box-shadow:var(--shadow-2);}
.btn-block{width:100%; justify-content:center;}
.btn-sm{padding:11px 18px; font-size:.82rem;}

/* ---------- Dividers ---------- */
.gold-rule{height:1px; background:var(--gold-line); border:none; margin:0;}
.divider{
  display:flex; align-items:center; justify-content:center; gap:14px;
  padding:0; margin:0;
}
.divider .line{height:1px; flex:1; max-width:220px; background:var(--gold-line);}
.divider .dot{width:6px; height:6px; border-radius:50%; background:var(--gold); transform:rotate(45deg);}

/* ---------- Topographic backdrop ---------- */
.topo-bg{position:relative; isolation:isolate;}
.topo-bg::before{
  content:"";
  position:absolute; inset:0; z-index:-1;
  opacity:.1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700' viewBox='0 0 700 700'%3E%3Cg fill='none' stroke='%23c6a458' stroke-width='1'%3E%3Cpath d='M-20 130 C 120 65, 230 195, 340 120 S 600 45, 740 140'/%3E%3Cpath d='M-20 220 C 130 155, 240 270, 350 200 S 600 130, 740 230'/%3E%3Cpath d='M-20 310 C 140 250, 250 345, 360 285 S 600 220, 740 320'/%3E%3Cpath d='M-20 400 C 140 345, 260 430, 370 375 S 600 315, 740 410'/%3E%3Cpath d='M-20 490 C 150 440, 270 500, 380 450 S 600 400, 740 495'/%3E%3C/g%3E%3C/svg%3E");
  background-size:cover; background-position:center;
}
.topo-bg.faint::before{opacity:.05;}

/* ---------- Icon system ---------- */
.icon{width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
.icon-wrap{
  width:56px; height:56px; border-radius:var(--radius-md);
  display:flex; align-items:center; justify-content:center;
  background:var(--glass-bg-strong); color:var(--gold-bright);
  border:1px solid var(--border-soft); box-shadow:var(--facet);
  margin-bottom:20px; flex:none;
}
.icon-wrap.lg{width:64px; height:64px;}
.icon-wrap .icon{width:26px; height:26px;}
.icon-wrap.ghost{background:var(--glass-bg); color:var(--gold-bright);}
.icon-wrap.on-dark{background:rgba(255,255,255,.06); color:var(--gold-bright);}
.icon-circle{
  width:44px; height:44px; border-radius:50%; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:var(--gold); color:var(--green-deepest);
}
.icon-circle .icon{width:20px; height:20px; stroke-width:2;}
.icon-circle.on-dark{background:rgba(255,255,255,.1); color:var(--gold-bright); border:1px solid rgba(232,205,143,.3);}

/* ---------- Roofline motif (used sparingly: hero art, nav mark) ---------- */
.roof-clip{clip-path:polygon(0 26px, 26px 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);}

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(14,28,20,.92);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(198,164,88,.18);
}
.nav-wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 32px;
  max-width:var(--max); margin:0 auto;
}
.brand{display:flex; align-items:center; gap:13px;}
.brand-mark{
  height:50px; width:50px; object-fit:contain; flex:none;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));
}
.brand-text{display:flex; flex-direction:column; line-height:1.2;}
.brand-text .name{
  font-family:'Fraunces',serif; color:var(--ivory); font-size:1.14rem; letter-spacing:.2px; font-weight:560;
}
.brand-text .sub{
  font-family:'Work Sans',sans-serif; color:var(--gold-bright); font-size:.62rem;
  letter-spacing:2.6px; text-transform:uppercase;
}
.nav-links{display:flex; align-items:center; gap:8px;}
.nav-links a:not(.btn){
  color:#cbd8ce; font-size:.87rem; font-weight:500; letter-spacing:.2px;
  padding:9px 14px; position:relative; border-radius:var(--radius-sm);
  transition:color .2s ease, background .2s ease;
}
.nav-links a:not(.btn):hover{color:var(--white); background:rgba(255,255,255,.06);}
.nav-links a.active:not(.btn){color:var(--gold-bright);}
.nav-cta{margin-left:10px;}
.nav-toggle{display:none; background:none; border:none; color:var(--ivory); font-size:1.5rem; cursor:pointer; padding:4px;}

@media (max-width:920px){
  .nav-links{
    position:absolute; top:100%; left:0; right:0;
    background:var(--green-deepest); flex-direction:column; align-items:stretch;
    padding:10px 20px 26px; gap:4px; border-bottom:1px solid rgba(198,164,88,.2);
    display:none;
  }
  .nav-links.open{display:flex;}
  .nav-links a:not(.btn){padding:12px 8px;}
  .nav-toggle{display:block;}
  .nav-cta{margin-left:0; margin-top:10px;}
}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(1100px 520px at 82% -10%, rgba(198,164,88,.16), transparent 60%),
    linear-gradient(165deg,var(--green-deepest) 0%, var(--green-primary) 55%, var(--green-mid2) 100%);
  color:var(--white);
  padding:104px 0 96px;
  position:relative;
  overflow:hidden;
}
.hero-inner{
  display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center;
}
.hero h1{color:var(--white); margin-bottom:.42em;}
.hero h1 em{font-style:normal; color:var(--gold-bright);}
.hero-actions{display:flex; gap:16px; margin-top:34px; flex-wrap:wrap;}
.hero-stats{
  display:flex; gap:0; margin-top:52px; flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.14); padding-top:28px;
}
.hero-stats .stat{padding-right:38px; margin-right:38px; border-right:1px solid rgba(255,255,255,.14);}
.hero-stats .stat:last-child{border-right:none; margin-right:0; padding-right:0;}
.hero-stats .stat b{
  display:block; font-family:'Fraunces',serif; font-size:1.85rem; color:var(--gold-bright); font-weight:560;
}
.hero-stats .stat span{font-size:.74rem; letter-spacing:.6px; color:#b9c9bd; text-transform:uppercase;}
.hero-art{
  background:linear-gradient(160deg, rgba(255,255,255,.06) 0%, rgba(198,164,88,.05) 100%);
  backdrop-filter:blur(24px) saturate(150%); -webkit-backdrop-filter:blur(24px) saturate(150%);
  position:relative; padding:48px 40px; overflow:hidden;
  clip-path:polygon(0 46px, 46px 0, calc(100% - 46px) 0, 100% 46px, 100% 100%, 0 100%);
  border:1px solid rgba(198,164,88,.35);
  box-shadow:var(--facet), var(--shadow-3);
}
.hero-art::after{
  content:""; position:absolute; top:0; left:-60%; width:35%; height:160%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.12), transparent);
  transform:skewX(-18deg) rotate(0deg); animation:heroShine 6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes heroShine{
  0%,60%,100%{left:-60%;}
  30%{left:130%;}
}
.hero-art img{margin:0 auto; max-width:200px; filter:drop-shadow(0 12px 24px rgba(0,0,0,.3));}
.hero-art .hero-art-cap{text-align:center; color:var(--gold-bright); font-family:'Fraunces',serif; margin-top:22px; font-size:1.1rem;}
.hero-art .hero-art-sub{text-align:center; color:#b9c9bd; font-size:.76rem; letter-spacing:1.6px; text-transform:uppercase; margin-top:5px;}
.hero-art .hero-art-line{height:1px; background:rgba(198,164,88,.3); margin:22px auto; width:60px;}

@media (max-width:920px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-art{max-width:360px; margin:0 auto;}
}

/* ---------- Sections ---------- */
section{padding:100px 0;}
.section-tight{padding:70px 0;}
.section-head{max-width:700px; margin:0 auto 56px;}
.section-head.center{text-align:center; margin-left:auto; margin-right:auto;}
.bg-cream{background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0) 60%);}
.bg-ivory{background:transparent;}
.bg-dark{background:rgba(0,0,0,.2); color:var(--white);}
.bg-dark h2, .bg-dark h3, .bg-dark h4{color:var(--white);}
.bg-dark .lede{color:#c9d6cc;}
.bg-primary{background:rgba(255,255,255,.02); color:var(--white);}
.bg-primary h2, .bg-primary h3, .bg-primary h4{color:var(--white);}
.bg-primary .lede{color:#c9d6cc;}

/* ---------- Stat bar ---------- */
.stat-bar{
  background:rgba(0,0,0,.24); color:var(--white);
  backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft);
  display:grid; grid-template-columns:repeat(4,1fr);
}
.stat-bar .cell{
  padding:34px 28px; text-align:center;
  border-right:1px solid rgba(255,255,255,.1);
}
.stat-bar .cell:last-child{border-right:none;}
.stat-bar .cell b{display:block; font-family:'Fraunces',serif; font-size:2rem; color:var(--gold-bright); font-weight:560;}
.stat-bar .cell span{font-size:.72rem; letter-spacing:1px; text-transform:uppercase; color:#a9bcac;}
@media (max-width:760px){.stat-bar{grid-template-columns:repeat(2,1fr);} .stat-bar .cell:nth-child(2){border-right:none;}}

/* ---------- Service pillars ---------- */
.pillars{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border-soft); border:1px solid var(--border-soft);}
@media (max-width:1000px){.pillars{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.pillars{grid-template-columns:1fr;}}
.pillar{
  padding:38px 30px; background:var(--glass-bg);
  backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:var(--facet);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s ease;
  position:relative; overflow:hidden;
}
.pillar::after{
  content:""; position:absolute; top:0; left:-70%; width:35%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.08), transparent);
  transform:skewX(-18deg); transition:left .8s var(--ease); pointer-events:none;
}
.pillar:hover::after{left:130%;}
.pillar:hover{transform:translateY(-4px); background:var(--glass-bg-strong); box-shadow:var(--facet), var(--shadow-2); z-index:2;}
.pillar .num{
  font-family:'Fraunces',serif; color:var(--gold); font-size:.82rem; letter-spacing:2px; font-weight:600;
}
.pillar h3{margin-top:14px;}
.pillar p{color:var(--ink-soft); font-size:.95rem; margin-bottom:0;}
.pillar a.more{
  display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-size:.82rem; font-weight:600;
  color:var(--gold-bright);
}
.pillar a.more svg{width:14px; height:14px; transition:transform .2s ease;}
.pillar a.more:hover svg{transform:translateX(3px);}

/* ---------- Cards / grids ---------- */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:52px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media (max-width:900px){.grid-3{grid-template-columns:1fr;} .grid-2{grid-template-columns:1fr;} .grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.grid-4{grid-template-columns:1fr;}}

.card{
  background:var(--glass-bg); padding:36px 30px; box-shadow:var(--facet), var(--shadow-1);
  backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--border-soft); border-radius:var(--radius-lg);
  position:relative; overflow:hidden;
  transition:box-shadow .3s var(--ease), transform .3s var(--ease), background .3s ease, border-color .3s ease;
}
.card::after{
  content:""; position:absolute; top:0; left:-70%; width:35%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.09), transparent);
  transform:skewX(-18deg); transition:left .8s var(--ease); pointer-events:none;
}
.card:hover::after{left:130%;}
.card:hover{box-shadow:var(--facet), var(--shadow-2); transform:translateY(-3px); background:var(--glass-bg-strong); border-color:rgba(198,164,88,.3);}
.card h3{margin-bottom:10px;}
.card p{color:var(--ink-soft); font-size:.95rem; margin-bottom:0;}

.panel{
  background:var(--glass-bg-strong); padding:40px; box-shadow:var(--facet), var(--shadow-2);
  backdrop-filter:blur(22px) saturate(150%); -webkit-backdrop-filter:blur(22px) saturate(150%);
  border-radius:var(--radius-lg); border:1px solid var(--border-soft);
  position:relative; overflow:hidden;
}
.panel.on-dark{background:rgba(232,205,143,.05); border-color:rgba(232,205,143,.25); box-shadow:var(--facet), var(--shadow-3);}

/* ---------- Steps / timeline ---------- */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative;}
@media (max-width:900px){.steps{grid-template-columns:1fr; gap:36px;}}
.step{position:relative; padding:0 26px 0 0;}
.step:not(:last-child){border-right:1px solid var(--border-line);}
@media (max-width:900px){.step:not(:last-child){border-right:none; border-bottom:1px solid var(--border-line); padding-bottom:32px;}}
.step .step-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  background:var(--gold); color:var(--green-deepest);
  font-family:'Fraunces',serif; font-weight:600; font-size:.95rem;
  margin-bottom:18px;
}
.bg-primary .step:not(:last-child), .bg-dark .step:not(:last-child){border-color:rgba(255,255,255,.16);}
.step h3{margin-bottom:8px; font-size:1.12rem;}
.step p{color:var(--ink-soft); font-size:.94rem; margin-bottom:0;}
.bg-dark .step p, .bg-primary .step p{color:#c2d1c5;}

/* ---------- Testimonials ---------- */
.testimonial{
  background:var(--glass-bg); padding:32px 28px; box-shadow:var(--facet), var(--shadow-1);
  backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--border-soft); border-radius:var(--radius-lg);
  transition:box-shadow .3s var(--ease), transform .3s var(--ease), background .3s ease;
}
.testimonial:hover{box-shadow:var(--facet), var(--shadow-2); transform:translateY(-3px); background:var(--glass-bg-strong);}
.testimonial .stars{display:flex; gap:3px; color:var(--gold); margin-bottom:16px;}
.testimonial .stars .icon{width:15px; height:15px; stroke:none; fill:currentColor;}
.testimonial p{font-style:italic; color:var(--ink-soft); font-family:'Fraunces',serif; font-size:1.04rem; line-height:1.6;}
.testimonial .who{font-weight:600; color:var(--white); font-style:normal; margin-top:16px; font-family:'Work Sans',sans-serif;}
.testimonial .role{font-size:.76rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:1px;}
.sample-note{
  text-align:center; font-size:.82rem; color:var(--ink-soft); margin-top:40px;
  background:var(--glass-bg); border:1px solid var(--border-soft); backdrop-filter:blur(10px);
  padding:16px 20px; border-radius:var(--radius-md);
}

/* ---------- FAQ ---------- */
.faq{max-width:820px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border-line); padding:24px 0;}
.faq-item summary{
  cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px;
  font-family:'Fraunces',serif; font-size:1.06rem; color:var(--ivory); font-weight:560;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{
  flex:none; width:26px; height:26px; border-radius:50%; border:1px solid var(--border-line);
  display:flex; align-items:center; justify-content:center; position:relative; transition:transform .25s var(--ease);
}
.faq-item summary .plus::before, .faq-item summary .plus::after{
  content:""; position:absolute; background:var(--gold-bright);
}
.faq-item summary .plus::before{width:10px; height:1.4px;}
.faq-item summary .plus::after{width:1.4px; height:10px;}
.faq-item[open] summary .plus{transform:rotate(45deg); background:var(--gold); border-color:var(--gold);}
.faq-item[open] summary .plus::before, .faq-item[open] summary .plus::after{background:var(--green-deepest);}
.faq-item p{color:var(--ink-soft); margin:14px 0 0; font-size:.96rem; max-width:680px;}

/* ---------- CTA band ---------- */
.cta-band{
  background:
    radial-gradient(900px 420px at 15% 0%, rgba(198,164,88,.14), transparent 60%),
    rgba(0,0,0,.22);
  backdrop-filter:blur(10px);
  color:var(--white); text-align:center;
  padding:88px 0; position:relative;
}
.cta-band h2{color:var(--white); margin-bottom:16px;}
.cta-band p{color:#c2d1c5; max-width:580px; margin:0 auto 34px;}
.cta-band .btn-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* ---------- Forms ---------- */
.form-wrap{
  background:var(--glass-bg-strong); padding:42px; box-shadow:var(--facet), var(--shadow-3);
  backdrop-filter:blur(26px) saturate(150%); -webkit-backdrop-filter:blur(26px) saturate(150%);
  border-radius:var(--radius-lg); border:1px solid var(--border-soft);
}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media (max-width:640px){.form-row{grid-template-columns:1fr;}}
.field{margin-bottom:20px;}
.field label{display:block; font-size:.78rem; font-weight:600; letter-spacing:.5px; margin-bottom:8px; color:var(--gold-bright); text-transform:uppercase;}
.field input, .field textarea, .field select{
  width:100%; padding:13px 15px; border:1px solid var(--border-line); border-radius:var(--radius-sm);
  font-family:'Work Sans',sans-serif; font-size:.95rem; background:rgba(255,255,255,.045); color:var(--ivory);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.field input::placeholder, .field textarea::placeholder{color:var(--ink-faint);}
.field select option{background:#12261b; color:var(--ivory);}
.field input:focus, .field textarea:focus, .field select:focus{
  outline:none; border-color:var(--gold); background:rgba(255,255,255,.07);
  box-shadow:0 0 0 3px rgba(198,164,88,.18);
}
.field.checkbox{display:flex; align-items:flex-start; gap:10px;}
.field.checkbox input{width:auto; margin-top:4px;}
.field.checkbox label{font-size:.82rem; font-weight:400; color:var(--ink-soft); text-transform:none;}
.form-note{font-size:.78rem; color:var(--ink-faint); margin-top:12px;}
.form-success{
  display:none; background:rgba(232,205,143,.08); border-left:3px solid var(--gold); border-radius:0 var(--radius-md) var(--radius-md) 0;
  padding:18px 20px; font-size:.9rem; margin-top:20px; color:var(--gold-bright);
}

/* ---------- Contact info blocks ---------- */
.info-block{display:flex; gap:18px; margin-bottom:28px;}
.info-block .icon-circle{margin-top:2px;}
.info-block h4{margin:0 0 4px; font-family:'Fraunces',serif; color:var(--white); font-size:1.02rem;}
.info-block p{margin:0; color:var(--ink-soft); font-size:.93rem;}

/* ---------- Tags / badges ---------- */
.tag{
  display:inline-flex; align-items:center; background:var(--glass-bg-strong); color:var(--gold-bright);
  border:1px solid var(--border-soft);
  font-size:.72rem; font-weight:600; letter-spacing:.6px; text-transform:uppercase;
  padding:7px 14px; margin:0 8px 8px 0; border-radius:20px;
}
.tag.on-dark{background:rgba(255,255,255,.06); color:var(--gold-bright);}

/* ---------- Footer ---------- */
.site-footer{background:var(--green-deepest); color:#a9bcac; padding:76px 0 30px;}
.footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:44px; margin-bottom:48px;}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:var(--gold-bright); font-family:'Work Sans',sans-serif; font-size:.74rem; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:20px; font-weight:700;}
.footer-grid a{display:block; color:#a9bcac; font-size:.89rem; margin-bottom:12px; transition:color .2s ease;}
.footer-grid a:hover{color:var(--gold-bright);}
.footer-brand{display:flex; align-items:center; gap:13px; margin-bottom:18px;}
.footer-brand img{height:42px;}
.footer-brand .name{font-family:'Fraunces',serif; color:var(--ivory); font-size:1.08rem;}
.footer-legal{
  border-top:1px solid rgba(198,164,88,.16); padding-top:26px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  font-size:.78rem; color:#7c8f7f;
}
.footer-legal a{color:#7c8f7f;}
.footer-legal a:hover{color:var(--gold-bright);}

/* ---------- Utility ---------- */
.legal-body{max-width:760px; margin:0 auto;}
.legal-body h2{margin-top:1.7em; font-size:1.35rem;}
.legal-body p, .legal-body li{color:var(--ink-soft); font-size:.98rem;}
.legal-body li{list-style:disc; margin-left:1.3em; margin-bottom:.5em;}
.placeholder{color:var(--gold-bright); font-weight:600;}
.checklist{margin-top:22px;}
.checklist li{display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; color:var(--ink-soft); font-size:.96rem;}
.checklist .icon-circle{width:26px; height:26px; margin-top:1px;}
.checklist .icon-circle .icon{width:13px; height:13px;}
.reveal{opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in-view{opacity:1; transform:translateY(0);}
.reveal-left{opacity:0; transform:translateX(-26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal-left.in-view{opacity:1; transform:translateX(0);}
.reveal-right{opacity:0; transform:translateX(26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal-right.in-view{opacity:1; transform:translateX(0);}
.reveal-scale{opacity:0; transform:scale(.94); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal-scale.in-view{opacity:1; transform:scale(1);}
.stagger>*{transition-delay:calc(var(--i,0) * 90ms);}
.stagger>*:nth-child(1){--i:0;} .stagger>*:nth-child(2){--i:1;} .stagger>*:nth-child(3){--i:2;}
.stagger>*:nth-child(4){--i:3;} .stagger>*:nth-child(5){--i:4;} .stagger>*:nth-child(6){--i:5;}
.stagger>*:nth-child(7){--i:6;} .stagger>*:nth-child(8){--i:7;}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed; top:0; left:0; right:0; height:3px; z-index:300; background:rgba(255,255,255,.05); pointer-events:none;}
.scroll-progress-bar{
  height:100%; width:0%;
  background:linear-gradient(90deg, var(--gold-deep) 0%, var(--gold) 50%, var(--gold-bright) 100%);
  box-shadow:0 0 14px rgba(198,164,88,.55);
}

/* ---------- Header scrolled state ---------- */
.site-header{transition:background .3s ease, box-shadow .3s ease;}
.site-header.scrolled{background:rgba(9,18,13,.97); box-shadow:0 14px 34px -18px rgba(0,0,0,.6);}

/* ---------- Glow orbs (ambient background light, no particles) ---------- */
.glow-field{position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none;}
.glow-orb{
  position:absolute; border-radius:50%; filter:blur(64px);
  opacity:.5; will-change:transform, opacity;
  animation:orbDrift 14s ease-in-out infinite;
}
.glow-orb.gold{background:radial-gradient(circle, rgba(232,205,143,.55) 0%, rgba(198,164,88,0) 72%);}
.glow-orb.green{background:radial-gradient(circle, rgba(90,158,118,.5) 0%, rgba(61,120,84,0) 72%);}
.glow-orb.lg{width:620px; height:620px;}
.glow-orb.md{width:400px; height:400px;}
.glow-orb.sm{width:240px; height:240px;}
@keyframes orbDrift{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(0,-22px,0) scale(1.06);}
}
[data-parallax]{will-change:transform;}

/* content sits above glow layers */
.hero > .container, .cta-band > .container, .bg-primary > .container, .bg-dark > .container{position:relative; z-index:1;}

/* ---------- Cursor-reactive glow (per-section) ---------- */
.cursor-glow{
  position:absolute; width:440px; height:440px; border-radius:50%; left:0; top:0;
  background:radial-gradient(circle, rgba(198,164,88,.22) 0%, rgba(198,164,88,0) 70%);
  transform:translate(-50%,-50%); pointer-events:none; opacity:0; transition:opacity .5s ease; z-index:0;
}
.cursor-glow.active{opacity:1;}

/* ---------- Global ambient underglow (fixed, page-wide) ---------- */
.ambient-glow{position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none;}
.ambient-glow .glow-orb{position:absolute; filter:blur(110px); opacity:.4;}
.ambient-glow .glow-orb.a{width:640px; height:640px; top:-14%; left:-10%; animation:orbDrift 18s ease-in-out infinite;}
.ambient-glow .glow-orb.b{width:520px; height:520px; top:30%; right:-12%; animation:orbDrift 22s ease-in-out infinite reverse; animation-delay:-6s;}
.ambient-glow .glow-orb.c{width:560px; height:560px; bottom:-18%; left:20%; animation:orbDrift 26s ease-in-out infinite; animation-delay:-11s;}

/* ---------- Global mouse-tracking glow (fixed, follows cursor across page) ---------- */
.mouse-glow{
  position:fixed; top:0; left:0; width:620px; height:620px; border-radius:50%;
  background:radial-gradient(circle, rgba(198,164,88,.14) 0%, rgba(90,158,118,.05) 45%, transparent 72%);
  transform:translate(-50%,-50%); pointer-events:none; z-index:-1; opacity:0;
  transition:opacity .7s ease; will-change:transform;
}
.mouse-glow.active{opacity:1;}

/* ---------- Noise texture ---------- */
.noise-layer{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Tabular numerals for animated counters ---------- */
.hero-stats .stat b, .stat-bar .cell b{font-variant-numeric:tabular-nums;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .glow-orb, .hero-art::after{animation:none;}
  .reveal,.reveal-left,.reveal-right,.reveal-scale{transition:none; opacity:1; transform:none;}
  .mouse-glow, .cursor-glow{display:none;}
}
