@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f6f2eb;--ink:#39291f;--muted:#796b60;--line:#dcd3c7;--brown:#75503a;--cream:#e9dfd1;--dark:#31251e;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}::selection{background:#bda48a;color:var(--dark)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #a8784e;outline-offset:6px}button{border:0}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.02}h2{font-size:clamp(44px,5vw,68px)}em{font-weight:400}p{color:var(--muted)}.header{height:100px;display:flex;align-items:center;justify-content:space-between;margin:0 6%;border-bottom:1px solid var(--line)}.wordmark{font-size:23px;font-weight:600;letter-spacing:-1.2px}.wordmark span{font-size:11px;vertical-align:super;margin-left:4px}nav{display:flex;align-items:center;gap:36px;font-size:13px}nav a{transition:color .2s}nav a:hover{color:#ac7b50}.nav-contact{border-bottom:1px solid var(--ink);padding:7px 0}.nav-contact span{margin-left:20px}.menu-toggle{display:none}.hero{padding:30px 6% 0}.hero-top,.hero-bottom{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.location{display:flex;align-items:center;gap:8px}.location i{width:6px;height:6px;border-radius:50%;background:var(--brown)}.hero-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;padding:85px 0 76px}.eyebrow{font-size:12px;letter-spacing:.025em;margin-bottom:25px;color:var(--brown)}h1{font-size:clamp(68px,8.1vw,122px)}h1 em{color:var(--brown)}.hero-description{max-width:420px;margin-top:28px;font-size:16px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button{background:var(--brown);color:var(--paper);padding:15px 23px;font-size:13px;border-radius:3px;display:inline-flex;gap:32px;transition:background .25s,transform .25s}.button:hover{background:var(--dark);transform:translateY(-2px)}.button:active{transform:scale(.98)}.text-link{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:6px}.text-link span{margin-left:18px}.hero-art{height:420px;position:relative;display:grid;place-items:center;overflow:hidden}.art-label{position:absolute;top:10px;left:5px;color:var(--muted);font-size:11px;line-height:1.5}.orbital{position:absolute;border:1px solid #b7a38d;border-radius:50%;width:315px;height:315px}.orbital-one{transform:rotate(-33deg) scaleX(.58)}.orbital-two{transform:rotate(33deg) scaleX(.58)}.orbital-three{transform:rotate(90deg) scaleX(.58)}.art-center{text-align:center;font-family:var(--serif);font-size:108px;line-height:1;letter-spacing:-8px}.art-center span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:1px;margin-top:15px}.art-caption{position:absolute;bottom:10px;right:10px;font-size:10px;color:var(--muted)}.hero-bottom{padding:22px 0;border-top:1px solid var(--line)}.hero-bottom b{font-weight:400;padding:0 15px;color:#baac9f}.hero-bottom a span{margin-left:30px}.proof{padding:39px 6%;background:var(--cream);display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.proof>div{display:flex;gap:18px;align-items:center}.proof strong{font-family:var(--serif);font-weight:400;font-size:49px;line-height:1}.proof span{font-size:11px;line-height:1.7;color:#675548}.section{padding:110px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-heading>p{font-size:13px;line-height:1.8;padding-bottom:6px}.filters{display:flex;gap:8px;margin-bottom:30px;flex-wrap:wrap}.filters button{padding:9px 18px;border:1px solid var(--line);background:transparent;border-radius:2px;font-size:12px;transition:background .2s,color .2s}.filters button.active,.filters button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 30px}.project[hidden]{display:none}.project-visual{height:325px;overflow:hidden;position:relative;transition:transform .5s}.project:hover .mock-window{transform:translateY(-5px) rotate(-2deg)}.visual-hc{background:#ded5c5;padding:45px 25px 0}.mock-window{width:100%;height:300px;background:#faf8f3;transform:rotate(-3deg);border:1px solid #cbbfae;border-radius:5px;transition:transform .5s}.mock-top{height:42px;display:flex;justify-content:space-between;align-items:center;padding:0 17px;border-bottom:1px solid #e6e0d7;font-size:8px}.mock-brand{font-size:13px;font-weight:700;color:#6c5438}.mock-brand span{font-weight:400}.mock-body{display:flex;height:250px}.mock-sidebar{padding:24px 14px;display:flex;flex-direction:column;gap:17px;font-size:8px;width:85px;border-right:1px solid #e6e0d7}.mock-sidebar b{color:var(--brown)}.mock-content{padding:24px;flex:1}.mock-content small{font-size:8px;color:var(--muted)}.mock-content h3{font-size:21px;line-height:1.2;font-family:var(--serif);font-weight:400;margin:7px 0 15px}.mock-stats{display:flex;gap:30px;font-size:11px}.mock-stats span{display:block;font-size:7px;color:var(--muted)}.chart{height:65px;display:flex;align-items:end;gap:8px;margin-top:10px;border-bottom:1px solid var(--line)}.chart i{background:#b89d7a;flex:1;height:30%}.chart i:nth-child(2n){height:48%}.chart i:nth-child(3n){height:65%}.chart i:nth-child(5n){height:76%}.chart i:last-child{height:95%;background:#76553b}.visual-note{position:absolute;bottom:10px;left:17px;font-size:9px;letter-spacing:.02em;color:#6e5e4f;background:inherit}.visual-funnel{background:#4c392c;color:#f0e7dc;padding:27px 30px}.funnel-identity{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:500}.funnel-symbol{font-size:23px}.flow{display:flex;align-items:center;justify-content:center;margin-top:25px;gap:8px}.flow>span{font-size:9px;line-height:1.5}.flow>i{height:1px;width:30px;background:#aa8d73}.flow-core{border:1px solid #a78a70;border-radius:50%;height:110px;width:110px;display:grid;place-content:center;text-align:center;font-family:var(--serif);font-size:24px;line-height:1.1}.visual-funnel>p{font-family:var(--serif);font-size:27px;line-height:1.1;color:#dac4ad;margin-top:22px}.visual-funnel .visual-note{color:#c1aa94}.project-meta{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);margin:20px 0 10px}.project>h3{font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:-.02em}.project>p{font-size:13px;max-width:440px;margin-top:8px}.project details{margin-top:20px;border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.project summary{display:flex;justify-content:space-between;padding:0 0 15px;font-size:12px}.project summary>span,.training summary>span{font-size:19px;line-height:1;transition:transform .25s}.project details[open] summary>span,.training[open] summary>span{transform:rotate(45deg)}.project-detail{padding:0 0 23px}.project-detail p{font-size:13px;margin:10px 0}.project-detail>span{font-size:10px;color:var(--brown)}.wide-project{grid-column:1/-1}.visual-commerce{background:#e4cdb2;display:flex;align-items:center;justify-content:space-around;padding:30px}.commerce-type{font-family:var(--serif);font-size:65px;line-height:1.05;letter-spacing:-2px}.order-card{background:#f6eee3;width:280px;padding:24px;transform:rotate(3deg);transition:transform .4s}.project:hover .order-card{transform:rotate(0)}.order-card>span{font-size:10px;color:var(--muted)}.order-row{display:flex;justify-content:space-between;border-bottom:1px solid #d9c8b6;padding:10px 0;font-size:15px}.order-row b{font-weight:400}.order-card small{display:block;font-size:8px;margin-top:17px}.work-note{font-size:11px;margin-top:30px}.about{background:#ebe4da;display:grid;grid-template-columns:1fr 1fr;gap:70px}.about h2{font-size:clamp(42px,4.8vw,65px)}.signature{font-family:var(--serif);font-style:italic;font-size:64px;margin-top:70px;transform:rotate(-8deg);transform-origin:left}.small{font-size:11px;color:var(--muted)}.about-copy>p{margin-bottom:20px;font-size:14px}.about-copy .large-copy{font-family:var(--serif);font-size:30px;line-height:1.3;color:var(--ink);margin-bottom:27px}.expertise{border-top:1px solid #cfc2b2;margin-top:30px;padding-top:23px}.expertise h3{font-weight:500;font-size:12px;margin-bottom:17px}.expertise>div{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:11px}.expertise span:before{content:'↗';margin-right:9px;color:#947154}.tools{margin-top:27px;font-size:11px}.tools>span{color:var(--brown)}.tools p{margin-top:8px;line-height:1.8}.timeline{border-top:1px solid var(--line)}.timeline details{border-bottom:1px solid var(--line)}.timeline summary{padding:28px 0;display:grid;grid-template-columns:1fr 2.2fr .7fr 20px;gap:25px;align-items:start}.job-date,.job-sector{font-size:11px;color:var(--muted);padding-top:4px}.job-title{font-size:18px;line-height:1.4}.job-title small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.toggle{font-size:23px;line-height:1;transition:transform .25s}.timeline details[open] .toggle{transform:rotate(45deg)}.timeline details>p{margin:0 15% 28px 25%;font-size:13px;max-width:550px}.education{display:grid;grid-template-columns:1fr 1.1fr 1.8fr;gap:40px;margin-top:60px}.education h3{font-family:var(--serif);font-size:31px;font-weight:400}.education strong{font-size:12px;font-weight:500}.education strong span{display:block;font-weight:400;color:var(--brown);font-size:10px}.education p{font-size:11px;margin-top:7px}.training{margin-top:35px;border-top:1px solid var(--line);padding-top:20px}.training summary{display:flex;justify-content:space-between;font-size:12px}.training p{font-size:12px;line-height:2;margin-top:20px}.contact{background:var(--dark);color:var(--paper);padding:85px 6% 60px;display:flex;justify-content:space-between;gap:30px;overflow:hidden}.contact .eyebrow{color:#bfa68c}.contact h2{font-size:clamp(62px,7vw,96px)}.contact h2 em{color:#c9ad8d}.contact p:not(.eyebrow){font-size:13px;color:#c0afa0;margin-top:25px}.email-link{display:inline-flex;gap:35px;font-size:clamp(17px,2.4vw,29px);border-bottom:1px solid #7e6755;padding:17px 0 12px;margin-top:10px}.email-link:hover{color:#d3b58e}.contact-actions{display:flex;gap:28px;margin-top:28px;font-size:11px;flex-wrap:wrap}.contact-actions button{padding:0;background:transparent}.contact-actions span{margin-left:8px}.contact .copy-status{min-height:20px;margin-top:10px!important;font-size:11px!important}.contact-monogram{align-self:center;font-family:var(--serif);font-style:italic;font-size:230px;letter-spacing:-15px;line-height:1;color:#68503c;transform:rotate(-10deg);margin-right:35px}footer{padding:30px 6%;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}footer .wordmark{font-size:19px;color:var(--ink)}.skip{position:absolute;top:-80px;background:var(--ink);color:white;padding:15px;z-index:10}.skip:focus{top:10px}.empty-state{padding:30px}.hero-layout{animation:arrive .9s both}.project{animation:arrive .45s both}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){body{max-width:1600px;margin:auto}}@media(max-width:1000px){nav{gap:23px}.hero-layout{gap:15px}.hero-art{height:350px}.orbital{width:270px;height:270px}.proof{grid-template-columns:1fr 1fr;gap:28px}.proof>div{gap:20px}.section{padding-top:80px;padding-bottom:80px}.about{gap:35px}.mock-content{padding:20px 13px}.mock-sidebar{width:65px;padding:24px 8px}.mock-top{padding:0 10px}.commerce-type{font-size:55px}.timeline summary{grid-template-columns:1fr 2fr 20px}.job-sector{display:none}.contact-monogram{font-size:170px;margin-right:0}.education{gap:25px}}@media(max-width:680px){.header{height:78px;margin:0 6%}.wordmark{font-size:21px}.menu-toggle{display:flex;gap:15px;background:transparent;padding:10px 0;font-size:12px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);z-index:5;padding:20px 6% 30px;border-bottom:1px solid var(--line);align-items:start;gap:20px}nav.open{display:flex;flex-direction:column}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}.hero{padding-top:22px}.hero-top>span:last-child{display:none}.hero-layout{grid-template-columns:1fr;padding-top:55px;padding-bottom:30px}h1{font-size:76px}.hero .eyebrow{font-size:10px}.hero-description{font-size:14px;max-width:330px}.hero-actions{gap:23px}.button{padding:14px 17px;gap:23px;font-size:12px}.text-link{font-size:12px}.hero-art{height:275px;margin-top:24px}.art-label{top:15px}.orbital{width:245px;height:245px}.art-center{font-size:85px}.hero-bottom{font-size:10px}.hero-bottom b{padding:0 5px}.hero-bottom a{font-size:0}.hero-bottom a span{font-size:15px;margin-left:5px}.proof{padding-top:30px;padding-bottom:30px;gap:28px 15px}.proof>div{gap:12px}.proof strong{font-size:39px}.proof span{font-size:9px}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:12px}.section-heading>.text-link{display:inline-block;margin-top:25px}.eyebrow{margin-bottom:18px}h2{font-size:47px}.project-grid{grid-template-columns:1fr;gap:35px}.project-visual{height:300px}.wide-project{grid-column:auto}.project>h3{font-size:30px}.project-meta{font-size:9px}.visual-commerce{flex-direction:column;align-items:start;gap:20px;height:390px;padding:25px}.commerce-type{font-size:43px}.order-card{width:230px;align-self:end;padding:17px}.order-row{font-size:12px;padding:7px 0}.about{grid-template-columns:1fr;gap:40px}.signature{margin-top:30px;font-size:51px}.about-copy .large-copy{font-size:28px}.timeline summary{grid-template-columns:1fr 20px;gap:8px;padding:22px 0}.job-date{grid-column:1;font-size:10px}.job-title{grid-column:1;font-size:17px}.toggle{grid-column:2;grid-row:1/3;align-self:center}.timeline details>p{margin:0 25px 24px 0;font-size:12px}.education{grid-template-columns:1fr;gap:23px;margin-top:35px}.contact{padding-top:60px;padding-bottom:40px}.contact-monogram{display:none}.contact h2{font-size:66px}.contact p:not(.eyebrow){font-size:12px}.email-link{font-size:18px;gap:15px}footer{flex-wrap:wrap;gap:20px;font-size:10px}footer .wordmark{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Readable content sizes; display headings retain their original scale. */
body { font-size: 17px; }
nav, .menu-toggle, .button, .text-link, .filters button,
.project summary, .training summary, .contact-actions { font-size: 15px; }
.hero-top, .hero-bottom, .eyebrow, .hero .eyebrow,
.small, .job-date, .job-sector, .job-title small,
.project-meta, .work-note, .project-detail > span,
.tools, .education p, footer { font-size: 14px; }
.hero-description { font-size: 18px; max-width: 470px; }
.section-heading > p, .project > p, .project-detail p,
.about-copy > p, .timeline details > p, .training p,
.contact p:not(.eyebrow), .expertise > div,
.education strong { font-size: 17px; line-height: 1.75; }
.about-copy .large-copy { font-size: 30px; line-height: 1.4; }
.proof span { font-size: 14px; line-height: 1.65; }
.proof > div { align-items: flex-start; }
.expertise h3 { font-size: 12px; }
.education strong span { font-size: 14px; }
.art-label, .art-caption, .art-center span, .visual-note,
.contact .copy-status { font-size: 12px !important; }
.project-meta { flex-wrap: wrap; }
@media (max-width: 1000px) {
  .proof > div { flex-direction: column; gap: 12px; }
  .expertise > div { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .hero-description { font-size: 17px; }
  .hero-actions { gap: 18px; flex-wrap: wrap; }
  .hero-bottom { gap: 16px; }
  .hero-bottom a { font-size: 0; }
  .proof span { font-size: 13px; }
  .about-copy .large-copy { font-size: 28px; }
  .contact-actions { gap: 22px; }
  footer { gap: 20px; }
}
