:root{--sage: #888888;--sage-light: #BBBBBB;--peach: #444444;--bg-page: #F5F5F7;--bg-surface: #ffffff;--bg-surface-alt: #F5F5F7;--text-1: #1D1D1F;--text-2: #424245;--text-3: #6E6E73;--text-4: #86868B;--text-5: #AEAEB2;--border: #E5E5E7;--border-focus: #86868B;--shadow-card: 0 1px 3px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.02);--shadow-hover: 0 4px 12px rgba(0,0,0,.08), 0 12px 32px rgba(0,0,0,.06);--shadow-xs: 0 1px 2px rgba(0,0,0,.03);--nav-bg: rgba(255, 255, 255, .88);--nav-hover: rgba(0, 0, 0, .07);--hover-subtle: rgba(0, 0, 0, .02);--hover-medium: rgba(0, 0, 0, .04);--hero-bg: url(/hero_image.webp) center/cover no-repeat;--hero-muted: rgba(0, 0, 0, .8);--hero-sage-glow: rgba(136, 136, 136, .3);--hero-terra-glow: rgba(68, 68, 68, .2);--hero-peach-glow: rgba(180, 180, 180, .1);--vignette-color: rgba(0, 0, 0, .55);--badge-bg: rgba(0, 0, 0, .06);--badge-border: rgba(0, 0, 0, .18);--badge-color: rgba(0, 0, 0, .75);--badge-icon-color: rgba(0, 0, 0, .7);--hero-em-shadow: rgba(68, 68, 68, .35);--btn-primary-shadow: rgba(68, 68, 68, .3);--btn-primary-hover-shadow: rgba(68, 68, 68, .48);--btn-secondary-bg: rgba(0, 0, 0, .05);--btn-secondary-color: rgba(0, 0, 0, .72);--btn-secondary-border: rgba(0, 0, 0, .14);--scroll-line-color: rgba(136, 136, 136, .7);--stepper-active-bg: #FFFFFF;--chat-user-bg: rgba(107, 155, 110, .18);--chat-bot-bg: rgba(200, 148, 58, .12);--chat-typing-dot: rgba(107, 155, 110, .5);--chat-status-dot: #5A9A5E;--code-bg: #F5F5F7;--code-bar-border: #E5E5E7;--code-file-color: #6E6E73;--code-dot-bg: rgba(107, 155, 110, .2);--code-dot-border: rgba(107, 155, 110, .35);--code-text: #1D1D1F;--code-ln: rgba(0, 0, 0, .3);--code-kw: #9b59b6;--code-fn: #e67e22;--code-pr: #2980b9;--code-st: #27ae60;--code-vl: #2980b9;--code-cm: rgba(0, 0, 0, .4);--booking-cta-bg: #1a1a1a;--booking-cta-color: #ffffff;--booking-cta-hover: #333333;--booking-cta-shadow: rgba(0, 0, 0, .15);--svg-wf-line: rgba(107, 155, 110, .4);--svg-wf-particle: #5A9A5E;--svg-wf-node-stroke: rgba(107, 155, 110, .65);--svg-wf-node-fill: rgba(107, 155, 110, .12);--svg-wf-icon: rgba(90, 154, 94, .85);--svg-wf-path: #C8943A;--svg-wf-dot: #C8943A;--svg-wf-dot-light: rgba(200, 148, 58, .45);--svg-wf-pill-bg: rgba(107, 155, 110, .18);--svg-wf-pill-border: rgba(107, 155, 110, .5);--svg-wf-text: #1d1d1f;--services-glow: rgba(136, 136, 136, .05);--process-gradient: radial-gradient(ellipse at 12% 88%, rgba(150, 170, 145, .11) 0%, transparent 55%);--services-gradient: radial-gradient(ellipse at 88% 8%, rgba(170, 160, 148, .1) 0%, transparent 55%);--faq-gradient: radial-gradient(ellipse at 82% 95%, rgba(180, 170, 155, .1) 0%, transparent 55%);--booking-gradient: radial-gradient(ellipse at 50% 100%, rgba(158, 168, 162, .13) 0%, transparent 58%)}html[data-theme=dark]{--bg-page: #0d1117;--bg-surface: rgba(255, 255, 255, .05);--bg-surface-alt: rgba(255, 255, 255, .07);--text-1: #ffffff;--text-2: rgba(255, 255, 255, .78);--text-3: rgba(255, 255, 255, .5);--text-4: rgba(255, 255, 255, .4);--text-5: rgba(255, 255, 255, .65);--border: rgba(255, 255, 255, .12);--border-focus: rgba(255, 255, 255, .35);--shadow-card: 0 1px 3px rgba(0,0,0,.2), 0 8px 24px rgba(0,0,0,.15);--shadow-hover: 0 4px 12px rgba(0,0,0,.4), 0 12px 32px rgba(0,0,0,.3);--shadow-xs: 0 1px 2px rgba(0,0,0,.15);--nav-bg: rgba(13, 17, 23, .88);--nav-hover: rgba(255, 255, 255, .08);--hover-subtle: rgba(255, 255, 255, .04);--hover-medium: rgba(255, 255, 255, .06);--hero-muted: rgba(255, 255, 255, .65);--badge-bg: rgba(255, 255, 255, .06);--badge-border: rgba(255, 255, 255, .18);--badge-color: rgba(255, 255, 255, .75);--badge-icon-color: rgba(255, 255, 255, .7);--btn-secondary-bg: rgba(255, 255, 255, .05);--btn-secondary-color: rgba(255, 255, 255, .72);--btn-secondary-border: rgba(255, 255, 255, .14);--stepper-active-bg: rgba(255, 255, 255, .08);--chat-user-bg: rgba(107, 155, 110, .22);--chat-bot-bg: rgba(200, 148, 58, .15);--chat-typing-dot: rgba(130, 195, 135, .5);--chat-status-dot: rgba(130, 195, 135, .75);--code-bg: rgba(0, 0, 0, .4);--code-bar-border: rgba(255, 255, 255, .06);--code-file-color: rgba(255, 255, 255, .65);--code-dot-bg: rgba(107, 155, 110, .2);--code-dot-border: rgba(107, 155, 110, .3);--code-text: rgba(255, 255, 255, .78);--code-ln: rgba(255, 255, 255, .4);--code-kw: rgba(187, 187, 187, .9);--code-fn: rgba(200, 200, 140, .85);--code-pr: rgba(180, 180, 220, .7);--code-st: rgba(160, 200, 160, .8);--code-vl: rgba(180, 180, 220, .7);--code-cm: rgba(255, 255, 255, .5);--booking-cta-bg: #ffffff;--booking-cta-color: #000000;--booking-cta-hover: #e6e6e6;--booking-cta-shadow: rgba(255, 255, 255, .15);--svg-wf-line: rgba(107, 155, 110, .22);--svg-wf-particle: rgba(130, 195, 135, .85);--svg-wf-node-stroke: rgba(107, 155, 110, .38);--svg-wf-node-fill: rgba(107, 155, 110, .1);--svg-wf-icon: rgba(130, 195, 135, .65);--svg-wf-path: rgba(210, 165, 85, .8);--svg-wf-dot: rgba(210, 165, 85, .6);--svg-wf-dot-light: rgba(210, 165, 85, .35);--svg-wf-pill-bg: rgba(107, 155, 110, .12);--svg-wf-pill-border: rgba(107, 155, 110, .28);--svg-wf-text: rgba(255, 255, 255, .7);--services-glow: rgba(255, 255, 255, .03)}@media(max-width:800px){:root{--hero-bg: url(/hero_image-mobile.webp) center/cover no-repeat}.site-footer{background-image:none;background-color:#111}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Sora,sans-serif;background:var(--bg-page, #F5F5F7);color:var(--text-1, #1D1D1F);overflow-x:hidden;transition:background-color .3s ease,color .3s ease}.skip-link{position:absolute;top:-100%;left:16px;z-index:9999;background:#000;color:#fff;padding:10px 20px;border-radius:0 0 8px 8px;font-size:.85rem;font-weight:600;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid #444444;outline-offset:3px}html[data-theme=dark] :focus-visible{outline-color:#ffffffd9}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.section-inner{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}.section-title{font-family:Fraunces,serif;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:900;line-height:1.08;letter-spacing:-.02em;color:var(--text-1);margin-bottom:64px}.reveal,.reveal-group{opacity:0;transform:translateY(28px);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);will-change:opacity,transform;contain:layout style}.reveal.in-view,.reveal-group.in-view{opacity:1;transform:translateY(0);will-change:auto}.stepper-nav .reveal:nth-child(3){transition-delay:.2s}.stepper-nav .reveal:nth-child(5){transition-delay:.4s}.stepper-viewport.reveal{transition-delay:.5s}.services-bento>.reveal:nth-child(2){transition-delay:.2s}.services-bento>.reveal:nth-child(3){transition-delay:.4s}.services-bento>.reveal:nth-child(4){transition-delay:.6s}.faq-grid>.reveal:nth-child(2){transition-delay:.08s}.faq-grid>.reveal:nth-child(3){transition-delay:.16s}.faq-grid>.reveal:nth-child(4){transition-delay:.24s}.faq-grid>.reveal:nth-child(5){transition-delay:.32s}.faq-grid>.reveal:nth-child(6){transition-delay:.4s}.faq-grid>.reveal:nth-child(7){transition-delay:.48s}.faq-grid>.reveal:nth-child(8){transition-delay:.56s}.faq-grid>.reveal:nth-child(9){transition-delay:.64s}.faq-grid>.reveal:nth-child(10){transition-delay:.72s}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-18px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes slideDownMobile{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes floatParticle{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(8deg)}66%{transform:translateY(6px) rotate(-5deg)}}@keyframes spin{to{transform:translate(-50%,-52%) rotate(360deg)}}@keyframes orbitFadeIn{0%{opacity:0}to{opacity:1}}@keyframes scrollPulse{0%,to{opacity:.5;transform:scaleY(1);transform-origin:top}50%{opacity:1;transform:scaleY(1.15);transform-origin:top}}@keyframes marquee{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes typingDot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:.8;transform:translateY(-3px)}}
