@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap');
:root{--red:#8f1d20;--ivory:#f2efe9;--ink:#171512;--page-pad:clamp(34px,7.3vw,112px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

.hero{position:relative;height:min(100vh,802px);min-height:720px;overflow:hidden;background:var(--red)}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(72,8,10,.07),rgba(72,8,10,.07)),url("assets/hero.webp");background-position:center;background-repeat:no-repeat;background-size:cover}
.site-header{position:absolute;z-index:3;top:0;left:0;right:0;height:145px;padding:32px var(--page-pad) 0;display:flex;align-items:flex-start;justify-content:space-between}
.brand{display:block;width:264px;margin-left:-18px}.brand img{width:100%;height:auto;display:block}
.site-header nav{padding-top:27px;display:flex}.site-header nav a,.footer-links a{font-size:10px;letter-spacing:3.4px;font-weight:400}.site-header nav a{color:#fff}

.content-section{padding:50px var(--page-pad) 78px;background:#e9e1d6}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;font-size:11px;line-height:1.35;letter-spacing:3.6px;font-weight:400}
.section-heading a{transition:opacity .2s ease}.section-heading a:hover{opacity:.6}
.photographer-credit{font-size:11px}

.project-carousel{position:relative}
.project-viewport{overflow:hidden}
.project-track{display:flex;gap:20px;transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform}
.project-card{flex:0 0 calc((100% - 60px)/4);overflow:hidden;aspect-ratio:4/5;background:#ddd}
.project-card img{width:100%;height:100%;display:block;object-fit:cover}
.carousel-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(23,21,18,.82);color:#fff;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s ease,background .2s ease}
.project-carousel:hover .carousel-arrow,.carousel-arrow:focus-visible{opacity:1}
.carousel-arrow:hover{background:rgba(23,21,18,.98)}
.carousel-arrow:disabled{opacity:0!important;pointer-events:none}
.carousel-prev{left:14px}.carousel-next{right:14px}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:22px}
.carousel-dot{width:5px;height:5px;padding:0;border:0;border-radius:50%;background:#b9b3aa;cursor:pointer}
.carousel-dot.is-active{background:#171512}

.diary{padding-top:0;padding-bottom:72px}.diary-heading{margin-bottom:29px}
.diary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.diary-image{overflow:hidden;background:#ddd;display:block}
.diary-image img{width:100%;height:auto;display:block;object-fit:contain;transition:none}


.site-footer{color:#fff;min-height:108px;padding:0 var(--page-pad);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;background:#5a1015;font-size:10px;line-height:1;letter-spacing:3.4px;font-weight:400}
.site-footer>span:nth-child(2){text-align:center}
.footer-links{display:flex;justify-content:flex-end;gap:48px}
.footer-links a{color:#fff}.footer-links a:hover,.site-header nav a:hover{opacity:.65}

@media(max-width:900px){
  .hero{height:760px;min-height:0}
  .site-header{height:125px;padding-top:28px}
  .brand{width:225px;margin-left:-15px}
  .site-header nav{padding-top:32px}
  .content-section{padding-left:38px;padding-right:38px}
  .project-track{gap:12px}
  .project-card{flex-basis:calc((100% - 12px)/2)}
  .carousel-arrow{opacity:.9}
  .diary-grid{gap:10px}
  .site-footer{padding:0 38px}
  .section-heading{letter-spacing:2.8px}
}

@media(max-width:640px){
  :root{--page-pad:24px}
  .hero{height:730px;min-height:0}
  .hero-bg{background-position:center}
  .site-header{height:108px;padding:27px 24px 0}
  .brand{width:174px;margin-left:-11px}
  .site-header nav{padding-top:22px}
  .site-header nav a{font-size:9px;letter-spacing:2.6px;color:#fff}
  .content-section{padding:40px 24px 55px}
  .section-heading{margin-bottom:23px;font-size:11px;letter-spacing:1.7px;line-height:1.6}
  .photographer-credit{font-size:11px}
  .project-track{gap:10px}
  .project-card{flex-basis:100%;aspect-ratio:4/5}
  .carousel-arrow{width:36px;height:36px;font-size:25px;opacity:.9}
  .carousel-prev{left:8px}.carousel-next{right:8px}
  .carousel-dots{margin-top:18px}
  .diary{padding-top:0}
  .diary-heading{margin-bottom:23px}
  .diary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .site-footer{min-height:155px;padding:28px 24px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;font-size:8px;letter-spacing:2.5px;gap:24px 10px}
  .site-footer>span:nth-child(2){text-align:right}
  .footer-links{grid-column:1/-1;justify-content:space-between;gap:20px}
}
