*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101210;color:#f2f1ec;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}header{height:90px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff14}header img{width:65px}nav{display:flex;gap:32px;align-items:center;font-size:12px;color:#c2c6bd}.contact-link{padding:12px 18px;background:#eeeee5;color:#172017}.hero{padding:80px 7vw 85px;display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:center}.label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#96a08f}h1{font-size:clamp(65px,9vw,132px);line-height:.92;letter-spacing:-.065em;font-weight:600;margin:30px 0}h1 span{color:#a5c19a}.intro{max-width:340px;font-size:15px;line-height:1.8;color:#afb5a8}.text-link{display:inline-block;margin-top:25px;padding-bottom:10px;border-bottom:1px solid #a5c19a;font-size:13px}.text-link span{margin-left:35px;color:#a5c19a}figure{margin:0}figure img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}figcaption{padding-top:15px;color:#8e9886;font-size:9px;letter-spacing:.08em}.about{background:#eeeee6;color:#1b261b;padding:90px 7vw;display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw}.about .label{color:#73806a}h2{font-size:clamp(32px,4vw,58px);line-height:1.1;letter-spacing:-.045em;font-weight:500;margin:0 0 30px}.about p:not(.label){font-size:16px;line-height:1.9;color:#52604b;max-width:660px}.expertise{padding:90px 7vw;display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.expertise h2{margin-top:22px}article{padding:25px 0;border-top:1px solid #ffffff24;display:grid;grid-template-columns:35px 1fr;gap:10px}article>span{font-size:10px;color:#8aab7c;padding-top:5px}article h3{font-size:20px;font-weight:500;margin:0 0 10px;letter-spacing:-.02em}article p{font-size:13px;line-height:1.7;color:#909b87;margin:0}.contact{padding:90px 7vw;background:#dbe3d4;color:#1a2b18;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact .label{color:#63765a}.contact h2{margin-top:25px}.contact p{line-height:1.8;font-size:14px}form{display:grid;gap:18px}label{display:grid;gap:9px;font-size:12px}input,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #a1b297;border-radius:0;padding:12px 0;color:#182b16;font:inherit;font-size:14px}textarea{resize:vertical;min-height:100px}button{background:#243b20;color:#f2f5ed;border:0;padding:15px 20px;text-align:left;font-size:12px;width:fit-content;cursor:pointer}.contact .note{font-size:11px;color:#65775c;margin:0}#status{font-size:12px;line-height:1.7;white-space:pre-wrap}footer{padding:25px 7vw;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#929c8a}footer img{width:42px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #789d67;outline-offset:5px}@media(max-width:700px){header{height:75px;padding:0 24px}header img{width:52px}nav{gap:15px;font-size:11px}.contact-link{padding:10px 12px}.hero{padding:55px 24px 60px;grid-template-columns:1fr;gap:40px}h1{font-size:90px}figure img{aspect-ratio:1/1;object-position:50% 30%}.about,.expertise,.contact{padding:60px 24px;grid-template-columns:1fr;gap:30px}.about p:not(.label){font-size:15px}.contact h2{margin-bottom:15px}footer{padding:24px;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep the full Justin TM wordmark on one line, with TM at the same scale. */
.hero h1{white-space:nowrap}
.hero h1 span{font-size:1em;font-weight:inherit;line-height:inherit;letter-spacing:inherit;margin-left:.08em}
@media(max-width:700px){.hero h1{font-size:clamp(52px,17vw,82px)}}
