:root{--bg:#0b1620;--fg:#eef4f7;--card:#13222d;--muted:#a3b4bf;--cu:#e0a35a;--cu2:#f2d3a4;--tide:#6fd3e0;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}
h1,h2,h3,.mega2,.logo,.quote,.h{font-family:"Big Shoulders Display","Arial Narrow",sans-serif;text-transform:uppercase;font-weight:900;margin:0 0 12px}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}.narrow{max-width:900px}
.copper{background:linear-gradient(100deg,var(--cu),var(--cu2),var(--cu));-webkit-background-clip:text;background-clip:text;color:transparent}.cu{color:var(--cu)}
.muted{color:var(--muted)}.small{font-size:.8rem}.kicker{font-size:.72rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;color:var(--tide);margin:0 0 12px}
.ul{color:var(--fg);text-decoration:underline;text-decoration-color:var(--cu)}
.btn{display:inline-block;border:0;cursor:pointer;background:var(--cu);color:var(--bg);font-weight:700;border-radius:999px;padding:14px 26px;font-size:.9rem;transition:transform .2s;font-family:inherit}.btn:hover{transform:scale(1.05)}.btn.sm{padding:8px 16px}.btn.ghost{background:transparent;color:var(--fg);border:1px solid rgba(255,255,255,.3)}
.hdr{position:fixed;inset:0 0 auto;z-index:50}.topbar{background:rgba(11,22,32,.85);border-bottom:1px solid var(--line);font-size:.75rem;padding:6px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hdr-in{max-width:1280px;margin:8px auto 0;display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(11,22,32,.6);backdrop-filter:blur(18px)}
.logo{display:flex;align-items:center;gap:8px;font-size:1.2rem;line-height:1}.logo b{color:var(--cu)}.chip-logo{background:var(--fg);border-radius:12px;padding:4px}.chip-logo img{height:36px;width:auto}
.nav{display:flex;gap:20px;font-weight:600;font-size:.88rem}.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:7px 12px;cursor:pointer}
.mnav{display:none;margin:8px 12px 0;padding:12px;border-radius:24px;background:rgba(11,22,32,.96);border:1px solid var(--line)}.mnav a{display:block;padding:10px;font-weight:600;font-size:1.1rem}.mnav.on{display:block}
@media(max-width:1000px){.nav{display:none}.menu-btn{display:inline-block}.hide-sm{display:none}}
.shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,22,32,.8),rgba(11,22,32,.4),var(--bg))}
.hero-scroll{height:260vh}.hero{position:sticky;top:0;height:100vh;padding:150px 0 64px;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;filter:blur(36px);transform:scale(1.1)}
.hero-grid{position:relative;display:grid;gap:40px;align-items:center}@media(min-width:1000px){.hero-grid{grid-template-columns:minmax(0,1fr) auto 360px}}
.hero-card{width:300px;max-width:100%;aspect-ratio:9/16;margin:auto}.hero-card video{width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.hero-grid{height:100%;overflow-y:auto}.hero-card video{max-height:72vh}@media(max-width:999px){.hero-card{grid-row:1}.hero-grid{gap:24px}.hero{padding-top:130px}.hero-bg{filter:blur(36px)}}
.mega2{font-size:clamp(2.8rem,6vw,5.2rem);line-height:.9}.mega2 small{display:block;font-size:.5em;color:var(--fg)}
.sec{padding:96px 0;position:relative}.sec.top{padding-top:180px}
.grid2,.grid2e,.grid3,.grid4,.side{display:grid;gap:32px}@media(min-width:800px){.grid2{grid-template-columns:1fr 1.3fr;align-items:center}.grid2e{grid-template-columns:1fr 1.4fr}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}.side{grid-template-columns:1.4fr 1fr}.gallery .off{margin-top:64px}}
.side aside{display:grid;gap:24px;align-content:start}
.stat{border-left:1px solid var(--cu);padding-left:20px}.stat b{display:block;font-family:"Big Shoulders Display";font-size:3.8rem}.stat span{color:var(--muted);font-size:.85rem}
.h2{font-size:clamp(2.6rem,5.5vw,5rem);line-height:.92;margin-bottom:20px}.h2.big{font-size:clamp(3.5rem,8vw,7.5rem)}.h3{font-size:2rem;margin-top:32px}
.lens-list{list-style:none;padding:0;margin:48px 0 0;border-top:1px solid var(--line)}.lens-list li{border-bottom:1px solid var(--line)}
.lens-list a{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:32px 0}
.lens-list h3{font-size:clamp(2.8rem,6vw,5rem);line-height:1;margin:0;transition:all .5s;color:rgba(238,244,247,.8)}.lens-list p{margin:0;color:var(--muted);font-size:.9rem}
.lens-section-active .lens-list h3{color:rgba(238,244,247,.25)}.lens-list li.on h3{color:var(--fg);transform:translateX(16px)}.lens-list li.on p{color:var(--cu)}
.lens{position:fixed;left:0;top:0;z-index:40;pointer-events:none;will-change:transform}
.lens-ring{width:300px;height:300px;border-radius:50%;overflow:hidden;border:3px solid var(--fg);box-shadow:0 0 60px -10px var(--tide);position:relative;opacity:0;scale:.4;transition:opacity .5s,scale .5s}
.lens.on .lens-ring{opacity:1;scale:1}@media(max-width:800px){.lens-ring{width:210px;height:210px}}
.lens-track{position:absolute;inset:0;transition:transform .7s cubic-bezier(.7,0,.2,1)}.lens-item{height:100%}.lens-item img,.lens-item video{width:100%;height:100%;object-fit:cover;transform:scale(1.25)}
figure{margin:0;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--card)}figure img,figure video{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery figure img{aspect-ratio:3/4}figcaption{padding:18px;font-weight:600;font-size:.9rem}
.rounded{border-radius:32px;overflow:hidden;width:100%}.tilt{transition:transform .3s ease-out}
.quote{font-size:clamp(2.2rem,5vw,4rem);line-height:1.05}.link{color:var(--cu);font-weight:700}.phone{display:inline-block;margin-top:16px;color:var(--cu);font-size:1.5rem;font-weight:700}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-weight:600}
.pills{display:flex;flex-wrap:wrap;gap:8px}.pills a{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.85rem}.pills a:hover{border-color:var(--cu)}
.form{display:grid;gap:14px;padding:32px;border:1px solid var(--line);border-radius:28px;background:rgba(19,34,45,.88);backdrop-filter:blur(18px)}@media(min-width:800px){.form:not(.compact){grid-template-columns:1fr 1fr}}.form .full{grid-column:1/-1}.form.compact{padding:22px}.form .h{font-size:1.9rem}
.form label{display:block;font-weight:600;font-size:.88rem}.form input,.form textarea,.form select{display:block;width:100%;margin-top:6px;padding:13px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(11,22,32,.6);color:var(--fg);font:inherit}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--cu);border-color:var(--cu)}
.row{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.hp{position:absolute;left:-9999px}.err{color:#ff8a7a;grid-column:1/-1}.done{text-align:center}.done .h{font-size:3rem}
.phero{position:relative;min-height:70vh;display:flex;align-items:flex-end;padding:180px 0 64px;overflow:hidden}.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4;transform:scale(1.1)}.phero .wrap{position:relative;width:100%}.lead{max-width:680px;font-size:1.1rem;line-height:1.6}.phero .shade{background:linear-gradient(to top,var(--bg),rgba(11,22,32,.7),rgba(11,22,32,.3))}
details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:700;font-size:1.1rem}.qa{border-bottom:1px solid var(--line);padding:12px 0}
.card{display:block;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--card);transition:border-color .3s}.card:hover{border-color:var(--cu)}
.post{padding:0;overflow:hidden;display:grid;gap:8px}.post img{aspect-ratio:16/9;object-fit:cover;width:100%}.post b,.post span{padding:0 20px}.post>:last-child{padding-bottom:20px}.post b{font-size:1.1rem}
.cta{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;border:1px solid rgba(224,163,90,.35);border-radius:32px;background:var(--card);padding:40px}.cta .h{font-size:clamp(2rem,4vw,3rem);margin:0}
.folders{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:32px}.folder{display:grid;gap:4px;text-align:left;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;font:inherit;font-size:1.4rem}.folder b{font-size:.95rem}.folder.on{border-color:var(--cu)}
.folders{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.folder{position:relative;aspect-ratio:4/3;background:none;border:0;padding:0;perspective:1200px;isolation:isolate}.folder-back{position:absolute;inset:24px 0 0;border-radius:20px;background:linear-gradient(120deg,var(--cu),var(--tide),var(--card));background-size:250% 250%;animation:folder-shift 8s ease infinite}.folder-back:before{content:"";position:absolute;left:0;top:-18px;width:40%;height:30px;border-radius:12px 12px 0 0;background:var(--cu)}.folder-previews{position:absolute;inset:30px 20px}.folder-preview{position:absolute;left:20%;width:60%;height:85%;border-radius:8px;overflow:hidden;transform:translateY(25%) scale(.85);transition:transform .7s}.folder-preview img,.folder-preview video{width:100%;height:100%;object-fit:cover}.folder.is-open .preview-0,.folder.on .preview-0{transform:translate(-30%,-5%) rotate(-12deg)}.folder.is-open .preview-1,.folder.on .preview-1{transform:translateY(-12%)}.folder.is-open .preview-2,.folder.on .preview-2{transform:translate(30%,-5%) rotate(12deg)}.folder-flap{position:absolute;inset:auto 0 0;height:62%;padding:24px;border-radius:20px;background:var(--card);border:1px solid var(--line);display:grid;align-content:center;gap:10px;transform-origin:bottom;transition:transform .7s}.folder-flap b{font-family:"Big Shoulders Display";font-size:2rem;text-transform:uppercase}.folder.on .folder-flap{border-color:var(--cu)}.folder.is-open .folder-flap,.folder.on .folder-flap{transform:rotateX(-28deg)}@keyframes folder-shift{50%{background-position:100% 50%}}@media(max-width:800px){.folders{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.folders{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.folder-back{animation:none}.folder-flap,.folder-preview{transition:none}}
.area-map{height:460px;border-radius:32px;overflow:hidden;border:1px solid var(--line);z-index:0}.side .area-map{height:320px}.area-map .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.9)}
.content h2{font-family:"Big Shoulders Display";font-size:2rem;margin-top:32px}.content p{color:var(--muted);font-size:1.1rem;line-height:1.7}.content a{color:var(--cu)}
.contact-cards{margin:32px 0}.contact-cards b{display:block;font-size:1.1rem}
.ftr{border-top:1px solid var(--line);padding:64px 0 32px}.ftr p{line-height:1.9}.copy{text-align:center;color:var(--muted);font-size:.75rem;margin-top:48px}
.reveal{opacity:0;transform:translateY(40px) rotateX(12deg);transform-origin:50% 100%;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
