:root{
  --bg:#0a0a0a;
  --panel:#151515;
  --text:#f2f2f2;
  --muted:#e0e0e0;
  --accent:#ffffff;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Mont','Montserrat',system-ui,sans-serif;font-size:20px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
h1,h2,.logo{font-family:'Mont','Montserrat',sans-serif;letter-spacing:-0.5px;font-weight:800}
h2{font-size:clamp(40px,5.5vw,68px);line-height:1.05;margin-bottom:16px}
.eyebrow{color:var(--accent);font-weight:700;letter-spacing:3px;text-transform:uppercase;font-size:16px;margin-bottom:12px}
section{padding:110px 0}
.lead{color:var(--muted);font-size:22px;max-width:720px}

/* NAV */
nav{position:sticky;top:0;z-index:50;background:rgba(11,11,13,.85);backdrop-filter:blur(10px);border-bottom:1px solid #222}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px;position:relative}
.logo{font-size:30px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}
.links{display:flex;gap:34px;font-size:18px;font-weight:500}
.links a{color:var(--muted);transition:color .2s}
.links a:hover{color:var(--text)}

/* MENU BUTTON */
.burger{margin-left:auto;width:48px;height:48px;background:none;border:1px solid #333;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.burger span{display:block;width:24px;height:2px;background:var(--text);transition:transform .3s,opacity .3s}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.menu{position:absolute;top:84px;right:32px;z-index:60;background:var(--panel);border:1px solid #2a2a2a;border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px;min-width:240px;opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .25s}
.menu.open{opacity:1;pointer-events:auto;transform:none}
.menu-btn{display:block;background:none;border:0;color:var(--text);font:500 22px 'Mont','Montserrat',sans-serif;text-align:left;padding:14px 18px;border-radius:10px;cursor:pointer}
.menu-btn:hover{background:var(--text);color:var(--bg)}

/* HERO */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;padding:0 0 90px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 5%,rgba(11,11,13,.35) 60%,rgba(11,11,13,.6))}
.hero .wrap{position:relative;z-index:1;width:100%}
.hero h1{font-size:clamp(54px,9vw,128px);line-height:.95}
.hero h1 span{color:var(--accent)}
.roles{font-size:clamp(20px,2.4vw,28px);color:var(--muted);margin:22px 0 0;letter-spacing:1px}

/* PLACEHOLDERS */
.ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);font-size:16px;font-weight:500;text-align:center;padding:12px}
.ph.a{background:linear-gradient(135deg,#1a1a1a,#3d3d3d)}
.ph.b{background:linear-gradient(135deg,#222,#4a4a4a)}
.ph.c{background:linear-gradient(135deg,#141414,#333)}
.ph.d{background:linear-gradient(135deg,#262626,#555)}

/* WORK GRID */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;grid-auto-rows:300px}
.item{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--panel)}
.item.tall{grid-row:span 2}
.item.wide{grid-column:span 2}
.item > *:first-child{transition:transform .5s}
.item:hover > *:first-child{transform:scale(1.05)}
.cap{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(transparent,rgba(0,0,0,.85));opacity:0;transform:translateY(10px);transition:all .3s}
.item:hover .cap{opacity:1;transform:none}
.cap b{display:block;font-size:20px}

/* ABOUT */
.about{max-width:900px}
.about p{color:var(--muted);font-size:21px;margin-bottom:18px}

/* CONTACT */
.contact{text-align:center;background:var(--panel)}
.contact .lead{margin:0 auto 38px}
.email{font-family:'Mont','Montserrat',sans-serif;font-weight:800;font-size:clamp(30px,4.5vw,56px);display:inline-block;border-bottom:4px solid var(--accent);margin-bottom:40px}
.socials{display:flex;gap:28px;justify-content:center;font-size:19px;font-weight:500;color:var(--muted)}
.socials a:hover{color:var(--accent)}
footer{text-align:center;padding:34px;color:#cfcfcf;font-size:16px}

/* LIGHTBOX */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;z-index:100;padding:40px}
.lb.open{display:flex}
.lb-box{width:min(1100px,100%);height:min(80vh,800px);border-radius:var(--radius);overflow:hidden}
.lb-box img{object-fit:contain;background:#000}
.lb-x{position:absolute;top:22px;right:32px;font-size:48px;color:#fff;cursor:pointer;background:none;border:0}

/* MOBILE */
@media(max-width:900px){
  .links{display:none}
  .grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .item.wide{grid-column:span 2}
  .about{max-width:none}
  section{padding:80px 0}
}
@media(max-width:560px){
  .grid{grid-template-columns:1fr}
  .item.wide,.item.tall{grid-column:auto;grid-row:auto}
  .wrap{padding:0 20px}
}
/* SPORT CATEGORY TILES */
.cats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cat{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.cat > .ph,.cat > img{transition:transform .5s}
.cat:hover > .ph,.cat:hover > img{transform:scale(1.05)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.8))}
.cat-name{position:absolute;left:28px;bottom:22px;z-index:1;font-weight:800;font-size:clamp(28px,3.5vw,44px);letter-spacing:-0.5px}
.back{display:inline-block;color:var(--muted);font-size:18px;font-weight:500;margin-bottom:14px}
.back:hover{color:var(--text)}
.menu-sub{padding:10px 18px 10px 38px;font-size:19px;color:var(--muted)}
@media(max-width:560px){.cats{grid-template-columns:1fr}}
.cat:last-child:nth-child(odd){grid-column:span 2;aspect-ratio:8/3}
@media(max-width:560px){.cat:last-child:nth-child(odd){grid-column:auto;aspect-ratio:4/3}}

/* MASONRY GALLERY (photos keep their natural shape) */
.masonry{columns:3;column-gap:18px}
.masonry .item{break-inside:avoid;margin-bottom:18px;height:auto}
.masonry .item img{height:auto}
@media(max-width:900px){.masonry{columns:2}}
@media(max-width:560px){.masonry{columns:1}}

/* LIGHTBOX NAVIGATION */
.lb-box img{width:100%;height:100%;object-fit:contain;background:transparent}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:64px;height:64px;border-radius:50%;border:1px solid #444;background:rgba(20,20,20,.7);color:#fff;font-size:44px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:6px;transition:background .2s}
.lb-nav:hover{background:#fff;color:#0a0a0a}
.lb-prev{left:24px}
.lb-next{right:24px}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#bbb;font-size:18px;font-weight:500;letter-spacing:1px}
@media(max-width:560px){.lb-nav{width:48px;height:48px;font-size:34px}.lb-prev{left:10px}.lb-next{right:10px}.lb{padding:16px}}

/* HERO WITHOUT PHOTO — compact so Selected Work comes sooner */
.hero{min-height:0;align-items:flex-end;padding:90px 0 20px}
#work{padding-top:50px}
@media(max-width:900px){.hero{padding:60px 0 10px}#work{padding-top:36px}}

/* Capitalize the first letter of every word in headings, labels and menus */
h1,h2,h3,.roles,.links a,.menu-btn,.cat-name,.back,.cap b,.email + .socials a,footer{text-transform:capitalize}

/* FOOTER */
footer{border-top:1px solid #1f1f1f;padding:40px 34px}
.foot-ig{display:inline-block;color:var(--text);font-weight:700;font-size:20px;margin-bottom:10px}
.foot-ig:hover{color:var(--muted)}

/* LEFT-TO-RIGHT MASONRY (home page) */
.masonry.rows{columns:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:6px;column-gap:18px}
.masonry.rows .item{margin-bottom:0}
@media(max-width:900px){.masonry.rows{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.masonry.rows{grid-template-columns:1fr}}

.links a.current{color:var(--text)}

/* ===== FONTS: Option 4 — Fashion Magazine (Playfair Display + Manrope). Logo stays Montserrat. ===== */
body{font-family:'Manrope',system-ui,sans-serif;font-weight:400}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-1px}
.hero h1{font-weight:400;letter-spacing:-2px;line-height:1}
h2{font-size:clamp(40px,5vw,60px)}
.logo{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-0.5px}
.links a{font-family:'Manrope',sans-serif;text-transform:uppercase;letter-spacing:3px;font-size:13px;font-weight:500}
.roles{font-family:'Manrope',sans-serif;text-transform:uppercase;letter-spacing:4px;font-size:15px;font-weight:400}
.eyebrow{font-family:'Manrope',sans-serif}
.menu-btn{font-family:'Manrope',sans-serif;font-weight:500}
.cat-name{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-0.5px}
.back,.about p,.lead,footer,.lb-count{font-family:'Manrope',sans-serif}
.foot-ig{font-family:'Manrope',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:3px;font-size:14px}

/* Smaller hero headline */
.hero h1{font-size:clamp(34px,4.2vw,58px);letter-spacing:-1px}

/* Bigger About Me */
.about{max-width:1050px}
#about .eyebrow{font-size:20px;letter-spacing:4px;margin-bottom:22px}
.about p{font-size:clamp(22px,2.2vw,27px);line-height:1.6;margin-bottom:22px}
/* end About */

/* Bigger Instagram link */
footer .foot-ig{font-size:22px;letter-spacing:4px;margin-bottom:16px;padding:6px 0}

/* ===== STONE PALETTE: Stone bg, Ink headlines, Espresso text, Bone highlights, Sand panels ===== */
:root{
  --bg:#B8AC9A;
  --panel:#E6DDCF;
  --text:#0E0E0E;
  --muted:#3A2E27;
  --accent:#0E0E0E;
  --bone:#F4F1EA;
  --line:#9d917f;
}
body{background:var(--bg);color:var(--text)}
nav{background:rgba(184,172,154,.92);border-bottom:1px solid var(--line)}
.logo{color:var(--text)}
.burger{border-color:var(--muted)}
.burger span{background:var(--text)}
.menu{background:var(--panel);border-color:var(--line)}
.menu-btn{color:var(--text)}
.menu-sub{color:var(--muted)}
.menu-btn:hover{background:var(--text);color:var(--bone)}
.links a{color:var(--muted)}
.links a:hover,.links a.current{color:var(--text)}
.cat-name{color:var(--bone)}
.item{background:var(--panel)}
footer{border-top:1px solid var(--line);color:var(--muted)}
.foot-ig{color:var(--text)}
.foot-ig:hover{color:var(--muted)}
.back{color:var(--muted)}
.back:hover{color:var(--text)}
::selection{background:var(--text);color:var(--bone)}
/* ===== end palette ===== */
