:root{--ink:#14242D;--brand:#CE2D23;--amber:#FFA550}
[hidden]{display:none!important}
html{scroll-padding-top:6rem}
body{line-height:1.65}
.font-display{letter-spacing:-.02em}
.text-hero{font-size:clamp(2.6rem,1.6rem + 4.6vw,5.6rem);line-height:1;letter-spacing:-.035em}
.text-h2{font-size:clamp(2rem,1.4rem + 2.4vw,3.5rem);line-height:1.05;letter-spacing:-.03em}
.text-h3{font-size:clamp(1.4rem,1.15rem + 1vw,2rem);line-height:1.15;letter-spacing:-.02em}
.kicker{font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.75rem}
.kicker::before{content:"";width:2rem;height:2px;background:currentColor}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding:1rem 1.6rem;font-weight:600;min-height:3.25rem;transition:transform .2s ease,background-color .2s ease,gap .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px);gap:.75rem}
.header-bar{transition:background-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;background:rgba(20,36,45,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.site-header.is-scrolled .header-bar{background:rgba(255,255,255,.85);box-shadow:0 10px 30px -12px rgba(20,36,45,.25);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4)}
.navlink{padding:.6rem 1rem;border-radius:9999px;font-weight:500;font-size:.95rem;color:#fff;transition:background-color .2s,color .2s}
.navlink:hover{background:rgba(255,255,255,.12)}
.navlink.is-active{background:#fff;color:var(--ink)}
.site-header.is-scrolled .navlink{color:var(--ink)}
.site-header.is-scrolled .navlink:hover{background:rgba(20,36,45,.07)}
.site-header.is-scrolled .navlink.is-active{background:var(--ink);color:#fff}
.hero-stripe{position:absolute;right:0;bottom:0;width:min(42vw,560px);height:10px;background:linear-gradient(90deg,var(--brand) 0 70%,var(--amber) 70% 100%)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}
.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}
.zoom{overflow:hidden}.zoom img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.zoom:hover img,.zoom:focus-visible img{transform:scale(1.06)}
.card-lift{transition:transform .35s ease,box-shadow .35s ease}
.card-lift:hover{transform:translateY(-6px);box-shadow:0 30px 60px -25px rgba(20,36,45,.45)}
.grecaptcha-badge{visibility:hidden}
.field{width:100%;border-radius:.9rem;border:1.5px solid #d9d6cf;background:#fff;padding:.9rem 1rem;font-size:1rem;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(255,165,80,.35)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.filter-btn[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.lightbox{background:rgba(10,18,23,.94)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.zoom img,.card-lift,.btn{transition:none}.zoom:hover img{transform:none}.card-lift:hover,.btn:hover{transform:none}}
/* hero entrance: content is visible from first paint, only a gentle slide plays */
@keyframes heroIn{from{transform:translateY(14px)}to{transform:none}}
.hero-in{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both}
.hero-d1{animation-delay:.08s}.hero-d2{animation-delay:.16s}.hero-d3{animation-delay:.24s}
@media (prefers-reduced-motion:reduce){.hero-in{animation:none}}
