@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');

:root{
  --ink:#111712;
  --ink-2:#19231c;
  --paper:#f4f1e8;
  --paper-2:#e9e7de;
  --acid:#c8ff24;
  --sage:#c7d5b9;
  --lilac:#c1afe9;
  --line:rgba(17,23,18,.2);
  --line-light:rgba(244,241,232,.2);
  --pad:clamp(22px,5vw,78px);
  --serif:Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;overflow-x:hidden;background:var(--ink);color:var(--paper);font-family:"DM Sans",Arial,sans-serif;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--acid);color:var(--ink)}
:focus-visible{outline:3px solid var(--acid);outline-offset:4px}

.skip-link{position:fixed;z-index:1000;left:18px;top:12px;transform:translateY(-180%);padding:12px 16px;background:var(--acid);color:var(--ink);font-weight:700}
.skip-link:focus{transform:none}
.acid{color:var(--acid)}
.eyebrow{margin:0;font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}
.lede{max-width:730px;margin:0;color:#303a33;font-size:clamp(17px,1.45vw,22px);line-height:1.6}

.brand{display:inline-flex;align-items:center;gap:13px;font-size:clamp(16px,1.65vw,23px);font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.brand small{margin-left:5px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.brand-mark{position:relative;width:28px;height:32px;flex:0 0 28px}
.brand-mark i{position:absolute;width:20px;height:27px;border:1px solid currentColor}
.brand-mark i:nth-child(1){left:0;top:5px}
.brand-mark i:nth-child(2){left:4px;top:2px}
.brand-mark i:nth-child(3){left:8px;top:0}

.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:84px;padding:0 var(--pad);display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line-light);background:rgba(17,23,18,.82);backdrop-filter:blur(18px);transition:background .25s ease,box-shadow .25s ease}
.site-header.is-scrolled{background:rgba(17,23,18,.96);box-shadow:0 16px 35px rgba(0,0,0,.12)}
.site-header nav{display:flex;align-items:center;gap:clamp(16px,2vw,30px);margin-left:auto}
.site-header nav a{position:relative;color:#dfe4dc;font-size:13px}
.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--acid);transition:right .2s ease}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after{right:0}
.header-cta{display:flex;justify-content:space-between;gap:25px;min-width:190px;padding:13px 15px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:600}
.menu-toggle{display:none;margin-left:auto;width:42px;height:42px;border:1px solid var(--line-light);background:transparent;cursor:pointer}
.menu-toggle span{display:block;width:20px;height:1px;margin:5px auto;background:currentColor;transition:transform .2s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}

.section{padding:clamp(82px,10vw,150px) var(--pad)}
.section h2{margin:24px 0 34px;font:400 clamp(48px,6.2vw,92px)/.93 "Manrope",sans-serif;letter-spacing:-.07em}
.section h2 em,.hero h1 em{font-family:var(--serif);font-weight:400}
.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-width:235px;padding:17px 20px;background:var(--acid);color:var(--ink);font-size:13px;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.16)}
.button.ghost{border:1px solid currentColor;background:transparent;color:inherit}

.site-footer{padding:72px var(--pad);display:grid;grid-template-columns:minmax(280px,1.5fr) repeat(3,minmax(140px,.65fr));gap:clamp(30px,5vw,70px);border-top:1px solid var(--line-light);background:#0b100c;color:#dce2da}
.footer-brand p{max-width:360px;margin:28px 0 50px;color:#98a199;line-height:1.6}
.footer-brand>small{color:#777f78;font-size:11px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:13px}
.footer-column strong{margin-bottom:11px;color:#7f8981;font-size:10px;letter-spacing:.16em}
.footer-column a{color:#c4cbc5}
.footer-column a:hover{color:var(--acid)}
.footer-column a[aria-current="page"]{color:var(--acid)}

.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.is-visible{opacity:1;transform:none}

@media(max-width:1050px){
  .site-header nav{gap:16px}
  .site-header nav a{font-size:12px}
  .header-cta{display:none}
  .site-footer{grid-template-columns:1.4fr 1fr 1fr}
  .site-footer .footer-column:last-child{grid-column:2}
}

@media(max-width:760px){
  html{scroll-padding-top:70px}
  .site-header{height:70px;padding:0 20px}
  .site-header .brand{font-size:16px}
  .site-header nav{position:fixed;z-index:-1;inset:70px 0 auto;display:none;margin:0;padding:26px 22px 35px;flex-direction:column;align-items:flex-start;gap:24px;border-bottom:1px solid var(--line-light);background:var(--ink);box-shadow:0 24px 40px rgba(0,0,0,.25)}
  .site-header nav.is-open{display:flex}
  .site-header nav a{font:500 26px/1.1 "Manrope",sans-serif}
  .menu-toggle{display:block}
  .section{padding:82px 22px}
  .section h2{font-size:clamp(45px,13vw,68px)}
  .button-row{flex-direction:column;align-items:stretch}
  .button{width:100%;min-width:0}
  .site-footer{padding:56px 22px;grid-template-columns:1fr;gap:40px}
  .site-footer .footer-column:last-child{grid-column:auto}
  .footer-brand p{margin-bottom:28px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
