:root{--brand: #c1121f;--brand-600: #a00e19;--brand-200: #f3d0d3;--ink: #111;--ink-2: #444;--bg: #ffffff;--bg-2: #f6f6f6;--maxw: 1200px;font-family:Inter,ui-sans-serif,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--ink);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-600)}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:clamp(2rem,3vw + 1rem,3rem)}h2{font-size:clamp(1.25rem,1.5vw + 1rem,2rem)}.container{max-width:var(--maxw);margin:0 auto;padding:0 1rem}.site-header{position:sticky;top:0;z-index:10;background:#ffffffe6;-webkit-backdrop-filter:saturate(1.2) blur(6px);backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid #eee;overflow:visible}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{position:relative;flex:0 0 200px}.brand a{display:inline-block}.brand-link{position:absolute;left:0;bottom:-48px;display:inline-block;background:#ffffffe6;padding:6px 10px;border-radius:10px;box-shadow:0 8px 24px #0000001f;-webkit-backdrop-filter:saturate(1.2) blur(4px);backdrop-filter:saturate(1.2) blur(4px)}.brand-logo{height:96px;width:auto;display:block;filter:brightness(0) saturate(100%)}.nav{display:flex;align-items:center;gap:1rem}.nav .menu-button{display:none;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:.4rem .6rem;font:inherit;cursor:pointer}.nav .menu-icon{font-size:1.1rem}.nav .menu-items{display:flex;align-items:center;gap:1rem}.nav a{font-weight:600}.nav .phone{color:var(--bg);background:var(--brand);padding:.5rem .75rem;border-radius:8px}.nav .phone:hover{background:var(--brand-600)}.hero{position:relative;min-height:70vh;display:grid;align-items:end;color:#fff}.hero .brand-float{position:absolute;left:1rem;top:-32px}.hero-media{position:absolute;inset:0;overflow:hidden}.hero-video{width:100%;height:100%;object-fit:cover}.hero-fallback{width:100%;height:100%;object-fit:cover;display:block}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#00000040,#0000008c)}.hero-content{position:relative;padding:20vh 1rem 10vh}.cta-row{margin-top:1rem;display:flex;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:.6rem 1rem;border:1px solid transparent;cursor:pointer;font-weight:600}.btn-small{padding:.35rem .75rem;font-size:.9rem}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-600)}.btn-ghost{background:transparent;color:#fff;border-color:#ffffff80}.btn-ghost:hover{border-color:#fff}.section{padding:4rem 0}.gallery{padding:0}.gallery .container{max-width:100%;padding:0}.gallery .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery .grid-2x2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;grid-auto-rows:calc(50vh - 1rem);height:100vh}.gallery .tile{margin:0;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #00000014;background:#fff}.gallery img{display:block;width:100%;height:100%;object-fit:cover}.tile-slide{position:relative;padding:0;border-radius:0;overflow:hidden}.tile-slide .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}.tile-slide .slide.prev{z-index:1;opacity:1}.tile-slide .slide.current{z-index:2;opacity:1}.tile-slide .slide.prev.fade{opacity:0}.brand-link{bottom:-56px}.brand-link{bottom:-68px}main{scroll-snap-type:none}main.snap-enabled{scroll-snap-type:y proximity}.section{scroll-snap-align:start}.map-lock{position:absolute;inset:0;display:grid;place-items:center;z-index:5}.map-lock button{background:#ffffffe6;border:1px solid rgba(0,0,0,.08);padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-weight:700}.map-frame{position:relative}@media (max-width: 900px){.nav{position:relative}.nav .menu-button{display:inline-flex}.nav .menu-items{position:absolute;top:48px;right:0;background:#fffffff7;-webkit-backdrop-filter:saturate(1.2) blur(6px);backdrop-filter:saturate(1.2) blur(6px);border:1px solid #eee;border-radius:10px;padding:.5rem;display:none;flex-direction:column;align-items:stretch;min-width:220px;box-shadow:0 8px 24px #0000001f}.nav.open .menu-items{display:flex}.nav .menu-items a{padding:.5rem .75rem;border-radius:8px}.nav>.phone{margin-left:.25rem}.gallery .grid-2x2{grid-auto-rows:calc(50vh - 1rem)}.brand-link{bottom:-48px}}.tile-hover{position:relative;cursor:pointer}.tile-hover img{height:100%;transform:scale(1);transition:transform .35s ease,filter .35s ease;filter:brightness(.9)}.tile-hover:hover img{transform:scale(1.02);filter:brightness(1)}.tile-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0000,#0009);color:#fff;padding:.75rem;font-weight:600;text-shadow:0 2px 6px rgba(0,0,0,.4)}.map .sub{color:var(--ink-2);margin-bottom:1rem}.map{padding:0}.map .container{max-width:100%;padding:0}.map-frame{border:0;border-radius:0;overflow:hidden;box-shadow:none;width:100%;height:60vh}.map-frame iframe{display:block;width:100%;height:100%;border:0}.map-link{margin-top:.5rem}.about{background:linear-gradient(180deg,#f5f5f5,#fff)}.about .lead{font-size:1.125rem;color:var(--ink-2);max-width:800px;margin-top:.5rem}.about h2{margin-bottom:.5rem}.about .owner{margin-top:.75rem;font-weight:700;color:var(--brand)}.about-grid{display:grid;grid-template-columns:1fr 420px;gap:2rem;align-items:center}.about-image img{width:100%;height:100%;object-fit:cover;border-radius:12px;box-shadow:0 8px 30px #00000014}@media (max-width: 900px){.about-grid{grid-template-columns:1fr}.about-image{order:-1}}.contact .contact-form{max-width:720px;margin:1rem auto 0}.contact .row{display:flex;gap:1rem;flex-wrap:wrap}.contact .field{flex:1 1 260px;display:flex;flex-direction:column}.contact .field.full{flex-basis:100%}.contact label{font-weight:600;margin-bottom:.25rem}.contact input,.contact textarea{border:1px solid rgba(0,0,0,.15);border-radius:8px;padding:.6rem .75rem;font:inherit}.contact .actions{display:flex;gap:.75rem;align-items:center;margin-top:.75rem}.note{margin-top:.75rem}.note.success{color:#161}.note.error{color:#8b0000}.site-footer{background:var(--bg-2);padding:2rem 0;border-top:1px solid #eee}.site-footer small{color:var(--ink-2)}@media (max-width: 900px){.gallery .grid{grid-template-columns:1fr 1fr}.gallery .grid-2x2{grid-template-columns:1fr 1fr;grid-auto-rows:min(36vh,260px);height:auto}.brand{flex-basis:160px}.brand-link{bottom:-40px}.brand-logo{height:80px}}@media (max-width: 600px){.gallery .grid{grid-template-columns:1fr}.gallery .grid-2x2{grid-template-columns:1fr;grid-auto-rows:min(34vh,220px);height:auto}.brand{flex-basis:140px}.brand-link{bottom:-36px}.brand-logo{height:72px}}.lb-overlay{position:fixed;inset:0;background:#000000e6;z-index:100;display:grid}.lb-close{position:fixed;top:8px;right:12px;color:#fff;background:transparent;border:0;font-size:2.25rem;cursor:pointer}.lb-track{width:100vw;height:100vh;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scroll-snap-type:x mandatory;display:flex}.lb-slide{min-width:100vw;height:100vh;margin:0;display:grid;place-items:center;scroll-snap-align:center}.lb-slide img{max-width:100vw;max-height:100vh;object-fit:contain}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
