:root{font-family:Arial,Helvetica,sans-serif;color:#292722;background:#faf9f5;font-size:16px;--ink:#262624;--accent:#d9a38d;--muted:#68645e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #95543d;outline-offset:6px}.wrap{width:min(1200px,calc(100% - 96px));margin:auto}.skip{position:absolute;left:24px;top:-70px;padding:16px;background:var(--accent);z-index:10}.skip:focus{top:12px}header{display:flex;align-items:center;justify-content:space-between;height:112px;border-bottom:1px solid #dedbd2}.brand{font-size:26px;letter-spacing:-1.3px;font-weight:800;text-decoration:none}.brand span{font-weight:400}.brand b{color:#95543d}nav{display:flex;gap:36px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:600}.nav-contact{border:1px solid #b9b3a7;border-radius:4px;padding:13px 21px}.eyebrow{font-family:monospace;font-size:13px;letter-spacing:1.4px;font-weight:600;margin:0 0 34px}.hero{padding-top:70px}.hero h1{font-size:clamp(48px,7.8vw,106px);line-height:1.03;letter-spacing:-.065em;margin:0;font-weight:650}.hero em{font-style:normal;background:var(--accent);padding:0 .1em 0 0}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:50px;margin-top:45px}.hero-bottom p{font-size:19px;line-height:1.65;max-width:480px;color:var(--muted);margin:0}.actions{display:flex;gap:28px;align-items:center}.button{background:var(--ink);color:white;padding:18px 30px;display:inline-block;text-decoration:none;border-radius:4px;white-space:nowrap;font-weight:600;font-size:15px;transition:background .2s}.button:hover{background:#48423b}.text-link{font-size:15px;font-weight:600;white-space:nowrap}.hero-meta{display:flex;justify-content:space-between;border-top:1px solid #dedbd2;margin-top:58px;padding:24px 0;font-family:monospace;font-size:12px;letter-spacing:1px;color:var(--muted)}.statement{background:var(--ink);color:#faf9f5;margin-top:28px;padding:72px 0}.statement-grid{display:grid;grid-template-columns:1fr 2fr;gap:50px}.statement .eyebrow{color:var(--accent);margin-top:10px}.statement h2{font-size:68px;letter-spacing:-3px;margin:0 0 22px;line-height:1}.statement p:not(.eyebrow){font-size:22px;line-height:1.5;margin:0;color:#d2cec5}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:52px}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:clamp(34px,4.5vw,54px);letter-spacing:-2px;line-height:1.12;margin:0;font-weight:600}.section-note{font-size:16px;line-height:1.6;color:var(--muted);max-width:330px;margin:0}.project{border-top:1px solid #dedbd2}.project:last-child{border-bottom:1px solid #dedbd2}summary{display:grid;grid-template-columns:50px 1fr 250px 30px;align-items:center;gap:20px;list-style:none;padding:30px 0;cursor:pointer}summary::-webkit-details-marker{display:none}.num{font-family:monospace;font-size:13px;color:#766f65}.project-name{font-size:28px;letter-spacing:-.7px;font-weight:600}.project-name small{display:block;font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:9px}.location{font-size:14px;color:var(--muted)}.plus{font-size:28px;font-weight:300;text-align:right}.project[open] .plus{transform:rotate(45deg)}.project-body{padding:0 50px 35px 70px;max-width:950px;font-size:17px;line-height:1.7;color:#5d574f}.project-body p{margin-top:0}.project-body li{margin:10px 0}.project-body .tech{font-family:monospace;font-size:14px;line-height:1.8}.project-body a{font-size:15px;font-weight:600;color:#292722}.team-section{background:#f0ede5}.team{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}.person img{width:100%;aspect-ratio:1/1.18;object-fit:cover;filter:grayscale(100%);border-radius:3px}.person h3{font-size:19px;margin:20px 0 7px;font-weight:600}.person p{font-size:14px;color:var(--muted);margin:0}.join{display:inline-block;margin-top:40px}.contact h2{font-size:clamp(46px,6.5vw,82px);letter-spacing:-4px;line-height:1.08}.email{display:inline-block;font-size:clamp(22px,3.3vw,40px);margin:35px 0 60px;text-decoration-thickness:1px}.contact-bottom{display:flex;justify-content:space-between;align-items:end}.contact-bottom p{color:var(--muted);line-height:1.65;margin:15px 0}.contact-bottom a:not(.button){font-size:16px}footer{display:flex;gap:24px;justify-content:space-between;padding:28px 0;border-top:1px solid #dedbd2;color:var(--muted);font-size:12px;line-height:1.5}footer span:last-child{max-width:290px;text-align:right}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero-bottom{align-items:start;flex-direction:column;gap:28px}.hero h1{font-size:clamp(48px,9.5vw,90px)}.statement-grid{grid-template-columns:1fr;gap:12px}.statement h2{font-size:56px}.section-heading{align-items:start;flex-direction:column;gap:20px}summary{grid-template-columns:35px 1fr 30px;gap:12px}.location{display:none}.team{grid-template-columns:repeat(3,1fr);row-gap:36px}.section{padding-top:70px;padding-bottom:70px}.contact h2{letter-spacing:-2px}.project-body{padding-left:47px;padding-right:20px}}@media(max-width:520px){header{height:88px}.brand{font-size:22px}nav{gap:14px}nav a{font-size:13px}nav a:first-child{display:none}.nav-contact{padding:11px 13px}.hero{padding-top:48px}.hero .eyebrow{font-size:11px;letter-spacing:.8px}.hero h1{font-size:clamp(39px,10.2vw,54px);letter-spacing:-.055em}.hero-bottom p{font-size:17px}.actions{gap:22px}.button{padding:16px 23px}.hero-meta{gap:20px;line-height:1.6;font-size:10px;margin-top:40px}.hero-meta span:last-child{text-align:right}.statement{padding:50px 0}.statement h2{font-size:48px}.statement p:not(.eyebrow){font-size:18px}.eyebrow{font-size:11px}.project-name{font-size:24px}.project-name small{line-height:1.5}.project-body{font-size:16px;padding-left:0}.team{grid-template-columns:repeat(2,1fr);gap:30px 18px}.contact-bottom{align-items:start;flex-direction:column;gap:32px}.contact .email{font-size:21px}footer{flex-wrap:wrap}footer span:last-child{max-width:none;width:100%;text-align:left}.section-note{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.initial{aspect-ratio:1/1.18;background:#e5dfd3;display:flex;align-items:center;justify-content:center;font-size:70px;font-weight:600;letter-spacing:-7px;color:#494239;border-radius:3px}.initial span{color:#95543d}

.services{padding-top:85px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-grid article{border-top:2px solid #292722;padding-top:24px}.service-index{font-family:monospace;font-size:12px;letter-spacing:1px;color:#95543d}.service-grid h3{font-size:25px;letter-spacing:-.8px;line-height:1.25;margin:26px 0 16px}.service-grid p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}.hero h1{font-size:clamp(44px,7.1vw,96px)}@media(max-width:900px){.service-grid{gap:25px}.hero h1{font-size:clamp(42px,8.5vw,78px)}}@media(max-width:650px){.service-grid{grid-template-columns:1fr;gap:36px}.services{padding-top:65px}.service-grid h3{margin-top:18px}.hero h1{font-size:clamp(32px,8.9vw,58px)}}

/* Dark charcoal and warm clay palette. */
:root{color:#eee8df;background:#242321;--ink:#1c1b19;--accent:#d9a38d;--muted:#bfb6aa}
header,.hero-meta,.project,.project:last-child,footer{border-color:#49433c}
.brand b,.initial span,.service-index{color:#dfa68b}
a:focus-visible,summary:focus-visible{outline-color:#dfa68b}
.nav-contact{border-color:#706255}
.hero em{color:#28221e;background:#d9a38d}
.skip{color:#28221e}
.button{background:#d9a38d;color:#28221e}
.button:hover{background:#ecc0a9}
.statement{background:#1b1a18;color:#eee8df}
.statement p:not(.eyebrow){color:#c8beb1}
.team-section{background:#2d2925}
.initial{background:#3c342e;color:#eee0d0}
.num{color:#b6a89a}
.project-body{color:#c9beb0}
.project-body a{color:#e2ae94}
.service-grid article{border-color:#796554}

/* Compact team roster: names and roles, without placeholder portraits. */
.team-section{background:#282522;border-top:1px solid #49433c;border-bottom:1px solid #49433c}
.team-section .section{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);column-gap:90px;row-gap:34px;padding-top:76px;padding-bottom:76px}
.team-section .section-heading{display:block;margin:0;grid-column:1;grid-row:1}
.team-section .section-heading h2{font-size:42px;letter-spacing:-1.6px}
.team-section .section-note{margin-top:24px;max-width:300px;line-height:1.7}
.team{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;align-self:start}
.person{padding:23px 0 25px;border-top:1px solid #51483f;min-width:0}
.person h3{font-size:23px;letter-spacing:-.4px;font-weight:500;margin:0 0 9px}
.person p{font-size:14px;line-height:1.5;color:#bfb6aa;margin:0}
.team-section .join{grid-column:1;grid-row:2;margin:0;align-self:start;justify-self:start;color:#dfa68b;font-size:14px;font-weight:400;white-space:normal}
@media(max-width:900px){.team-section .section{column-gap:40px;grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr)}.team{column-gap:24px}.team-section .section-heading h2{font-size:36px}}
@media(max-width:650px){.team-section .section{display:flex;flex-direction:column;gap:30px;padding-top:54px;padding-bottom:54px}.team-section .section-note{max-width:360px;margin-top:18px}.team{width:100%;gap:0 22px}.person{padding:20px 0}.person h3{font-size:21px}.team-section .join{margin-top:0}}

.addresses{display:flex;flex-wrap:wrap;gap:12px 40px}.addresses p{min-width:190px}@media(max-width:650px){.addresses{flex-direction:column;gap:0}}

.person{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:17px;align-content:center}.person img{grid-column:1;grid-row:1 / span 2;width:64px;height:72px;aspect-ratio:auto;object-fit:cover;filter:none;border-radius:6px}.person h3{grid-column:2;align-self:end;font-size:21px;margin-bottom:5px}.person p{grid-column:2;align-self:start}@media(max-width:900px) and (min-width:651px){.team-section .section{grid-template-columns:1fr}.team-section .section-heading{grid-row:auto}.team{grid-column:1;grid-row:auto}.team-section .join{grid-row:auto}}@media(max-width:450px){.team{grid-template-columns:1fr}.person{grid-template-columns:64px 1fr}.person h3{font-size:22px}}

/* Larger illustrated coder portraits. */
.team-section .section{display:block;padding-top:80px;padding-bottom:80px}
.team-section .section-heading{display:flex;flex-direction:row;justify-content:space-between;align-items:end;gap:40px;margin-bottom:18px}
.team-section .section-heading h2{font-size:48px;letter-spacing:-1.8px}
.team-section .section-note{margin:0;max-width:330px}
.avatar-note{font-size:13px;color:#bfb6aa;margin:0 0 30px}
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;width:100%}
.person{display:block;border:0;padding:0}
.coder-avatar{width:100%;aspect-ratio:1;background-image:url('assets/coder-avatars.png');background-size:300% 200%;background-repeat:no-repeat;border-radius:10px;margin-bottom:19px}
.avatar-0{background-position:0 0}.avatar-1{background-position:50% 0}.avatar-2{background-position:100% 0}.avatar-3{background-position:0 100%}.avatar-4{background-position:50% 100%}.avatar-5{background-position:100% 100%}
.person h3{font-size:23px;margin:0 0 7px}.person p{font-size:15px}
.team-section .join{display:inline-block;margin-top:35px}
@media(max-width:650px){.team-section .section-heading{display:block}.team-section .section-heading h2{font-size:36px}.team-section .section-note{margin-top:18px}.team{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.coder-avatar{border-radius:7px;margin-bottom:14px}.person h3{font-size:21px}.person p{font-size:14px}}

.person img.team-portrait{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:none;border-radius:8px;margin-bottom:19px}@media(max-width:650px){.person img.team-portrait{margin-bottom:14px}}

/* Text-only team. */
.team-section .section{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);column-gap:80px;row-gap:30px;padding-top:70px;padding-bottom:70px}
.team-section .section-heading{display:block;grid-column:1;grid-row:1;margin:0}
.team-section .section-heading h2{font-size:42px}.team-section .section-note{margin-top:22px;max-width:300px}
.team{grid-column:2;grid-row:1 / span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.person{display:block;border-top:1px solid #51483f;padding:22px 0}.person h3{font-size:23px;margin:0 0 8px}.person p{font-size:14px}
.team-section .join{grid-column:1;grid-row:2;margin:0;align-self:start}
@media(max-width:750px){.team-section .section{display:flex;flex-direction:column;gap:30px}.team-section .section-heading h2{font-size:36px}.team{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.team-section .join{margin:0}}
