/* ============================================================
   UX POLISH (v3.1)
   New blocks + UI refinements informed by:
   - Quintessentially (luxury lifestyle concierge)
   - Ciao Andiamo (boutique travel)
   - Real Estate Caretaking Paris (2nd-home stewardship)
============================================================ */

/* ---- Nav Enquire button ---- */
.nav .enquire{
  font-family:var(--font-display); font-size:11px; font-weight:600;
  letter-spacing:.20em; text-transform:uppercase;
  padding:11px 20px; border:1px solid currentColor;
  margin-left:20px; transition:background .3s, color .3s, border-color .3s;
}
.nav .enquire:hover{background:currentColor;}
.nav .enquire:hover span{color:var(--ink);}
.nav.scrolled .enquire{background:var(--ink); color:#fff; border-color:var(--ink);}
.nav.scrolled .enquire:hover{background:transparent; color:var(--ink);}
@media (max-width:640px){.nav .enquire{display:none;}}

/* ---- "What every SCALE project includes" icon grid ---- */
.includes{
  padding:clamp(60px,8vw,110px) var(--side);
  background:var(--white); border-top:1px solid var(--rule);
}
.includes-head{max-width:900px; margin-bottom:44px;}
.includes-head .m-eyebrow{
  font-family:var(--font-display); font-size:11px; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:16px;
}
.includes-head h2{
  font-family:var(--font-display); font-weight:200;
  font-size:clamp(30px,4vw,52px); line-height:1.05; letter-spacing:-.015em;
}
.includes-head h2 em{font-family:var(--font-editorial); font-style:italic; font-weight:500;}
.includes-head p{font-size:14px; color:var(--ink-mute); max-width:640px; margin-top:12px;}

.includes-grid{
  display:grid; grid-template-columns:repeat(4, 1fr);
  gap:0; border-top:1px solid var(--rule);
}
.include-tile{
  padding:32px 24px 32px 24px;
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  display:flex; flex-direction:column; gap:14px;
  transition:background .3s ease;
}
.include-tile:hover{background:var(--gray-03);}
.include-tile:nth-child(4n){border-right:none;}
.include-tile .icon{
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:200; font-size:26px; color:var(--ink);
  border:1px solid var(--ink); border-radius:50%;
}
.include-tile.orange .icon{color:var(--orange); border-color:var(--orange);}
.include-tile.teal .icon{color:var(--teal); border-color:var(--teal);}
.include-tile.purple .icon{color:var(--purple); border-color:var(--purple);}
.include-tile h3{
  font-family:var(--font-display); font-weight:600; font-size:15px;
  letter-spacing:-.005em; color:var(--ink);
}
.include-tile p{
  font-size:13px; color:var(--ink-mute); line-height:1.55;
}
@media (max-width:900px){.includes-grid{grid-template-columns:1fr 1fr;} .include-tile:nth-child(4n){border-right:1px solid var(--rule);} .include-tile:nth-child(2n){border-right:none;}}
@media (max-width:520px){.includes-grid{grid-template-columns:1fr;} .include-tile{border-right:none;}}

/* ---- Featured In press row ---- */
.press-row{
  padding:clamp(40px,5vw,70px) var(--side);
  background:var(--white); border-top:1px solid var(--rule);
}
.press-row .p-head{
  text-align:center; margin-bottom:36px;
  font-family:var(--font-display); font-size:11px; font-weight:600;
  letter-spacing:.32em; text-transform:uppercase; color:var(--ink-mute);
}
.press-logos{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:clamp(30px,5vw,80px);
}
.press-logo{
  font-family:var(--font-editorial); font-style:italic; font-weight:500;
  font-size:clamp(20px,2vw,30px);
  color:var(--ink-mute); opacity:.55;
  letter-spacing:-.01em;
  transition:opacity .3s, color .3s;
}
.press-logo:hover{opacity:1; color:var(--ink);}
.press-logo.wp{font-family:var(--font-display); font-weight:800; font-style:normal; letter-spacing:-.02em;}
.press-logo.small{font-size:clamp(15px,1.4vw,20px); font-family:var(--font-display); font-weight:600; font-style:normal; letter-spacing:.14em; text-transform:uppercase;}

/* ---- Trusted Partners row ---- */
.partners{
  padding:clamp(40px,6vw,80px) var(--side);
  background:var(--gray-03); border-top:1px solid var(--rule);
}
.partners .p-head{
  text-align:center; margin-bottom:32px;
  font-family:var(--font-display); font-size:11px; font-weight:600;
  letter-spacing:.32em; text-transform:uppercase; color:var(--ink-mute);
}
.partners-logos{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:clamp(28px,4vw,72px);
}
.partner-logo{
  font-family:var(--font-display); font-weight:700; font-size:clamp(14px,1.3vw,18px);
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-mute); opacity:.65;
  transition:opacity .3s, color .3s;
}
.partner-logo:hover{opacity:1; color:var(--ink);}
.partner-logo.script{font-family:var(--font-editorial); font-weight:500; font-style:italic; letter-spacing:-.01em; text-transform:none; font-size:clamp(18px,1.8vw,26px);}

/* ---- Ownership scenarios (After Keys) ---- */
.scenarios{
  padding:clamp(80px,10vw,140px) var(--side); background:var(--white);
}
.scenarios-head{max-width:900px; margin-bottom:48px;}
.scenarios-head .m-eyebrow{
  font-family:var(--font-display); font-size:11px; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase; color:var(--purple); margin-bottom:16px;
}
.scenarios-head h2{
  font-family:var(--font-display); font-weight:200;
  font-size:clamp(36px,5vw,72px); line-height:1; letter-spacing:-.02em;
}
.scenarios-head h2 em{font-family:var(--font-editorial); font-style:italic; font-weight:500; color:var(--purple);}
.scenarios-head p{font-size:15px; color:var(--ink-soft); font-weight:300; line-height:1.65; margin-top:16px; max-width:720px;}

.scenarios-grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.scenario{
  padding:38px 30px; background:var(--gray-03); position:relative;
  border-top:3px solid var(--purple);
  transition:background .3s ease, transform .3s ease;
}
.scenario:hover{background:#f8f0f4; transform:translateY(-2px);}
.scenario .s-eyebrow{
  font-family:var(--font-editorial); font-style:italic; font-weight:400;
  font-size:16px; color:var(--purple); margin-bottom:14px;
}
.scenario h3{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(20px,2vw,26px); line-height:1.15; letter-spacing:-.005em;
  margin-bottom:14px; color:var(--ink);
}
.scenario p{font-size:14px; color:var(--ink-soft); line-height:1.65; font-weight:300;}
.scenario .s-cta{
  display:inline-block; margin-top:20px;
  font-family:var(--font-display); font-size:11px; font-weight:600;
  letter-spacing:.20em; text-transform:uppercase; color:var(--purple);
  padding-bottom:4px; border-bottom:1px solid var(--purple);
}
@media (max-width:900px){.scenarios-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.scenarios-grid{grid-template-columns:1fr;}}

/* ---- Rich testimonial slider (single-column, editorial) ---- */
.rich-testimonials{
  padding:clamp(80px,10vw,140px) var(--side);
  background:var(--gray-03);
}
.rich-testimonials .r-head{
  text-align:center; max-width:800px; margin:0 auto 56px;
}
.rich-testimonials .r-head .m-eyebrow{
  font-family:var(--font-display); font-size:11px; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:14px;
}
.rich-testimonials .r-head h2{
  font-family:var(--font-display); font-weight:200;
  font-size:clamp(36px,4.5vw,60px); line-height:1.05; letter-spacing:-.01em;
}
.rich-testimonials .r-head h2 em{font-family:var(--font-editorial); font-style:italic; font-weight:500;}

.rich-grid{
  display:grid; grid-template-columns:repeat(2, 1fr);
  gap:32px;
}
.rich-quote{
  padding:38px 34px; background:var(--white); border-top:2px solid var(--ink);
  display:flex; flex-direction:column; justify-content:space-between; gap:22px;
}
.rich-quote.orange{border-top-color:var(--orange);}
.rich-quote.teal{border-top-color:var(--teal);}
.rich-quote.purple{border-top-color:var(--purple);}
.rich-quote blockquote{
  font-family:var(--font-editorial); font-style:italic; font-weight:400;
  font-size:clamp(18px,1.6vw,22px); line-height:1.45; color:var(--ink);
}
.rich-quote .cite{
  font-family:var(--font-display); font-size:12px; font-weight:600;
  letter-spacing:.14em; color:var(--ink); text-transform:uppercase;
}
.rich-quote .cite small{
  display:block; margin-top:4px; font-family:var(--font-display);
  font-size:11px; font-weight:400; letter-spacing:.10em; color:var(--ink-mute);
  text-transform:none;
}
@media (max-width:820px){.rich-grid{grid-template-columns:1fr;}}

/* ---- Newsletter footer widget ---- */
.newsletter{
  padding:clamp(50px,7vw,90px) var(--side);
  background:#111; color:#fff; border-top:1px solid rgba(255,255,255,.14);
}
.newsletter-inner{
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(30px,6vw,80px);
  align-items:center;
}
.newsletter h3{
  font-family:var(--font-display); font-weight:200;
  font-size:clamp(28px,3vw,42px); line-height:1.1; letter-spacing:-.01em;
}
.newsletter h3 em{font-family:var(--font-editorial); font-style:italic; font-weight:500;}
.newsletter .n-lede{
  margin-top:12px; font-size:14px; color:rgba(255,255,255,.65); max-width:400px;
}
.newsletter-form{display:grid; grid-template-columns:1fr auto; gap:0;}
.newsletter-form input{
  padding:16px 4px; background:transparent; border:none;
  border-bottom:1px solid rgba(255,255,255,.35);
  color:#fff; font-family:var(--font-display); font-size:14px; outline:none;
}
.newsletter-form input:focus{border-bottom-color:#fff;}
.newsletter-form input::placeholder{color:rgba(255,255,255,.55);}
.newsletter-form button{
  padding:16px 26px;
  font-family:var(--font-display); font-size:11px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:#fff;
  border-bottom:1px solid #fff; transition:padding .3s;
}
.newsletter-form button:hover{padding-right:32px;}
@media (max-width:820px){.newsletter-inner{grid-template-columns:1fr;}}

/* ---- Softer cursor override (feedback: too aggressive) ---- */
@media (pointer:fine){
  .cursor.hover{width:44px; height:44px; opacity:.85;}
}

/* ---- Announcement bar (top strip) ---- */
.announce{
  position:fixed; top:0; left:0; right:0; z-index:210;
  padding:8px var(--side); background:#000; color:#fff;
  font-family:var(--font-display); font-size:11px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; text-align:center;
}
.announce .accent{color:#E8B4D6; margin:0 6px;}
.announce a{border-bottom:1px solid rgba(255,255,255,.4); padding-bottom:2px;}
.has-announce .nav{top:32px;}
@media (max-width:640px){.announce{font-size:9px;}}

/* ============================================================
   SUBSIDIARY NAV LOGO SWAP (v3.2)
   Body class controls the color world. Nav shows the correct
   lockup (white on hero, colored when scrolled).
============================================================ */

/* On subsidiary pages the brand-logo contains TWO images */
.brand-logo .logo-color{display:none;}
.brand-logo .logo-white{display:block;}
.nav.scrolled .brand-logo .logo-white{display:none;}
.nav.scrolled .brand-logo .logo-color{display:block;}
.brand-logo .logo-white{filter:brightness(0) invert(1);}
.brand-logo .logo-color{filter:none;}

/* Subsidiary nav: same 52px lockup footprint as Design Studio */
body.sub-orange .brand-logo img,
body.sub-teal   .brand-logo img,
body.sub-purple .brand-logo img,
body.sub-orange .brand-logo .logo-white,
body.sub-teal   .brand-logo .logo-white,
body.sub-purple .brand-logo .logo-white,
body.sub-orange .brand-logo .logo-color,
body.sub-teal   .brand-logo .logo-color,
body.sub-purple .brand-logo .logo-color{
  height:52px; max-width:none; filter:none;
}
body.sub-orange .nav.scrolled .brand-logo img,
body.sub-teal   .nav.scrolled .brand-logo img,
body.sub-purple .nav.scrolled .brand-logo img{
  height:42px;
}
@media (max-width:640px){
  body.sub-orange .brand-logo img,
  body.sub-teal   .brand-logo img,
  body.sub-purple .brand-logo img{ height:38px; }
  body.sub-orange .nav.scrolled .brand-logo img,
  body.sub-teal   .nav.scrolled .brand-logo img,
  body.sub-purple .nav.scrolled .brand-logo img{ height:32px; }
}

/* Accent the Enquire button per subsidiary when in scrolled state */
body.sub-orange .nav.scrolled .enquire{background:var(--orange); border-color:var(--orange);}
body.sub-teal   .nav.scrolled .enquire{background:var(--teal); border-color:var(--teal);}
body.sub-purple .nav.scrolled .enquire{background:var(--purple); border-color:var(--purple);}

/* ============================================================
   v3.3 REFINEMENTS
   - Nav spacing overhaul (no overlap, comfortable rhythm)
   - Cursor removed (default browser cursor everywhere)
   - Lang toggle hidden
   - Opening section tightened
   - Three houses: locked to one row, tighter, color-coded names
============================================================ */

/* ---- Cursor: back to default ---- */
@media (pointer:fine){
  body{cursor:auto !important;}
  a, button, .card, .division-card{cursor:pointer !important;}
  .cursor{display:none !important;}
}

/* ---- Nav spacing rebuild ---- */
.nav{gap:24px;}
.brand-logo{flex-shrink:0;}
.nav-links{
  flex:0 1 auto;
  gap:26px;
  white-space:nowrap;
}
.nav-links a{white-space:nowrap;}
.nav .enquire{
  margin-left:16px;
  flex-shrink:0;
  white-space:nowrap;
}

/* ---- Hide lang toggle everywhere ---- */
.lang-toggle{display:none !important;}

/* ---- Opening section: tighter vertical rhythm ---- */
.opening{
  padding-top:clamp(50px,6vw,80px) !important;
  padding-bottom:clamp(50px,6vw,80px) !important;
}

/* ---- Three houses: lock to one row (down to 720px), tighten ---- */
.divisions-hero{
  padding-top:clamp(40px,5vw,70px) !important;
  padding-bottom:clamp(40px,5vw,70px) !important;
}
.divisions-hero-head{margin-bottom:32px !important;}
.divisions-grid{grid-template-columns:repeat(3,1fr) !important;}
.division-card{aspect-ratio:4/5 !important;}
@media (max-width:720px){
  .divisions-grid{grid-template-columns:1fr !important;}
  .division-card{aspect-ratio:16/10 !important;}
}

/* ---- Three houses: color-code the H3 name per division ---- */
.division-card.orange h3{color:#FFB29A;}
.division-card.orange:hover h3{color:#fff;}
.division-card.teal h3{color:#8ED4C5;}
.division-card.teal:hover h3{color:#fff;}
.division-card.purple h3{color:#E8B4D6;}
.division-card.purple:hover h3{color:#fff;}
.division-card h3{transition:color .35s ease;}

/* Also color-code the number label ("01 · Design Studio") */
.division-card.orange .num-row{color:#FFB29A;}
.division-card.teal .num-row{color:#8ED4C5;}
.division-card.purple .num-row{color:#E8B4D6;}
