@font-face{font-family:Lato;font-style:normal;font-weight:300;font-display:swap;src:url(../media/20f1c48c725d3555-s.09l1jz5ihg0p~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:300;font-display:swap;src:url(../media/f30fd2e485acf1bc-s.p.0_qs2mjxez25z.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b529365fa126a3f2-s.17~hndooavd5u.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8e451580e5e95631-s.p.0put2--9ix-3p.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d74bdd14d6019bc6-s.02x781ca3~dwt.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(../media/345c85a432359eed-s.p.0az0.9544w3d6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:900;font-display:swap;src:url(../media/da28569d36042d01-s.0wf~e3vwy0y3..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:900;font-display:swap;src:url(../media/9be384ea93fe3f49-s.p.05qlfybzfat._.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato Fallback;src:local(Arial);ascent-override:101.03%;descent-override:21.8%;line-gap-override:0.0%;size-adjust:97.69%}.lato_54863cbb-module__bpuwtG__className{font-family:Lato,Lato Fallback;font-style:normal}.lato_54863cbb-module__bpuwtG__variable{--font-sans:"Lato", "Lato Fallback"}
:root{--ink:#17201a;--muted:#5e665f;--paper:#f5f0e7;--paper-deep:#ebe2d2;--line:#d8cdbb;--accent:#2f5d50;--accent-strong:#173d35;--white:#fffaf1;--shadow:0 24px 70px #212a2324;--text-display:clamp(1.875rem, 2.5vw + .75rem, 2.75rem);--text-section:clamp(1.5rem, 2.2vw + .5rem, 2.25rem);--text-card:clamp(1.15rem, 1.2vw + .85rem, 1.35rem);--section-space:clamp(2rem, 5vw, 3rem);--header-top:1rem;--header-height:3.75rem;--header-offset:calc(var(--header-top) + var(--header-height))}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:120%}body{color:var(--ink);background:radial-gradient(circle at top left, #2f5d5029, transparent 34rem), linear-gradient(135deg, #d8cdbb6b 0 1px, transparent 1px 18px), var(--paper);font-family:var(--font-sans), sans-serif;margin:0}a{color:inherit;text-decoration:none}p{color:var(--muted);margin:0;line-height:1.7}h1,h2,h3{color:var(--ink);font-family:var(--font-sans), sans-serif;letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.2}h1{font-size:var(--text-display);max-width:min(34ch,100%)}h2{font-size:var(--text-section);max-width:min(28ch,100%);line-height:1.15}h3{font-size:var(--text-card);max-width:none;line-height:1.25}ul{margin:0;padding-left:1.2rem}li{color:var(--muted);margin-top:.65rem;line-height:1.7}.skip-link{background:var(--accent-strong);color:var(--white);z-index:1100;padding:.75rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-footer,.section-shell{width:min(1180px,100% - 40px);margin-inline:auto}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);height:var(--header-height);left:50%;top:var(--header-top);z-index:1000;background:#fffaf1c7;border-radius:999px;justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);padding:0 .25rem 0 1.25rem;transition:background .3s,box-shadow .3s;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 32px #212a2314}.site-header.is-scrolled{background:#fffaf1eb;box-shadow:0 12px 40px #212a2324}.site-header-bar{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.site-header>nav{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.nav-toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:.5rem;display:none}.nav-toggle:hover,.nav-toggle:focus-visible{background:#2f5d5014;outline:none}.nav-toggle span{background:var(--accent-strong);transform-origin:50%;width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}.nav-toggle.is-active span:first-child{transform:rotate(45deg)translate(5px,5px)}.nav-toggle.is-active span:nth-child(2){opacity:0}.nav-toggle.is-active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}body.nav-menu-open{overflow:hidden}main{padding-top:var(--header-offset)}.brand{letter-spacing:-.03em;font-weight:700}nav,.footer-links,.hero-actions,.tag-list{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}nav a,.footer-links a,.text-link{color:var(--accent-strong);font-weight:700}nav a{border:1px solid #0000;border-radius:999px;padding:.6rem .85rem}nav a:hover,nav a:focus-visible{border-color:var(--line);background:#fffaf1ad}.site-header nav a.is-active{border-color:var(--line);color:var(--accent-strong);background:#2f5d501f}.intro{min-height:0;padding-bottom:.5rem}.hero{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:1.25rem;padding:clamp(1.5rem,3vw,2.5rem) 0;display:grid}.hero-copy{gap:1rem;display:grid}.hero h1,.page-hero h1{font-size:var(--text-display);max-width:min(34ch,100%);line-height:1.22}.hero-summary{max-width:680px;font-size:clamp(1rem,1.6vw,1.2rem)}.hero .button{padding:.75rem 1rem}.eyebrow,.card-kicker{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:800}.button{border-radius:999px;justify-content:center;padding:.95rem 1.2rem;font-weight:800;display:inline-flex}.button.primary{background:var(--accent-strong);color:var(--white)}.button.secondary{border:1px solid var(--line);color:var(--accent-strong)}.portrait-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffaf1c7;border-radius:2rem;justify-self:end;max-width:min(100%,280px);overflow:hidden}.portrait-card img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;max-height:min(340px,42dvh);display:block}.portrait-card div{justify-content:space-between;align-items:center;padding:1rem;display:flex}.portrait-card span{color:var(--muted)}.proof-strip{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:.75rem;padding:1rem 0;display:grid}.proof-strip p{color:var(--ink);font-size:.9rem;font-weight:700;line-height:1.45}.intro+.section-shell,main>.section-shell+.section-shell{padding-top:var(--section-space)}main>.section-shell:last-of-type,.featured-work{padding-bottom:var(--section-space)}.split-section{grid-template-columns:1fr;gap:0;display:grid}.split-section .section-heading{margin-bottom:1.25rem}.strength-grid,.project-grid{gap:1rem;display:grid}.strength-grid{grid-template-columns:repeat(3,1fr)}.strength-card,.project-card,.timeline-item{border:1px solid var(--line);background:#fffaf1b8;border-radius:1.5rem;padding:1.2rem;box-shadow:0 14px 45px #212a2314}.strength-card{gap:.8rem;display:grid}.section-heading{gap:.9rem;margin-bottom:1.5rem;display:grid}.section-heading p{max-width:680px}.row-heading{justify-content:space-between;align-items:end;display:flex}.timeline{gap:1rem;display:grid}.timeline-item{grid-template-columns:.42fr 1fr;gap:1.5rem;display:grid}.timeline-item p{margin-top:.45rem}.tag-list span{color:var(--accent-strong);background:#2f5d501a;border:1px solid #2f5d502e;border-radius:999px;padding:.5rem .75rem;font-size:.88rem;font-weight:700}.tag-list.large{gap:.85rem}.tag-list.large span{padding:.65rem .9rem;font-size:1rem}.featured{grid-template-columns:repeat(3,1fr)}.featured-work .project-grid.featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.project-grid:not(.featured){grid-template-columns:repeat(2,1fr)}.project-card{gap:1rem;display:grid}.project-card-featured{grid-column:1/-1}.project-grid-featured{grid-template-columns:1fr}.page-hero .work-guide{gap:.9rem;margin:0;padding:0;display:grid}.work-guide-title{font-size:var(--text-card);margin:0;line-height:1.25}.work-guide-list{gap:.65rem;max-width:720px;display:grid}.work-guide-list li{color:var(--muted)}.work-guide-list strong{color:var(--ink)}.project-visual{border:1px solid var(--line);background:#173d350f;border-radius:1rem;margin:0;padding:.85rem;overflow:hidden}.visual-caption{color:var(--muted);text-align:left;margin-top:.65rem;font-size:.78rem;line-height:1.45}.tableau-dashboard .dash-kpi-row{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.dash-kpi{background:var(--white);border:1px solid var(--line);border-radius:.65rem;gap:.2rem;padding:.5rem .55rem;display:grid}.dash-kpi span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:700}.dash-kpi strong{color:var(--accent-strong);font-size:.95rem}.dash-main,.dash-footer{gap:.5rem;margin-top:.5rem;display:grid}.dash-main{grid-template-columns:1.2fr .9fr .7fr}.dash-footer{grid-template-columns:1fr 1fr}.dash-panel{background:var(--white);border:1px solid var(--line);border-radius:.65rem;gap:.45rem;min-height:5.5rem;padding:.5rem .55rem;display:grid}.dash-panel>span{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:800}.dash-bars{align-items:end;gap:.35rem;height:3.2rem;display:flex}.dash-bars i{background:linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%);border-radius:.2rem .2rem 0 0;flex:1;display:block}.dash-funnel{gap:.3rem;display:grid}.dash-funnel div{background:#2f5d5038;border-radius:.2rem;height:.55rem}.dash-donut{aspect-ratio:1;background:conic-gradient(var(--accent) 0 42%, #2f5d5059 42% 68%, #2f5d5026 68% 100%);border-radius:50%;width:70%;max-width:3.5rem;margin:.25rem auto 0;position:relative}.dash-donut:after{background:var(--white);content:"";border-radius:50%;width:55%;height:55%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dash-panel.notes p{color:var(--ink);font-size:.78rem;font-weight:600;line-height:1.45}.dash-panel.table ul{margin:0;padding:0;list-style:none}.dash-panel.table li{color:var(--ink);justify-content:space-between;margin-top:.35rem;font-size:.75rem;font-weight:600;display:flex}.agent-workflow .workflow-stages{flex-wrap:wrap;gap:.35rem .15rem;margin:0;padding:0;list-style:none;display:flex}.workflow-stages>li{align-items:center;gap:.15rem;margin:0;display:flex}.workflow-node{background:var(--white);border:1px solid var(--line);border-radius:.65rem;gap:.15rem;min-width:4.5rem;padding:.45rem .5rem;display:grid}.workflow-step{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:800}.workflow-node strong{color:var(--ink);font-family:var(--font-sans), sans-serif;letter-spacing:0;font-size:.72rem;font-weight:700;line-height:1.2}.workflow-gate{color:var(--accent-strong);font-size:.58rem;font-style:normal;font-weight:700}.workflow-arrow{color:var(--accent);font-size:.85rem;font-weight:800}.workflow-output{color:var(--ink);margin-top:.55rem;font-size:.78rem;font-weight:600;line-height:1.45}.workflow-output span{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.15rem;font-size:.62rem;font-weight:800;display:block}.project-summary{color:var(--ink);font-weight:600}.project-card dl{gap:.85rem;margin:0;display:grid}.project-card dt{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.25rem;font-size:.76rem;font-weight:800}.project-card dd{color:var(--muted);margin:0;line-height:1.6}.page-hero{gap:.9rem;padding:clamp(1.25rem,3dvh,2.5rem) 0 0;display:grid}.page-hero p{max-width:780px;font-size:clamp(.95rem,1.1vw + .75rem,1.15rem);line-height:1.55}.site-footer{border-top:1px solid var(--line);justify-content:space-between;padding:2rem 0;display:flex}.site-footer p{margin-bottom:.4rem}.site-footer a{color:var(--accent-strong);font-weight:800}@media (max-width:900px){.site-footer,.row-heading,.portrait-card div{flex-direction:column;align-items:flex-start}:root{--header-top:0;--header-height:3.5rem;--header-offset:var(--header-height)}.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border:none;border-radius:0;width:100%;height:auto;padding:0;display:block;left:0;right:0;overflow:visible;transform:none}.site-header.is-scrolled .site-header-bar{background:#fffaf1eb;box-shadow:0 12px 40px #212a2324}.site-header-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:var(--header-height);background:#fffaf1c7;width:min(1180px,100% - 40px);margin-inline:auto;padding:0 1rem;transition:background .3s,box-shadow .3s;box-shadow:0 2px 12px #212a230f}.nav-toggle{display:flex}.site-header>nav{top:var(--header-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);max-height:calc(100dvh - var(--header-height));z-index:1001;-webkit-overflow-scrolling:touch;background:#fffaf1f5;flex-flow:column;align-items:stretch;gap:.25rem;padding:1rem 1.25rem 1.5rem;display:none;position:fixed;left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #212a231f}.site-header>nav.is-open{display:flex}.site-header>nav a{white-space:normal;border-radius:.5rem;width:100%;padding:.85rem 1rem;font-size:1rem}.site-header>nav a:hover,.site-header>nav a:focus-visible{background:#2f5d5014}.intro{padding-bottom:.25rem;overflow-x:clip}.hero{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(118px,36vw) minmax(0,1fr);align-items:stretch;gap:.5rem 1rem;min-height:auto;padding:1rem 0 .5rem}.hero-copy{display:contents}.hero .eyebrow{grid-area:1/2;align-self:start}.hero h1{grid-area:2/2;max-width:none;font-size:clamp(1.5rem,5vw + .25rem,2rem);line-height:1.22}.hero-summary{grid-area:3/1/auto/-1;max-width:none;margin-top:.15rem;font-size:.95rem;line-height:1.55}.page-hero h1{max-width:none;font-size:clamp(1.5rem,5vw + .25rem,2rem);line-height:1.22}.page-hero p{font-size:.95rem;line-height:1.55}.hero-actions{grid-area:4/1/auto/-1}.hero .button{flex:9rem;padding:.7rem .9rem}.portrait-card{flex-direction:column;grid-area:1/1/span 2;place-self:stretch stretch;width:100%;max-width:none;display:flex}.portrait-card img{object-fit:cover;object-position:center top;flex:auto;width:100%;height:100%;min-height:0;max-height:none}.portrait-card div,.skill-mobile-hidden,.project-desktop-only{display:none}.proof-strip{border-block:none;border-left:2px solid var(--accent);grid-template-columns:1fr;gap:.4rem;margin-top:.15rem;padding:.5rem 0 .5rem .65rem;display:grid;overflow:visible}.proof-strip p{font-size:.78rem;font-weight:600;line-height:1.35}.proof-strip p:before{color:var(--accent);content:"• ";font-weight:800}.split-section,.timeline-item,.strength-grid,.featured,.featured-work .project-grid.featured,.project-grid:not(.featured){grid-template-columns:1fr}.tableau-dashboard .dash-kpi-row{grid-template-columns:repeat(2,1fr)}.dash-main,.dash-footer{grid-template-columns:1fr}.workflow-stages>li{flex:auto}.workflow-arrow{display:none}}@media (max-width:560px){.site-header-bar,.site-footer,.section-shell{width:min(100% - 28px,1180px)}.site-header>nav{padding-inline:max(1rem,50vw + min(100% - 28px,1180px)/-2)}.site-header .brand{font-size:.95rem}.proof-strip p{font-size:.75rem;line-height:1.32}}
