
:root{
  --red:#c91c20;--red-dark:#a91216;--ink:#111317;--muted:#656a72;--paper:#f5f4f1;
  --white:#fff;--line:#dfded9;--dark:#14171b;--dark2:#1c2025;--radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}
img{display:block;max-width:100%}a{text-decoration:none;color:inherit}
.hidden{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.site-header{height:78px;display:flex;align-items:center;gap:30px;padding:0 clamp(18px,5vw,72px);position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #ecebe7}
.brand{margin-right:auto}.brand img{height:52px;width:auto}
.desktop-nav{display:flex;gap:27px;font-size:14px;font-weight:700}.desktop-nav a:hover{color:var(--red)}
.menu-button{display:none;background:none;border:0;font-size:26px}
.mobile-nav{position:fixed;z-index:45;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px;box-shadow:0 12px 25px #0001}.mobile-nav a{display:block;padding:12px 5px;font-weight:700}

.button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;border:0;border-radius:9px;padding:15px 22px;font-weight:800;cursor:pointer;transition:.18s}.button:hover{background:var(--red-dark);transform:translateY(-1px)}
.button-small{padding:11px 15px;font-size:14px}.button-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.button-ghost:hover{background:#f2f2ef;color:var(--ink)}
.button-white{background:#fff;color:var(--ink)}.button-white:hover{background:#fff;color:var(--red)}
.eyebrow{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.14em;margin:0 0 14px}

.hero{min-height:690px;display:grid;grid-template-columns:1.12fr .88fr;background:#fff}
.hero-copy{padding:clamp(65px,8vw,110px) clamp(25px,6.5vw,105px);align-self:center}
.hero h1{font-size:clamp(42px,5.1vw,76px);letter-spacing:-.055em;line-height:1.01;margin:0 0 26px}.hero h1 span{color:var(--red)}
.lead{font-size:18px;max-width:780px;color:var(--muted);margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 24px}
.trust{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;font-weight:750}
.hero-photo{background:#111;min-height:650px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}

.quote-zone,.section{padding:95px clamp(20px,7vw,110px)}
.quote-zone{background:#f0efeb}.section-heading{max-width:840px;margin-bottom:40px}.section-heading h2,.expertise h2{font-size:clamp(34px,4vw,57px);letter-spacing:-.045em;line-height:1.05;margin:0 0 14px}.section-heading>p:last-child{color:var(--muted)}
.centered{text-align:center;margin-left:auto;margin-right:auto}.light h2{color:#fff}.light>p:last-child{color:#b8bec6}

.quote-card{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 18px 60px #0000000c}
.progress{height:6px;background:#e9e8e4;border-radius:100px;overflow:hidden}.progress span{display:block;height:100%;width:12%;background:var(--red);transition:.25s}
.wizard-top{display:flex;justify-content:space-between;margin:15px 0 25px;color:#7a7d82;font-size:13px}
.back-button{border:0;background:none;font:inherit;font-weight:750;cursor:pointer}.back-button[hidden]{visibility:hidden}
.question h3{font-size:clamp(26px,3vw,36px);line-height:1.15;margin:0 0 9px}.question .hint{color:var(--muted);margin:0 0 20px}
.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.choice{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px;text-align:left;font:inherit;font-weight:800;cursor:pointer;min-height:62px}.choice:hover,.choice:focus{border-color:var(--red);color:var(--red);outline:none}
.field{display:grid;gap:7px;margin:14px 0}.field label{font-size:13px;font-weight:800}.field input,.field textarea,.field select{font:inherit;border:1px solid #cccac3;border-radius:9px;padding:14px;background:#fff}.field input:focus,.field textarea:focus{outline:2px solid #c91c2024;border-color:var(--red)}
.next-row{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.summary{background:#f6f5f2;border-radius:12px;padding:16px;margin:14px 0}.summary p{margin:5px 0;color:#555}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#656a72;margin:14px 0}.consent input{margin-top:3px}
.form-note{font-size:12px;color:#777}

.dark{background:var(--dark);color:#fff}
.services{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.services article{background:#fff;color:var(--ink);border-radius:12px;padding:24px;border:1px solid #2a2d31}.service-icon{font-size:28px;color:var(--red);height:42px}.services h3{font-size:18px;line-height:1.2;margin:12px 0 8px}.services p{font-size:14px;color:#646970;margin:0}

.carousel-wrap{position:relative;max-width:1250px;margin:0 auto}.carousel{display:flex;gap:17px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px 1px 18px}.carousel::-webkit-scrollbar{display:none}
.projects figure{flex:0 0 min(620px,68vw);scroll-snap-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:0}.projects figure img{height:430px;width:100%;object-fit:cover}.projects figcaption{padding:18px;display:flex;justify-content:space-between;gap:15px}.projects figcaption span{color:var(--muted);font-size:14px}
.carousel-arrow{position:absolute;top:45%;z-index:5;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:30px;box-shadow:0 7px 20px #0002;cursor:pointer}.carousel-arrow.left{left:-22px}.carousel-arrow.right{right:-22px}

.expertise{display:grid;grid-template-columns:1fr 1fr;background:#fff}.expertise>img{width:100%;height:100%;object-fit:cover}.expertise-copy{padding:clamp(55px,8vw,105px)}.expertise-copy>p:not(.eyebrow){font-size:18px;color:var(--muted);margin:0 0 28px}

.reviews-section{background:#fff}.reviews img{flex:0 0 min(510px,72vw);height:360px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px;scroll-snap-align:center}

.cta-band{background:linear-gradient(90deg,var(--red),#d4272b);color:#fff;padding:28px clamp(20px,7vw,110px);display:flex;justify-content:space-between;align-items:center;gap:25px}.cta-band div{display:flex;flex-direction:column}.cta-band strong{font-size:23px}.cta-band span{opacity:.9}
.contact{background:#16191d;color:#e7e8e9;padding:55px clamp(20px,7vw,110px);display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:42px}.contact-brand img{height:48px;width:auto;margin-bottom:16px}.contact p{color:#aeb3b9}.contact a{display:block;margin:7px 0}.footer-title{font-size:12px!important;color:#ee5357!important;font-weight:900;letter-spacing:.12em}
.site-footer{background:#101215;color:#858b92;padding:17px clamp(20px,7vw,110px);display:flex;justify-content:space-between;gap:20px;font-size:12px}

@media(max-width:920px){
  .desktop-nav{display:none}.menu-button{display:block}.site-header .button-small{display:none}
  .hero{grid-template-columns:1fr}.hero-copy{padding:65px 22px}.hero-photo{min-height:480px}
  .services{grid-template-columns:repeat(2,1fr)}.expertise{grid-template-columns:1fr}.contact{grid-template-columns:1fr 1fr}
  .carousel-arrow{display:none}.projects figure{flex-basis:83vw}.reviews img{flex-basis:84vw}
}
@media(max-width:560px){
  .site-header{height:68px;padding:0 14px}.brand img{height:43px}.mobile-nav{top:68px}
  .hero h1{font-size:43px}.lead{font-size:16px}.hero-actions .button{width:100%}.hero-photo{min-height:420px}
  .quote-zone,.section{padding:68px 16px}.quote-card{padding:20px 15px}.choices{grid-template-columns:1fr}
  .services{grid-template-columns:1fr}.projects figure{flex-basis:91vw}.projects figure img{height:330px}.projects figcaption{flex-direction:column}
  .reviews img{flex-basis:91vw;height:310px}.expertise-copy{padding:60px 20px}
  .cta-band{align-items:stretch;flex-direction:column}.contact{grid-template-columns:1fr}.site-footer{flex-direction:column}
}

/* V3 visual update */
.hero-v3{display:block;min-height:0;background:#fff}
.hero-copy-v3{padding:70px clamp(20px,7vw,110px) 28px}
.hero-copy-v3 h1{margin-bottom:0}
.hero-portrait-card{position:relative;margin:0 clamp(20px,7vw,110px);border-radius:22px;overflow:hidden;background:#111}
.hero-portrait-card>img{width:100%;height:760px;object-fit:cover;object-position:center top}
.hero-overlay{position:absolute;left:0;right:0;bottom:0;padding:150px clamp(22px,5vw,58px) 38px;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.5) 38%,rgba(0,0,0,.92) 84%);color:#fff}
.hero-overlay>p{max-width:850px;font-size:18px;line-height:1.7;margin:0 0 24px;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.button-darkghost{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.35);color:#fff}
.button-darkghost:hover{background:rgba(255,255,255,.18);color:#fff}
.hero-trust{color:#fff}

/* QCM buttons: always red, with a very light iPhone-like press */
.choice{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important;transition:transform .08s ease,background .08s ease!important;-webkit-tap-highlight-color:transparent}
.choice:hover,.choice:focus{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important;outline:none!important}
.choice:active{transform:scale(.975);background:var(--red-dark)!important}

@media(max-width:560px){
 .hero-copy-v3{padding:54px 16px 20px}
 .hero-portrait-card{margin:0 16px;border-radius:16px}
 .hero-portrait-card>img{height:620px}
 .hero-overlay{padding:165px 18px 24px}
 .hero-overlay>p{font-size:15px}
}
