
:root{--paper:#F3EEE4;--ink:#1C1A17;--accent:#B4471C}
html{background:#1C1A17}
body{margin:0;background:#F3EEE4;color:#1C1A17;font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;font-size:16px}
a{color:#B4471C}a:hover{color:#8E3714}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #B4471C;outline-offset:3px}
h1,h2,h3{text-wrap:balance}
.wrap{max-width:1440px;margin:0 auto}
.ph{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:20px;box-sizing:border-box;background-color:#2A2723;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,0.045) 0 14px,transparent 14px 28px);color:#E9E2D4;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;overflow:hidden;max-width:100%}
.ph small{font-size:11px;color:#A8A092;text-transform:none;letter-spacing:0.02em}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:#B4471C}
.topbar{background:#1C1A17;color:#E9E2D4;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding:11px 64px;box-sizing:border-box}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:#F3EEE4;border-bottom:1px solid #D9D1C2}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:88px;padding:0 64px;box-sizing:border-box}
.logo{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:#1C1A17}
.logo b{font-family:'Fraunces',Georgia,serif;font-size:30px;font-weight:600;line-height:1}
.logo span{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.28em;color:#B4471C}
nav.main{display:flex;gap:4px}
nav.main a{display:inline-flex;align-items:center;height:44px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:500;text-decoration:none;color:#1C1A17;white-space:nowrap}
nav.main a:hover{background:#EAE3D5}
nav.main a[aria-current="page"]{background:#E6DDCB;font-weight:600}
.hdr-right{display:flex;align-items:center;gap:20px}
.hdr-right .tel{color:#1C1A17;text-decoration:none;font-weight:600;white-space:nowrap}
.quote-btn{display:inline-flex;align-items:center;height:46px;padding:0 22px;background:#B4471C;color:#fff!important;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
.page{animation:fade .25s ease}
@keyframes fade{from{opacity:.4}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.page{animation:none}}
.site-footer{padding:72px 64px 0;box-sizing:border-box;gap:48px}
.site-footer > div{max-width:1312px;width:100%;margin:0 auto}
@media (max-width:1180px){
 nav.main{display:none}
 .mnav{display:flex!important}
}
.mnav{display:none;gap:8px;overflow-x:auto;padding:10px 16px;border-top:1px solid #D9D1C2;scrollbar-width:none}
.mnav a{flex-shrink:0;display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:999px;border:1px solid #CFC5B3;text-decoration:none;color:#1C1A17;font-size:14px}
.mnav a[aria-current="page"]{background:#E6DDCB;font-weight:600}
@media (max-width:1100px){
 .page [style*="repeat(4"], .page [style*="repeat(6"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .site-footer [style*="repeat(4"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:820px){
 .topbar .wrap{padding:10px 16px} .topbar .wrap span:last-child{display:none}
 header.site .wrap{padding:0 16px;height:72px}
 .hdr-right .tel{display:none}
 .page section{padding-left:16px!important;padding-right:16px!important;padding-top:56px!important;padding-bottom:56px!important}
 .page section[style*="margin"]{margin:48px 16px!important;padding:36px 24px!important}
 .page [style*="grid-template-columns"], .site-footer [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 .page [style*="grid-column: span 2"]{grid-column:auto!important;padding:24px!important}
 .page [style*="justify-content: space-between"], .page [style*="gap: 14px; align-items: center"], .page [style*="gap: 32px; padding-top"]{flex-wrap:wrap}
 .page section[style*="justify-content: space-between"]{flex-direction:column;align-items:flex-start!important}
 .page h1{font-size:42px!important} .page h2{font-size:32px!important}
 .page .ph[style*="height: 6"], .page .ph[style*="height: 5"], .page .ph[style*="height: 4"]{height:300px!important}
 .site-footer{padding:48px 16px 0!important}
 .site-footer > div:last-child{flex-direction:column;align-items:flex-start!important;height:auto!important;padding:20px 0;gap:6px}
}
@media (max-width:820px){.page [style*="grid-column: span 2; height: 500px"]{height:220px!important} .page img[style*="object-fit: cover"]{height:280px!important}}

.nav-toggle{display:none}
.yt-modal{position:fixed;inset:0;z-index:100;background:rgba(20,18,15,.88);display:flex;align-items:center;justify-content:center;padding:24px}
.yt-modal[hidden]{display:none!important}
.yt-box{width:min(1100px,100%);aspect-ratio:16/9;background:#000;position:relative}
.yt-box iframe{width:100%;height:100%;border:0}
.yt-close{position:absolute;top:-52px;right:0;height:44px;padding:0 18px;border-radius:999px;border:1px solid #E9E2D4;background:transparent;color:#F3EEE4;font:600 15px 'Instrument Sans',system-ui,sans-serif;cursor:pointer}
.map{width:100%;height:320px;border:0;border-radius:8px;display:block}
.notice{padding:16px 20px;border-radius:6px;font-weight:600}
.notice.ok{background:#E3EEDC;color:#2F4A22}.notice.err{background:#F6DCD3;color:#7A2A12}
.hp{position:absolute;left:-9999px}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:90;max-width:760px;margin:0 auto;background:#1C1A17;color:#F3EEE4;border-radius:10px;padding:22px 24px;display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.cookie-banner[hidden]{display:none!important}
.cookie-banner p{margin:0;flex:1 1 320px;font-size:15px;line-height:1.55;color:#E9E2D4}
.cookie-banner a{color:#F0A57F}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cbtn{height:46px;padding:0 20px;border-radius:999px;font:600 15px 'Instrument Sans',system-ui,sans-serif;cursor:pointer;border:1.5px solid #E9E2D4;background:transparent;color:#F3EEE4}
.cbtn.primary{background:#B4471C;border-color:#B4471C;color:#fff}
.map-ph{background:#EAE3D5;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:28px;box-sizing:border-box}
.map-ph p{margin:0;font-size:15px;line-height:1.55;color:#5A554C}
.map-ph .cbtn{border-color:#1C1A17;color:#1C1A17}
.yt-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;color:#F3EEE4;background:#1C1A17}
.yt-consent p{margin:0;max-width:520px;font-size:16px;line-height:1.6}
.yt-consent a{color:#F0A57F}
.legal{max-width:760px;padding:72px 64px 104px;display:flex;flex-direction:column;gap:18px;font-size:17px;line-height:1.7}
.legal h1{margin:0 0 8px;font-family:'Fraunces',Georgia,serif;font-size:56px;line-height:1.05;font-weight:500}
.legal h2{margin:24px 0 0;font-family:'Fraunces',Georgia,serif;font-size:28px;font-weight:500}
.legal p,.legal ul{margin:0;color:#3D3932}
.legal table{border-collapse:collapse;width:100%;font-size:15px}
.legal th,.legal td{text-align:left;padding:10px 12px;border-bottom:1px solid #D9D1C2;vertical-align:top}
.table-wrap{overflow-x:auto}
@media (max-width:820px){.legal{padding:48px 16px 72px}.legal h1{font-size:40px}}
