:root{--red:#d82a2b;--red2:#de4434;--char:#2c2a2a;--light:#f0f0f0}
html{-webkit-text-size-adjust:100%}
body{font-family:Roboto,system-ui,sans-serif;overflow-x:hidden}
.font-display,.display,.eyebrow,.footer-h,.step-num{font-family:"Barlow Condensed",Roboto,sans-serif}
.display{font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:-.01em;overflow-wrap:break-word}
.eyebrow{font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:.9rem;color:var(--red);display:flex;align-items:center;gap:.75rem}
.eyebrow::before{content:"";width:2rem;height:3px;background:currentColor;flex:none}
.footer-h{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:1rem}
.nav-link{position:relative;transition:color .2s}
.nav-link[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:3px;background:var(--red);border-radius:2px}
.btn-primary,.btn-ghost,.btn-dark,.btn-outline,.btn-light,.btn-outline-light{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;border-radius:999px;padding:1rem 1.75rem;min-height:48px;transition:transform .2s,background-color .2s,box-shadow .2s,color .2s}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 30px -10px rgba(216,42,43,.7)}
.btn-primary:hover{background:var(--red2);transform:translateY(-2px)}
.btn-primary:disabled{opacity:.6;cursor:wait;transform:none}
.btn-ghost{color:#fff;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:#fff;color:var(--char);transform:translateY(-2px)}
.btn-dark{background:var(--char);color:#fff}.btn-dark:hover{background:var(--red);transform:translateY(-2px)}
.btn-outline{border:1.5px solid rgba(44,42,42,.25);color:var(--char)}.btn-outline:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--red)}.btn-light:hover{background:var(--char);color:#fff;transform:translateY(-2px)}
.btn-outline-light{border:1.5px solid rgba(255,255,255,.6);color:#fff}.btn-outline-light:hover{background:#fff;color:var(--red);transform:translateY(-2px)}
.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--red)}
.link-arrow svg{transition:transform .2s}.link-arrow:hover svg,.group:hover .link-arrow svg{transform:translateX(4px)}
.svc-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;border-bottom:1px solid rgba(0,0,0,.1);font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.1;transition:color .2s,padding .25s}
.svc-line svg{color:var(--red);flex:none;transition:transform .25s}
.svc-line:hover{color:var(--red);padding-left:.5rem}.svc-line:hover svg{transform:translateX(4px)}
.card{display:block;background:#fff;border-radius:1.25rem;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:transform .35s,box-shadow .35s}
.card:hover{box-shadow:0 30px 60px -25px rgba(44,42,42,.4)}
.value-card{background:#fff;border-radius:1.25rem;padding:2.25rem;transition:transform .3s,box-shadow .3s}
.value-card:hover{box-shadow:0 25px 50px -25px rgba(44,42,42,.35)}
.step-num{font-weight:800;font-size:3.5rem;line-height:1;color:rgba(255,255,255,.12)}
.pitch{position:absolute;right:-4%;bottom:0;width:46%;height:72%;background:linear-gradient(180deg,rgba(216,42,43,.95),rgba(216,42,43,.55));clip-path:polygon(0 100%,50% 0,100% 100%,90% 100%,50% 20%,10% 100%);pointer-events:none;opacity:.9}
.pitch-hero{width:40%;height:62%;right:-6%;opacity:.75}
@media (max-width:767px){.pitch{width:80%;height:40%;right:-25%;opacity:.5}}
.pitch::after{content:"";position:absolute;inset:0}
.roof-stripe{height:6px;background:linear-gradient(90deg,var(--red) 0 33%,var(--red2) 33% 66%,#fff3 66%)}
.cta-roof{position:absolute;inset:0;background:linear-gradient(160deg,transparent 55%,rgba(0,0,0,.15) 55%);pointer-events:none}
.cta-roof::before{content:"";position:absolute;right:5%;top:-20%;width:420px;height:420px;border:40px solid rgba(255,255,255,.08);transform:rotate(45deg)}
.field-label{display:block;font-weight:500;font-size:.95rem;margin-bottom:.4rem}
.field{display:block;width:100%;background:#fff;border:1.5px solid rgba(44,42,42,.15);border-radius:.85rem;padding:.85rem 1rem;font-size:1rem;min-height:50px;transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgba(216,42,43,.15)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
.form-status.ok{background:#e9f7ee;color:#14532d;border:1px solid #bbe5c8}
.form-status.err{background:#fdecec;color:#8a1c1c;border:1px solid #f5c2c2}
.contact-card{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;border-radius:1.25rem;border:1px solid rgba(0,0,0,.08);transition:border-color .2s,transform .2s,box-shadow .2s}
.contact-card:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 18px 40px -25px rgba(44,42,42,.4)}
.contact-ic{display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:999px;background:var(--light);color:var(--red);flex:none;transition:background .2s,color .2s}
.contact-card:hover .contact-ic{background:var(--red);color:#fff}
.faq summary::-webkit-details-marker{display:none}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.is-in{opacity:1;transform:none}
.md\:translate-y-12.reveal.is-in,.md\:translate-y-8.reveal.is-in{transform:none}
@media (min-width:768px){.md\:translate-y-12.reveal.is-in{transform:translateY(3rem)}.md\:translate-y-8.reveal.is-in{transform:translateY(2rem)}}
.hero-in{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(20,19,19,.94);display:flex;align-items:center;justify-content:center;padding:4rem 1rem}
.lightbox img{max-height:80vh;max-width:min(92vw,1100px);border-radius:.75rem;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb-btn{position:absolute;display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;transition:background .2s}
.lb-btn:hover{background:var(--red)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
.lightbox[hidden]{display:none}
h1,h2,h3{text-wrap:balance}
