:root{--paper:#f5f3ed;--white:#fffefa;--ink:#172b2a;--muted:#586863;--line:#d9ded5;--teal:#225d55;--orange:#bb633e;--dark:#102b2b;--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--display:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65}a{color:inherit}button,input{font:inherit}button{cursor:pointer}::selection{background:#c5ddd4;color:var(--ink)}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}img{max-width:100%}.ui-icon{display:inline-block;width:18px;height:18px;vertical-align:-.25em;flex:none}[hidden]{display:none!important}.shell{max-width:1320px;padding:0 48px;margin:auto}.skip{position:absolute;left:-10000px;top:8px;background:var(--white);padding:10px 20px;z-index:20}.skip:focus{left:10px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:2}.header-inner{min-height:90px;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}.brand-mark{display:inline-block;font:800 46px/1 var(--display);letter-spacing:-.13em;color:var(--ink)}.brand-dot,.footer-monogram span{color:var(--orange)}.brand-copy{font:700 15px/1.2 var(--display);letter-spacing:-.02em}.brand-copy small{display:block;font:600 9px/1.5 var(--font);letter-spacing:.17em;color:var(--muted);margin-top:5px}.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.main-nav a{font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;color:#40524e;transition:color .2s}.main-nav a:hover,.main-nav a[aria-current]{color:var(--orange)}.main-nav a[aria-current]{text-decoration:underline;text-underline-offset:9px}.header-contact{font-size:12px;font-weight:700;text-decoration:none;border:1px solid var(--ink);padding:12px 18px;white-space:nowrap;transition:background .2s,color .2s}.header-contact:hover{background:var(--ink);color:white}.header-contact .ui-icon{margin-right:6px}.eyebrow{display:block;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.2em;line-height:1.5;text-transform:uppercase}.hero{background:var(--paper)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);min-height:650px}.hero-main{padding:94px 78px 86px 0}.hero h1,.page-hero h1,.detail-hero h1{font:700 clamp(48px,5.35vw,86px)/1.09 var(--display);letter-spacing:-.065em;margin:25px 0 32px;max-width:840px}.hero h1 em,.page-hero h1 em{font-style:normal;color:var(--teal)}.hero-lead{font:500 clamp(19px,2vw,24px)/1.55 var(--display);letter-spacing:-.025em;max-width:710px;margin:0 0 16px}.hero-sub{color:var(--muted);max-width:590px;margin:0 0 38px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;text-decoration:none;padding:15px 21px;font-weight:700;font-size:13px;line-height:1.3;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--dark);color:white;border:1px solid var(--dark)}.button-dark:hover{background:var(--teal)}.button-outline{border:1px solid #87938b}.button-outline:hover{background:#e5ece5}.button-light{background:var(--white);color:var(--ink)}.hero-aside{border-left:1px solid var(--line);padding:92px 0 32px 40px;display:flex;flex-direction:column;justify-content:space-between}.aside-label{font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--muted)}.vertical-chain{border-left:1px solid #b5c8bc;margin:35px 0 60px 11px}.vertical-chain div{position:relative;padding:0 0 37px 28px}.vertical-chain div:last-child{padding-bottom:0}.vertical-chain div:before{content:'';width:8px;height:8px;background:var(--orange);border:4px solid var(--paper);position:absolute;left:-8px;top:4px;border-radius:50%}.vertical-chain span{display:block;font-size:11px;color:var(--orange);font-weight:700}.vertical-chain strong{display:block;font:700 15px/1.35 var(--display);margin:5px 0}.vertical-chain small{color:var(--muted);font-size:12px}.hero-aside>p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.hero-bottom{border-top:1px solid var(--line);padding-top:20px;padding-bottom:22px;display:flex;gap:17px;flex-wrap:wrap;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.hero-bottom i{font-style:normal;color:var(--orange)}.section{padding:104px 0}.selected-section{background:#ebece5}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.section-heading h2,.chain-section h2,.contact-band h2,.about-bottom h2{font:700 clamp(32px,3.4vw,50px)/1.18 var(--display);letter-spacing:-.055em;margin:12px 0 12px}.section-heading p,.chain-section p{color:var(--muted);max-width:580px;margin:0}.text-link{font-size:13px;font-weight:700;color:var(--teal);text-decoration:none;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block}.text-link:hover{color:var(--orange)}.featured-grid,.directory-grid,.related-grid,.open-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.case-card{background:var(--white);border:1px solid #dce0d8;min-width:0;transition:border-color .2s,transform .2s,box-shadow .2s}.case-card:hover{border-color:#8caba1;transform:translateY(-3px);box-shadow:0 12px 30px #1228240d}.card-link{display:flex;flex-direction:column;justify-content:space-between;min-height:275px;padding:26px 28px;text-decoration:none}.card-top{display:flex;justify-content:space-between;align-items:start}.case-number{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--orange)}.card-arrow{font-size:23px;font-weight:400;line-height:1;color:var(--teal)}.card-bottom h3{font:700 clamp(20px,2vw,27px)/1.3 var(--display);letter-spacing:-.04em;margin:0 0 10px;max-width:450px}.card-bottom p{color:#50615b;margin:0 0 20px;max-width:510px;font-size:14px;line-height:1.6}.card-tech{display:block;font-size:11px;color:var(--teal);margin:-7px 0 12px}.card-domains{display:block;padding-top:12px;border-top:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}.featured-card:nth-child(4n+1){background:#e5eee8}.featured-card:nth-child(4n){background:#f8ebe1}.services-section{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service{padding:31px 34px 6px 0;border-right:1px solid var(--line)}.service+ .service{padding-left:34px}.service:last-child{border-right:0}.service>span{font:700 12px var(--display);color:var(--orange)}.service h3{font:700 23px/1.3 var(--display);letter-spacing:-.035em;margin:28px 0 12px}.service p{font-size:14px;color:var(--muted);margin:0}.chain-section{background:#dae6de}.chain-section .shell{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:60px}.flow{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.flow span{padding:12px 13px;background:#f4f8f2;border:1px solid #bbd0be;font-size:12px;font-weight:700}.flow b{font-weight:400;color:var(--teal)}.contact-band{background:var(--dark);color:white;padding:72px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.contact-band .eyebrow{color:#e8a683}.contact-band h2{max-width:670px;margin:10px 0}.contact-band p{color:#bbd0c9;margin:0}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px}.contact-actions .button{gap:8px}.contact-phone{display:inline-flex;align-items:center;gap:8px;color:white;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}.contact-phone:hover{color:#e8a683}.site-footer{background:#0b2222;color:white;padding:70px 0 50px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px}.footer-monogram{font:800 46px/1 var(--display);letter-spacing:-.13em;margin-bottom:24px}.site-footer p{color:#b0c5bd;font-size:13px;margin:0 0 30px}.site-footer small{color:#809a90;font-size:11px}.site-footer .eyebrow{color:#e3a282;margin:8px 0 19px}.site-footer a{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;text-decoration:none;font-size:13px;margin-bottom:12px}.site-footer a:hover{text-decoration:underline}.site-footer a .ui-icon{margin-right:7px}.site-footer .footer-note{font-size:11px;max-width:250px;margin:28px 0 0}.page-hero{padding-top:86px;padding-bottom:82px}.page-hero h1{max-width:850px;margin:22px 0}.page-hero>p{font:500 clamp(18px,1.8vw,23px)/1.55 var(--display);letter-spacing:-.02em;max-width:720px;margin:0;color:#3e5651}.directory-layout{border-top:1px solid var(--line);padding-top:40px;padding-bottom:120px;display:grid;grid-template-columns:235px 1fr;gap:50px}.filters{position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-width:thin;padding-right:8px}.filters-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}.filters h2{font:700 17px var(--display);margin:0}.clear-button{padding:0;border:0;background:none;color:var(--teal);font-size:11px;text-decoration:underline}.search-label,.filter-group legend{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.filters input{width:100%;border:1px solid #aebbb1;background:var(--white);padding:11px 12px;font-size:13px;margin-bottom:26px;border-radius:0}.filter-group{padding:18px 0;border:0;border-top:1px solid var(--line);margin:0;min-width:0}.filter-group legend{float:left;width:100%;padding:0;margin:0 0 13px}.filter-options{clear:both;display:flex;flex-wrap:wrap;gap:7px}.technology-filter{border-top:1px solid var(--line);padding:18px 0}.technology-filter summary{cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.technology-filter .filter-options{margin-top:14px}.filter-chip{border:1px solid #cbd4c9;background:transparent;color:#3a504a;padding:5px 9px;font-size:11px;line-height:1.45;border-radius:2px}.filter-chip:hover{border-color:var(--teal)}.filter-chip[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:white}.results-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 0 17px;margin-bottom:16px;font-size:12px;font-weight:700}.results-head span:last-child{letter-spacing:.13em;font-size:10px;color:var(--muted)}.directory-grid .card-link{min-height:255px}.empty-results{padding:80px 20px;text-align:center;background:var(--white);color:var(--muted)}.detail-hero{padding-top:42px;padding-bottom:70px}.back-link{display:block;width:fit-content;color:var(--teal);font-size:12px;font-weight:700;text-decoration:none;margin-bottom:65px}.back-link:hover{text-decoration:underline}.detail-hero h1{max-width:900px;margin:18px 0 25px}.detail-lead{font:500 clamp(20px,2.1vw,28px)/1.5 var(--display);max-width:900px;letter-spacing:-.025em;margin:0 0 35px;color:#354f49}.detail-meta{display:flex;flex-wrap:wrap;gap:10px}.detail-meta span{font-size:11px;border:1px solid #c5d1c5;padding:8px 11px;color:var(--muted)}.client-logo-card{width:fit-content;margin-top:28px;padding:18px 28px;background:var(--white);border:1px solid #d4ddd3;box-shadow:0 18px 40px #102b2b12}.client-logo-card span{display:block;color:#255e64;font:800 clamp(26px,3vw,42px)/1 var(--display);letter-spacing:-.06em}.detail-body-wrap{background:var(--white);border-top:1px solid var(--line)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:100px;padding-top:80px;padding-bottom:90px}.detail-content{max-width:720px}.detail-content section{padding-bottom:45px;margin-bottom:43px;border-bottom:1px solid var(--line)}.detail-content section:last-child{border:0;margin:0;padding:0}.section-index,.sidebar-label{color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.16em}.detail-content h2{font:700 29px/1.3 var(--display);letter-spacing:-.045em;margin:11px 0 17px}.detail-content p{margin:0;font-size:17px;line-height:1.8;color:#40554e}.work-list{margin:12px 0 0;padding-left:21px}.work-list li{padding-left:7px;margin-bottom:11px;color:#40554e;font-size:17px}.work-list li::marker{color:var(--orange)}.source-section ul{list-style:none;margin:0;padding:0}.source-section li{margin:8px 0}.source-section a{font-weight:700;color:var(--teal);text-decoration:underline;text-underline-offset:4px}.detail-sidebar{align-self:start;position:sticky;top:24px}.sidebar-box{padding:27px;background:#edf1eb;border:1px solid #dae3d8}.sidebar-box h3{font:700 23px var(--display);letter-spacing:-.04em;margin:10px 0 24px}.sidebar-box>p{font-size:12px;color:var(--muted)}.sidebar-label{display:block;color:var(--muted);margin:23px 0 9px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-block;border:1px solid #b8cdc1;padding:5px 9px;font-size:11px;line-height:1.5;text-decoration:none;color:var(--teal);background:#f8faf6}.tag:hover{background:var(--teal);color:white}.static-tag:hover{background:#f8faf6;color:var(--teal)}.sidebar-box .sidebar-disclosure{border-top:1px solid #d3ddd3;padding-top:21px;margin:30px 0 0;font-size:11px;line-height:1.6}.related-section{background:#e9ede7}.related-grid{grid-template-columns:repeat(3,1fr)}.related-grid .card-link{min-height:300px}.editorial-section{display:grid;grid-template-columns:240px minmax(0,740px);gap:50px;border-top:1px solid var(--line);padding-top:55px;padding-bottom:75px}.editorial-section.last-editorial{padding-bottom:120px}.editorial-aside{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--orange);padding-top:6px}.editorial-main h2,.about-copy h2{font:700 clamp(27px,3vw,40px)/1.25 var(--display);letter-spacing:-.045em;margin:15px 0}.editorial-main p,.about-copy p,.about-bottom p{font-size:16px;color:#455a53;line-height:1.8;margin:0 0 20px}.editorial-main .role-line{color:var(--teal);font-weight:700}.editorial-main .muted{font-size:13px;color:var(--muted)}.field-foundation-navy{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.education-list{list-style:none;padding:0;margin:32px 0 34px;border-top:1px solid var(--line)}.education-list li{padding:17px 0;border-bottom:1px solid var(--line)}.education-list h3{font:700 18px/1.4 var(--display);letter-spacing:-.025em;margin:0 0 4px}.education-list li > span{display:block;font-size:13px;color:var(--muted)}.education-list .education-note{font-size:14px;margin:14px 0 10px}.pill{display:inline-block;border:1px solid #aec3b3;color:var(--teal);font-size:10px;letter-spacing:.11em;font-weight:700;padding:5px 9px}.inline-links{margin-top:30px}.opensource-intro{border-top:1px solid var(--line);padding-top:45px;padding-bottom:40px}.opensource-intro p{font:500 21px/1.6 var(--display);letter-spacing:-.025em;max-width:800px;margin:0}.opensource-intro .text-link{margin-top:20px}.opensource-intro .text-link .ui-icon{margin-right:7px}.source-feature-stack{padding-top:8px;padding-bottom:78px;display:grid;gap:24px}.source-feature-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(285px,.48fr) minmax(0,1fr);gap:0;background:var(--white);border:1px solid #d9ded5;box-shadow:0 24px 60px #102b2b12}.source-feature-hero:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--orange),var(--teal));z-index:1}.source-feature-visual{position:relative;isolation:isolate;min-height:360px;padding:34px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(circle at 20% 20%,#3b7d72 0,#225d55 34%,#102b2b 100%);color:white}.source-feature-hero:nth-child(2) .source-feature-visual{background:radial-gradient(circle at 20% 15%,#f2b084 0,#bb633e 36%,#51281d 100%)}.source-feature-hero:nth-child(3) .source-feature-visual{background:radial-gradient(circle at 20% 15%,#cce2d7 0,#6d9688 36%,#183735 100%)}.source-feature-label{position:relative;z-index:2;width:max-content;border:1px solid #ffffff66;background:#ffffff17;padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.source-feature-visual strong{position:relative;z-index:2;display:block;font:800 clamp(54px,6vw,92px)/.88 var(--display);letter-spacing:-.09em;text-shadow:0 12px 40px #00000035}.source-feature-orbit{position:absolute;inset:auto -54px -72px auto;width:265px;height:265px;border:1px solid #ffffff2f;border-radius:50%;z-index:1}.source-feature-orbit:before,.source-feature-orbit:after,.source-feature-orbit i{content:'';position:absolute;border:1px solid #ffffff30;border-radius:50%}.source-feature-orbit:before{inset:38px}.source-feature-orbit:after{inset:78px}.source-feature-orbit i:nth-child(1){width:12px;height:12px;background:#fff;right:56px;top:26px}.source-feature-orbit i:nth-child(2){width:8px;height:8px;background:#e8a683;left:42px;bottom:70px}.source-feature-orbit i:nth-child(3){width:10px;height:10px;background:#c5ddd4;right:102px;bottom:32px}.source-feature-visual-tags{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:7px}.source-feature-visual-tags span{border:1px solid #ffffff52;background:#ffffff18;padding:6px 9px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.source-feature-main{padding:44px 46px 42px}.source-feature-main .eyebrow{color:var(--orange)}.source-feature-hero h2{font:700 clamp(32px,3.5vw,56px)/1.08 var(--display);letter-spacing:-.06em;margin:11px 0 8px;max-width:820px}.source-feature-subheading{font:400 clamp(12px,1vw,15px)/1.35 Consolas,'Courier New',monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--teal);margin:0 0 22px}.source-feature-lead{font:500 clamp(18px,1.8vw,23px)/1.55 var(--display);letter-spacing:-.02em;max-width:820px;margin:0 0 16px;color:#314b45}.source-feature-context{color:#51655f;max-width:770px;margin:0}.source-feature-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.source-feature-chips span{background:#edf1eb;border:1px solid #d5dfd4;color:var(--teal);padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.source-feature-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.source-feature-highlights span{background:#f6f4ed;border-left:4px solid var(--orange);padding:13px 14px;color:#40554e;font-size:13px;line-height:1.45}.source-feature-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.source-feature-actions .button{gap:14px}.source-feature-external{color:inherit;border-color:#87938b}.source-feature-external:hover{background:#e5ece5}.source-card-section{padding-bottom:70px}.source-card-section .section-heading{margin-bottom:28px}.source-card-section .open-grid{padding-bottom:0}.open-grid{padding-bottom:70px}.source-outro{border-top:1px solid var(--line);padding-top:35px;padding-bottom:100px;display:flex;gap:50px;align-items:start;justify-content:space-between}.source-outro p{max-width:700px;margin:0;color:var(--muted);font-size:14px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;border-top:1px solid var(--line);padding-top:75px;padding-bottom:105px}.about-statement{background:var(--dark);padding:45px 50px;align-self:start}.big-quote{color:#cc9a74;font:700 90px/1 Georgia,serif}.about-statement blockquote{font:600 clamp(23px,2.6vw,35px)/1.45 var(--display);letter-spacing:-.04em;color:white;margin:0 0 40px}.about-copy h2{margin-top:0}.about-copy .tag-list{margin-top:34px}.about-bottom{border-top:1px solid var(--line);padding-top:60px;padding-bottom:105px;display:grid;grid-template-columns:1fr 1fr;gap:85px}.about-bottom h2{max-width:380px}.about-bottom .text-link{margin-top:10px}.about-bottom-copy{max-width:680px}.about-experience-intro{display:grid;grid-template-columns:240px minmax(0,740px);gap:50px;border-top:1px solid var(--line);padding-top:55px;padding-bottom:45px}.about-experience-intro h2{font:700 clamp(30px,3vw,46px)/1.22 var(--display);letter-spacing:-.045em;margin:0 0 14px}.about-experience-intro h2 em{font-style:normal;color:var(--teal)}.about-experience-intro p{font-size:16px;color:#455a53;line-height:1.8;margin:0}.experience-intro-main{max-width:740px}
.live-sites{margin-top:55px;padding-top:42px;border-top:1px solid #cdd7cc}.live-sites h3{font:700 clamp(24px,2.6vw,34px)/1.2 var(--display);letter-spacing:-.045em;margin:8px 0 23px}.live-sites-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.live-site{padding:27px 28px;background:#f5f7f1;border:1px solid #d2dcd0;display:flex;flex-direction:column}.live-site-domain{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);font-weight:700}.live-site h4{font:700 20px/1.35 var(--display);letter-spacing:-.035em;margin:12px 0 8px}.live-site p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 22px}.live-site-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:auto}.live-site-actions a{font-size:12px;font-weight:700;color:var(--teal);text-decoration:underline;text-underline-offset:4px}.live-site-actions a:hover{color:var(--orange)}
@media(max-width:1060px){.live-sites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{padding-left:30px;padding-right:30px}.header-inner{gap:19px}.main-nav{gap:15px}.brand-copy small{font-size:8px}.header-contact{display:none}.hero-grid{grid-template-columns:1.6fr .9fr}.hero-main{padding-right:35px}.hero-aside{padding-left:25px}.detail-layout{gap:40px}.directory-layout{gap:30px}.related-grid .card-link{min-height:340px}}
@media(max-width:760px){.shell{padding-left:22px;padding-right:22px}.header-inner{min-height:0;padding-top:17px;padding-bottom:14px;display:block}.brand{width:fit-content}.main-nav{margin:20px 0 0;gap:21px;overflow-x:auto;padding-bottom:3px}.main-nav a{font-size:12px}.hero-grid{display:block;min-height:0}.hero-main{padding:70px 0 55px}.hero h1,.page-hero h1,.detail-hero h1{font-size:clamp(43px,10vw,68px)}.hero-aside{border-left:0;border-top:1px solid var(--line);padding:29px 0;display:block}.vertical-chain{display:grid;grid-template-columns:repeat(3,1fr);border-left:0;gap:15px;margin:20px 0}.vertical-chain div{padding:0 10px 0 0}.vertical-chain div:before{display:none}.hero-aside>p{margin-top:25px}.hero-bottom{gap:8px 12px}.section{padding:70px 0}.section-heading{display:block}.section-heading .text-link{margin-top:23px}.featured-grid,.directory-grid,.related-grid,.open-grid{grid-template-columns:1fr 1fr}.card-link{min-height:290px;padding:22px}.service-grid{grid-template-columns:1fr}.service,.service+ .service{padding:20px 0 22px;border-right:0;border-bottom:1px solid var(--line)}.service h3{margin:12px 0}.chain-section .shell{grid-template-columns:1fr;gap:25px}.contact-inner{display:block}.contact-actions{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-grid>div:first-child{grid-column:span 2}.page-hero{padding-top:65px;padding-bottom:65px}.directory-layout{grid-template-columns:1fr;gap:25px}.filters{position:static;max-height:none;overflow:visible;padding-right:0}.filter-group{display:inline-block;vertical-align:top;width:49%;padding-right:12px}.filter-group:last-child{width:100%}.detail-layout{grid-template-columns:1fr;gap:30px}.detail-sidebar{position:static;grid-row:1}.sidebar-box{padding:22px}.detail-content section{margin-bottom:34px;padding-bottom:34px}.related-grid .card-link{min-height:300px}.editorial-section{grid-template-columns:1fr;gap:15px;padding:35px 22px 55px}.about-grid,.about-bottom,.about-experience-intro{grid-template-columns:1fr;gap:35px}.about-grid{padding:45px 22px 75px}.about-bottom{padding-top:45px;padding-bottom:75px}.about-experience-intro{padding-top:45px;padding-bottom:35px}.about-statement{padding:30px}}
@media(max-width:520px){.live-sites-grid{grid-template-columns:1fr}.hero-main{padding:55px 0}.hero h1,.page-hero h1,.detail-hero h1{letter-spacing:-.055em}.hero-lead{font-size:19px}.hero-actions{display:grid}.hero-actions .button{justify-content:space-between}.vertical-chain{display:block;border-left:1px solid #b5c8bc;margin-left:7px}.vertical-chain div{padding:0 0 18px 20px}.vertical-chain div:before{display:block}.featured-grid,.directory-grid,.related-grid,.open-grid{grid-template-columns:1fr}.card-link,.directory-grid .card-link,.related-grid .card-link{min-height:245px}.section-heading h2,.chain-section h2,.contact-band h2,.about-experience-intro h2{font-size:35px}.filter-group{display:block;width:100%;padding-right:0}.results-head span:last-child{display:none}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.detail-hero{padding-bottom:45px}.back-link{margin-bottom:45px}.detail-layout{padding-top:40px}.detail-content p,.work-list li{font-size:15px}.source-outro{display:block}.source-outro a{margin-top:22px}.about-statement blockquote{font-size:25px}}
@media(max-width:760px){.source-feature-hero{grid-template-columns:1fr}.source-feature-visual{min-height:230px}.source-feature-main{padding:31px 28px}.source-feature-highlights{grid-template-columns:1fr}.source-feature-actions{display:grid}.source-feature-actions .button{justify-content:space-between}}@media(max-width:520px){.source-feature-stack{gap:18px}.source-feature-visual{min-height:205px;padding:25px}.source-feature-main{padding:27px 22px}.source-feature-hero h2{font-size:31px}.source-feature-lead{font-size:17px}.source-feature-visual strong{font-size:54px}}.cv-page{padding-top:46px;padding-bottom:95px;max-width:1120px}.cv-controls{position:sticky;top:0;z-index:5;margin-bottom:30px;padding:14px 16px;background:#102b2bf2;color:white;display:flex;align-items:center;gap:12px;box-shadow:0 18px 45px #102b2b22}.cv-controls div{margin-right:auto}.cv-controls strong{display:block;font:700 14px var(--display)}.cv-controls span{display:block;color:#bfd1cb;font-size:12px}.cv-controls button,.cv-hide{border:1px solid #87938b;background:var(--white);color:var(--ink);padding:8px 11px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.cv-controls button:hover,.cv-hide:hover{background:#e5ece5}.cv-header{display:flex;justify-content:space-between;gap:32px;border-bottom:3px solid var(--ink);padding-bottom:26px;margin-bottom:28px}.cv-header h1{font:800 clamp(42px,5vw,72px)/1.02 var(--display);letter-spacing:-.025em;margin:8px 0 10px}.cv-header p{font:600 18px/1.4 var(--display);margin:0;color:#314b45}.cv-contact{display:grid;gap:7px;align-content:start;text-align:right;font-size:13px}.cv-contact a{text-decoration:none;color:var(--teal);font-weight:700}.cv-section{position:relative;border-bottom:1px solid var(--line);padding:24px 0}.cv-section-head{display:grid;grid-template-columns:135px minmax(0,1fr) auto;gap:18px;align-items:start;margin-bottom:14px}.cv-section-head>span{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding-top:8px}.cv-section-head h2{font:800 25px/1.2 var(--display);letter-spacing:-.04em;margin:0}.cv-lead{font:500 18px/1.55 var(--display);letter-spacing:-.02em;color:#314b45;max-width:800px;margin:0}.cv-skill-list{display:flex;flex-wrap:wrap;gap:7px}.cv-skill-list span{border:1px solid #b8cdc1;background:var(--white);padding:5px 9px;font-size:11px;font-weight:700;color:var(--teal)}.cv-item-list{display:grid;gap:11px}.cv-item{position:relative;background:var(--white);border:1px solid #dce2d9;padding:14px 16px;break-inside:avoid}.cv-item-top{display:flex;gap:16px;align-items:start;justify-content:space-between}.cv-item[data-cv-draggable]{cursor:grab}.cv-item[data-cv-draggable]:active{cursor:grabbing}.cv-is-dragging{user-select:none}.cv-dragging{opacity:.55;border-color:var(--orange);box-shadow:0 10px 28px #102b2b1a}.cv-item h3{font:800 17px/1.25 var(--display);letter-spacing:-.03em;margin:0 0 4px}.cv-item p{margin:0 0 7px;color:#3f554e;font-size:13px;line-height:1.55}.cv-item p:last-child{margin-bottom:0}.cv-meta,.cv-tech{font-size:11px!important;color:var(--muted)!important;font-weight:700}.cv-tech{color:var(--teal)!important}.cv-hidden{display:none!important}@media(max-width:760px){.cv-controls{position:static;display:grid}.cv-header{display:block}.cv-contact{text-align:left;margin-top:18px}.cv-section-head{grid-template-columns:1fr}.cv-section-head .cv-hide{width:max-content}}@media print{@page{size:A4;margin:14mm}body{background:white;color:#111;font-size:11pt;line-height:1.4}.site-header,.site-footer,.cv-controls,.cv-hide,.contact-band,.skip{display:none!important}.shell,.cv-page{max-width:none!important;padding:0!important;margin:0!important}.cv-header{padding-bottom:12pt;margin-bottom:8pt;border-bottom:1.5pt solid #111}.cv-header h1{font-size:30pt;line-height:1.05;letter-spacing:-.015em;margin:0 0 4pt}.cv-header p{font-size:11pt;color:#222}.cv-contact{font-size:9pt}.cv-contact a{color:#111;text-decoration:none}.cv-section{padding:9pt 0;border-bottom:.5pt solid #bbb;break-inside:auto}.cv-section-head{display:block;margin-bottom:5pt}.cv-section-head>span{display:block;font-size:7pt;color:#555;padding:0;margin-bottom:2pt}.cv-section-head h2{font-size:15pt}.cv-lead{font-size:11pt;color:#222}.cv-skill-list{gap:4pt}.cv-skill-list span{border:.5pt solid #aaa;background:white;padding:2pt 4pt;font-size:8pt;color:#111}.cv-item{border:0;border-left:2pt solid #bbb;background:white;padding:4pt 0 5pt 7pt;break-inside:avoid}.cv-item-list{gap:2pt}.cv-item h3{font-size:11pt}.cv-item p{font-size:9pt;color:#222}.cv-meta,.cv-tech{font-size:8pt!important;color:#444!important}a{color:#111;text-decoration:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
