:root { --wc-paper:#f4f1eb; --wc-ink:#28211d; --wc-muted:#6e6259; --wc-rule:#c9c0b4; --wc-sand:#e5ddd0; --wc-gutter:clamp(1.25rem,4.4vw,5rem); --wc-ease:cubic-bezier(.22,.68,0,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--wc-paper); color:var(--wc-ink); font-family:"Jost",sans-serif; font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; height:auto; }
figure,p,h1,h2,h3 { margin:0; }
a { color:inherit; text-underline-offset:.3em; }
a,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,summary:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
h1,h2,h3 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; letter-spacing:-.035em; line-height:.94; text-wrap:balance; }
em { font-weight:400; }
.wc-skip { position:fixed; z-index:5; top:1rem; left:1rem; padding:1rem; background:var(--wc-paper); transform:translateY(-200%); }
.wc-skip:focus { transform:none; }
.wc-header { min-height:104px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; padding:1.8rem var(--wc-gutter); }
.wc-header nav { display:flex; gap:clamp(1.2rem,2.3vw,2.5rem); font-size:.78rem; }
.wc-header nav a { text-decoration:none; }
.wc-header nav a:hover { text-decoration:underline; }
.wc-header__right { justify-content:flex-end; }
.wc-brand { display:block; width:clamp(140px,18vw,228px); }
.wc-brand img { width:100%; filter:brightness(.45); }
.wc-mobile-menu,.wc-mobile-book { display:none; }
.wc-campaign { position:relative; min-height:590px; height:min(77vw,calc(100svh - 104px)); max-height:850px; isolation:isolate; color:#fffaf3; background:#39312d; }
.wc-campaign__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% center; z-index:-2; }
.wc-campaign::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(19,16,14,.35),transparent 70%); z-index:-1; }
.wc-campaign__copy { position:absolute; left:var(--wc-gutter); bottom:clamp(3rem,5vw,6rem); }
.wc-label { font-size:.7rem; text-transform:uppercase; letter-spacing:.13em; line-height:1.5; }
.wc-campaign h1 { font-size:clamp(4.6rem,8.7vw,9.2rem); line-height:.89; margin:1.75rem 0 2rem; }
.wc-link { display:inline-flex; align-items:center; justify-content:space-between; min-height:44px; gap:2rem; font-size:.83rem; text-decoration:none; border-bottom:1px solid var(--wc-ink); }
.wc-link span { font-size:1.2rem; transition:transform .35s var(--wc-ease); }
.wc-link:hover span { transform:translate(3px,-3px); }
.wc-link--light { border-color:rgba(255,250,243,.65); }
.wc-campaign__result { position:absolute; right:var(--wc-gutter); bottom:3rem; display:grid; grid-template-columns:1fr auto; column-gap:3rem; color:var(--wc-ink); background:var(--wc-paper); padding:1.1rem 1.4rem; text-decoration:none; transition:transform .45s var(--wc-ease); }
.wc-campaign__result:hover { transform:translateY(-4px); }
.wc-campaign__result span:first-child { font-size:.68rem; color:var(--wc-muted); }
.wc-campaign__result strong { grid-column:1; font-size:1.05rem; font-weight:500; }
.wc-campaign__result span:last-child { grid-column:2; grid-row:1 / 3; align-self:center; font-size:1.5rem; }
.wc-booking { display:grid; grid-template-columns:.85fr 1fr 1fr; padding:2.1rem var(--wc-gutter) 1.3rem; gap:.7rem 3rem; border-bottom:1px solid var(--wc-rule); scroll-margin-top:1rem; }
.wc-booking>p:first-child { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.6rem; line-height:1.12; }
.wc-booking>a { display:flex; flex-direction:column; justify-content:center; text-decoration:none; }
.wc-booking small { color:var(--wc-muted); font-size:.72rem; margin-bottom:.2rem; }
.wc-booking a>span { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--wc-rule); padding-bottom:.5rem; gap:1rem; }
.wc-booking a:hover>span { border-color:var(--wc-ink); }
.wc-booking i { font-style:normal; }
.wc-booking .wc-booking__note { grid-column:2 / 4; font-size:.68rem; color:var(--wc-muted); }
.wc-section { padding:clamp(5rem,9vw,9rem) var(--wc-gutter); max-width:1680px; margin-inline:auto; }
.wc-results { display:grid; grid-template-columns:.75fr 1.35fr; align-items:center; gap:clamp(3rem,7vw,8rem); scroll-margin-top:2rem; }
.wc-results__intro h2 { font-size:clamp(3rem,4.8vw,5.2rem); margin:1.5rem 0; }
.wc-results__intro>p:not(.wc-label) { max-width:30ch; color:var(--wc-muted); margin:0 0 1.5rem; }
.wc-case__photos { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.wc-case__photos img { width:100%; aspect-ratio:6 / 5; object-fit:cover; }
.wc-case__photos figcaption { font-size:.65rem; margin:.65rem 0 0; color:var(--wc-muted); }
.wc-case__caption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; align-items:center; margin:1.5rem 0 1rem; }
.wc-case h3 { font-size:2rem; margin-bottom:.5rem; }
.wc-case__caption p { color:var(--wc-muted); font-size:.78rem; }
.wc-note { font-size:.7rem; color:var(--wc-muted); line-height:1.65; max-width:72ch; }
.wc-treatment-section { padding-top:1rem; }
.wc-section-heading { display:grid; grid-template-columns:.75fr 1.35fr; gap:1rem 7vw; margin:0 0 3rem; }
.wc-section-heading .wc-label { grid-column:1; }
.wc-section-heading h2 { font-size:clamp(3.6rem,6vw,6.5rem); grid-column:2; grid-row:1 / 3; }
.wc-section-heading>p:last-child { grid-column:1; align-self:end; color:var(--wc-muted); font-size:.9rem; }
.wc-treatment-index { border-top:1px solid var(--wc-rule); }
.wc-treatment-index a { display:grid; grid-template-columns:3rem 1.7fr 1fr 2rem; gap:1.5rem; align-items:center; padding:1.9rem 0; text-decoration:none; border-bottom:1px solid var(--wc-rule); }
.wc-index { color:var(--wc-muted); font-size:.7rem; font-variant-numeric:tabular-nums; }
.wc-treatment-index h3 { font-size:clamp(2rem,3.7vw,4.1rem); transition:transform .5s var(--wc-ease); }
.wc-treatment-index a:hover h3 { transform:translateX(.6rem); }
.wc-treatment-description { font-size:.8rem; color:var(--wc-muted); }
.wc-direction { font-size:1.7rem; font-weight:300; }
.wc-treatment-footer { display:flex; justify-content:space-between; gap:2rem; margin-top:1.75rem; }
.wc-care { display:grid; grid-template-columns:1fr 1fr; background:var(--wc-sand); }
.wc-care__image { min-height:650px; }
.wc-care__image img { width:100%; height:100%; object-fit:cover; }
.wc-care__copy { padding:clamp(3rem,6vw,7rem) clamp(2rem,5vw,6rem); align-self:center; }
.wc-care h2 { font-size:clamp(3rem,5.1vw,5.5rem); margin:2rem 0; }
.wc-care__copy>p:not(.wc-label):not(.wc-note) { max-width:40ch; color:#55493e; margin-bottom:1rem; }
.wc-button { display:inline-flex; align-items:center; justify-content:space-between; gap:3rem; padding:.9rem 1.35rem; min-height:48px; border:1px solid var(--wc-ink); text-decoration:none; font-size:.82rem; transition:background .35s var(--wc-ease),color .35s var(--wc-ease); }
.wc-button:hover { background:var(--wc-ink); color:var(--wc-paper); }
.wc-care .wc-button { margin:1rem 0; }
.wc-care__secondary { display:block; width:fit-content; font-size:.8rem; margin:.2rem 0 1.6rem; }
.wc-people>.wc-label { margin-bottom:2.5rem; }
.wc-people__statement { display:grid; grid-template-columns:1.4fr .75fr; gap:4rem; align-items:end; }
.wc-people h2 { font-size:clamp(3rem,5.3vw,5.8rem); }
.wc-people__statement p { color:var(--wc-muted); font-size:.95rem; max-width:42ch; }
.wc-people__bottom { display:flex; justify-content:space-between; align-items:center; gap:3rem; margin-top:3rem; }
.wc-person { display:flex; align-items:center; gap:1.1rem; text-decoration:none; }
.wc-person img { width:68px; height:82px; object-fit:cover; }
.wc-person strong { display:block; font-weight:500; font-size:.86rem; }
.wc-person small { display:block; font-size:.72rem; color:var(--wc-muted); }
.wc-person>span:last-child { margin-left:1rem; }
.wc-invitation { text-align:center; padding:5rem var(--wc-gutter) 6rem; background:#eae5dc; }
.wc-invitation h2 { font-size:clamp(3.6rem,7vw,7rem); margin:1.8rem 0 2rem; }
.wc-invitation__return { display:block; width:fit-content; margin:1.3rem auto 0; font-size:.8rem; }
.wc-footer { padding:4rem var(--wc-gutter) 1.4rem; }
.wc-footer__main { display:grid; grid-template-columns:1.2fr 1fr .8fr 1fr; gap:3rem; font-size:.8rem; }
.wc-footer__main .wc-brand { width:160px; }
.wc-footer address { font-style:normal; }
.wc-footer__main a:not(.wc-brand) { display:block; width:fit-content; text-decoration:none; margin-bottom:.35rem; }
.wc-footer a:hover { text-decoration:underline; }
.wc-footer__legal { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin-top:3rem; padding-top:1.2rem; border-top:1px solid var(--wc-rule); font-size:.67rem; color:var(--wc-muted); }
.wc-footer__legal nav { display:flex; flex-wrap:wrap; gap:1.5rem; }
.wc-enter { animation:wc-enter .9s var(--wc-ease) both; }
@keyframes wc-enter { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1680px) { .wc-care { max-width:1680px; margin-inline:auto; } }
@media(max-width:900px) { .wc-header nav { font-size:.72rem; gap:1rem; } .wc-results { grid-template-columns:1fr; gap:2.8rem; } .wc-results__intro { display:grid; grid-template-columns:1fr 1fr; gap:1rem 3rem; } .wc-results__intro .wc-label { grid-column:1 / -1; } .wc-results__intro h2 { grid-row:2 / 4; margin:0; } .wc-results__intro .wc-link { width:fit-content; } .wc-care h2 { font-size:3.3rem; } .wc-care__image { min-height:580px; } .wc-people__statement { grid-template-columns:1fr; gap:2rem; } .wc-footer__main { grid-template-columns:1fr 1fr; } }
@media(max-width:640px) {
  .wc-header { min-height:80px; padding-block:1.4rem; gap:1rem; grid-template-columns:auto 1fr auto; }
  .wc-header .wc-header__left,.wc-header .wc-header__right { display:none; } .wc-header>.wc-brand { width:142px; }
  .wc-mobile-book { display:block; justify-self:end; font-size:.78rem; text-decoration:none; }
  .wc-mobile-menu { display:block; grid-column:3; font-size:.8rem; } .wc-mobile-menu summary { display:flex; gap:.8rem; cursor:pointer; list-style:none; min-height:36px; align-items:center; } .wc-mobile-menu summary::-webkit-details-marker { display:none; } .wc-mobile-menu summary span { transition:transform .3s var(--wc-ease); } .wc-mobile-menu[open] summary span { transform:rotate(45deg); }
  .wc-mobile-menu nav { position:absolute; z-index:3; top:80px; left:0; right:0; padding:1.6rem var(--wc-gutter) 2rem; background:var(--wc-paper); display:grid; font-size:1.15rem; box-shadow:0 12px 24px #28211d0a; }
  .wc-campaign { min-height:640px; height:calc(100svh - 80px); max-height:820px; }
  .wc-campaign__image { object-position:80% center; }
  .wc-campaign::after { background:linear-gradient(0deg,rgba(19,16,14,.58),rgba(19,16,14,0) 85%); }
  .wc-campaign__copy { bottom:7.5rem; } .wc-campaign h1 { font-size:4.75rem; margin:1rem 0 1.5rem; }
  .wc-campaign .wc-label { max-width:23ch; font-size:.63rem; } .wc-campaign__result { right:var(--wc-gutter); left:var(--wc-gutter); bottom:1.4rem; padding:.65rem 1rem; }
  .wc-campaign__result strong { font-size:.9rem; } .wc-campaign__result span:first-child { font-size:.62rem; }
  .wc-booking { grid-template-columns:1fr; gap:1.5rem; padding-top:2rem; } .wc-booking>p:first-child { font-size:1.8rem; } .wc-booking .wc-booking__note { grid-column:auto; }
  .wc-section { padding-block:4rem; } .wc-results__intro { display:block; } .wc-results__intro h2 { margin:1.4rem 0; font-size:3.35rem; } .wc-results__intro>p:not(.wc-label) { max-width:38ch; }
  .wc-case__caption { margin-top:1.1rem; } .wc-case h3 { font-size:1.8rem; }
  .wc-section-heading { display:block; margin-bottom:2rem; } .wc-section-heading h2 { font-size:3.65rem; margin:1.5rem 0; } .wc-section-heading>p:last-child { font-size:.9rem; }
  .wc-treatment-index a { grid-template-columns:1.3rem 1fr 1.3rem; gap:.7rem; padding:1.25rem 0; } .wc-treatment-index h3 { font-size:clamp(1.9rem,7.4vw,2.7rem); } .wc-treatment-description { grid-column:2; font-size:.72rem; } .wc-direction { grid-column:3; grid-row:1 / 3; } .wc-treatment-index a:hover h3 { transform:none; }
  .wc-care { grid-template-columns:1fr; } .wc-care__image { min-height:0; aspect-ratio:4 / 4.5; } .wc-care__copy { padding:3rem var(--wc-gutter); } .wc-care h2 { font-size:3.5rem; } .wc-care__copy>p:not(.wc-label):not(.wc-note) { font-size:.95rem; }
  .wc-people h2 { font-size:3.2rem; } .wc-people__bottom { flex-direction:column; align-items:flex-start; gap:1.5rem; } .wc-person { gap:.8rem; } .wc-person>span:last-child { margin-left:0; } .wc-person small { font-size:.65rem; }
  .wc-invitation { padding-block:4rem; } .wc-invitation h2 { font-size:3.8rem; } .wc-button { gap:1.5rem; }
  .wc-footer { padding-top:3rem; } .wc-footer__main { gap:2rem 1rem; font-size:.75rem; } .wc-footer__main .wc-brand { width:135px; } .wc-footer__legal nav { gap:1rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
