*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#F5F6EF;color:#41463A;font-family:'Hanken Grotesk',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:#8DB13A;color:#15180E}

.display{font-family:'Schibsted Grotesk',sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1}
.kicker{font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#3C5415}
.secnum{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.18em;color:#72786A}
.t-hero{font-family:'Schibsted Grotesk',sans-serif;font-weight:800;font-size:clamp(2.4rem,6vw,5.4rem);line-height:1;letter-spacing:-.035em}
.t-giant{font-family:'Schibsted Grotesk',sans-serif;font-weight:800;font-size:clamp(2rem,4.6vw,3.7rem);letter-spacing:-.03em;line-height:1.04}
.grad-green{background:linear-gradient(105deg,#6E9A2A,#8DB13A 45%,#A8CB5C);-webkit-background-clip:text;background-clip:text;color:transparent}

.mesh{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.mesh::before{content:'';position:absolute;width:60vw;height:60vw;top:-22vw;right:-14vw;background:radial-gradient(circle,rgba(141,177,58,.22),transparent 62%);filter:blur(8px)}
.mesh::after{content:'';position:absolute;width:42vw;height:42vw;bottom:-16vw;left:-12vw;background:radial-gradient(circle,rgba(168,203,92,.16),transparent 60%)}
.dotgrid{background-image:radial-gradient(rgba(21,24,14,.07) 1px,transparent 1px);background-size:22px 22px}

.btn{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:.95rem;padding:.95rem 1.6rem;border-radius:11px;background:#8DB13A;color:#15180E;border:1px solid #7CA030;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 10px 24px -12px rgba(109,154,42,.8);transition:transform .22s,box-shadow .22s,background .22s;cursor:pointer;text-decoration:none}
.btn:hover{transform:translateY(-2px);background:#9BC047;box-shadow:0 16px 30px -14px rgba(109,154,42,.9)}
.btn-ghost{background:transparent;color:#2C3A14;border:1px solid rgba(21,24,14,.18);box-shadow:none}
.btn-ghost:hover{background:#fff;border-color:#8DB13A;color:#3C5415}

.card{background:#fff;border:1px solid rgba(21,24,14,.07);border-radius:18px;box-shadow:0 1px 2px rgba(21,24,14,.04),0 18px 40px -28px rgba(21,24,14,.25);transition:transform .35s,box-shadow .35s,border-color .35s}
.card:hover{transform:translateY(-4px);border-color:rgba(141,177,58,.55);box-shadow:0 1px 2px rgba(21,24,14,.04),0 28px 56px -28px rgba(21,24,14,.32)}
.card-link{display:block;text-decoration:none}
.go{display:inline-flex;align-items:center;gap:.4rem;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;color:#4F6B1C;text-decoration:none;transition:gap .3s}
.card-link:hover .go,.go:hover{gap:.8rem}
.pill{display:inline-flex;align-items:center;gap:.45rem;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.03em;padding:.4rem .7rem;border-radius:999px;background:rgba(141,177,58,.12);color:#3C5415;border:1px solid rgba(141,177,58,.3)}
.tag{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.02em;padding:.42rem .72rem;border-radius:8px;border:1px solid rgba(21,24,14,.12);color:#52584a;background:#fff}
.tag.on{border-color:rgba(141,177,58,.55);color:#3C5415;background:rgba(141,177,58,.08)}

.nav{transition:background .3s,box-shadow .3s}
.nav.scrolled{background:rgba(245,246,239,.82);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(21,24,14,.07)}
.navlink{font-weight:600;font-size:.92rem;color:#52584a;transition:color .2s;position:relative;text-decoration:none}
.navlink:hover{color:#15180E}
.navlink::after{content:'';position:absolute;left:0;bottom:-5px;height:2px;width:0;background:#8DB13A;border-radius:2px;transition:width .3s}
.navlink:hover::after,.navlink.active::after{width:100%}
.navlink.active{color:#15180E}
.mmenu{position:fixed;inset:0;background:#F5F6EF;z-index:8000;transform:translateY(-100%);transition:transform .5s cubic-bezier(.77,0,.175,1);display:flex;flex-direction:column;justify-content:center;padding:2rem;gap:.6rem}
.mmenu.open{transform:translateY(0)}
.mlink{text-decoration:none;color:#15180E}

.srv{border-top:1px solid rgba(21,24,14,.1);padding:1.6rem 0;transition:background .3s,padding-left .3s;text-decoration:none}
.srv:last-child{border-bottom:1px solid rgba(21,24,14,.1)}
.srv:hover{background:linear-gradient(90deg,rgba(141,177,58,.07),transparent);padding-left:.8rem}
.srv:hover .srv-n{color:#8DB13A}
.srv-n{font-family:'JetBrains Mono',monospace;color:#aeb3a4;transition:color .3s}

.wall{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(21,24,14,.08);border:1px solid rgba(21,24,14,.08);border-radius:18px;overflow:hidden}
@media(min-width:600px){.wall{grid-template-columns:repeat(3,1fr)}}
@media(min-width:980px){.wall{grid-template-columns:repeat(4,1fr)}}
.cell{background:#fff;min-height:118px;display:flex;align-items:center;justify-content:center;padding:1.7rem;transition:background .3s;text-decoration:none}
.cell:hover{background:#FBFCF7}
.cell img{max-height:42px;max-width:78%;object-fit:contain;filter:grayscale(1);opacity:.62;transition:filter .4s,opacity .4s,transform .4s}
.cell:hover img{filter:grayscale(0);opacity:1;transform:scale(1.05)}
.word{font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:1.15rem;color:#9aa08d;text-align:center;line-height:1.1;transition:color .3s}
.cell:hover .word{color:#3C5415}
.word small{display:block;font-family:'JetBrains Mono',monospace;font-weight:400;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:#b2b7a8;margin-top:.3rem}

.reveal{will-change:transform,opacity}
.rule{height:1px;background:rgba(21,24,14,.1)}
.inp{width:100%;background:#fff;border:1px solid rgba(21,24,14,.14);border-radius:11px;padding:.85rem 1rem;color:#15180E;font-family:'Hanken Grotesk',sans-serif;font-size:1rem;transition:border-color .25s,box-shadow .25s}
.inp:focus{outline:none;border-color:#8DB13A;box-shadow:0 0 0 3px rgba(141,177,58,.18)}
.inp::placeholder{color:#9aa08d}
.prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#6E9A2A,#A8CB5C);z-index:10000;width:0}
.road{position:absolute;left:50%;top:0;transform:translateX(-50%);width:140%;max-width:1100px;opacity:.5;pointer-events:none}
