:root{--bg: #f7f3ec;--surface: #fffdf8;--surface2: #f1ebe0;--text: #2a2521;--muted: #6b6155;--accent: #7c6136;--accent-soft: #a8865f;--on-accent: #ffffff;--border: #e7ded0;--shadow: rgba(60, 45, 25, .1);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg: #17140f;--surface: #201c16;--surface2: #262017;--text: #efe9de;--muted: #aba190;--accent: #c6a169;--accent-soft: #d8be93;--on-accent: #1a1611;--border: #332d23;--shadow: rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--bg);font-family:Manrope,sans-serif}#root{font-family:Manrope,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;transition:background .4s ease,color .4s ease}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}[data-theme=dark] body:after{opacity:.06}::selection{background:var(--accent-soft);color:#fff}input,select,button,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input::placeholder{color:var(--muted);opacity:1}@keyframes fsv-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}@keyframes fsv-rise{0%{opacity:0;transform:translateY(22px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes fsv-ring{0%{transform:scale(.6);opacity:.5}to{transform:scale(1.6);opacity:0}}.fsv-dot-live:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--dot);animation:fsv-dot-pulse 2s ease-out infinite}@keyframes fsv-dot-pulse{0%{transform:scale(1);opacity:.55}to{transform:scale(2.6);opacity:0}}@keyframes fsv-fadein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fsv-spin{to{transform:rotate(360deg)}}html{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}.js [data-reveal].is-visible{opacity:1;transform:none}.js [data-stagger]>*{opacity:0;transform:translateY(16px)}.js [data-reveal].is-visible [data-stagger]>*{animation:fsv-rise .6s var(--ease-out) both}[data-stagger]>*:nth-child(1){animation-delay:.04s}[data-stagger]>*:nth-child(2){animation-delay:.1s}[data-stagger]>*:nth-child(3){animation-delay:.16s}[data-stagger]>*:nth-child(4){animation-delay:.22s}[data-stagger]>*:nth-child(5){animation-delay:.28s}[data-stagger]>*:nth-child(6){animation-delay:.34s}[data-stagger]>*:nth-child(7){animation-delay:.4s}[data-stagger]>*:nth-child(8){animation-delay:.46s}[data-stagger]>*:nth-child(9){animation-delay:.52s}.fsv-press{transition:transform .16s var(--ease-out)}.fsv-press:active{transform:scale(.96)}.fsv-tap:not(:disabled):active{transform:scale(.94)}.fsv-navlink{position:relative;transition:color .2s ease}.fsv-navlink:hover{color:var(--accent)}.fsv-navlink:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease-out)}.fsv-navlink:hover:after{transform:scaleX(1)}.fsv-icon-btn{transition:border-color .2s,color .2s,transform .16s var(--ease-out)}.fsv-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.fsv-icon-btn:active{transform:scale(.92)}.fsv-btn-accent,.fsv-btn-hero{position:relative;overflow:hidden;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out)}.fsv-btn-accent:before,.fsv-btn-hero:before{content:"";position:absolute;top:0;left:-120%;width:75%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-18deg);transition:left .6s var(--ease-out);pointer-events:none}.fsv-btn-accent:hover:before,.fsv-btn-hero:hover:before{left:130%}.fsv-btn-accent:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px var(--accent)}.fsv-btn-hero:hover{transform:translateY(-3px);box-shadow:0 20px 40px -14px var(--accent)}.fsv-btn-accent:active,.fsv-btn-hero:active{transform:scale(.97);transition-duration:.12s}.fsv-btn-ghost{transition:border-color .2s,color .2s,transform .16s var(--ease-out)}.fsv-btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.fsv-btn-ghost:active{transform:scale(.97)}.fsv-service-card{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s var(--ease-out)}.fsv-service-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -24px var(--shadow);border-color:var(--accent-soft)}.fsv-service-card .fsv-service-icon{transition:background .4s var(--ease-out),color .4s var(--ease-out),transform .4s var(--ease-out)}.fsv-service-card:hover .fsv-service-icon{background:var(--accent);color:var(--on-accent);transform:rotate(-6deg) scale(1.06)}.fsv-gallery-item{transition:box-shadow .4s var(--ease-out)}.fsv-gallery-item img{filter:grayscale(.55) contrast(1.02) brightness(.98)}.fsv-gallery-item:hover{box-shadow:0 24px 44px -26px var(--shadow)}.fsv-gallery-item:active{transform:scale(.99)}@media (hover: hover) and (pointer: fine){.fsv-gallery-item:hover img{filter:grayscale(0) contrast(1.05);transform:scale(1.05)}}.fsv-gallery-overlay{transition:opacity .4s var(--ease-out)}.fsv-gallery-item:hover .fsv-gallery-overlay{opacity:1}.fsv-team-card{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.fsv-team-card img{filter:grayscale(.4);transition:filter .5s var(--ease-out),transform .6s var(--ease-out)}.fsv-team-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px var(--shadow)}@media (hover: hover) and (pointer: fine){.fsv-team-card:hover img{filter:grayscale(0);transform:scale(1.04)}}.fsv-field{transition:border-color .2s,box-shadow .2s}.fsv-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.fsv-lb-ctrl{transition:background .2s ease,border-color .2s ease}@media (hover: hover) and (pointer: fine){.fsv-lb-ctrl:hover{background:#0000008c;border-color:#fff9}}.fsv-social{transition:border-color .2s,color .2s,transform .18s var(--ease-out)}.fsv-social:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}.fsv-social:active{transform:scale(.92)}.fsv-pill{transition:border-color .2s,color .2s,transform .16s var(--ease-out)}.fsv-pill:hover{border-color:var(--accent)}.fsv-pill:active{transform:scale(.96)}.fsv-hero-stagger>*{opacity:0;animation:fsv-rise .7s var(--ease-out) both}.fsv-hero-stagger>*:nth-child(1){animation-delay:.05s}.fsv-hero-stagger>*:nth-child(2){animation-delay:.15s}.fsv-hero-stagger>*:nth-child(3){animation-delay:.27s}.fsv-hero-stagger>*:nth-child(4){animation-delay:.39s}@keyframes fsv-aurora{0%,to{transform:translate(-4%,-2%) scale(1);opacity:.55}50%{transform:translate(4%,3%) scale(1.12);opacity:.8}}.fsv-aurora{animation:fsv-aurora 14s var(--ease-in-out) infinite}@keyframes fsv-nudge{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(4px);opacity:1}}.fsv-scroll-cue{animation:fsv-nudge 2.2s var(--ease-in-out) infinite}@media (max-height: 700px){.fsv-hero-cue{display:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
