/* Vitalis editorial wellness: native CSS, variance 7, motion 3, density 3.
   Preserve gallery interactions; atmosphere derives from the supplied references. */
:root,:root[data-theme=dark]{--paper:#141716;--ink:#ece9e1;--muted:#b0b2ab;--line:#383c38;--tint:#1d211f;--accent:#e3e0d6;--inverse:#141716;color-scheme:dark}
:root[data-theme=light]{--paper:#f0f0e9;--ink:#1b2420;--muted:#5a645e;--line:#c9cfc6;--tint:#e4e8df;--accent:#24342b;--inverse:#f0f0e9;color-scheme:light}
body{font-size:15px}h1,h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em;font-weight:400}h1 em,h2 em{font-weight:400;line-height:1.14;display:inline-block;padding-bottom:.08em}h3{font-family:DM,Arial,sans-serif}.wrap{width:calc(100% - 120px);max-width:1440px}.hero{width:100%;max-width:none;margin:0;border-radius:0;min-height:720px;height:100dvh;max-height:1080px;background:#16150f;color:#fff8ec}.hero-photo{height:100%;object-position:center center}.hero-shade{background:linear-gradient(90deg,#080c0dd4 0%,#080c0d7a 38%,#080c0d05 76%),linear-gradient(180deg,#070b0e70 0%,transparent 30%,#070b0e65 100%)}.hero header{padding:27px 60px;height:92px;border-bottom:1px solid #fff5df38}.monogram{display:flex;flex-shrink:0}.monogram .identity-logo{width:132px;height:auto}.hero header nav{border:0;border-radius:0;background:none;backdrop-filter:none;gap:36px;padding:0;font-size:12px}.hero nav button{font-size:12px}.hero-cta{background:transparent;color:#fff8ec;border-color:#fff8ec85;border-radius:0;font-size:11px;padding:11px 19px;gap:26px}.hero-copy{position:absolute;left:60px;bottom:145px;margin:0;max-width:700px}.hero-copy .eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:26px}.hero h1{font-size:clamp(70px,7.3vw,112px);max-width:750px;line-height:1.04}.hero-copy #hero-description{font-size:14px;line-height:1.8;margin:22px 0 25px;color:#e1ddd3;max-width:400px}.hero-text-link{display:inline-flex;gap:62px;align-items:center;border-bottom:1px solid #fff8ec8a;padding:10px 0;font-size:12px}.hero-text-link span{font-size:23px}.hero-bottom{position:absolute;bottom:30px;left:60px;right:60px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #fff5df38;padding-top:24px}.hero-bottom p{font-size:9px;letter-spacing:.15em}.scene-switch{display:flex;gap:27px}.scene-switch button{border:0;border-bottom:1px solid transparent;background:none;color:#d6d3cc;padding:7px 0;font-size:12px}.scene-switch button[aria-pressed=true]{color:#fff;border-bottom-color:#fff}.introduction{padding:125px 0;grid-template-columns:.6fr 1.3fr 1fr;gap:48px}.introduction h2{font-size:clamp(46px,4.5vw,74px)}.introduction>p{font-size:11px;max-width:140px;color:var(--muted)}.introduction>div>p{font-size:15px}.concept-note{font-size:11px;color:var(--muted)}.rituals{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:125px}.ritual-panel{position:relative;min-width:0;overflow:hidden;height:580px;color:#fff8ec;background:#101614}.ritual-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#070c1020,#070c1000 30%,#070c10b5 100%);pointer-events:none}.ritual-panel img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.ritual-panel:first-child img{object-position:66% center}.ritual-panel:last-child img{object-position:70% center}.ritual-panel:hover img{transform:scale(1.025)}.ritual-panel>div{position:absolute;bottom:38px;left:38px;z-index:1}.ritual-panel p{font-size:9px;letter-spacing:.16em;margin-bottom:15px}.ritual-panel h2{font-size:clamp(48px,4.5vw,68px)}.ritual-panel span{font-size:12px;display:block;margin-top:19px}.collection-heading{display:block;margin-bottom:34px}.collection-heading h2{font-size:clamp(42px,4.5vw,68px)}.collection-heading>p{font-size:13px;margin-top:19px}.tools{padding-top:20px}.filters{gap:28px}.filters button{border:0;border-bottom:1px solid transparent;border-radius:0;padding:10px 0;background:none;color:var(--muted);font-size:12px}.filters button[aria-pressed=true]{border:0;border-bottom:1px solid var(--ink);color:var(--ink);background:none}.search{min-width:230px}.product-grid{gap:55px 26px}.product-image{border-radius:0;background:#252b28}.product-image img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.save{background:#111814b5;color:#fff;border:1px solid #f7f4ec60;border-radius:50%;width:38px;height:38px;font-size:22px}.save[aria-pressed=true]{background:#f1ede2;color:#1a221e;border-color:#f1ede2}.card-meta{padding-top:20px;font-size:9px;letter-spacing:.02em}.card-title button{font-size:25px}.card-description{max-width:460px;font-size:13px}.product-card[data-type=chiller]{grid-column:1/-1;display:grid;grid-template-columns:160px 1fr;column-gap:30px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-card[data-type=chiller] .product-image{grid-row:1/4;background:#242c29}.product-card[data-type=chiller] .product-image img{object-fit:contain;aspect-ratio:1;padding:14px}.product-card[data-type=chiller] .save{width:28px;height:28px;right:7px;top:7px;font-size:17px}.product-card[data-type=chiller] .card-meta{padding:5px 0 0}.product-card[data-type=chiller] .card-title{margin:0}.product-card[data-type=chiller] .card-description{margin:0}.collection{padding-bottom:115px}.catalogue-note{max-width:660px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:65px;border:0;padding:0 0 120px}.approach>img{height:650px;object-fit:cover;object-position:70% center}.approach-copy{align-self:center}.approach h2{font-size:clamp(48px,5vw,76px)}.approach-text{padding-top:32px}.approach-text p{font-size:14px;max-width:420px}.text-link{max-width:260px}.finale{background:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:55px 0 62px}.finale h2{font-size:clamp(42px,5.5vw,80px)}.pill:not(.hero-cta){border-radius:0;font-size:12px}.footer-brand{width:155px}.footer-brand img{width:100%;height:auto}footer{padding:50px 0 35px}dialog{border-radius:2px;background:var(--paper)}.product-dialog-layout>img{height:100%;min-height:520px;object-fit:cover}.close{border-radius:0;background:var(--paper)}.detail-copy h2,#shortlist-dialog h2{font-size:44px}.short-row img{border-radius:0}.empty{border-radius:0}.toast{border-radius:0}#mobile-nav{border-radius:0;background:#171d19;color:#fff8ec}
@media(max-width:1024px){.wrap{width:calc(100% - 72px)}.hero header{padding:22px 36px}.hero header nav{gap:24px}.hero-copy{left:36px;bottom:145px}.hero h1{font-size:84px}.hero-bottom{left:36px;right:36px}.introduction{grid-template-columns:1fr 1fr;padding:90px 0;gap:30px}.introduction>p{grid-column:1/-1;max-width:none}.rituals{margin-bottom:90px}.ritual-panel{height:500px}.ritual-panel>div{left:26px;bottom:30px}.approach{gap:35px}.approach>img{height:560px}.approach h2{font-size:56px}.finale h2{font-size:56px}}
@media(max-width:767px){.wrap{width:calc(100% - 40px)}.hero{width:100%;margin:0;min-height:680px;height:100dvh;max-height:950px;border-radius:0}.hero header{height:78px;padding:20px;gap:18px}.monogram .identity-logo{width:108px}.hero header nav{display:none}.hero-cta{display:none}.menu{display:block;color:#fff8ec;font-size:12px}.hero-copy{left:24px;right:24px;bottom:145px;margin:0}.hero h1{font-size:clamp(52px,12.8vw,78px);max-width:550px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:22px;max-width:none}.hero-copy #hero-description{font-size:13px;max-width:320px;margin-top:20px}.hero-photo{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#080c0d9c,#080c0d45),linear-gradient(180deg,#080c0d30,transparent 25%,#080c0d7a)}.hero-bottom{left:24px;right:24px;bottom:24px;padding-top:18px;gap:20px}.hero-bottom p{font-size:7px;letter-spacing:.08em;max-width:145px}.scene-switch{gap:18px}.scene-switch button{font-size:11px}.introduction{display:block;padding:70px 0}.introduction>p{margin-bottom:25px;font-size:11px}.introduction h2{font-size:51px}.introduction>div{padding-top:25px}.rituals{grid-template-columns:1fr;gap:20px;margin-bottom:72px}.ritual-panel{height:460px}.ritual-panel>div{left:28px;bottom:30px}.ritual-panel h2{font-size:54px}.collection-heading h2{font-size:42px}.collection-heading>p{font-size:12px}.tools{display:block}.filters{gap:22px}.filters button{font-size:11px;padding:9px 0}.search{min-width:0;max-width:none;margin-top:20px}.product-grid{grid-template-columns:1fr;gap:38px}.product-image{border-radius:0}.product-image img{aspect-ratio:1.2}.card-title button{font-size:24px}.card-description{font-size:12px}.card-meta{font-size:8px}.product-card[data-type=chiller]{grid-template-columns:105px 1fr;gap:6px 17px}.product-card[data-type=chiller] .card-meta{display:block;font-size:8px}.product-card[data-type=chiller] .card-meta>span:last-child{display:none}.product-card[data-type=chiller] .card-title button{font-size:19px}.product-card[data-type=chiller] .card-title>span{font-size:18px}.product-card[data-type=chiller] .card-description{font-size:11px}.product-card[data-type=chiller] .product-image{align-self:center}.collection{padding-bottom:70px}.approach{display:block;padding:0 0 70px}.approach>img{height:440px}.approach-copy{padding-top:38px}.approach h2{font-size:53px}.approach-text{padding-top:23px}.finale{padding:35px 0 40px;border-radius:0}.finale h2{font-size:46px;max-width:330px}.finale>div{display:block}.finale .pill{margin-top:25px}.finale>p{font-size:11px;max-width:none}footer{padding-top:35px}.footer-brand{width:140px}.product-dialog-layout>img{min-height:0;aspect-ratio:1.3;height:auto}.detail-copy{padding:30px 25px}.detail-copy h2{font-size:38px}#mobile-nav{top:78px;left:0;right:0;padding:28px}.hero #mobile-nav button{font-size:14px}.short-row img{width:65px;height:65px}}
@media(max-width:380px){.hero h1{font-size:51px}.hero-copy{left:20px;right:20px}.hero-bottom{left:20px;right:20px}.filters{gap:17px}.filters button{font-size:10px}.collection-heading h2{font-size:36px}.introduction h2{font-size:45px}.ritual-panel h2{font-size:48px}.card-meta{font-size:7px}}
/* Typography measured from the live Espacios public homepage, 2026-10-12.
   Its computed family resolves to the native system sans-serif stack. */
:root{--font-sans:-apple-system,system-ui,'Segoe UI',Helvetica,Arial,sans-serif}
body,button,input,select,textarea,h1,h2,h3,h4,p,a,span,small,dt,dd{font-family:var(--font-sans);font-style:normal}
body{-webkit-font-smoothing:antialiased;font-size:15px;font-weight:400;line-height:1.65}
h1,h2,h3,h1 em,h2 em{font-family:var(--font-sans);font-style:normal}
h1 em,h2 em{padding:0;line-height:inherit;display:inline;font-weight:inherit}
.hero h1{font-size:clamp(38px,4vw,56px);font-weight:430;letter-spacing:-.05em;line-height:1.04;max-width:800px}
.introduction h2,.collection-heading h2,.approach h2,.finale h2,.detail-copy h2,#shortlist-dialog h2,#ritual-dialog h2{font-size:clamp(32px,3vw,42px);font-weight:520;letter-spacing:-.055em;line-height:1.03}
h3,.card-title button,.short-row h3{font-size:clamp(20px,2vw,26px);font-weight:600;letter-spacing:-.035em;line-height:1.16}
.hero header nav,.hero nav button,.pill,.text-link,.hero-text-link,.ritual-trigger{font-weight:570}
.eyebrow,.hero-copy .eyebrow{font-size:10px;font-weight:750;letter-spacing:.14em;line-height:1.4}
.monogram,.footer-brand{width:auto;line-height:1}.brand-text{display:block;white-space:nowrap;font-size:25px;font-weight:680;letter-spacing:-.06em;line-height:1}.footer-brand .brand-text{font-size:25px}
.hero-copy{bottom:160px}.hero-copy #hero-description{font-size:15px;line-height:1.65;max-width:420px}.hero-bottom{padding-top:20px}.ritual-trigger{display:inline-flex;gap:28px;align-items:center;border:1px solid #fff8ec80;border-radius:999px;padding:11px 19px;background:#151a1660;color:#fff8ec;font-size:12px}.ritual-trigger span{font-size:20px;line-height:1}.ritual-trigger:hover{background:#fff8ec16}
.ritual-invitation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:100px}.ritual-invitation p{font-size:16px;font-weight:520;letter-spacing:-.025em}.ritual-invitation .text-link{min-width:190px;font-size:12px}
#ritual-dialog{width:min(880px,calc(100% - 32px));padding:40px;max-height:90dvh;overflow:auto;border-radius:18px}.ritual-dialog-heading{padding:0 40px 26px 0}.ritual-dialog-heading p{font-size:14px;color:var(--muted);margin-top:15px;max-width:490px}.ritual-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}.scene-switch .ritual-option{padding:0;border:1px solid var(--line);color:var(--ink);background:var(--tint);text-align:left;border-radius:12px;overflow:hidden}.scene-switch .ritual-option[aria-pressed=true]{color:var(--ink);border:1px solid var(--ink)}.ritual-option img{width:100%;height:230px;object-fit:cover}.ritual-option:first-child img{object-position:65% center}.ritual-option:last-child img{object-position:70% center}.ritual-option-copy{padding:20px;display:grid;gap:6px}.ritual-option-copy strong{font-size:24px;letter-spacing:-.035em;font-weight:600;line-height:1.16}.ritual-option-copy>span{font-size:13px;color:var(--muted)}.ritual-option-copy>.ritual-selection{font-size:11px;letter-spacing:.02em;color:var(--ink);margin-top:12px}.ritual-option:hover img{filter:brightness(1.08)}
@media(max-width:767px){.hero h1{font-size:clamp(38px,7vw,52px);font-weight:430;line-height:1.04}.hero-copy{bottom:155px}.hero-copy #hero-description{font-size:14px}.hero-bottom{gap:15px}.hero-bottom p{max-width:115px;font-size:7px}.ritual-trigger{font-size:11px;padding:10px 13px;gap:12px}.brand-text{font-size:23px}.introduction h2,.collection-heading h2,.approach h2,.finale h2,.detail-copy h2,#shortlist-dialog h2,#ritual-dialog h2{font-size:34px;line-height:1.06}.ritual-invitation{display:block;margin-bottom:65px;padding:24px 0}.ritual-invitation .text-link{margin-top:12px;max-width:240px}.card-title button{font-size:23px}.product-card[data-type=chiller] .card-title button{font-size:19px}#ritual-dialog{padding:30px 22px 22px}.ritual-dialog-heading{padding-bottom:20px}.ritual-dialog-heading p{font-size:13px}.ritual-options{gap:14px}.ritual-option img{height:185px}.ritual-option-copy{padding:14px}.ritual-option-copy strong{font-size:21px}.ritual-option-copy>span{font-size:12px}}
@media(max-width:480px){.ritual-options{grid-template-columns:1fr}.ritual-option{display:grid!important;grid-template-columns:105px 1fr;align-items:center}.ritual-option img{height:155px;width:105px;object-fit:cover}.ritual-option-copy{padding:15px}.ritual-option-copy>.ritual-selection{margin-top:10px}.hero h1{font-size:38px}.hero-bottom p{max-width:88px;line-height:1.5}}
