.hero{position:relative;height:100vh;min-height:640px;background:var(--ink);color:var(--bone-dk)}#terrain{position:absolute;inset:0;width:100%;height:100%;display:block}.hzcurve{position:absolute;left:0;top:calc(66vh - 58px);width:100%;z-index:2;pointer-events:none;overflow:visible}.sky{position:absolute;top:7vh;left:2vw;width:520px;height:300px;z-index:2;pointer-events:none}.sat{position:absolute;animation:drift 44s linear infinite}.sat.s2{animation-duration:62s;animation-delay:-28s}.sat.s3{animation-duration:84s;animation-delay:-56s}@keyframes drift{0%{transform:translate(-100px,44px) rotate(6deg)}to{transform:translate(480px,-16px) rotate(6deg)}}.blink{animation:blink 2.6s ease-in-out infinite}@keyframes blink{0%,to{opacity:.15}50%{opacity:.9}}.hero-copy{position:absolute;z-index:3;top:15vh;left:0;right:0}.hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:60px;align-items:start}.eyebrow{color:var(--amber);margin-bottom:20px}h1{font-size:clamp(42px,5.6vw,76px);line-height:1.02;font-weight:500;letter-spacing:-.015em;max-width:13ch}.hero-sub{margin-top:24px;color:var(--mist);font-size:16px;line-height:1.65;max-width:44ch}.hero-fig{background:#f4f2ed12;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:18px;padding:10px;aspect-ratio:16/9;position:relative;overflow:hidden;margin-top:34px;box-shadow:0 30px 70px #0000008c,0 8px 22px #00000059}.hero-fig img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:cover;border-radius:11px}.hero-fig .cap{position:absolute;bottom:11px;left:14px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#d8d6ce;text-transform:uppercase;z-index:2;text-shadow:0 1px 6px rgba(0,0,0,.8)}.hero-foot{position:absolute;bottom:26px;left:40px;right:40px;display:flex;justify-content:space-between;z-index:3;color:var(--mist)}.hero-foot span{font-family:var(--mono);font-size:10px;letter-spacing:.12em}@media(prefers-reduced-motion:reduce){.sat{animation:none}.blink{animation:none;opacity:.7}}@media(max-height:840px){.hero-copy{top:12vh}h1{font-size:clamp(36px,4.6vw,58px)}.hero-sub{font-size:14px;margin-top:18px}.hero-fig{margin-top:26px}}@media(max-width:1020px){.hero-grid{grid-template-columns:1fr}.hero-fig{display:none}}@media(max-width:860px){.hero-foot{left:22px;right:22px}.sky{width:280px;height:190px}}@media(max-width:700px){.hero-foot{flex-direction:column;align-items:flex-start;gap:6px}.hero-foot span{font-size:9px;white-space:nowrap}.hero-foot span:last-child{display:none}}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--faint);border:1px solid var(--faint)}.svc-card{background:var(--bone);padding:0 0 26px;transition:background .3s;display:block}.svc-card:hover{background:#efede6}.svc-fig{background:var(--ink);aspect-ratio:16/10;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.svc-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .6s ease}.svc-card:hover .svc-fig img{transform:scale(1.045)}.svc-fig img.b{opacity:0}.svc-card:hover .svc-fig img.b{opacity:1}.svc-card .body{padding:22px 24px 0}.svc-card .idx{font-family:var(--mono);font-size:11px;color:var(--amber-lt)}.svc-card h3{font-size:20px;font-weight:500;margin:0 0 10px;letter-spacing:-.01em}.svc-card p{font-size:13px;line-height:1.65;color:var(--stone)}.ind-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;gap:1px;background:var(--faint);border:1px solid var(--faint);margin-bottom:1px}.ind{background:var(--ink);color:var(--bone-dk);padding:24px 18px 20px;cursor:pointer;transition:background .3s;position:relative;border:0;text-align:left;font:inherit;display:flex;flex-direction:column}.ind:hover{background:#0e1013}.ind.on{background:#101318}.ind.on:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--amber)}.ind svg{width:38px;height:38px;stroke:#e8e6e1;stroke-width:1.2;fill:none;margin-bottom:14px;display:block}.ind.on svg{stroke:var(--amber)}.ind span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);margin-top:auto;min-height:2.9em;display:flex;align-items:flex-end;line-height:1.45}.ind.on span{color:var(--bone-dk)}.logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1px;background:var(--faint);border:1px solid var(--faint)}.logo-cell{background:var(--bone);height:110px;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transform:translateY(-16px)}.logo-cell.drop{animation:fall .6s cubic-bezier(.2,.8,.25,1) forwards}@keyframes fall{to{opacity:1;transform:none}}.logo-cell img{max-width:75%;max-height:52px;filter:grayscale(1) contrast(1.05);opacity:.55;mix-blend-mode:multiply;transition:opacity .35s,filter .35s}.logo-cell:hover img{opacity:1;filter:grayscale(0)}.logo-cell .wm{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);text-align:center;transition:color .35s}.logo-cell:hover .wm{color:#14140f}.cl-note{margin-top:40px;color:var(--stone);font-size:14px;max-width:52ch;line-height:1.7}.practice-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}.practice-grid h3{font-size:clamp(30px,3.8vw,54px);font-weight:500;line-height:1.08;letter-spacing:-.02em}.practice-grid p{color:var(--stone);font-size:15px;line-height:1.75;margin-bottom:20px}.cred{margin-top:34px;padding-top:22px;border-top:1px solid #14140f}.cred .mono{color:var(--amber-lt);display:block;margin-bottom:10px}.cred p{font-size:13px;line-height:1.7;margin:0;color:var(--stone)}@media(prefers-reduced-motion:reduce){.logo-cell{opacity:1;transform:none}.logo-cell.drop{animation:none}}@media(max-width:1020px){.svc-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.svc-grid{grid-template-columns:1fr}.ind-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-grid{grid-template-columns:1fr;gap:40px}.logo-grid{grid-template-columns:repeat(2,1fr)}.logo-cell{height:92px;padding:18px}}@media(max-width:480px){.ind-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
