:root{
  --cream:#F8F4E9;
  --ivory:#FCFAF3;
  --sage:#7A8963;
  --olive:#566548;
  --gold:#E9C96A;
  --text:#283029;
  --line:#DED8C8;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.7}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(252,250,243,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(222,216,200,.7)}
.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:23px;letter-spacing:.04em;white-space:nowrap}
.logo i{font-style:normal}
.logo-mark{font-size:30px;color:var(--olive)}
.nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}
.nav a:not(.btn){transition:.2s}
.nav a:not(.btn):hover{color:var(--olive)}
.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--olive)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 23px;border-radius:999px;background:var(--gold);font-weight:700;font-size:13px;letter-spacing:.02em;transition:.2s;box-shadow:0 7px 18px rgba(70,60,20,.08)}
.btn:hover{transform:translateY(-2px)}
.btn-small{padding:11px 17px;background:var(--olive);color:white}
.btn-green{background:var(--olive);color:white}
.btn-light{background:var(--gold);color:var(--text)}
.hero{background:var(--cream)}
.hero-grid{min-height:610px;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.hero-copy{padding:80px 40px 80px 0;max-width:650px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--olive);margin:0 0 13px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(48px,6vw,76px)}
h2{font-size:clamp(38px,4vw,54px)}
h3{font-size:28px}
.lead{font-family:var(--serif);font-size:27px;margin:-5px 0 22px}
.hero-copy>p:not(.eyebrow):not(.lead){max-width:570px;margin-bottom:30px}
.hero-image{height:520px;background:linear-gradient(135deg,rgba(122,137,99,.1),rgba(233,201,106,.18)),url("images/hero.jpg") center/cover;border-radius:0 0 0 120px}
.section{padding:105px 0}
.section-heading{text-align:center;max-width:720px;margin:0 auto 50px}
.section-heading h2{margin-bottom:0}
.services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.service-card{background:#EAEFDF;border:1px solid rgba(122,137,99,.12);border-radius:var(--radius);padding:30px 21px;display:flex;flex-direction:column;align-items:flex-start;min-height:330px}
.service-card.accent{background:#FBF1D7}
.service-icon{font-size:33px;margin-bottom:22px;color:var(--olive)}
.service-card h3{font-size:26px}
.service-card p{font-size:13px;line-height:1.65;margin:0 0 18px}
.service-card strong{margin-top:auto;font-size:14px}
.service-card a{margin-top:16px;background:var(--olive);color:white;border-radius:999px;padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase}
.service-card.accent a{background:var(--gold);color:var(--text)}
.values{padding:90px 0;background:linear-gradient(90deg,#F4F1E5,#EEF1E3,#F4F1E5)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;text-align:center}
.values-grid span{font-size:28px}
.values-grid h3{font-size:29px;margin:10px 0 4px}
.values-grid p{margin:0;max-width:280px;margin-inline:auto}
.special{padding:95px 0;background:var(--cream)}
.special-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.special-photo{min-height:440px;border-radius:24px;background:linear-gradient(135deg,rgba(86,101,72,.08),rgba(233,201,106,.15)),url("images/flowers.jpg") center/cover}
.special p{max-width:580px}
.about{background:var(--ivory)}
.about-grid{display:grid;grid-template-columns:390px 1fr;gap:75px;align-items:center}
.about-photo{height:500px;border-radius:24px;background:url("images/eva.jpg") center/cover;box-shadow:0 20px 50px rgba(70,60,20,.1)}
.about p{max-width:720px}
.process{background:var(--cream)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;text-align:center}
.process-grid b{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:50%;background:var(--gold);font-family:var(--serif);font-size:25px}
.process-grid h3{font-size:27px;margin:15px 0 5px}
.process-grid p{font-size:14px;margin:0}
.pricing{background:var(--ivory)}
.pricing-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pricing-grid article{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white}
.pricing-grid h3{font-size:23px;background:#E9EBD9;padding:16px 15px;margin:0}
.pricing-grid article:nth-child(even) h3{background:#FBF1D7}
.pricing-grid p{font-size:12px;padding:0 15px;display:flex;justify-content:space-between;gap:8px}
.pricing-grid p b{white-space:nowrap}
.note{text-align:center;font-size:12px;margin-top:25px}
.cta{padding:95px 0;background:var(--olive);color:white;text-align:center}
.cta .eyebrow{color:var(--gold)}
.cta p{max-width:650px;margin:0 auto 25px}
.footer{padding:35px 0;background:#30382E;color:#F8F4E9;font-size:12px}
.footer-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:30px;align-items:center}
.footer strong{font-family:var(--serif);font-size:24px}
.footer p{margin:3px 0}
@media(max-width:1000px){
  .nav{gap:13px}
  .services-grid{grid-template-columns:repeat(3,1fr)}
  .pricing-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  body{font-size:15px}
  .site-header{position:sticky}
  .nav-wrap{min-height:64px}
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--ivory);padding:20px 6%;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{text-align:center;padding:9px}
  .hero-grid,.special-grid,.about-grid{grid-template-columns:1fr}
  .hero-copy{padding:60px 0 40px}
  .hero-image{height:330px;border-radius:0 0 0 70px}
  .section{padding:75px 0}
  .services-grid,.values-grid,.process-grid,.pricing-grid{grid-template-columns:1fr}
  .service-card{min-height:auto}
  .special-photo{min-height:300px}
  .about-photo{height:380px}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  h1{font-size:49px}
  .lead{font-size:24px}
}
