/* Concept A — Beacon: the lighthouse brand, warm and editorial. Indigo + beacon gold on warm paper. */
:root{
  --bg:#fbf7ef; --bg-alt:#f3ecdf; --card:#fff;
  --ink:#1c2050; --body:#2b2f45; --muted:#5b5f73;
  --accent:#3d47b8; --accent-2:#f5c234; --on-accent:#fff;
  --line:#e6dccb; --line-strong:#cbbfa9; --shadow:rgba(28,32,80,.45);
  --font-d:"Fraunces",Georgia,serif; --font-b:"Figtree",system-ui,sans-serif; --dw:600;
  --radius:22px; --head-h:88px; --head-bg:rgba(251,247,239,.92); --menu-bg:#fbf7ef;
  --nav-hover:rgba(61,71,184,.09); --tag-bg:#e7e9fb; --tag:#2b338f; --tag2-bg:#fdf0c4; --tag2:#6b4e00;
  --fee-bg:#1c2050; --fee-eyebrow:#f5c234; --foot-bg:#161a42; --focus:rgba(61,71,184,.2);
  --cta-bg:#1c2050; --cta-eyebrow:#f5c234; --hope-bg:#3d47b8;
}
.site-head .brand-logo{height:68px}
h1 em,h2 em{font-style:italic;font-weight:600;color:var(--accent)}
.site-head{backdrop-filter:saturate(1.4) blur(10px)}
.eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--accent-2);border-radius:2px}
.center .eyebrow,.eyebrow.center{justify-content:center}

/* Home hero */
.hero{padding:clamp(40px,6vw,80px) 0 clamp(64px,8vw,110px);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:900px;height:900px;right:-260px;top:-380px;border-radius:50%;background:radial-gradient(circle,rgba(245,194,52,.32),rgba(245,194,52,0) 62%);pointer-events:none}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,80px);align-items:center;position:relative}
.hero h1{font-size:clamp(3rem,7.4vw,6rem);line-height:1.02;font-weight:600;font-variation-settings:"opsz" 144}
.hero h1 em{position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:2%;right:2%;bottom:.06em;height:.16em;background:var(--accent-2);border-radius:99px;z-index:-1;opacity:.9}
.hero-proof{display:flex;gap:16px;align-items:center;margin-top:36px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:18px;font-size:.98rem;max-width:560px}
.hero-proof strong{font:700 2.3rem/1 var(--font-d);color:var(--accent)}
.hero-art{position:relative}
.arch{position:relative;margin:0;aspect-ratio:4/5;border-radius:999px 999px 28px 28px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(28,32,80,.6)}
.arch img{width:100%;height:100%;object-fit:cover;object-position:35% center}
/* the lighthouse beam: a slow sweep of warm light across the photo */
.beam{position:absolute;left:-30%;top:-10%;width:160%;height:160%;background:conic-gradient(from 200deg at 20% 18%,transparent 0deg,rgba(255,233,160,.0) 8deg,rgba(255,233,160,.55) 18deg,rgba(255,233,160,0) 30deg,transparent 360deg);mix-blend-mode:screen;transform-origin:20% 18%;animation:sweep 9s ease-in-out infinite alternate}
@keyframes sweep{from{transform:rotate(-14deg)}to{transform:rotate(26deg)}}
.kevin-chip{position:absolute;left:-28px;bottom:36px;display:flex;align-items:center;gap:14px;padding:12px 20px 12px 12px;background:#fff;border-radius:20px;box-shadow:0 24px 40px -20px rgba(28,32,80,.5);font-size:.92rem;line-height:1.35;max-width:300px}
.kevin-chip img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:top}
.kevin-chip strong{display:block;color:var(--ink);font-size:1rem}

/* services */
.service .ic{background:var(--accent);box-shadow:none}
.service .ic{-webkit-mask:none;mask:none;border-radius:50%;display:grid;place-items:center;border:5px solid #fff}
.service .ic::before{inset:16px;background:#fff;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}

/* quote band */
.quote-band{background:var(--ink);color:#fff;padding:clamp(64px,9vw,120px) 0;position:relative;overflow:hidden}
.quote-band::after{content:"";position:absolute;inset:auto -10% -60% 30%;height:120%;background:radial-gradient(closest-side,rgba(245,194,52,.25),transparent);pointer-events:none}
.quote-in{display:grid;grid-template-columns:150px 1fr;gap:clamp(24px,5vw,60px);align-items:center;position:relative;z-index:1}
.quote-band .mark{width:150px;height:auto;filter:drop-shadow(0 0 30px rgba(245,194,52,.45))}
.quote-band blockquote{margin:0 0 18px;font:500 clamp(1.6rem,3.4vw,2.6rem)/1.3 var(--font-d);font-style:italic;color:#fff}
.quote-band cite{display:block;font-style:normal;font-weight:700;color:var(--accent-2);margin-bottom:22px}
.quote-band .more{color:#fff}

.ssteps .sstep:nth-child(odd){background:#fff}
.sstep-n{font-style:italic}
.rule{padding:22px 26px;border-radius:18px;background:var(--bg-alt);border-left:5px solid var(--accent-2)}

/* page hero */
.phero{padding:clamp(40px,6vw,76px) 0 clamp(48px,6vw,80px);overflow:hidden}
.phero::before{content:"";position:absolute;width:700px;height:700px;left:-300px;top:-360px;border-radius:50%;background:radial-gradient(circle,rgba(245,194,52,.25),transparent 62%)}
.phero-bg{display:none}
.phero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,6vw,70px);align-items:center}
.phero h1{font-size:clamp(2.4rem,5.4vw,4.2rem)}
.phero-fig{margin:0;aspect-ratio:5/4;border-radius:999px 999px 24px 24px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(28,32,80,.6)}
.phero-fig img{width:100%;height:100%;object-fit:cover}

.step{border-left:6px solid var(--accent)}
.step:nth-child(n+3){border-left-color:var(--accent-2)}
.step:nth-child(n+3) .step-num span{background:var(--accent-2);color:var(--ink)}
.hope-band{background:linear-gradient(120deg,#3d47b8,#2a3190);position:relative;overflow:hidden}
.hope-band p{font-style:italic}
.hope-band::before{content:"";position:absolute;inset:-50% 30% -50% 30%;background:radial-gradient(closest-side,rgba(245,194,52,.35),transparent)}
.hope-band .wrap{position:relative}

.cta-band{background:linear-gradient(180deg,rgba(22,26,66,.55),rgba(22,26,66,.82)),url(/assets/img/coast.jpg) center/cover}
.cta-band .btn-light{background:var(--accent-2);color:var(--ink)}
.facts .fact{border-top-color:var(--accent-2)}

@media (max-width:980px){
  .hero-in,.phero-in{grid-template-columns:1fr}
  .hero-art{max-width:520px;margin-inline:auto;width:100%}
  .phero-fig{aspect-ratio:16/9;border-radius:24px}
  .kevin-chip{left:12px;bottom:16px}
}
@media (max-width:640px){
  .quote-in{grid-template-columns:1fr}.quote-band .mark{width:90px}
  .arch{aspect-ratio:1/1.05}
  .hero-proof{flex-direction:column;align-items:flex-start}
}
