/* ============================================================
   MODEL HUSTLE — Shared Design System
   Apple-meets-Vogue · editorial · luxury
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --white:#FFFFFF;
  --black:#111111;
  --red:#B11226;      /* MH Red — Ferrari / Louboutin */
  --red-dk:#8d0e1e;
  --charcoal:#2E2E2E;
  --gray:#E8E8E8;     /* warm gray — borders, dividers */
  --gray-bg:#F6F5F3;
  --gold:#C8A96A;     /* subtle premium accent only */
  --maxw:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;color:var(--black);background:var(--white);
  line-height:1.65;-webkit-font-smoothing:antialiased;font-weight:400;
}
h1,h2,h3,h4,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:500;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--red);font-weight:600;}
.muted{color:var(--charcoal);}

/* buttons */
.btn{
  display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  padding:15px 34px;border:1px solid var(--black);transition:.2s;cursor:pointer;background:none;text-align:center;
}
.btn-solid{background:var(--black);color:#fff;}
.btn-solid:hover{background:var(--red);border-color:var(--red);}
.btn-line{background:transparent;color:var(--black);}
.btn-line:hover{background:var(--black);color:#fff;}
.btn-red{background:var(--red);border-color:var(--red);color:#fff;}
.btn-red:hover{background:var(--red-dk);border-color:var(--red-dk);}
.btn-light{border-color:rgba(255,255,255,.6);color:#fff;}
.btn-light:hover{background:#fff;color:var(--black);}
.btn-sm{padding:10px 22px;font-size:11px;}

/* announce + nav */
.announce{background:var(--black);color:#fff;text-align:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:9px 20px;}
.announce b{color:var(--gold);font-weight:500;}
header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--gray);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{font-family:'Playfair Display',serif;font-weight:700;font-size:23px;letter-spacing:.06em;}
.brand .tm{font-size:9px;vertical-align:super;color:var(--red);}
.nav-links{display:flex;gap:26px;}
.nav-links a{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--charcoal);transition:.2s;padding:4px 0;border-bottom:1px solid transparent;}
.nav-links a:hover,.nav-links a.active{color:var(--black);border-color:var(--red);}
.nav-right{display:flex;align-items:center;gap:22px;}
.nav-right .ico{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);}
.nav-sub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--black);padding:9px 18px;transition:.2s;}
.nav-sub:hover{background:var(--black);color:#fff;}
.nav-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer;}

/* section shell */
section{padding:90px 0;}
.sec-label{display:flex;align-items:center;gap:16px;margin-bottom:40px;}
.sec-label .line{flex:1;height:1px;background:var(--gray);}
h2.big{font-size:clamp(28px,3.6vw,44px);font-weight:500;line-height:1.08;letter-spacing:-.01em;}

/* page header / breadcrumb */
.pagehead{border-bottom:1px solid var(--gray);padding:56px 0 40px;}
.crumb{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--charcoal);margin-bottom:18px;}
.crumb a:hover{color:var(--red);}
.crumb span{color:var(--red);}
.pagehead h1{font-size:clamp(34px,5vw,58px);font-weight:500;line-height:1.02;}
.pagehead p{color:var(--charcoal);font-weight:300;max-width:60ch;margin-top:14px;font-size:17px;}

/* pills / filters */
.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;}
.pill{font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--gray);color:var(--charcoal);transition:.15s;cursor:pointer;}
.pill:hover{border-color:var(--black);color:var(--black);}
.pill.active{background:var(--black);color:#fff;border-color:var(--black);}

/* model card (shared) */
.model{display:block;}
.model .pic{aspect-ratio:3/4;background:var(--gray-bg) center/cover;position:relative;overflow:hidden;border:1px solid var(--gray);}
.model .pic:after{content:attr(data-tag);position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);font-size:9px;letter-spacing:.16em;text-transform:uppercase;padding:4px 8px;color:var(--charcoal);}
.model h3{font-size:19px;font-weight:500;margin:16px 0 3px;}
.model .meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);}
.model .genres{font-size:12px;color:#888;margin-top:8px;font-weight:300;}

/* footer */
footer{border-top:1px solid var(--gray);padding:72px 0 34px;}
.f-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:36px;}
.f-brand .brand{font-size:26px;}
.f-brand p{font-size:13px;color:var(--charcoal);font-weight:300;max-width:230px;margin-top:14px;}
.f-brand .social{display:flex;gap:16px;margin-top:20px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;}
footer h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;color:var(--black);font-family:'Inter',sans-serif;font-weight:600;}
footer ul{list-style:none;}
footer ul li{margin-bottom:11px;font-size:13px;color:var(--charcoal);font-weight:300;}
footer ul li a:hover{color:var(--red);}
.f-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:50px;padding-top:26px;border-top:1px solid var(--gray);flex-wrap:wrap;gap:14px;}
.f-bottom .stockists{display:flex;gap:22px;align-items:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);}
.f-bottom .stockists b{font-family:'Playfair Display',serif;letter-spacing:.04em;color:var(--black);font-weight:600;}
.f-legal{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#999;}

/* responsive shared */
@media(max-width:1040px){
  .nav-links{display:none;}
  .nav-toggle{display:block;}
  .f-top{grid-template-columns:1fr 1fr 1fr;}
}
@media(max-width:720px){
  .wrap{padding:0 22px;}
  section{padding:60px 0;}
  .f-top{grid-template-columns:1fr 1fr;}
}
