:root{--cream:#f4efe4;--sage:#75816b;--leaf:#374b3c;--terra:#c77b5b;--pink:#e7c9bf;--ink:#273028;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}img{display:block;width:100%}a{color:inherit;text-decoration:none}.skip{position:fixed;top:-6rem;left:1rem;background:var(--leaf);color:#fff;padding:1rem;z-index:20}.skip:focus{top:1rem}header{height:92px;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:absolute;z-index:10;inset:0 0 auto;color:var(--leaf)}.logo{display:flex;align-items:center;gap:.8rem}.logo span{font:italic 2.25rem/.8 var(--serif);letter-spacing:-.08em}.logo small{font-size:.53rem;text-transform:uppercase;letter-spacing:.17em;max-width:70px}nav{display:flex;gap:2.5rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.13em}.header-cta{justify-self:end;border-bottom:1px solid;padding:.65rem 0;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em}.menu{display:none}.hero{min-height:100svh;padding:150px 5vw 6vw;display:grid;grid-template-columns:1fr 1.05fr;gap:4vw;align-items:center;position:relative;overflow:hidden}.sun{position:absolute;width:60vw;height:60vw;border-radius:50%;background:#e5c27d45;top:-28vw;left:-15vw}.hero-copy{position:relative;z-index:1;max-width:620px}.eyebrow{font-size:.62rem;text-transform:uppercase;letter-spacing:.2em}.hero h1,.welcome h2,.encounter-intro h2,.day h2,.visit h2,.reserve h2{font:normal clamp(3.6rem,6.7vw,7rem)/.95 var(--serif);letter-spacing:-.06em;margin:2rem 0}.hero h1 em,.welcome h2 em{font-weight:normal;color:var(--terra)}.hero-copy>p:not(.eyebrow){font:1.05rem/1.7 var(--sans);max-width:440px}.soft-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--sage);width:min(100%,330px);padding:1rem 0;margin-top:2rem;font-size:.63rem;text-transform:uppercase;letter-spacing:.15em}.soft-link span{width:34px;height:34px;border:1px solid;border-radius:50%;display:grid;place-items:center}.hero-image{height:70vh;margin:0;border-radius:50% 50% 4rem 4rem/38% 38% 4rem 4rem;overflow:hidden;position:relative}.hero-image img{height:100%;object-fit:cover}.hero-image figcaption{position:absolute;bottom:1.5rem;right:1.5rem;background:#f4efe4d9;padding:.8rem 1rem;border-radius:2rem;font:italic .85rem var(--serif)}.vertical-note{position:absolute;right:1.3rem;top:42%;writing-mode:vertical-rl;font-size:.55rem;text-transform:uppercase;letter-spacing:.17em}.welcome{padding:12rem 8vw;text-align:center;position:relative;background:#dce1d5;overflow:hidden}.welcome .leaf{position:absolute;width:300px;height:480px;border:1px solid #75816b80;border-radius:100% 0 100% 0;transform:rotate(28deg);left:-130px;top:20%}.welcome h2{font-size:clamp(3rem,5.5vw,5.8rem);max-width:1100px;margin:3rem auto}.welcome h2 em{color:var(--leaf)}.welcome-copy{max-width:560px;margin:4rem auto 0;font:1.15rem/1.75 var(--serif)}.encounters{padding:10rem 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.encounter-intro{position:sticky;top:4rem;align-self:start}.encounter-intro h2{font-size:clamp(3.5rem,5vw,5.5rem)}.encounter-intro>p:last-child{max-width:380px;line-height:1.7}.accordion{border-top:1px solid #98a08f}.accordion article{border-bottom:1px solid #98a08f;padding:0 0 1rem}.accordion button{width:100%;padding:2rem 0 1rem;background:none;border:0;color:inherit;display:grid;grid-template-columns:1fr 1fr auto;text-align:left;align-items:center;cursor:pointer}.accordion button span{font:2rem var(--serif)}.accordion button small{font-size:.6rem;text-transform:uppercase;letter-spacing:.14em}.accordion button i{width:36px;height:36px;border:1px solid;border-radius:50%;display:grid;place-items:center;font-style:normal}.answer{padding:1rem 15% 1.5rem 50%}.answer p{font:1rem/1.7 var(--serif)}.answer a{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid}.pause{height:780px;position:relative;overflow:hidden}.pause>img{height:100%;object-fit:cover;transform:scale(1.15);filter:saturate(.7)}.pause-shape{position:absolute;width:min(55vw,700px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);background:#c77b5bec;border-radius:48% 52% 61% 39%/45% 35% 65% 55%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem;color:#fff}.pause blockquote{font:italic clamp(2.2rem,4.5vw,4.8rem)/1.05 var(--serif);margin:0}.pause-shape p{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;margin-top:2rem}.day{padding:10rem 6vw}.day-copy{display:grid;grid-template-columns:.7fr 1.3fr}.day-copy h2{font-size:clamp(3rem,5vw,5.5rem);margin:0}.timeline{margin-top:7rem;margin-left:35%;border-top:1px solid #98a08f}.timeline>div{display:grid;grid-template-columns:100px 1fr 1fr;align-items:baseline;padding:2rem 0;border-bottom:1px solid #98a08f}.timeline time{font:italic 1.8rem var(--serif);color:var(--terra)}.timeline strong{font:normal 1.4rem var(--serif)}.timeline p{font-size:.7rem}.visit{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--leaf);color:#fff}.visit-copy{padding:9rem 8vw}.visit-copy h2{font-size:clamp(3.5rem,5vw,5.5rem)}.visit-copy>p:not(.eyebrow){font:1rem/1.75 var(--serif);margin-top:2rem}.visit-mark{display:grid;place-items:center;background:var(--sage);overflow:hidden;position:relative}.visit-mark:before,.visit-mark:after{content:'';position:absolute;width:30vw;height:30vw;border:1px solid #ffffff35;border-radius:50%}.visit-mark:after{width:20vw;height:20vw}.visit-mark span{font:italic 18rem var(--serif);color:var(--pink);position:relative;z-index:1}.reserve{padding:10rem 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--pink)}.reserve h2{font-size:clamp(4rem,6vw,6.5rem)}form{display:flex;flex-direction:column;justify-content:center;gap:1.4rem}form label{font-size:.6rem;text-transform:uppercase;letter-spacing:.14em}form input,form select{display:block;width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:.8rem 0;font:1.05rem var(--serif);border-radius:0}form button{background:var(--leaf);color:#fff;border:0;border-radius:3rem;padding:1.2rem;text-transform:uppercase;letter-spacing:.14em;font-size:.63rem;margin-top:1rem;cursor:pointer}.status{min-height:1rem;font-size:.8rem}footer{padding:4rem;display:grid;grid-template-columns:1fr 1fr auto auto;gap:3rem;align-items:center}footer p,footer div{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em}footer div{display:flex;gap:1rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s,transform .9s}.reveal.in{opacity:1;transform:none}@media(max-width:760px){header{height:72px;padding:0 1.1rem;grid-template-columns:1fr auto}.header-cta{display:none}.menu{display:block;background:none;border:0;color:inherit;text-transform:uppercase;font-size:.6rem;letter-spacing:.12em}header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:2rem 1.1rem;flex-direction:column}header nav.open{display:flex}.hero{display:block;padding:130px 1.1rem 4rem}.hero h1{font-size:4rem}.hero-image{height:58vh;margin-top:4rem}.vertical-note{display:none}.welcome{padding:8rem 1.1rem}.encounters{display:block;padding:7rem 1.1rem}.encounter-intro{position:static}.accordion{margin-top:4rem}.accordion button{grid-template-columns:1fr auto}.accordion button small{display:none}.answer{padding:1rem 12% 2rem}.pause{height:650px}.pause-shape{width:88vw;padding:2rem}.day{padding:7rem 1.1rem}.day-copy{display:block}.day-copy h2{margin-top:2rem}.timeline{margin:4rem 0 0}.timeline>div{grid-template-columns:82px 1fr}.timeline p{grid-column:2}.visit{display:block;min-height:0}.visit-copy{padding:7rem 1.1rem}.visit-mark{height:420px}.visit-mark:before{width:75vw;height:75vw}.visit-mark:after{width:50vw;height:50vw}.reserve{display:block;padding:7rem 1.1rem}.reserve form{margin-top:4rem}footer{padding:3rem 1.1rem;grid-template-columns:1fr 1fr;gap:1.5rem}footer>p:last-child{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
/* Identity refinement */
.logo{gap:.7rem}
.alba-mark{width:34px;height:34px;position:relative;display:block}
.alba-mark i{position:absolute;width:16px;height:24px;border:1px solid var(--leaf);border-radius:100% 0 100% 0;left:9px;top:1px;transform-origin:50% 90%}
.alba-mark i:nth-child(2){transform:rotate(120deg)}
.alba-mark i:nth-child(3){transform:rotate(240deg)}
.alba-mark:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--terra);left:15px;top:15px}
.alba-type{display:flex!important;align-items:center;gap:.75rem}
.alba-type b{font:italic 2rem/.8 var(--serif);letter-spacing:-.08em}
.alba-type small{font-size:.48rem;text-transform:uppercase;letter-spacing:.16em;max-width:66px}
.hero h1{font-size:clamp(3.4rem,5.4vw,5.6rem);line-height:1.01;max-width:10ch}
.welcome h2{font-size:clamp(2.8rem,4.4vw,4.65rem);line-height:1.08}
.encounter-intro h2,.day-copy h2,.visit-copy h2{font-size:clamp(2.7rem,4vw,4.25rem);line-height:1.06}
.reserve h2{font-size:clamp(3.2rem,4.8vw,5rem)}
@media(max-width:760px){.alba-type small{display:none}.hero h1{font-size:3.65rem}.welcome h2,.encounter-intro h2,.day-copy h2,.visit-copy h2{font-size:3rem}.reserve h2{font-size:3.6rem}}
/* Human, conversational booking */
.reserve-chat{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.5rem}
.reserve-chat>p{font:1.15rem/1.7 var(--serif);max-width:480px}
.reserve-chat>a{display:flex;justify-content:space-between;gap:3rem;width:min(100%,420px);background:var(--leaf);color:#fff;border-radius:4rem;padding:1.2rem 1.5rem;font-size:.63rem;text-transform:uppercase;letter-spacing:.13em}
.reserve-chat small{font:italic .9rem var(--serif);color:var(--leaf)}

/* Spatial rhythm audit: calm without dead zones */
@media(min-width:761px){
  .welcome{padding:8rem 8vw}
  .encounters{padding:7rem 6vw;gap:6vw}
  .pause{height:680px}
  .day{padding:7rem 6vw}
  .visit{min-height:560px}
  .reserve{padding:7rem 7vw;gap:6vw}
}
@media(max-width:760px){
  .welcome,.encounters,.day,.reserve{padding-top:5.5rem;padding-bottom:5.5rem}
  .pause{height:560px}
  .hero{padding:6rem 1.1rem 3.5rem}.hero h1{font-size:3.2rem}.hero-image{height:48vh;min-height:360px;margin-top:2.5rem}
}
.whatsapp-float{position:fixed;z-index:40;right:1rem;bottom:1rem;background:#f4efe4e8;color:var(--leaf);border:1px solid #75816b;border-radius:3rem;padding:.85rem 1rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;backdrop-filter:blur(10px)}
.whatsapp-float span{color:#25b764;margin-right:.55rem}
@media(max-width:760px){.reserve-chat{margin-top:3rem}.whatsapp-float{right:.7rem;bottom:.7rem}}

/* Collection navigation */
.catalog-return{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid #222;border-radius:24px;background:#fff;color:#222;box-shadow:0 3px 14px #00000018;font:500 12px/1.2 Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none;text-decoration:none}
.catalog-return:hover{background:#222;color:#fff}
.catalog-return:focus-visible{outline:3px solid #517ab9;outline-offset:3px}
body>footer{padding-bottom:max(5rem,calc(env(safe-area-inset-bottom) + 72px))}
@media(max-width:420px){.catalog-return{padding-inline:12px}.catalog-return-prefix{display:none}}

/* Collection controls occupy their own space below the page. */
.collection-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem max(1.2rem,4vw);border-top:1px solid currentColor}
.collection-tools .catalog-return,.collection-tools .whatsapp-float{position:static;inset:auto;transform:none;margin:0;min-height:44px;display:inline-flex;align-items:center;box-shadow:none;font-size:12px}
.collection-tools .catalog-return{background:transparent;color:inherit;border-color:currentColor;border-radius:0}
body>footer{padding-bottom:3rem}
a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:4px}

