.hero h1{font-size:clamp(1.5rem,3.4vw,3.15rem);letter-spacing:-.045em;white-space:nowrap;margin:0 0 16px}
.hero .eyebrow{margin-bottom:20px}.hero-copy>p{margin-top:0}
.heading{display:block}.heading h2,.contact h2{font-size:clamp(1.1rem,3.5vw,3.25rem);line-height:1.2;letter-spacing:-.045em;white-space:nowrap}
.nav-shell{gap:14px}.nav-shell .pill{min-height:40px;padding:0 16px;font-size:.875rem;margin-left:auto}.nav-shell nav{margin-left:auto}.theme-switch{margin-left:0}
.project{min-height:0;gap:24px;padding:28px}.project h3{font-size:clamp(1.1rem,2.2vw,1.8rem);letter-spacing:-.035em;white-space:nowrap;margin:0 0 14px}.project .tags{margin-bottom:18px}
.photo-slot{margin:0;aspect-ratio:16/10;border:1px dashed var(--line);border-radius:18px;display:grid;place-items:center;overflow:hidden;background:var(--bg);box-shadow:var(--in);color:var(--muted);font-size:.875rem;text-align:center}
.photo-slot img{display:block;width:100%;height:100%;object-fit:cover}.photo-slot:has(img){border-style:solid}.photo-slot:has(img)>span{display:none}
.business .photo-slot{margin-bottom:24px;max-height:240px;background:#232b35;color:#bac3cc;box-shadow:inset 4px 4px 10px #10161d,inset -4px -4px 10px #34404e}
.travel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;border:0}.travel-card{padding:26px}.travel-card h3{font:700 1.5rem Manrope;margin:0 0 20px}.travel-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}.travel-photos .photo-slot{aspect-ratio:4/5}.travel-card p{color:var(--muted);margin:18px 0 0}
.contact-form{max-width:760px;margin:36px auto 0;text-align:left}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:grid;gap:8px;margin-bottom:18px;font-weight:600}.contact-form input,.contact-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:14px;padding:15px;font:400 1rem/1.5 "DM Sans",sans-serif;color:var(--ink);background:var(--bg);box-shadow:var(--in)}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #F16913;outline-offset:3px}.form-note,#contactStatus{font-size:.875rem;color:var(--muted);margin:14px 0 0}
@media(hover:hover) and (pointer:fine){.card,.row,.project,.business,.contact,.portrait-panel{transition:transform .25s ease,box-shadow .25s ease}.card:hover,.row:hover,.project:hover,.business:hover,.contact:hover,.portrait-panel:hover{transform:translateY(-6px)}}
@media(max-width:620px){.hero h1{order:1;font-size:clamp(1.3rem,6vw,2.2rem);margin:0}.hero .eyebrow{order:2;margin:0;font-size:.75rem}.nav-shell .pill{display:none}.theme-switch{margin-left:auto}.heading h2,.contact h2{font-size:clamp(1rem,4.6vw,1.8rem);white-space:normal;text-wrap:balance}.travel{grid-template-columns:1fr}.travel-card{padding:20px}.project h3{font-size:clamp(1rem,5vw,1.6rem)}.project{padding:22px}.contact{padding:30px 18px}.form-pair{grid-template-columns:1fr;gap:0}.mobile a[href="#contact"]:before{content:"✉"}}
@media(prefers-reduced-motion:reduce){.card:hover,.row:hover,.project:hover,.business:hover,.contact:hover,.portrait-panel:hover{transform:none;transition:none}}
.hero,.section,footer{position:relative}
body{background-image:radial-gradient(circle,rgba(20,20,20,.065) .55px,transparent .75px),radial-gradient(circle,rgba(255,255,255,.6) .5px,transparent .8px);background-size:5px 5px,7px 7px;background-position:0 0,2px 3px}
html[data-theme="dark"] body{background-image:radial-gradient(circle,rgba(255,255,255,.06) .55px,transparent .8px),radial-gradient(circle,rgba(0,0,0,.18) .6px,transparent .85px)}
