:root{--ink:#23211f;--paper:#f3f1eb;--orange:#ef7043;--muted:#625e57;--line:#d4d0c7;--surface:#e7e5df;--dark:#23211f;--light:#f3f1eb;--dark-muted:#c2beb7;--focus:#175eab}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a,button{transition:background .2s,color .2s}a:hover{text-decoration:underline;text-underline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.02;letter-spacing:-.055em;font-weight:600}h1{font-size:clamp(60px,7.7vw,124px);max-width:850px}h2{font-size:clamp(42px,5vw,76px)}h3{font-size:27px;letter-spacing:-.035em}p{color:var(--muted)}.site-header{display:flex;justify-content:space-between;align-items:center;padding:23px 5%;border-bottom:1px solid var(--line);gap:24px;background:var(--paper)}.brand{font-size:20px;font-weight:700;line-height:1.2;letter-spacing:-.04em}.brand span{display:block;font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-download{border:1px solid var(--ink);padding:10px 18px;border-radius:30px}.section{padding:100px 5%;scroll-margin-top:20px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.14em;display:block;font-weight:600}.section-hero{background:var(--orange);padding-top:30px;padding-bottom:25px}.hero-top,.hero-bottom{display:flex;justify-content:space-between;gap:20px}.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:7%;padding:66px 0}.hero-copy{color:var(--ink);max-width:420px;margin-top:30px;font-size:18px}.actions{display:flex;gap:25px;flex-wrap:wrap;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border:1px solid var(--ink);padding:14px 24px;min-height:48px;border-radius:30px;cursor:pointer;background:transparent;color:var(--ink);font-size:14px}.button:hover{background:var(--ink);color:var(--light);text-decoration:none}.button.dark{background:var(--ink);color:var(--light)}.button.dark:hover{background:color-mix(in srgb,var(--ink) 85%,var(--paper))}.text-link{font-size:14px;border-bottom:1px solid;padding:10px 0;display:inline-block}.hero-art{transform:rotate(3deg);margin-right:10px}.hero-art img{height:440px;width:100%;object-fit:cover;object-position:center;border-radius:3px}.hero-art figcaption{font-size:10px;padding-top:12px;text-transform:uppercase;letter-spacing:.08em}.hero-bottom{padding-top:22px;border-top:1px solid color-mix(in srgb,var(--ink) 38%,transparent);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p{max-width:300px;font-size:14px}.filters{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}.filters button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 22px;min-height:44px;border-radius:30px;cursor:pointer}.filters button.active{background:var(--ink);color:var(--light);border-color:var(--ink)}.filters span{font-size:11px;margin-left:12px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 28px}.project-card[hidden]{display:none}.project-image{overflow:hidden;position:relative;background:var(--dark);aspect-ratio:1.35}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-card:hover img{transform:scale(1.025)}.project-arrow{position:absolute;bottom:18px;right:18px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font-size:25px}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.project-meta span{font-size:12px}.project-card p{font-size:13px;margin-top:8px}.project-card a:hover{text-decoration:none}.section-about{background:var(--surface)}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:center}.portrait{width:100%;height:530px;object-fit:cover;object-position:50% 25%;filter:grayscale(1)}.about-grid h2{margin:24px 0}.prose{white-space:pre-line;line-height:1.8;max-width:680px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service-grid article{border-top:1px solid var(--line);padding-top:24px}.service-grid h3{margin:34px 0 20px}.service-grid p{font-size:14px}.section-experience,.section-skills{background:var(--dark);color:var(--light)}.section-experience p,.section-experience .prose{color:var(--dark-muted)}.timeline article{display:grid;grid-template-columns:.6fr 1fr 1.4fr;gap:30px;border-top:1px solid color-mix(in srgb,var(--dark-muted) 45%,transparent);padding:32px 0}.timeline h3{font-size:25px;margin-bottom:10px}.timeline p{font-size:14px}.skill-groups{display:grid;grid-template-columns:1fr 1fr;gap:12%}.skill-groups h3{margin-bottom:24px}.skill{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid color-mix(in srgb,var(--dark-muted) 45%,transparent)}.skill span+span{color:var(--dark-muted)}.section-contact{background:var(--orange)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.contact-grid h2{margin:24px 0 32px}.contact-grid p{color:var(--ink)}.contact-links{display:flex;flex-direction:column;gap:14px;margin-top:32px;overflow-wrap:anywhere}.contact-form{background:var(--paper);padding:32px}.contact-form h3{margin-bottom:30px}.contact-form label{display:block;font-size:13px;margin-top:20px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--muted);padding:10px 0;background:transparent;border-radius:0;color:var(--ink)}.contact-form button{margin-top:24px;width:100%}.honeypot{position:absolute;left:-10000px}.notice{padding:15px;background:#dce8d9;color:#244523;margin:15px 0}.errors{padding:15px;background:#f7d9d4;color:#8a2419;margin:15px 0}.site-footer{padding:30px 5%;display:flex;justify-content:space-between;gap:24px;font-size:12px}.site-footer>a{font-weight:bold}.project-detail h1{margin-top:25px}.project-detail .section-heading{margin-top:55px}.project-description{margin-bottom:50px}.detail-cover{width:100%;max-height:850px;object-fit:contain;background:var(--dark)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;align-items:start}.gallery img{width:100%}.skip{position:absolute;top:-100px;padding:15px;background:var(--ink);color:white;z-index:50}.skip:focus{top:0}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}@media(min-width:1600px){.section,.site-header,.site-footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}@media(max-width:900px){.hero-grid{gap:5%}.hero-art img{height:350px}.service-grid{grid-template-columns:1fr 1fr}.about-grid{gap:6%}.portrait{height:450px}.contact-grid{gap:5%}.timeline article{grid-template-columns:.5fr 1fr}.timeline .prose{grid-column:2}.site-header nav{gap:18px}}@media(max-width:600px){.site-header{align-items:flex-start;flex-direction:column;gap:20px;padding:20px 6%}.site-header nav{justify-content:space-between;width:100%;gap:12px;font-size:12px}.nav-download{padding:8px 12px}.section{padding:65px 6%}.section-hero{padding-top:25px;padding-bottom:25px}.hero-top{flex-direction:column;gap:6px}.hero-grid{grid-template-columns:1fr;padding:40px 0;gap:45px}.hero-grid h1{font-size:68px}.hero-art{transform:rotate(2deg);margin:0 8px}.hero-art img{height:320px}.hero-bottom{font-size:9px}.section-heading{display:block}.section-heading>p{margin-top:20px}.project-grid{grid-template-columns:1fr;gap:35px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.portrait{height:420px}.service-grid{grid-template-columns:1fr;gap:40px}.service-grid h3{margin-top:16px}.timeline article{grid-template-columns:1fr;gap:14px}.timeline .prose{grid-column:auto}.skill-groups{grid-template-columns:1fr;gap:40px}.contact-form{padding:24px}.gallery{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}.site-footer p{order:3;width:100%}.project-detail h1{font-size:58px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep the upper brand mark visible when portrait artwork fills a landscape frame. */
.hero-art img,.project-image img{object-position:center 20%}
.site-header nav a{min-height:44px;display:inline-flex;align-items:center}
.magazine-reader{max-width:1100px;margin:48px auto 0}.magazine-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.magazine-controls{display:flex;align-items:center;gap:12px;font-size:13px;font-variant-numeric:tabular-nums}.magazine-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:20px;cursor:pointer}.magazine-button:hover:not(:disabled){background:var(--ink);color:var(--light)}.magazine-button:disabled{opacity:.4;cursor:not-allowed}.magazine-progress{display:block;width:100%;height:4px;margin:12px 0 20px;accent-color:var(--orange)}.magazine-book{position:relative;padding:clamp(12px,2.4vw,28px);border:1px solid #aa9b83;border-radius:10px;background:linear-gradient(135deg,#d7ccba,#bfb19b);box-shadow:0 24px 60px #23211f26, inset 0 1px #fff8}.magazine-book:after{position:absolute;inset:clamp(12px,2.4vw,28px);z-index:2;pointer-events:none;content:"";background:linear-gradient(90deg,transparent 49.7%,#2b251c12 49.9%,#fff9 50%,#2b251c12 50.2%,transparent 50.5%)}.magazine-pages{display:block;height:min(72svh,720px);min-height:420px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-color:#91836f transparent;scrollbar-width:thin;background:#f8f6f0;box-shadow:0 2px 8px #33291c25,inset 0 0 0 1px #fff}.magazine-pages:focus-visible{outline-offset:6px}.magazine-page{display:grid;grid-template-rows:minmax(0,1fr) 24px;gap:10px;width:100%;height:100%;margin:0;padding:clamp(12px,2.2vw,28px);scroll-snap-align:start;scroll-snap-stop:always;background:linear-gradient(90deg,#f8f6f0 0%,#fffefa 48%,#ede9df 50%,#fffefa 52%,#f8f6f0 100%)}.magazine-page-art{display:grid;min-height:0;place-items:center;overflow:hidden;background:#fffefa;box-shadow:0 1px 5px #29231a14}.magazine-page-art img{display:block;width:100%;height:100%;object-fit:contain}.magazine-page figcaption{display:flex;justify-content:space-between;gap:20px;color:#625b50;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.magazine-page figcaption span:last-child{font-variant-numeric:tabular-nums}@media(max-width:600px){.magazine-reader{margin-top:32px}.magazine-toolbar{padding:10px 12px}.magazine-controls{gap:8px;font-size:11px}.magazine-button{width:38px;height:38px}.magazine-book{padding:10px;border-radius:7px}.magazine-book:after{inset:10px}.magazine-pages{height:62svh;min-height:340px}.magazine-page{padding:12px 9px;grid-template-rows:minmax(0,1fr) 20px}.magazine-page figcaption{font-size:9px}}
