:root{
--color-primary:#5A3424;--color-onPrimary:#FFF9F0;--color-secondary:#B86B3D;--color-accent:#D99A4E;--color-background:#F8F1E5;--color-surface:#FFFDF8;--color-surfaceAlt:#EADBC7;--color-text:#2B1A14;--color-textMuted:#705E54;--color-border:#CDBBA6;--color-success:#316A4B;--color-warning:#8A5600;--color-danger:#9B302C;
--font-heading:'DM Serif Display',serif;--font-body:'DM Sans',sans-serif;
--fs-display:56px;--fs-h1:40px;--fs-h2:32px;--fs-h3:24px;--fs-body:16px;--fs-small:14px;--fs-caption:12px;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-11:80px;--space-12:96px;
--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--radius-pill:999px;
--shadow-sm:0 2px 8px rgba(43,26,20,.08);--shadow-md:0 8px 24px rgba(43,26,20,.12);--shadow-lg:0 18px 48px rgba(43,26,20,.16);
--motion-duration:220ms;--motion-easing:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0}
body{font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55;background:var(--color-background);color:var(--color-text)}
h1,h2,h3{font-family:var(--font-heading);font-weight:400;line-height:1.15}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}
.display{font-size:var(--fs-display)}
[tabindex="-1"]:focus{outline:none}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}
img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--space-6)}
.sec{padding-top:var(--space-10)}
.muted{color:var(--color-textMuted)}
.lead{color:var(--color-textMuted);font-size:18px;margin:var(--space-4) 0 var(--space-6);max-width:560px}
.topnav{position:sticky;top:0;z-index:20;background:var(--color-surface);border-bottom:1px solid var(--color-border);height:80px}
.nav-in{max-width:1160px;margin:0 auto;padding:0 var(--space-6);height:100%;display:flex;align-items:center;gap:var(--space-6)}
.logo{font-family:var(--font-heading);font-size:28px;color:var(--color-primary);text-decoration:none}
.links{display:flex;gap:var(--space-2);margin-left:auto}
.links a{padding:var(--space-3) var(--space-4);min-height:44px;display:flex;align-items:center;color:var(--color-text);text-decoration:none;border-radius:var(--radius-pill);font-weight:500;font-size:var(--fs-small);transition:background var(--motion-duration) var(--motion-easing)}
.links a:hover{background:var(--color-surfaceAlt)}
.links a.active{background:var(--color-primary);color:var(--color-onPrimary)}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.menu-btn span{width:20px;height:2px;background:var(--color-primary);border-radius:2px}
.btn{min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);font:500 var(--fs-small) var(--font-body);cursor:pointer;border:2px solid var(--color-primary);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:transform var(--motion-duration) var(--motion-easing),background var(--motion-duration)}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--color-primary);color:var(--color-onPrimary)}
.btn.outline{background:transparent;color:var(--color-primary)}
.row{display:flex;gap:var(--space-3);flex-wrap:wrap}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9);align-items:center;padding-top:var(--space-10)}
.hero-img{width:100%;height:520px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.inner-hero{padding-top:var(--space-10);padding-bottom:var(--space-6)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-6)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);margin-top:var(--space-6)}
.info,.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm)}
.info p{color:var(--color-textMuted);margin-top:var(--space-2)}
.ic{font-size:28px;display:block;margin-bottom:var(--space-3)}
.card{padding:0;overflow:hidden;min-height:160px}
.card img{aspect-ratio:4/5;object-fit:cover;width:100%}
.card .body{padding:var(--space-5)}
.tag{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-secondary);font-weight:700}
.price{font-weight:700;color:var(--color-primary)}
.item{display:flex;justify-content:space-between;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);min-height:160px}
.item p{color:var(--color-textMuted);font-size:var(--fs-small);margin-top:var(--space-2)}
.band{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-6)}
.band img,.rimg{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-md)}
.rimg{height:100%}
.split-card{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);flex-wrap:wrap;background:var(--color-surfaceAlt);border-radius:var(--radius-lg);padding:var(--space-8);margin:var(--space-10) 0}
.tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) 0;margin-bottom:var(--space-4)}
.tabs button{min-height:44px;min-width:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);font:500 var(--fs-small) var(--font-body);color:var(--color-text);cursor:pointer;white-space:nowrap}
.tabs button.active{background:var(--color-primary);color:var(--color-onPrimary);border-color:var(--color-primary)}
.note{margin-top:var(--space-6);font-size:var(--fs-small);color:var(--color-textMuted)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.gallery button{border:0;padding:0;background:none;cursor:pointer;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1}
.gallery button:nth-child(5n+1){grid-column:span 2;grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform var(--motion-duration) var(--motion-easing)}
.gallery button:hover img{transform:scale(1.05)}
.lightbox{position:fixed;inset:0;background:rgba(43,26,20,.9);z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6)}
.lightbox[hidden]{display:none}
.lightbox img{max-height:80vh;border-radius:var(--radius-md)}
.lightbox .btn{background:var(--color-surface)}
table{width:100%;margin-top:var(--space-4);border-collapse:collapse}
th,td{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);text-align:left}
td{text-align:right;color:var(--color-textMuted)}
.map iframe{width:100%;height:240px;border:0;border-radius:var(--radius-sm);margin-bottom:var(--space-4)}
.form{max-width:640px;display:grid;gap:var(--space-4);background:var(--color-surface);padding:var(--space-7);border-radius:var(--radius-lg);border:1px solid var(--color-border)}
.form label{display:grid;gap:var(--space-1);font-weight:500;font-size:var(--fs-small)}
.form input,.form textarea{min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;background:var(--color-background);color:var(--color-text)}
.form textarea{min-height:128px;resize:vertical}
.form .invalid{border-color:var(--color-danger)}
.err{color:var(--color-danger);min-height:0}
#formMsg{color:var(--color-success);font-weight:500}
.footer{background:var(--color-primary);color:var(--color-onPrimary);margin-top:var(--space-11);padding:var(--space-10) 0 var(--space-6)}
.footer .logo{color:var(--color-onPrimary)}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-8)}
.footer a:not(.logo){display:block;color:var(--color-onPrimary);padding:var(--space-2) 0;text-decoration:none;opacity:.85}
.footer h4{margin-bottom:var(--space-2)}
.copy{text-align:center;margin-top:var(--space-8);font-size:var(--fs-small);opacity:.7}
.empty{padding:var(--space-8);text-align:center;color:var(--color-textMuted)}
.screen{animation:in var(--motion-duration) var(--motion-easing)}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:860px){
.topnav{height:64px}
.menu-btn{display:flex}.nav-cta{display:none}
.links{display:none;position:fixed;inset:64px 0 0 0;background:var(--color-surface);flex-direction:column;padding:var(--space-6);margin:0}
.links.open{display:flex}
.links a{font-size:var(--fs-h3);font-family:var(--font-heading)}
.hero,.grid3,.grid2,.fgrid{grid-template-columns:1fr}
.hero-img{height:320px}
.display{font-size:40px}h1{font-size:34px}
.band{grid-template-columns:1fr}
.gallery{grid-template-columns:repeat(2,1fr)}
.gallery button:nth-child(5n+1){grid-column:span 2;grid-row:auto;aspect-ratio:3/2}
.split-card{padding:var(--space-6)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}