:where(*,:before,:after){box-sizing:border-box;margin:0;padding:0}:root{--font-sans:"Outfit",system-ui,sans-serif;--font-serif:"Instrument Serif",Georgia,serif;--text-xs:0.72rem;--text-sm:0.85rem;--text-md:1rem;--text-lg:1.08rem;--text-xl:1.4rem;--text-hero:clamp(2.8rem,4.5vw,4.2rem);--text-eyebrow:0.7rem;--type-weight-brand:600;--type-weight-h1:400;--type-weight-h2:400;--ink:#0f1419;--muted:#4a5568;--accent:#0c8489;--accent-soft:rgba(12,132,137,.08);--accent-hover:#0a6b6f;--accent-glow:rgba(12,132,137,.15);--surface:#fff;--line:rgba(15,20,25,.08);--bg-body:#f5f5f0;--card-border:rgba(15,20,25,.06);--hero-photo-border:hsla(0,0%,100%,.9);--hero-photo-shadow:0 12px 32px rgba(15,20,25,.15);--project-item-bg:hsla(0,0%,100%,.6);--project-item-border:rgba(15,20,25,.06);--button-primary-text:#fff;--shadow:0 4px 24px rgba(15,20,25,.08),0 1px 2px rgba(15,20,25,.04);--shadow-soft:0 2px 12px rgba(15,20,25,.05);--shadow-lift:0 12px 40px rgba(15,20,25,.12),0 2px 6px rgba(15,20,25,.06);--space-xs:6px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:72px;--radius-lg:16px;--radius-md:10px;--radius-sm:6px;--radius-pill:999px}:where(body){background:var(--bg-body);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-md);font-weight:400;line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased}body{opacity:1;transform:none}body:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='4' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Cpath d='M0 0h200v200H0z' filter='url(%23a)' opacity='.03'/%3E%3C/svg%3E");content:"";inset:0;mix-blend-mode:multiply;opacity:.4;pointer-events:none;position:fixed;z-index:9999}.js body .page-content>*{opacity:0;transform:translateY(20px)}.js body.page-ready .page-content>*{opacity:1;transform:translateY(0);transition:opacity .6s cubic-bezier(.22,.8,.2,1),transform .6s cubic-bezier(.22,.8,.2,1)}.js body.is-leaving .page-content>*{opacity:0;transform:translateY(-8px);transition:opacity .12s ease,transform .12s ease}.js body.page-ready .page-content>:first-child{transition-delay:0s}.js body.page-ready .page-content>:nth-child(2){transition-delay:80ms}.js body.page-ready .page-content>:nth-child(3){transition-delay:.16s}.js body.page-ready .page-content>:nth-child(4){transition-delay:.24s}.js body.page-ready .page-content>:nth-child(5){transition-delay:.32s}.js body.page-ready .page-content>:nth-child(6){transition-delay:.4s}.js .scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .5s cubic-bezier(.22,.8,.2,1),transform .5s cubic-bezier(.22,.8,.2,1)}.js .scroll-reveal.is-visible{opacity:1;transform:translateY(0)}:where(h1,h2){font-family:var(--font-serif);font-style:italic}a{color:inherit;text-decoration:none}.role a,a:hover,li a,p a{color:var(--accent)}.role a,li a,p a{text-decoration:underline;text-decoration-color:rgba(12,132,137,.3);text-underline-offset:3px;transition:text-decoration-color .2s ease}.role a:hover,li a:hover,p a:hover{text-decoration-color:var(--accent)}p{margin-bottom:var(--space-md)}::selection{background:var(--accent);color:#fff}.page{position:relative;z-index:1;--page-pad-block:80px;--page-pad-inline:24px;margin:0 auto;max-width:1100px;padding:var(--page-pad-block) var(--page-pad-inline) 96px}.page-content{display:grid;gap:var(--space-xl)}.top-nav{border-bottom:1px solid var(--line);gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg)}.brand,.top-nav{align-items:center;display:flex}.brand{font-family:var(--font-serif);font-size:clamp(1.35rem,1.7vw,1.75rem);font-style:italic;font-weight:var(--type-weight-brand);gap:10px;line-height:1.1}.brand:hover{color:var(--ink)}.mw-logo{cursor:pointer;height:auto;transform-origin:center;transition:transform .6s cubic-bezier(.65,0,.35,1);width:85px}.brand:hover .mw-logo{transform:rotate(180deg)}.nav-links{color:var(--muted);display:flex;flex-wrap:wrap;font-size:var(--text-sm);font-weight:500;gap:4px;isolation:isolate;position:relative;& a{border:1px solid transparent;border-radius:var(--radius-pill);padding:7px 14px;position:relative;transition:color .2s ease,transform .2s ease;z-index:1}& a:after{background:var(--accent);border-radius:1px;bottom:2px;content:"";height:1.5px;left:50%;position:absolute;transform:translateX(-50%);transition:width .25s cubic-bezier(.22,.8,.2,1);width:0}& a:hover:after{width:60%}& a[aria-current=page]:after{width:0}& a[aria-current=page]{background:transparent;border-color:transparent;color:var(--ink);transform:translateY(-1px)}}.nav-pill-indicator{box-shadow:var(--shadow-soft);transition:transform .26s cubic-bezier(.2,.8,.2,1),width .26s cubic-bezier(.2,.8,.2,1)}.nav-pill-ghost,.nav-pill-indicator{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);bottom:0;left:0;position:absolute;top:0;width:0}.nav-pill-ghost{opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.2,.8,.2,1),width .26s cubic-bezier(.2,.8,.2,1),opacity .15s ease}.nav-pill-ghost.is-visible{opacity:.6}@keyframes photo-ring-spin{to{transform:rotate(1turn)}}.hero{align-items:center;display:flex;gap:var(--space-2xl);& .hero-identity{--hero-photo-size:160px;align-items:center;display:grid;gap:var(--space-lg);grid-template-columns:auto 1fr}& .hero-photo{flex-shrink:0;height:var(--hero-photo-size);position:relative;width:var(--hero-photo-size);& img{border:4px solid var(--hero-photo-border);border-radius:100vh;box-shadow:var(--hero-photo-shadow);height:100%;object-fit:cover;width:100%}}& .hero-photo:after{animation:photo-ring-spin 8s linear infinite;background:conic-gradient(from 0deg,var(--accent),transparent 40%,transparent 60%,var(--accent)) border-box;border:2px solid transparent;border-radius:100vh;content:"";inset:-4px;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;position:absolute}}.hero .hero-copy h1,.hero .hero-photo{view-transition-name:none}.eyebrow{color:var(--accent);font-family:var(--font-sans);font-size:var(--text-eyebrow);font-style:normal;font-weight:600;letter-spacing:.2em;margin-bottom:12px;text-transform:uppercase}h1{font-size:var(--text-hero);font-weight:var(--type-weight-h1);letter-spacing:-.01em;line-height:1.08;margin-bottom:16px}.role{color:var(--muted);font-size:var(--text-lg);line-height:1.65}.hero-copy{display:grid;gap:var(--space-xs)}@keyframes hero-gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.card.landing-hero{animation:hero-gradient-shift 12s ease infinite;background:linear-gradient(135deg,#071e20,#0a3638 20%,#0c4a4d 40%,#0d6163 60%,#0c8489 80%,#0a3638);background-size:200% 200%;border-color:transparent;box-shadow:var(--shadow-lift);color:#fff;overflow:hidden;padding:var(--space-3xl) var(--space-2xl);position:relative}.card.landing-hero:before{background:radial-gradient(ellipse at 20% 80%,rgba(12,132,137,.4) 0,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(14,160,164,.3) 0,transparent 50%),radial-gradient(circle at 60% 50%,hsla(0,0%,100%,.03) 0,transparent 40%);content:"";inset:0;pointer-events:none;position:absolute}.card.landing-hero .eyebrow{color:hsla(0,0%,100%,.6);position:relative}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.card.landing-hero h1{background:linear-gradient(110deg,#fff,#fff 40%,rgba(167,230,232,.9) 50%,#fff 60%,#fff);-webkit-background-clip:text;background-clip:text;background-size:200% auto;max-width:680px;position:relative;text-wrap:balance;-webkit-text-fill-color:transparent;animation:shimmer 6s ease-in-out infinite;animation-delay:1s}.card.landing-hero .role{color:hsla(0,0%,100%,.8);max-width:540px;position:relative}.card.landing-hero .button-row{position:relative}.card.landing-hero .button{background:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(0,0,0,.15);color:#0c4547}.card.landing-hero .button:hover{background:hsla(0,0%,100%,.92);box-shadow:0 4px 16px rgba(0,0,0,.2);color:#0a2e30}.card.landing-hero .button-secondary{background:transparent;border-color:hsla(0,0%,100%,.25);box-shadow:none;color:hsla(0,0%,100%,.9)}.card.landing-hero .button-secondary:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.5);box-shadow:none;color:#fff;transform:none}.landing-hero h1{text-wrap:balance}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}.button{align-items:center;background:var(--accent);border:1px solid transparent;border-radius:var(--radius-md);display:inline-flex;font-size:var(--text-sm);font-weight:600;justify-content:center;letter-spacing:.02em;padding:13px 28px;transition:all .2s cubic-bezier(.22,.8,.2,1)}.button,.button:hover{color:var(--button-primary-text)}.button:hover{background:var(--accent-hover);box-shadow:0 6px 20px rgba(12,132,137,.3);transform:translateY(-2px)}.button.button-secondary{background:transparent;border-color:var(--line);color:var(--ink)}.button.button-secondary:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:none;color:var(--accent);transform:none}.service-grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-xl)}.page-content .service-grid{margin-top:0}.service-grid{counter-reset:service-counter}.service-card{border-top:3px solid var(--accent);counter-increment:service-counter;position:relative;transition:transform .25s cubic-bezier(.22,.8,.2,1),box-shadow .25s cubic-bezier(.22,.8,.2,1)}.service-card:before{color:var(--accent);content:"0" counter(service-counter);font-family:var(--font-serif);font-size:3rem;font-style:italic;font-weight:400;line-height:1;opacity:.08;pointer-events:none;position:absolute;right:20px;top:16px}.service-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px)}.service-card:hover:before{opacity:.15}.service-card h2{font-family:var(--font-sans);font-size:1.1rem;font-style:normal;font-weight:600}.capability-grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:var(--space-md)}.capability-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:var(--space-xs);overflow:hidden;padding:20px;position:relative;transition:all .25s cubic-bezier(.22,.8,.2,1)}.capability-card:after{background:var(--accent);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .3s cubic-bezier(.22,.8,.2,1);width:0}.capability-card:focus-visible,.capability-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.capability-card:focus-visible:after,.capability-card:hover:after{width:100%}.capability-card:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.capability-card h3{font-family:var(--font-sans);font-weight:600;margin-bottom:0}.capability-card p{color:var(--muted);margin-bottom:0}.contact-form,.form-grid{display:grid;gap:var(--space-md)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form label{color:var(--muted);display:grid;font-size:var(--text-sm);font-weight:500;gap:var(--space-xs)}.contact-form input,.contact-form select,.contact-form textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font:inherit;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.hp-field{left:-9999px;opacity:0;pointer-events:none;position:absolute}.card{--card-pad:32px;background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--card-pad)}.card.section.row,.card.section.section.row,.row{align-content:start;display:grid;gap:var(--space-md)}.card.section.row>:last-child,.card.section.section.row>:last-child{margin-bottom:0}h2{font-size:var(--text-xl);font-weight:var(--type-weight-h2);margin-bottom:var(--space-md)}h3{font-size:1.05rem;font-weight:500;margin-bottom:var(--space-xs)}ol,ul{margin-inline-start:2em}.pill-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:4px;& li{background:var(--accent-soft);border:1px solid rgba(12,132,137,.12);border-radius:var(--radius-sm);color:var(--accent-hover);font-size:var(--text-sm);font-weight:500;padding:6px 14px}}.timeline{display:grid;gap:var(--space-lg);& article{border-left:2px solid rgba(12,132,137,.2);padding-left:20px;position:relative}& article:before{background:var(--accent);border:2px solid var(--bg-body);border-radius:50%;box-shadow:0 0 0 2px rgba(12,132,137,.15);content:"";height:10px;left:-6px;position:absolute;top:2px;width:10px}}.timeline-heading{color:var(--muted);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--space-xs);& h3{color:var(--ink)}}.timeline-date{align-self:flex-end;color:var(--accent);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.cta-band{background:linear-gradient(135deg,#071e20,#0c4547);border-radius:var(--radius-lg);display:grid;gap:var(--space-lg);justify-items:center;margin-top:var(--space-3xl);padding:var(--space-2xl) var(--space-xl);text-align:center}.cta-band-text{color:hsla(0,0%,100%,.9);font-family:var(--font-serif);font-size:var(--text-xl);font-style:italic;margin-bottom:0;max-width:500px}.cta-band .button{background:#fff;border-color:transparent;color:#0c4547}.cta-band .button:hover{background:hsla(0,0%,100%,.92);box-shadow:0 4px 16px rgba(0,0,0,.2);color:#0a2e30}.site-footer{align-items:center;border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-sm);justify-content:space-between;margin-top:var(--space-3xl);padding:var(--space-xl) 0 0}.cta-band+.site-footer{margin-top:var(--space-xl)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.footer-links a{transition:color .15s ease}.site-footer p{margin-bottom:0}.blog-list{display:grid;gap:var(--space-md)}.blog-card{border-left:3px solid transparent;transition:transform .25s cubic-bezier(.22,.8,.2,1),box-shadow .25s cubic-bezier(.22,.8,.2,1),border-color .25s ease}.blog-card:hover{border-left-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.blog-card h2{font-size:1.25rem}.blog-meta{color:var(--accent);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase}.markdown-article{margin-top:var(--space-xl);max-width:760px}.markdown-article h1{margin-bottom:var(--space-md)}.markdown-article h2{font-size:1.2rem;margin-top:var(--space-xl)}.markdown-article ul{display:grid;gap:var(--space-xs);margin:0 0 var(--space-md) 22px}.markdown-article code{background:#eef0f0;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88em;padding:2px 7px}.markdown-article pre{background:#0f1419;border:1px solid hsla(0,0%,100%,.06);border-radius:var(--radius-md);color:#e2e8f0;margin-bottom:var(--space-lg);overflow-x:auto;padding:20px 24px}.markdown-article pre code{background:none;border-radius:0;color:inherit;padding:0}@media print{@page{size:letter;margin:.25in}:root{--text-xs:0.52rem;--text-sm:0.62rem;--text-md:0.74rem;--text-lg:0.82rem;--text-xl:0.92rem;--text-hero:1.7rem}:where(body){background:#fff;color:#000;line-height:1.22}.top-nav,body:after{display:none!important}.page{max-width:none;padding:0}.hero{gap:8px}.hero-photo{border:2px solid #ddd;box-shadow:none;height:64px;width:64px}.card{--card-pad:10px;background:transparent;border:1px solid #ddd;box-shadow:none}.pill-list li{font-size:var(--text-xs);padding:2px 6px}.pill-list{gap:4px}.timeline-heading{font-size:var(--text-xs)}.timeline{gap:6px}h1{margin-bottom:4px}h2,p{margin-bottom:6px}.site-footer{margin-top:8px;padding-top:6px}.card,.timeline article{break-inside:avoid;page-break-inside:avoid}*{animation:none!important;transition:none!important}}@media (prefers-reduced-motion:reduce){.js .scroll-reveal,.js body .page-content,.js body.is-leaving .page-content,.js body.page-ready .page-content,.js body.page-ready .page-content>*,.nav-links a,.nav-pill-indicator{opacity:1!important;transform:none!important;transition:none!important}.card.landing-hero{animation:none}.card.landing-hero h1{animation:none;-webkit-text-fill-color:#fff;background:none}.hero .hero-photo:after,body:after{display:none}}@media (max-width:980px){.hero,.top-nav{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr}.content{order:1}}@media (max-width:640px){.page{--page-pad-block:48px;--page-pad-inline:18px}.card{--card-pad:24px}.card.landing-hero{padding:var(--space-2xl) var(--space-lg)}.nav-links{gap:2px}.form-grid{grid-template-columns:1fr}h1{font-size:clamp(2rem,6vw,2.8rem)}}