:root{--color-bronze:#d5b574;--color-bronze-light:#edcf97;--color-bg:#081c17;--color-bg-alt:#0b211b;--color-card:#102a22;--color-muted:#b2bcb1;--radius:4px}
body{font-weight:400}::selection{background:#d5b574;color:#081c17}button,input,select{font:inherit}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #edcf97;outline-offset:5px}.skip-link{position:fixed;left:20px;top:-90px;z-index:1000;background:#d5b574;color:#081c17;padding:12px}.skip-link:focus{top:10px}.hero{background:radial-gradient(ellipse at 80% 20%,#24473855,transparent 60%);padding-bottom:90px}.hero__grid{gap:60px}.hero__title{font-size:clamp(3.4rem,6.7vw,5.6rem);line-height:1.08;letter-spacing:-.04em}.hero__title em{font-size:1em;white-space:normal}.hero__text{font-size:1.05rem;max-width:30em}.hero__image{max-width:460px}.hero__image .photo{aspect-ratio:4/5.1;min-height:0}.hero__image .arch-frame{transform:rotate(2deg);padding:12px;border-color:#d5b57488}.hero-art{filter:brightness(.8) saturate(.7);object-position:49% center}.hero-seal{position:absolute;z-index:3;bottom:30px;left:0;width:100%;text-align:center;font-size:.65rem;letter-spacing:.35em;text-shadow:0 1px 8px #000}.eyebrow{letter-spacing:.23em}.btn{border-radius:2px;min-height:48px}.section-title{letter-spacing:-.025em}.section-head{margin-bottom:40px}.services{gap:25px}.service{border-radius:3px;transition:transform .25s,border-color .25s}.service:hover{transform:translateY(-4px);border-color:#d5b57488}.service__photo{filter:saturate(.8)}.service__text{font-weight:400}.service__time{border-radius:2px}.team{gap:38px}.member__photo{cursor:pointer}.member__photo:focus-visible{outline:2px solid #d5b574}.visit-banner{padding:65px 30px;text-align:center;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:linear-gradient(120deg,#153a2b66,transparent)}.visit-banner h2{font-size:clamp(2rem,4vw,3.5rem);margin:12px 0}.visit-banner p:not(.eyebrow){color:var(--color-muted)}.visit-banner .btn{margin-top:25px}.booking-section{background:#e9e5d8;color:#19362a}.booking-section .eyebrow{color:#796437}.booking-section .section-title em{color:#796437}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.booking-intro{max-width:400px;margin-top:25px}.booking-note{margin:30px 0;font-size:.9rem}.booking-form{padding:30px;border:1px solid #19362a33;background:#f7f4eb}.booking-form label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;letter-spacing:.04em;margin-bottom:18px}.booking-form input,.booking-form select{width:100%;min-width:0;border:1px solid #19362a44;background:#fffdf6;color:#19362a;border-radius:0;padding:12px;color-scheme:light;font-size:.95rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-total{font-family:Georgia,serif;font-size:1.5rem;margin:15px 0}.booking-form .btn{width:100%}.form-fine{margin-top:15px;font-size:.78rem;line-height:1.6;color:#4e6155}.form-fine a{text-decoration:underline}.booking-form #booking-feedback{font-size:.85rem;margin-top:12px}.legal{max-width:800px;padding-top:60px;padding-bottom:90px}.legal-brand{display:inline-block;letter-spacing:.18em;color:#d5b574;margin-bottom:55px;font-size:.85rem}.legal h1{font-size:clamp(2.4rem,6vw,4rem);margin:18px 0}.legal>p{color:var(--color-muted)}.legal section{margin:35px 0}.legal h2{font-size:1.6rem;margin-bottom:12px}.legal section p{color:var(--color-muted)}.legal .btn{margin-top:20px}.noscript-note{padding:12px 20px;background:#d5b574;color:#081c17;text-align:center}
@media(min-width:1000px){.team{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.booking-grid{gap:35px}.hero__grid{gap:32px}.hero__image{order:0}.hero__title{font-size:clamp(3.1rem,7vw,4.6rem)}}
@media(max-width:640px){.hero__image{max-width:360px;margin:20px auto 0}.hero__image .photo{aspect-ratio:4/3.6}.hero__grid{gap:28px}.hero__title{font-size:3.3rem}.hero__title em{font-size:.95em}.hero{padding-bottom:55px}.booking-grid{grid-template-columns:1fr}.booking-form{padding:22px 18px}.booking-intro{max-width:none}.section{padding:65px 0}.form-row{gap:10px}.visit-banner{padding:45px 18px}.hero__facts{margin-top:30px}.fact__value{font-size:.95rem}.legal{padding-bottom:120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
