*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --ivoire:#F6F2EB;--ivoire2:#EDE8DE;--creme:#E2DACB;--creme-dark:#D5CBBA;
  --blanc:#F9F6F0;--noir:#1A1714;--noir2:#2A2520;
  --brun:#5A4E42;--brun-light:#8A7D6F;
  --burg:#6B1D2A;--burg-soft:#8A3045;--burg-deep:#4A0F1C;--burg-pale:#F2E8EA;--burg-light:#D4A0AC;--burg-muted:#9E5060;
  --transition:.5s cubic-bezier(.22,.61,.36,1);
}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:'Jost',sans-serif;background:var(--ivoire);color:#111;overflow-x:clip;line-height:2;font-weight:400;font-size:1.18rem;-webkit-font-smoothing:antialiased;text-wrap:pretty}
p,li,blockquote{orphans:3;widows:3;text-wrap:pretty}
h1,h2,h3,h4{text-wrap:balance;orphans:3;widows:3}
::selection{background:var(--creme);color:var(--burg)}
a{text-decoration:none;color:inherit}ul{list-style:none}

.heading{font-family:'Cormorant Garamond',serif;font-weight:400;font-style:italic;letter-spacing:.04em;line-height:1.15;color:var(--burg);font-size:clamp(1.6rem,2.5vw,2.1rem)}
.label{font-family:'Jost';font-weight:600;font-style:normal;font-size:1rem;letter-spacing:.3em;text-transform:uppercase;color:var(--burg-soft);display:block;margin-bottom:.8rem}
.sep{width:45px;height:1px;background:var(--burg);margin:1.2rem 0}
.sep-c{width:45px;height:1px;background:var(--burg);margin:1.2rem auto}

/* Nav */
nav{position:fixed;top:0;width:100%;z-index:9999;transition:background .5s,border-color .5s,box-shadow .5s,backdrop-filter .5s;background:transparent;border-bottom:1px solid transparent;box-shadow:none}
nav.solid{background:rgba(249,246,240,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--creme);box-shadow:0 2px 20px rgba(0,0,0,.04)}
.nav-in{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:.7rem 3rem;transition:padding .4s}
.n-logo{display:inline-flex;flex-direction:column;gap:.1rem;align-items:stretch}
.n-logo br{display:none}
.n-logo-t{font-family:'Cormorant Garamond';font-size:1.38rem;color:var(--blanc);letter-spacing:.27em;font-weight:500;font-style:normal;line-height:1;transition:color .5s}
.n-logo-s{font-family:'Jost';font-size:.65rem;letter-spacing:0;text-transform:uppercase;color:rgba(255,255,255,.55);font-style:normal;font-weight:500;transition:color .5s;text-align:justify;text-align-last:justify;text-justify:inter-character}
nav.solid .n-logo-t{color:var(--burg)}
nav.solid .n-logo-s{color:var(--brun-light);opacity:.8}
.n-menu{display:flex;align-items:center;gap:2.2rem}
.n-menu a{font-family:'Jost';font-size:.95rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75);transition:all .35s;position:relative;font-weight:500;font-style:normal}
.n-menu a::after{content:'';position:absolute;bottom:-3px;left:50%;width:0;height:1px;background:rgba(255,255,255,.8);transition:all .4s;transform:translateX(-50%)}
.n-menu a:hover,.n-menu a.act{opacity:1;color:var(--blanc)}
.n-menu a:hover::after,.n-menu a.act::after{width:100%}
nav.solid .n-menu a{color:var(--brun);opacity:.6}
nav.solid .n-menu a::after{background:var(--burg)}
nav.solid .n-menu a:hover,nav.solid .n-menu a.act{opacity:1;color:var(--burg)}
.n-cta{border:2px solid rgba(255,255,255,.9)!important;padding:.45rem 1.5rem!important;opacity:1!important;color:var(--blanc)!important;border-radius:30px!important;transition:all .35s!important}
.n-cta::after{display:none!important}
.n-cta:hover{background:rgba(255,255,255,.15)!important;color:var(--blanc)!important}
nav.solid .n-cta{background:var(--burg)!important;border-color:var(--burg)!important;color:var(--blanc)!important}
nav.solid .n-cta:hover{background:var(--burg-deep)!important;border-color:var(--burg-deep)!important;color:var(--blanc)!important}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:10001;padding:5px}
.burger span{width:24px;height:1.2px;background:var(--burg);transition:all .35s;display:block}
.burger.on span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}
.mob-menu{position:fixed;inset:0;background:var(--ivoire);z-index:10000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:2rem}
.mob-menu.on{display:flex}
.mob-menu a{font-family:'Cormorant Garamond';font-size:1.4rem;font-style:normal;letter-spacing:.1em;color:var(--burg);opacity:.6;transition:all .3s}
.mob-menu a:hover{opacity:1}

.btn{display:inline-block;padding:.85rem 2.6rem;font-family:'Jost';font-size:.9rem;letter-spacing:.22em;text-transform:uppercase;transition:all var(--transition);font-weight:500;font-style:normal;cursor:pointer;border:none;border-radius:40px}
.btn-burg{background:var(--burg);color:var(--blanc)}
.btn-burg:hover{background:var(--burg-deep);transform:translateY(-2px);box-shadow:0 10px 35px rgba(107,29,42,.15)}
.btn-gh{background:transparent;border:1px solid rgba(255,255,255,.35);color:var(--blanc);border-radius:40px}
.btn-gh:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6)}
.btn-go{background:transparent;border:1px solid var(--burg);color:var(--burg);border-radius:40px}
.btn-go:hover{background:var(--burg);color:var(--blanc)}

/* ── Page Header ── */
.ph{
  padding:0 2rem;
  height:200px;
  margin-top:58px;
  position:relative;
  background:linear-gradient(135deg,var(--burg-deep) 0%,var(--burg) 60%,var(--burg-soft) 100%);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.ph::after{
  content:'';
  position:absolute;
  right:-80px;top:-80px;
  width:300px;height:300px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.07);
  pointer-events:none;
}
.ph-c{position:relative;z-index:2;max-width:700px;width:100%}
.ph-c h1{
  font-family:'Cormorant Garamond';
  font-size:clamp(1.6rem,3.5vw,2.6rem);
  color:var(--blanc);
  letter-spacing:.06em;
  font-weight:300;
  font-style:italic;
  margin-bottom:.2rem;
  line-height:1.1;
}
.ph-c p{
  font-family:'Cormorant Garamond';
  font-size:1rem;
  font-style:italic;
  color:rgba(255,255,255,.55);
  line-height:1.6;
  margin:0;
}
.ph-c .label{display:none}
.ph-img,.ph-ov{display:none}

.sec{padding:6rem 2rem}
.con{max-width:1200px;margin:0 auto}

/* Quote */
.qb{padding:5rem 2rem;text-align:center;position:relative;overflow:hidden}
.qb-bg{position:absolute;inset:0;background:url('img/850664790.jpg') center/cover}
.qb-ov{position:absolute;inset:0;background:rgba(107,29,42,.72)}
.qb-c{position:relative;z-index:2;max-width:600px;margin:0 auto}
.qb blockquote{font-family:'Cormorant Garamond';font-size:clamp(1.4rem,2.8vw,2.1rem);font-style:italic;font-weight:300;color:var(--blanc);line-height:1.7;margin-bottom:1rem;text-shadow:0 1px 8px rgba(0,0,0,.2)}
.qb cite{font-family:'Jost';font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,.7);font-style:normal}

/* Footer */
footer{background:var(--noir);color:var(--ivoire);padding:4.5rem 2rem 1.8rem}
.ft-g{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.06)}
.ft-brand .n-logo-t{color:var(--burg-light)}
.ft-brand .n-logo-s{color:var(--burg-light);opacity:.75;font-weight:500}
.ft-brand p{margin-top:1rem;font-size:1.05rem;opacity:.75;line-height:1.9;max-width:260px;font-style:normal}
.ft-addr{margin-top:1.2rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.08);font-size:1rem;opacity:.6;line-height:1.9;font-style:normal}
.ft-col h5{font-family:'Jost';font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--burg-light);margin-bottom:1.2rem;font-weight:500;font-style:normal}
.ft-col li{margin-bottom:.65rem}
.ft-col a{font-size:1.05rem;opacity:.8;transition:all .3s;font-style:normal}
.ft-col a:hover{opacity:1;color:var(--burg-soft);padding-left:2px}
.ft-item{font-size:1.05rem;color:rgba(246,242,235,.8);font-style:normal}
.ft-av{color:var(--burg-light);font-style:italic}
.ft-bot{max-width:1200px;margin:1.5rem auto 0;display:flex;justify-content:space-between;font-size:.88rem;opacity:.6;font-style:normal}
.ft-bot a{color:var(--burg-light)}

@keyframes fi{from{opacity:0}to{opacity:1}}
@keyframes fu{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes sp{0%,100%{opacity:1;height:40px}50%{opacity:.3;height:18px}}

@media(max-width:1024px){.ft-g{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .n-menu{display:none}.burger{display:flex}
  .nav-in{padding:.6rem 1.5rem}
  .ph{padding:0 1.5rem;height:160px;margin-top:48px}
  .ft-g{grid-template-columns:1fr;text-align:center}
  .ft-brand p{margin:1rem auto 0}
  .ft-bot{flex-direction:column;gap:.4rem;text-align:center}
}

/* SVG Icons */
.pill svg,.act-ic svg,.ev-ic svg,.ct-ic svg,.ch-bottom-pills svg{
  display:inline-block;vertical-align:middle;color:var(--burg);flex-shrink:0;
}
.pill svg{width:22px;height:22px}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.act-ic svg{width:28px;height:28px;color:var(--blanc)}
.ev-ic svg{width:26px;height:26px;color:var(--burg)}
.ct-ic svg{width:20px;height:20px}
.ch-bottom-pills svg{width:20px;height:20px;vertical-align:-3px;margin-right:4px}
.pet svg{width:20px;height:20px;display:inline;vertical-align:-3px;color:var(--burg)}
.video-ph svg{width:24px;height:24px;display:inline;vertical-align:-4px;color:var(--burg-muted)}
