*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit}ul,ol{list-style:none}:root{--color-primary: #111111;--color-accent: #c9a84c;--color-accent-dark: #a8863a;--color-bg: #f8f9fa;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-muted: #6b6b6b;--color-border: #e0e0e0;--font-heading: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--max-width: 1200px;--radius: 8px;--radius-lg: 16px;--shadow: 0 2px 8px rgba(0,0,0,.08);--shadow-md: 0 4px 20px rgba(0,0,0,.12);--transition: .2s ease}html{font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);line-height:1.6}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;color:var(--color-primary)}h1{font-size:clamp(var(--text-3xl),5vw,var(--text-5xl))}h2{font-size:clamp(var(--text-2xl),3vw,var(--text-4xl))}h3{font-size:clamp(var(--text-xl),2vw,var(--text-2xl))}p{max-width:65ch}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-4)}@media(min-width:640px){.container{padding-inline:var(--space-6)}}@media(min-width:1024px){.container{padding-inline:var(--space-8)}}.section{padding-block:var(--space-16)}@media(min-width:768px){.section{padding-block:var(--space-24)}}.section-header{text-align:center;margin-bottom:var(--space-12)}.section-header p{margin-inline:auto;margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--text-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background-color var(--transition),color var(--transition),border-color var(--transition),transform var(--transition);white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background-color:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}.btn-primary:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark)}.btn-outline{background-color:transparent;color:var(--color-surface);border-color:var(--color-surface)}.btn-outline:hover{background-color:var(--color-surface);color:var(--color-primary)}.btn-outline-dark{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline-dark:hover{background-color:var(--color-primary);color:var(--color-surface)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.btn-full{width:100%;display:flex}.divider{width:60px;height:3px;background-color:var(--color-accent);margin:var(--space-4) auto 0}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-header{background-color:var(--color-primary);padding-block:var(--space-12) var(--space-10);text-align:center;color:var(--color-surface)}.page-header h1{color:var(--color-surface)}.page-header p{color:#ffffffb3;margin-inline:auto;margin-top:var(--space-4);font-size:var(--text-lg)}.nav{position:sticky;top:0;z-index:100;background-color:var(--color-primary);box-shadow:0 2px 12px #00000040}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:86px;gap:var(--space-4)}.nav-logo{text-decoration:none;flex-shrink:0}.nav-logo-img{height:100px;width:auto;display:block;object-fit:contain}.nav-logo-text{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-surface);letter-spacing:.03em;line-height:1}.nav-logo-text span{color:var(--color-accent)}.nav-phone{display:none;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-accent);font-weight:600;font-size:var(--text-sm);transition:color var(--transition)}.nav-phone:hover{color:var(--color-accent-dark)}.nav-phone svg{width:16px;height:16px;flex-shrink:0}@media(min-width:480px){.nav-phone{display:flex}}.nav-menu{display:none;flex-direction:column;gap:var(--space-1)}.nav-menu[aria-expanded=true]{display:flex;position:absolute;top:68px;left:0;right:0;background-color:var(--color-primary);padding:var(--space-4) var(--space-4) var(--space-6);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px #0000004d}@media(min-width:768px){.nav-menu{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);position:static;padding:0;border:none;box-shadow:none}}.nav-link{display:block;padding:var(--space-3) var(--space-4);text-decoration:none;color:#fffc;font-weight:500;font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius);transition:color var(--transition),background-color var(--transition)}.nav-link:hover,.nav-link.active{color:var(--color-accent);background-color:#c9a84c14}.nav-toggle{display:flex;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}.nav-toggle span{display:block;width:100%;height:2px;background-color:var(--color-surface);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(9px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}@media(min-width:768px){.nav-toggle{display:none}}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow var(--transition),transform var(--transition)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-body{padding:var(--space-5)}.card-title{font-size:var(--text-xl);margin-bottom:var(--space-2)}.card-text{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.card-price{font-size:var(--text-lg);font-weight:700;color:var(--color-accent)}.footer{background-color:var(--color-primary);color:#ffffffbf;padding-block:var(--space-12) var(--space-8)}.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);margin-bottom:var(--space-10)}@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}.footer-brand .nav-logo-text{font-size:var(--text-2xl);display:block;margin-bottom:var(--space-3)}.footer-logo-img{height:88px;width:auto;display:block;object-fit:contain;margin-bottom:var(--space-3)}.footer-tagline{font-size:var(--text-sm);line-height:1.6;max-width:30ch}.footer-heading{font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}.footer-links{display:flex;flex-direction:column;gap:var(--space-2)}.footer-links a{text-decoration:none;color:#ffffffbf;font-size:var(--text-sm);transition:color var(--transition)}.footer-links a:hover{color:var(--color-accent)}.footer-nap{font-style:normal;font-size:var(--text-sm);line-height:1.8;color:#ffffffbf}.footer-nap a{color:var(--color-accent);text-decoration:none;font-weight:600}.footer-nap a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);text-align:center;font-size:var(--text-xs);color:#fff6}@media(min-width:640px){.footer-bottom{flex-direction:row;justify-content:space-between;text-align:left}}.hours-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.hours-table tr{border-bottom:1px solid var(--color-border)}.hours-table tr:last-child{border-bottom:none}.hours-table td{padding:var(--space-3) var(--space-2)}.hours-table td:first-child{font-weight:600}.hours-table td:last-child{text-align:right;color:var(--color-text-muted)}.hours-table .today td{color:var(--color-accent);font-weight:700}.hours-table .today td:last-child{color:var(--color-accent)}.map-facade{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;background-color:var(--color-border);cursor:pointer}.map-facade img{width:100%;height:100%;object-fit:cover;filter:grayscale(30%)}.map-facade-btn{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);background-color:var(--color-surface);color:var(--color-primary);border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius);font-weight:600;font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-md);transition:background-color var(--transition);white-space:nowrap;font-family:var(--font-body)}.map-facade-btn:hover{background-color:var(--color-bg)}#mapContainer iframe{width:100%;border-radius:var(--radius-lg);display:block}.review-card{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow)}.review-stars{color:var(--color-accent);font-size:var(--text-lg);letter-spacing:2px;margin-bottom:var(--space-3)}.review-text{font-style:italic;color:var(--color-text-muted);margin-bottom:var(--space-4)}.review-author{font-weight:700;font-size:var(--text-sm)}.features-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);text-align:center}@media(min-width:640px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-item{padding:var(--space-6)}.feature-icon{width:56px;height:56px;background-color:#c9a84c1f;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4)}.feature-icon svg{width:28px;height:28px;color:var(--color-accent)}.feature-title{font-family:var(--font-heading);font-size:var(--text-lg);margin-bottom:var(--space-2)}.feature-desc{font-size:var(--text-sm);color:var(--color-text-muted);max-width:26ch;margin-inline:auto}
