
:root{
  --navy:#061f3f;
  --navy-2:#0b315f;
  --ink:#142033;
  --muted:#5d6876;
  --paper:#fffdf9;
  --mist:#f3f7f6;
  --teal:#15999a;
  --teal-dark:#0d7779;
  --gold:#f5a623;
  --pink:#d81b60;
  --orange:#f26a21;
  --purple:#55339b;
  --blue:#174db5;
  --line:#dce5e3;
  --shadow:0 20px 60px rgba(6,31,63,.12);
  --serif:Baskerville,"Baskerville Old Face","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
button,input,textarea,select{font:inherit}
.container{width:min(1160px,calc(100% - 2.4rem));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.8rem 1rem;z-index:999;border-radius:.4rem}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,249,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,229,227,.85)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:flex;align-items:center;text-decoration:none;gap:.8rem}
.brand img{width:190px;height:auto}
.nav-links{display:flex;align-items:center;gap:1.25rem}
.nav-links a{text-decoration:none;font-weight:700;font-size:.94rem}
.nav-links a:hover,.nav-links a:focus{color:var(--teal-dark)}
.nav-toggle{display:none;border:0;background:none;font-size:1.5rem;color:var(--navy)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.92rem 1.25rem;border-radius:999px;background:var(--teal);color:#fff;text-decoration:none;font-weight:800;border:2px solid var(--teal);transition:.18s ease;cursor:pointer}
.button:hover,.button:focus{background:var(--teal-dark);border-color:var(--teal-dark);transform:translateY(-1px)}
.button.secondary{background:transparent;border-color:rgba(255,255,255,.72);color:#fff}
.button.secondary:hover,.button.secondary:focus{background:#fff;color:var(--navy)}
.button.outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.button.small{padding:.7rem 1rem;font-size:.9rem}
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.hero:before{content:"";position:absolute;inset:auto -10% -45% 32%;height:85%;background:radial-gradient(circle,rgba(21,153,154,.26),transparent 62%)}
.hero-grid{min-height:690px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:2rem;position:relative}
.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-weight:900;color:#58d2ce;font-size:.76rem}
.hero h1,.section-heading h2,.privacy h1{font-family:var(--serif);font-weight:500;line-height:1.05;letter-spacing:-.025em}
.hero h1{font-size:clamp(3.2rem,6vw,6.5rem);margin:.55rem 0 1.1rem;max-width:780px}
.hero-copy{font-size:clamp(1.05rem,1.8vw,1.3rem);color:#e5edf5;max-width:700px}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0 1.6rem}
.hero-proof{display:flex;flex-wrap:wrap;gap:1.15rem;color:#d5e0ec;font-size:.94rem}
.hero-proof span:before{content:"✓";margin-right:.45rem;color:#58d2ce;font-weight:900}
.hero-image{align-self:end;position:relative}
.hero-image img{width:100%;max-height:650px;object-fit:cover;object-position:50% 25%;filter:contrast(1.04)}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,transparent 28%),linear-gradient(0deg,var(--navy) 0%,transparent 33%)}
.trust-strip{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.trust-item{background:#fff;padding:1.45rem;text-align:center}
.trust-item strong{font-family:var(--serif);font-size:2rem;color:var(--navy);display:block}
.trust-item span{font-size:.9rem;color:var(--muted)}
section{padding:6.4rem 0}
.section-heading{max-width:800px;margin-bottom:2.5rem}
.section-heading h2{font-size:clamp(2.4rem,4.5vw,4.4rem);margin:.4rem 0 1rem;color:var(--navy)}
.section-heading p{font-size:1.1rem;color:var(--muted)}
.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:start}
.pullquote{font-family:var(--serif);font-size:clamp(2rem,3.6vw,3.8rem);line-height:1.12;color:var(--navy);margin:0;position:sticky;top:120px}
.pullquote em{color:var(--teal-dark);font-style:normal}
.body-copy p:first-child{font-size:1.18rem;color:var(--ink)}
.body-copy p{color:#4f5b68}
.signature{font-family:var(--serif);font-size:1.35rem;color:var(--navy)}
.mist{background:var(--mist)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.card{background:#fff;border:1px solid var(--line);border-radius:1.2rem;padding:1.65rem;box-shadow:0 8px 30px rgba(6,31,63,.05)}
.card .num{width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900}
.card h3{font-family:var(--serif);font-size:1.65rem;color:var(--navy);margin:.9rem 0 .55rem}
.card p{color:var(--muted);margin:0}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.service{padding:1.4rem 1.5rem;border-radius:1rem;border:1px solid var(--line);background:#fff;display:flex;gap:1rem;align-items:start}
.service-icon{width:13px;height:13px;margin-top:.5rem;border-radius:50%;background:var(--teal);box-shadow:18px 0 0 var(--gold)}
.service h3{margin:0 0 .3rem;font-family:var(--serif);font-size:1.35rem;color:var(--navy)}
.service p{margin:0;color:var(--muted)}
.about-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:4.5rem;align-items:center}
.portrait-card{position:relative}
.portrait-card img{border-radius:1.3rem;box-shadow:var(--shadow)}
.portrait-card:before{content:"";position:absolute;width:72%;height:72%;left:-1.2rem;bottom:-1.2rem;border-radius:1.3rem;background:linear-gradient(145deg,var(--teal),var(--blue));z-index:-1}
.about-copy h2{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.2rem);color:var(--navy);line-height:1.07;margin:.4rem 0 1rem}
.about-copy .lead{font-family:var(--serif);font-size:1.8rem;color:var(--teal-dark);line-height:1.25}
.about-copy p{color:var(--muted)}
.audience{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.audience article{border-radius:1.4rem;padding:2.2rem;background:var(--navy);color:#fff}
.audience article:last-child{background:#fff;color:var(--ink);border:1px solid var(--line)}
.audience h3{font-family:var(--serif);font-size:2rem;margin:0 0 .7rem}
.audience p{color:#dce8f4}
.audience article:last-child p{color:var(--muted)}
.audience ul{padding-left:1.15rem}
.audience li{margin:.45rem 0}
.location-wrap{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.location-list{display:flex;flex-wrap:wrap;gap:.6rem}
.location-list span{padding:.62rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:750;color:var(--navy)}
.location-note{background:var(--navy);color:#fff;padding:2rem;border-radius:1.2rem}
.location-note h3{font-family:var(--serif);font-size:2rem;margin:0 0 .6rem}
.location-note p{color:#d9e5f1}
.contact{background:linear-gradient(140deg,var(--navy),#0b376a);color:#fff}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem}
.contact h2{font-family:var(--serif);font-size:clamp(2.5rem,4.2vw,4.5rem);line-height:1.07;margin:.4rem 0 1rem}
.contact-copy>p{color:#dbe6f0}
.contact-links{display:grid;gap:.7rem;margin-top:1.8rem}
.contact-links a{font-weight:800;text-decoration:none}
.form{background:#fff;color:var(--ink);padding:2rem;border-radius:1.3rem;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.35rem}
.field.full{grid-column:1/-1}
label{font-weight:800;color:var(--navy);font-size:.9rem}
input,select,textarea{width:100%;border:1px solid #bcc9c7;border-radius:.65rem;padding:.82rem;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(21,153,154,.22);border-color:var(--teal)}
textarea{min-height:150px;resize:vertical}
.checkbox{display:flex;gap:.7rem;align-items:flex-start;color:var(--muted);font-size:.88rem}
.checkbox input{width:auto;margin-top:.3rem}
.form-note{font-size:.82rem;color:var(--muted)}
footer{background:#04162e;color:#d8e4ef;padding:2.5rem 0}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem}
.footer-brand img{width:220px;filter:brightness(0) invert(1)}
footer h3{font-family:var(--serif);color:#fff}
footer a{color:#d8e4ef;text-decoration:none}
footer a:hover{color:#58d2ce}
.legal{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1.2rem;font-size:.82rem;color:#9fb0c1;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.privacy{padding:5.5rem 0}
.privacy h1{font-size:clamp(2.7rem,5vw,5rem);color:var(--navy)}
.privacy h2{font-family:var(--serif);font-size:1.8rem;color:var(--navy);margin-top:2.3rem}
.privacy p,.privacy li{color:#4f5b68}
.notice{border-left:5px solid var(--teal);background:var(--mist);padding:1rem 1.2rem}
.thank-you{min-height:70vh;display:grid;place-items:center;text-align:center;background:var(--mist)}
.thank-you-card{max-width:720px;background:#fff;padding:3rem;border-radius:1.4rem;box-shadow:var(--shadow)}
.thank-you h1{font-family:var(--serif);font-size:3.5rem;color:var(--navy);margin:.3rem}
.mobile-cta{display:none}
@media (max-width:900px){
  .nav-links{position:absolute;left:0;right:0;top:78px;display:none;flex-direction:column;align-items:stretch;background:#fff;padding:1.2rem;border-bottom:1px solid var(--line)}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:5rem}
  .hero-image{max-width:620px;margin-inline:auto}
  .hero-image img{max-height:520px}
  .intro-grid,.about-grid,.contact-grid,.location-wrap{grid-template-columns:1fr;gap:2.5rem}
  .pullquote{position:static}
  .cards{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .container{width:min(100% - 1.25rem,1160px)}
  section{padding:4.6rem 0}
  .brand img{width:155px}
  .hero h1{font-size:3.35rem}
  .hero-grid{padding-top:3.6rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .button{width:100%}
  .hero-proof{display:grid;gap:.45rem}
  .trust-grid{grid-template-columns:1fr}
  .services-grid,.audience,.form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .portrait-card:before{left:-.5rem;bottom:-.5rem}
  .mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:.6rem;right:.6rem;bottom:.6rem;z-index:90;box-shadow:var(--shadow);border-radius:999px;overflow:hidden}
  .mobile-cta a{padding:.75rem;text-align:center;text-decoration:none;font-weight:900;color:#fff;background:var(--teal)}
  .mobile-cta a:last-child{background:var(--navy)}
  body{padding-bottom:4.3rem}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
