:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:clamp(1.15rem,1.1rem + .3vw,1.4rem);--text-xl:clamp(1.6rem,1.2rem + 1vw,2.3rem);--text-2xl:clamp(2.3rem,1.4rem + 3vw,4.4rem);--text-hero:clamp(2.7rem,1.6rem + 4vw,5.9rem);--bg:#fff;--ink:#171717;--muted:#555;--line:#d8d8d8;--accent:#c32222;--surface:#f4f3f0;--font-body:Montserrat,sans-serif;--font-display:Montserrat,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--s5);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--text-base)/1.75 var(--font-body)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);line-height:1.15;text-wrap:balance}h1{font-size:var(--text-hero)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin-block:var(--s4);max-width:72ch}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a,button{transition:color .18s,background .18s}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.section{padding-block:var(--s8)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--s6);margin-bottom:var(--s7)}.eyebrow{display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--s4);color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;padding:var(--s4) var(--s5);font-size:var(--text-sm);font-weight:700;text-decoration:none;min-height:48px;border:1px solid var(--accent)}.button:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}.button.secondary{background:transparent;color:inherit;border-color:currentColor}.actions{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s6)}.topline{background:var(--ink);color:var(--bg);font-size:var(--text-xs);padding-block:var(--s2)}.topline>.wrap{display:flex;justify-content:space-between;gap:var(--s4)}.topline a{white-space:nowrap;text-decoration:none}header{border-bottom:1px solid var(--line)}.navrow{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);min-height:104px;position:relative}.brand{display:block;text-decoration:none;flex-shrink:0}.brand>img{width:170px;max-height:75px;object-fit:contain}.navrow nav{display:flex;align-items:center;gap:var(--s6);font-size:var(--text-sm);font-weight:600}.navrow nav a{text-decoration:none;padding-block:var(--s3)}.navrow nav a[aria-current]{border-bottom:2px solid var(--accent)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:var(--s2) var(--s3);font-size:var(--text-sm)}.skip{position:absolute;left:var(--s4);top:-100px;z-index:100;background:var(--bg);padding:var(--s4)}.skip:focus{top:var(--s4)}.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.surface{background:var(--surface)}.page-heading{padding-block:var(--s8);border-bottom:1px solid var(--line)}.page-heading h1{font-size:var(--text-2xl)}.page-heading p{font-size:var(--text-lg);color:var(--muted);max-width:65ch}.prose{max-width:820px;margin-inline:auto;padding-block:var(--s8)}.prose h2{margin:var(--s7) 0 var(--s5)}.prose h2:first-child{margin-top:0}.prose h3{margin-top:var(--s6)}.prose li{margin-bottom:var(--s3)}.prose p{margin-block:var(--s5)}.contact-panel{padding:var(--s7);background:var(--surface);height:100%}.contact-panel a{display:block;overflow-wrap:anywhere}.contact-panel h2{margin-bottom:var(--s5)}.hours{width:100%;border-collapse:collapse;margin-top:var(--s5)}.hours td,.hours th{text-align:left;padding:var(--s3) 0;border-bottom:1px solid var(--line);vertical-align:top}.hours th{font-weight:600}.hours td{padding-left:var(--s5)}footer{background:var(--ink);color:var(--bg);padding-top:var(--s8)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:var(--s7)}.footer-brand img{max-width:180px;max-height:85px;object-fit:contain}.footer-grid nav,.footer-grid>div:last-child{display:flex;flex-direction:column;align-items:start;gap:var(--s3)}.footer-grid a{font-size:var(--text-sm);overflow-wrap:anywhere}.footer-grid h2{font-size:var(--text-lg);margin-bottom:var(--s3)}.footer-grid p{font-size:var(--text-sm)}.footer-bottom{border-top:1px solid #555;margin-top:var(--s7);padding-block:var(--s5);font-size:var(--text-xs)}.quiet{color:var(--muted);font-size:var(--text-sm)}.filter{display:flex;align-items:center;gap:var(--s4);margin-bottom:var(--s6)}.filter input{border:1px solid var(--line);background:var(--bg);padding:var(--s3) var(--s4);min-width:0;width:min(100%,480px)}[hidden]{display:none!important}.empty{padding:var(--s6);border:1px solid var(--line)}.breadcrumb{font-size:var(--text-xs);margin-bottom:var(--s5)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}.gallery button{display:block;padding:0;background:none;border:0}.gallery img{aspect-ratio:1;object-fit:cover;width:100%}.lightbox{border:0;padding:var(--s6);background:var(--bg);color:var(--ink);max-width:92vw;max-height:95vh}.lightbox::backdrop{background:#000d}.lightbox>button{display:block;margin-left:auto;margin-bottom:var(--s4);padding:var(--s2) var(--s4);background:var(--ink);color:var(--bg);border:0}.lightbox img{max-height:78vh;width:auto;margin:auto;object-fit:contain}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.navrow{min-height:90px}.menu-toggle{display:block;margin-left:auto}.navrow nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;z-index:30;background:var(--bg);padding:var(--s5);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:var(--s2);box-shadow:0 12px 20px #0001}.navrow nav.open{display:flex}.split{gap:var(--s6)}.grid{grid-template-columns:repeat(2,1fr)}.footer-grid{gap:var(--s5);grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.section-head{display:block}.section-head>a{display:inline-block;margin-top:var(--s4)}}
@media(max-width:600px){.topline>.wrap>span{max-width:70%;line-height:1.4}.section{padding-block:var(--s7)}.split,.grid.two{grid-template-columns:1fr}.grid{gap:var(--s4)}.brand>img{width:140px;max-height:64px}.page-heading{padding-block:var(--s7)}.prose{padding-block:var(--s7)}.contact-panel{padding:var(--s5)}.gallery{grid-template-columns:repeat(2,1fr)}.filter{display:block}.filter label{display:block;margin-bottom:var(--s2)}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-grid{gap:var(--s6) var(--s4)}.hours{font-size:var(--text-sm)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@font-face{font-family:Lato;src:url(lato-regular.woff2);font-weight:400;font-display:swap}@font-face{font-family:Lato;src:url(lato-bold.woff2);font-weight:600 900;font-display:swap}
.casa{--font-body:Lato,sans-serif;--font-display:Lato,sans-serif;--accent:#b4202a;--bg:#fff;--ink:#343536;--muted:#5c5d5e;--surface:#f5f3ef;--line:#dfdcd7}.casa .topline{background:var(--surface);color:var(--ink)}.casa .brand>img{width:235px;max-height:85px}.casa .navrow{min-height:112px}.casa .hero{position:relative;min-height:610px;display:grid;align-items:end;color:white}.casa .hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%}.casa .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#131d18d9,#131d1833)}.casa .hero>.wrap{position:relative;z-index:1;padding-block:var(--s8)}.casa .hero h1{font-weight:700;font-size:clamp(2.8rem,1.8rem + 3.2vw,5.2rem);max-width:12ch;letter-spacing:-.035em}.casa .hero p{max-width:48ch;font-size:var(--text-lg)}.casa .hero .eyebrow{color:#fff}.casa .hero .button{background:#fff;border-color:#fff;color:#333}.casa .hero .button:hover{background:#b4202a;color:#fff;border-color:#b4202a}.casa .intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:var(--s8);align-items:start}.casa .intro p{margin-top:0}.casa .services-list{border-top:1px solid var(--line)}.casa .service-row{display:grid;grid-template-columns:.15fr .7fr 1fr;gap:var(--s6);padding-block:var(--s6);border-bottom:1px solid var(--line)}.casa .service-row>span{color:var(--accent);font-size:var(--text-lg)}.casa .service-row p{margin:0;color:var(--muted)}.casa .about-photo{width:100%;aspect-ratio:1;object-fit:cover}.casa .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s7)}.casa .principles article{padding-top:var(--s5);border-top:2px solid var(--accent)}.casa .principles p{color:var(--muted)}.casa .team{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);margin-top:var(--s7)}.casa .team article{border-top:1px solid var(--line);padding-top:var(--s5)}.casa .team .role{font-size:var(--text-sm);color:var(--accent)}.casa .local-contact{background:#b4202a;color:white;padding-block:var(--s8)}.casa .local-contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8)}.casa .local-contact .button{background:white;border-color:white;color:#b4202a}.casa .local-contact .eyebrow{color:white}.casa footer{background:var(--surface);color:var(--ink)}.casa .footer-brand img{max-width:220px}.casa .footer-bottom{border-color:var(--line)}.casa .footer-grid{grid-template-columns:1.1fr .8fr 1fr}.casa .contact-panel{border-left:3px solid var(--accent)}
@media(max-width:850px){.casa .brand>img{width:195px}.casa .intro{gap:var(--s6)}.casa .footer-grid{grid-template-columns:1fr 1fr}.casa .service-row{grid-template-columns:.1fr 1fr 1.2fr;gap:var(--s5)}}
@media(max-width:600px){.casa .hero{min-height:570px}.casa .hero>.wrap{padding-block:var(--s7)}.casa .hero h1{font-size:var(--text-2xl)}.casa .hero:after{background:#17251caa}.casa .hero p{font-size:var(--text-base)}.casa .intro,.casa .team,.casa .principles,.casa .local-contact .wrap{grid-template-columns:1fr;gap:var(--s6)}.casa .service-row{grid-template-columns:32px 1fr;gap:var(--s4)}.casa .service-row p{grid-column:2}.casa .brand>img{width:185px}.casa .navrow{min-height:94px}.casa .footer-grid{grid-template-columns:1fr}.casa .footer-grid>div:last-child{grid-column:1}}
