:root{--black:#111;--white:#fff;--paper:#f7f6f3;--muted:#878787;--line:#deddd9}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;width:100%;min-height:100%}body{font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--black)}a{color:inherit}
.hero{position:relative;min-height:100svh;overflow:hidden;background-image: url("img/hero.webp");background-size:cover;background-repeat:no-repeat;background-position:center center}
.brand{position:absolute;z-index:2;top:clamp(18px,2.2vh,34px);left:50%;transform:translateX(-50%);width:min(92vw,620px);text-align:center;color:var(--black)}
.brand__mark{width:76px;height:46px;margin:0 auto 7px;display:grid;place-items:center;border:2px solid currentColor;font-size:15px;letter-spacing:.12em;font-weight:700}
.brand h1{margin:0;font-size:clamp(30px,3.1vw,46px);line-height:1;font-weight:400;letter-spacing:-.035em}.brand p{margin:5px 0 0;font-size:clamp(17px,1.55vw,23px);line-height:1.15;font-weight:400;letter-spacing:-.035em}
.social{position:absolute;z-index:2;left:50%;bottom:clamp(34px,7vh,82px);transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:clamp(34px,5vw,72px);white-space:nowrap}.social a{color:var(--white);font-size:clamp(22px,2.05vw,31px);line-height:1;font-weight:400;text-decoration:none;text-shadow:0 1px 7px rgba(0,0,0,.55);transition:opacity .18s ease}.social a:hover,.social a:focus-visible{opacity:.72}
.portfolio-section{padding:clamp(76px,9vw,138px) 0 0}.section-heading{text-align:center;margin:0 auto clamp(50px,5vw,78px);padding:0 24px}.section-heading h2{margin:0;text-transform:uppercase;font-size:clamp(27px,2.7vw,43px);font-weight:400;letter-spacing:.16em}.section-heading span{display:block;width:72px;height:1px;background:#999;margin:30px auto 0}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 0 clamp(80px,9vw,135px)}.project-card{min-width:0;background:rgba(255,255,255,.34)}.project-image{height:clamp(350px,31vw,520px);overflow:hidden;background:#ddd}.project-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .75s cubic-bezier(.2,.65,.25,1)}.project-card:hover .project-image img{transform:scale(1.025)}
.project-info{padding:29px clamp(22px,3vw,64px) 46px}.project-info h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(23px,2vw,32px);font-weight:400;line-height:1.15;margin:0 0 12px}.location{margin:0;color:var(--muted);font-size:16px}.system{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.system span{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:13px}.system p{margin:11px 0 0;font-size:17px}
.instagram-block{text-align:center;padding:clamp(85px,10vw,155px) 25px;background:#111;color:#fff}.instagram-block p{margin:0 0 22px;color:#bdbdbd;font-size:15px;letter-spacing:.08em;text-transform:uppercase}.instagram-block a{display:inline-block;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:clamp(31px,4vw,64px);border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:8px}
footer{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:30px clamp(25px,5vw,80px);background:#111;color:#fff;border-top:1px solid #333;font-size:14px;letter-spacing:.08em}footer div{display:flex;gap:25px}footer a{text-decoration:none;color:#ddd}
@media(max-width:900px){.projects-grid{grid-template-columns:1fr}.project-image{height:min(68vw,600px)}.project-info{padding:25px 25px 48px}.portfolio-section{padding-top:82px}.section-heading{margin-bottom:45px}}
@media(max-width:720px){.hero{background-position:56% center}.brand{top:16px}.brand__mark{width:60px;height:38px;font-size:12px}.brand h1{font-size:30px}.brand p{font-size:16px}.social{bottom:38px;gap:30px}.social a{font-size:21px}.section-heading h2{letter-spacing:.1em}.project-image{height:72vw}footer{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-image img{transition:none}}

.brand__logo {
  display: block;
  width: clamp(64px, 6vw, 92px);
  height: auto;
  margin: 0 auto 4px;
  object-fit: contain;
}
