/* ELEVÉ — dedicated package landing page (light, square, design-system) */
:root{
  --green:#153b3c; --green-600:#1d5152; --gold:#c5a880; --gold-light:#d6be9a;
  --ink:#0d0d0d; --muted:#515856; --line:rgba(13,13,13,.12);
  --olive:#f7f9f4; --ivory:#fbfaf6; --surface:#ffffff;
  --font:"Roboto","Helvetica Neue",Arial,sans-serif;
  --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.pp,.pp *{border-radius:0}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}

/* Top bar */
.topbar{
  position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(12px + var(--safe-t)) 18px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.8));
  -webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);
  border-bottom:1px solid var(--line);
}
.topbar__back{color:var(--muted);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.3px}
.topbar__back:hover{color:var(--ink)}
.topbar__logo{display:block;height:24px;width:auto}
.topbar__call{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);color:var(--green);background:var(--surface)}
.topbar__call svg{width:17px;height:17px}

/* Hero */
.hero{position:relative;min-height:74vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-2;background-image:var(--img);background-size:cover;background-position:center;transform:scale(1.04);animation:heroZoom 9s ease-out forwards}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,17,17,.5) 0%,rgba(6,17,17,.5) 38%,rgba(6,17,17,.78) 70%,rgba(6,17,17,.95) 100%)}
.hero__inner{width:100%;max-width:780px;margin:0 auto;padding:0 22px 40px}
.hero__badge{display:inline-block;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.4);background:rgba(6,17,17,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:5px 11px;margin-bottom:16px}
.hero__title{font-family:"Jost","Helvetica Neue",Arial,sans-serif;font-size:clamp(34px,8vw,56px);font-weight:200;line-height:1.05;letter-spacing:-.5px;margin:0 0 10px}
.hero__tag{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--gold);margin:0 0 22px}
.hero__cta{margin-bottom:10px}
.hero__note{font-size:12.5px;color:rgba(255,255,255,.72)}
.hero__note b{color:#fff;font-weight:600}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;cursor:pointer;font-family:inherit;font-weight:600;letter-spacing:.2px;text-decoration:none;transition:background .2s ease,box-shadow .2s ease,transform .12s ease}
.btn--primary{background:var(--green);color:#fff;min-height:54px;padding:0 30px;font-size:16px;box-shadow:0 10px 26px rgba(21,59,60,.32)}
.btn--primary:hover{background:var(--green-600);box-shadow:0 14px 32px rgba(21,59,60,.42);transform:translateY(-1px)}
.btn--primary:active{transform:translateY(1px)}
.btn--block{width:100%}
.btn__arrow{font-size:18px;line-height:1}

/* Content */
.content{max-width:780px;margin:0 auto;padding:52px 22px 12px}
.eyebrow{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:600;color:var(--gold);margin:0 0 12px}
.lede{font-size:18px;line-height:1.62;color:#283431;margin:0 0 34px;font-weight:300}
.lede b{font-weight:600;color:var(--ink)}
.features{list-style:none;padding:0;margin:0 0 8px;display:grid;grid-template-columns:1fr 1fr;gap:14px 26px}
.features li{position:relative;padding-left:26px;font-size:15px;line-height:1.4;color:#2f3a38}
.features li::before{content:"";position:absolute;left:0;top:1px;width:16px;height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23153b3c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") no-repeat center/contain}

/* CTA band */
.cta-band{margin:48px auto 0;max-width:980px;padding:0 22px}
.cta-band__inner{
  background:radial-gradient(120% 120% at 50% 0%,rgba(21,59,60,.6),transparent 60%),var(--green);
  color:#fff;text-align:center;padding:48px 28px 52px;position:relative;
}
.cta-band__inner::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.cta-band h2{font-family:"Jost","Helvetica Neue",Arial,sans-serif;font-size:clamp(24px,5vw,32px);font-weight:200;margin:0 0 8px}
.cta-band p{margin:0 0 24px;color:rgba(255,255,255,.7);font-size:15px}
.cta-band .btn--primary{background:#fff;color:var(--green);box-shadow:0 12px 30px rgba(0,0,0,.3)}
.cta-band .btn--primary:hover{background:var(--gold);color:#06201f}

/* Footer */
.pp-foot{margin-top:48px;padding:26px 22px calc(26px + var(--safe-b));border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:12.5px}
.pp-foot .row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
.pp-foot a{color:var(--green);text-decoration:none;font-weight:500}
.pp-foot a:hover{color:var(--gold)}

/* Entrance */
@keyframes heroZoom{to{transform:scale(1)}}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero__badge,.hero__title,.hero__tag,.hero__cta,.hero__note{animation:rise .7s cubic-bezier(.22,1,.36,1) both}
.hero__title{animation-delay:.08s}
.hero__tag{animation-delay:.16s}
.hero__cta{animation-delay:.24s}
.hero__note{animation-delay:.32s}

/* keep wizard dialog clean */
#quote-modal{background:transparent;border:none;padding:0;outline:none;max-width:none;max-height:none;overflow:visible}

@media (max-width:560px){
  .features{grid-template-columns:1fr}
  .hero__cta{width:100%}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.hero__bg{transform:none}}

/* ── Luxury motion ──────────────────────────────────────────── */
/* Scroll reveals (only active once JS adds .reveal-on) */
.reveal-on .content .eyebrow,
.reveal-on .content .lede,
.reveal-on .cta-band__inner,
.reveal-on .pp-foot,
.reveal-on .features li {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1);
}
.content .eyebrow.is-in,
.content .lede.is-in,
.cta-band__inner.is-in,
.pp-foot.is-in,
.features.is-in li { opacity: 1; transform: none; }

/* staggered feature reveal */
.features.is-in li:nth-child(1){transition-delay:.05s}
.features.is-in li:nth-child(2){transition-delay:.12s}
.features.is-in li:nth-child(3){transition-delay:.19s}
.features.is-in li:nth-child(4){transition-delay:.26s}
.features.is-in li:nth-child(5){transition-delay:.33s}
.features.is-in li:nth-child(6){transition-delay:.40s}
.features li::before{transition:transform .4s cubic-bezier(.22,1,.36,1)}
.features.is-in li:hover::before{transform:scale(1.18)}

/* Topbar gentle drop-in */
.topbar{animation:rise .55s cubic-bezier(.22,1,.36,1) both}

/* Primary button — sheen sweep on hover */
.btn--primary{position:relative;overflow:hidden}
.btn--primary::after{
  content:"";position:absolute;top:0;left:-75%;width:45%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.30),transparent);
  transform:skewX(-18deg);transition:left .65s cubic-bezier(.22,1,.36,1);pointer-events:none;
}
.btn--primary:hover::after{left:135%}

/* Hero "Get a Quote" — gentle gold glow pulse to draw the eye */
@keyframes ctaGlow{
  0%,100%{box-shadow:0 10px 26px rgba(21,59,60,.32)}
  50%{box-shadow:0 12px 30px rgba(21,59,60,.36), 0 0 0 4px rgba(197,168,128,.20)}
}
.hero__cta{animation:rise .7s cubic-bezier(.22,1,.36,1) .24s both, ctaGlow 3.6s ease-in-out 1.8s infinite}

/* Animated underline on text links */
.pp-foot a, .topbar__back{position:relative}
.pp-foot a::after, .topbar__back::after{
  content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:currentColor;
  transition:width .3s cubic-bezier(.22,1,.36,1);
}
.pp-foot a:hover::after, .topbar__back:hover::after{width:100%}

/* gold hairline sweep under the hero tagline */
.hero__tag{position:relative;padding-bottom:14px}
.hero__tag::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:linear-gradient(90deg,var(--gold),transparent);
  animation:lineSweep .9s cubic-bezier(.22,1,.36,1) .5s both;
}
@keyframes lineSweep{to{width:120px}}

@media (prefers-reduced-motion:reduce){
  .reveal-on .content .eyebrow,
  .reveal-on .content .lede,
  .reveal-on .cta-band__inner,
  .reveal-on .pp-foot,
  .reveal-on .features li{opacity:1;transform:none}
}
