
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Lato:wght@300;400;700;900&display=swap');
:root{--dark:#2e332d;--sage:#4f5b4a;--soft:#dfe7dc;--cream:#f7f4ee;--linen:#ece5da;--taupe:#a58e7c;--gold:#c8a66b;--white:#fff;--muted:#687064;--border:rgba(46,51,45,.14);--shadow:0 24px 70px rgba(46,51,45,.13)}
*{box-sizing:border-box} body{margin:0;background:var(--cream);color:var(--dark);font-family:Lato,Arial,sans-serif;line-height:1.7} img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:0 auto}.topbar{background:var(--dark);color:var(--cream);text-align:center;padding:9px 15px;font-size:.86rem;letter-spacing:.04em}.site-header{position:sticky;top:0;z-index:99;background:rgba(247,244,238,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--dark)}.brand img{width:56px;height:56px;object-fit:contain}.brand strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.35rem;line-height:1}.brand span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:900;color:var(--muted);margin-top:2px}.nav-links{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.nav-links a{text-decoration:none;color:var(--dark);font-weight:900;font-size:.9rem}.nav-links a:hover{color:var(--taupe)}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;color:var(--dark);line-height:1.05;margin:0}h1{font-size:clamp(3.1rem,7vw,6.4rem);letter-spacing:-.065em}h2{font-size:clamp(2.35rem,4vw,4rem);letter-spacing:-.045em}h3{font-size:1.65rem;letter-spacing:-.02em}p{margin:0}.lead{font-size:clamp(1.03rem,1.5vw,1.22rem);color:var(--muted);max-width:750px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--taupe);font-size:.76rem;font-weight:900;margin-bottom:12px}.btn,.spwidget-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px!important;padding:14px 24px!important;border-radius:999px!important;border:1px solid transparent!important;text-decoration:none!important;font-family:Lato,Arial,sans-serif!important;font-size:.92rem!important;font-weight:900!important;letter-spacing:.04em!important;transition:.2s}.btn:hover,.spwidget-button:hover{transform:translateY(-2px)}.btn-primary,.spwidget-button{background:var(--dark)!important;color:var(--cream)!important;box-shadow:0 14px 32px rgba(46,51,45,.18)!important}.btn-light{background:rgba(255,255,255,.84);color:var(--dark);border-color:var(--border)!important}.btn-outline{background:transparent;color:var(--dark);border-color:rgba(46,51,45,.28)!important}.button-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:30px}.spwidget-button-wrapper{text-align:left!important;display:inline-flex!important}.hero{padding:88px 0 76px;background:radial-gradient(circle at 10% 0%,rgba(200,166,107,.28),transparent 32%),linear-gradient(135deg,var(--cream),var(--soft));overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:58px}.hero h1{margin-bottom:24px}.hero .lead{margin-top:18px}.hero-photo-wrap{position:relative}.hero-photo{min-height:650px;border-radius:42px;background:url('assets/hero.png') center/cover no-repeat;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.65)}.hero-card{position:absolute;left:-26px;bottom:30px;max-width:360px;background:rgba(247,244,238,.9);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.72);border-radius:30px;padding:26px;box-shadow:0 14px 38px rgba(46,51,45,.09)}.hero-card p{color:var(--muted);font-size:.96rem;margin-top:8px}.section{padding:88px 0}.white{background:var(--white)}.linen{background:var(--linen)}.center{text-align:center}.narrow{max-width:830px;margin:0 auto}.section-title{margin-bottom:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.topspace{margin-top:42px}.card{background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:30px;padding:31px;box-shadow:0 14px 38px rgba(46,51,45,.075)}.card .num{color:var(--gold);font-weight:900;letter-spacing:.12em;font-size:.78rem;margin-bottom:14px}.card p{color:var(--muted);margin-top:12px}.split{display:grid;grid-template-columns:.96fr 1.04fr;gap:58px;align-items:center}.frame{min-height:520px;border-radius:42px;background-size:cover;background-position:center;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.7)}.img-about{background-image:url('assets/headshot.png')}.img-office{background-image:url('assets/office.png')}.img-calm{background-image:url('assets/about.png')}.img-graphic{background-image:url('assets/graphic.png');background-size:contain;background-repeat:no-repeat;background-color:var(--cream)}.about-text p+p{margin-top:18px}.badges{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}.badge{padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid var(--border);font-size:.86rem;font-weight:900}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}.service-item{background:var(--cream);border:1px solid var(--border);padding:22px;border-radius:24px}.service-item h3{font-size:1.45rem}.service-item p{color:var(--muted);margin-top:9px;font-size:.96rem}.insurance-item{background:rgba(255,255,255,.78);border:1px solid var(--border);border-radius:22px;min-height:82px;display:grid;place-items:center;text-align:center;padding:18px;font-weight:900;box-shadow:0 8px 24px rgba(46,51,45,.05)}.page-hero{padding:76px 0 62px;background:linear-gradient(135deg,var(--linen),var(--soft))}.page-hero h1{margin-bottom:18px}.faq-wrap{display:grid;gap:16px;margin-top:36px}.faq-item{background:rgba(255,255,255,.88);border:1px solid var(--border);border-radius:28px;padding:26px 28px;box-shadow:0 8px 26px rgba(46,51,45,.055)}.faq-item p{color:var(--muted);margin-top:10px}.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:start}.contact-card{background:var(--dark);color:var(--cream);border-radius:34px;padding:34px;box-shadow:var(--shadow)}.contact-card h2,.contact-card h3{color:var(--cream)}.contact-card a{color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(247,244,238,.35)}.contact-list{display:grid;gap:16px;margin-top:26px}.contact-list span{display:block;color:rgba(247,244,238,.72);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;margin-bottom:3px}.contact-panel{background:var(--white);border:1px solid var(--border);border-radius:34px;padding:34px;box-shadow:0 14px 38px rgba(46,51,45,.075)}.note{color:var(--muted);font-size:.9rem;margin-top:16px}.cta{background:var(--dark);color:var(--cream);padding:78px 0}.cta h2,.cta h3,.cta p{color:var(--cream)}.cta .lead{color:rgba(247,244,238,.78)}.cta-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.cta-panel{background:rgba(255,255,255,.08);border:1px solid rgba(247,244,238,.16);border-radius:32px;padding:32px}.cta-panel .btn-light{background:var(--cream)}.footer{background:#1f241e;color:var(--cream);padding:48px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:34px}.footer-logo{width:74px;margin-bottom:12px;filter:brightness(1.4)}.footer h3{color:var(--cream);font-size:1.32rem}.footer p,.footer a{color:rgba(247,244,238,.76);text-decoration:none;font-size:.94rem}.footer-links{display:grid;gap:8px;margin-top:12px}.footer-bottom{border-top:1px solid rgba(247,244,238,.12);margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.disclaimer{font-size:.84rem!important;max-width:760px}@media(max-width:980px){.nav{align-items:flex-start;flex-direction:column;padding:18px 0}.hero-grid,.split,.cta-grid,.contact-grid{grid-template-columns:1fr}.hero-photo{min-height:470px}.hero-card{position:relative;left:auto;bottom:auto;margin:-70px 22px 0}.grid3{grid-template-columns:1fr 1fr}.grid4{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}}@media(max-width:640px){.brand strong{font-size:1.08rem}.brand span{font-size:.62rem}.brand img{width:48px;height:48px}.hero{padding:58px 0}.section{padding:62px 0}h1{font-size:3.05rem}h2{font-size:2.45rem}.grid3,.grid4,.service-list{grid-template-columns:1fr}.frame{min-height:380px}.hero-photo{min-height:420px;border-radius:30px}.card,.contact-card,.contact-panel{padding:25px;border-radius:26px}.btn,.spwidget-button{width:100%}}

/* Requested edits */
.home-hero-title {
  font-size: clamp(2.55rem, 5.2vw, 4.8rem) !important;
  max-width: 760px;
}

.hero-photo {
  background-position: center 18% !important;
}

.img-about {
  background-position: center 14% !important;
}

.email-form {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.email-form label {
  display: block;
  font-weight: 900;
  color: var(--dark);
  font-size: .86rem;
  margin-bottom: 7px;
}

.email-form input,
.email-form textarea {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px 15px;
  background: var(--cream);
  color: var(--dark);
  font: inherit;
}

.email-form textarea {
  min-height: 140px;
  resize: vertical;
}

@media(max-width:640px){
  .home-hero-title {
    font-size: 2.55rem !important;
  }
}


/* Luxury animation + editorial layout upgrade */
body {
  overflow-x: hidden;
}

.site-header {
  box-shadow: 0 10px 28px rgba(46, 51, 45, 0.04);
}

.hero {
  min-height: calc(100vh - 96px);
  display: flex;
  align-items: center;
}

.hero-grid {
  gap: clamp(42px, 6vw, 82px);
}

.hero h1 {
  max-width: 780px;
}

.hero-photo {
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
}

.hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(46,51,45,0.02), rgba(46,51,45,0.10)),
    radial-gradient(circle at 50% 10%, rgba(255,255,255,0.16), transparent 38%);
  pointer-events: none;
}

.hero-photo-wrap {
  animation: floatImage 8s ease-in-out infinite;
}

.hero-card {
  animation: floatCard 7s ease-in-out infinite;
}

.section {
  position: relative;
}

.section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(920px, 80vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(to right, transparent, rgba(46,51,45,.10), transparent);
}

.white::before,
.cta::before,
.footer::before {
  display: none;
}

.card,
.service-item,
.faq-item,
.insurance-item,
.contact-card,
.contact-panel,
.cta-panel {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.card:hover,
.service-item:hover,
.faq-item:hover,
.insurance-item:hover,
.contact-panel:hover,
.cta-panel:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 58px rgba(46,51,45,.12);
  border-color: rgba(165,142,124,.28);
}

.btn,
.spwidget-button {
  position: relative;
  overflow: hidden;
}

.btn::after,
.spwidget-button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent, rgba(255,255,255,.22), transparent);
  transform: translateX(-120%);
  transition: transform .6s ease;
}

.btn:hover::after,
.spwidget-button:hover::after {
  transform: translateX(120%);
}

.frame {
  position: relative;
  overflow: hidden;
  transition: transform .45s ease, box-shadow .45s ease;
}

.frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(46,51,45,0.00), rgba(46,51,45,0.10)),
    radial-gradient(circle at 30% 15%, rgba(255,255,255,.20), transparent 36%);
  pointer-events: none;
}

.frame:hover {
  transform: scale(1.015);
  box-shadow: 0 30px 86px rgba(46,51,45,.16);
}

.luxury-band {
  padding: 34px 0;
  background: var(--dark);
  color: var(--cream);
  overflow: hidden;
  border-top: 1px solid rgba(247,244,238,.10);
  border-bottom: 1px solid rgba(247,244,238,.10);
}

.luxury-marquee {
  display: flex;
  width: max-content;
  animation: marquee 32s linear infinite;
  gap: 42px;
  white-space: nowrap;
}

.luxury-marquee span {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  color: rgba(247,244,238,.88);
  letter-spacing: .01em;
}

.luxury-marquee em {
  color: var(--gold);
  font-style: normal;
}

.editorial-intro {
  padding: 110px 0;
  background:
    radial-gradient(circle at 85% 20%, rgba(200,166,107,.15), transparent 35%),
    var(--cream);
}

.editorial-grid {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 60px;
  align-items: center;
}

.editorial-kicker {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2rem, 4vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -.05em;
  color: var(--dark);
}

.editorial-copy {
  color: var(--muted);
  font-size: 1.08rem;
  max-width: 680px;
}

.image-stack {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 20px;
  align-items: end;
}

.stack-small {
  min-height: 310px;
  border-radius: 36px;
  background: url("assets/office.png") center/cover no-repeat;
  box-shadow: 0 18px 46px rgba(46,51,45,.12);
  transform: translateY(38px);
}

.stack-large {
  min-height: 480px;
  border-radius: 42px;
  background: url("assets/headshot.png") center 14%/cover no-repeat;
  box-shadow: var(--shadow);
}

.reveal {
  opacity: 0;
  transform: translateY(34px);
  animation: revealUp .9s ease forwards;
  animation-timeline: view();
  animation-range: entry 10% cover 34%;
}

.reveal-soft {
  opacity: 0;
  transform: translateY(22px) scale(.985);
  animation: revealSoft .95s ease forwards;
  animation-timeline: view();
  animation-range: entry 8% cover 30%;
}

.stagger-1 { animation-delay: .06s; }
.stagger-2 { animation-delay: .12s; }
.stagger-3 { animation-delay: .18s; }

@supports not (animation-timeline: view()) {
  .reveal,
  .reveal-soft {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

@keyframes revealUp {
  from { opacity: 0; transform: translateY(34px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes revealSoft {
  from { opacity: 0; transform: translateY(22px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes floatImage {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes floatCard {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(8px); }
}

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media(max-width:980px){
  .hero {
    min-height: auto;
  }

  .editorial-grid,
  .image-stack {
    grid-template-columns: 1fr;
  }

  .stack-small {
    transform: none;
    min-height: 300px;
  }

  .stack-large {
    min-height: 420px;
  }

  .luxury-marquee {
    animation-duration: 24s;
  }
}

@media(max-width:640px){
  .editorial-intro {
    padding: 68px 0;
  }

  .luxury-band {
    padding: 24px 0;
  }

  .luxury-marquee {
    gap: 24px;
  }
}

@media(prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
