:root{--red:#d61f26;--red2:#a30f16;--ink:#0b0b0c;--ink2:#141416;--ink3:#1d1d20;--chrome:linear-gradient(180deg,#fff 0%,#e9ebee 35%,#9aa0a8 52%,#f4f5f7 70%,#b9bec5 100%);--redg:linear-gradient(180deg,#ff5a5f 0%,#e3232b 45%,#a10d14 100%);--disp:'Barlow Condensed','Oswald',Impact,sans-serif;--body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
html,body{overflow-x:hidden;max-width:100%}
body{font-family:var(--body);background:#fff;color:#1a1a1c}
h1,h2,h3,.kicker{font-family:var(--disp);font-style:italic;text-transform:uppercase;letter-spacing:.01em}
h2{font-weight:800;line-height:1.02}
h3{font-weight:800}
.kicker{color:var(--red)!important;font-weight:700;letter-spacing:.18em;font-style:normal}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* buttons */
.btn{font-family:var(--disp);font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-size:18px;padding:13px 24px;line-height:1;text-decoration:none}
.btn.primary{background:linear-gradient(180deg,#ec2a31,#c3121a)!important;color:#fff!important;border:1px solid #ff4a50!important;box-shadow:0 6px 18px rgba(214,31,38,.35),inset 0 1px 0 rgba(255,255,255,.25)}
.btn.primary:hover{filter:brightness(1.1)}
.btn.outline{background:rgba(0,0,0,.35)!important;color:#fff!important;border:1.5px solid #e6e6e6!important}
.btn.small{padding:11px 18px;font-size:17px}
/* header */
.header{background:linear-gradient(180deg,#111 0%,#050505 100%)!important;border-bottom:2px solid var(--red)!important;position:sticky;top:0;z-index:50;box-shadow:0 4px 20px rgba(0,0,0,.5)}
.header-inner{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 28px 0;min-height:0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;padding-bottom:10px}
.brand img{width:72px;height:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.brand-words{display:flex;flex-direction:column;line-height:.9}
.brand-top{font-family:var(--disp);font-style:italic;font-weight:900;font-size:34px;letter-spacing:.01em;background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.brand-bottom{font-family:var(--disp);font-style:italic;font-weight:900;font-size:25px;letter-spacing:.06em;background:var(--redg);-webkit-background-clip:text;background-clip:text;color:transparent!important;padding-left:14px}
.brand-small{font-family:var(--body);font-size:10px;letter-spacing:.24em;color:#d9d9d9!important;margin-top:6px;border-top:1px solid #444;padding-top:4px;font-weight:600}
.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.header-actions{display:flex;align-items:center;gap:20px}
.call-link{display:inline-flex;align-items:center;gap:8px;color:#fff!important;font-family:var(--disp);font-weight:700;font-size:22px;text-decoration:none;padding-left:20px;border-left:1px solid #444}
.nav{display:flex;align-items:center;gap:4px;position:static;background:none!important;box-shadow:none;padding:0}
.nav>a,.nav .has-sub>a{color:#e8e8e8!important;font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:10px 12px 12px;border-bottom:3px solid transparent;text-decoration:none;display:block}
.nav>a:hover,.nav .has-sub>a:hover{color:#fff!important}
.nav a.active{border-bottom-color:var(--red)!important;color:#fff!important}
.nav .caret{font-size:10px}
.nav .has-sub{position:relative}
.nav .sub{background:#111!important;border:1px solid #333;border-top:2px solid var(--red);border-radius:0 0 6px 6px}
.nav .sub a{color:#ddd!important;font-size:13px}
.nav .sub a:hover{background:#1e1e1e!important;color:#fff!important}
.nav .nav-cta{display:none!important}
.menu-toggle{display:none;background:none!important;border:0!important;width:40px;height:40px;padding:8px;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}
.menu-toggle span{display:block;height:3px;border-radius:2px;background:var(--red)}
/* home hero */
.hero.hero-v2{position:relative;background:#050505!important;overflow:hidden;padding:0;min-height:520px;display:flex;align-items:center;color:#fff}
.hero-v2 .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;filter:brightness(.7) contrast(1.1) saturate(1.15)}
.hero-v2:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.7) 38%,rgba(0,0,0,.1) 75%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 35%)}
.hero-v2 .hero-inner{position:relative;z-index:2;max-width:1320px;width:100%;margin:0 auto;padding:70px 28px;display:block}
.hero-v2 .hero-text{max-width:640px}
.hero-v2 h1,.page-hero h1,main h1{margin:0 0 18px;line-height:.92;font-weight:900;font-style:italic;text-transform:uppercase}
.h-label{display:flex;align-items:center;gap:14px;font-family:var(--body);font-style:normal;font-weight:600;font-size:18px;letter-spacing:.38em;color:#fff;margin-bottom:10px}
.h-label:after{content:"";height:3px;width:90px;background:var(--red)}
.h-chrome{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 2px rgba(0,0,0,.6))}
.h-red{background:var(--redg);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 2px rgba(0,0,0,.6))}
.hero-v2 .h-chrome,.hero-v2 .h-red{display:block;font-size:clamp(46px,7vw,96px)}
.h-loc{display:block;font-family:var(--body);font-style:normal;font-weight:500;font-size:15px;letter-spacing:.12em;color:#bbb;margin-top:14px}
.hero-sub{font-size:21px;line-height:1.4;color:#f1f1f1!important;max-width:520px;margin:0 0 28px}
.hero-v2 .button-row{display:flex;gap:16px;flex-wrap:wrap}
/* trust strip */
.trust-strip{background:linear-gradient(180deg,#fff,#eeeeef)!important;border:0!important;border-bottom:1px solid #ddd!important;padding:26px 0!important}
.trust-inner{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0}
.trust-item{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--disp);font-style:italic;font-weight:800;text-transform:uppercase;font-size:19px;line-height:1.05;color:#111!important;border-right:1px solid #ccc;padding:4px 10px}
.trust-item:last-child{border-right:0}
.trust-item .ic{width:42px;height:42px;color:var(--red);stroke-width:1.7}
/* quick links (mobile only) */
.quick-links{display:none}
/* sections */
.section.cream,.cream{background:#f3f3f4!important}
.section.dark,.dark{background:linear-gradient(180deg,#121214,#050505)!important;color:#fff}
.section.dark h2{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-head h2{color:#111}
.section-head h2:after{content:"";display:block;width:70px;height:4px;background:var(--red);margin:14px auto 0}
/* service cards */
.svc-cards{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:24px}
.svc-cards .card{display:grid;grid-template-columns:1fr 1fr;background:#0a0a0a!important;border:0!important;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.25);min-height:250px}
.svc-cards .card-image{width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover;border-radius:0!important}
.svc-cards .card-body{background:linear-gradient(135deg,#0e0e0f 0%,#000 100%);color:#e7e7e7;padding:30px 26px;display:flex;flex-direction:column;justify-content:center;position:relative;border-left:3px solid var(--red)}
.svc-cards .card-body:before{content:"";position:absolute;top:0;left:0;width:60%;height:4px;background:linear-gradient(90deg,var(--red),transparent)}
.svc-cards h3{font-size:28px;line-height:.95;margin:0 0 12px}
.svc-cards h3 a{color:#fff!important;text-decoration:none}
.svc-cards p{color:#cfcfcf!important;font-size:15px;line-height:1.5}
.svc-cards .text-link{color:var(--red)!important;font-family:var(--disp);font-style:italic;font-weight:800;text-transform:uppercase;font-size:18px;text-decoration:none;margin-top:6px}
.lead-intro{font-weight:500;color:#222!important}
.text-link{color:var(--red)!important;font-weight:700}
/* recent projects */
.recent{background:#fff}
.recent-grid{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center}
.recent-h{display:flex;align-items:center;gap:12px;font-size:40px;margin:0 0 12px;background:none;color:#111}
.recent-h:before{content:"";width:14px;height:30px;background:var(--red);transform:skewX(-18deg)}
.recent-copy p{color:#333;margin-bottom:22px}
.recent-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.recent-tiles img{width:100%;height:220px;object-fit:cover;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
/* inner page hero */
.breadcrumb{position:relative;z-index:3}
.page-hero{position:relative;background:#050505!important;color:#fff;border-radius:10px;overflow:hidden;display:block!important;padding:0!important;min-height:300px;margin-bottom:34px;border-bottom:3px solid var(--red)}
.page-hero>img{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover;filter:brightness(.45);border-radius:0!important;aspect-ratio:auto!important}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.55) 60%,rgba(0,0,0,.25))}
.page-hero-copy{position:relative;z-index:2;padding:46px 44px;max-width:760px}
.page-hero h1{font-size:clamp(34px,4.6vw,60px)!important}
.page-hero p{color:#e8e8e8!important}
.page-hero .button-row{display:flex;gap:14px;flex-wrap:wrap}
main h1:not(.page-hero h1):not(.hero-v2 h1) .h-chrome{background:linear-gradient(180deg,#3b3f45,#111 60%,#555 100%);-webkit-background-clip:text;background-clip:text}
/* footer */
.footer{background:linear-gradient(180deg,#0d0d0e,#000)!important;color:#bdbdbd!important;border-top:3px solid var(--red)}
.footer h4{font-family:var(--disp);font-style:italic;text-transform:uppercase;font-weight:800;font-size:20px;color:#fff!important;letter-spacing:.03em;border-bottom:2px solid var(--red);display:inline-block;padding-bottom:4px}
.footer a{color:#cfcfcf!important}
.footer a:hover{color:#fff!important}
.footer .brand-small{display:none}
.footer-base{border-top:1px solid #2a2a2a!important;color:#888}
/* sticky mobile bar */
.mobile-sticky{background:#050505!important;border-top:2px solid var(--red)!important}
@media(max-width:1100px){.nav>a,.nav .has-sub>a{padding:10px 8px 12px;font-size:11px}.trust-item{font-size:16px}}
@media(max-width:990px){
 .header-inner{padding:8px 14px;align-items:center}
 .brand{padding-bottom:0}.brand img{width:52px}.brand-top{font-size:26px}.brand-bottom{font-size:19px;padding-left:10px}.brand-small{font-size:7.5px;letter-spacing:.18em;margin-top:4px}
 .header-actions .call-link,.header-actions .btn{display:none!important}
 .menu-toggle{display:flex!important}
 .nav{display:none!important;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#0a0a0a!important;border-bottom:2px solid var(--red);max-height:80vh;overflow:auto;padding:8px 0 16px}
 .nav.open{display:flex!important}
 .nav>a,.nav .has-sub>a{font-size:14px;padding:13px 20px;border-bottom:1px solid #222}
 .nav a.active{border-left:4px solid var(--red);border-bottom-color:#222!important}
 .nav .sub{position:static!important;display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;border:0;background:#121212!important;box-shadow:none}
 .nav .sub a{padding:10px 34px;font-size:13px}
 .nav .nav-cta{display:flex!important;margin:14px 20px 0;justify-content:center;background:var(--red);color:#fff!important;border-radius:6px;font-family:var(--disp);font-weight:700;font-size:18px;border:0}
 .header-right{flex-direction:row}
 .svc-cards{grid-template-columns:1fr!important}
 .recent-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
 .hero.hero-v2{min-height:0;display:block}
 .hero-v2 .hero-bg{filter:brightness(.4)}
 .hero-v2:after{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.85))}
 .hero-v2 .hero-inner{padding:34px 18px 30px;text-align:center}
 .hero-v2 .hero-text{margin:0 auto}
 .h-label{justify-content:center;font-size:13px;letter-spacing:.34em}
 .h-label:before{content:"";height:2px;width:34px;background:var(--red)}.h-label:after{width:34px;height:2px}
 .hero-v2 .h-chrome,.hero-v2 .h-red{font-size:clamp(40px,12.6vw,58px)}
 .h-loc{font-size:12px}
 .hero-sub{font-size:16px;margin:0 auto 22px}
 .hero-v2 .button-row{flex-direction:column;gap:12px}
 .hero-v2 .btn{width:100%;font-size:19px;padding:15px}
 .quick-links{display:flex;flex-direction:column;gap:10px;background:#0a0a0a;padding:16px 18px 0}
 .quick-links a{display:flex;align-items:center;gap:14px;background:#fff;color:#111;border-radius:8px;padding:14px 16px;font-weight:600;font-size:16px;text-decoration:none;box-shadow:0 2px 0 #ccc}
 .quick-links a span{flex:1}
 .quick-links a .ic{color:var(--red);width:26px;height:26px}
 .quick-links a .chev{width:20px;height:20px;stroke-width:3}
 .quick-links img{width:calc(100% + 36px);margin:16px -18px 0;height:240px;object-fit:cover;display:block}
 .trust-inner{grid-template-columns:1fr 1fr!important;gap:16px 0}
 .trust-item{font-size:15px;justify-content:flex-start;padding:4px 10px;border-right:0}
 .trust-item .ic{width:32px;height:32px}
 .svc-cards .card{grid-template-columns:1fr;min-height:0}
 .svc-cards .card-image{height:190px!important}
 .svc-cards .card-body{border-left:0;border-top:3px solid var(--red);padding:22px 20px}
 .svc-cards h3{font-size:25px}
 .recent-tiles{grid-template-columns:1fr 1fr}
 .recent-tiles img{height:150px}.recent-tiles img:first-child{grid-column:span 2;height:200px}
 .recent-h{font-size:32px}
 .page-hero{border-radius:8px;min-height:0}
 .page-hero-copy{padding:30px 20px}
 .page-hero h1{font-size:clamp(30px,9vw,42px)!important}
 .page-hero .button-row{flex-direction:column}.page-hero .btn{width:100%}
 .call-link{display:none}
}
.nav .has-sub>a:after{content:''!important}
.header-inner{position:relative}
.text-link:after{content:none!important}
.section-head h2:after{margin:14px 0 0}
.section-head[style*="center"] h2:after,.section-head.center h2:after{margin:14px auto 0}
/* red-flower hero: show the whole room on the right like the mockup */
@media (min-width:901px){.hero-v2{background:#0b0b0b}.hero-v2 .hero-bg{left:auto;right:0;width:52%;object-fit:cover;object-position:50% 55%;filter:brightness(.85) contrast(1.08) saturate(1.2);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 28%);mask-image:linear-gradient(to right,transparent 0,#000 28%)}}
@media (max-width:900px){.hero-v2 .hero-bg{object-position:50% 70%;filter:brightness(.55) saturate(1.25)}}
@media (max-width:900px){.quick-links img{object-position:50% 60%;filter:saturate(1.2)}}
/* sharp full-size red-flower hero */
@media (min-width:901px){.hero-v2 .hero-bg{left:0;width:100%;object-position:70% 50%;filter:brightness(.8) contrast(1.05) saturate(1.1);-webkit-mask-image:none;mask-image:none}.hero-v2::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0,rgba(0,0,0,.7) 35%,rgba(0,0,0,0) 65%);z-index:1;pointer-events:none}.hero-v2 .hero-inner{position:relative;z-index:2}}
@media (max-width:900px){.hero-v2 .hero-bg{object-position:72% 50%}.quick-links img{object-position:75% 50%;aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}}
/* desktop scaling fixes */
.hero-v2 h1{max-width:none!important;width:auto}
.hero-v2 .hero-text{max-width:min(720px,60%)}
.hero-v2 .h-chrome,.hero-v2 .h-red{width:max-content;max-width:100%;padding-right:.12em;font-size:clamp(46px,6vw,92px)}
@media (min-width:901px){.hero-v2 .hero-bg{display:block;z-index:0;opacity:1}.hero-v2::after{z-index:1}}
@media (min-width:901px) and (max-width:1100px){.hero-v2 .hero-text{max-width:62%}.hero-v2 .h-chrome,.hero-v2 .h-red{font-size:clamp(44px,6.4vw,70px)}}
@media (max-width:700px){.hero-v2 .hero-text{max-width:none}.hero-v2 .h-chrome,.hero-v2 .h-red{width:auto;margin-inline:auto}}
html,body{overflow-x:clip}
