html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#FBBA16;font-family:'DM Sans',system-ui,sans-serif;color:#00492C}
a{color:inherit;text-decoration:none}
.stack{display:flex;flex-direction:column;overflow:hidden}
.pn{position:relative;overflow:hidden}
.in{max-width:1240px;margin:0 auto;padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px));box-sizing:border-box;position:relative}
.cond{font-family:'Bricolage Grotesque','DM Sans',sans-serif;font-stretch:75%;font-weight:800;letter-spacing:-0.035em;line-height:.9;text-wrap:balance}
.mn{font-family:'DM Sans',system-ui,sans-serif;font-weight:500;line-height:1.5}
.lbl{font-family:'DM Sans',system-ui,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:12px}

/* buttons */
.bt{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;box-sizing:border-box;border-radius:999px;border:2.5px solid var(--sh,#00492C);font-family:'Bricolage Grotesque','DM Sans',sans-serif;font-weight:800;font-size:16px;letter-spacing:-0.01em;box-shadow:5px 5px 0 var(--sh,#00492C);transition:transform .15s ease,box-shadow .15s ease}
.bt:hover{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--sh,#00492C)}

/* HERO */
.herogrid{display:flex;gap:18px;align-items:stretch}
.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-top:22px;padding-bottom:26px}
.toplinks{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
.tl{font-weight:700;font-size:15px;position:relative;padding:4px 0}
.tl:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#E22028;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.tl:hover:after{transform:scaleX(1)}
.poster{position:relative;flex:1 1 auto;min-width:0}
.ptxt{font-family:'Bricolage Grotesque','DM Sans',sans-serif;font-weight:800;font-stretch:100%;text-transform:uppercase;letter-spacing:-0.05em;line-height:.86;font-size:clamp(56px,15.2vw,216px);margin:0}
.ptxt.base{color:#00492C;position:relative;z-index:1;padding:.12em 0}
.ptxt.copy{position:absolute;inset:0;z-index:3;pointer-events:none;padding:.12em 0;box-sizing:border-box}
.pl{display:block;padding-bottom:.03em}
.cA{color:#9BCCD0}.cB{color:#E2B2B4}.cC{color:#B1D8B8}
.band{position:absolute;inset:0;z-index:2;pointer-events:none}
.bandA{background:#E22028}.bandB{background:#1E4380}.bandC{background:#E04E26}
.bA{clip-path:polygon(-2% 2%,102% 14%,102% 40%,-2% 28%);animation:wipeA 1.1s cubic-bezier(.2,.8,.2,1) .5s both}
.bB{clip-path:polygon(-2% 54%,102% 32%,102% 58%,-2% 80%);animation:wipeB 1.1s cubic-bezier(.2,.8,.2,1) .8s both}
.bC{clip-path:polygon(24% 76%,102% 62%,102% 88%,24% 102%);animation:wipeC 1.1s cubic-bezier(.2,.8,.2,1) 1.1s both}
@keyframes wipeA{from{clip-path:polygon(-2% 2%,-2% 2%,-2% 28%,-2% 28%)}}
@keyframes wipeB{from{clip-path:polygon(-2% 54%,-2% 54%,-2% 80%,-2% 80%)}}
@keyframes wipeC{from{clip-path:polygon(24% 76%,24% 76%,24% 102%,24% 102%)}}
.aside{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;flex:0 0 74px;padding:8px 0 4px}
.vt{writing-mode:vertical-rl;white-space:nowrap}
.herofoot{display:flex;flex-wrap:wrap;gap:22px 40px;justify-content:space-between;align-items:center;padding-top:34px;padding-bottom:40px}
.fi{opacity:0;transform:translateY(20px);animation:fin .8s ease forwards;animation-delay:1.3s}
@keyframes fin{to{opacity:1;transform:none}}

/* marquee */
.mq{background:#E22028;color:#9BCCD0;overflow:hidden;white-space:nowrap;padding:18px 0}
.mq.k{background:#00492C;color:#FBBA16}
.mqt{display:inline-flex;animation:mq 28s linear infinite}
.mq.rev .mqt{animation-direction:reverse;animation-duration:34s}
.mqi{display:inline-flex;align-items:center;gap:34px;padding-right:34px;font-size:clamp(44px,6.8vw,96px)}
.mqi i{display:inline-block;width:.4em;height:.4em;background:#FBBA16;border-radius:50%}
.mq.k .mqi i{background:#9BCCD0}
@keyframes mq{to{transform:translateX(-50%)}}

.keyline:after{content:"";position:absolute;inset:12px;border:1.5px solid currentColor;opacity:.28;pointer-events:none}
.badge{width:clamp(160px,20vw,250px);aspect-ratio:1/1;position:relative}
.badge svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 22s linear infinite}
.badge .core{position:absolute;inset:27%;border-radius:50%;background:#FBBA16;animation:pulse 3.2s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{transform:scale(1.1)}}

.svgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sv{padding:26px;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;min-width:0;border-radius:26px;transition:transform .25s ease}
.sv:hover{transform:rotate(-1.6deg) translateY(-8px)}
.pj{display:flex;flex-wrap:wrap;align-items:stretch;min-height:560px}
.pjt{flex:1 1 380px;min-width:0;padding:56px 48px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-sizing:border-box;position:relative;z-index:1}
.pji{flex:1 1 380px;min-width:0;padding:48px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;z-index:1}
.pji img{display:block;width:100%;max-width:470px;aspect-ratio:1/1;object-fit:cover;border-radius:4.8%/4.8%;box-shadow:16px 16px 0 var(--ac);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease}
.pj:hover .pji img{transform:translate(-6px,-6px) rotate(-1.2deg);box-shadow:24px 24px 0 var(--ac)}
.tag{display:inline-block;border:2px solid currentColor;border-radius:999px;padding:6px 14px}
.pill{display:inline-block;border:2px solid currentColor;border-radius:999px;padding:4px 13px;font-size:13px;font-weight:700}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.st{padding:24px 24px 28px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;min-width:0;border-radius:26px;transition:transform .25s ease}
.st:hover{transform:rotate(1.5deg) translateY(-6px)}
.contactgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contactgrid.solo{grid-template-columns:minmax(0,560px);justify-content:center;margin-top:48px}
.big{display:block;font-family:'Bricolage Grotesque','DM Sans',sans-serif;font-weight:800;font-stretch:80%;letter-spacing:-0.025em;line-height:1.05;overflow-wrap:anywhere;transition:opacity .2s ease}
.big:hover{opacity:.7}

/* contact form */
.cform{background:#1E4380;color:#E2B2B4;border-radius:28px;box-shadow:10px 10px 0 #00492C;padding:34px;box-sizing:border-box;min-width:0}
.fgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.fld.full{grid-column:1/-1}
.fld input,.fld textarea{width:100%;box-sizing:border-box;font:500 16px/1.4 'DM Sans',system-ui,sans-serif;color:#1E4380;background:#E2B2B4;border:2.5px solid #E2B2B4;border-radius:16px;padding:14px 16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.fld textarea{resize:vertical;min-height:150px}
.fld input:focus,.fld textarea:focus{border-color:#FBBA16;box-shadow:4px 4px 0 #FBBA16}
.fld.bad input,.fld.bad textarea{border-color:#E22028;box-shadow:4px 4px 0 #E22028}
.ferr{font-size:13px;font-weight:700;color:#FBBA16;min-height:1em}
.fchk{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.fchk input{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:#FBBA16;cursor:pointer}
.fchk .mn{font-size:15px}
.fchk a{color:#FBBA16;text-decoration:underline}
.fld.bad .fchk input{outline:2.5px solid #E22028;outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fstatus.ok{color:#B1D8B8}.fstatus.err{color:#FBBA16}
.cform button[disabled]{opacity:.6;cursor:wait}

@supports (animation-timeline:view()){
.rv{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 50%}
@keyframes rise{from{opacity:.05;transform:translateY(60px) rotate(1.2deg)}to{opacity:1;transform:none}}
}
@media (max-width:1000px){.svgrid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.aside{display:none}.toplinks .hide{display:none}.svgrid,.steps,.contactgrid,.fgrid{grid-template-columns:minmax(0,1fr)}.cform{padding:26px 22px}.pjt,.pji{padding:36px 24px}}
@media (prefers-reduced-motion:reduce){.bA,.bB,.bC,.fi{animation:none;opacity:1;transform:none}.mqt,.badge svg,.badge .core{animation:none}.rv{animation:none!important}}

/* privacy page */
.legal{max-width:820px;font-family:'DM Sans',system-ui,sans-serif;font-weight:500;font-size:17px;line-height:1.6}
.legal h2{font-size:clamp(32px,4vw,48px);margin:48px 0 14px}
.legal ul{padding-left:22px}
.legal li{margin-bottom:8px}
.legal a{text-decoration:underline}
