:root{--sun:#FAA92D;--amber:#FFA902;--hot:#FF7302;--ink:#040505}
html{-webkit-text-size-adjust:100%}
body{font-family:'Manrope',system-ui,sans-serif;overflow-x:hidden}
.font-display{font-family:'Archivo',system-ui,sans-serif;font-stretch:118%;font-weight:800;letter-spacing:-.025em}
.text-hero{font-size:clamp(2.6rem,7.2vw,6.2rem);line-height:.95;letter-spacing:-.04em}
.text-h1{font-size:clamp(2.3rem,5.6vw,4.6rem);line-height:1;letter-spacing:-.035em}
.text-h2{font-size:clamp(1.9rem,4vw,3.25rem);line-height:1.04;letter-spacing:-.03em}
.text-h3{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.15}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:'Archivo',sans-serif;font-stretch:118%;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--sun)}
.eyebrow::before{content:"";width:2rem;height:2px;background:currentColor}
.prose-body p{line-height:1.8}
/* header */
.site-header{transition:background .3s,box-shadow .3s,color .3s;color:#fff}
.site-header .logo-colour{display:none}
.site-header.is-scrolled,.site-header.is-light{background:rgba(250,248,244,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(0,0,0,.06);color:#040505}
.site-header.is-scrolled .logo-white,.site-header.is-light .logo-white{display:none}
.site-header.is-scrolled .logo-colour,.site-header.is-light .logo-colour{display:block}
.navlink{position:relative;padding:.55rem .8rem;font-weight:600;font-size:.95rem;border-radius:999px;transition:color .2s}
.navlink::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.3rem;height:2px;background:var(--sun);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.navlink:hover::after,.navlink.is-active::after{transform:scaleX(1)}
.hdr-btn{background:rgba(255,255,255,.12)}
.is-scrolled .hdr-btn{background:rgba(0,0,0,.06)}
/* buttons */
.btn-primary,.btn-dark,.btn-ghost,.btn-outline-dark{display:inline-flex;white-space:nowrap;align-items:center;gap:.6rem;padding:1rem 1.6rem;border-radius:999px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s,color .2s;min-height:48px}
.btn-primary{background:var(--sun);color:var(--ink);box-shadow:0 10px 30px -10px rgba(250,169,45,.7)}
.btn-primary:hover{background:var(--amber);transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(255,115,2,.7)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{transform:translateY(-2px);background:#1c1d1d}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25)}
.btn-ghost:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.btn-outline-dark{border:2px solid var(--ink);color:var(--ink)}
.btn-outline-dark:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.btn-primary svg,.btn-dark svg{transition:transform .2s}
.btn-primary:hover svg,.btn-dark:hover svg{transform:translateX(3px)}
:focus-visible{outline:3px solid var(--hot);outline-offset:3px}
/* decorative sun rays echoing the logo */
.sunrays{background:repeating-conic-gradient(from 0deg,rgba(250,169,45,.35) 0deg 4deg,transparent 4deg 22deg);border-radius:50%;-webkit-mask:radial-gradient(circle,transparent 22%,#000 23%,#000 50%,transparent 70%);mask:radial-gradient(circle,transparent 22%,#000 23%,#000 50%,transparent 70%)}
.sunrays-dark{background:repeating-conic-gradient(from 0deg,rgba(4,5,5,.5) 0deg 4deg,transparent 4deg 22deg);border-radius:50%;-webkit-mask:radial-gradient(circle,transparent 22%,#000 23%,#000 50%,transparent 70%);mask:radial-gradient(circle,transparent 22%,#000 23%,#000 50%,transparent 70%)}
/* cards */
.card-lift{transition:transform .3s,box-shadow .3s,border-color .3s}
.card-lift:hover{transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(4,5,5,.35);border-color:rgba(250,169,45,.6)}
.zoom{overflow:hidden}
.zoom img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.zoom:hover img,.zoom:focus-visible img{transform:scale(1.06)}
/* marquee */
.marquee{animation:marquee 38s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}
/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
/* accordion */
details.acc summary{list-style:none;cursor:pointer}
details.acc summary::-webkit-details-marker{display:none}
details.acc .acc-icon{transition:transform .3s}
details.acc[open] .acc-icon{transform:rotate(45deg)}
/* forms */
.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem}
.field input,.field select,.field textarea{width:100%;border:1.5px solid #dcd7cd;background:#fff;border-radius:.9rem;padding:.85rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sun);box-shadow:0 0 0 4px rgba(250,169,45,.25)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
