
:root { --navy:#001b42; --navy-2:#05214f; --navy-deep:#000c22; --gold:#7a5a1d; --gold-btn:#9a7428; --gold-l:#c9a24a; --gold-xl:#e7cf8f;
        --beige:#f1eadc; --card:#f8f3e8; --ink:#14110f; --muted:#5b5750; --line:rgba(122,90,29,.18);
        --radius:20px; --max:1240px; --shadow:0 20px 50px rgba(14,18,30,.16); --bar-h:68px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; overflow-x:clip; } body { overflow-x:clip; }  /* sash ribbons poke past cards — never let them widen the page */
body { margin:0; font:17px/1.65 "Red Hat Display", system-ui, sans-serif; color:var(--ink); background:var(--beige); }
h1, h2, h3 { font-family:"Source Serif 4", Georgia, serif; font-weight:600; letter-spacing:-.01em; text-wrap:balance; }
a { color:inherit; } .wrap { max-width:var(--max); margin:0 auto; padding:0 24px; }
[hidden] { display:none !important; }   /* .cookie sets display:flex — without this, OK never hid it (same bug exists in Beta) */
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:focus-visible { outline:3px solid var(--gold-l); outline-offset:2px; }

/* buttons */
.pill { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 24px; border-radius:999px; text-decoration:none;
        font-weight:700; font-size:15px; border:1px solid transparent; cursor:pointer; font-family:inherit; transition:transform .15s, box-shadow .15s, background .25s, color .25s; }
.pill:hover { transform:translateY(-2px); } .bar .pill { white-space:nowrap; }
.gold { background:linear-gradient(180deg,#d9b45e,var(--gold-btn)); color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.25); box-shadow:0 10px 24px rgba(154,116,40,.32); }
.navy { background:var(--navy); color:#fff; box-shadow:0 10px 24px rgba(0,27,66,.28); }
.line { border-color:rgba(255,255,255,.7); color:#fff; background:rgba(0,0,0,.22); }
.sm { padding:9px 18px; font-size:14px; } .big { padding:15px 30px; font-size:17px; }

/* ===== TOP BAR (Beta's full-width bar) — transparent over the hero, gold once you scroll ===== */
.bar { position:fixed; inset:0 0 auto 0; z-index:30; height:var(--bar-h); transition:background .3s, box-shadow .3s, border-color .3s;
       background:linear-gradient(180deg,rgba(0,10,28,.55),rgba(0,10,28,0)); border-bottom:1px solid transparent; }
.bar-in { height:100%; display:flex; align-items:center; gap:30px; padding:0 28px; max-width:1440px; margin:0 auto; }
.bar .logo { display:flex; align-items:center; gap:10px; text-decoration:none; font-family:"Source Serif 4", serif; font-weight:700; font-size:18px; color:#fff; white-space:nowrap; }
.bar .logo img { width:36px; height:36px; display:block; }
.bar nav { display:flex; gap:26px; font-size:15.5px; font-weight:600; }
.bar nav a { text-decoration:none; color:#f3eee2; } .bar nav a:hover, .bar nav a[aria-current="page"] { color:var(--gold-xl); }
.bar .right { margin-left:auto; display:flex; gap:10px; }
.bar.solid { background:rgba(122,90,29,.97); box-shadow:0 10px 30px rgba(0,0,0,.22); border-bottom-color:rgba(231,207,143,.35); }
.bar.solid nav a:hover, .bar.solid nav a[aria-current="page"] { color:#fff; text-decoration:underline; text-underline-offset:6px; }
.bar.solid .gold { background:var(--navy); box-shadow:none; text-shadow:none; }          /* gold button on a gold bar would vanish */
.bar.solid .line { background:transparent; }

/* ===== HERO (homepage) — moving video, copy left, panel hugging the right edge ===== */
.hero { position:relative; isolation:isolate; overflow:hidden; min-height:clamp(640px,92svh,860px); display:flex; align-items:center;
        padding:calc(var(--bar-h) + 40px) 0 56px; color:#fff; background:#0b1a33 url(../assets/epsilon-hero-poster.jpg) center/cover; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.hero::after { content:""; position:absolute; inset:0; z-index:-1;
               background:linear-gradient(90deg,rgba(0,12,34,.82) 0%,rgba(0,12,34,.55) 45%,rgba(0,12,34,.35) 70%,rgba(0,12,34,.55) 100%),
                          linear-gradient(0deg,rgba(0,12,34,.55),transparent 30%); }
.hero-in { width:100%; display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:40px; align-items:center;
           padding:0 24px 0 max(24px, calc((100vw - var(--max)) / 2 + 24px)); }
.hero-copy { max-width:640px; }
.eyebrow { display:inline-block; padding:6px 14px; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.32);
           font-size:13.5px; font-weight:600; letter-spacing:.05em; }
.hero h1 { margin:16px 0 14px; font-size:clamp(38px,5vw,64px); line-height:1.06; color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.35); }
/* rotating word lives on its OWN fixed-height line, so swapping words never changes the page height (K's scrollbar bug) */
.cycle { display:block; position:relative; height:1.12em; color:var(--gold-xl); }
.cycle span { position:absolute; left:0; top:0; white-space:nowrap; opacity:0; transform:translateY(.25em); transition:opacity .6s ease, transform .6s ease; }
.cycle span.on { opacity:1; transform:none; }
.hero .lead { margin:0 0 26px; max-width:46ch; font-size:18.5px; color:#e6ecf5; }
.ctas { display:flex; flex-wrap:wrap; gap:12px; }

/* Beta's tabbed panel — Quick quote first, Quick contact second. Solid (no backdrop blur over the video = no lag). */
.panel { background:rgba(4,14,34,.94); border:1px solid rgba(231,207,143,.28); border-radius:var(--radius); box-shadow:0 24px 60px rgba(0,0,0,.4); overflow:hidden; color:#e9eef7; }
.tabs { display:grid; grid-template-columns:1fr 1fr; }
.tabs button { font:inherit; font-weight:700; font-size:14.5px; padding:14px; background:transparent; color:#a9b4c8; border:0; border-bottom:2px solid rgba(255,255,255,.08); cursor:pointer; }
.tabs button[aria-selected="true"] { color:var(--gold-xl); border-bottom-color:var(--gold-l); background:rgba(255,255,255,.04); }
.tabpane { padding:18px 20px 20px; } .tabpane h3 { margin:0 0 2px; font-size:20px; color:#fff; }
.small { margin:0 0 12px; font-size:13px; color:#a9b4c8; } .center-t { text-align:center; margin:8px 0 0; }
.f { display:grid; gap:10px; } .f2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.f label { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#a9b4c8; display:grid; gap:5px; }
.f label em { font-style:normal; text-transform:none; letter-spacing:0; font-weight:500; }
.f input, .f select { width:100%; font:inherit; font-size:14.5px; padding:10px 11px; border-radius:10px; border:1px solid rgba(255,255,255,.18);
                      background:rgba(255,255,255,.07); color:#fff; } .f select option { color:#111; }
.f .pill { width:100%; margin-top:4px; border:0; font-size:15.5px; }
.note { min-height:1em; font-size:13px; color:var(--gold-xl); margin:6px 0 0; }

/* ===== SECTIONS ===== */
section { padding:88px 0; } section + section { border-top:1px solid var(--line); } .center { text-align:center; } .tight-top { padding-top:24px; }
.kicker { color:var(--gold); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:13px; }
h2 { margin:8px 0 14px; font-size:clamp(30px,3.7vw,46px); line-height:1.1; color:var(--navy); }
.sub { color:var(--muted); max-width:58ch; margin:0 auto 44px; font-size:18px; }
.divider { width:64px; height:3px; background:linear-gradient(90deg,var(--gold-l),var(--gold)); border-radius:3px; margin:18px 0; }

/* trust strip (beige) */
.strip { padding:0; border-bottom:1px solid var(--line); }
.strip-in { display:grid; grid-template-columns:repeat(4,1fr); }
.strip-in div { padding:24px 22px; border-left:1px solid var(--line); } .strip-in div:first-child { border-left:0; }
.strip-in b { display:block; font-family:"Source Serif 4", serif; font-size:20px; color:var(--navy); } .strip-in span { color:var(--muted); font-size:15px; }

/* three services — Mike's Gold / Silver / Bronze banners, real checklists + dropdowns */
.tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:start; text-align:left; margin-top:8px; }
.tier { position:relative; background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); }
.tier-top { border-radius:var(--radius) var(--radius) 0 0; padding:20px 24px 18px; display:flex; flex-direction:column; gap:2px; color:#1b1408; }
.tier-top span { font-weight:800; font-size:13px; letter-spacing:.1em; text-transform:uppercase; } .tier-top strong { font-size:14.5px; font-weight:600; }
.t-gold .tier-top { background:linear-gradient(160deg,#d5c17f,#ad8547); }
.t-silver .tier-top { background:linear-gradient(160deg,#c5ceda,#879bad); }
.t-bronze .tier-top { background:linear-gradient(160deg,#d6ccb1,#a9956e); }
.tier-body { padding:22px 24px 26px; display:flex; flex-direction:column; }
.tier h3 { margin:0 0 6px; font-size:23px; color:var(--navy); } .tier .desc { margin:0 0 12px; color:var(--muted); font-size:15px; }
ul.check, ul.xlist { list-style:none; margin:0 0 14px; padding:0; } ul.check li, ul.xlist li { display:flex; gap:10px; margin:6px 0; font-size:15px; line-height:1.45; }
ul.check li::before { content:"\2713"; color:var(--gold); font-weight:800; flex:none; }
ul.xlist li::before { content:"\2715"; color:#9b3b2e; font-weight:800; flex:none; }
details.dd { border-top:1px solid var(--line); padding:10px 0 2px; } details.dd:last-of-type { border-bottom:1px solid var(--line); margin-bottom:18px; }
details.dd summary { cursor:pointer; list-style:none; font-weight:700; font-size:15px; color:var(--navy); display:flex; justify-content:space-between; padding-bottom:8px; }
details.dd summary::-webkit-details-marker { display:none; }
details.dd summary::after { content:"+"; color:var(--gold); font-size:20px; line-height:1; } details.dd[open] summary::after { content:"\2013"; }
.tier .pill { align-self:flex-start; }
/* sash ribbons — break out past the card's top-right corner */
.ribbon { position:absolute; top:24px; right:-46px; z-index:5; width:200px; padding:10px 0; text-align:center; transform:rotate(45deg);
          font-weight:800; font-size:14px; letter-spacing:.09em; text-transform:uppercase; color:var(--navy); box-shadow:0 6px 16px rgba(0,0,0,.28); pointer-events:none; }
.ribbon.gold { background:linear-gradient(135deg,#f3e2ae,var(--gold-l) 55%,#a37e2f); }
.ribbon.silver { background:linear-gradient(135deg,#f4f6f9,#c5ceda 55%,#8d9fb1); }
.ribbon::before, .ribbon::after { content:""; position:absolute; top:100%; border-style:solid; }
.ribbon::before { left:0; border-width:7px 0 0 7px; border-color:transparent transparent transparent rgba(0,0,0,.35); }
.ribbon::after { right:0; border-width:7px 7px 0 0; border-color:transparent rgba(0,0,0,.35) transparent transparent; }
.more { margin:34px 0 0; } .more a { color:var(--navy); font-weight:700; text-decoration:none; border-bottom:2px solid var(--gold-l); }

/* NAVY band — the one dark scheme (used for every dark section on every page) */
.band { background:linear-gradient(180deg,var(--navy),var(--navy-2)); color:#fff; border-top:3px solid var(--gold-l); border-bottom:3px solid var(--gold-l); }
.band h2, .band h3 { color:#fff; } .band .kicker { color:var(--gold-xl); } .band .sub, .band p { color:#c5cfe0; }
section.band + section, section + section.band { border-top-color:var(--gold-l); }
.feats { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; text-align:left; }
.feat { padding:26px; border-radius:18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); }
.feat .ic { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:linear-gradient(160deg,var(--gold-l),var(--gold)); margin-bottom:14px; }
.feat .ic svg { width:24px; height:24px; color:#fff; } .feat h3 { margin:0 0 6px; font-size:21px; } .feat p { margin:0; font-size:15px; }

.about-in { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.about-in img { width:100%; height:auto; aspect-ratio:5/4; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); }
.about-in p { color:var(--muted); font-size:18px; }

.hsteps { display:flex; counter-reset:s; }
.hstep { flex:1; position:relative; text-align:center; padding:0 18px; }
.hstep::before { counter-increment:s; content:counter(s); width:52px; height:52px; margin:0 auto 18px; border-radius:50%; background:var(--card); border:2px solid var(--gold-l);
                 display:flex; align-items:center; justify-content:center; font-family:"Source Serif 4", serif; font-size:21px; font-weight:700; color:var(--gold); }
.hstep:not(:last-child)::after { content:""; position:absolute; top:26px; left:calc(50% + 46px); right:calc(-50% + 46px); height:2px; background:linear-gradient(90deg,var(--gold-l),rgba(122,90,29,.15)); }
.hstep h3 { margin:0 0 6px; font-size:21px; color:var(--navy); } .hstep p { margin:0; color:var(--muted); font-size:15.5px; }

.faq { max-width:820px; margin:0 auto; }
details.faq-item { background:var(--card); border-radius:16px; padding:18px 22px; margin:12px 0; box-shadow:0 8px 24px rgba(20,17,15,.06); }
details.faq-item summary { cursor:pointer; list-style:none; font-weight:700; font-size:18px; display:flex; justify-content:space-between; gap:12px; color:var(--navy); }
details.faq-item summary::-webkit-details-marker { display:none; }
details.faq-item summary::after { content:"+"; color:var(--gold); font-size:24px; line-height:1; } details.faq-item[open] summary::after { content:"\2013"; }
details.faq-item p { margin:10px 0 0; color:var(--muted); }

.final { position:relative; isolation:isolate; overflow:hidden; padding:96px 0; color:#fff; text-align:center; background:url(../assets/commercial-team.webp) center/cover; }
.final::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(0,27,66,.94),rgba(0,27,66,.66)); }
.final .kicker { color:var(--gold-xl); } .final h2 { margin-top:6px; color:#fff; } .final p { color:#dfe6f2; margin:0 auto 26px; max-width:52ch; }

/* ===== INNER PAGES: short navy page header (no video) ===== */
.page-head { padding:calc(var(--bar-h) + 64px) 0 60px; color:#fff; text-align:center; border-top:0;
             background:linear-gradient(180deg,var(--navy-deep),var(--navy) 55%,var(--navy-2)); border-bottom:3px solid var(--gold-l); }
.page-head h1 { margin:10px 0 10px; font-size:clamp(36px,4.6vw,56px); line-height:1.08; }
.page-head .kicker { color:var(--gold-xl); } .page-head p { color:#c5cfe0; max-width:60ch; margin:0 auto; font-size:18.5px; }
.prose { max-width:820px; margin:0 auto; } .prose h2 { font-size:clamp(26px,3vw,34px); margin-top:40px; } .prose h3 { color:var(--navy); margin:26px 0 6px; font-size:21px; }
.prose p, .prose li { color:#3a362f; } .prose ul { padding-left:22px; }
.cardbox { background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:28px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; } .grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

/* ===== FOOTER (navy, same scheme as the band) ===== */
.foot3 { position:relative; overflow:hidden; text-align:center; color:#c9d3e6; padding:72px 0 110px; background:linear-gradient(180deg,var(--navy),var(--navy-deep)); border-top:3px solid var(--gold-l); }
.foot3::before { content:""; position:absolute; width:520px; height:520px; left:50%; top:50%; transform:translate(-50%,-50%); background:url(../assets/shield.webp) center/contain no-repeat; opacity:.05; pointer-events:none; }
.foot3 .wrap { position:relative; }
.f3-shield { width:84px; height:84px; } .foot3 h3 { margin:12px 0 4px; color:#fff; font-size:28px; } .f3-tag { margin:0 0 24px; }
.areas-dd { margin:36px auto 0; max-width:660px; text-align:left; background:rgba(255,255,255,.06); border:1px solid rgba(231,207,143,.25); border-radius:14px; overflow:hidden; }
.areas-dd summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; padding:16px 20px; font-weight:700; color:#fff; font-family:"Source Serif 4", serif; font-size:17px; }
.areas-dd summary::-webkit-details-marker { display:none; }
.dd-caret { transition:transform .2s; color:var(--gold-xl); font-size:14px; } .areas-dd[open] .dd-caret { transform:rotate(180deg); }
.areas-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; padding:0 20px 22px; }
.areas-grid strong { display:block; color:var(--gold-xl); font-family:"Source Serif 4", serif; font-size:15px; margin-bottom:4px; }
.areas-grid span { display:block; color:#c9d3e6; font-size:13.5px; line-height:1.5; }
.f3-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px; margin:34px 0 0; }
.f3-links a { color:#c9d3e6; text-decoration:none; } .f3-links a:hover { color:var(--gold-xl); }
.f3-bottom { margin-top:34px; padding-top:18px; border-top:1px solid rgba(231,207,143,.2); color:#8f9bb3; font-size:14px; }

.sticky { position:fixed; z-index:25; right:22px; bottom:22px; transform:translateY(180%); transition:transform .3s; }
.sticky.on { transform:none; } .sticky .pill { padding:15px 30px; font-size:17px; border-radius:16px; box-shadow:0 16px 40px rgba(0,0,0,.4), 0 0 0 3px rgba(255,255,255,.45); }
.cookie { position:fixed; z-index:40; left:16px; right:16px; bottom:16px; max-width:760px; margin:0 auto; display:flex; gap:16px; align-items:center;
          padding:14px 18px; border-radius:16px; background:rgba(0,16,40,.97); border:1px solid var(--gold-l); box-shadow:var(--shadow); font-size:14.5px; color:#d7deea; }
.cookie p { margin:0; flex:1; } .cookie a { color:var(--gold-xl); }

/* scroll reveal (no layout shift: opacity/transform only) */
.reveal.pre { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; } .reveal.pre.in { opacity:1; transform:none; }

/* ===== RESPONSIVE ===== */
@media (max-width:1100px) { .bar nav { gap:18px; } .hero-in { grid-template-columns:minmax(0,1fr) 350px; gap:28px; } .tiers { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) {
  .bar nav, .hide-sm { display:none; } .bar-in { padding:0 16px; gap:12px; } .bar .logo span { font-size:16px; }
  .bar .right .pill { padding:8px 14px; font-size:13.5px; }
  .hero { min-height:0; padding:calc(var(--bar-h) + 28px) 0 40px; }
  .hero-in { grid-template-columns:1fr; padding:0 20px; gap:28px; } .hero h1 { font-size:38px; } .hero .lead { font-size:17px; }
  .panel { width:100%; max-width:520px; }
  .tiers, .about-in, .grid2, .grid3 { grid-template-columns:1fr; } .feats, .strip-in { grid-template-columns:1fr 1fr; }
  .strip-in div:nth-child(3) { border-left:0; } .strip-in div:nth-child(n+3) { border-top:1px solid var(--line); }
  .hsteps { flex-direction:column; gap:30px; } .hstep::after { display:none; }
  section { padding:64px 0; } .wrap { padding:0 20px; } .about-in { gap:26px; }
  .sticky { left:12px; right:12px; bottom:12px; } .sticky .pill { width:100%; }
  .ribbon { top:16px; right:-38px; width:170px; padding:8px 0; font-size:12.5px; }
  .areas-grid { grid-template-columns:1fr; }
}
@media (max-width:400px) { .bar .logo span { display:none; } }
@media (max-width:480px) { .feats, .strip-in { grid-template-columns:1fr; } .strip-in div { border-left:0 !important; } .strip-in div + div { border-top:1px solid var(--line); }
  .f2 { grid-template-columns:1fr; } .cookie { flex-direction:column; align-items:stretch; text-align:center; } .ctas .pill { flex:1 1 100%; } }
@media (prefers-reduced-motion:reduce) { * { transition:none !important; animation:none !important; scroll-behavior:auto !important; } .hero-video { display:none; } }

/* ===== INNER-PAGE PIECES (services / about / policies / contact) ===== */
.page-head + section { border-top:0; }
h3.grp { margin:40px 0 18px; font-size:24px; color:var(--navy); text-align:left; display:flex; align-items:center; gap:14px; }
h3.grp::after { content:""; flex:1; height:2px; background:linear-gradient(90deg,var(--gold-l),transparent); }
#tasks h3.grp:first-of-type { margin-top:8px; }
.hourly { align-items:center; } .lead-d { color:var(--muted); font-size:18px; }
.price-card { text-align:left; } .price-card p { color:#3a362f; }
.chip { display:inline-block; padding:5px 12px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; background:rgba(0,27,66,.08); color:var(--navy); }
.gold-chip { background:linear-gradient(180deg,#d9b45e,var(--gold-btn)); color:#fff; }
.big-price { font-family:"Source Serif 4", serif; font-size:46px; font-weight:700; color:var(--navy); margin:10px 0 4px; } .big-price small { font-size:18px; color:var(--muted); }
.plans { grid-template-columns:repeat(3,1fr); } .plans .feat { text-align:center; } .plans .feat.hot { border-color:var(--gold-l); background:rgba(201,162,74,.1); }
.plans .off { font-family:"Source Serif 4", serif; font-size:44px; font-weight:700; color:var(--gold-xl); line-height:1.1; margin:6px 0; } .plans .chip { margin-bottom:4px; }
.addon h3 { margin:0 0 10px; color:var(--navy); font-size:20px; }
ul.price { list-style:none; margin:0; padding:0; } ul.price li { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px dashed var(--line); font-size:15px; }
ul.price li:last-child { border-bottom:0; } ul.price b { color:var(--gold); white-space:nowrap; font-weight:700; text-align:right; }
.fine { color:var(--muted); font-size:14px; margin:18px 0 0; text-align:center; }
.cardbox h3 { color:var(--navy); margin:0 0 8px; font-size:21px; } .cardbox p { color:#3a362f; } .cardbox .pill { margin-top:8px; }
ul.cols2 { columns:2; column-gap:24px; } ul.cols2 li { break-inside:avoid; }
.eff { color:var(--muted); font-size:15px; background:var(--card); border-left:4px solid var(--gold-l); padding:14px 18px; border-radius:10px; }
.toc { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 10px; } .toc a { padding:8px 14px; border-radius:999px; background:var(--card); border:1px solid var(--line); text-decoration:none; color:var(--navy); font-weight:700; font-size:14px; }
.toc a:hover { border-color:var(--gold-l); }
.prose h2 { scroll-margin-top:calc(var(--bar-h) + 20px); padding-top:10px; border-top:1px solid var(--line); }
.pol h3 { margin-top:22px; } .pol p { margin:6px 0 0; }
.mono { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(160deg,var(--gold-l),var(--gold)); color:#fff; font-family:"Source Serif 4", serif; font-size:26px; font-weight:700; margin-bottom:12px; }
.role { margin:-4px 0 10px !important; color:var(--gold) !important; font-weight:700; font-size:14px; letter-spacing:.08em; text-transform:uppercase; }
.contact-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:28px; align-items:start; } .side { display:grid; gap:20px; }
.navybox { background:linear-gradient(180deg,var(--navy),var(--navy-2)); } .navybox h3 { color:#fff; } .navybox p { color:#c5cfe0; } .navybox a { color:var(--gold-xl); }
/* light form variant (on beige cards) */
.f.light label { color:#5b5750; } .f.light input, .f.light select, .f.light textarea { width:100%; font:inherit; font-size:15px; padding:11px 12px; border-radius:10px;
  border:1.5px solid rgba(0,27,66,.18); background:#fff8ec; color:var(--ink); }
.f.light textarea { resize:vertical; } .f.light .note { color:var(--gold); }
fieldset.opts { border:1.5px solid rgba(0,27,66,.14); border-radius:12px; padding:12px 14px 6px; margin:4px 0; display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; }
fieldset.opts legend { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#5b5750; padding:0 6px; }
label.opt { display:flex !important; align-items:center; gap:8px; text-transform:none !important; letter-spacing:0 !important; font-size:14.5px !important; font-weight:500 !important; color:var(--ink) !important; }
label.opt input { width:auto !important; }
@media (max-width:900px) { .plans, .contact-grid { grid-template-columns:1fr; } fieldset.opts { grid-template-columns:1fr; } ul.cols2 { columns:1; } .big-price { font-size:38px; } }
