@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#171817;--paper:#f1f1ed;--line:#c9cbc5;--muted:#686c66;--red:#d84b3d;--dark:#20221f;--white:#f7f7f3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,7vw,7.2rem);max-width:820px;margin-bottom:2rem}h2{font-size:clamp(2.2rem,4.5vw,4.8rem);max-width:700px}h3{font-size:1.25rem}.site-header,.site-footer{max-width:1440px;margin:auto;padding:25px 5vw;display:flex;align-items:center;justify-content:space-between}.site-header{border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:11px;font:500 .8rem 'DM Mono',monospace;letter-spacing:.08em}.wordmark-mark{display:grid;place-items:center;background:var(--red);color:white;font-size:.7rem;width:28px;height:28px}.wordmark-muted{color:var(--muted)}nav{display:flex;align-items:center;gap:2.4rem;font-size:.8rem}nav a:hover,.footer-contact a:hover{color:var(--red)}.nav-cta{border:1px solid var(--ink);padding:10px 14px}.hero{max-width:1440px;margin:auto;padding:10vw 5vw 12vw;display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center}.eyebrow,.section-index,.card-number,.work-card span,.drawing-label,.drawing-dimension,.contact-meta{font:500 .68rem 'DM Mono',monospace;letter-spacing:.12em}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--red);margin-bottom:2.3rem}.eyebrow-line{width:35px;border-top:1px solid}.hero-lede{font-size:clamp(1.1rem,1.8vw,1.5rem);max-width:540px;margin-bottom:2.5rem}.button{display:inline-flex;gap:30px;align-items:center;padding:15px 18px;border:1px solid transparent;font:500 .75rem 'DM Mono',monospace;letter-spacing:.04em;cursor:pointer}.button>span[aria-hidden="true"],.nav-cta>span[aria-hidden="true"]{display:inline-block;width:.85em;height:.85em;flex:0 0 .85em;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21 21 3m0 0H10m11 0v11' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21 21 3m0 0H10m11 0v11' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;font-size:0}.button-primary{background:var(--red);color:white}.button-primary:hover{background:var(--ink)}.hero-drawing{aspect-ratio:1.1;background:#e7e8e2;position:relative;overflow:hidden;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:11% 11%}.drawing-label{position:absolute;top:6%;left:6%}.drawing-circle{position:absolute;width:58%;aspect-ratio:1;border:1px solid var(--red);border-radius:50%;left:22%;top:20%}.drawing-circle:after{content:'';position:absolute;inset:14%;border:1px solid var(--ink);border-radius:50%}.drawing-cross{position:absolute;border-top:1px solid var(--red);width:90%;left:5%;top:50%}.drawing-cross-b{transform:rotate(90deg)}.drawing-dimension{position:absolute}.dimension-a{right:7%;top:48%}.dimension-b{left:8%;bottom:20%}.band{background:var(--dark);color:var(--white);padding:8vw 10vw;display:grid;grid-template-columns:1fr 2fr;gap:5vw}.band h2{margin-bottom:2rem}.band p:not(.section-index){color:#b9bcb6;max-width:680px}.section-index{color:var(--red);margin-bottom:2rem}.content-section{max-width:1440px;margin:auto;padding:10vw 5vw}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:5vw;align-items:start;margin-bottom:5rem}.section-heading h2{margin:0}.section-note{color:var(--muted);max-width:390px;grid-column:2;margin-top:1rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service-card{padding:2rem 1.4rem 1rem 0;border-bottom:1px solid var(--line);min-height:280px}.service-card+.service-card{padding-left:1.4rem;border-left:1px solid var(--line)}.card-number{color:var(--red)}.service-card p{font-size:.9rem;color:var(--muted);max-width:250px}.experience{padding-top:7vw;padding-bottom:7vw}.experience h2{max-width:500px}.experience p{max-width:700px}.work-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}.work-card{min-height:390px;background:#e1e2dc;display:flex;flex-direction:column;justify-content:space-between;padding:20px}.work-card-large{min-height:510px}.placeholder-mark{flex:1;display:grid;place-items:center;color:#9a9d96;font:500 .7rem 'DM Mono',monospace;border:1px dashed #b7bab2;margin-bottom:35px}.work-card span{color:var(--red)}.work-card h3{margin:9px 0 0}.portfolio-projects{display:flex;flex-direction:column;gap:6rem}.portfolio-project{border-top:1px solid var(--line);padding-top:2rem}.portfolio-project-header{display:grid;grid-template-columns:1fr 2fr;gap:5vw;margin-bottom:2rem}.portfolio-project-header h3{font-size:clamp(1.8rem,3vw,3rem);margin:0}.portfolio-project-header p{color:var(--muted);max-width:560px;margin:0}.portfolio-gallery{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.portfolio-item{flex:0 0 min(360px,78vw);margin:0;background:#e1e2dc;overflow:hidden;scroll-snap-align:start}.portfolio-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.portfolio-item figcaption{display:none}.process-list{list-style:none;padding:0;margin:3rem 0 0;border-top:1px solid #4d504b;max-width:700px}.process-list li{display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding:1.5rem 0;border-bottom:1px solid #4d504b;font-size:.9rem;color:#b9bcb6}.process-list strong{font:500 .7rem 'DM Mono',monospace;color:var(--white)}.faq-grid{max-width:900px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:1.5rem 0}summary{cursor:pointer;font-size:1.05rem;font-weight:600}details p{color:var(--muted);max-width:680px;margin:1rem 0 0}.contact-section{background:var(--red);color:white;display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:9vw 10vw}.contact-section .section-index{color:white}.contact-intro h2{font-size:clamp(3rem,6vw,6rem)}.contact-meta{margin-top:5rem}.form-wrap form{background:var(--white);color:var(--ink);padding:2rem}.form-row{display:flex;flex-direction:column;margin-bottom:1.3rem}.form-row label{font:500 .7rem 'DM Mono',monospace;margin-bottom:.5rem}.form-row label span{color:var(--red)}.form-row em{font-style:normal;color:var(--muted)}input,textarea{font:inherit;border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 0;outline:none;resize:vertical}input:focus,textarea:focus{border-color:var(--red)}.button-light{background:var(--ink);color:white;width:100%;justify-content:space-between}.hidden{position:absolute;left:-9999px}.form-success{background:var(--white);color:var(--ink);padding:3rem}.form-success h3{font-size:2rem}.site-footer{align-items:flex-start;flex-wrap:wrap;gap:2rem;color:var(--muted);font-size:.75rem}.site-footer .wordmark{color:var(--ink)}.footer-contact{text-align:right}.copyright{width:100%;border-top:1px solid var(--line);padding-top:1.5rem;font:500 .65rem 'DM Mono',monospace}
.about-layout{display:grid;grid-template-columns:minmax(280px, .8fr) 1.2fr;gap:7vw;align-items:start}.about-portrait{width:min(100%,430px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#dfe0da}.about-portrait img{display:block;width:105%;height:105%;object-fit:cover;object-position:center 18%;transform:scale(.92);transform-origin:center}.about-content{max-width:700px}.about-content p{color:var(--muted);max-width:650px}.about-content .about-lede{font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.4;color:var(--ink);max-width:600px}.about-skills{margin-top:2.5rem;border-top:1px solid var(--line)}.skills-label,.about-hobbies span{font:500 .68rem 'DM Mono',monospace;letter-spacing:.12em;color:var(--red)}.skills-list{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 2rem;list-style:none;margin:1.2rem 0 0;padding:0}.skills-list li{font-size:.86rem;color:var(--ink)}.skills-list li::before{content:'';display:inline-block;width:.75em;height:.75em;vertical-align:-.05em;background:var(--red);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21 21 3m0 0H10m11 0v11' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21 21 3m0 0H10m11 0v11' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;margin-right:.55rem}.about-hobbies{margin-top:2.5rem;font-size:.78rem}.about-hobbies span{display:block;margin-bottom:.5rem}
@media(max-width:800px){nav a:not(.nav-cta){display:none}.hero{display:block;padding-top:18vw}.hero-drawing{margin-top:4rem}.band,.section-heading,.contact-section,.portfolio-project-header{grid-template-columns:1fr;gap:1rem}.content-section{padding-top:18vw;padding-bottom:18vw}.section-heading{margin-bottom:3rem}.section-note{grid-column:auto}.about-layout{grid-template-columns:1fr;gap:3rem}.about-portrait{width:min(75vw,360px);margin:auto}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:220px}.service-card+.service-card{padding-left:1rem}.work-grid{grid-template-columns:1fr 1fr}.work-card,.work-card-large{min-height:350px}.process-list li{grid-template-columns:1fr;gap:.5rem}.contact-section{padding:18vw 5vw}.contact-meta{margin-top:3rem}.site-footer{padding:30px 5vw}.footer-contact{text-align:left}}
@media(max-width:480px){.service-grid{grid-template-columns:1fr}.service-card+.service-card{padding-left:0;border-left:0}.site-header{padding-top:18px;padding-bottom:18px}.wordmark-muted{display:none}h1{font-size:3.3rem}}
