:root{--ground:#FAF3EF;--panel:#FFFFFF;--ink:#2B1D18;--ink-soft:#6E5A52;--ink-faint:#A08B82;--berry:#8E2A45;--berry-deep:#6E1F36;--gold:#C09A6C;--line:rgba(43,29,24,0.12);--line-soft:rgba(43,29,24,0.07);--tile-shadow:0 18px 40px -18px rgba(43,29,24,0.35);--btn-ink:#FAF3EF;--ok:#3D7A4A;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ground);color:var(--ink);font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.serif{font-family:Didot,Didot LT STD,Bodoni MT,Bodoni\ 72,Playfair,Playfair Display,Georgia,serif}.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}.wrap{max-width:1080px;margin:0 auto;padding:0 22px}section{padding:72px 0}h1,h2,h3{margin:0;text-wrap:balance;font-weight:400}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--ground) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;max-width:1080px;margin:0 auto}.nameplate{font-size:1.25rem;letter-spacing:.04em}.nameplate em{font-style:italic;color:var(--berry)}nav{display:flex;gap:22px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}nav a{text-decoration:none;color:var(--ink-soft)}nav a:focus-visible,nav a:hover{color:var(--berry)}@media (max-width:720px){nav{display:none}}.btn{display:inline-flex;align-items:center;gap:10px;background:var(--berry);color:var(--btn-ink);border:none;border-radius:999px;padding:11px 22px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s ease,transform .2s ease}.btn:focus-visible,.btn:hover{background:var(--berry-deep);transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ghost:focus-visible,.btn.ghost:hover{border-color:var(--berry);color:var(--berry);background:transparent}.hero{padding:64px 0 40px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:7fr 5fr;grid-gap:40px;gap:40px;align-items:center}@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}.hero h1{font-size:clamp(2.6rem,6.4vw,4.6rem);line-height:1.04;letter-spacing:.005em;margin:18px 0 22px}.hero h1 em{font-style:italic;color:var(--berry)}.hero .lede{color:var(--ink-soft);max-width:34em;font-size:1.05rem}.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(18px);animation:rise .7s ease forwards}.reveal.d1{animation-delay:.08s}.reveal.d2{animation-delay:.18s}.reveal.d3{animation-delay:.3s}.reveal.d4{animation-delay:.44s}@keyframes rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;animation:none}.btn,.tile{transition:none}}.photo{border-radius:4px;position:relative;overflow:hidden;box-shadow:var(--tile-shadow);display:flex;align-items:flex-end;justify-content:center;background-size:cover;background-position:center 25%;background-repeat:no-repeat}.photo:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 108%,rgba(0,0,0,.34),transparent 55%)}.photo .tag{position:relative;z-index:1;margin:0 0 16px;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,248,244,.92);font-weight:600;text-align:center;padding:0 8px}.hero-photo{aspect-ratio:4/5}.hero-photo-note{margin-top:12px;font-size:.78rem;color:var(--ink-faint);text-align:center;letter-spacing:.04em}.swatches{display:flex;gap:14px;padding:26px 0 0;align-items:center}.swatch{height:14px;border-radius:8px 10px 9px 12px;flex:0 1 110px;filter:saturate(1.05)}.swatch:nth-child(odd){transform:rotate(-1.2deg)}.swatch:nth-child(2n){transform:rotate(1deg)}.s1{background:linear-gradient(90deg,#8E2A45,#B75B6E 70%,transparent)}.s2{background:linear-gradient(90deg,#C98A63,#E3B893 70%,transparent)}.s3{background:linear-gradient(90deg,#6E4B3A,#9C7053 70%,transparent)}.s4{background:linear-gradient(90deg,#C09A6C,#E0C49B 70%,transparent)}.s5{background:linear-gradient(90deg,#4A2C33,#7A4A55 70%,transparent)}.strip{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:16px 0;overflow:hidden;white-space:nowrap}.strip-inner{display:inline-block;animation:slide 28s linear infinite}@media (prefers-reduced-motion:reduce){.strip-inner{animation:none}}@keyframes slide{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.strip span{font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);padding:0 28px}.strip span:after{content:"·";color:var(--gold);margin-left:56px}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:36px}.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}.sec-head .more{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--berry);text-decoration:none;white-space:nowrap}.sec-head .more:hover{text-decoration:underline}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}@media (max-width:860px){.grid{grid-template-columns:repeat(2,1fr)}}.tile{aspect-ratio:3/4;transition:transform .25s ease}.tile:hover{transform:translateY(-4px)}.services{border-top:1px solid var(--line-soft)}.svc-list{display:flex;flex-direction:column}.svc{display:grid;grid-template-columns:1fr auto;grid-gap:6px 24px;gap:6px 24px;padding:22px 0;border-bottom:1px solid var(--line-soft);align-items:baseline}.svc h3{font-size:1.35rem}.svc .desc{color:var(--ink-soft);font-size:.92rem;max-width:36em}.svc .price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.1rem;letter-spacing:.02em;color:var(--berry);white-space:nowrap;font-weight:600;text-align:right}.svc .price small{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.svc-note{margin-top:18px;font-size:.82rem;color:var(--ink-faint)}.about-grid{display:grid;grid-template-columns:5fr 7fr;grid-gap:44px;gap:44px;align-items:center}@media (max-width:860px){.about-grid{grid-template-columns:1fr}}.about-photo{aspect-ratio:4/5;background-position:center 22%}.about p{color:var(--ink-soft);margin-top:16px}.kit{display:flex;gap:10px 26px;flex-wrap:wrap;margin-top:26px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}blockquote{margin:0;text-align:center;max-width:26em;margin-inline:auto;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.35;font-style:italic}blockquote em{color:var(--berry)}.quote-by{text-align:center;margin-top:20px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}.avail{border-top:1px solid var(--line-soft)}.avail-grid{display:grid;grid-template-columns:6fr 6fr;grid-gap:44px;gap:44px;align-items:start}@media (max-width:860px){.avail-grid{grid-template-columns:1fr}}.cal{background:var(--panel);border:1px solid var(--line-soft);border-radius:8px;padding:18px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-head .month{font-size:1.1rem;letter-spacing:.06em}.cal-nav{display:flex;gap:8px}.cal-nav button{border:1px solid var(--line);background:transparent;border-radius:999px;width:34px;height:34px;cursor:pointer;color:var(--ink-soft);font-size:1rem}.cal-nav button:hover{border-color:var(--berry);color:var(--berry)}.cal-dow,.cal-week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-dow span{text-align:center;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);padding:6px 0;font-weight:600}.cal-day{aspect-ratio:1;border:none;background:transparent;border-radius:6px;cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.9rem;color:var(--ink)}.cal-day:hover:not(:disabled){background:var(--line-soft)}.cal-day:disabled{color:var(--ink-faint);opacity:.45;cursor:default}.cal-day.blocked{color:var(--ink-faint);text-decoration:line-through;background:var(--line-soft);opacity:.7}.cal-day.sel{background:var(--berry);color:var(--btn-ink);font-weight:600}.cal-key{display:flex;gap:18px;margin-top:14px;font-size:.72rem;color:var(--ink-faint);letter-spacing:.06em}.cal-key i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;font-style:normal}.cal-key .k-open i{border:1px solid var(--line)}.cal-key .k-blocked i{background:var(--line-soft)}.bform{display:flex;flex-direction:column;gap:12px}.bform label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.bform input,.bform select,.bform textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel);margin-top:5px}.bform input:focus,.bform select:focus,.bform textarea:focus{outline:2px solid var(--berry);outline-offset:1px;border-color:transparent}.bform .row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:560px){.bform .row2{grid-template-columns:1fr}}.form-note{font-size:.8rem;color:var(--ink-faint)}.form-ok{border:1px solid var(--ok);color:var(--ok);border-radius:8px;padding:16px 18px;font-size:.95rem;background:color-mix(in srgb,var(--ok) 6%,transparent)}.form-err{color:var(--berry-deep);font-size:.85rem}.contact{background:var(--panel);border-top:1px solid var(--line-soft)}.contact-inner{text-align:center;max-width:560px;margin:0 auto}.contact h2{font-size:clamp(2rem,4.5vw,3rem);margin:14px 0 12px}.contact p{color:var(--ink-soft)}.contact-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}.contact .fine{margin-top:26px;font-size:.8rem}.contact .fine,footer{color:var(--ink-faint)}footer{padding:34px 0 110px;text-align:center;font-size:.78rem}.bookbar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--ground) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line-soft)}.bookbar .btn{width:100%;justify-content:center}@media (max-width:720px){.bookbar{display:block}}.adm{max-width:720px;margin:0 auto;padding:28px 18px 90px}.adm h1{font-size:1.6rem;margin-bottom:6px}.adm .sub{color:var(--ink-soft);font-size:.9rem;margin-bottom:26px}.adm-tabs{display:flex;gap:8px;margin:22px 0;flex-wrap:wrap}.adm-tab{border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 18px;cursor:pointer;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ink-soft)}.adm-tab.on{background:var(--ink);color:var(--ground);border-color:var(--ink)}.adm-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;padding:18px;margin-bottom:14px}.adm-photos{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}@media (max-width:560px){.adm-photos{grid-template-columns:repeat(2,1fr)}}.adm-ph{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:3/4;background:var(--line-soft)}.adm-ph img{width:100%;height:100%;object-fit:cover;display:block}.adm-ph .del{top:6px;right:6px;border:none;border-radius:999px;background:rgba(20,10,8,.72);width:28px;height:28px;cursor:pointer;font-size:.9rem}.adm-ph .del,.adm-ph input{position:absolute;color:#fff}.adm-ph input{bottom:0;left:0;right:0;border:none;padding:7px 9px;background:rgba(20,10,8,.66);font-size:.72rem}.adm-ph input::placeholder{color:rgba(255,255,255,.55)}.adm input[type=email],.adm input[type=text]{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.adm .req{border-bottom:1px solid var(--line-soft);padding:14px 0}.adm .req:last-child{border-bottom:none}.adm .req b{font-weight:600}.adm .req .meta{font-size:.82rem;color:var(--ink-soft);margin:4px 0 10px}.adm .req .acts{display:flex;gap:8px}.pill{display:inline-block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;border-radius:999px;padding:3px 10px;vertical-align:2px;margin-left:8px}.pill.pending{background:color-mix(in srgb,var(--gold) 22%,transparent);color:#7A5A26}.pill.confirmed{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.pill.declined{background:var(--line-soft);color:var(--ink-faint)}.adm .btn{padding:9px 16px;font-size:.74rem}.adm-msg{font-size:.85rem;color:var(--ink-soft);margin-top:10px}