:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-deep:#071015;--bg-mid:#0b151c;--bg-warm:#110b09;--teal:#2ae2d5;--leaf:#88d85e;--amber:#f1a33d;--ember:#dc5426;--text-high:oklch(95% .018 85);--text-mid:oklch(78% .028 84);--panel:#081116ad;--panel-strong:#0d191fd1;--line:#f4e8d524;--line-strong:#f4e8d53d;--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--hero-drift:0px;--hero-opacity:1;--pointer-x:0;--pointer-y:0}*{box-sizing:border-box}html,body{height:100%;min-height:100%;margin:0}html{scroll-behavior:smooth;background:radial-gradient(circle at 50% 42%,#121c2280,#0000 22%),radial-gradient(circle at 52% 48%,#0a12185c,#0000 38%),linear-gradient(#03080c 0%,#071015 48%,#050c10 100%)}body{color:var(--text-high);letter-spacing:0;background:radial-gradient(circle,#0000 0%,#0000001f 58%,#00000075 100%);min-height:100vh;font-family:Albert Sans,Aptos,sans-serif;position:relative;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:0}body:before{opacity:.04;background:radial-gradient(circle,#ffffff01,#0000 20%),radial-gradient(circle at 50% 52%,#0710151a,#0000 36%);transform:translateZ(0)}body:after{opacity:.015;background:radial-gradient(circle,#ffffff04,#0000 56%)}button,input,textarea{font:inherit}button{cursor:pointer}#scene{backface-visibility:hidden;contain:strict;opacity:1;will-change:transform;z-index:0;width:100%;height:100%;transition:opacity .42s cubic-bezier(.22,1,.36,1);display:block;position:fixed;inset:0;transform:translate(0,0)}html.is-booting #scene{opacity:0}.site-shell{isolation:isolate;z-index:1;position:relative}.hero{z-index:1;justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex;position:relative;overflow:clip}.boot-layer{pointer-events:none;visibility:visible;z-index:2;justify-content:center;align-items:center;transition:opacity .42s cubic-bezier(.22,1,.36,1),visibility .42s step-end;display:flex;position:fixed;inset:0}html:not(.is-booting) .boot-layer{opacity:0;visibility:hidden}.boot-indicator{background:#ffffff0a;border-radius:999px;width:clamp(4rem,10vw,6.5rem);height:2px;margin-top:6.75rem;position:relative;overflow:hidden}.boot-indicator span{background:linear-gradient(90deg,#0000 0%,#2ae2d5bf 42%,#fff3e3e6 58%,#0000 100%);animation:1.15s linear infinite boot-scan;position:absolute;inset:0;transform:translate(-100%)}.hero:before,.hero:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.hero:before{aspect-ratio:1;filter:blur(6px);opacity:.08;background:radial-gradient(circle,#0000 0%,#00000005 36%,#0000 54%);width:min(28vmin,14rem)}.hero:after{aspect-ratio:1;filter:blur(4px);opacity:.012;background:radial-gradient(circle,#ffffff02 0%,#fff0 42%);width:min(12vmin,5rem)}.hero-logo{backface-visibility:hidden;contain:layout paint style;filter:drop-shadow(0 0 16px #2ae2d524)drop-shadow(0 0 34px #dc54261a);opacity:var(--hero-opacity);transform:translate3d(calc(var(--pointer-x) * -12px), calc((var(--pointer-y) * -10px) + var(--hero-drift)), 0) scale(1.01);-webkit-user-select:none;user-select:none;will-change:opacity, transform;z-index:1;width:clamp(5.7rem,9vw,8.15rem);transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .42s cubic-bezier(.22,1,.36,1);position:relative}html.has-hidden-scroll-cue .hero-logo{opacity:0;pointer-events:none;transform:translate3d(calc(var(--pointer-x) * -12px), calc((var(--pointer-y) * -10px) + var(--hero-drift) - .45rem), 0) scale(.985)}.scroll-cue{animation:cue-interrupted-bounce 2.9s var(--ease-out-quint) 1.1s infinite;backface-visibility:hidden;color:var(--text-high);contain:layout paint style;opacity:.72;height:2.35rem;transition:border-color .22s var(--ease-out-quint), opacity .22s var(--ease-out-quint), transform .22s var(--ease-out-quint);will-change:opacity, transform;border:1px solid #f4e8d52e;border-radius:999px;justify-content:center;align-items:center;width:2.35rem;text-decoration:none;display:flex;position:absolute;bottom:clamp(1.25rem,4vh,2.5rem);left:50%;transform:translate(-50%)}.scroll-cue:hover,.scroll-cue:focus-visible{opacity:1;border-color:#2ae2d575;outline:none;animation:none;transform:translate(-50%)translateY(-3px)}.scroll-cue span{border-bottom:1.5px solid;border-right:1.5px solid;width:.46rem;height:.46rem;transform:rotate(45deg)translate(-1px,-1px)}html.has-hidden-scroll-cue .scroll-cue,html.has-hidden-scroll-cue .scroll-cue:hover,html.has-hidden-scroll-cue .scroll-cue:focus-visible{opacity:0;pointer-events:none;animation:none;transform:translate(-50%)translateY(.45rem)}.landing-section{width:min(100% - clamp(2rem,8vw,7rem),72rem);min-height:100svh;margin-inline:auto;padding-block:clamp(5rem,11vw,10rem);position:relative}.landing-section:before{content:"";opacity:.62;background:linear-gradient(90deg,#0000,#f4e8d514,#0000),repeating-linear-gradient(90deg,#f4e8d50a 0 1px,#0000 1px 9rem);height:1px;position:absolute;inset:0 0 auto}.services-section,.contact-section{grid-template-columns:minmax(0,.86fr) minmax(0,1.24fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.section-copy,.contact-copy{align-self:start;max-width:34rem;position:sticky;top:clamp(5rem,15vh,8rem)}.eyebrow{color:var(--teal);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.78rem;font-weight:700;line-height:1}.section-copy h1,.contact-copy h2{letter-spacing:0;text-wrap:balance;max-width:9.5ch;margin:0;font-family:Bricolage Grotesque,Albert Sans,sans-serif;font-size:clamp(2.4rem,7vw,6.75rem);font-weight:600;line-height:.9}.contact-copy h2{max-width:10.5ch;font-size:clamp(2.25rem,5.5vw,5.2rem)}.service-grid{perspective:1200px;transform-style:preserve-3d;gap:.8rem;display:grid}.service-card{--card-accent:var(--teal);--card-glow:#2ae2d51f;background:linear-gradient(135deg, var(--card-glow), transparent 42%), linear-gradient(180deg, var(--panel-strong), var(--panel));border:1px solid var(--line);color:var(--text-high);min-height:clamp(11.5rem,19vw,15rem);transform:rotateX(calc(var(--tilt-y,0) * 1deg)) rotateY(calc(var(--tilt-x,0) * 1deg)) translate3d(0, var(--card-lift,0), 0);transition:background .26s var(--ease-out-quint), border-color .26s var(--ease-out-quint), opacity .6s var(--ease-out-quint), transform .26s var(--ease-out-quint);border-radius:8px;outline:none;gap:.8rem;padding:clamp(1.15rem,2.2vw,1.6rem);display:grid;position:relative;overflow:clip}.service-card:nth-child(2){--card-accent:var(--amber);--card-glow:#f1a33d21}.service-card:nth-child(3){--card-accent:var(--ember);--card-glow:#dc542624}.service-card:before,.service-card:after{content:"";pointer-events:none;position:absolute}.service-card:before{opacity:0;transition:opacity .26s var(--ease-out-quint), transform .42s var(--ease-out-quint);background:linear-gradient(120deg,#0000 0%,#ffffff0d 44%,#0000 58%),repeating-linear-gradient(0deg,#0000 0 13px,#ffffff08 13px 14px);inset:0;transform:translate(-18%)}.service-card:after{background:linear-gradient(90deg, transparent, var(--card-accent), transparent);opacity:.54;height:1px;inset:.05rem .85rem auto}.service-card:hover,.service-card:focus-visible,.service-card.is-active{--card-lift:-.35rem;border-color:color-mix(in srgb, var(--card-accent) 46%, var(--line-strong));background:linear-gradient(135deg, var(--card-glow), transparent 54%), linear-gradient(180deg, #101f25e0, #091217bd)}.service-card:hover:before,.service-card:focus-visible:before,.service-card.is-active:before{opacity:1;transform:translate(0)}.service-index{color:var(--card-accent);letter-spacing:.16em;font-size:.8rem;font-weight:700;line-height:1}.service-card h2{letter-spacing:0;margin:auto 0 0;font-family:Bricolage Grotesque,Albert Sans,sans-serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:600;line-height:.92}.service-card p{color:var(--text-mid);max-width:30rem;margin:0;font-size:clamp(.98rem,1.5vw,1.1rem);line-height:1.55}.contact-section{align-items:center;min-height:92svh;padding-bottom:clamp(6rem,12vw,11rem)}.contact-form{gap:1.05rem;display:grid;position:relative}.contact-form label{gap:.45rem;display:grid}.contact-form label span{color:var(--text-mid);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:700}.contact-form input,.contact-form textarea{color:var(--text-high);resize:vertical;min-height:3.25rem;transition:background .18s var(--ease-out-quint), border-color .18s var(--ease-out-quint), transform .18s var(--ease-out-quint);background:linear-gradient(#091217c7,#040a0eb3);border:1px solid #f4e8d529;border-radius:8px;outline:none;width:100%;padding:.9rem 1rem;display:block}.contact-form textarea{min-height:9.5rem}.contact-form input:focus,.contact-form textarea:focus{background:linear-gradient(#0b171ddb,#040b0fc7);border-color:#2ae2d58f;transform:translateY(-1px)}.contact-form button{background:var(--text-high);color:#071015;min-height:3.25rem;transition:background .18s var(--ease-out-quint), transform .18s var(--ease-out-quint);border:0;border-radius:8px;justify-content:center;align-items:center;gap:.7rem;padding:.9rem 1.1rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.contact-form button:hover,.contact-form button:focus-visible{background:color-mix(in srgb, var(--teal) 22%, var(--text-high));outline:none;transform:translateY(-2px)}.contact-form button:active{transform:translateY(0)scale(.985)}.contact-form svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;height:1.15rem;transition:transform .18s var(--ease-out-quint);width:1.15rem}.contact-form button:hover svg,.contact-form button:focus-visible svg{transform:translate(3px)}.form-status{color:var(--text-mid);min-height:1.4em;margin:0;font-size:.94rem;line-height:1.4}.registration-footer{color:#f4e8d56b;letter-spacing:.12em;text-align:center;text-transform:uppercase;z-index:1;width:min(100% - clamp(2rem,8vw,7rem),72rem);margin:0 auto;padding:0 1rem clamp(1.25rem,3vw,2rem);font-size:.7rem;font-weight:600;position:relative}.reveal{opacity:0;transition:opacity .7s var(--ease-out-quint), transform .7s var(--ease-out-quint);transform:translateY(1.75rem)}.reveal.is-visible{opacity:1;transform:translate(0,0)}.service-card.reveal:nth-child(2){transition-delay:90ms}.service-card.reveal:nth-child(3){transition-delay:.18s}html.is-booting .hero-logo{opacity:.82;transform:translateY(14px)scale(.985)}html:not(.is-booting) .hero-logo{animation:none}.reduced-motion #scene{opacity:0}.reduced-motion .boot-indicator span{opacity:.35;animation:none;transform:translate(0)}.reduced-motion .hero-logo{transition:none;transform:none}.reduced-motion .reveal{opacity:1;transform:none}.reduced-motion .scroll-cue{animation:none}@keyframes boot-scan{0%{transform:translate(-100%)}to{transform:translate(140%)}}@keyframes cue-interrupted-bounce{0%,8%,17%,to{transform:translate(-50%)translateY(0)}4%{transform:translate(-50%)translateY(5px)}12%{transform:translate(-50%)translateY(2px)}}@media (width>=721px) and (width<=1100px){.hero-logo{width:clamp(8.75rem,17vw,12rem)}}@media (width<=720px){body:after{opacity:.05}.hero:before{width:min(34vmin,10rem)}.hero:after{opacity:.03;width:min(24vmin,6rem)}.hero-logo{width:clamp(7.25rem,34vw,9.5rem)}.boot-indicator{margin-top:5.5rem}.scroll-cue{width:2.15rem;height:2.15rem;bottom:1.1rem}.landing-section{width:min(100% - 2rem,38rem);min-height:auto;padding-block:clamp(4.5rem,18vw,6rem)}.services-section,.contact-section{grid-template-columns:1fr;gap:2rem;display:grid}.section-copy,.contact-copy{max-width:none;position:relative;top:auto}.section-copy h1,.contact-copy h2{max-width:11ch}.service-card{min-height:10.5rem}.contact-section{min-height:auto;padding-bottom:5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
