:root{--ink:#182034;--muted:#667085;--paper:#fbfaf7;--navy:#172554;--violet:#6d5ce7;--mint:#71d6bb;--line:#e8e6df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Inter,Segoe UI,Arial,sans-serif}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(251,250,247,.94);backdrop-filter:blur(12px);z-index:5}.brand{font-weight:800;letter-spacing:.12em;color:var(--navy);text-decoration:none}.brand span{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--navy);color:white;border-radius:10px;margin-right:8px}.topbar nav{display:flex;gap:30px}.topbar nav a{color:var(--ink);text-decoration:none;font-size:.93rem}.hero{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:5vw;padding:90px max(7vw,28px)}.eyebrow{color:var(--violet);font-weight:800;font-size:.76rem;letter-spacing:.18em;margin:0 0 18px}.hero h1{font:700 clamp(3rem,6vw,6.6rem)/.98 Georgia,serif;letter-spacing:-.055em;margin:0;max-width:820px}.lead{font-size:1.2rem;color:var(--muted);max-width:680px;margin:30px 0}.button{display:inline-block;background:var(--navy);color:white;text-decoration:none;padding:14px 24px;border-radius:8px;font-weight:700}.hero-art{height:470px;background:var(--navy);border-radius:180px 20px 180px 20px;position:relative;overflow:hidden;display:grid;place-items:center;color:white}.hero-art strong{font:400 clamp(2rem,4vw,4rem)/1.25 Georgia,serif;position:relative;z-index:2}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb.one{width:260px;height:260px;background:var(--violet);right:-50px;top:-30px}.orb.two{width:210px;height:210px;background:var(--mint);left:-65px;bottom:-35px}.grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px}.section{padding:110px max(8vw,30px);border-top:1px solid var(--line)}.split,.promise{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.section h2{font:700 clamp(2.3rem,4.5vw,4.4rem)/1.05 Georgia,serif;letter-spacing:-.035em;margin:0}.copy{color:var(--muted);font-size:1.12rem}.soft{background:#f1f0ec}.soft>h2{max-width:650px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:55px}.cards article{background:white;padding:30px 26px;border-radius:14px;min-height:260px}.cards b{color:var(--violet)}.cards h3{font-size:1.25rem;margin:45px 0 8px}.cards p{color:var(--muted);margin:0}.promise ul{list-style:none;margin:0;padding:0}.promise li{border-bottom:1px solid var(--line);padding:18px 0;font-weight:650}.promise li:before{content:'✓';color:var(--violet);margin-right:14px}.contact{text-align:center;background:var(--navy);color:white}.contact h2{margin-bottom:25px}.contact>p{max-width:650px;margin:0 auto 25px;color:#cbd5e1}.contact>a{color:white;font-size:clamp(1.2rem,3vw,2rem);font-weight:700}.contact .hours{font-size:.9rem;margin-top:20px}footer{padding:55px max(5vw,24px) 25px;background:#0d1738;color:#dbe3f0;display:grid;grid-template-columns:1fr 1fr;gap:30px}footer p{color:#9fa9bd}.legal{display:flex;gap:18px;justify-content:flex-end;flex-wrap:wrap}.legal button{border:0;background:none;color:#dbe3f0;text-decoration:underline;cursor:pointer;font:inherit}.copyright{grid-column:1/-1;border-top:1px solid #283351;padding-top:22px;font-size:.85rem}dialog{max-width:760px;width:calc(100% - 32px);max-height:85vh;border:0;border-radius:16px;padding:42px;color:var(--ink);box-shadow:0 30px 90px #0005}dialog::backdrop{background:#07102bcc}.close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:2rem;cursor:pointer}dialog h2{font-family:Georgia,serif}dialog h3{margin-top:28px}dialog p,dialog li{color:#4b5565}@media(max-width:850px){.topbar nav{display:none}.hero{grid-template-columns:1fr;padding-top:65px}.hero-art{height:340px}.split,.promise{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.section{padding:75px 24px}footer{grid-template-columns:1fr}.legal{justify-content:flex-start}.copyright{grid-column:auto}}@media(max-width:520px){.cards{grid-template-columns:1fr}.hero h1{font-size:3.2rem}.hero-art{height:300px}}
