@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fraunces-400.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-600.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/fraunces-400i.woff2)format("woff2")}@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sora-400.woff2)format("woff2")}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sora-600.woff2)format("woff2")}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/caveat-500.woff2)format("woff2")}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/caveat-600.woff2)format("woff2")}:root{--ground:#fbf7f0;--ground-2:#f3ecdf;--ink:#152238;--ink-soft:#4a566c;--ink-faint:#656f7d;--navy:#152238;--navy-2:#1d2d49;--accent:#e9640f;--accent-deep:#c4530c;--accent-soft:#f6d9c2;--hairline:#1522381f;--hairline-strong:#15223838;--on-navy:#f4ecdd;--on-navy-soft:#b7bccb;--accent-on-navy:#ff8a3d}@media (prefers-color-scheme:dark){:root{--ground:#10182a;--ground-2:#172137;--ink:#f1e9da;--ink-soft:#aab2c3;--ink-faint:#7c8598;--navy:#0a1120;--navy-2:#141d31;--accent:#ff8a3d;--accent-deep:#ff8a3d;--accent-soft:#3a2a1c;--hairline:#f1e9da1f;--hairline-strong:#f1e9da38;--on-navy:#f1e9da;--on-navy-soft:#aab2c3;--accent-on-navy:#ff8a3d}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Sora,system-ui,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.wrap{max-width:1160px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}.skip{background:var(--accent);color:#fff;z-index:50;border-radius:999px;padding:10px 18px;font-weight:600;text-decoration:none;position:absolute;top:12px;left:-9999px}.skip:focus{left:16px}.nav{justify-content:space-between;align-items:center;padding:26px 0;display:flex}.brand{letter-spacing:-.01em;color:var(--ink);font-family:Fraunces,serif;font-size:19px;font-weight:600;text-decoration:none}.brand .dot{color:var(--accent)}.navlinks{align-items:center;gap:30px;display:flex}.navlinks a{color:var(--ink-soft);letter-spacing:.01em;font-size:14px;font-weight:500;text-decoration:none}.navlinks a:hover{color:var(--ink)}.navlinks .cta-mini{color:var(--ink);border:1px solid var(--hairline-strong);border-radius:999px;padding:9px 16px}.navlinks .cta-mini:hover{border-color:var(--accent);color:var(--accent-deep)}@media (width<=720px){.navlinks a:not(.cta-mini){display:none}}.hero{padding:clamp(48px,9vw,110px) 0 clamp(56px,8vw,96px);position:relative}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:30px;font-size:12.5px;font-weight:600;display:inline-flex}.status{align-items:center;gap:8px;display:inline-flex}.status .pip{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #e9640f73}70%{box-shadow:0 0 0 9px #e9640f00}to{box-shadow:0 0 #e9640f00}}.divider-dot{background:var(--ink-faint);border-radius:50%;width:4px;height:4px}h1{letter-spacing:-.02em;text-wrap:balance;color:var(--ink);margin:0;font-family:Fraunces,serif;font-size:clamp(44px,8.2vw,104px);font-weight:600;line-height:.98}h1 em{color:var(--accent-deep);white-space:nowrap;font-style:italic;font-weight:400}h1 .mark{display:inline-block;position:relative}h1 .mark:after{content:"";background:var(--accent);transform-origin:0;border-radius:2px;height:.09em;animation:1s cubic-bezier(.2,.8,.2,1) .5s forwards underline;position:absolute;bottom:.08em;left:-.02em;right:-.02em;transform:scaleX(0)}@keyframes underline{to{transform:scaleX(1)}}.lede{color:var(--ink-soft);max-width:37ch;margin:30px 0 0;font-size:clamp(17px,2vw,20px);line-height:1.55}.lede b{color:var(--ink);font-weight:600}.actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:40px;display:flex}.btn{border-radius:999px;align-items:center;gap:10px;padding:14px 24px;font-family:Sora,sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s,background .2s,color .2s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-2px)}.btn-ghost{color:var(--ink);border:1px solid var(--hairline-strong)}.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}.btn svg{width:16px;height:16px}.meta{border-top:1px solid var(--hairline);flex-wrap:wrap;gap:22px;margin-top:52px;padding-top:26px;display:flex}.meta .m{flex-direction:column;gap:3px;display:flex}.meta .m .k{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:12px;font-weight:600}.meta .m .v{color:var(--ink);font-variant-numeric:tabular-nums;font-family:Fraunces,serif;font-size:22px;font-weight:600}.meta .m .v small{color:var(--ink-soft);font-family:Sora,sans-serif;font-size:13px;font-weight:500}.aside-tag{writing-mode:vertical-rl;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-faint);border-left:1px solid var(--hairline);padding-left:12px;font-size:11.5px;position:absolute;top:clamp(60px,11vw,150px);right:0}@media (width<=900px){.aside-tag{display:none}}.strip{background:var(--navy);color:var(--on-navy);padding:clamp(44px,7vw,80px) 0}.strip-head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:38px;display:flex}.strip-head .lbl{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-on-navy);font-size:12.5px;font-weight:600}.strip-head h2{color:var(--on-navy);letter-spacing:-.02em;margin:8px 0 0;font-family:Fraunces,serif;font-size:clamp(26px,4vw,40px);font-weight:600;line-height:1.05}.strip-head .all{color:var(--on-navy-soft);white-space:nowrap;border-bottom:1px solid #0000;font-size:14px;font-weight:500;text-decoration:none}.strip-head .all:hover{color:var(--on-navy);border-color:var(--accent-on-navy)}.cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (width<=820px){.cards{grid-template-columns:1fr}}.card{color:inherit;background:linear-gradient(#f4ecdd08,#0000);border:1px solid #f4ecdd24;border-radius:16px;flex-direction:column;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.card:hover{border-color:var(--accent-on-navy);transform:translateY(-3px)}.card-cover{aspect-ratio:16/10;background:linear-gradient(135deg,#f4ecdd12,#0000004d)}.card-cover img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.card-cover.is-fallback{justify-content:center;align-items:center;display:flex}.card-cover.is-fallback svg{width:36px;height:36px;color:var(--on-navy-soft);opacity:.55}.card-body{flex-direction:column;flex:1;gap:14px;padding:22px 24px 26px;display:flex}.card .top{justify-content:space-between;align-items:center;gap:12px;display:flex}.card .badge{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-on-navy);background:#ff8a3d1f;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600}.card .links{align-items:center;gap:14px;display:flex}.icon-link{color:var(--on-navy-soft);transition:color .2s;display:inline-flex}.icon-link:hover{color:var(--accent-on-navy)}.icon-link svg{width:19px;height:19px;display:block}.card h3{color:var(--on-navy);margin:2px 0 0;font-family:Fraunces,serif;font-size:21px;font-weight:600;line-height:1.15}.card p{color:var(--on-navy-soft);margin:0;font-size:14px;line-height:1.55}.card .tags{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:6px;display:flex}.card .tags span{color:var(--on-navy-soft);border:1px solid #f4ecdd29;border-radius:6px;padding:4px 9px;font-size:11.5px;font-weight:500}.finix-banner{color:inherit;background:linear-gradient(135deg,#00000047,#0000001f);border:1px solid #ef9f2759;border-radius:20px;align-items:center;gap:24px;margin-top:18px;padding:24px 28px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.finix-banner:hover{border-color:#ef9f27;transform:translateY(-3px)}.finix-main{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.finix-top{align-items:center;gap:12px;display:flex}.finix-mark{border-radius:6px;width:22px;height:22px;display:block}.finix-cover{aspect-ratio:16/10;border:1px solid #ef9f2740;border-radius:14px;flex-shrink:0;width:350px;overflow:hidden}.finix-cover img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}@media (width<=900px){.finix-cover{width:220px}}.finix-banner .badge{letter-spacing:.08em;text-transform:uppercase;color:#ef9f27;background:#ef9f271f;border:1px solid #ef9f2740;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600}.finix-banner h3{color:var(--on-navy);margin:0;font-family:Fraunces,serif;font-size:21px;font-weight:600;line-height:1.15}.finix-banner p{color:var(--on-navy-soft);max-width:56ch;margin:0;font-size:14px;line-height:1.55}.finix-banner .tags{flex-wrap:wrap;gap:7px;display:flex}.finix-banner .tags span{color:var(--on-navy-soft);border:1px solid #ef9f2733;border-radius:6px;padding:4px 9px;font-size:11.5px;font-weight:500}.finix-banner .arrow{color:#ef9f27;flex-shrink:0}@media (width<=640px){.finix-banner{flex-direction:column;align-items:flex-start;gap:16px}.finix-cover{width:100%}}.about{background:var(--ground);padding:clamp(60px,10vw,120px) 0}.about .wrap{grid-template-columns:.82fr 1fr;align-items:center;gap:clamp(30px,6vw,74px);display:grid}@media (width<=820px){.about .wrap{grid-template-columns:1fr;gap:40px}}.portrait{aspect-ratio:1;border-radius:50%;width:min(80%,330px);margin:0 auto;position:relative}.portrait img{object-fit:cover;border:1px solid var(--hairline);border-radius:50%;width:100%;height:100%;box-shadow:0 24px 60px -24px #15223866}.portrait:after{content:"";border:1.5px solid var(--accent);opacity:.4;pointer-events:none;border-radius:50%;position:absolute;inset:-13px}.portrait:before{content:"";aspect-ratio:1;background:var(--accent);opacity:.12;filter:blur(14px);border-radius:50%;width:22%;position:absolute;bottom:6%;right:6%}.about-body .lbl{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 16px;font-size:12.5px;font-weight:600}.about-body h2{letter-spacing:-.02em;text-wrap:balance;color:var(--ink);margin:0 0 22px;font-family:Fraunces,serif;font-size:clamp(28px,4.4vw,44px);font-weight:600;line-height:1.06}.about-body p{color:var(--ink-soft);max-width:52ch;margin:0 0 16px;font-size:16.5px}.about-body p b{color:var(--ink);font-weight:600}.sign{border-top:1px solid var(--hairline);margin-top:34px;padding-top:26px}.sign .quote{color:var(--ink);max-width:20ch;font-family:Caveat,cursive;font-size:clamp(26px,3.6vw,36px);font-weight:600;line-height:1.25;display:block;transform:rotate(-1.2deg)}.sign .who{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.sign .who .nm{color:var(--accent-deep);font-family:Caveat,cursive;font-size:26px;font-weight:600;transform:rotate(-2deg)}.sign .who .role{color:var(--ink-faint);letter-spacing:.04em;font-size:12.5px}.contact{background:var(--navy);color:var(--on-navy);text-align:center;padding:clamp(60px,10vw,120px) 0}.contact .lbl{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-on-navy);margin-bottom:18px;font-size:12.5px;font-weight:600}.contact h2{letter-spacing:-.02em;color:var(--on-navy);text-wrap:balance;max-width:14ch;margin:0 auto;font-family:Fraunces,serif;font-size:clamp(34px,6vw,66px);font-weight:600;line-height:1}.contact .sub{color:var(--on-navy-soft);max-width:44ch;margin:22px auto 40px;font-size:17px}.channels{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.chan{color:var(--on-navy);border:1px solid #f4ecdd2e;border-radius:999px;align-items:center;gap:11px;padding:14px 22px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s,border-color .2s,background .2s;display:inline-flex}.chan:hover{border-color:var(--accent-on-navy);transform:translateY(-2px)}.chan svg{width:18px;height:18px}.chan.wa{color:#06331a;background:#25d366;border-color:#25d366}.chan.wa:hover{background:#22c35e;border-color:#22c35e}.chan.mail{background:var(--accent-on-navy);color:#2a1607;border-color:var(--accent-on-navy)}.chan.mail:hover{filter:brightness(1.05)}.stack{background:var(--ground-2);padding:clamp(56px,9vw,100px) 0}.stack .lbl{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 16px;font-size:12.5px;font-weight:600}.stack h2{letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 40px;font-family:Fraunces,serif;font-size:clamp(26px,4vw,40px);font-weight:600;line-height:1.05}.stack-groups{flex-direction:column;gap:0;display:flex}.sgroup{border-top:1px solid var(--hairline);padding:28px 0}.sgroup:first-child{border-top:0;padding-top:0}.sgroup .glbl{color:var(--ink-faint);letter-spacing:.02em;text-transform:uppercase;margin-bottom:20px;font-size:13px;font-weight:600}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:24px 10px;display:grid}.tech-item{text-align:center;flex-direction:column;align-items:center;gap:9px;transition:transform .18s;display:flex}.tech-item:hover{transform:scale(1.08)}.tech-item:hover .tech-icon{filter:drop-shadow(0 6px 10px #1522382e)}.tech-icon{flex-shrink:0;width:30px;height:30px;transition:filter .18s}.tech-name{color:var(--ink);font-size:12.5px;font-weight:500}.foot{background:var(--navy);color:var(--on-navy-soft);text-align:center;padding:0 0 44px;font-size:13px}.foot .wrap{border-top:1px solid #f4ecdd1f;padding-top:28px}.foot a{color:var(--on-navy-soft);text-decoration:none}.foot a:hover{color:var(--accent-on-navy)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}h1 .mark:after{transform:scaleX(1)}}
