
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

:root{
  --navy:#163969;
  --blue:#315d99;
  --periwinkle:#829bd2;
  --mist:#eef3fb;
  --cream:#fbf9f4;
  --sage:#7d927b;
  --ink:#25364f;
  --muted:#68768a;
  --white:#fff;
  --shadow:0 18px 55px rgba(26,58,103,.12);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.7;background:#fff}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(1160px,calc(100% - 40px));margin:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;color:var(--blue)}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(3.2rem,7vw,6.4rem);font-weight:600;letter-spacing:-.035em}
h2{font-size:clamp(2.35rem,4.5vw,4rem);font-weight:600}
h3{font-size:1.75rem}
p{margin:0 0 18px}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;background:var(--navy);color:#fff !important;font-weight:600;border:1px solid var(--navy);transition:.2s transform,.2s background,.2s box-shadow;cursor:pointer}
.btn:hover{transform:translateY(-2px);background:#214c85;box-shadow:0 12px 30px rgba(22,57,105,.22)}
.btn-outline{background:transparent;color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(49,93,153,.1)}
.nav-wrap{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:220px;height:70px;object-fit:contain;object-position:left center}
.nav{display:flex;align-items:center;gap:28px}
.nav a{font-size:.95rem;font-weight:500;color:#29405f}
.nav a:hover,.nav a[aria-current="page"]{color:var(--blue)}
.menu-toggle{display:none;border:0;background:none;font-size:1.6rem;color:var(--navy)}
.hero{overflow:hidden;background:
radial-gradient(circle at 80% 15%,rgba(154,177,225,.35),transparent 32%),
linear-gradient(135deg,#fbfcff 0%,#f1f5fb 46%,#edf2f8 100%)}
.hero-grid{min-height:700px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:30px}
.hero-copy{padding:80px 0}
.hero-copy .lead{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;color:#385276;max-width:650px}
.hero-copy .body{max-width:650px;color:#596b82}
.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin:28px 0}
.trust-row{display:flex;flex-wrap:wrap;gap:22px;color:#52667f;font-size:.9rem}
.trust-row span:before{content:"✦";color:var(--periwinkle);margin-right:8px}
.hero-art{align-self:end;position:relative}
.hero-art img{width:100%;max-height:660px;object-fit:contain;filter:drop-shadow(0 25px 30px rgba(45,72,115,.14))}
.section{padding:105px 0}
.section-soft{background:var(--cream)}
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:80px;align-items:center}
.art-card{border-radius:50% 50% 42% 58% / 55% 46% 54% 45%;background:linear-gradient(145deg,#edf3ff,#fff);padding:48px;box-shadow:var(--shadow)}
.art-card img{border-radius:22px}
.checks{display:grid;gap:13px;margin:25px 0}
.checks div{display:flex;gap:12px}
.checks div:before{content:"✓";display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#e9f0ff;color:var(--blue);font-weight:700}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.card{background:#fff;padding:32px;border:1px solid #e5ebf4;border-radius:var(--radius);box-shadow:0 12px 34px rgba(30,63,105,.07)}
.icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,#e7eeff,#f9fbff);display:grid;place-items:center;font-size:1.55rem;margin-bottom:20px}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}
.step{padding:30px;border-left:1px solid #cdd9ec}
.step-num{font-family:"Cormorant Garamond";font-size:3rem;color:#91a8d5;line-height:1}
.quote{padding:95px 0;background:linear-gradient(135deg,#183b6d,#274f83);color:white;text-align:center}
.quote h2,.quote p{color:#fff}
.quote p{max-width:710px;margin:0 auto 26px;color:#dce7f7}
.faq{max-width:850px;margin:40px auto 0}
details{border-bottom:1px solid #dce4ef;padding:19px 0}
summary{cursor:pointer;font-weight:600;color:var(--navy)}
details p{padding-top:13px;color:var(--muted)}
.page-hero{padding:95px 0;background:linear-gradient(135deg,#f8faff,#edf3fb);text-align:center}
.page-hero p{max-width:720px;margin:auto;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:start}
.contact-panel{background:var(--navy);color:white;padding:38px;border-radius:var(--radius);box-shadow:var(--shadow)}
.contact-panel h2,.contact-panel h3{color:#fff}
.contact-item{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.contact-item small{display:block;color:#bdcee5;text-transform:uppercase;letter-spacing:.12em}
.form-card{background:#fff;border:1px solid #e2e9f3;padding:40px;border-radius:var(--radius);box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:600;font-size:.9rem;color:#304765}
input,select,textarea{width:100%;padding:14px 15px;border:1px solid #cbd6e5;border-radius:12px;background:#fbfdff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(76,116,179,.14);border-color:var(--blue)}
textarea{min-height:150px;resize:vertical}
.notice{font-size:.82rem;color:var(--muted)}
.alert{display:none;padding:13px 15px;border-radius:10px;margin-bottom:18px}
.alert.success{display:block;background:#e9f7ef;color:#26613f}
.alert.error{display:block;background:#fff0f0;color:#8a3131}
.bio-card{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center;background:#fff;border-radius:var(--radius);padding:38px;box-shadow:var(--shadow)}
.portrait-placeholder{aspect-ratio:4/5;border-radius:160px 160px 28px 28px;background:linear-gradient(150deg,#dbe6f7,#f8fafc);display:grid;place-items:center;text-align:center;padding:28px;color:#60728c}
.footer{background:#102f57;color:#d6e1ef;padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:40px}
.footer img{width:260px;background:#fff;border-radius:16px;padding:8px}
.footer h3{color:#fff;font-size:1.25rem}
.footer a{display:block;margin:7px 0;color:#dce6f3}
.footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px;font-size:.82rem;color:#aebfd5}
.disclaimer{font-size:.78rem;color:#8c99aa;margin-top:25px}
@media (max-width:900px){
 .menu-toggle{display:block}
 .nav{display:none;position:absolute;top:92px;left:0;right:0;background:#fff;padding:24px 20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
 .nav.open{display:flex}
 .hero-grid,.split,.contact-grid{grid-template-columns:1fr}
 .hero-grid{min-height:auto}
 .hero-copy{padding:65px 0 0}
 .hero-art{max-width:540px;margin:auto}
 .cards,.process{grid-template-columns:1fr}
 .bio-card{grid-template-columns:1fr}
 .portrait-placeholder{max-width:280px}
 .footer-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
 .container{width:min(100% - 28px,1160px)}
 .brand img{width:180px;height:62px}
 .nav-wrap{min-height:76px}
 .nav{top:76px}
 .section{padding:74px 0}
 h1{font-size:3.25rem}
 .form-grid{grid-template-columns:1fr}
 .field.full{grid-column:auto}
 .form-card{padding:25px}
 .footer-bottom{flex-direction:column}
}


/* Keep the navigation CTA text white */
.nav .btn,
.nav .btn:visited,
.nav .btn:hover,
.nav .btn:focus{
    color:#ffffff !important;
}


/* ===== Global Button Contrast Fix ===== */
.btn,
.btn:link,
.btn:visited,
.btn:hover,
.btn:focus,
.btn:active{
    color:#ffffff !important;
    text-decoration:none !important;
}

.btn svg,
.btn i,
.btn span{
    color:inherit !important;
}

.btn-outline,
.btn-outline:link,
.btn-outline:visited{
    color:var(--navy) !important;
    background:transparent;
}

.btn-outline:hover,
.btn-outline:focus,
.btn-outline:active{
    background:var(--navy) !important;
    color:#ffffff !important;
}

.hero .btn,
.site-header .btn,
.quote .btn,
.form-card .btn,
.contact-panel .btn,
.footer .btn{
    color:#ffffff !important;
}

a.btn{
    color:#ffffff !important;
}

a.btn-outline{
    color:var(--navy) !important;
}

a.btn-outline:hover,
a.btn-outline:focus,
a.btn-outline:active{
    color:#ffffff !important;
}


/* ===== Premium visual refinements ===== */
:root{
  --focus-ring:0 0 0 4px rgba(49,93,153,.18);
}
body{
  background:
    radial-gradient(circle at 10% 10%,rgba(130,155,210,.05),transparent 24%),
    #fff;
}
.site-header{
  box-shadow:0 6px 24px rgba(28,55,92,.05);
}
.hero{
  position:relative;
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:-1;
  background:
    radial-gradient(circle at 75% 25%,rgba(152,177,226,.22),transparent 25%),
    radial-gradient(circle at 20% 75%,rgba(125,146,123,.12),transparent 22%);
  animation:heroDrift 18s ease-in-out infinite alternate;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.28;
  background-image:url("../images/delphinium-flowers.svg");
  background-repeat:no-repeat;
  background-position:108% 45%;
  background-size:min(44vw,620px);
  filter:blur(.3px);
}
.hero-art img{
  animation:flowerFloat 7s ease-in-out infinite;
}
.card{
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.card:hover{
  transform:translateY(-7px);
  border-color:#cbd9ef;
  box-shadow:0 22px 48px rgba(30,63,105,.12);
}
.icon{
  color:var(--blue);
  overflow:hidden;
}
.icon img{
  width:30px;
  height:30px;
}
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .75s ease,transform .75s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}
.btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:none;
  box-shadow:var(--focus-ring);
}
.map-card{
  overflow:hidden;
  border-radius:var(--radius);
  border:1px solid #e1e8f2;
  box-shadow:var(--shadow);
  min-height:420px;
  background:#eef3fb;
}
.map-card iframe{
  width:100%;
  height:420px;
  border:0;
  display:block;
}
.mobile-cta{
  display:none;
}
@keyframes flowerFloat{
  0%,100%{transform:translateY(0) rotate(-.2deg)}
  50%{transform:translateY(-12px) rotate(.3deg)}
}
@keyframes heroDrift{
  0%{transform:translate3d(-1%,0,0) scale(1)}
  100%{transform:translate3d(2%,-1%,0) scale(1.04)}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
@media(max-width:900px){
  .hero::after{opacity:.12;background-size:80vw;background-position:130% 25%}
  .mobile-cta{
    display:flex;
    position:fixed;
    left:14px;
    right:14px;
    bottom:14px;
    z-index:30;
    justify-content:center;
    box-shadow:0 14px 35px rgba(17,49,91,.28);
  }
  body{padding-bottom:74px}
}
