:root{--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Noto Sans Sinhala", sans-serif;--font-serif: "Instrument Serif", ui-serif, Georgia, serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-si: "Noto Sans Sinhala", "Geist", sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--radius-xs: 6px;--radius-sm: 10px;--radius: 14px;--radius-lg: 22px;--radius-xl: 32px;--radius-full: 999px;--container: 1200px;--container-narrow: 920px;--gutter: clamp(16px, 4vw, 40px);--nav-h: 72px;--bg: #f6f5f2;--bg-elev: #fbfaf8;--surface: #ffffff;--surface-2: #f0efeb;--surface-3: #e7e6e1;--border: rgba(18, 18, 22, .08);--border-strong: rgba(18, 18, 22, .16);--text: #121214;--text-2: #4b4b54;--text-3: #85858f;--accent: #5546ff;--accent-hover: #4434f0;--accent-2: #ff6a3d;--accent-soft: rgba(85, 70, 255, .09);--accent-ring: rgba(85, 70, 255, .28);--on-accent: #ffffff;--success: #138a4b;--success-soft: rgba(19, 138, 75, .1);--warning: #c26a00;--warning-soft: rgba(194, 106, 0, .1);--danger: #d93b40;--danger-soft: rgba(217, 59, 64, .1);--info: #0b7bc4;--info-soft: rgba(11, 123, 196, .1);--whatsapp: #1fa855;--shadow-xs: 0 1px 2px rgba(18, 18, 22, .05);--shadow-sm: 0 1px 2px rgba(18, 18, 22, .04), 0 2px 8px rgba(18, 18, 22, .04);--shadow: 0 2px 4px rgba(18, 18, 22, .03), 0 12px 32px -8px rgba(18, 18, 22, .1);--shadow-lg: 0 4px 8px rgba(18, 18, 22, .03), 0 32px 64px -16px rgba(18, 18, 22, .18);--glass: rgba(251, 250, 248, .72);--grain-opacity: .045;--aurora-opacity: .55;color-scheme:light}:root[data-theme=dark]{--bg: #09090b;--bg-elev: #0d0d10;--surface: #111114;--surface-2: #17171b;--surface-3: #1f1f24;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--text: #ececef;--text-2: #a6a6b0;--text-3: #6f6f7a;--accent: #8f82ff;--accent-hover: #a297ff;--accent-2: #ff8a5c;--accent-soft: rgba(143, 130, 255, .12);--accent-ring: rgba(143, 130, 255, .35);--on-accent: #0b0b10;--success: #3ccf7e;--success-soft: rgba(60, 207, 126, .12);--warning: #f5a524;--warning-soft: rgba(245, 165, 36, .12);--danger: #ff6b6f;--danger-soft: rgba(255, 107, 111, .12);--info: #4cb5ff;--info-soft: rgba(76, 181, 255, .12);--whatsapp: #25d366;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--shadow: 0 2px 4px rgba(0, 0, 0, .3), 0 12px 32px -8px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .3), 0 32px 64px -16px rgba(0, 0, 0, .7);--glass: rgba(13, 13, 16, .7);--grain-opacity: .06;--aurora-opacity: .4;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 16px)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.6;font-weight:400;letter-spacing:-.006em;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background-color .5s var(--ease-out),color .5s var(--ease-out)}#root{isolation:isolate}img,svg,video,canvas{display:block;max-width:100%}h1,h2,h3,h4,h5,h6,p{margin:0;overflow-wrap:break-word}h1,h2,h3,h4{font-weight:600;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--accent);color:var(--on-accent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:3px solid var(--bg)}[lang=si],.si{font-family:var(--font-si);letter-spacing:0}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.container-narrow{width:100%;max-width:calc(var(--container-narrow) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.section{position:relative;padding-block:clamp(80px,12vw,160px)}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.eyebrow .idx{color:var(--accent)}.eyebrow:before{content:"";width:18px;height:1px;background:currentColor;opacity:.6}.eyebrow.plain:before{display:none}.serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}.display{font-size:clamp(2.6rem,7.2vw,6.4rem);line-height:.98;letter-spacing:-.045em;font-weight:600}.h-section{font-size:clamp(2.1rem,4.6vw,3.8rem);line-height:1.02;letter-spacing:-.04em;font-weight:600}.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;color:var(--text-2);letter-spacing:-.01em}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.mono{font-family:var(--font-mono);letter-spacing:0}.gradient-text{background:linear-gradient(100deg,var(--accent) 10%,var(--accent-2) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.btn{--btn-bg: var(--surface);--btn-fg: var(--text);--btn-border: var(--border-strong);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:var(--radius-full);background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-border);font-size:15px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .4s var(--ease-out),background-color .3s var(--ease-out),border-color .3s var(--ease-out),color .3s var(--ease-out),box-shadow .4s var(--ease-out);-webkit-tap-highlight-color:transparent}.btn:hover{border-color:var(--text-3)}.btn:active{transform:scale(.97)}.btn svg{transition:transform .4s var(--ease-out)}.btn:hover .arrow{transform:translate(3px)}.btn:hover .arrow-up-right{transform:translate(2px,-2px)}.btn-primary{--btn-bg: var(--text);--btn-fg: var(--bg);--btn-border: var(--text)}.btn-primary:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,var(--accent),var(--accent-2));opacity:0;transition:opacity .45s var(--ease-out)}.btn-primary:hover{border-color:transparent;color:#fff;box-shadow:0 10px 30px -10px var(--accent-ring)}.btn-primary:hover:before{opacity:1}.btn-accent{--btn-bg: var(--accent);--btn-fg: var(--on-accent);--btn-border: var(--accent)}.btn-accent:hover{--btn-bg: var(--accent-hover);--btn-border: var(--accent-hover);box-shadow:0 10px 30px -10px var(--accent-ring)}.btn-ghost{--btn-bg: transparent;--btn-border: transparent}.btn-ghost:hover{--btn-bg: var(--surface-2);border-color:transparent}.btn-sm{height:38px;padding:0 16px;font-size:14px}.btn-lg{height:56px;padding:0 28px;font-size:16px}.btn-block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn:disabled:before{opacity:0!important}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-full);color:var(--text-2);border:1px solid transparent;transition:background-color .3s var(--ease-out),color .3s var(--ease-out),border-color .3s var(--ease-out),transform .3s var(--ease-out)}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:active{transform:scale(.94)}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:border-color .3s var(--ease-out),color .3s var(--ease-out),background-color .3s var(--ease-out)}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip-sm{height:24px;padding:0 9px;font-size:12px}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.badge-neutral{background:var(--surface-2);color:var(--text-2)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.status-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--success);flex:none}.status-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:ping 2s var(--ease-out) infinite}@keyframes ping{0%{transform:scale(1);opacity:.6}80%,to{transform:scale(2.8);opacity:0}}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .4s var(--ease-out),transform .5s var(--ease-out),box-shadow .5s var(--ease-out),background-color .4s var(--ease-out)}.card-hover:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:var(--shadow)}.spotlight{--mx: 50%;--my: 50%;position:relative;isolation:isolate}.spotlight:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx) var(--my),var(--accent-soft),transparent 60%);opacity:0;transition:opacity .5s var(--ease-out)}.spotlight:hover:after{opacity:1}.field{display:flex;flex-direction:column;gap:8px}.field-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-2)}.input,.select,.textarea{width:100%;min-height:50px;padding:12px 16px;border-radius:var(--radius);background:var(--surface-2);border:1px solid transparent;color:var(--text);font-size:15px;outline:none;transition:border-color .3s var(--ease-out),background-color .3s var(--ease-out),box-shadow .3s var(--ease-out);appearance:none;-webkit-appearance:none}.textarea{resize:vertical;min-height:120px;line-height:1.55}.select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2385858f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.select option{background:var(--surface);color:var(--text)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--radius);font-size:14px;line-height:1.5}.alert svg{flex:none;margin-top:2px}.alert a{font-weight:600;text-decoration:underline;text-underline-offset:3px}.alert-success{background:var(--success-soft);color:var(--success)}.alert-danger{background:var(--danger-soft);color:var(--danger)}.alert-warning{background:var(--warning-soft);color:var(--warning)}.grain{position:fixed;inset:-50%;z-index:100;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 8s steps(10) infinite}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}30%{transform:translate(3%,-15%)}50%{transform:translate(12%,9%)}70%{transform:translate(9%,4%)}90%{transform:translate(-1%,7%)}}.dot-grid{background-image:radial-gradient(var(--border-strong) 1px,transparent 1px);background-size:22px 22px}.divider{height:1px;background:var(--border);border:0;margin:0}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;transform-origin:0 50%;background:linear-gradient(90deg,var(--accent),var(--accent-2));pointer-events:none}.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}@media(max-width:768px){.desktop-only{display:none!important}}@media(min-width:769px){.mobile-only{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.theme-transition,.theme-transition *,.theme-transition *:before,.theme-transition *:after{transition:background-color .5s var(--ease-out),border-color .5s var(--ease-out),color .5s var(--ease-out),fill .5s var(--ease-out),stroke .5s var(--ease-out)!important}.split-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}.split-word{display:inline-block;will-change:transform;transform-origin:0 100%}.page-loader{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg)}.page-loader-bar{position:relative;width:120px;height:2px;border-radius:2px;background:var(--border);overflow:hidden}.page-loader-bar:after{content:"";position:absolute;inset:0;width:40%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));animation:loader-slide 1.1s var(--ease-in-out) infinite}@keyframes loader-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}
