@font-face{font-family:Instrument Serif;src:url(/assets/instrument.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Instrument Serif;src:url(/assets/instrument-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url(/assets/dm-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--ink:#243229;--forest:#203129;--forest-deep:#17261f;--paper:#fcf8ee;--cream:#f8f2e6;--sand:#eee5d4;--border:#dbd0bc;--gold:#e6c586;--gold-dark:#715735;--muted:#516056;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.62}
a{color:inherit;text-underline-offset:4px}
a,button{-webkit-tap-highlight-color:transparent}
button,input,select{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%;object-fit:cover}
:focus-visible{outline:3px solid #a66e2c;outline-offset:4px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.99}
h2{font-size:clamp(2.7rem,5.8vw,4.8rem);letter-spacing:-.022em;margin-bottom:1.35rem}
h3{font-size:2.48rem;letter-spacing:-.012em;margin-bottom:.68rem}
p+p{margin-top:1rem}
p+ .button,p+ .textlink{margin-top:1.25rem}
.wrap{width:min(100% - 104px,1280px);margin-inline:auto}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;top:12px;left:12px;z-index:100;padding:10px 16px;color:var(--ink);background:var(--gold)}
.site-header{background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid #d9cfbc}
.header-in{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:25px}
.brand{text-decoration:none;display:inline-flex;align-items:center;gap:12px;flex:none;line-height:1;color:inherit}
.brand-mark{display:grid;place-items:center;border:1px solid #968168;border-radius:50%;width:43px;height:43px;font:italic 31px/1 var(--serif)}
.brand b{display:block;font:400 31px/.95 var(--serif);letter-spacing:.015em}
.brand small{display:block;margin-top:6px;font-size:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:700}
.desktop-nav{display:flex;align-items:center;gap:clamp(13px,2.1vw,31px);margin-left:auto;margin-right:clamp(4px,2.3vw,32px)}
.desktop-nav a{text-decoration:none;white-space:nowrap;font-size:.89rem;font-weight:650;padding:12px 0}
.desktop-nav a:hover,.desktop-nav a[aria-current]{text-decoration:underline;text-decoration-color:#8a6a39}
.mobile-nav{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.62rem;text-decoration:none;min-height:47px;padding:.65rem 1.04rem;border:1px solid transparent;border-radius:4px;font-size:.9rem;font-weight:700;line-height:1.3;background:transparent;color:inherit;transition:background .16s,color .16s,border-color .16s;text-align:center}
.button span,.textlink span{font-size:1.1em}
.button-green{background:var(--forest);color:var(--paper);border-color:var(--forest)}
.button-green:hover{background:#374c3e}
.button-gold{color:var(--forest-deep);background:var(--gold);border-color:var(--gold)}
.button-gold:hover{background:#f6dca6}
.button-outline{border-color:#7b877c}
.button-outline:hover{background:var(--sand)}
.button-light{border-color:#eee1cdb0;color:#fff8e9;background:#2131297d}
.button-light:hover,.button-hero-link:hover{background:#333e2fd4}
.button-hero-link{color:#fff8e9;text-decoration:underline;text-underline-offset:5px}
.actions{display:flex;align-items:center;gap:.66rem;flex-wrap:wrap;margin-top:1.7rem}
.hero{isolation:isolate;position:relative;display:grid;align-items:center;min-height:clamp(570px,75vh,790px);overflow:hidden;background:var(--forest);color:var(--paper)}
.hero picture,.hero-photo,.hero::after{position:absolute;inset:0;width:100%;height:100%}
.hero picture{z-index:-2}
.hero-photo{object-position:50% 58%}
.hero::after{content:"";z-index:-1;background:linear-gradient(90deg,#101b17eb 0%,#13211ac9 28%,#17271e66 59%,#1b2a210f 100%),linear-gradient(0deg,#14231dc4 0%,transparent 38%)}
.hero-in{padding-block:66px 74px}
.kicker{font:700 .72rem/1.55 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:1.2rem}
.hero .kicker{color:#f7db9c;display:flex;align-items:center;gap:11px}
.hero .kicker span{background:#e5c27e;width:24px;height:1px;flex:none}
.hero h1{font-size:clamp(5.7rem,10.3vw,10.6rem);line-height:.82;letter-spacing:-.027em}
.hero-slogan{color:#f2d799;font:italic 400 clamp(1.85rem,3.1vw,2.72rem)/1.05 var(--serif);margin-top:1.45rem}
.hero-intro{margin-top:1rem;max-width:490px;line-height:1.62;color:#f5eee0}
.hero-caption{position:absolute;bottom:12px;right:20px;color:#f7eddf;font-size:.7rem;background:#14231dcb;padding:.16rem .4rem;border-radius:2px}
.quick-band{background:var(--cream);border-bottom:1px solid var(--border)}
.quick-items{display:grid;grid-template-columns:repeat(3,1fr)}
.quick-items a{display:flex;flex-direction:column;gap:1px;padding:18px 22px;text-decoration:none;border-left:1px solid var(--border)}
.quick-items a:last-child{border-right:1px solid var(--border)}
.quick-items a:hover{background:#f1e8d8}
.quick-items span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);font-weight:700}
.quick-items strong{font-family:var(--serif);font-size:clamp(1.35rem,3vw,2rem);font-weight:400;line-height:1.1}
.page-lead{background:var(--forest);color:var(--paper);padding-block:clamp(65px,11vw,142px);border-bottom:3px solid #b89657}
.page-lead .kicker{color:var(--gold)}
.page-lead h1{max-width:14ch;font-size:clamp(4rem,8.6vw,8.8rem);line-height:.88;letter-spacing:-.027em}
.page-lead .intro{font-size:clamp(1rem,2vw,1.24rem);max-width:630px;margin-top:26px;color:#f0e7d7}
.page-lead .button-green{background:var(--gold);color:var(--forest-deep);border-color:var(--gold)}
.page-lead .button-green:hover{background:#f6dca6}
.page-lead .button-outline{border-color:#e0cda1;color:var(--paper)}
.page-lead .button-outline:hover{background:#36473d}
.section{padding-block:clamp(58px,8vw,104px)}
.section-tint{background:var(--cream);border-block:1px solid #e5dbca}
.section p{max-width:68ch}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
.card{border:1px solid var(--border);padding:clamp(21px,3vw,34px);background:#fffaf0;display:flex;flex-direction:column;align-items:flex-start}
.card p{color:var(--muted)}
.card .textlink{margin-top:auto;padding-top:1rem}
.textlink{display:inline-block;font-weight:700;color:var(--forest);font-size:.95rem;text-decoration-color:#907145;text-decoration-thickness:1px}
.textlink:hover{text-decoration-thickness:2px}
.feature,.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,98px);align-items:start}
.feature > div+div{border-left:1px solid var(--border);padding-left:clamp(28px,5vw,70px)}
.feature h2,.split h2{font-size:clamp(2.7rem,6vw,4.25rem)}
.mika-feature{display:flex;align-items:center;gap:clamp(22px,5vw,66px)}
.mika-feature>img{border-radius:50%;aspect-ratio:1;flex:none;width:clamp(105px,18vw,180px);height:auto;background:#3c2546}
address{font-style:normal}
.faq-list{max-width:780px}
details{border-top:1px solid var(--border)}
details:last-child{border-bottom:1px solid var(--border)}
summary{font-weight:650;cursor:pointer;padding:15px 0}
details p{padding:0 0 17px 20px}
.prose h2{font-size:3rem}
.prose p+h2{margin-top:2rem}
.footer{background:var(--forest-deep);color:#eee8db}
.footer-main{padding-block:49px 40px;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:26px}
.footer .brand+p{margin-top:12px}
.footer h2{font:700 .76rem/1.3 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:.72rem}
.footer-base{border-top:1px solid #667267;padding-block:17px 23px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:.78rem}
.footer-base>div{display:flex;flex-wrap:wrap;gap:15px}
.credit{font-size:.78rem;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}
.credit img{object-fit:contain}
.concierge-float{z-index:11;position:fixed;bottom:21px;right:21px;border:1px solid #987e53;box-shadow:0 6px 30px #13221845;border-radius:32px;color:var(--paper);background:var(--forest);padding:6px 13px 6px 7px;display:flex;align-items:center;gap:.55rem;text-align:left;min-height:56px}
.concierge-float:hover{background:#34483a}
.concierge-float img,.dialog-head img{flex:none;border-radius:50%;background:#3c2546}
.concierge-float strong,.concierge-float small,.dialog-head small{display:block;line-height:1.18}
.concierge-float small,.dialog-head small{font-size:.69rem}
.concierge-float span:last-child{color:var(--gold);padding-left:3px}
dialog{position:fixed;inset:auto 20px 20px auto;margin:0;width:min(430px,calc(100% - 40px));max-height:calc(100dvh - 40px);border:1px solid #a49981;border-radius:12px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 12px 50px #17261f55;overflow:hidden}
dialog[open]{display:grid;grid-template-rows:auto minmax(105px,1fr) auto auto auto}
dialog::backdrop{background:#101c1780}
.dialog-head{background:var(--forest);color:var(--paper);display:flex;align-items:center;gap:11px;padding:12px 13px}
.dialog-head>div{margin-right:auto}
.dialog-head strong{font-size:1.07rem}
.dialog-head select,.dialog-head button{background:transparent;color:var(--paper);border:1px solid #a49f89;border-radius:5px;min-height:38px;min-width:44px}
.dialog-head button{font-size:1.5rem;line-height:1}
.dialog-head option{color:var(--ink)}
.dialog-log{height:min(295px,42dvh);min-height:0;overflow:auto;padding:14px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:.9rem}
.message{margin:0;padding:9px 11px;background:var(--sand);border-radius:8px;max-width:93%;overflow-wrap:anywhere}
.message p{margin:0}
.message a{display:inline-block;margin-top:5px;font-weight:700}
.message.user{align-self:flex-end;background:var(--forest);color:var(--paper)}
.dialog-options{display:flex;flex-wrap:wrap;gap:5px;padding:6px 10px}
.dialog-options button{border-radius:20px;border:1px solid #a8997d;color:var(--ink);background:white;padding:5px 9px;min-height:33px;font-size:.76rem}
.dialog-options button:hover{background:var(--sand)}
.dialog-form{display:flex;gap:7px;padding:7px 10px;border-top:1px solid var(--border)}
.dialog-form input{flex:1;min-width:0;min-height:44px;border:1px solid #a49881;border-radius:5px;padding:7px;background:white;color:var(--ink);font-size:16px}
.dialog-form button{background:var(--forest);color:var(--paper);border:1px solid var(--forest);border-radius:5px;padding:0 10px;font-weight:700;font-size:.83rem}
.dialog-foot{justify-content:space-between;align-items:center;display:flex;gap:12px;padding:2px 11px 9px;font-size:.74rem}
@media(max-width:1000px){.wrap{width:min(100% - 60px,1280px)}.desktop-nav{gap:14px;margin-right:0}.header-in{gap:15px}}
@media(max-width:850px){.desktop-nav{display:none}.header-in{min-height:68px}.mobile-nav{position:fixed;z-index:12;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,1fr);background:var(--paper);border-top:1px solid #c4b89e;padding:4px 4px max(5px,env(safe-area-inset-bottom));box-shadow:0 -3px 20px #1a211415}.mobile-nav a{display:grid;place-items:center;text-decoration:none;min-height:43px;white-space:nowrap;font-size:.75rem;font-weight:700}.mobile-nav a:hover{background:var(--sand)}.concierge-float{bottom:65px}.footer{padding-bottom:55px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){html{scroll-padding-top:75px}.wrap{width:calc(100% - 36px)}.header-in{min-height:64px}.header-book{padding:.52rem .65rem;min-height:40px;font-size:.77rem}.brand{gap:8px}.brand-mark{width:36px;height:36px;font-size:27px}.brand b{font-size:26px}.brand small{font-size:8px;margin-top:4px}.hero{min-height:590px;align-items:end}.hero-in{padding-block:53px 60px}.hero-photo{object-position:58% center}.hero::after{background:linear-gradient(0deg,#101b17f2 0%,#13211ad1 51%,#17271e37 100%)}.hero .kicker{font-size:.65rem;letter-spacing:.11em}.hero h1{font-size:clamp(4.3rem,14vw,6.1rem)}.hero-intro{max-width:420px}.hero-caption{bottom:6px;right:9px;font-size:.65rem}.hero .actions{margin-top:1.3rem}.hero .button{padding:.58rem .65rem;font-size:.82rem}.quick-items{grid-template-columns:1fr}.quick-items a,.quick-items a:last-child{border-left:0;border-right:0;border-bottom:1px solid var(--border);padding:10px 0}.quick-items a:last-child{border-bottom:0}.quick-items strong{font-size:1.53rem}.card-grid,.feature,.split,.footer-main{grid-template-columns:1fr}.feature>div+div{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:27px}.mika-feature{align-items:flex-start}.mika-feature h2{font-size:clamp(2.25rem,8vw,3.2rem)}.concierge-float{right:12px;bottom:62px;padding:5px;min-height:49px}.concierge-float span{display:none}dialog{inset:auto 7px max(7px,env(safe-area-inset-bottom)) 7px;margin:0;width:calc(100% - 14px);max-width:none;max-height:calc(100dvh - 14px)}.footer-main{padding-top:34px}}
@media(max-width:360px){.hero h1{font-size:3.85rem}.mika-feature{display:block}.mika-feature>img{margin-bottom:16px}.dialog-head{gap:7px}.footer-base>div{gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
