:root,:root[data-theme]{--color-base-100:#0F0E0C;--color-base-200:#1A1815;--color-base-300:#2F2B24;--color-base-content:#F3EEE4;--color-primary:#E9B52C;--color-primary-content:#16120A;--color-accent:#E9B52C;--color-accent-content:#16120A;--color-neutral:#070605;--color-neutral-content:#F3EEE4;--radius-box:.375rem;--radius-field:.375rem;--radius-selector:.375rem;--font-display:"Playfair Display",Georgia,serif;--font-sans:"Work Sans",system-ui,sans-serif;--ginta-accent:#E9B52C;--ginta-accent-ink:#16120A;--ginta-radius:.375rem;--muted:#BDB4A4;--step--1:clamp(.875rem,.86rem + .1vw,.94rem);--step-0:clamp(1rem,.96rem + .2vw,1.125rem);--step-1:clamp(1.2rem,1.1rem + .5vw,1.45rem);--step-2:clamp(1.45rem,1.25rem + 1vw,1.9rem);--step-3:clamp(1.9rem,1.5rem + 1.9vw,2.8rem);--step-5:clamp(2.5rem,1.7rem + 4.4vw,4.6rem);--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--section:clamp(3rem,2rem + 4vw,5rem);--container:72rem;--measure:62ch}
body{background:var(--color-base-100);color:var(--color-base-content);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.55;overflow-wrap:break-word}
h1,h2{font-family:var(--font-display);line-height:1.1;letter-spacing:-.01em}
h1{font-size:var(--step-5);font-weight:800}
h2{font-size:var(--step-3);font-weight:700;margin-bottom:var(--sp-3)}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}
.sb-wrap{max-width:var(--container);margin-inline:auto;padding-inline:var(--sp-4)}
.sb-head{position:sticky;top:0;z-index:40;background:rgba(15,14,12,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-base-300)}
.sb-head__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:60px}
.sb-brand__logo{height:46px;width:auto;display:block}
.sb-nav{gap:var(--sp-6)}
.sb-nav a{color:var(--color-base-content);text-decoration:none;font-weight:500}
.sb-nav a:hover{color:var(--color-primary)}
.sb-btn{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;font-weight:600;border-radius:var(--radius-field)}
.btn-primary{background:var(--color-primary);color:var(--color-primary-content);border-color:var(--color-primary)}
.sb-btn--ghost{background:transparent;color:var(--color-base-content);border:1px solid var(--color-primary)}
.sb-btn--ghost:hover{background:var(--color-primary);color:var(--color-primary-content)}
.sb-kicker{color:var(--color-primary);font-size:var(--step--1);font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--sp-2)}
.sb-muted{color:var(--muted);max-width:var(--measure)}
.sb-hero{padding-block:var(--sp-6) var(--section)}
.sb-hero__grid{display:grid;gap:var(--sp-6);align-items:center}
.sb-lead{color:var(--muted);font-size:var(--step-1);max-width:34ch;margin-top:var(--sp-4)}
.sb-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}
.sb-facts{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);margin-top:var(--sp-5);color:var(--muted);font-size:var(--step--1);list-style:none;padding:0}
.sb-facts li{display:flex;align-items:center;gap:var(--sp-2)}
.sb-facts svg{width:1.1em;height:1.1em;color:var(--color-primary)}
.sb-hero__img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-box)}
.sb-sec{padding-block:var(--section)}
.sb-sec--alt{background:var(--color-base-200)}
.sb-narrow{max-width:52rem}
.sb-book-card{margin-top:var(--sp-6);background:var(--color-base-100);border:1px solid var(--color-base-300);border-top:3px solid var(--color-primary);border-radius:var(--radius-box);padding:var(--sp-5) var(--sp-4)}
.ginta-bookings{font-family:var(--font-sans)}
.ginta-bookings h3,.ginta-bookings legend,.ginta-bookings__step,.ginta-bookings>p:first-child{font-family:var(--font-display);font-size:var(--step-1);font-weight:700;color:var(--color-base-content);margin-bottom:var(--sp-3)}
.ginta-bookings__service{position:relative;background:var(--color-base-200);border:1px solid var(--color-base-300);border-radius:var(--radius-box);padding:var(--sp-3) var(--sp-5);min-height:44px;transition:border-color .15s,background .15s,transform .15s;cursor:pointer}
.ginta-bookings__service::before{content:"";position:absolute;left:0;top:var(--sp-3);bottom:var(--sp-3);width:3px;border-radius:2px;background:var(--color-primary);opacity:0;transition:opacity .15s}
.ginta-bookings__service:hover{border-color:var(--color-primary);background:#221F1A}
.ginta-bookings__service:hover::before,.ginta-bookings__service[aria-pressed="true"]::before{opacity:1}
.ginta-bookings__service[aria-pressed="true"]{border-color:var(--color-primary);background:#2A2418;box-shadow:0 0 0 1px var(--color-primary)}
.ginta-bookings__name{font-family:var(--font-display);font-size:var(--step-1);font-weight:700;color:var(--color-base-content)}
.ginta-bookings__meta,.ginta-bookings__meta *{font-family:var(--font-sans);font-size:var(--step-0);opacity:1;color:var(--color-primary);font-weight:600;font-variant-numeric:tabular-nums;margin-top:var(--sp-2);letter-spacing:.02em}
.ginta-bookings__desc{color:var(--muted)}
.ginta-bookings__day,.ginta-bookings__time{min-height:44px;border:1px solid var(--color-base-300);background:var(--color-base-200);color:var(--color-base-content);border-radius:999px;font-weight:500;font-variant-numeric:tabular-nums;transition:border-color .15s,background .15s}
.ginta-bookings__day:hover,.ginta-bookings__time:hover{border-color:var(--color-primary)}
.ginta-bookings__day[aria-pressed="true"],.ginta-bookings__time[aria-pressed="true"]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-content);font-weight:600}
.ginta-bookings__form input,.ginta-bookings__form textarea,.ginta-bookings__form select{background:var(--color-base-200);border:1px solid var(--color-base-300);color:var(--color-base-content);border-radius:var(--radius-field);min-height:44px}
.ginta-bookings__form input:focus,.ginta-bookings__form textarea:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:1px}
.ginta-bookings__submit{min-height:52px;background:var(--color-primary);color:var(--color-primary-content);border:0;border-radius:var(--radius-field);font-weight:700;font-size:var(--step-0);letter-spacing:.02em;padding-inline:var(--sp-6)}
.ginta-bookings__submit:hover{filter:brightness(1.08)}
.sb-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3);margin-top:var(--sp-5)}
.sb-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-box)}
.sb-visit{display:grid;gap:var(--sp-6);align-items:center}
.sb-addr{display:flex;gap:var(--sp-3);font-size:var(--step-1);font-weight:500;margin-bottom:var(--sp-3)}
.sb-addr svg{width:1.2em;height:1.2em;color:var(--color-primary);flex:none;margin-top:.2em}
.sb-visit .sb-muted{margin-bottom:var(--sp-5)}
.sb-map{width:100%;aspect-ratio:4/3;border:1px solid var(--color-base-300);border-radius:var(--radius-box)}
.sb-foot{background:var(--color-neutral);border-top:1px solid var(--color-base-300);padding-block:var(--sp-6)}
.sb-foot__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-5);color:var(--muted);font-size:var(--step--1)}
.sb-foot b{color:var(--color-base-content)}
.sb-foot nav{display:flex;gap:var(--sp-5)}
.sb-foot a{color:var(--color-base-content);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.sb-foot a:hover{color:var(--color-primary)}
.legal{max-width:var(--measure);margin-inline:auto;padding:var(--section) var(--sp-4)}
.legal h1{font-size:var(--step-3);margin-bottom:var(--sp-5)}
.legal h2{font-size:var(--step-1);margin-top:var(--sp-6)}
.legal p{margin-bottom:var(--sp-3);color:var(--muted)}
.legal a{color:var(--color-primary)}
html{scroll-behavior:smooth;scroll-padding-top:72px}
@media (min-width:768px){.sb-hero__grid{grid-template-columns:1.1fr 1fr;gap:var(--sp-7)}.sb-visit{grid-template-columns:1fr 1.4fr;gap:var(--sp-7)}.sb-gallery{grid-template-columns:repeat(4,1fr)}.sb-book-card{padding:var(--sp-6)}.sb-brand__logo{height:52px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
