@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-variable.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-variable.woff2) format("woff2")}:root{--color-teal-900:#082932;--color-teal-800:#0a3540;--color-teal:#0d3d4b;--color-teal-600:#1a5060;--color-teal-500:#2a6878;--color-teal-400:#5b8b97;--color-teal-300:#9bb6bd;--color-teal-200:#c9d8dc;--color-teal-100:#e6edef;--color-teal-050:#f3f6f7;--color-sunrise-deep:#efaa35;--color-sunrise:#f6c623;--color-sunrise-light:#ffe500;--gradient-sunrise:linear-gradient(135deg,#efaa35,#ffe500);--gradient-sunrise-soft:linear-gradient(135deg,rgba(239,170,53,.12),rgba(255,229,0,.12));--color-beige:#f9f6f2;--color-beige-paper:#f9f6f2;--color-white:#fff;--color-black:#07141a;--color-ink:#0d3d4b;--color-mute:#4d6770;--color-faint:#7d959c;--color-line:rgba(13,61,75,.12);--color-line-soft:rgba(13,61,75,.06);--color-success:#2f7d4a;--color-warn:#b8740d;--color-error:#b23a3a;--bg:var(--color-white);--bg-soft:var(--color-beige-paper);--bg-dark:var(--color-teal);--bg-dark-2:var(--color-teal-900);--fg:var(--color-ink);--fg-mute:var(--color-mute);--fg-faint:var(--color-faint);--fg-on-dark:var(--color-beige);--fg-on-dark-mute:rgba(255,245,230,.72);--fg-on-dark-faint:rgba(255,245,230,.48);--accent:var(--color-sunrise);--accent-soft:var(--gradient-sunrise-soft);--border:var(--color-line);--border-soft:var(--color-line-soft);--font-display:"Inter","Helvetica Neue",system-ui,sans-serif;--font-body:"Inter","Helvetica Neue",system-ui,sans-serif;--font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace;--fs-12:0.75rem;--fs-14:0.875rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-30:1.875rem;--fs-36:2.25rem;--fs-48:3rem;--fs-60:3.75rem;--fs-72:4.5rem;--lh-tight:1.04;--lh-snug:1.18;--lh-body:1.5;--lh-loose:1.65;--tracking-tight:-0.02em;--tracking-snug:-0.01em;--tracking-flat:0;--tracking-wide:0.04em;--tracking-mega:0.12em;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;--radius-xs:6px;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:9999px;--shadow-sm:0 1px 2px rgba(13,61,75,.06);--shadow-md:0 8px 24px -8px rgba(13,61,75,.16);--shadow-lg:0 24px 48px -16px rgba(13,61,75,.24);--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-inout:cubic-bezier(0.5,0,0.2,1);--dur-fast:120ms;--dur-base:200ms;--dur-slow:320ms;--page-beige:#f9f6f2;--page-beige-2:#efe9df;--page-beige-line:rgba(13,61,75,.1);--page-h:100vh;--page-h-full:100vh}@supports (height:100svh){:root{--page-h:100svh}}@supports (height:100lvh){:root{--page-h-full:100lvh}}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body,html{font-family:var(--font-body);font-size:var(--fs-16);line-height:var(--lh-body);background:var(--bg);font-feature-settings:"ss01","cv11"}body,html{color:var(--fg);-webkit-font-smoothing:antialiased}body{margin:0;background:var(--page-beige);overflow-x:hidden;font-family:var(--font-body);text-rendering:optimizeLegibility}.h1,h1{font-family:var(--font-display);font-size:2.5rem;font-size:clamp(2.5rem,5vw + 1rem,var(--fs-72));font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--fg);text-wrap:balance}.h2,h2{font-size:1.875rem;font-size:clamp(1.875rem,2.5vw + 1rem,var(--fs-48));letter-spacing:var(--tracking-tight)}.h2,.h3,h2,h3{font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--fg);text-wrap:balance}.h3,h3{font-size:var(--fs-30)}.h3,.h4,h3,h4{letter-spacing:var(--tracking-snug)}.h4,h4{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.h4,.p,h4,p{color:var(--fg)}.p,p{font-size:var(--fs-16);text-wrap:pretty}.lead,.p,p{line-height:var(--lh-body)}.lead{font-size:var(--fs-20);font-weight:var(--fw-regular)}.eyebrow,.lead{color:var(--fg-mute)}.eyebrow{font-size:var(--fs-12);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:lowercase}.aphorism{font-family:var(--font-display);font-size:var(--fs-30);font-weight:var(--fw-medium);line-height:var(--lh-snug);letter-spacing:var(--tracking-snug)}.region-tag{font-size:var(--fs-12);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:lowercase;color:var(--color-sunrise-deep)}.small,small{font-size:var(--fs-14);color:var(--fg-mute);line-height:var(--lh-body)}.mono,code,kbd,samp{font-family:var(--font-mono);font-size:.9em;font-variant-numeric:tabular-nums}a{color:var(--color-teal);text-decoration:none;text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-out)}a:hover{text-decoration:underline;text-decoration-thickness:1px}a:active{color:var(--color-teal-800)}.on-dark{background:var(--bg-dark)}.on-dark,.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4,.on-dark p{color:var(--fg-on-dark)}.on-dark .eyebrow,.on-dark .lead{color:var(--fg-on-dark-mute)}.on-dark a{color:var(--color-sunrise-light)}.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 40px}@media (max-width:720px){.wrap{padding:0 22px}}#contact,#products,#projects{scroll-margin-top:0}.card{scroll-margin-top:112px}.section-block{padding:140px 0 40px}@media (max-width:880px){.section-block{padding:110px 0 32px}}.eyebrow-lg{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-teal);opacity:.55;display:inline-flex;align-items:center;gap:10px}.eyebrow-lg:before{content:"";width:24px;height:1px;background:currentColor;display:block;opacity:.6}.on-dark .eyebrow-lg{color:var(--color-sunrise-light);opacity:.85}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);will-change:opacity,transform}.reveal.is-in{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}.btn{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.005em;padding:14px 22px;border-radius:12px;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:background .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),transform .12s var(--ease-out)}.btn-yellow{background:var(--color-sunrise);color:var(--color-teal-900);border-color:var(--color-sunrise);box-shadow:0 1px 0 rgba(0,0,0,.04)}.btn-yellow:hover{background:var(--color-sunrise-light);border-color:var(--color-sunrise-light);transform:translateY(-1px)}.btn-yellow:active{background:var(--color-sunrise-deep);border-color:var(--color-sunrise-deep);transform:translateY(0)}.btn-ghost-dark{background:transparent;color:var(--color-beige);border-color:rgba(255,245,230,.32)}.btn-ghost-dark:hover{background:rgba(255,245,230,.06);border-color:rgba(255,245,230,.55)}.btn-ghost-dark:active{background:var(--color-sunrise);color:var(--color-teal-900);border-color:var(--color-sunrise)}.btn-ghost-light{background:transparent;color:var(--color-teal);border-color:rgba(13,61,75,.22)}.btn-ghost-light:hover{background:rgba(13,61,75,.04);border-color:rgba(13,61,75,.45)}.btn-ghost-light:active{background:var(--color-sunrise);color:var(--color-teal-900);border-color:var(--color-sunrise)}.btn-teal{background:var(--color-teal);color:var(--color-beige);border-color:var(--color-teal)}.btn-teal:hover{background:var(--color-teal-600);border-color:var(--color-teal-600);transform:translateY(-1px)}.btn-teal:active{background:var(--color-sunrise);color:var(--color-teal-900);border-color:var(--color-sunrise);transform:translateY(0)}.link-arrow{font-family:var(--font-display);font-size:14px;font-weight:500;color:var(--color-teal);display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:gap .2s var(--ease-out),color .16s var(--ease-out);border-bottom:1px solid transparent;padding-bottom:2px}.link-arrow:hover{gap:12px;color:var(--color-teal-800);border-bottom-color:var(--color-sunrise)}.on-dark .link-arrow{color:var(--color-beige)}.on-dark .link-arrow:hover{color:var(--color-sunrise-light);border-bottom-color:var(--color-sunrise)}::selection{background:var(--color-sunrise);color:var(--color-teal-900)}.card-stack{display:flex;flex-direction:column;gap:40px}.card{--card-h:460px;--card-icon:56px;--card-label-h:var(--card-icon);--card-title-size:30px;--card-body-size:18px;--card-pad:40px;width:100%;height:var(--card-h);padding:var(--card-pad);border-radius:20px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;text-align:left;display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:var(--card-label-h) auto 1fr auto;grid-template-areas:"label image" "title image" "body  image" "cta   image";column-gap:32px;row-gap:18px}.card--light{background:var(--color-white);border:1px solid rgba(13,61,75,.1)}.card--dark{background:var(--color-teal);border:1px solid rgba(255,245,230,.08)}.card__label{grid-area:label;display:flex;align-items:center;gap:12px;min-width:0}.card__title{grid-area:title;margin:0}.card__image{grid-area:image;position:relative;border-radius:14px;overflow:hidden}.card__body{grid-area:body;margin:0;overflow:hidden}.card__cta{grid-area:cta;align-self:end;justify-self:start}.card__spec{grid-area:spec;justify-self:start}.card--has-spec .card__label-secondary{display:none}.card--has-spec{grid-template-rows:var(--card-label-h) auto auto 1fr auto;grid-template-areas:"label image" "title image" "spec  image" "body  image" "cta   image"}.card__spec--chips{display:flex;flex-wrap:wrap;gap:8px}.card__chip{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;padding:7px 13px;border-radius:12px;background:var(--page-beige);border:1px solid rgba(13,61,75,.1);color:var(--color-teal-600)}.card--dark .card__chip{background:rgba(255,245,230,.07);border-color:rgba(255,245,230,.14);color:rgba(255,245,230,.75)}.card__icon{width:var(--card-icon);height:var(--card-icon);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card--light .card__icon{background:var(--page-beige);border:1px solid rgba(13,61,75,.08);color:var(--color-teal)}.card--dark .card__icon{background:rgba(255,245,230,.07);border:1px solid rgba(255,245,230,.14);color:var(--color-sunrise-light)}.card__label-text{display:flex;flex-direction:column;gap:5px;min-width:0}.card__label-primary{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.card--light .card__label-primary{color:var(--color-teal-500)}.card--dark .card__label-primary{color:var(--color-sunrise-light)}.card__label-secondary{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:14px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card--light .card__label-secondary{color:var(--color-teal-600)}.card--dark .card__label-secondary{color:rgba(255,245,230,.45)}.card__title{font-family:var(--font-display);font-size:var(--card-title-size);font-weight:700;line-height:1.18;letter-spacing:-.025em}.card--light .card__title{color:var(--color-teal)}.card--dark .card__title{color:var(--color-beige)}.card__body{font-size:var(--card-body-size);line-height:1.5;max-width:62ch}.card--light .card__body{color:var(--color-teal-800);opacity:.85}.card--dark .card__body{color:rgba(255,245,230,.8)}.card__cta{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--color-sunrise);color:var(--color-teal-900);border:none;border-radius:12px;font-family:var(--font-display);font-size:13px;font-weight:600;line-height:1.25;letter-spacing:-.005em;cursor:pointer;text-decoration:none;box-shadow:0 2px 8px rgba(239,170,53,.3);transition:background .16s var(--ease-out),transform .12s var(--ease-out)}.card__cta:hover{background:var(--color-sunrise-light);transform:translateY(-1px);text-decoration:none}.card__cta:active{background:var(--color-sunrise-deep);transform:translateY(0)}@media (max-width:880px){.card{--card-h:580px;--card-icon:40px;--card-title-size:22px;--card-body-size:14px;--card-pad:22px;--card-image-h:230px;grid-template-columns:1fr;grid-template-rows:var(--card-label-h) auto var(--card-image-h) 1fr auto;grid-template-areas:"label" "title" "image" "body" "cta";row-gap:14px}.card__label-secondary{font-size:10px}.card__label-primary{font-size:11px;letter-spacing:.2em}.card__spec{display:none}.card--has-spec .card__label-secondary{display:flex}.card--has-spec{grid-template-rows:var(--card-label-h) auto var(--card-image-h) 1fr auto;grid-template-areas:"label" "title" "image" "body" "cta"}}.nav-link:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;opacity:.6;transition:right .22s var(--ease-out)}.nav-link:hover:after{right:0}@media (max-width:880px){.nav-links{display:none!important}.nav-burger{display:inline-flex!important}.nav-logo img{height:24px!important}#contact{padding-top:110px!important}.contact-main{align-items:stretch!important}.contact-grid{grid-template-rows:auto 1fr!important}.contact-right{min-height:0!important}}@media (min-width:881px){.nav-drawer{display:none!important}}@supports not (height:clamp(1px,1vh,2px)){.card{--card-h:460px}}