/* chriskilkusphoto.com — Chris Kilkus Photo. Distinct look: stark white, ultra-minimal
   high-fashion gallery — thin wide-tracked sans, maximal whitespace, image-dominant. */
:root{
  --bg:#ffffff;--ink:#0c0c0c;--muted:#9a9a9a;--line:#ececec;
  --sans:"Helvetica Neue",-apple-system,BlinkMacSystemFont,Arial,sans-serif;--wrap:1500px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;font-weight:300;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.eyebrow{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--muted)}

/* header */
header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(26px,4vw,46px) clamp(20px,5vw,72px)}
.brand{font-size:15px;letter-spacing:.46em;text-transform:uppercase;font-weight:400}
nav{display:flex;flex-wrap:wrap;gap:clamp(16px,2.4vw,38px)}
nav a{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#555;transition:color .2s}
nav a:hover,nav a[aria-current=page]{color:var(--ink)}

/* hero — centered name over a single large image */
.hero{text-align:center;padding:clamp(20px,4vw,50px) 0 clamp(40px,6vw,80px)}
.hero .eyebrow{margin-bottom:26px}
.hero h1{font-size:clamp(2.2rem,5.5vw,4.4rem);font-weight:200;letter-spacing:.18em;text-transform:uppercase;line-height:1.1}
.hero .sub{margin-top:24px;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--muted)}
.hero-img{margin-top:clamp(34px,5vw,64px);aspect-ratio:16/9;overflow:hidden;background:#f4f4f4}
.hero-img img{width:100%;height:100%;object-fit:cover}

/* page head */
.page-head{text-align:center;max-width:820px;margin:0 auto;padding:clamp(40px,6vw,90px) 0 clamp(26px,4vw,50px)}
.page-head .eyebrow{display:block;margin-bottom:18px}
.page-head h1{font-size:clamp(1.9rem,4.4vw,3.2rem);font-weight:200;letter-spacing:.16em;text-transform:uppercase;line-height:1.1}
.page-head p{margin:22px auto 0;color:#555;max-width:600px;font-size:.98rem}

/* gallery — clean even grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1vw,16px)}
.grid.two{grid-template-columns:repeat(2,1fr)}
.grid a{display:block;overflow:hidden;background:#f4f4f4;aspect-ratio:4/5}
.grid img{width:100%;height:100%;object-fit:cover;transition:opacity .4s,transform .8s ease}
.grid a:hover img{opacity:.86;transform:scale(1.03)}
.section-label{text-align:center;margin:clamp(50px,7vw,100px) 0 clamp(26px,3vw,44px)}
.section-label .eyebrow{font-size:11px}
.section-label h2{font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:200;letter-spacing:.12em;text-transform:uppercase;margin-top:10px}

/* prose */
.prose{max-width:680px;margin:0 auto;padding:clamp(30px,4vw,60px) 0 clamp(50px,7vw,90px)}
.prose p{margin-bottom:1.4em;color:#333;font-size:1.02rem}
.prose h2{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin:1.9em 0 .6em}
.prose h2:first-child{margin-top:0}
.prose a{border-bottom:1px solid var(--ink)}

/* contact */
.contact{max-width:560px;margin:0 auto;text-align:center;padding-bottom:clamp(50px,7vw,90px)}
.contact .btn{display:inline-block;margin:10px 0 34px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;padding:16px 40px;border:1px solid var(--ink);transition:.25s}
.contact .btn:hover{background:var(--ink);color:#fff}
.contact ul{list-style:none;display:grid;gap:16px;max-width:380px;margin:0 auto;text-align:left}
.contact li{display:grid;grid-template-columns:110px 1fr;gap:14px;border-bottom:1px solid var(--line);padding-bottom:13px;font-size:.95rem}
.contact li strong{color:var(--muted);font-weight:400;text-transform:uppercase;font-size:10px;letter-spacing:.24em}

/* footer */
footer.site{border-top:1px solid var(--line);margin-top:clamp(40px,6vw,80px);padding:clamp(40px,5vw,64px) 0;text-align:center}
footer.site .fb{font-size:14px;letter-spacing:.4em;text-transform:uppercase;margin-bottom:18px}
footer.site nav{justify-content:center;margin-bottom:16px}
footer.site .cr{color:var(--muted);font-size:11px;letter-spacing:.1em}
footer.site .net a{border-bottom:1px solid var(--ink)}

@media(max-width:760px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.grid,.grid.two{grid-template-columns:1fr}.contact li{grid-template-columns:1fr}}
