@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/d8cddd76dbfeaef0-s.1mblz1wog092a.woff2)format("woff2");
  unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/591574edbe85c69b-s.2cu8l7zf4s4ec.woff2)format("woff2");
  unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/acf349172f10b359-s.0gv8q2vqi14yg.woff2)format("woff2");
  unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/0926c12c4384550f-s.1-qpv3jvnkkyl.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/8bd76523131fa0fc-s.p.1pvupmngxrt5z.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/d8cddd76dbfeaef0-s.1mblz1wog092a.woff2)format("woff2");
  unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/591574edbe85c69b-s.2cu8l7zf4s4ec.woff2)format("woff2");
  unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/acf349172f10b359-s.0gv8q2vqi14yg.woff2)format("woff2");
  unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/0926c12c4384550f-s.1-qpv3jvnkkyl.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/8bd76523131fa0fc-s.p.1pvupmngxrt5z.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/d8cddd76dbfeaef0-s.1mblz1wog092a.woff2)format("woff2");
  unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/591574edbe85c69b-s.2cu8l7zf4s4ec.woff2)format("woff2");
  unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/acf349172f10b359-s.0gv8q2vqi14yg.woff2)format("woff2");
  unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/0926c12c4384550f-s.1-qpv3jvnkkyl.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:italic;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/8bd76523131fa0fc-s.p.1pvupmngxrt5z.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");
  unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");
  unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");
  unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");
  unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");
  unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");
  unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");
  unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");
  unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");
  unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Cormorant Garamond Fallback;
  src:local(Times New Roman);
  ascent-override:95.27%;
  descent-override:29.59%;
  line-gap-override:0.0%;
  size-adjust:96.98%
}
@font-face {
  font-family:Jost;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");
  unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116
}
@font-face {
  font-family:Jost;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Jost;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../fonts/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Jost;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");
  unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116
}
@font-face {
  font-family:Jost;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Jost;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../fonts/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Jost;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");
  unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116
}
@font-face {
  font-family:Jost;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Jost;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(../fonts/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Jost Fallback;
  src:local(Arial);
  ascent-override:111.45%;
  descent-override:39.06%;
  line-gap-override:0.0%;
  size-adjust:96.01%
}
:root {
  --rose-50:#fdf4f2;
  --rose-100:#fae8e3;
  --rose-200:#f3cfc4;
  --rose-400:#d99f8c;
  --rose-500:#c07f68;
  --plum-600:#8c4a5c;
  --plum-700:#6d3546;
  --plum-900:#3d1d28;
  --gold:#b08d57;
  --gold-soft:#e8d9c0;
  --canvas:#fffcfa;
  --paper:#fff;
  --ink:#2b2126;
  --ink-soft:#5c4d54;
  --muted:#8a7880;
  --line:#efe3de;
  --radius:16px;
  --wrap:1140px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 24px 60px -30px #3d1d2859
}
* {
  box-sizing:border-box;
  margin:0;
  padding:0
}
html {
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%
}
body {
  font-family:var(--font-body), system-ui, sans-serif;
  background:var(--canvas);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  line-height:1.65
}
h1,h2,h3,.display {
  font-family:var(--font-display), Georgia, serif;
  letter-spacing:-.015em;
  font-weight:400;
  line-height:1.1
}
a {
  color:inherit;
  text-decoration:none
}
img {
  max-width:100%;
  display:block
}
.italic,em {
  font-style:italic
}
.wrap {
  width:min(100% - 2.5rem, var(--wrap));
  margin-inline:auto
}
section {
  padding:clamp(3.5rem,7vw,6.5rem) 0
}
.hdr {
  z-index:60;
  background:color-mix(in srgb, var(--canvas) 86%, transparent);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transition:border-color .3s var(--ease);
  border-bottom:1px solid #0000;
  position:sticky;
  top:0
}
.hdr.scrolled {
  border-bottom-color:var(--line)
}
.hdr .wrap {
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.85rem 0;
  display:flex
}
.brand {
  align-items:center;
  gap:.65rem;
  display:flex
}
.brand .seal {
  border:1px solid var(--gold-soft);
  border-radius:50%;
  flex:none;
  width:36px;
  height:36px;
  overflow:hidden
}
.brand b {
  font-family:var(--font-display), serif;
  font-size:1.08rem;
  font-weight:400;
  line-height:1.2;
  display:block
}
.brand span {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  font-size:.68rem
}
.nav-links {
  color:var(--ink-soft);
  align-items:center;
  gap:1.7rem;
  font-size:.92rem;
  display:flex
}
.nav-links a:hover {
  color:var(--plum-700)
}
.menu-btn {
  cursor:pointer;
  color:var(--ink);
  background:0 0;
  border:0;
  font-size:1.4rem;
  display:none
}
.btn {
  cursor:pointer;
  transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
  border:1px solid #0000;
  border-radius:999px;
  justify-content:center;
  align-items:center;
  gap:.5rem;
  padding:.82rem 1.7rem;
  font-size:.94rem;
  font-weight:500;
  display:inline-flex
}
.btn:active {
  transform:translateY(1px)
}
.btn-primary {
  background:var(--plum-600);
  color:#fff
}
.btn-primary:hover {
  background:var(--plum-700)
}
.btn-ghost {
  border-color:var(--rose-200);
  background:var(--paper);
  color:var(--plum-700)
}
.btn-ghost:hover {
  border-color:var(--plum-600)
}
.btn-lg {
  padding:.95rem 2rem;
  font-size:1rem
}
.hero {
  padding-top:clamp(3rem,7vw,5rem);
  position:relative;
  overflow:hidden
}
.hero:before {
  content:"";
  background:radial-gradient(closest-side, var(--rose-100), transparent);
  pointer-events:none;
  position:absolute;
  inset:-30% 40% 40% -20%
}
.hero:after {
  content:"";
  aspect-ratio:1;
  pointer-events:none;
  background:radial-gradient(closest-side,#b08d5729,#0000);
  width:55%;
  position:absolute;
  top:-10%;
  right:-15%
}
.hero .wrap {
  position:relative
}
.hero-grid {
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:clamp(2rem,5vw,4rem);
  display:grid
}
.pill {
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--plum-700);
  background:var(--rose-100);
  border-radius:999px;
  align-items:center;
  gap:.5rem;
  margin-bottom:1.5rem;
  padding:.42rem 1rem;
  font-size:.74rem;
  display:inline-flex
}
.pill i {
  background:var(--gold);
  border-radius:50%;
  width:6px;
  height:6px
}
.hero h1 {
  font-size:clamp(2.7rem,6.5vw,4.6rem)
}
.hero h1 .accent {
  color:var(--plum-600);
  font-style:italic
}
.lede {
  max-width:52ch;
  color:var(--ink-soft);
  margin-top:1.4rem;
  font-size:clamp(1.02rem,1.5vw,1.14rem)
}
.hero-cta {
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:2rem;
  display:flex
}
.stats {
  border-top:1px solid var(--line);
  gap:clamp(1.4rem,4vw,3rem);
  margin-top:2.8rem;
  padding-top:1.8rem;
  display:flex
}
.stat b {
  font-family:var(--font-display), serif;
  color:var(--plum-700);
  font-size:1.8rem;
  line-height:1;
  display:block
}
.stat span {
  color:var(--muted);
  font-size:.82rem
}
.collage {
  grid-template-columns:1fr 1fr;
  gap:.8rem;
  display:grid
}
.collage figure {
  border-radius:var(--radius);
  background:var(--rose-100);
  box-shadow:var(--shadow);
  overflow:hidden
}
.collage figure img {
  object-fit:cover;
  width:100%;
  height:100%
}
.collage figure:first-child {
  grid-row:span 2
}
.collage figure:first-child img {
  aspect-ratio:3/4.4;
  object-position:top center
}
.collage figure:not(:first-child) img {
  aspect-ratio:1;
  object-position:top center
}
.head {
  max-width:46ch;
  margin-bottom:2.8rem
}
.head.center {
  text-align:center;
  margin-inline:auto
}
.kicker {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.8rem;
  font-size:.74rem
}
.head h2 {
  font-size:clamp(1.95rem,4.2vw,2.9rem)
}
.head p {
  color:var(--ink-soft);
  margin-top:1rem
}
.svc-grid {
  grid-template-columns:repeat(auto-fit,minmax(238px,1fr));
  gap:1rem;
  display:grid
}
.svc {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
  padding:1.9rem 1.6rem
}
.svc:hover {
  box-shadow:var(--shadow);
  border-color:var(--rose-200);
  transform:translateY(-4px)
}
.svc .glyph {
  background:var(--rose-50);
  border-radius:14px;
  place-items:center;
  width:52px;
  height:52px;
  margin-bottom:1.1rem;
  font-size:1.5rem;
  display:grid
}
.svc h3 {
  font-size:1.25rem
}
.svc p {
  color:var(--ink-soft);
  margin-top:.5rem;
  font-size:.94rem
}
.feat-strip {
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--radius);
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1px;
  display:grid;
  overflow:hidden
}
.feat {
  background:var(--paper);
  padding:1.6rem 1.4rem
}
.feat .ic {
  font-size:1.4rem
}
.feat h3 {
  margin-top:.7rem;
  font-size:1.03rem
}
.feat p {
  color:var(--ink-soft);
  margin-top:.3rem;
  font-size:.89rem
}
.story {
  background:var(--rose-50)
}
.story-grid {
  grid-template-columns:1fr 1fr;
  align-items:start;
  gap:clamp(2rem,5vw,4rem);
  display:grid
}
.story-grid p+p {
  margin-top:1rem
}
.story-grid .body {
  color:var(--ink-soft)
}
.pull {
  font-family:var(--font-display), serif;
  color:var(--plum-700);
  border-left:2px solid var(--gold);
  margin:1.6rem 0;
  padding-left:1.3rem;
  font-size:clamp(1.35rem,2.6vw,1.75rem);
  font-style:italic;
  line-height:1.35
}
.founder {
  border-top:1px solid var(--line);
  align-items:center;
  gap:1rem;
  margin-top:2rem;
  padding-top:1.6rem;
  display:flex
}
.founder .av {
  background:var(--plum-600);
  color:#fff;
  width:52px;
  height:52px;
  font-family:var(--font-display), serif;
  border-radius:50%;
  flex:none;
  place-items:center;
  font-size:1.4rem;
  display:grid
}
.founder b {
  font-size:1rem;
  display:block
}
.founder span {
  color:var(--muted);
  font-size:.84rem
}
.values {
  gap:.8rem;
  display:grid
}
.value {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:12px;
  padding:1.15rem 1.3rem
}
.value h3 {
  font-size:1.02rem
}
.value p {
  color:var(--ink-soft);
  margin-top:.25rem;
  font-size:.89rem
}
.process {
  counter-reset:step;
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
  gap:1rem;
  display:grid
}
.pstep {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.7rem 1.4rem;
  position:relative
}
.pstep .n {
  font-family:var(--font-display), serif;
  color:var(--gold-soft);
  font-size:2rem;
  line-height:1
}
.pstep h3 {
  margin-top:.6rem;
  font-size:1.1rem
}
.pstep p {
  color:var(--ink-soft);
  margin-top:.35rem;
  font-size:.9rem
}
.mm {
  background:var(--plum-900);
  color:#fff;
  border-radius:clamp(18px,3vw,28px);
  padding:clamp(2.2rem,5vw,4rem) clamp(1.3rem,4vw,3rem)
}
.mm .kicker {
  color:var(--gold-soft)
}
.mm h2 {
  font-size:clamp(1.9rem,4.2vw,2.9rem)
}
.mm .philosophy {
  font-family:var(--font-display), serif;
  color:var(--rose-200);
  margin-top:.9rem;
  font-size:clamp(1.2rem,2.4vw,1.6rem);
  font-style:italic
}
.mm>.head p,.mm .desc {
  color:#ffffffbf
}
.mm-gallery {
  columns:3 200px;
  column-gap:.7rem;
  margin:2.2rem 0
}
.mm-gallery figure {
  break-inside:avoid;
  background:#ffffff0f;
  border-radius:12px;
  margin-bottom:.7rem;
  overflow:hidden
}
.mm-gallery img {
  width:100%;
  height:auto;
  transition:transform .5s var(--ease)
}
.mm-gallery figure:hover img {
  transform:scale(1.04)
}
.mm-svc {
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:.8rem;
  display:grid
}
.mm-card {
  background:#ffffff0f;
  border:1px solid #ffffff1a;
  border-radius:12px;
  padding:1.2rem
}
.mm-card .ic {
  font-size:1.3rem
}
.mm-card h3 {
  margin-top:.5rem;
  font-size:1rem
}
.mm-card p {
  color:#ffffffad;
  margin-top:.25rem;
  font-size:.86rem
}
.mm-why {
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1.6rem;
  display:flex
}
.mm-why li {
  color:#fffc;
  background:#ffffff14;
  border-radius:999px;
  padding:.35rem .85rem;
  font-size:.82rem;
  list-style:none
}
.q-grid {
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:1rem;
  display:grid
}
.q-card {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.9rem 1.6rem
}
.q-card .mark {
  font-family:var(--font-display), serif;
  color:var(--rose-200);
  font-size:2.6rem;
  line-height:.6
}
.q-card p {
  color:var(--ink-soft);
  margin-top:1rem;
  font-size:.96rem
}
.q-who {
  border-top:1px solid var(--line);
  align-items:center;
  gap:.7rem;
  margin-top:1.3rem;
  padding-top:1.1rem;
  display:flex
}
.q-who .av {
  background:var(--rose-100);
  width:38px;
  height:38px;
  color:var(--plum-700);
  border-radius:50%;
  flex:none;
  place-items:center;
  font-weight:500;
  display:grid
}
.q-who b {
  font-size:.93rem;
  display:block
}
.q-who span {
  color:var(--muted);
  font-size:.8rem
}
.contact {
  background:var(--rose-50)
}
.c-grid {
  grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:1rem;
  display:grid
}
.c-card {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.8rem
}
.c-card .ic {
  background:var(--rose-50);
  width:42px;
  height:42px;
  color:var(--plum-600);
  border-radius:12px;
  place-items:center;
  margin-bottom:1rem;
  display:grid
}
.c-card h3 {
  font-size:1.12rem
}
.c-card .big {
  color:var(--plum-700);
  word-break:break-word;
  margin:.55rem 0 .25rem;
  font-size:1.16rem;
  font-weight:500;
  display:inline-block
}
.c-card .big:hover {
  text-decoration:underline
}
.c-card p {
  color:var(--muted);
  font-size:.89rem
}
.socials {
  gap:.5rem;
  margin-top:.9rem;
  display:flex
}
.socials a {
  border:1px solid var(--line);
  width:36px;
  height:36px;
  color:var(--plum-600);
  transition:background .2s var(--ease);
  border-radius:50%;
  place-items:center;
  display:grid
}
.socials a:hover {
  background:var(--rose-100)
}
.band {
  background:var(--plum-600);
  color:#fff;
  text-align:center;
  border-radius:clamp(18px,3vw,28px);
  padding:clamp(2.4rem,5vw,3.8rem)
}
.band h2 {
  font-size:clamp(1.9rem,4vw,2.7rem)
}
.band p {
  color:#ffffffd1;
  max-width:46ch;
  margin:1rem auto 1.9rem
}
.band .btn-ghost {
  color:var(--plum-700);
  background:#fff;
  border-color:#fff
}
footer {
  border-top:1px solid var(--line);
  padding:2.6rem 0 2rem
}
.foot {
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:1.2rem;
  display:flex
}
.foot nav {
  color:var(--ink-soft);
  flex-wrap:wrap;
  gap:1.3rem;
  font-size:.9rem;
  display:flex
}
.copy {
  color:var(--muted);
  margin-top:1.6rem;
  font-size:.83rem
}
.wa {
  z-index:70;
  color:#fff;
  transition:transform .25s var(--ease);
  background:#25d366;
  border-radius:999px;
  align-items:center;
  gap:.55rem;
  padding:.8rem 1.1rem;
  display:inline-flex;
  position:fixed;
  bottom:1.1rem;
  right:1.1rem;
  box-shadow:0 14px 34px -12px #25d36699
}
.wa:hover {
  transform:translateY(-2px)
}
.wa .label {
  font-size:.88rem;
  font-weight:500
}
.reveal {
  opacity:0;
  transition:opacity .75s var(--ease), transform .75s var(--ease);
  transform:translateY(22px)
}
.reveal.in {
  opacity:1;
  transform:none
}
@media (max-width:900px) {
  .hero-grid,.story-grid {
    grid-template-columns:1fr
  }
  .collage figure:first-child img {
    aspect-ratio:4/3
  }
}
@media (max-width:720px) {
  .nav-links {
    background:var(--canvas);
    border-bottom:1px solid var(--line);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:.5rem 1.25rem 1.1rem;
    display:none;
    position:absolute;
    inset:100% 0 auto
  }
  .nav-links.open {
    display:flex
  }
  .nav-links a {
    border-bottom:1px solid var(--line);
    padding:.75rem 0
  }
  .nav-links a:last-child {
    border-bottom:0;
    margin-top:.6rem
  }
  .menu-btn {
    display:block
  }
  .wa .label {
    display:none
  }
  .stats {
    flex-wrap:wrap;
    gap:1.2rem 2rem
  }
}
@media (prefers-reduced-motion:reduce) {
  * {
    transition:none!important;
    animation:none!important
  }
  html {
    scroll-behavior:auto
  }
  .reveal {
    opacity:1;
    transform:none
  }
}

/* A quiet photo placeholder: dimensions remain reserved and loading never hides pixels. */
main img[width][height] { background-color: var(--rose-50, #fbf4f2); }
main img.image-pending {
  background-color: var(--rose-100, #f4e6e4);
  background-image: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, .45) 50%, transparent 75%);
  color: var(--ink-soft, #59464b);
}
main img.image-unavailable {
  background-color: var(--rose-100, #f4e6e4);
  background-image: none;
  color: var(--ink-soft, #59464b);
}
