*{box-sizing:border-box}body{margin:0;background:#f5f5f5;color:#111;font-family:Arial,sans-serif}.skip{position:absolute;left:10px;top:-50px;z-index:9}.skip:focus{top:10px}header{min-height:120px;padding:28px 4%;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#f5f5f5,#e4e4e4);position:relative;z-index:2;box-shadow:0 7px 16px #00000018}.logo{display:block;width:180px}.logo img{display:block;width:100%;height:auto}nav{display:flex;align-items:center;gap:24px}nav a{font-size:15px;line-height:1.5;text-decoration:none;color:#111}nav a:hover{text-decoration:underline;text-underline-offset:5px}.hero{height:650px;position:relative;overflow:hidden;background:#ccc}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply}.socials{position:absolute;top:30%;left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:18px;width:max-content;max-width:90%;flex-wrap:wrap}.socials a{width:78px;height:78px;border-radius:50%;background:#e5e5e5;display:grid;place-items:center;transition:transform .2s,background .2s}.socials a:hover{transform:translateY(-4px);background:white}.socials svg{width:64px;height:64px;fill:#000}.curve{position:absolute;bottom:-1px;left:0;width:100%;height:105px;fill:#f5f5f5}#menu-button{display:none;background:transparent;border:0;width:42px;height:42px;padding:8px;cursor:pointer}#menu-button span{display:block;height:1px;background:#222;margin:10px 0}:focus-visible{outline:3px solid #276483;outline-offset:5px}@media(max-width:1000px){header{min-height:90px;padding:22px 7%}.logo{width:120px}#menu-button{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;padding:30px;background:#f5f5f5;flex-direction:column;gap:20px;box-shadow:0 8px 12px #0001}nav.open{display:flex}.hero{height:520px}.socials{top:25%;width:370px;gap:15px}.socials a{width:68px;height:68px}.socials svg{width:56px;height:56px}}@media(max-width:480px){header{min-height:76px;padding:17px 7%}.logo{width:95px}.hero{height:240px}.socials{top:23%;width:255px;gap:12px}.socials a{width:48px;height:48px}.socials svg{width:42px;height:42px}.curve{height:45px}}
/* Keep links outside the portrait at every screen size. */
.socials{position:relative;top:auto;left:auto;transform:none;width:auto;max-width:100%;padding:18px 24px 35px;margin:0 auto;background:#f5f5f5;gap:18px}.socials a{flex-shrink:0}@media(max-width:1000px){.socials{top:auto;width:auto;gap:15px}}@media(max-width:480px){.socials{top:auto;width:auto;padding:12px 30px 25px;gap:12px}}

/* Raise the portrait slightly within the hero crop. */
.hero-photo{object-position:center 58%;transform:translateY(-24px);height:calc(100% + 24px)}
@media(max-width:480px){.hero-photo{transform:translateY(-18px);height:calc(100% + 18px)}}

.projects-intro{position:relative;min-height:400px;display:flex;align-items:center;background:#333;color:#fff;padding:65px 8%}.projects-intro>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.4)}.projects-intro>div{position:relative;max-width:750px}.projects-intro h1,.contact-page h1{font-size:48px;font-weight:500;letter-spacing:-1px;margin:0 0 25px}.projects-intro p{font-size:18px;line-height:1.7}.project-grid{max-width:1100px;margin:0 auto;padding:70px 6%;display:grid;grid-template-columns:1fr 1fr;gap:60px}.project a{color:#111;text-decoration:none;display:block;text-align:center}.project img{width:100%;height:260px;object-fit:contain}.project h2{font-size:23px;font-weight:500;margin:22px 0 8px}.project p{margin:0 0 14px;font-size:16px}.project span{font-size:13px;color:#276483}.project a:hover span{text-decoration:underline}.contact-page{max-width:780px;margin:0 auto;padding:65px 6% 80px}.contact-page>p{line-height:1.7;color:#555;margin-bottom:35px}.contact-page form{display:grid;gap:25px}.contact-page fieldset{border:0;padding:0;margin:0}.contact-page legend{padding:0;margin-bottom:14px}.contact-page label{display:block;font-size:15px}.contact-page span{font-size:12px;color:#666}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-page input,.contact-page textarea{display:block;width:100%;margin-top:10px;background:transparent;border:1px solid #999;border-radius:0;padding:13px;font:16px Arial}.contact-page textarea{resize:vertical}.submit{padding:16px 25px;border:1px solid #222;color:#111;background:transparent;cursor:pointer;font-size:15px}.submit:hover{background:#111;color:white}.form-note,#contact-status{font-size:13px;line-height:1.6;margin:0;color:#555}.direct-email{font-size:14px;margin-top:35px}@media(max-width:600px){.projects-intro{min-height:330px;padding:45px 7%}.projects-intro h1,.contact-page h1{font-size:36px}.projects-intro p{font-size:15px}.project-grid{grid-template-columns:1fr;padding:40px 8%;gap:40px}.project img{height:210px}.name-fields{grid-template-columns:1fr;gap:16px}.contact-page{padding-top:40px}}
