@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&family=Roboto:wght@300;400;500;700&display=swap');
/* master-theme.css is the unchanged master build. This stylesheet maps its
   compositions to the portable branded demo without changing the theme. */
:root{--font-display:'Montserrat';--font-sans:'Roboto'}
html{scroll-padding-top:110px}body{font-family:var(--font-sans),Arial,sans-serif}h1,h2,h3{font-family:var(--font-display),Arial,sans-serif;text-transform:uppercase;font-weight:600;letter-spacing:-.055em;line-height:1.05;margin:0}h2{font-size:clamp(2.05rem,3.65vw,4.1rem);text-wrap:balance}h2 span{color:var(--accent)}h3{font-size:25px}p{margin:0}img{max-width:100%;display:block}.skip{position:absolute;top:-100px;background:var(--background);padding:15px;z-index:100}.skip:focus{top:0}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid var(--border)}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{width:210px;flex:none}.brand img{width:100%;height:auto}html[data-theme=dark] .brand img,html[data-theme=dark] footer>img{filter:brightness(1.7) saturate(.8)}.site-header nav{display:flex;align-items:center;gap:25px;font-family:var(--font-display);font-size:10px;text-transform:uppercase;font-weight:600;letter-spacing:.1em}.site-header nav a:hover{color:var(--accent)}#menu{display:none;background:transparent;color:var(--foreground);border:1px solid var(--border);width:44px;height:44px;font-size:22px}.hero{min-height:100svh;position:relative;isolation:isolate;overflow:hidden}.hero-media,.hero-primary,.hero-secondary,.hero-grid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media{z-index:-4;filter:brightness(.62) saturate(.8)}.hero-primary{z-index:-3}.hero-secondary{z-index:-2}.hero-grid{z-index:-1;opacity:.5}.hero-layout{min-height:100svh;display:grid;grid-template-columns:1.25fr .55fr;gap:48px;align-items:end;padding-top:160px;padding-bottom:65px}.hero-copy{padding-bottom:30px}.hero h1{font-size:clamp(2.5rem,5.3vw,5.8rem);line-height:.95;letter-spacing:-.065em;margin-top:28px}.hero h1 span{display:block;color:var(--accent)}.hero-description{border-left:1px solid var(--accent);padding-left:25px;margin-top:36px}.hero-description>p{font-size:16px;font-weight:300;line-height:2;max-width:600px;color:#ffffffbb;margin-bottom:25px}.hero-aside{border-top:1px solid #ffffff33;padding-top:25px;padding-bottom:35px}.hero-aside .eyebrow{color:var(--accent)}.hero-aside h3{font-size:18px;line-height:1.4}.hero-aside>p:not(.eyebrow){font-size:10px;line-height:1.7;color:#fff9;margin-top:20px}#video-toggle{font-family:var(--font-display);text-transform:uppercase;font-size:10px;border:1px solid #ffffff55;color:white;background:transparent;padding:9px 13px;margin-top:18px}.section{padding:100px 0}.section-heading{display:grid;grid-template-columns:1fr .65fr;gap:50px;align-items:end;margin-bottom:45px}.section-heading h2{margin-top:20px}.section-heading>p{font-weight:300;font-size:14px;line-height:2;color:var(--muted-foreground)}.secondary{background:var(--secondary)}.story-panels{height:610px;display:flex;gap:12px}.story-panel{flex:.72;min-width:0;border:1px solid #ffffff22;padding:0;position:relative;overflow:hidden;text-align:left;color:white;background:#090909;transition:flex .7s}.story-panel.active{flex:2.35}.story-panel>img{height:100%;width:100%;object-fit:cover;filter:grayscale(.45);transition:filter .5s}.story-panel.active>img{filter:none}.story-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000f,#0004 70%,#0002)}.story-number{position:absolute;z-index:2;left:25px;top:25px;color:#f79a2e;font-size:12px}.story-panel>div{position:absolute;bottom:35px;left:30px;right:30px;z-index:2;opacity:0;transition:opacity .35s}.story-panel.active>div{opacity:1}.story-panel .eyebrow{color:#f79a2e}.story-panel h3{font-size:30px}.story-panel p:not(.eyebrow){font-size:14px;font-weight:300;line-height:1.8;margin-top:15px;color:#ffffffbb}.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.carousel-controls .eyebrow{margin:0}.carousel-controls>div{display:flex;gap:10px}.treatment-track{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scroll-behavior:smooth;padding-bottom:15px}.treatment{position:relative;flex:0 0 48%;height:440px;scroll-snap-align:start;overflow:hidden;color:white;background:#171612}.treatment>img{width:100%;height:100%;object-fit:cover}.treatment::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000e,#0001 90%)}.treatment>div{position:absolute;z-index:2;left:30px;right:30px;bottom:28px}.treatment .eyebrow{color:#f79a2e}.treatment h3{font-size:30px}.treatment p:not(.eyebrow){font-size:14px;line-height:1.7;color:#ffffffbb;margin-top:12px;font-weight:300}.treatment a{display:block;font-family:var(--font-display);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:18px;color:#f79a2e}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.showroom-photo{height:580px;position:relative;overflow:hidden}.showroom-photo>img{width:100%;height:100%;object-fit:cover}.showroom-photo>div{position:absolute;left:0;right:0;bottom:0;padding:65px 30px 30px;background:linear-gradient(transparent,#000c);color:white}.showroom-photo .eyebrow{color:#f79a2e}.showroom-photo h3{font-size:25px}.body-copy{font-size:14px;line-height:2;font-weight:300;color:var(--muted-foreground);margin:25px 0}.address{border-left:1px solid var(--accent);padding-left:20px;margin:25px 0;font-size:13px;line-height:1.8}.address>p{margin:12px 0;color:var(--muted-foreground)}.address small{font-size:11px;color:var(--muted-foreground)}.actions{display:flex;gap:25px;flex-wrap:wrap;align-items:center}.text-link{font-family:var(--font-display);font-size:10px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--accent);padding-bottom:6px}.large-copy{font-family:var(--font-display);font-size:23px;line-height:1.6}.process-photo>img{height:100%;width:100%;object-fit:cover}.process-card.changing>*{opacity:0;transform:translateY(6px)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project{padding:0;border:0;background:transparent;color:var(--foreground);text-align:left}.project.wide{grid-column:1/-1}.project img{width:100%;height:360px;object-fit:cover}.project.wide img{height:520px}.project>div{padding:22px 0}.project h3{display:flex;justify-content:space-between;font-size:24px}.project h3 span{color:var(--accent)}.project .eyebrow{margin-bottom:12px}.portfolio-link{margin-top:25px}.enquiry{align-items:start}.demo-note{border-left:1px solid var(--accent);padding-left:20px;font-size:12px;line-height:1.8;color:var(--muted-foreground);margin:28px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:25px}.form-label{margin:0}.full{grid-column:1/-1}textarea{resize:vertical}#form-status{font-size:13px;line-height:1.8;margin-top:20px;padding:20px;border:1px solid var(--border)}.contact-strip{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-strip>div{display:flex;flex-direction:column;gap:20px}.contact-strip>div>a:first-child{font-family:var(--font-display);font-size:23px}footer{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:40px 0;border-top:1px solid var(--border)}footer>img{width:190px}footer>p{font-size:10px;line-height:1.8;color:var(--muted-foreground)}footer>a{font-size:11px}dialog{border:1px solid var(--border);background:var(--background);color:var(--foreground);max-width:90vw;max-height:90vh;padding:20px}dialog::backdrop{background:#000d}dialog img{max-height:72vh;object-fit:contain}dialog p{margin-top:12px}.dialog-close{float:right;width:44px;height:44px;background:transparent;color:var(--foreground);border:0;font-size:30px}.motion .reveal{opacity:0;transform:translateY(16px);transition:opacity .65s,transform .65s}.motion .reveal.visible{opacity:1;transform:none}
@media(max-width:1199px){.site-header nav{display:none;position:absolute;top:92px;left:0;right:0;background:var(--background);padding:30px 5%;height:calc(100dvh - 92px);overflow:auto;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:20px 0;border-bottom:1px solid var(--border);font-size:18px}#menu{display:block}.split{gap:45px}.story-panel h3{font-size:25px}.hero-layout{grid-template-columns:1.25fr .65fr;gap:30px}}
@media(max-width:767px){.header-inner{height:80px}.brand{width:170px}.header-cta{display:none}.site-header nav{top:80px;height:calc(100dvh - 80px)}.hero-layout{display:block;min-height:760px;padding-top:160px;padding-bottom:40px}.hero h1{font-size:clamp(2.2rem,8.8vw,3.2rem);line-height:1}.hero-description{margin-top:27px;padding-left:20px}.hero-description p{font-size:14px;line-height:1.8}.hero-aside{padding-bottom:0;margin-top:25px}.hero-aside h3{font-size:16px;max-width:340px}.hero-aside .eyebrow{margin-bottom:12px}.section{padding:65px 0}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px}.section-heading>.button{margin-top:25px}.story-panels{display:grid;height:auto}.story-panel{height:350px}.story-panel>div{opacity:1;left:25px;right:25px;bottom:25px}.story-panel h3{font-size:25px}.story-panel>img{filter:none}.treatment{flex-basis:88%;height:auto;min-height:390px;display:flex;align-items:end}.treatment>img{position:absolute;inset:0}.treatment>div{position:relative;left:auto;right:auto;bottom:auto;padding:65px 24px 25px}.treatment h3{font-size:22px}.split{grid-template-columns:1fr;gap:35px}.showroom-photo{height:380px}.large-copy{font-size:20px}.project-grid{grid-template-columns:1fr;gap:15px}.project.wide{grid-column:auto}.project img,.project.wide img{height:330px}.project h3{font-size:21px}.contact-strip{display:block}.contact-strip>div{margin-top:30px}.form-grid{gap:16px}footer{flex-wrap:wrap}footer p{max-width:100%}.theme-switch{font-size:12px}.hero-media{object-position:center}.carousel-arrow{width:44px;height:44px}}
@media(max-width:380px){.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.brand{width:150px}.hero-layout{padding-top:135px}.hero h1{font-size:34px}.project img,.project.wide img{height:280px}}
@media(prefers-reduced-motion:reduce){.motion .reveal{opacity:1;transform:none}.treatment-track{scroll-behavior:auto}}

/* Branded identity remains; the accent palette is the original master orange. */
.casa-brand{display:flex;align-items:center;gap:12px;width:235px;min-width:0}
.casa-brand img{width:58px;height:58px;object-fit:contain;filter:none!important}
.casa-brand>span{font-family:var(--font-display);font-size:18px;letter-spacing:.12em;font-weight:600}
.casa-brand small{display:block;font-size:9px;letter-spacing:.3em;margin-top:6px;color:var(--accent)}
.hero-media{object-position:center}
.split>*{min-width:0}.section-heading>*{min-width:0}
.reading-progress{position:fixed;top:0;left:0;height:2px;background:#f79a2e;width:100%;transform:scaleX(0);transform-origin:left;z-index:80}
.story-panel>img,.project img,.showroom-photo>img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.story-panel.active>img{transform:scale(1.015)}
.project{overflow:hidden}.project:hover img,.project:focus-visible img{transform:scale(1.025)}
.treatment>img{transition:transform .8s}.treatment:hover>img{transform:scale(1.03)}
.showroom-photo:hover>img{transform:scale(1.025)}
.motion .reveal.visible .section-heading h2{animation:heading-settle .7s both}
@keyframes heading-settle{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
.location-layout{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid var(--border)}
.location-card{padding:40px;background:var(--secondary)}
.location-card h3{font-size:28px}.location-card p{font-size:14px;line-height:1.9;margin:20px 0;color:var(--muted-foreground)}
.location-rule{height:1px;background:var(--border);margin:25px 0}
.location-card>a:not(.button){font-family:var(--font-display);font-size:17px}
.location-card .map-note{font-size:11px}.map-stage{min-width:0;background:var(--card)}
.map-header{display:flex;align-items:center;justify-content:space-between;padding:18px 25px;border-bottom:1px solid var(--border);font-size:11px;color:var(--muted-foreground)}
.map-header .eyebrow{margin:0}.map-frame{height:420px;position:relative}
#map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:55px 55px}
.map-pin{display:grid;place-items:center;width:55px;height:55px;border:1px solid var(--accent);color:var(--accent);font-size:24px;margin-bottom:24px}
#map-placeholder h3{font-size:23px}#map-placeholder p{font-size:12px;line-height:1.8;color:var(--muted-foreground);margin:18px 0 24px;background:var(--card);padding:5px}
#location-map{width:100%;height:100%;border:0}#location-map[hidden],#map-placeholder[hidden]{display:none}
.visit-guide details{border-bottom:1px solid var(--border);padding:22px 0}.visit-guide summary{font-family:var(--font-display);text-transform:uppercase;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.03em}
.visit-guide details p{font-size:14px;font-weight:300;line-height:1.9;margin-top:18px;color:var(--muted-foreground)}
@media(max-width:1000px){.location-layout{grid-template-columns:1fr}.map-frame{height:390px}}
@media(max-width:767px){.casa-brand{width:210px}.casa-brand img{width:48px;height:48px}.casa-brand>span{font-size:16px}.hero-layout{min-height:780px}.location-card{padding:28px}.map-header{padding:17px 20px}.map-frame{height:350px}.showroom-photo{height:400px}.section-heading h2{overflow-wrap:break-word}}

