/*
Theme Name: Exquisite Private Office
Theme URI: https://exquisiteprivateoffice.com
Author: Exquisite Private Office
Description: Bespoke luxury Marbella real estate and private client theme for Exquisite Private Office.
Version: 1.5.0
Text Domain: exquisite-private-office
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');

:root{
  --epo-ivory:#F8F6F1;
  --epo-stone:#D9D3C8;
  --epo-taupe:#A89F93;
  --epo-charcoal:#2C2C2C;
  --epo-gold:#C9B28B;
  --epo-ink:#171717;
  --epo-white:#ffffff;
  --epo-max:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--epo-ivory);color:var(--epo-ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.epo-wrap{width:min(calc(100% - 48px),var(--epo-max));margin:0 auto}
.epo-serif{font-family:'Playfair Display',Georgia,serif}
.epo-kicker{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase}
.epo-btn{display:inline-flex;align-items:center;gap:18px;padding:15px 24px;border:1px solid rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.18em;font-size:.73rem;font-weight:500;transition:.25s ease}
.epo-btn:hover{background:var(--epo-white);color:var(--epo-ink)}
.epo-btn.light{background:var(--epo-ivory);color:var(--epo-ink);border-color:var(--epo-ivory)}
.epo-btn.dark{border-color:var(--epo-charcoal);color:var(--epo-charcoal)}
.epo-btn.dark:hover{background:var(--epo-charcoal);color:#fff}
.epo-arrow{font-size:1rem}

/* Header */
.epo-header{position:absolute;z-index:20;left:0;right:0;top:0;color:#fff;padding:24px 0}
.epo-header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:24px}
.epo-nav{display:flex;gap:34px;align-items:center;font-size:.67rem;letter-spacing:.2em;text-transform:uppercase}
.epo-nav.right{justify-content:flex-end}
.epo-brand-mini{width:60px;display:flex;justify-content:center}
.epo-brand-mini svg{width:55px;height:55px}
.epo-mobile-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.55);color:#fff;padding:9px 12px}

/* Hero */
.epo-hero{min-height:760px;position:relative;color:#fff;background:
 linear-gradient(90deg,rgba(10,14,17,.92) 0%,rgba(10,14,17,.77) 35%,rgba(10,14,17,.28) 67%,rgba(10,14,17,.18) 100%),
 url('assets/images/hero.jpg') center right/cover no-repeat;display:flex;align-items:center}
.epo-hero-content{padding-top:110px;max-width:760px}
.epo-main-logo{margin-bottom:36px}
.epo-main-logo svg{width:90px;height:90px;margin-bottom:6px}
.epo-wordmark{font-family:'Playfair Display',Georgia,serif;font-size:3.7rem;letter-spacing:.16em;line-height:1;text-transform:uppercase}
.epo-submark{font-size:1rem;letter-spacing:.42em;text-transform:uppercase;margin-top:12px}
.epo-location{font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;margin-top:10px}
.epo-rule{width:46px;height:1px;background:rgba(255,255,255,.75);margin:23px 0}
.epo-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.12em;font-size:3rem;line-height:1.18;margin:0 0 14px}
.epo-hero p{font-family:'Playfair Display',Georgia,serif;font-size:1.06rem;max-width:620px;margin:0 0 28px;color:rgba(255,255,255,.9)}
.epo-hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.epo-trust-row{position:absolute;bottom:28px;left:0;right:0}
.epo-trust-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.epo-trust{font-size:.63rem;letter-spacing:.25em;text-transform:uppercase;opacity:.88}
.epo-locations{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;opacity:.8;text-align:right}

/* Intro */
.epo-intro{padding:62px 0 32px;text-align:center}
.epo-intro h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:.16em;text-transform:uppercase;font-size:2rem;margin:0 0 8px}
.epo-intro p{max-width:840px;margin:0 auto;color:#69645d}

/* Service Cards */
.epo-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #ded9d0;border-bottom:1px solid #ded9d0}
.epo-card{padding:0 22px 30px;border-right:1px solid #ded9d0}
.epo-card:last-child{border-right:0}
.epo-card img{width:100%;height:210px;object-fit:cover;margin-bottom:16px}
.epo-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px}
.epo-card p{font-size:.9rem;color:#6c675f;min-height:86px;margin:0 0 12px}
.epo-link{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid #bdb5a8;padding-bottom:4px}

/* Buyer section */
.epo-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:620px}
.epo-split-copy{background:var(--epo-charcoal);color:#fff;padding:90px max(6vw,60px)}
.epo-split-copy h2,.epo-copy-light h2{font-family:'Playfair Display',Georgia,serif;font-size:2.55rem;font-weight:400;line-height:1.15;margin:12px 0 24px}
.epo-split-copy p{color:rgba(255,255,255,.78);max-width:590px}
.epo-split-image{background:url('assets/images/buy.jpg') center/cover no-repeat;min-height:620px}
.epo-points{display:grid;grid-template-columns:1fr 1fr;gap:15px 34px;margin:28px 0 34px;font-size:.88rem}
.epo-points span:before{content:"—";margin-right:10px;color:var(--epo-gold)}

/* Perspective */
.epo-perspective{padding:100px 0;background:#efeae1}
.epo-perspective-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.epo-perspective h2{font-family:'Playfair Display',Georgia,serif;font-size:2.8rem;font-weight:400;line-height:1.15;margin:8px 0 20px}
.epo-perspective p{color:#625d56}
.epo-quote{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.8rem;line-height:1.45;border-left:1px solid var(--epo-gold);padding-left:36px;margin-top:16px}

/* Founder */
.epo-founder{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.epo-founder-image{background:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)),url('assets/images/private-office.jpg') center/cover no-repeat}
.epo-founder-copy{padding:90px max(6vw,70px);background:#fff}
.epo-founder-copy h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:2.5rem;line-height:1.2;margin:10px 0 22px}
.epo-founder-copy p{color:#6b665f}

/* Forms */
.epo-contact{background:#171717;color:#fff;padding:95px 0}
.epo-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.epo-contact h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:2.8rem;line-height:1.2;margin:8px 0 20px}
.epo-contact p{color:rgba(255,255,255,.72)}
.epo-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.epo-form .full{grid-column:1/-1}
.epo-form input,.epo-form textarea,.epo-form select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.35);color:#fff;padding:12px 4px;font:inherit;border-radius:0}
.epo-form input::placeholder,.epo-form textarea::placeholder{color:rgba(255,255,255,.6)}
.epo-form select option{color:#111}
.epo-form textarea{min-height:100px;resize:vertical}
.epo-form button{background:var(--epo-ivory);color:#111;border:0;padding:16px 22px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;cursor:pointer}
.epo-success{padding:14px 18px;border:1px solid rgba(255,255,255,.45);margin-bottom:20px}

/* Footer */
.epo-footer{background:#111;color:#ddd;padding:38px 0}
.epo-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.epo-footer-quote{font-family:'Playfair Display',Georgia,serif;font-style:italic}
.epo-footer-meta{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase}

/* Pages */
.epo-page-hero{padding:180px 0 85px;background:#1a1a1a;color:#fff}
.epo-page-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:3.2rem;font-weight:400;margin:0}
.epo-page-content{padding:70px 0;min-height:420px}
.epo-page-content h2,.epo-page-content h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}
.epo-page-content p{max-width:820px}

/* Responsive */
@media(max-width:1050px){
 .epo-header-inner{grid-template-columns:auto 1fr auto}
 .epo-nav{display:none}
 .epo-mobile-toggle{display:block}
 .epo-cards{grid-template-columns:1fr 1fr}
 .epo-card:nth-child(2){border-right:0}
 .epo-card:nth-child(-n+2){border-bottom:1px solid #ded9d0}
 .epo-split,.epo-founder,.epo-perspective-grid,.epo-contact-grid{grid-template-columns:1fr}
 .epo-founder-image,.epo-split-image{min-height:430px}
}
@media(max-width:700px){
 .epo-wrap{width:min(calc(100% - 28px),var(--epo-max))}
 .epo-header{padding:16px 0}
 .epo-hero{min-height:760px;background-position:64% center}
 .epo-hero-content{padding-top:80px}
 .epo-main-logo svg{width:68px;height:68px}
 .epo-wordmark{font-size:2.1rem;letter-spacing:.11em}
 .epo-submark{font-size:.8rem;letter-spacing:.27em}
 .epo-hero h1{font-size:2.15rem;letter-spacing:.08em}
 .epo-hero p{font-size:.98rem}
 .epo-hero-actions{flex-direction:column;align-items:stretch}
 .epo-btn{justify-content:center}
 .epo-trust-inner{display:block}
 .epo-locations{display:none}
 .epo-cards{grid-template-columns:1fr}
 .epo-card{border-right:0;border-bottom:1px solid #ded9d0;padding:0 0 28px;margin:0 14px 28px}
 .epo-card img{height:240px}
 .epo-card p{min-height:0}
 .epo-intro h2{font-size:1.6rem}
 .epo-split-copy,.epo-founder-copy{padding:68px 28px}
 .epo-split-copy h2,.epo-founder-copy h2,.epo-perspective h2,.epo-contact h2{font-size:2.1rem}
 .epo-perspective{padding:70px 0}
 .epo-quote{font-size:1.45rem}
 .epo-contact{padding:70px 0}
 .epo-form{grid-template-columns:1fr}
 .epo-footer-inner{flex-direction:column;text-align:center}
}

/* ===== V1.1 layout + image corrections ===== */
/* Hero now uses a clean crop without mock-up navigation/text baked into the image. */
.epo-hero{
  background-image:linear-gradient(90deg,rgba(10,14,17,.90) 0%,rgba(10,14,17,.72) 34%,rgba(10,14,17,.25) 68%,rgba(10,14,17,.10) 100%),url('assets/images/hero-clean.jpg');
  min-height:820px;
  overflow:hidden;
}
.epo-header{padding:22px 0;overflow:visible}
.admin-bar .epo-header{top:32px}
.epo-header-inner{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;gap:18px}
.epo-nav{gap:clamp(16px,1.65vw,30px);white-space:nowrap;font-size:.62rem;letter-spacing:.17em}
.epo-nav a{display:block}
.epo-nav .epo-btn{padding:12px 18px}
.epo-brand-mini{width:72px;align-self:center}
.epo-brand-mini svg{width:58px;height:58px}
.epo-hero-content{padding-top:138px;max-width:700px}
.epo-main-logo{margin-bottom:25px}
.epo-main-logo svg{width:76px;height:76px}
.epo-wordmark{font-size:clamp(2.9rem,4vw,3.65rem);letter-spacing:.14em}
.epo-hero h1{font-size:clamp(2.35rem,3.3vw,3.05rem);letter-spacing:.095em;line-height:1.16}
.epo-hero p{max-width:590px}
.epo-trust-row{bottom:24px}
.epo-card img{height:225px}
.epo-split-image{background-image:url('assets/images/buy-clean.jpg')}

@media(max-width:1250px){
 .epo-header-inner{grid-template-columns:auto 1fr auto}
 .epo-nav{display:none}
 .epo-mobile-toggle{display:block;justify-self:end}
 .epo-brand-mini{justify-self:start}
 .epo-hero-content{padding-top:120px}
}
@media(max-width:782px){.admin-bar .epo-header{top:46px}}
@media(max-width:700px){
 .epo-hero{min-height:790px;background-position:56% center}
 .epo-hero-content{padding-top:112px}
 .epo-main-logo{margin-bottom:20px}
 .epo-wordmark{font-size:2.15rem}
 .epo-hero h1{font-size:2.05rem}
}



/* FINAL VISUAL PASS 1.5
   - Larger local property imagery to prevent visible browser enlargement.
   - Old generic SUV physically removed from the local aviation artwork.
   - Both Private Office image locations use the same corrected treatment.
   - Right-hand vehicle is an official Rolls-Royce Cullinan image. */

.epo-card img {
  width:100%;
  height:225px;
  object-fit:cover;
  image-rendering:auto;
}

.epo-split-image {
  background-image:url('assets/images/buy-clean.jpg') !important;
  background-position:center !important;
  background-size:cover !important;
}

.epo-private-image,
.epo-founder-image {
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(10,12,13,.02),rgba(10,12,13,.10)),
    url('assets/images/private-office-plane.jpg') left center/59% 100% no-repeat,
    #151719 !important;
  image-rendering:auto;
}

.epo-private-image {
  width:100%;
  height:225px;
  margin-bottom:16px;
}

.epo-founder-image {
  min-height:560px;
}

.epo-private-image::after,
.epo-founder-image::after {
  content:"";
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  width:53%;
  background:
    linear-gradient(90deg,rgba(17,18,19,.60) 0%,rgba(17,18,19,.08) 18%,rgba(17,18,19,0) 42%),
    url('https://mediapool.bmwgroup.com/download/edown/pressclub/publicq?actEvent=image&attachment=1&dokNo=P90649570') center center/cover no-repeat;
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);
}

.epo-private-image::before,
.epo-founder-image::before {
  content:"";
  position:absolute;
  z-index:2;
  left:46%;
  top:0;
  bottom:0;
  width:12%;
  background:linear-gradient(90deg,transparent,rgba(15,16,17,.22),transparent);
  pointer-events:none;
}

@media(max-width:700px){
  .epo-card img,.epo-private-image{height:245px}
  .epo-founder-image{min-height:420px}
  .epo-private-image::after,.epo-founder-image::after{width:58%}
}
