:root{--bg: #f7f5ef;--bg-2: #efebe0;--card: #ffffff;--line: rgba(18, 22, 19, .1);--ink: #13161a;--ink-dim: #63695f;--shadow: rgba(20, 30, 25, .16);--accent: #0d8f7c;--accent-2: #5457e0;--btn-text: #f7f5ef;--header-bg: rgba(247, 245, 239, .72);font-size:106.25%;background:var(--bg)}html[data-theme=dark]{--bg: #0c0e11;--bg-2: #14171c;--card: #181c22;--line: rgba(240, 238, 230, .12);--ink: #f1efe6;--ink-dim: #938e80;--shadow: rgba(0, 0, 0, .55);--accent: #33e0c6;--accent-2: #8b8cff;--btn-text: #0c0e11;--header-bg: rgba(12, 14, 17, .72)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,sans-serif;line-height:1.55;overflow-x:hidden;transition:background .35s,color .35s}h1,h2,h3{font-family:Fraunces,serif;font-weight:600;margin:0;letter-spacing:-.015em}a{color:inherit}.wrap{max-width:1400px;margin:0 auto;padding:0 48px}@media(max-width:900px){.wrap{padding:0 32px}}@media(max-width:640px){.wrap{padding:0 20px}}header{position:sticky;top:0;z-index:60;padding:calc(18px + env(safe-area-inset-top,0px)) 0 18px;background:var(--header-bg);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}header.scrolled{border-color:var(--line)}header .wrap{display:flex;align-items:center;justify-content:space-between;position:relative}.logo{display:flex;align-items:center;gap:10px;font-family:Fraunces,serif;font-size:1.28rem;font-weight:700;text-decoration:none;color:var(--ink)}.logo svg{width:28px;height:28px}nav{display:flex;align-items:center}.nav-links{display:contents}.nav-links>a:not(.btn){order:0}.theme-toggle{order:1}.nav-links>.btn-solid{order:2}.menu-toggle{order:3}.nav-links>a:not(.btn){margin-left:34px;text-decoration:none;font-size:.9rem;font-weight:500;color:var(--ink-dim);position:relative;transition:color .2s}.nav-links>a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .3s}.nav-links>a:not(.btn):hover,.nav-links>a:not(.btn).active{color:var(--ink)}.nav-links>a:not(.btn):hover:after,.nav-links>a:not(.btn).active:after{transform:scaleX(1);transform-origin:left}.theme-toggle{margin-left:26px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:border-color .2s}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle svg{width:16px;height:16px}.theme-toggle .sun,html[data-theme=dark] .theme-toggle .moon{display:none}html[data-theme=dark] .theme-toggle .sun{display:block}.btn{display:inline-block;padding:12px 24px;border-radius:8px;font-size:.9rem;text-decoration:none;font-weight:600;transition:transform .3s,box-shadow .3s;border:none;cursor:pointer;font-family:inherit}.btn-solid{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--btn-text);margin-left:26px}.btn-solid:hover{transform:translateY(-2px);box-shadow:0 14px 30px var(--shadow)}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:none}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.menu-toggle{display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:none;margin-left:14px;cursor:pointer;align-items:center;justify-content:center;color:var(--ink)}.menu-toggle svg{width:17px;height:17px}.menu-toggle .close,.menu-toggle[aria-expanded=true] .bars{display:none}.menu-toggle[aria-expanded=true] .close{display:block}@media(max-width:900px){.menu-toggle{display:flex}.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:calc(100% + 18px);left:0;right:0;background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 30px var(--shadow);padding:8px 20px 22px;max-height:calc(100dvh - 100px);overflow-y:auto}.nav-links.open>a:not(.btn){margin-left:0;padding:12px 0;align-self:flex-start}.nav-links.open>a:not(.btn):after{bottom:6px}.nav-links.open>.btn-solid{margin:12px 0 0;text-align:center}}.hero{position:relative;padding:100px 0 90px;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.32;z-index:0;animation:drift 16s ease-in-out infinite}.blob.a{width:420px;height:420px;background:var(--accent);top:-140px;left:-120px}.blob.b{width:360px;height:360px;background:var(--accent-2);bottom:-160px;right:-100px;animation-delay:-8s}@keyframes drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-30px) scale(1.1)}}.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}@media(max-width:880px){.hero .wrap{grid-template-columns:1fr}.hero{padding:60px 0 40px}}.eyebrow{color:var(--accent);font-size:.85rem;font-weight:600;margin-bottom:16px;display:block}.hero h1{font-size:clamp(2.5rem,5.2vw,3.9rem);line-height:1.05}.pageintro h1{font-size:clamp(2.1rem,4.2vw,3rem)}.grad-text{background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.lead,.pageintro p.lead{color:var(--ink-dim);font-size:1.1rem;max-width:52ch;margin:22px 0 0}.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.hero-ctas .btn-solid{margin-left:0}.stage{perspective:1400px;height:380px;display:flex;align-items:center;justify-content:center}@media(max-width:880px){.stage{height:300px}}.deck{position:relative;width:220px;height:280px;transform-style:preserve-3d;transition:transform .15s ease-out;transform:rotateX(8deg) rotateY(-16deg)}.card3d{position:absolute;inset:0;background:var(--card);border-radius:10px;box-shadow:0 30px 60px var(--shadow);border:1px solid var(--line)}.card3d.c1{transform:translateZ(-60px) translate(26px,26px) rotate(4deg)}.card3d.c2{transform:translateZ(-30px) translate(14px,14px) rotate(-2deg)}.card3d.c3{transform:translateZ(0);overflow:hidden}.c3 .ln{margin:24px 22px;height:7px;background:var(--bg-2);border-radius:3px}.c3 .ln:nth-child(1){width:55%}.c3 .ln:nth-child(4){width:38%}.scan{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 24px 5px var(--accent);animation:sweep 3s ease-in-out infinite;top:0}@keyframes sweep{0%,to{top:0;opacity:0}12%{opacity:1}50%{top:270px;opacity:1}62%{opacity:0}}.dots{position:absolute;inset:0;background-image:radial-gradient(var(--accent) 1px,transparent 1.5px);background-size:11px 11px;opacity:0;animation:dotsfade 3s ease-in-out infinite}@keyframes dotsfade{0%,48%{opacity:0}58%,96%{opacity:.45}to{opacity:0}}.pageintro{padding:70px 0 20px}.sec{padding:88px 0;border-top:1px solid var(--line)}.sec-head{max-width:60ch;margin-bottom:52px}.sec-head .eyebrow{margin-bottom:12px}.sec-head h2{font-size:clamp(1.7rem,3vw,2.3rem)}.sec-head p{color:var(--ink-dim);margin-top:14px;font-size:1.02rem}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}[data-reveal].in{opacity:1;transform:none}.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.svc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:30px 26px;transition:transform .35s,box-shadow .35s;transform-style:preserve-3d}.svc:hover{transform:perspective(700px) rotateX(4deg) rotateY(-4deg) translateY(-4px);box-shadow:0 26px 50px var(--shadow)}.svc .num{color:var(--accent);font-family:Fraunces,serif;font-size:1.5rem;display:block;margin-bottom:14px}.svc h3{font-size:1.1rem;margin-bottom:8px}.svc p{color:var(--ink-dim);font-size:.92rem;margin:0}.svc p.detail{margin-top:10px;font-size:.86rem}.svc.flash{animation:flashcard 1.6s ease}@keyframes flashcard{0%{box-shadow:0 0 0 3px var(--accent);transform:translateY(-4px)}to{box-shadow:none;transform:none}}.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:10px}@media(max-width:760px){.timeline{grid-template-columns:1fr}}.timeline:before{content:"";position:absolute;top:14px;left:0;right:0;height:2px;background:var(--line)}@media(max-width:760px){.timeline:before{display:none}}.step{position:relative;padding-top:38px}.step:before{content:"";position:absolute;top:6px;left:0;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--bg)}.step h3{font-size:1.1rem;margin-bottom:8px}.step p{color:var(--ink-dim);font-size:.94rem;margin:0}.stats{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{flex:1;min-width:160px;padding:34px 28px;border-right:1px solid var(--line);text-align:left}.stat:first-child{padding-left:0}.stat:last-child{border-right:none;padding-right:0}.stat b{font-family:Fraunces,serif;font-size:2.5rem;background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;display:block}.stat span{color:var(--ink-dim);font-size:.85rem}@media(max-width:640px){.stat{border-right:none;border-bottom:1px solid var(--line);flex:1 1 100%;padding-left:0;padding-right:0}.stat:last-child{border-bottom:none}}.marquee{margin-top:40px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.marquee-track{display:flex;gap:20px;width:max-content;animation:scrollq 34s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes scrollq{0%{transform:translate(0)}to{transform:translate(-50%)}}.quote{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:32px;width:360px;flex:0 0 auto;transition:transform .3s}.quote:hover{transform:translateY(-4px)}.quote p{font-family:Fraunces,serif;font-size:1.12rem;font-weight:500;margin:0 0 16px}.quote footer{color:var(--ink-dim);font-size:.85rem}.cta{padding:90px 0}.cta-box{position:relative;border-radius:20px;padding:60px 50px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--btn-text);overflow:hidden}.cta-box h2{color:var(--btn-text);font-size:clamp(1.5rem,3vw,2rem);max-width:20ch}.cta-box .btn{background:var(--btn-text);color:var(--accent-2)}footer.site{border-top:1px solid var(--line);background:var(--bg-2);padding:64px 0 calc(28px + env(safe-area-inset-bottom,0px));color:var(--ink-dim);font-size:.9rem}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px}.foot-brand p{margin:16px 0 0;max-width:34ch}footer.site h2{font-family:IBM Plex Sans,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:16px}footer.site ul{list-style:none;margin:0;padding:0}footer.site li+li{margin-top:10px}footer.site li a{text-decoration:none;transition:color .2s;overflow-wrap:anywhere}footer.site li a:hover{color:var(--accent)}.foot-label{display:block;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;opacity:.75;margin-bottom:2px}.foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:.82rem}@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1 / -1}}@media(max-width:480px){.foot-grid{grid-template-columns:1fr;gap:32px}footer.site{padding-top:48px}}.quoteform{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:760px}.quoteform .full{grid-column:1 / -1}@media(max-width:600px){.quoteform{grid-template-columns:1fr}}.field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-family:inherit;font-size:.92rem}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.field textarea{resize:vertical;min-height:100px}#formNote{margin-top:16px;font-size:.88rem;color:var(--ink-dim)}#formNote.is-error{color:#c0392b}#formNote.is-success{color:var(--accent)}
