@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}}

/* Company accent adaptation only. Master layout and neutral theme stay intact. */
:root,
:root[data-theme='light'] {
  --accent: #006970;
  --primary: #006970;
  --primary-foreground: #ffffff;
  --accent-foreground: #ffffff;
  --ring: #006970;
}
:root[data-theme='dark'] {
  --accent: #85c9c5;
  --primary: #006970;
  --primary-foreground: #ffffff;
  --accent-foreground: #102624;
  --ring: #85c9c5;
}
:root .theme-hero,
:root[data-theme='light'] .theme-hero,
.media-copy {
  --accent: #d4df9d;
}
.story-number,
.story-panel .eyebrow,
.treatment .eyebrow,
.treatment a,
.showroom-photo .eyebrow {
  color: #d4df9d;
}
.button-clay {
  background: #006970;
  border-color: #006970;
  color: #ffffff;
}
.button-clay:hover,
.button-clay:focus-visible,
.button-dark:hover,
.button-dark:focus-visible {
  background: #00545a;
  border-color: #00545a;
  color: #ffffff;
}
.carousel-arrow:hover,
.carousel-arrow:focus-visible {
  background: #006970;
  border-color: #006970;
  color: #ffffff;
}
.nav-link::after { background: var(--accent); }
.form-control:focus {
  border-color: #006970;
  box-shadow: 0 0 0 2px rgba(0,105,112,.16);
}
:focus-visible { outline-color: var(--ring); }
::selection { background: #d4df9d; color: #102624; }
