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

:root{
  --sage:#A8B5A0;
  --sage-dark:#667463;
  --gold:#C8A96B;
  --gold-light:#E4D2A7;
  --cream:#F8F5EE;
  --white:#FFFDF9;
  --ink:#27312B;
  --muted:#66706A;
  --line:#D9DED5;
  --shadow:0 18px 50px rgba(39,49,43,.10);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Montserrat,Arial,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.7;
}
img{max-width:100%}
a{color:inherit;text-decoration:none}
.container{width:min(1120px,92%);margin:auto}
.narrow{width:min(820px,90%);margin:auto}
.eyebrow{
  font-size:.76rem;
  letter-spacing:.20em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--sage-dark);
}
h1,h2,h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  line-height:1.06;
  margin-top:0;
  color:var(--ink);
}
h1{font-size:clamp(3.25rem,7vw,6rem);font-weight:600}
h2{font-size:clamp(2.45rem,5vw,4rem);font-weight:600}
h3{font-size:1.9rem;margin-bottom:10px}
p{color:var(--muted)}
.lead{font-size:1.08rem}
.center{text-align:center}
.center .lead{max-width:760px;margin:16px auto 0}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 24px;
  border-radius:999px;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid transparent;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--ink);color:#fff}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}

header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,253,249,.95);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
nav{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand img{width:160px;height:auto;display:block}
.navlinks{display:flex;align-items:center;gap:24px;font-size:.8rem;font-weight:600}
.navlinks a:not(.btn):hover{color:var(--sage-dark)}

section{padding:94px 0}
.hero{
  background:linear-gradient(135deg,var(--cream) 0%,#F2F4ED 55%,#E6EBDD 100%);
  padding:88px 0 100px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:68px;
  align-items:center;
}
.hero h1{margin:14px 0 22px}
.hero h1 em{font-style:italic;color:var(--sage-dark)}
.hero-copy{font-size:1.08rem;max-width:650px;margin-bottom:28px}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}
.hero-photo-wrap{
  width:min(430px,100%);
  aspect-ratio:4/5;
  justify-self:center;
  border-radius:190px 190px 28px 28px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:8px solid rgba(255,253,249,.8);
}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}

.cards{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.card{
  padding:32px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.number{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.2rem;
  color:var(--gold);
  font-weight:700;
}

.offer{background:var(--sage)}
.offer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}
.offer p{color:#3f4a42}
.offer-list{display:grid;gap:14px;margin-top:28px}
.offer-list>div{display:flex;gap:12px;align-items:flex-start}
.check{
  width:25px;height:25px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--gold);
  color:#fff;
  font-weight:700;
}
.offer-box{
  background:var(--white);
  padding:40px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.method{background:var(--cream)}
.method-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:45px;
}
.method-step{
  background:var(--white);
  padding:30px;
  border-radius:var(--radius);
  border:1px solid var(--line);
}
.method-step strong{
  display:block;
  color:var(--gold);
  letter-spacing:.12em;
  font-size:.75rem;
  margin-bottom:12px;
}

.program{background:var(--white)}
.program-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:70px;
  align-items:start;
}
.inclusions{
  display:grid;
  gap:10px;
  margin:28px 0;
  color:var(--ink);
}
.program-box{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:38px;
  box-shadow:var(--shadow);
  position:sticky;
  top:110px;
}
.price{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:4.6rem;
  line-height:1;
  color:var(--ink);
  margin:14px 0 0;
}
.small{font-size:.9rem}

.testimonials{background:#fff}
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  margin-top:40px;
}
.testimonial-card{
  position:relative;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:34px;
  box-shadow:0 10px 28px rgba(39,49,43,.05);
}
.quote-mark{
  font-family:Georgia,serif;
  font-size:4.2rem;
  line-height:.8;
  color:var(--gold);
  margin-bottom:16px;
}
.testimonial-text{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.22rem;
  line-height:1.55;
  color:var(--ink);
}
.testimonial-name{margin-top:22px;font-weight:800}
.testimonial-meta{font-size:.84rem;color:var(--muted)}
.testimonial-cta{margin-top:34px}

.about{background:var(--cream)}
.about-grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:70px;
  align-items:center;
}
.portrait{
  min-height:470px;
  border-radius:120px 120px 24px 24px;
  background:linear-gradient(160deg,#D8DED2,#A8B5A0);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.about-logo{
  width:min(78%,360px)!important;
  height:auto!important;
  padding:0!important;
  margin:auto!important;
  object-fit:contain!important;
}
.quote{
  margin:26px 0;
  padding:22px 0 0 24px;
  border-left:3px solid var(--gold);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.65rem;
  line-height:1.25;
  color:var(--ink);
}

.cta{
  background:var(--ink);
  color:#fff;
  text-align:center;
}
.cta h2{color:#fff}
.cta p{color:#D7DED8}
.cta .eyebrow{color:var(--gold-light)}
.cta .btn-primary{background:var(--gold);color:#fff}

footer{background:#202923;color:#D7DED8;padding:34px 0}
footer .container{display:flex;justify-content:space-between;align-items:center;gap:28px}
.footer-brand img{width:145px;filter:brightness(0) invert(1)}
.footer-copy{text-align:right;font-size:.88rem}
.footer-copy a{text-decoration:underline}

/* Application page */
.application-hero{
  background:linear-gradient(135deg,var(--cream),#E9EEDF);
  text-align:center;
  padding:80px 0 70px;
}
.application-hero h1{font-size:clamp(2.9rem,6vw,5rem);margin:14px 0 20px}
.application-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:42px;
  box-shadow:var(--shadow);
}
form{display:grid;gap:20px}
label{
  display:grid;
  gap:8px;
  font-weight:600;
  color:var(--ink);
}
input,textarea,select{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px 15px;
  background:#fff;
  font:inherit;
  color:var(--ink);
}
textarea{min-height:120px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid rgba(200,169,107,.28);border-color:var(--gold)}
.checkbox{
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:12px;
  font-weight:500;
}
.checkbox input{width:auto;margin-top:5px}
.form-note,.notice,.next-step{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:16px;
  padding:20px;
}
.next-steps{display:grid;gap:16px;margin-top:30px}

@media(max-width:900px){
  .navlinks{gap:14px;font-size:.74rem}
  .hero-grid,.offer-grid,.program-grid,.about-grid{grid-template-columns:1fr}
  .method-grid{grid-template-columns:repeat(2,1fr)}
  .program-box{position:static}
}
@media(max-width:700px){
  .container{width:min(92%,1120px)}
  section{padding:68px 0}
  nav{min-height:70px}
  .brand img{width:130px}
  .navlinks a:not(.btn){display:none}
  .hero{padding:60px 0 70px}
  .hero-grid{gap:38px}
  .cards,.testimonial-grid,.method-grid{grid-template-columns:1fr}
  .hero-photo-wrap{width:min(360px,92%)}
  .offer-box,.application-card{padding:28px}
  .portrait{min-height:360px}
  footer .container{flex-direction:column;text-align:center}
  .footer-copy{text-align:center}
}
