:root{--bg:#f2f0e9;--paper:#fbfaf6;--ink:#0e1b1d;--ink-soft:#41514f;--accent:#0a8c7e;--accent-deep:#066b60;--signal:#e0532e;--line:rgba(14,27,29,.13);--line-soft:rgba(14,27,29,.07);--display:"Bricolage Grotesque",sans-serif;--body:"Hanken Grotesk",sans-serif;--mono:"IBM Plex Mono",monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--body);color:var(--ink);background-color:var(--bg);background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:28px 28px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:0 auto;padding:0 28px}.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}header{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(47,26%,93%,.82);border-bottom:1px solid var(--line)}nav{align-items:center;justify-content:space-between;height:68px}.brand,nav{display:flex}.brand{align-items:baseline;gap:10px;font-family:var(--display);font-weight:800;font-size:1.32rem;letter-spacing:-.02em}.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--signal);display:inline-block;transform:translateY(-1px)}.brand-logo{align-self:center;width:auto;height:32px;object-fit:contain}.brand small{font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;color:var(--accent-deep);font-weight:600}.navlinks{display:flex;gap:30px;align-items:center}.navlinks a{font-size:.92rem;font-weight:500;color:var(--ink-soft);transition:color .2s}.navlinks a:hover{color:var(--accent-deep)}.nav-cta{border:1.5px solid var(--ink);padding:9px 16px;border-radius:2px;font-weight:600;font-size:.86rem;color:var(--ink);transition:all .2s}.nav-cta:hover{background:var(--ink);color:var(--paper)}.brand-name{display:inline-flex;align-items:baseline}.menu-btn{font-family:var(--mono);font-size:.75rem;border:1px solid var(--ink);background:none;padding:8px 12px;cursor:pointer;border-radius:2px;white-space:nowrap}.menu-btn,.mobile-menu{display:none}@media(max-width:840px){.navlinks{display:none}.menu-btn{display:block}.brand small{display:none}.brand{font-size:1.12rem;gap:8px}.brand-logo{height:26px}.mobile-menu{display:block;border-bottom:1px solid var(--line);background:hsla(47,26%,93%,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-menu .wrap{display:flex;flex-direction:column;gap:4px;padding-top:10px;padding-bottom:16px}.mobile-menu a{padding:13px 4px;font-size:1.02rem;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line-soft)}.mobile-menu a:last-child{border-bottom:none}.mobile-menu .nav-cta{margin-top:8px;text-align:center;border:1.5px solid var(--ink);border-radius:2px;padding:13px 16px}}@media(max-width:380px){.brand small{display:none}.brand-name{font-size:1rem}}.hero{padding:84px 0 68px;position:relative}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--accent-deep);margin-bottom:26px;opacity:0;animation:rise .7s .1s forwards}.eyebrow:before{content:"";width:26px;height:1.5px;background:var(--signal)}.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,7vw,5.2rem);line-height:.98;letter-spacing:-.035em;max-width:14ch;opacity:0;animation:rise .8s .2s forwards}.hero h1 em{font-style:normal;color:var(--accent)}.hero p.lead{margin-top:26px;max-width:46ch;font-size:1.12rem;color:var(--ink-soft);opacity:0;animation:rise .8s .35s forwards}.hero-actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:rise .8s .5s forwards}.btn{padding:14px 24px;border-radius:2px;font-weight:600;font-size:.95rem;transition:all .2s;display:inline-flex;align-items:center;gap:9px;cursor:pointer}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-2px)}.btn-ghost{border:1.5px solid var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.hero-tag{position:absolute;right:28px;top:96px;font-family:var(--mono);font-size:.66rem;color:var(--ink-soft);text-align:right;line-height:1.9;opacity:0;animation:rise .9s .6s forwards}@media(max-width:840px){.hero-tag{display:none}}.stats{display:flex;gap:0;border:1px solid var(--line);border-radius:3px;margin-top:58px;background:var(--paper);opacity:0;animation:rise .9s .65s forwards}.stat{flex:1 1;padding:22px 24px;border-right:1px solid var(--line)}.stat:last-child{border-right:none}.stat .n{font-family:var(--display);font-weight:700;font-size:1.9rem;letter-spacing:-.02em}.stat .l{font-family:var(--mono);font-size:.66rem;color:var(--ink-soft);margin-top:4px}@media(max-width:640px){.stats{flex-wrap:wrap}.stat{flex:1 1 50%;border-bottom:1px solid var(--line)}.stat:nth-child(2){border-right:none}}section{padding:90px 0;border-top:1px solid var(--line)}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:50px;flex-wrap:wrap}.sec-head h2{font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.03em;line-height:1.02;max-width:18ch}.sec-num{font-family:var(--mono);color:var(--signal);font-size:.78rem}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:54px;gap:54px;align-items:start}@media(max-width:840px){.about-grid{grid-template-columns:1fr;gap:36px}}.about-grid p{font-size:1.08rem;color:var(--ink-soft);margin-bottom:18px;max-width:54ch}.about-grid p strong{color:var(--ink);font-weight:600}.facts{background:var(--paper);border:1px solid var(--line);border-radius:3px;overflow:hidden}.fact{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.fact:last-child{border-bottom:none}.fact .k{font-family:var(--mono);font-size:.64rem;color:var(--accent-deep)}.fact .v{font-weight:500;font-size:.98rem}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.pill{font-family:var(--mono);font-size:.68rem;border:1px solid var(--line);padding:6px 12px;border-radius:40px;color:var(--ink-soft);background:var(--paper)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:38px}.filter{font-family:var(--mono);font-size:.72rem;border:1px solid var(--line);background:var(--paper);padding:9px 16px;border-radius:40px;cursor:pointer;color:var(--ink-soft);transition:all .2s}.filter.active,.filter:hover{border-color:var(--ink)}.filter.active{background:var(--ink);color:var(--paper)}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden}@media(max-width:880px){.cat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.cat-grid{grid-template-columns:1fr}}.card{background:var(--paper);padding:28px 26px 30px;position:relative;transition:background .25s;min-height:215px;display:flex;flex-direction:column}.card:hover{background:#fff}.card .code{font-family:var(--mono);font-size:.66rem;color:var(--signal);margin-bottom:14px}.card h3{font-family:var(--display);font-weight:700;font-size:1.28rem;letter-spacing:-.02em;line-height:1.05}.card .desc{font-size:.92rem;color:var(--ink-soft);margin-top:10px;flex:1 1}.card .items{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.card .items span{font-family:var(--mono);font-size:.62rem;color:var(--ink-soft);border:1px solid var(--line-soft);padding:3px 8px;border-radius:3px}.card .corner{position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 22px 22px 0;border-color:transparent var(--accent) transparent transparent;opacity:0;transition:opacity .25s}.card:hover .corner{opacity:1}.card.hide{display:none}.search-row{gap:12px;flex-wrap:wrap;margin-bottom:22px}.search-box,.search-row{display:flex;align-items:center}.search-box{flex:1 1;min-width:240px;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:12px 16px;transition:border-color .2s}.search-box:focus-within{border-color:var(--ink)}.search-box input{flex:1 1;border:none;background:none;outline:none;font-family:var(--body);font-size:.98rem;color:var(--ink)}.search-box .ico{font-size:.8rem}.result-count,.search-box .ico{font-family:var(--mono);color:var(--ink-soft)}.result-count{font-size:.7rem;white-space:nowrap}.empty{padding:48px 24px;text-align:center;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:3px}.empty .mono{display:block;color:var(--signal);margin-bottom:8px}.pagination{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:38px;flex-wrap:wrap}.pagination a,.pagination button{font-family:var(--mono);font-size:.74rem;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);padding:9px 14px;border-radius:2px;cursor:pointer;transition:all .2s;min-width:40px;text-align:center}.pagination a:hover,.pagination button:hover{border-color:var(--ink);color:var(--ink)}.pagination .active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pagination .disabled{opacity:.4;pointer-events:none}.card-link{display:contents}.card.clickable{cursor:pointer}.card.clickable:hover{background:#fff}.crumb{font-family:var(--mono);font-size:.7rem;color:var(--ink-soft);margin-bottom:26px;display:flex;gap:8px;flex-wrap:wrap}.crumb a:hover{color:var(--accent-deep)}.crumb span{color:var(--line)}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:54px;gap:54px;align-items:start}@media(max-width:840px){.detail-grid{grid-template-columns:1fr;gap:36px}}.detail h1{font-family:var(--display);font-weight:800;font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.03em;line-height:1.02;margin:10px 0 18px}.detail .lead{font-size:1.12rem;color:var(--ink-soft);max-width:50ch}.detail .items{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.detail .items span{font-family:var(--mono);font-size:.7rem;color:var(--ink-soft);border:1px solid var(--line);padding:6px 12px;border-radius:3px;background:var(--paper)}.brands{background:var(--ink);border-radius:3px;padding:48px 40px}.brands,.brands .sec-head h2{color:var(--paper)}.brands .lead-b{color:hsla(48,38%,97%,.7);max-width:50ch;margin-top:-32px;margin-bottom:38px;font-size:1.05rem}.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid hsla(0,0%,100%,.14);border-left:1px solid hsla(0,0%,100%,.14)}@media(max-width:780px){.brand-grid{grid-template-columns:repeat(2,1fr)}}.brand-cell{padding:26px 18px;border-right:1px solid hsla(0,0%,100%,.14);border-bottom:1px solid hsla(0,0%,100%,.14);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:1.18rem;letter-spacing:-.01em;color:hsla(48,38%,97%,.55);transition:color .25s,background .25s;text-align:center}.brand-cell:hover{color:var(--paper);background:rgba(10,140,126,.22)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:start}@media(max-width:780px){.contact-grid{grid-template-columns:1fr;gap:32px}}.contact-grid h2{font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.03em;line-height:1.02;margin-bottom:18px}.contact-grid p{color:var(--ink-soft);font-size:1.05rem;max-width:42ch;margin-bottom:26px}.cline{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:flex-start}.cline .ck{font-family:var(--mono);font-size:.66rem;color:var(--accent-deep);min-width:90px;padding-top:3px}.cline .cv{font-weight:500;font-size:1.02rem}.cline .cv a:hover{color:var(--accent-deep)}.map-card{background:var(--paper);border:1px solid var(--line);border-radius:3px;overflow:hidden}.map-card .map-top{height:150px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-deep) 100%);position:relative;display:flex;align-items:center;justify-content:center}.map-card .map-top:after{content:"";position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.14) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.14) 1px,transparent 0);background-size:22px 22px}.map-card .pin{width:18px;height:18px;border-radius:50%;background:var(--paper);border:4px solid var(--signal);z-index:1;box-shadow:0 0 0 8px rgba(224,83,46,.25)}.map-card .map-body{padding:22px 24px}.map-card .map-body .mono{display:block;color:var(--accent-deep);margin-bottom:6px}.map-card .map-body .addr{font-weight:500}.map-card .map-link{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:.72rem;border:1px solid var(--line);padding:9px 14px;border-radius:2px;transition:all .2s}.map-card .map-link:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}footer{border-top:1px solid var(--line);padding:46px 0 40px}.foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.foot .brand{font-size:1.5rem}.foot .meta{font-family:var(--mono);font-size:.66rem;color:var(--ink-soft);text-align:right;line-height:1.9}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.in{opacity:1;transform:none}@keyframes rise{to{opacity:1;transform:none}}.eyebrow,.hero h1,.hero p.lead,.hero-actions,.hero-tag,.stats{transform:translateY(18px)}