/* ES FASHIONS v20 — Visual Perfection Pass
   Focus: tighter luxury navigation, controlled typography, split editorial heroes,
   image-first department pages, and better desktop/mobile balance. */

:root{
  --v20-black:#060606;
  --v20-black-soft:#0b0a09;
  --v20-ink:#17130f;
  --v20-paper:#fbf8f1;
  --v20-cream:#f1eadf;
  --v20-gold:#d8b369;
  --v20-gold-dark:#a87932;
  --v20-line:rgba(216,179,105,.28);
  --v20-muted:#a99f93;
}

/* Header — two clean layers, not three crowded bars */
.v6-utility{min-height:28px!important;background:#050505!important;border-bottom:1px solid rgba(216,179,105,.16)!important}
.v6-utility-inner{min-height:28px!important;padding-top:0!important;padding-bottom:0!important}
.v6-utility-message,.v6-utility-links{font-size:.58rem!important;letter-spacing:.095em!important}
.v8-nav{min-height:76px!important;padding-top:0!important;padding-bottom:0!important}
.v8-brand{min-width:195px!important}
.v8-brand .v5-monogram{font-size:2.35rem!important}
.v8-brand .v5-brand-copy b{font-size:.85rem!important;letter-spacing:.24em!important}
.v8-brand .v5-brand-copy small{font-size:.48rem!important;letter-spacing:.12em!important}
.v8-desktop-nav .mega-trigger,.v19-nav-link{font-size:.64rem!important;padding:27px 8px 23px!important;letter-spacing:.055em!important}
.v8-project-btn{padding:13px 18px!important;font-size:.65rem!important;letter-spacing:.06em!important}
.v5-icon-btn{width:36px!important;height:36px!important}
.v8-category-rail{display:none!important}
.v8-mega{top:104px!important}

/* General page rhythm */
body.v5-page .container{width:min(94%,1420px)!important}
.section{padding:82px 0!important}
.section-head h2{font-size:clamp(2.8rem,4.4vw,5.3rem)!important;line-height:.94!important}
.section-head p{max-width:620px!important;line-height:1.76!important}
.btn{border-radius:0!important;font-size:.7rem!important;letter-spacing:.055em!important;min-height:46px!important;padding:0 20px!important}

/* Regular page hero gets more control, less billboard scale */
.page-hero{min-height:535px!important}
.page-hero-inner{min-height:535px!important;padding-top:92px!important;padding-bottom:54px!important}
.page-hero h1{font-size:clamp(3.35rem,5vw,6rem)!important;line-height:.89!important;max-width:800px!important}
.page-hero p{font-size:.98rem!important;max-width:650px!important}

/* Campaign hero: split black editorial composition on desktop */
@media (min-width:901px){
  .v9-campaign-hero{min-height:610px!important;overflow:hidden!important;background:var(--v20-black)!important}
  .v9-campaign-media{left:auto!important;right:0!important;top:0!important;bottom:0!important;width:59%!important;overflow:hidden!important}
  .v9-campaign-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 26%!important;filter:saturate(.94) contrast(1.04)!important}
  .v9-campaign-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,6,.9) 0%,rgba(6,6,6,.2) 20%,rgba(6,6,6,0) 46%),linear-gradient(0deg,rgba(6,6,6,.32),transparent 35%)}
  .v9-campaign-shade{background:linear-gradient(90deg,#060606 0%,#060606 37%,rgba(6,6,6,.93) 43%,rgba(6,6,6,.48) 52%,rgba(6,6,6,0) 74%)!important}
  .v9-campaign-content{min-height:610px!important;padding-top:76px!important;padding-bottom:60px!important;padding-right:52%!important;justify-content:center!important}
  .v9-campaign-hero h1{font-size:clamp(3.7rem,5vw,6rem)!important;line-height:.88!important;max-width:690px!important;margin:13px 0 15px!important}
  .v9-campaign-hero p{font-size:.98rem!important;line-height:1.68!important;max-width:620px!important}
  .v9-service-ribbon{max-width:760px!important;margin-top:24px!important}
}

/* Uniforms benchmark page */
.campaign-uniforms .v9-campaign-media{width:60%!important}
.campaign-uniforms .v9-campaign-media img{object-position:center 35%!important}
.v20-capability-label{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#bfb5a9;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase}
.v20-capability-label:before{content:"";width:24px;height:1px;background:var(--v20-gold)}

.v20-page-subnav{background:#090807;border-bottom:1px solid var(--v20-line);color:#fff;overflow-x:auto;scrollbar-width:none}
.v20-page-subnav::-webkit-scrollbar{display:none}
.v20-page-subnav .container{display:flex;gap:0;min-width:max-content}
.v20-page-subnav a{padding:15px 17px;color:#d4cabd;text-transform:uppercase;font-size:.61rem;letter-spacing:.105em;border-right:1px solid rgba(255,255,255,.08)}
.v20-page-subnav a:hover{color:var(--v20-gold);background:rgba(216,179,105,.05)}

.v20-uniform-trust{background:#0a0908;color:#fff;border-bottom:1px solid rgba(216,179,105,.18)}
.v20-uniform-trust .container{display:grid;grid-template-columns:repeat(6,1fr)}
.v20-uniform-trust article{padding:20px 18px;border-right:1px solid rgba(255,255,255,.09);min-width:0}
.v20-uniform-trust article:last-child{border-right:0}
.v20-uniform-trust b{display:block;color:var(--v20-gold);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}
.v20-uniform-trust span{font-size:.73rem;color:#d8d0c6;line-height:1.45}

.v20-sector-intro{display:grid;grid-template-columns:1fr minmax(320px,.65fr);gap:70px;align-items:end;margin-bottom:30px}
.v20-sector-intro h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(3rem,4.7vw,5.7rem);line-height:.9;margin:10px 0 0;font-weight:500;text-transform:uppercase;letter-spacing:-.04em}
.v20-sector-intro p{color:#655a50;line-height:1.8;margin:0}
.v20-sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#d9cfbf;border:1px solid #d9cfbf}
.v20-sector-card{position:relative;min-height:350px;overflow:hidden;background:#111;color:#fff}
.v20-sector-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;filter:saturate(.9) contrast(1.03)}
.v20-sector-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16) 45%,rgba(0,0,0,.88) 100%)}
.v20-sector-card:hover img{transform:scale(1.035)}
.v20-sector-card>div{position:absolute;z-index:2;left:20px;right:20px;bottom:19px}
.v20-sector-card small{display:block;color:var(--v20-gold);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}
.v20-sector-card h3{color:#fff;font-size:1.45rem;margin:0 0 5px;line-height:1.05}
.v20-sector-card p{font-size:.72rem;color:#ddd5cb;line-height:1.5;margin:0 0 9px}
.v20-sector-card b{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--v20-gold)}

.v20-uniform-editorial{display:grid;grid-template-columns:1fr 1.08fr;background:#090807;color:#fff;min-height:560px}
.v20-uniform-editorial-copy{padding:70px 6vw;display:flex;flex-direction:column;justify-content:center}
.v20-uniform-editorial-copy .eyebrow{color:var(--v20-gold)}
.v20-uniform-editorial-copy h2{font-family:"Playfair Display",serif;font-size:clamp(3.2rem,4.6vw,5.5rem);line-height:.88;margin:12px 0 22px;text-transform:uppercase;font-weight:500}
.v20-uniform-editorial-copy p{color:#c8bfb4;line-height:1.8;max-width:620px}
.v20-uniform-editorial-quote{font-family:"Playfair Display",serif;font-size:1.85rem;font-style:italic;color:#f2e8da;border-left:1px solid var(--v20-gold);padding-left:20px;margin:25px 0}
.v20-uniform-editorial-media{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.v20-uniform-editorial-media figure{margin:0;position:relative;overflow:hidden;min-width:0}
.v20-uniform-editorial-media figure:first-child{grid-column:1/-1;height:340px}
.v20-uniform-editorial-media figure:nth-child(2),.v20-uniform-editorial-media figure:nth-child(3){height:220px}
.v20-uniform-editorial-media img{width:100%;height:100%;object-fit:cover;display:block}
.v20-uniform-editorial-media figcaption{position:absolute;left:14px;bottom:12px;background:rgba(0,0,0,.72);color:#fff;padding:7px 9px;font-size:.54rem;letter-spacing:.1em;text-transform:uppercase}

.v20-process-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16);margin-top:34px}
.v20-process-grid article{padding:24px 19px 27px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);min-height:210px}
.v20-process-grid b{color:var(--v20-gold);font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:500}
.v20-process-grid h3{color:#fff;font-size:1.35rem;margin:22px 0 8px}
.v20-process-grid p{color:#aaa096;font-size:.77rem;line-height:1.65;margin:0}

.v20-management-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.v20-management-card{border:1px solid #d7ccbb;background:#fff;padding:27px;min-height:250px}
.v20-management-card span{color:var(--v20-gold-dark);font-size:.58rem;text-transform:uppercase;letter-spacing:.13em}
.v20-management-card h3{font-size:1.8rem;line-height:1.05;margin:12px 0}
.v20-management-card p{color:#6c6157;line-height:1.73;font-size:.86rem}
.v20-management-card ul{margin:18px 0 0;padding:0;list-style:none;border-top:1px solid #e7ded2}
.v20-management-card li{padding:9px 0;border-bottom:1px solid #eee6db;font-size:.76rem;color:#4f463e}

.v20-fabric-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:520px;background:#efe8dd}
.v20-fabric-split .visual{position:relative;overflow:hidden}
.v20-fabric-split .visual img{width:100%;height:100%;object-fit:cover;display:block}
.v20-fabric-split .copy{padding:70px 6vw;display:flex;flex-direction:column;justify-content:center}
.v20-fabric-split h2{font-size:clamp(3rem,4.6vw,5.5rem);line-height:.9;text-transform:uppercase;margin:11px 0 20px}
.v20-fabric-split p{color:#64594e;line-height:1.78}
.v20-fabric-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.v20-fabric-chips span{border:1px solid #c9b99e;padding:9px 11px;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;background:#faf6ef}

.v20-proof-band{background:#f8f3eb;border-top:1px solid #d9cfbf;border-bottom:1px solid #d9cfbf}
.v20-proof-band .container{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding-top:45px;padding-bottom:45px}
.v20-proof-band h3{font-size:2.3rem;margin:8px 0 10px}.v20-proof-band p{max-width:830px;color:#665b51;line-height:1.75;margin:0}

/* All campaign pages get more editorial spacing */
.v9-story-section .v9-manifesto h2{font-size:clamp(2.8rem,4vw,4.8rem)!important;line-height:.95!important}
.v9-image-triptych{gap:1px!important;background:#d8cebf!important}
.v9-image-triptych figure{border-radius:0!important}
.v9-image-triptych img{filter:saturate(.93) contrast(1.03)}
.v9-final-cta h2{font-size:clamp(3rem,4.6vw,5.6rem)!important;line-height:.92!important}

@media(max-width:1180px){
  .v20-sector-grid{grid-template-columns:repeat(2,1fr)}
  .v20-uniform-trust .container{grid-template-columns:repeat(3,1fr)}
  .v20-uniform-trust article:nth-child(3n){border-right:0}
  .v20-process-grid{grid-template-columns:repeat(3,1fr)}
  .v20-management-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:900px){
  .v6-utility{display:none!important}.v8-nav{min-height:68px!important}.v8-brand{min-width:0!important}.v8-mega{top:68px!important}
  .page-hero{min-height:610px!important}.page-hero-inner{min-height:610px!important}
  .v9-campaign-hero{min-height:680px!important}.v9-campaign-media{position:absolute!important;inset:0!important;width:auto!important}.v9-campaign-content{min-height:680px!important;padding:320px 0 46px!important;justify-content:flex-end!important}.v9-campaign-shade{background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.52) 44%,rgba(0,0,0,.97) 76%)!important}.v9-campaign-hero h1{font-size:clamp(3.1rem,11vw,4.8rem)!important;line-height:.9!important}.v9-campaign-hero p{font-size:.92rem!important}.v9-service-ribbon{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:4px!important;scrollbar-width:none}.v9-service-ribbon span{white-space:nowrap!important}
  .v20-sector-intro{grid-template-columns:1fr;gap:18px}.v20-uniform-editorial{grid-template-columns:1fr}.v20-uniform-editorial-copy{padding:55px 7vw}.v20-uniform-editorial-media{min-height:auto}.v20-process-grid{grid-template-columns:1fr 1fr}.v20-fabric-split{grid-template-columns:1fr}.v20-fabric-split .visual{min-height:400px}.v20-management-grid{grid-template-columns:1fr}.v20-proof-band .container{grid-template-columns:1fr;gap:24px}
}

@media(max-width:620px){
  body.v5-page .container{width:min(91%,560px)!important}
  .v20-uniform-trust .container{display:flex;overflow-x:auto;scrollbar-width:none}.v20-uniform-trust article{min-width:205px;border-right:1px solid rgba(255,255,255,.09)!important}
  .v20-sector-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;background:transparent;border:0;gap:10px;scrollbar-width:none}.v20-sector-card{flex:0 0 82vw;min-height:390px;scroll-snap-align:start}
  .v20-process-grid{grid-template-columns:1fr}.v20-uniform-editorial-media{grid-template-columns:1fr}.v20-uniform-editorial-media figure:first-child{grid-column:auto;height:340px}.v20-uniform-editorial-media figure:nth-child(2),.v20-uniform-editorial-media figure:nth-child(3){height:270px}
  .v20-fabric-split .copy{padding:50px 7vw}.v20-fabric-split .visual{min-height:340px}
  .v20-page-subnav a{padding:13px 14px}
}

/* Generic public heroes use the same editorial split composition on desktop. */
@media (min-width:901px){
  .page-hero{overflow:hidden!important;background:var(--v20-black)!important}
  .page-hero-media{left:auto!important;right:0!important;top:0!important;bottom:0!important;width:58%!important;overflow:hidden!important}
  .page-hero-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 28%!important}
  .page-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,6,.86),rgba(6,6,6,.18) 24%,rgba(6,6,6,0) 52%)}
  .page-hero-overlay{background:linear-gradient(90deg,#060606 0%,#060606 36%,rgba(6,6,6,.92) 44%,rgba(6,6,6,.45) 54%,rgba(6,6,6,0) 76%)!important}
  .page-hero-inner{padding-top:72px!important;padding-bottom:54px!important;padding-right:51%!important;justify-content:center!important}
  .page-hero h1{font-size:clamp(3.4rem,4.65vw,5.7rem)!important;line-height:.9!important;max-width:680px!important}
  .page-hero p{font-size:.96rem!important;max-width:610px!important}
}
@media(max-width:900px){
  .page-hero-media{position:absolute!important;inset:0!important;width:auto!important}
  .page-hero-inner{padding:300px 0 44px!important;justify-content:flex-end!important}
  .page-hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55) 46%,rgba(0,0,0,.97) 78%)!important}
}
