
:root{
  --ivory:#faf6f1;
  --warm-ivory:#f5eee6;
  --nude:#e8d8cb;
  --dusty-rose:#cda8a1;
  --soft-taupe:#a9998b;
  --champagne:#c7a56d;
  --ink:#413832;
  --muted:#72675f;
  --panel:#fffaf5;
  --line:#eadfd5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--ivory);
  font-family:Arial,Helvetica,sans-serif;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}

.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(250,246,241,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.header-row{min-height:84px;display:flex;align-items:center;gap:28px}
.brand img{width:118px;height:68px;object-fit:contain}
.site-nav{display:flex;gap:26px;margin-left:auto}
.site-nav a{
  font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#70645b
}
.site-nav a:hover{color:#b4876a}
.menu-toggle{
  display:none;background:none;border:0;padding:0;width:40px;height:34px;margin-left:auto;cursor:pointer
}
.menu-toggle span{display:block;height:2px;background:#8c7c71;margin:7px 0;border-radius:999px}

.button{
  min-height:46px;padding:0 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase
}
.button-fill{background:var(--champagne);color:#2d2622}
.button-fill:hover{background:#d2b27d}
.button-outline{border-color:#dbcdbf;color:#715b4f}
.button-outline:hover{border-color:#c7a56d;color:#9b7454}

.hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fbf8f4 0%, #f6eee7 100%);
}
.soft-shape{
  position:absolute;border-radius:999px;filter:blur(4px);opacity:.45;pointer-events:none
}
.soft-shape-1{
  width:320px;height:320px;left:-120px;top:90px;background:rgba(205,168,161,.22)
}
.soft-shape-2{
  width:420px;height:420px;right:-150px;top:-40px;background:rgba(232,216,203,.75)
}
.hero-grid{
  min-height:740px;
  display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center
}
.eyebrow{
  margin:0 0 14px;
  font-size:11px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase;color:#a57f67
}
.hero h1,
.section-head h2,
.story-copy h2,
.rituals-copy h2,
.contact-copy h2{
  margin:0 0 18px;
  font:400 clamp(46px,6vw,76px)/1.02 Georgia,serif;
  color:#3b312b;
}
.lead{
  max-width:560px;color:#70645b;font-size:18px;line-height:1.85
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-image{margin:0}
.hero-image img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:34px;
  box-shadow:0 24px 60px rgba(145,117,91,.12)
}

.welcome{
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.welcome-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.welcome article{padding:30px 26px;border-right:1px solid var(--line)}
.welcome article:last-child{border-right:0}
.welcome small{display:block;color:#b28c75;text-transform:uppercase;letter-spacing:1.6px;margin-bottom:10px}
.welcome h3{margin:0 0 10px;font:400 24px/1.2 Georgia,serif;color:#3f342d}
.welcome p{margin:0;color:#766a62;line-height:1.75}

.section{padding:100px 0}
.section-head{max-width:760px;margin:0 auto 44px;text-align:center}
.section-head h2{font-size:clamp(38px,4vw,60px)}
.section-head p{margin:0;color:#7b7069;line-height:1.8}

.services{background:var(--warm-ivory)}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.service-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(164,137,112,.06);
}
.service-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.service-copy{padding:22px}
.service-copy h3{margin:0 0 10px;font:400 27px/1.18 Georgia,serif;color:#3b302a}
.service-copy p{margin:0 0 18px;color:#73675f;line-height:1.75}
.service-copy a{color:#a17d62;font-size:12px;letter-spacing:1px;text-transform:uppercase}

.story{background:#fff}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.story-image{margin:0}
.story-image img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:30px}
.story-copy p:not(.eyebrow){color:#6f645d;line-height:1.85}
.story-copy blockquote{
  margin:26px 0;
  padding:0 0 0 18px;
  border-left:2px solid #dcc4b6;
  color:#8d6d5a;
  font:italic 27px/1.55 Georgia,serif;
}

.rituals{background:#fdf9f5}
.rituals-grid{display:grid;grid-template-columns:1fr .95fr;gap:60px;align-items:center}
.rituals-copy p:not(.eyebrow){color:#736861;line-height:1.85}
.tag-list{
  list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px
}
.tag-list li{
  padding:10px 16px;border-radius:999px;background:#f1e5dd;color:#775f52;font-size:12px
}
.testimonial-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:30px;
  padding:24px;
  box-shadow:0 16px 38px rgba(164,137,112,.08);
}
.testimonial-top{
  display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center
}
.testimonial-top img{width:110px;height:110px;object-fit:cover;border-radius:20px}
.testimonial-top h3{margin:0 0 6px;font:400 24px/1.2 Georgia,serif}
.testimonial-top p{margin:0;color:#8a7b71}
.testimonial-card blockquote{
  margin:24px 0 10px;color:#6d5c53;font:italic 28px/1.55 Georgia,serif
}
.testimonial-card small{color:#a48d7f}

.contact{background:#f8f1e9}
.contact-grid{display:grid;grid-template-columns:1fr .92fr;gap:60px;align-items:center}
.contact-copy p:not(.eyebrow){color:#6e645c;line-height:1.85}
.contact-detail-image{
  width:100%;max-width:360px;margin-top:24px;border-radius:24px;box-shadow:0 12px 28px rgba(161,133,109,.08)
}
.contact-card{
  background:#fffaf5;border:1px solid var(--line);border-radius:28px;padding:26px
}
.contact-card p{
  margin:0;padding:15px 0;display:flex;justify-content:space-between;gap:20px;
  border-bottom:1px solid var(--line);color:#6d625a
}
.contact-card strong{font:400 18px/1.2 Georgia,serif;color:#342c27}
.contact-card .full{width:100%;margin-top:18px}

.site-footer{background:#f0e5db;padding:45px 0 18px}
.footer-grid{display:grid;grid-template-columns:auto 1fr .8fr .8fr;gap:28px;align-items:start}
.footer-grid img{width:132px}
.footer-grid strong{display:block;margin-bottom:8px;color:#453730}
.footer-grid p,.footer-grid a{margin:0;color:#796d65;line-height:1.75;font-size:13px}
.footer-grid a{display:block}
.footer-bottom{
  margin-top:28px;padding-top:16px;border-top:1px solid #dccfc4;
  color:#93857a;font-size:11px;text-align:center
}

.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}
.reveal.in{opacity:1;transform:none}

@media (max-width: 900px){
  .desktop-cta{display:none}
  .menu-toggle{display:block}
  .site-nav{
    display:none;position:absolute;left:20px;right:20px;top:84px;
    background:#fffaf5;border:1px solid var(--line);border-radius:18px;padding:16px;flex-direction:column
  }
  .site-nav.open{display:flex}
  .hero-grid,.story-grid,.rituals-grid,.contact-grid{grid-template-columns:1fr}
  .hero-grid{padding:35px 0 70px}
  .welcome-grid{grid-template-columns:1fr}
  .welcome article{border-right:0;border-bottom:1px solid var(--line)}
  .welcome article:last-child{border-bottom:0}
  .service-grid,.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .container{width:calc(100% - 28px)}
  .hero h1{font-size:46px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .service-grid,.footer-grid{grid-template-columns:1fr}
  .testimonial-top{grid-template-columns:1fr}
  .section{padding:74px 0}
}
