.theme-toggle{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:inline-flex;gap:.4rem;min-height:40px;padding:.4rem .7rem;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.theme-toggle:hover{border-color:var(--color-accent)}.theme-toggle__icon{align-items:center;color:var(--color-text);display:inline-flex;justify-content:center;line-height:1}.theme-toggle__label{font-size:.82rem;font-weight:540;letter-spacing:.02em}@media(max-width:480px){.theme-toggle__label{display:none}}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-bg) 88%,#0000);border-bottom:1px solid var(--color-border);height:var(--header-height);position:-webkit-sticky;position:sticky;top:0;z-index:40}.site-header__inner{align-items:center;display:flex;gap:1rem;height:100%;justify-content:space-between}.site-header__brand{align-items:center;display:inline-flex;gap:.65rem;min-width:0;text-decoration:none}.site-header__brand,.site-header__brand:hover{color:var(--color-text)}.site-header__monogram{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-accent);display:inline-grid;font-size:.72rem;font-weight:700;height:2rem;letter-spacing:.06em;place-items:center;width:2rem}.site-header__name{font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header__nav{display:none}.site-header__nav ul{align-items:center;display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}.site-header__nav a{color:var(--color-text-muted);font-size:.9rem;font-weight:520;text-decoration:none}.site-header__nav a:hover{color:var(--color-text)}.site-header__actions{align-items:center;display:flex;gap:.55rem}.site-header__menu-btn{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:0;width:40px}.site-header__menu-btn span{background:var(--color-text);display:block;height:1.5px;margin-inline:auto;width:16px}.site-header__drawer{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);display:none}.site-header__drawer--open{display:block}.site-header__drawer ul{list-style:none;margin:0;padding:.75rem 1rem 1rem}.site-header__drawer a{border-bottom:1px solid var(--color-border);color:var(--color-text);display:block;font-weight:540;padding:.8rem .25rem;text-decoration:none}@media(min-width:860px){.site-header__nav{display:block}.site-header__drawer,.site-header__menu-btn{display:none!important}}.site-footer{border-top:1px solid var(--color-border);margin-top:auto;padding:1.5rem 0 2rem}.site-footer__inner{grid-gap:.75rem;display:grid;gap:.75rem}.site-footer__built,.site-footer__identity{color:var(--color-text-muted);font-size:.85rem;margin:0}.site-footer__links{display:flex;flex-wrap:wrap;gap:.85rem 1.1rem;list-style:none;margin:0;padding:0}.site-footer__links a{color:var(--color-text-muted);font-size:.88rem;text-decoration:none}.site-footer__links a:hover{color:var(--color-accent-hover)}@media(min-width:768px){.site-footer__inner{align-items:center;grid-template-columns:1fr auto 1fr}.site-footer__built{justify-self:end}}.intro-video{width:100%}.intro-video__frame{aspect-ratio:4/5;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);cursor:pointer;max-height:min(420px,55vh);overflow:hidden;position:relative}.intro-video__media{background:#111;height:100%;object-fit:cover;width:100%}.intro-video__overlay{background:linear-gradient(0deg,#080c1073,#080c1014 45%,#080c1033);display:grid;inset:0;place-items:center;position:absolute;transition:opacity var(--transition-fast)}.intro-video__overlay--playing{opacity:0}.intro-video__frame:focus-visible .intro-video__overlay--playing,.intro-video__frame:hover .intro-video__overlay--playing{opacity:1}.intro-video__control{align-items:center;background:#0a0e128c;border:1px solid #ffffff73;border-radius:999px;color:#f5f7f9;display:inline-flex;font-size:.85rem;font-weight:600;justify-content:center;letter-spacing:.04em;min-height:2.5rem;min-width:4.5rem;padding:.45rem .9rem;text-transform:uppercase}.intro-video__caption{color:var(--color-text-muted);font-size:.82rem;margin:.55rem 0 0}@media(min-width:900px){.intro-video__frame{aspect-ratio:3/4;max-height:480px}}.hero{padding-top:clamp(2.25rem,5vw,3.5rem)}.hero__grid{grid-gap:2rem;align-items:start;display:grid;gap:2rem}.hero__eyebrow{color:var(--color-accent);font-size:.78rem;font-weight:620;letter-spacing:.12em;margin:0 0 .75rem;text-transform:uppercase}.hero__name{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.6rem);font-weight:580;letter-spacing:-.03em;line-height:1.05;margin:0}.hero__title{font-size:clamp(1.05rem,2.2vw,1.25rem);font-weight:500;line-height:1.45;margin:1rem 0 0;max-width:34rem}.hero__support{color:var(--color-text-muted);font-size:.98rem;margin:.85rem 0 0;max-width:34rem}.hero__ctas{gap:.75rem;margin-top:1.5rem}.hero__ctas,.hero__links{display:flex;flex-wrap:wrap}.hero__links{gap:.85rem 1.15rem;list-style:none;margin:1.25rem 0 0;padding:0}.hero__media{justify-self:start;width:min(100%,360px)}@media(max-width:899px){.hero__media{max-height:360px;order:2;width:min(100%,320px)}.hero__content{order:1}}@media(min-width:900px){.hero__grid{align-items:center;gap:3rem;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.hero__media{justify-self:end;width:100%}}.case-study{border-top:1px solid var(--color-border);padding:1.4rem 0}.case-study:first-of-type{border-top:none;padding-top:0}.case-study__title{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0 0 1rem}.case-study__grid{grid-gap:.9rem 1.5rem;display:grid;gap:.9rem 1.5rem;margin:0}@media(min-width:768px){.case-study__grid{grid-template-columns:1fr 1fr}}.case-study__grid dt{color:var(--color-text-muted);font-size:.75rem;font-weight:620;letter-spacing:.08em;margin:0 0 .2rem;text-transform:uppercase}.case-study__grid dd{color:var(--color-text);font-size:.95rem;line-height:1.55;margin:0}.case-study__tech{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:1.1rem 0 0;padding:0}.case-study__tech li{background:var(--color-accent-subtle);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:.78rem;padding:.25rem .55rem}.section-heading{margin-bottom:2rem;max-width:40rem}.section-heading__eyebrow{color:var(--color-accent);font-size:.78rem;font-weight:600;letter-spacing:.12em;margin:0 0 .55rem;text-transform:uppercase}.section-heading__title{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:560;letter-spacing:-.02em;line-height:1.2;margin:0}.section-heading__description{color:var(--color-text-muted);font-size:1rem;margin:.75rem 0 0}.selected-work__list{grid-gap:.25rem;display:grid;gap:.25rem}.experience-item{border-top:1px solid var(--color-border);padding:1.25rem 0}.experience-item:first-of-type{border-top:none;padding-top:0}.experience-item__meta{align-items:baseline;display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:space-between}.experience-item__company{font-size:1.1rem;font-weight:620;margin:0}.experience-item__subtitle{color:var(--color-text-muted);font-size:.88rem;font-weight:500}.experience-item__dates{color:var(--color-text-muted);font-size:.88rem;margin:0}.experience-item__title{color:var(--color-accent);font-size:.95rem;font-weight:540;margin:.35rem 0 .7rem}.experience-item__points{color:var(--color-text);margin:0;padding-left:1.1rem}.experience-item__points li{font-size:.95rem;margin-bottom:.4rem}.experience-item__points li:last-child{margin-bottom:0}.experience__list{max-width:48rem}.capability-group{padding:1rem 0}.capability-group__title{font-size:.92rem;font-weight:620;margin:0 0 .65rem}.capability-group__list{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;padding:0}.capability-group__list li{color:var(--color-text-muted);font-size:.92rem;padding-left:.85rem;position:relative}.capability-group__list li:before{background:var(--color-accent);border-radius:50%;content:"";height:4px;left:0;position:absolute;top:.55em;width:4px}.capabilities__grid{grid-gap:.5rem 2rem;border-top:1px solid var(--color-border);display:grid;gap:.5rem 2rem;padding-top:.5rem}@media(min-width:640px){.capabilities__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.capabilities__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.about__layout{grid-gap:.5rem 3rem;display:grid;gap:.5rem 3rem}.about__copy{max-width:40rem}.about__copy p{color:var(--color-text-muted);font-size:1.02rem;line-height:1.65;margin:0 0 .85rem}.about__copy p:last-child{margin-bottom:0}@media(min-width:768px){.about__layout{align-items:start;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.about__layout .section-heading{margin-bottom:0}}.contact-action{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:flex;flex-direction:column;gap:.25rem;min-height:72px;padding:1rem 1.05rem;text-decoration:none;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.contact-action:hover{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-text)}.contact-action__label{font-size:.95rem;font-weight:620}.contact-action__description{color:var(--color-text-muted);font-size:.85rem;word-break:break-word}.contact-form{grid-gap:1rem;display:grid;gap:1rem;width:100%}.contact-form__honeypot{height:1px;left:-10000px;overflow:hidden;position:absolute;width:1px}.contact-form__field{grid-gap:.4rem;display:grid;gap:.4rem}.contact-form__field label{font-size:.88rem;font-weight:580}.contact-form__field input,.contact-form__field textarea{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:.75rem .85rem;width:100%}.contact-form__field input::placeholder,.contact-form__field textarea::placeholder{color:color-mix(in srgb,var(--color-text-muted) 80%,#0000)}.contact-form__field textarea{min-height:140px;resize:vertical}.contact-form__error{color:var(--color-danger);font-size:.85rem;margin:0}.contact-form__submit{width:100%}@media(min-width:640px){.contact-form__submit{justify-self:start;width:auto}}.contact-form__status{font-size:.92rem;margin:0}.contact-form__status--success{color:var(--color-accent)}.contact-form__status--error{color:var(--color-danger)}.contact-form__status--loading{color:var(--color-text-muted)}.contact__actions{grid-gap:.75rem;display:grid;font-style:normal;gap:.75rem;margin-bottom:2rem}@media(min-width:640px){.contact__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.contact__actions{grid-template-columns:repeat(3,minmax(0,1fr))}}.contact__form-wrap{max-width:36rem;padding-top:.5rem}.contact__form-title{font-size:1.05rem;font-weight:600;margin:0 0 1rem}:root,[data-theme=dark]{--color-bg:#0e1114;--color-bg-elevated:#161a1f;--color-surface:#1c2229;--color-border:#2a323c;--color-text:#e8ecf1;--color-text-muted:#9aa5b1;--color-accent:#5b9a8b;--color-accent-hover:#6fafa0;--color-accent-subtle:#5b9a8b1f;--color-danger:#d9776f;--color-focus:#7eb8aa;--shadow-soft:0 1px 0 #ffffff0a,0 8px 24px #00000047;--header-height:64px;--content-max:1120px;--font-sans:"Sora","Segoe UI",sans-serif;--font-display:"Source Serif 4",Georgia,serif;--radius-sm:6px;--radius-md:10px;--space-section:clamp(3.5rem,6vw,5.5rem);--transition-fast:160ms ease;color-scheme:dark}[data-theme=light]{--color-bg:#f4f6f8;--color-bg-elevated:#fff;--color-surface:#fff;--color-border:#d5dce3;--color-text:#151a1f;--color-text-muted:#5c6773;--color-accent:#2f6f63;--color-accent-hover:#255a50;--color-accent-subtle:#2f6f631a;--color-danger:#b42318;--color-focus:#2f6f63;--shadow-soft:0 1px 0 #0f17200a,0 10px 28px #0f17200f;color-scheme:light}@media(prefers-reduced-motion:reduce){:root{--transition-fast:0ms}}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 600px at 10% -10%,#5b9a8b14,#0000 55%),radial-gradient(900px 500px at 100% 0,#788ca00f,#0000 50%),#0e1114;background:radial-gradient(1200px 600px at 10% -10%,#5b9a8b14,#0000 55%),radial-gradient(900px 500px at 100% 0,#788ca00f,#0000 50%),var(--color-bg);color:#e8ecf1;color:var(--color-text);font-family:Sora,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:1rem;line-height:1.6;margin:0;text-rendering:optimizeLegibility}#root,body{min-height:100vh}img,video{display:block;max-width:100%}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:#6fafa0;color:var(--color-accent-hover)}:focus-visible{outline:2px solid #7eb8aa;outline:2px solid var(--color-focus);outline-offset:3px}button,input,textarea{font:inherit}.site{display:flex;flex-direction:column;min-height:100vh}.site__main{flex:1 1}.skip-link{background:#5b9a8b;background:var(--color-accent);border-radius:6px;border-radius:var(--radius-sm);color:#08110f;font-weight:600;left:1rem;padding:.65rem 1rem;position:absolute;text-decoration:none;top:0;transform:translateY(-120%);transition:transform .16s ease;transition:transform var(--transition-fast);z-index:1000}.skip-link:focus{outline:2px solid #7eb8aa;outline:2px solid var(--color-focus);outline-offset:3px;transform:translateY(.75rem)}[data-theme=light] .skip-link{color:#fff}.container{margin-inline:auto;width:min(100% - 2rem,1120px);width:min(100% - 2rem,var(--content-max))}.section{padding-block:clamp(3.5rem,6vw,5.5rem);padding-block:var(--space-section)}.section+.section{border-top:1px solid #2a323c;border-top:1px solid var(--color-border)}.btn{align-items:center;border:1px solid #0000;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:560;gap:.5rem;justify-content:center;letter-spacing:.01em;min-height:44px;padding:.7rem 1.15rem;transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.btn,.btn:hover{text-decoration:none}.btn--primary{background:#5b9a8b;background:var(--color-accent);color:#08110f}.btn--primary:hover{background:#6fafa0;background:var(--color-accent-hover);color:#08110f}[data-theme=light] .btn--primary,[data-theme=light] .btn--primary:hover{color:#fff}.btn--secondary{background:#0000;border-color:#2a323c;border-color:var(--color-border);color:#e8ecf1;color:var(--color-text)}.btn--secondary:hover{border-color:#5b9a8b;border-color:var(--color-accent);color:#6fafa0;color:var(--color-accent-hover)}.btn:disabled{cursor:not-allowed;opacity:.55}.text-link{border-bottom:1px solid #0000;color:#9aa5b1;color:var(--color-text-muted);font-size:.92rem;text-decoration:none;transition:color .16s ease,border-color .16s ease;transition:color var(--transition-fast),border-color var(--transition-fast)}.text-link:hover{border-bottom-color:initial;color:#6fafa0;color:var(--color-accent-hover)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero__content,.hero__media{animation:rise-in .52s ease both}.hero__media{animation-delay:80ms}@media(prefers-reduced-motion:reduce){.hero__content,.hero__media{animation:none}}