:root{
  --paper:#f4f2ee;--white:#fff;--ink:#111;--muted:#5f625f;--line:#cbc9c3;
  --lime:#caff00;--coral:#ff5b54;--coral-text:#c8362f;--lime-text:#5d7300;
  --max:1240px;--head-h:76px;--display:"Arial Black",Arial,Helvetica,sans-serif;
  --body:Arial,Helvetica,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.45;overflow-x:hidden}
body.menu-open{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
[id]{scroll-margin-top:calc(var(--head-h) + 24px)}
:where(a,button,[tabindex]):focus-visible{outline:3px solid var(--coral-text);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:100;background:var(--lime);padding:12px;font-weight:800}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:var(--coral);transform:scaleX(0);transform-origin:0 50%;will-change:transform}

header{position:sticky;top:0;z-index:50;background:rgba(244,242,238,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav.wrap{width:calc(100% - 48px);max-width:none}
.nav{height:var(--head-h);display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:21px;letter-spacing:-.04em}
.brand img{width:36px;height:36px;object-fit:contain;mix-blend-mode:multiply}
.nav-links{display:flex;align-items:center;gap:28px;font-size:14px}
.nav-links a{position:relative;padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--coral);transform:scaleX(0);transform-origin:0 50%;transition:transform .28s var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;border:1px solid var(--ink);font-weight:700;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s}
.nav-cta{background:var(--lime)}
.button:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--ink)}
.button:active,.nav-cta:active{transform:translateY(0);box-shadow:0 0 0 var(--ink)}
.menu{display:none;border:1px solid var(--ink);background:none;font-weight:800;padding:11px 16px;cursor:pointer;color:var(--ink)}

h1,h2,h3{font-family:var(--display);letter-spacing:-.055em;line-height:.98;margin:0;text-wrap:balance}
h1{font-size:clamp(50px,6vw,88px)}
h2{font-size:clamp(42px,5vw,72px)}
h3{font-size:clamp(27px,3vw,42px)}
section{padding:clamp(80px,10vw,145px) 0}
.overline{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;margin-bottom:22px;display:block}
.page-hero{padding:clamp(90px,12vw,170px) 0 clamp(70px,9vw,120px);border-bottom:1px solid var(--line)}
.page-hero h1{max-width:13ch}
.page-hero p{font-size:clamp(19px,2vw,28px);max-width:35ch;margin:30px 0 0;color:var(--muted);text-wrap:pretty}
.button.primary{background:var(--coral);border-color:var(--coral);color:var(--ink)}
.button.lime{background:var(--lime)}
.text-link{display:inline-flex;align-items:center;gap:8px;padding-bottom:5px;border-bottom:2px solid currentColor;font-weight:800}
.text-link:hover{color:var(--coral-text)}

.contact{background:var(--lime);padding:100px 0}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}
.contact h2{font-size:clamp(52px,7vw,102px)}
.contact p{font-size:22px;max-width:28ch;text-wrap:pretty}
.contact .button{background:var(--ink);color:#fff;padding:18px 26px;border-color:var(--ink)}
.contact-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;font-weight:800}
.contact-link{display:inline-flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid var(--ink);transition:.2s var(--ease)}
.contact-link:hover{background:rgba(255,255,255,.5);transform:translateY(-2px)}
.contact-link svg{width:21px;height:21px;flex:0 0 auto}
footer{background:var(--ink);color:#fff;padding:36px 0}
.footer-row{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.footer-brand{display:flex;align-items:center;gap:12px;font-family:var(--display)}
.footer-brand img{width:34px;height:34px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}
.tagline-foot{color:#e6e6e6}
.reveal{opacity:1;transform:none}

@media(max-width:900px){
  .nav-links{display:none}
  .menu{display:block}
  .nav-links.open{display:flex;position:fixed;inset:var(--head-h) 0 auto;height:calc(100vh - var(--head-h));height:calc(100dvh - var(--head-h));background:var(--paper);padding:34px 24px;flex-direction:column;align-items:flex-start;gap:6px;font-size:26px;font-family:var(--display);letter-spacing:-.04em;overflow-y:auto}
  .nav-links.open a{padding:12px 0;opacity:0;transform:translateY(12px);animation:navin .4s var(--ease) forwards;animation-delay:calc(var(--i,0) * 55ms)}
  .nav-links.open .nav-cta-mobile:not([hidden]){display:inline-flex;margin-top:22px;padding:13px 20px;letter-spacing:0;font-family:var(--body);font-size:16px;animation:none;opacity:1;transform:none}
  @keyframes navin{to{opacity:1;transform:none}}
  .contact-grid{grid-template-columns:1fr;gap:36px}
}
@media(max-width:560px){
  :root{--head-h:66px}
  .wrap{width:min(100% - 32px,var(--max))}
  .nav.wrap{width:calc(100% - 32px)}
  .nav-cta{display:none}
  h1{font-size:clamp(42px,12vw,56px)}
  .page-hero{padding:72px 0 64px}
  .contact{padding:70px 0}
  .footer-row{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
@media print{header,.progress,.contact-links{display:none}body{background:#fff}}
