.form select{font:inherit;color:var(--ink);background:var(--white);border:2px solid var(--line);border-radius:var(--radius-control);padding:var(--space-12);min-height:var(--tap-target);width:100%}
.request-days{display:flex;flex-wrap:wrap;gap:var(--space-12)}
.request-days label{display:flex;align-items:center;gap:8px;min-height:var(--tap-target)}
.request-form fieldset{min-width:0;border:1px solid var(--line);padding:var(--space-12)}
.request-card{margin-bottom:var(--space-24);overflow-wrap:anywhere}
@font-face{font-family:"Outfit";src:url("/assets/fonts/outfit-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Outfit";src:url("/assets/fonts/outfit-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/inter-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/inter-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/inter-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--line:rgba(17,72,137,.18);--tint:rgba(17,72,137,.06)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:var(--font-size-body);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased}
p,li,dd,dt,td,th,label,input,textarea,button,.btn{font-size:max(var(--font-size-body),18px)}
.wrap{max-width:720px;margin:0 auto;padding:0 var(--space-24)}
.wrap-wide{max-width:1040px;margin:0 auto;padding:0 var(--space-24)}
.sec{padding-top:var(--space-64)}
main{padding-bottom:var(--space-64)}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--navy);letter-spacing:-.01em;margin:0 0 var(--space-16)}
h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}
a{color:var(--blue);text-underline-offset:.2em}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--space-16);top:var(--space-16);background:var(--blue);color:var(--white);padding:var(--space-12) var(--space-16);z-index:30}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
mark,.mark{background:var(--yellow);color:var(--navy);padding:.05em .3em;border-radius:var(--radius-label);-webkit-box-decoration-break:clone;box-decoration-break:clone;overflow-wrap:anywhere}
code{white-space:normal;overflow-wrap:anywhere;font:inherit}
/* header */
.site-header{position:sticky;top:0;z-index:20;background:var(--white);border-bottom:1px solid var(--line)}
.header-inner{width:100%;padding:var(--space-8) var(--space-24);display:flex;align-items:center;gap:var(--space-16)}
.logo{display:inline-flex;margin-right:auto;min-height:var(--tap-target);align-items:center}
.logo img{display:block;width:64px;height:auto}
.nav{display:flex;align-items:center;gap:var(--space-4)}
.nav a,.nav .phone{color:var(--navy);text-decoration:none;min-height:var(--tap-target);display:inline-flex;align-items:center;padding:0 var(--space-12);border-radius:var(--radius-control);font-weight:500}
.nav a:hover{background:var(--tint)}
.nav a[aria-current]{color:var(--blue);box-shadow:inset 0 -3px 0 var(--blue)}
.nav .phone{font-weight:700}.nav .phone a{padding:0}
.menu-btn{display:none;min-height:var(--tap-target);padding:0 var(--space-16);background:var(--white);color:var(--blue);border:2px solid var(--blue);border-radius:var(--radius-control);font:600 var(--font-size-body) var(--font-body);cursor:pointer}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-target);padding:var(--space-12) var(--space-24);background:var(--blue);color:var(--white);border:2px solid var(--blue);border-radius:var(--radius-control);font:600 var(--font-size-body)/1.2 var(--font-body);text-decoration:none;cursor:pointer;transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-outline{background:var(--white);color:var(--blue)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.btn-sm,.btn-lg{}
.actions{display:flex;gap:var(--space-16) var(--space-24);flex-wrap:wrap;align-items:center;margin-top:var(--space-24)}
.text-link,.guide-link{display:inline-flex;align-items:center;min-height:var(--tap-target);font-weight:600}
/* opening */
.opening{padding-top:var(--space-48)}
.lead,.lede{font-size:var(--font-size-lead);line-height:1.45;margin:0 0 var(--space-16)}
.price-line{font-weight:600;color:var(--ink);margin:0 0 var(--space-4)}
.area{color:var(--slate);margin:0}
.label,.eyebrow{display:inline-block;color:var(--navy);font:700 var(--font-size-label)/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-4) var(--space-8);border-radius:var(--radius-label);margin:0 0 var(--space-12)}
.eyebrow a{color:inherit}
/* chips */
.chips,.chip-pair{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.chip-pair{max-width:100%}
.chip{flex:0 0 auto;white-space:nowrap;min-height:var(--tap-target);padding:var(--space-8) var(--space-16);background:var(--white);color:var(--blue);border:2px solid var(--line);border-radius:999px;font:600 var(--font-size-body) var(--font-body);cursor:pointer;transition:transform .15s}
.chip:hover{border-color:var(--blue)}
.chip[aria-pressed="true"]{background:var(--blue);color:var(--white);border-color:var(--blue)}
/* facts */
.facts{list-style:none;margin:var(--space-24) 0 0;padding:0}
.facts li{padding:var(--space-12) 0 var(--space-12) var(--space-16);border-left:3px solid var(--blue);margin-bottom:var(--space-12)}
.facts strong{color:var(--navy)}
.src,.src a{font-size:var(--font-size-label);color:var(--slate);white-space:nowrap}
a.src{margin-left:var(--space-4)}
/* how */
.how{margin:0 0 var(--space-16);padding-left:var(--space-24)}
.how li{margin-bottom:var(--space-12)}
.rooms{list-style:none;padding:0;margin:0}.rooms li{border-top:1px solid var(--line);padding-top:var(--space-12)}
.quote{margin:var(--space-24) 0;padding:var(--space-16) var(--space-24);border-left:4px solid var(--blue);background:var(--tint);font-size:var(--font-size-lead);line-height:1.45}
.guide-block{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--space-32);align-items:start}
.guide-cover{width:100%;height:auto;border-radius:var(--radius-control);border:1px solid var(--line)}
.small{color:var(--slate)}
/* services */
.services{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-32);align-items:stretch}
.service{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-12);border:1px solid var(--line);border-radius:var(--radius-control);padding:var(--space-32)}
.service-home{border-top:6px solid var(--blue)}
.service-prep{border-top:6px solid var(--yellow)}
.service-icon{width:48px;height:48px;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;border-radius:var(--radius-control);padding:var(--space-8)}
.service-home .service-icon{stroke:var(--white);background:var(--blue)}
.service-prep .service-icon{stroke:var(--navy);background:var(--yellow)}
.service h2{margin:0}
.service-sub{display:inline-block;margin:0;font-weight:600}
.service-home .service-sub{color:var(--blue)}
.service-prep .service-sub{color:var(--navy)}
.service p{margin:0}
.service ul{list-style:none;margin:0;padding:0;width:100%}
.service li{padding:var(--space-12) 0;border-bottom:1px solid var(--line)}
.service li strong{color:var(--navy)}
.service>.btn,.service-actions{margin-top:auto}
.service-actions{display:flex;flex-wrap:wrap;gap:var(--space-12)}
/* posts */
.post-list{list-style:none;padding:0;margin:0}
.post-list li{border-top:1px solid var(--line)}
.post-list a{display:grid;gap:var(--space-4);padding:var(--space-16) 0;text-decoration:none;color:var(--ink)}
.post-title{font-family:var(--font-display);font-size:22px;color:var(--blue)}
.post-date{color:var(--slate)}
/* sticky bar */
.sticky-book{display:none}
/* other pages */
.page-head{padding-top:var(--space-48);padding-bottom:var(--space-24)}
.narrow-wide,.article,.admin,.auth{padding-bottom:var(--space-48)}
.article,.admin,.auth{padding-top:var(--space-48)}
.article h1{overflow-wrap:anywhere}
.post-hero{display:block;margin:0 0 var(--space-24)}
.post-hero img{display:block;width:100%;height:auto}
.post-list .post-thumb{display:block;width:180px;max-width:100%;height:auto;margin-bottom:var(--space-12)}
.hero-editor{min-width:0;border:1px solid var(--line);border-radius:var(--radius-control);padding:var(--space-16)}
.hero-editor legend{font-weight:700}
.hero-editor [data-hero-thumb]{display:block;width:240px;max-width:100%;height:auto;margin:var(--space-12) 0}
.hero-editor [hidden]{display:none!important}
.prose>*:first-child{margin-top:0}
.prose,.prose *{overflow-wrap:anywhere}
.prose ul,.prose ol{padding-left:var(--space-24)}
.prose blockquote{margin:var(--space-24) 0;padding:var(--space-16) var(--space-24);border-left:4px solid var(--blue);background:var(--tint)}
.prose-tight p{margin:.3em 0}
.panel,.product,.embed{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-control);padding:var(--space-32);margin-bottom:var(--space-24)}
.embed{padding:0;overflow:hidden}
.embed iframe{width:100%;height:760px;border:0;display:block}
.panel h2{margin-top:0}
.notice,.form-error{background:var(--tint);color:var(--navy);border-radius:var(--radius-control);padding:var(--space-16);margin-bottom:var(--space-24);font-weight:700}
.products{list-style:none;padding:0;display:grid;gap:var(--space-16)}
.product{display:flex;justify-content:space-between;align-items:center;gap:var(--space-24);flex-wrap:wrap}
.product h2{margin:0 0 var(--space-4);font-size:var(--font-size-h3)}
.price{font-family:var(--font-display);font-size:var(--font-size-h3);margin:0}
.pending{margin:0;font-weight:700;color:var(--slate)}
.form{display:grid;gap:var(--space-8)}
.form label{font-weight:700;margin-top:var(--space-8)}
.form input:not([type=checkbox]),.form textarea{font:inherit;color:var(--ink);background:var(--white);border:2px solid var(--line);border-radius:var(--radius-control);padding:var(--space-12);min-height:var(--tap-target);width:100%}
.form .check{display:flex;gap:var(--space-8);align-items:center;min-height:var(--tap-target);font-weight:400}
.check input{width:24px;height:24px;accent-color:var(--blue)}
.form .btn{margin-top:var(--space-16);justify-self:start}
.admin-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-16);flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-16);margin:var(--space-24) 0 var(--space-32)}
.stats div{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius-control);padding:var(--space-16)}
.stats dt{font-weight:700}.stats dd{margin:0;font-family:var(--font-display);font-size:var(--font-size-h2);color:var(--navy)}
.admin-grid{display:grid;gap:var(--space-24)}
.admin-grid>*,.post-editor,.post-editor .form{min-width:0}
.post-editor{padding:var(--space-16) 0;border-bottom:1px solid var(--line)}
.post-editor summary{cursor:pointer;font-weight:700;overflow-wrap:anywhere;min-height:var(--tap-target)}
.rows{list-style:none;padding:0;margin:0}
.rows li{display:flex;justify-content:space-between;gap:var(--space-16);padding:var(--space-12) 0;border-top:1px solid var(--line)}
.inline-form{margin:0 0 var(--space-16)}
.row-note{color:var(--navy);background:var(--tint);padding:var(--space-8) var(--space-12)!important;border-radius:var(--radius-control);border-top:0!important;margin:var(--space-4) 0}
/* footer */
.site-footer{background:var(--navy);color:var(--white);padding:var(--space-48) 0}
.site-footer a{color:var(--white);display:inline-flex;align-items:center;min-height:var(--tap-target)}
.site-footer :focus-visible{outline-color:var(--yellow)}
.footer-line{margin:0 0 var(--space-8)}
.footer-copyright{font-size:var(--font-size-label);margin-left:auto;margin-right:auto}
@media (max-width:767px){
 .wrap,.wrap-wide,.header-inner{padding-left:var(--space-16);padding-right:var(--space-16)}
 h1{font-size:var(--font-size-h1-mobile);line-height:1.12}
 h2{font-size:var(--font-size-h3)}
 .header-inner{flex-wrap:wrap;gap:var(--space-8);padding-top:var(--space-4);padding-bottom:var(--space-4)}
 .logo img{width:52px}
 .menu-btn{display:inline-flex;align-items:center}
 .nav{display:none;order:5;width:100%;flex-direction:column;align-items:stretch;padding-bottom:var(--space-8)}
 .nav.is-open{display:flex}
 .opening{padding-top:var(--space-16)}
 .lead{font-size:20px;line-height:1.4;margin-bottom:var(--space-8)}
 .actions{margin-top:var(--space-12);gap:0 var(--space-16)}
 .sec{padding-top:var(--space-48)}
 .chip-pair{flex-direction:column;align-items:flex-start;width:100%}
 .chip{padding-left:var(--space-16);padding-right:var(--space-16)}
 .services,.guide-block{grid-template-columns:1fr}
 .guide-block .guide-cover{max-width:200px}
 .service{padding:var(--space-24)}
 .sticky-book{display:block;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--white);border-top:1px solid var(--line);padding:var(--space-8) var(--space-16);transform:translateY(110%);transition:transform .25s ease}
 .sticky-book.is-on{transform:none}
 .sticky-book a{display:flex;align-items:center;justify-content:center;min-height:var(--tap-target);background:var(--blue);color:var(--white);border-radius:var(--radius-control);text-decoration:none;font-weight:500}
 .sticky-book a strong{margin-left:.3em}
 body:has(.sticky-book.is-on) .site-footer{padding-bottom:calc(var(--space-48) + 72px)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}html{scroll-behavior:auto}}
