@font-face{font-family:Poppins;src:url('poppins-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('poppins-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('poppins-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#faf8f0;--ink:#292820;--muted:#706b5d;--line:#e3decd;--accent:#f5c518;--white:#fff;--font:Poppins,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p,h1,h2,h3,figure{margin:0}a:focus-visible{outline:3px solid #927000;outline-offset:7px}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-200%);background:var(--ink);color:white;padding:12px 20px;z-index:10}.skip-link:focus{transform:none}.site-header{height:122px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;font-size:10px;font-weight:600;letter-spacing:1.8px;line-height:1.5}.monogram{font-size:48px;font-weight:700;letter-spacing:-5px;line-height:1}.monogram span{color:#e7b900}.site-header nav{display:flex;align-items:center;gap:40px;font-size:13px}.site-header nav>a{padding-block:10px}.site-header nav>a:hover,.text-link:hover{color:#806100}.nav-contact{border-bottom:1px solid var(--ink);display:flex;gap:24px}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:center;padding-block:56px}.eyebrow{font:11px/1.5 var(--font);font-weight:600;letter-spacing:1.5px}.hero .eyebrow{display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:#e7b900;border-radius:50%;flex-shrink:0}h1{font-size:clamp(44px,4.9vw,68px);line-height:1.12;font-weight:600;letter-spacing:-3.5px;margin-top:27px}h1>span{color:#876800}.intro{max-width:445px;color:var(--muted);margin-top:27px;font-size:15px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:33px;font-size:12px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 23px;color:var(--ink);background:var(--accent);border:1px solid var(--accent);transition:background .2s,transform .2s}.button:hover{background:#e7b900;transform:translateY(-2px)}.text-link{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-block:8px;font-size:12px}.hero-visual{background:#eeece3;padding:21px;position:relative}.drawing-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;margin-bottom:18px}.hero-image{display:block;height:320px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:contain}.visual-caption{display:flex;justify-content:space-between;align-items:center;padding-top:20px}.visual-caption .eyebrow{font-size:8px;letter-spacing:1.2px}.visual-caption p{font-size:12px;margin-top:5px}.crosshair{font-size:32px;font-weight:400}.disciplines{display:flex;justify-content:space-between;align-items:center;gap:20px;border-block:1px solid var(--line);padding-block:23px;font-size:12px;color:var(--muted)}.disciplines [aria-hidden]{color:#a17b00;font-size:21px}.section{padding-block:90px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:36px}h2{font-size:clamp(30px,3.1vw,42px);line-height:1.25;letter-spacing:-1.6px;font-weight:600}.section-heading h2{margin-top:13px}.section-heading>p{color:var(--muted);font-size:12px;line-height:1.9}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:43px 32px}.project-image{position:relative;background:#eeece3;overflow:hidden;aspect-ratio:1.28}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform .4s}.image-action{position:absolute;bottom:16px;right:16px;background:var(--paper);padding:9px 13px;font-size:10px;display:flex;gap:25px}.project:hover .project-image img{transform:scale(1.035)}.project-meta{display:flex;justify-content:space-between;align-items:center;padding-top:20px}.project-meta .eyebrow{font-size:9px;letter-spacing:1.2px;color:var(--muted)}h3{font-size:22px;font-weight:600;letter-spacing:-.6px;margin-top:5px}.project-arrow{width:37px;height:37px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .2s}.project:hover .project-arrow{background:var(--accent)}.about-section{background:#f5edcd}.about{display:grid;grid-template-columns: .85fr 1fr;gap:100px;align-items:center;padding-block:75px}.portrait img{width:100%;height:390px;object-fit:cover;object-position:35% center;filter:none}.portrait figcaption{display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1px;padding-top:14px}.portrait figcaption span{font-size:7px;color:var(--muted)}.about-copy h2{margin:18px 0 25px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;margin-bottom:18px;line-height:1.95}.about-copy .text-link{margin-top:5px;border-color:#c9ba87}.contact{padding-block:90px 72px}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:24px 0 35px}.contact h2{font-size:clamp(36px,4.6vw,63px);letter-spacing:-2.8px;line-height:1.2}.contact em{font-family:Georgia,serif;font-weight:400;color:#876800}.contact-arrow{display:grid;place-items:center;width:94px;height:94px;flex-shrink:0;border-radius:50%;background:var(--accent);font-size:43px;transition:transform .2s}.contact-arrow:hover{transform:rotate(7deg)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-bottom p{font-size:12px;color:var(--muted)}.email-link{font-size:17px;border-bottom:1px solid var(--ink);padding-block:10px;display:flex;gap:30px}.site-footer{border-top:1px solid var(--line);padding-block:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px}.footer-name{font-weight:600}.footer-name span{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:3px}
@media(min-width:1450px){.hero{padding-block:64px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:30px}h1{font-size:48px;letter-spacing:-2.5px}.hero-actions{gap:16px;flex-wrap:wrap}.about{gap:45px}.portrait figcaption{display:block}.portrait figcaption span{display:block;margin-top:5px}.email-link{font-size:14px;gap:12px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{height:92px}.brand{font-size:8px;gap:11px;letter-spacing:1px}.monogram{font-size:38px}.site-header nav{gap:18px;font-size:11px}.nav-contact{gap:8px}.hero{grid-template-columns:1fr;padding-block:36px;gap:28px}.hero .eyebrow{font-size:9px;letter-spacing:1px}h1{font-size:clamp(42px,9vw,62px);letter-spacing:-2.7px;margin-top:21px}.intro{font-size:14px;max-width:480px}.hero-actions{gap:22px;margin-top:25px}.hero-visual{max-width:480px;width:100%;justify-self:center;padding:18px}.hero-image{height:240px}.hero-image img{height:100%;object-fit:contain;background:#eeece3}.disciplines{flex-wrap:wrap;justify-content:center;gap:10px 16px;font-size:10px;padding-block:18px}.disciplines [aria-hidden]{font-size:14px}.section{padding-block:56px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:16px}.section-heading>p br{display:none}h2{font-size:32px}.project-grid{gap:30px 18px}.project-image{aspect-ratio:1}.image-action{right:8px;bottom:8px;padding:6px 9px;font-size:8px;gap:10px}.project-meta{padding-top:13px;gap:8px;align-items:flex-start}.project-meta .eyebrow{font-size:7px;letter-spacing:.6px}h3{font-size:17px;line-height:1.35;margin-top:7px}.project-arrow{width:27px;height:27px;flex-shrink:0;font-size:13px}.about{grid-template-columns:1fr;gap:35px;padding-block:50px}.portrait{max-width:440px}.portrait img{height:auto;aspect-ratio:1.1;object-position:center}.portrait figcaption{display:flex}.portrait figcaption span{margin:0}.about-copy h2{margin-top:13px}.contact-row{gap:15px;margin-top:20px}.contact h2{font-size:clamp(33px,6.7vw,46px);letter-spacing:-1.7px}.contact-arrow{width:58px;height:58px;font-size:29px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:15px}.email-link{font-size:14px;max-width:100%;overflow-wrap:anywhere}.site-footer{flex-wrap:wrap;font-size:10px}.footer-name{flex-basis:100%}}
@media(max-width:390px){.site-header nav{gap:12px}.brand>span:last-child{display:none}.project-grid{grid-template-columns:1fr}.project-meta .eyebrow{font-size:9px}h3{font-size:22px}.contact-arrow{width:44px;height:44px;font-size:24px}.contact h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Warm yellow accents with dark, readable lettering. */
::selection{background:#f5c518;color:#292820}.hero-copy h1>span{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.12em;text-underline-offset:.12em}.hero-visual{border-top:4px solid var(--accent)}.image-action{background:var(--accent);color:var(--ink)}.nav-contact:hover{border-color:var(--accent)}.project-arrow{background:#fbf2c9}.contact em{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.12em}
/* Accessible navigation and text alternatives. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,summary,[tabindex="0"]):focus-visible{outline:3px solid #927000;outline-offset:5px}
.site-header nav a,.site-footer a,.text-link{min-height:44px;display:inline-flex;align-items:center}.footer-name{flex-direction:column;align-items:flex-start!important;justify-content:center}
.hero-copy,.project-intro>div{min-width:0}h1,h2,h3{overflow-wrap:break-word}
@media(forced-colors:active){.button,.contact-arrow,.project-arrow{border:1px solid ButtonText}a:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid Highlight}}
