/* ==========================================================
   Brand v1 — single brand CPT
   ========================================================== */

.brand-page *{margin:0;padding:0;box-sizing:border-box;}
.brand-page{
  --ink:#15130f;
  --ivory:#f2ecdd;
  --ivory-dim:#e7dfca;
  --brass:#b8925a;
  --brass-soft:#d8b988;
  --clay:#9c4a34;
  --line-dark:#39352a;
  --line-light:#d9d2c0;
  --ff-display:'Oswald', sans-serif;
  --ff-body:'Manrope', sans-serif;
  font-family:var(--ff-body);
  background:var(--ivory);
  color:var(--ink);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
.brand-page a{color:inherit;text-decoration:none;}
.brand-page img{max-width:100%;display:block;}
.brand-page ::selection{background:var(--brass);color:var(--ink);}
.brand-page .eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;opacity:.7;}
.brand-page section{position:relative;}
.brand-page .duo{filter:grayscale(1) sepia(.25) saturate(1.3) brightness(.85) contrast(1.05);}

.brand-page .wrap{max-width:none;margin:0 auto;padding:0 5vw;}

.brand-page .sec-pad{padding:100px 0;}
.brand-page .sec-head{max-width:640px;margin-bottom:44px;}
.brand-page .sec-head h2{font-family:var(--ff-display);font-weight:700;text-transform:uppercase;font-size:clamp(26px,3.4vw,40px);margin-top:14px;line-height:1.15;}

/* HERO */
.brand-page .hero{
  min-height:74vh;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:var(--ivory);
  overflow:hidden;
  padding:60px 5vw;
}
.brand-page .hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.brand-page .hero::after{
  content:'';
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg, var(--ink) 5%, rgba(21,19,15,.35) 55%, rgba(21,19,15,.15) 100%);
}
.brand-page .breadcrumb{position:relative;z-index:2;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-dim);margin-bottom:20px;opacity:.8;}
.brand-page .breadcrumb a{border-bottom:1px solid transparent;transition:border-color .3s;}
.brand-page .breadcrumb a:hover{border-color:var(--ivory-dim);}
.brand-page .hero-body{position:relative;z-index:2;}
.brand-page .brand-index{font-size:12px;letter-spacing:.2em;color:var(--brass-soft);margin-bottom:16px;display:block;}
.brand-page .hero-body h1{font-family:var(--ff-display);font-weight:700;text-transform:uppercase;font-size:clamp(38px,7vw,88px);line-height:1;}
.brand-page .hero-tag{margin-top:18px;font-size:16px;max-width:480px;line-height:1.6;color:var(--ivory-dim);}
.brand-page .hero-cta-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px;}

/* BUTTONS */
.brand-page .btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 28px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid var(--ivory);transition:background .3s,color .3s;
}
.brand-page .btn-fill{background:var(--ivory);color:var(--ink);}
.brand-page .btn-fill:hover{background:var(--brass-soft);border-color:var(--brass-soft);}
.brand-page .btn-ghost{color:var(--ivory);}
.brand-page .btn-ghost:hover{background:var(--ivory);color:var(--ink);}

/* ABOUT */
.brand-page .about-brand .wrap{display:grid;grid-template-columns:1fr;gap:40px;}
@media(min-width:860px){.brand-page .about-brand .wrap{grid-template-columns:.55fr 1fr;gap:70px;}}
.brand-page .about-body p{font-size:16px;line-height:1.85;color:#403c30;margin-bottom:18px;max-width:600px;}
.brand-page .about-body p:last-child{margin-bottom:0;}

/* APPROACH */
.brand-page .approach{background:var(--ink);color:var(--ivory);}
.brand-page .approach .eyebrow{color:var(--brass-soft);}
.brand-page .approach-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
@media(min-width:760px){.brand-page .approach-grid{grid-template-columns:repeat(3,1fr);}}
.brand-page .approach-item{background:var(--ink);padding:34px 30px;}
.brand-page .approach-num{font-family:var(--ff-display);font-weight:700;font-size:13px;color:var(--clay);margin-bottom:16px;}
.brand-page .approach-title{font-family:var(--ff-display);font-weight:700;text-transform:uppercase;font-size:17px;margin-bottom:12px;line-height:1.25;}
.brand-page .approach-desc{font-size:13.5px;line-height:1.75;color:var(--ivory-dim);}

/* LOCATIONS */
.brand-page .loc-strip{display:flex;gap:2px;overflow-x:auto;padding-bottom:8px;}
.brand-page .loc-card{position:relative;flex:0 0 auto;width:min(72vw,300px);aspect-ratio:3/4;overflow:hidden;}
.brand-page .loc-card img{width:100%;height:100%;object-fit:cover;}
.brand-page .loc-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(21,19,15,.85), transparent 55%);}
.brand-page .loc-card-info{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;color:var(--ivory);}
.brand-page .loc-card-name{font-family:var(--ff-display);font-weight:700;text-transform:uppercase;font-size:18px;}
.brand-page .loc-card-city{font-size:11.5px;color:var(--ivory-dim);margin-top:4px;}

/* ROLE */
.brand-page .role{background:var(--ink);color:var(--ivory);}
.brand-page .role .eyebrow{color:var(--brass-soft);}
.brand-page .role .wrap{display:grid;grid-template-columns:1fr;gap:36px;}
@media(min-width:860px){.brand-page .role .wrap{grid-template-columns:.5fr 1fr;align-items:start;}}
.brand-page .role h2{font-family:var(--ff-display);font-weight:700;text-transform:uppercase;font-size:clamp(24px,3.2vw,36px);margin-top:14px;line-height:1.18;}
.brand-page .role-body p{font-size:15.5px;line-height:1.85;color:var(--ivory-dim);margin-bottom:16px;max-width:560px;}
.brand-page .role-link{
  display:inline-flex;align-items:center;gap:10px;margin-top:6px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brass-soft);border-bottom:1px solid var(--brass-soft);padding-bottom:4px;
}

/* FACTS */
.brand-page .facts-list{border-top:1px solid var(--line-light);max-width:800px;}
.brand-page .fact-row{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line-light);}
.brand-page .fact-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);padding-top:2px;}
.brand-page .fact-value{font-size:15px;line-height:1.7;color:#403c30;}

/* CTA */
.brand-page .brand-cta{background:var(--ink);color:var(--ivory);padding:130px 5vw 90px;}
.brand-page .brand-cta .eyebrow{color:var(--brass-soft);}
.brand-page .brand-cta h2{font-family:var(--ff-display);font-weight:700;text-transform:uppercase;font-size:clamp(30px,5vw,58px);margin-top:16px;line-height:1.08;max-width:800px;}
.brand-page .brand-cta-row{margin-top:44px;display:flex;flex-wrap:wrap;gap:32px 56px;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line-dark);padding-top:38px;}
.brand-page .brand-cta-contacts{font-size:14px;line-height:1.9;color:var(--ivory-dim);}
.brand-page .brand-cta-contacts a:hover{color:var(--brass-soft);}

/* REVEAL */
.brand-page .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.brand-page .reveal.in-view{opacity:1;transform:translateY(0);}
@media(prefers-reduced-motion:reduce){
  .brand-page *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}