/* VillaAgent Global — Direction 02: Editorial Heritage */
:root{
  --va-midnight:#0B0F14;
  --va-gold:#D4B481;
  --va-ivory:#F7F4ED;
  --va-stone:#D9D1C6;
  --va-sage:#7C8A7A;
  --va-white:#FFFFFF;
  --va-ink:#0B0F14;
  --va-muted:#646861;
  --va-line:#D9D1C6;
  --va-shadow:0 22px 70px rgba(11,15,20,.11);
  --serif:"Cormorant Garamond","Playfair Display",Georgia,serif;
  --sans:"Inter","Avenir Next","Helvetica Neue",Arial,sans-serif;
}

*{border-radius:0}
body{background:var(--va-ivory);color:var(--va-ink);font-family:var(--sans);letter-spacing:0}
h1,h2,h3,.quote-card blockquote,.stat strong,.steps strong,.cert-card strong{font-family:var(--serif);font-weight:500}
h1,h2{letter-spacing:-.025em}
p{font-weight:400}
.eyebrow{color:var(--va-gold);font:600 11px/1.4 var(--sans);letter-spacing:.25em}
.eyebrow.dark{color:#8A6A3E}

/* Header and global identity */
.nav{
  height:100px;
  padding:0 4.5vw;
  background:rgba(11,15,20,.97);
  border-bottom:1px solid rgba(212,180,129,.34);
  backdrop-filter:blur(16px);
}
.nav .brand-image,.brand-image{width:215px;height:78px;display:block;overflow:visible}
.nav .brand-image img,.brand-image img,footer .brand-image img{width:100%;height:100%;object-fit:contain}
.nav nav{gap:28px}
.nav nav a{color:#fff;font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.nav nav a:after{background:var(--va-gold);bottom:-11px}
.nav-apply,a.primary,.primary,.submit-application{
  background:var(--va-gold);
  border:1px solid var(--va-gold);
  color:var(--va-midnight);
  padding:16px 23px;
  font:600 12px/1.2 var(--sans);
  letter-spacing:.11em;
  text-transform:uppercase;
  box-shadow:none;
}
.nav-apply:hover,a.primary:hover,.primary:hover,.submit-application:hover{background:#E1C99F;border-color:#E1C99F;transform:none}

/* Editorial hero system */
.hero{
  min-height:900px;
  padding:190px 7vw 95px;
  background:linear-gradient(90deg,rgba(11,15,20,.91) 0%,rgba(11,15,20,.68) 43%,rgba(11,15,20,.08) 74%),url("assets/villaagent-hero.webp") center/cover;
}
.hero-copy{max-width:760px}
.hero h1,.page-hero h1{font-size:clamp(62px,6.4vw,100px);line-height:.92;letter-spacing:-.035em}
.hero h1 em,.page-hero h1 em,h2 em,.section-title em{color:inherit;font-style:italic}
.hero-deck{max-width:650px;color:rgba(255,255,255,.86);font-size:18px;line-height:1.75;margin:32px 0}
.hero-actions{gap:30px}
.hero-actions>a:not(.primary){font-size:13px;letter-spacing:.04em;border-bottom:1px solid rgba(212,180,129,.7);padding-bottom:5px}
.trust-row{border-top:1px solid rgba(255,255,255,.25);padding-top:25px;color:rgba(255,255,255,.82);font-size:12px;letter-spacing:.035em}
.hero-note{right:4vw;bottom:46px;background:rgba(11,15,20,.72);border:0;border-left:1px solid var(--va-gold);padding:21px 24px;backdrop-filter:blur(10px)}
.hero-note strong{font-family:var(--serif);font-size:22px}

.page-hero{
  min-height:690px;
  padding:185px 8vw 90px;
  background:linear-gradient(90deg,rgba(11,15,20,.91),rgba(11,15,20,.52) 55%,rgba(11,15,20,.08)),url("assets/certification-hero.webp") center/cover;
}
.page-hero .inner{max-width:870px;border-left:1px solid var(--va-gold);padding-left:35px}
.page-hero p:last-child{font-size:18px;color:rgba(255,255,255,.84)}
.agency-page-hero{background:linear-gradient(90deg,rgba(11,15,20,.9),rgba(11,15,20,.5) 58%,rgba(11,15,20,.08)),url("assets/agency-hero.webp") center/cover}

/* Light editorial content */
.intro,.workflow,.white-label,.page-content,.final-cta{background:var(--va-ivory)}
.intro{padding:130px 8vw 100px;border-bottom:1px solid var(--va-line)}
.intro h2,.section-head h2,.final-cta h2,.section-title,.white-label h2,.cert-head h2,.agency-landscape h2,.reviews-preview h2{font-size:clamp(48px,4.8vw,74px);line-height:.98}
.intro>div>p,.cert-head>p:last-child,.prose,.white-label p{color:var(--va-muted);font-size:18px;line-height:1.78}

.at-glance{padding:0 6vw;background:var(--va-white);border-bottom:1px solid var(--va-line);display:grid;grid-template-columns:1.7fr repeat(4,1fr)}
.at-glance>div:first-child{padding:64px 3vw 64px 0}
.at-glance h2{font-size:clamp(38px,3.25vw,53px);line-height:1.02}
.stat{padding:55px 25px;border-left:1px solid var(--va-line)}
.stat strong{font-size:clamp(46px,3.7vw,65px);color:var(--va-midnight);line-height:1}
.stat span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--va-muted)}

/* Cards, certification and trust */
.certification{padding:130px 7vw;background:var(--va-ivory)}
.cert-layout{background:var(--va-stone);border:1px solid var(--va-stone);box-shadow:none}
.cert-benefits{background:var(--va-stone)}
.cert-benefits article{background:var(--va-white);padding:45px 38px}
.cert-benefits article:hover{background:#FBFAF6}
.cert-benefits h3{font:500 32px/1.04 var(--serif)}
.cert-benefits p{color:var(--va-muted);line-height:1.7}
.cert-card{background:var(--va-midnight);padding:48px;color:#fff}
.cert-card img{width:82%;filter:none;margin-bottom:30px}
.cert-card small{color:var(--va-gold)}
.cert-card strong{color:#fff}
.cert-card p{color:rgba(255,255,255,.72)}
.cert-path{background:#EFEAE1;border:1px solid var(--va-stone);border-top:0}
.cert-path i{color:#8A6A3E}

.workspace{padding:0 7vw 120px;background:var(--va-stone)}
.workspace article{background:var(--va-white);padding:50px 42px}
.workspace .featured{background:var(--va-midnight)}
.workspace h3,.flow-grid h3{font-family:var(--serif);font-size:31px}
.mini-ui{background:var(--va-ivory);box-shadow:none;border-top:2px solid var(--va-gold)}

.feature-grid{background:var(--va-stone);border-color:var(--va-stone)}
.feature-grid article{background:var(--va-white);padding:48px 40px}
.feature-grid h3{font:500 32px/1.06 var(--serif)}
.feature-grid p{color:var(--va-muted)}
.process{border-color:var(--va-stone)}
.process article{border-color:var(--va-stone)}
.process h3{font:500 31px/1.08 var(--serif)}

/* White label and platform */
.white-label{padding:130px 7vw}
.site-preview{border:10px solid #fff;box-shadow:var(--va-shadow)}
.preview-hero{background:linear-gradient(90deg,rgba(11,15,20,.7),rgba(11,15,20,.05)),url("assets/agency-hero.webp") center/cover}
.service-strip{background:var(--va-midnight);border-top:1px solid rgba(212,180,129,.3)}
.service-strip div{padding:48px 30px;border-color:rgba(255,255,255,.13)}
.studio{padding:130px 7vw;background:var(--va-midnight)}
.studio-shell{border:1px solid rgba(212,180,129,.45);box-shadow:none}
.studio-controls{background:var(--va-ivory)}
.studio-controls h3,.proposal-body h3,.quote-villa strong,.quote-total strong{font-family:var(--serif)}
.studio-preview{background:#E6E0D7}
.proposal{box-shadow:0 16px 50px rgba(11,15,20,.12)}
.proposal-foot{background:var(--va-midnight)}

.access,.dark-band,.partner,.reviews-preview,.issue-banner{background:var(--va-midnight);color:#fff}
.access{border-top:1px solid rgba(212,180,129,.32)}
.access-copy>p:not(.eyebrow),.partner p:not(.eyebrow),.dark-band .prose,.issue-banner p{color:rgba(255,255,255,.73)}
.steps>div{border-color:rgba(255,255,255,.17)}
.steps b{border-color:var(--va-gold);color:var(--va-gold)}
.steps small{color:rgba(255,255,255,.65)}
.workflow{border-bottom:1px solid var(--va-stone)}
.flow-grid{border-color:var(--va-stone)}
.flow-grid article{border-color:var(--va-stone)}
.partner:after{content:"VA";font-family:var(--serif);font-style:italic;color:rgba(255,255,255,.025)}

/* Magazine and credibility */
.magazine-preview,.agency-landscape{background:#EFEAE1}
.magazine-preview{padding:125px 7vw}
.magazine-lead h2,.mag-card h3{font-family:var(--serif)}
.mag-card{background:var(--va-white)}
.mag-card span{color:#8A6A3E}
.mag-card img{filter:saturate(.88) contrast(.98)}
.editorial-link{color:#76562F;border-color:var(--va-gold)}
.magazine-page-hero{background:linear-gradient(90deg,rgba(11,15,20,.9),rgba(11,15,20,.48) 60%,rgba(11,15,20,.08)),url("assets/magazine-hero.webp") center/cover}
.partners-page-hero{background:linear-gradient(90deg,rgba(11,15,20,.92),rgba(11,15,20,.48) 62%,rgba(11,15,20,.08)),url("assets/agency-hero.webp") center/cover}
.faq-page-hero{background:linear-gradient(90deg,rgba(11,15,20,.94),rgba(11,15,20,.56) 62%,rgba(11,15,20,.14)),url("assets/villaagent-hero.webp") center/cover}
.issue-banner{border-top:1px solid rgba(212,180,129,.3);border-bottom:1px solid rgba(212,180,129,.3)}
.topic-row span{border-radius:0;border-color:rgba(212,180,129,.55);color:#fff}

.agency-landscape{padding:120px 7vw}
.logo-wall{gap:0;border-top:1px solid var(--va-stone);border-left:1px solid var(--va-stone)}
.logo-wall span{background:transparent;border:0!important;border-right:1px solid var(--va-stone)!important;border-bottom:1px solid var(--va-stone)!important;box-shadow:none;font-family:var(--serif);font-size:18px;color:var(--va-midnight)}
.logo-wall span:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.55)}
.legal-note{color:#76766F}
.logo-wall.twelve{grid-template-columns:repeat(4,1fr);margin-top:55px}
.logo-wall.twelve span{min-height:125px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;letter-spacing:.08em}
.partner-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:125px 8vw;background:var(--va-ivory);border-bottom:1px solid var(--va-stone)}
.partner-intro h2,.advisor-stories h2,.faq-intro h2{font-size:clamp(48px,4.8vw,74px);line-height:.98}
.partner-intro p,.advisor-stories .section-head>p:last-child,.faq-intro>p:last-child{font-size:17px;line-height:1.75;color:var(--va-muted)}
.advisor-stories{padding:125px 7vw;background:var(--va-white)}
.advisor-stories .section-head{max-width:900px;margin-bottom:62px}
.advisor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--va-stone);border:1px solid var(--va-stone)}
.advisor-card{background:var(--va-ivory)}
.advisor-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.78) contrast(.98)}
.advisor-card div{padding:34px 32px 38px}
.advisor-card small{font-size:9px;letter-spacing:.14em;color:#8A6A3E}
.advisor-card blockquote{font:500 25px/1.22 var(--serif);margin:20px 0 28px;color:var(--va-midnight)}
.advisor-card p{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--va-muted)}
.home-faq{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:110px 8vw;background:var(--va-white);border-bottom:1px solid var(--va-stone)}
.home-faq h2{font-size:clamp(48px,4.8vw,74px);line-height:.98}.home-faq>div:last-child{padding-top:30px}.home-faq p{font-size:17px;line-height:1.75;color:var(--va-muted)}
.faq-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;padding:125px 8vw;background:var(--va-ivory)}
.faq-intro{position:sticky;top:135px;align-self:start}
.faq-list{border-top:1px solid var(--va-stone)}
.faq-list details{border-bottom:1px solid var(--va-stone);padding:0}
.faq-list{counter-reset:faq}
.faq-list details{counter-increment:faq}
.faq-list summary{cursor:pointer;list-style:none;padding:28px 48px 28px 0;font:500 27px/1.12 var(--serif);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:4px;top:24px;color:#8A6A3E;font:400 30px/1 var(--sans)}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{margin:0;padding:0 48px 30px 0;color:var(--va-muted);font-size:16px;line-height:1.75}
.twelve-stories{grid-template-columns:repeat(3,1fr)!important;gap:1px!important;background:var(--va-stone);border:1px solid var(--va-stone)}
.twelve-stories .mag-card{padding-bottom:28px}
.twelve-stories .mag-card img{aspect-ratio:3/2;object-fit:cover}
.twelve-stories .mag-card h3,.twelve-stories .mag-card p,.twelve-stories .mag-card span,.twelve-stories .mag-card small{margin-left:25px;margin-right:25px}
.twelve-stories .mag-card p{color:var(--va-muted);font-size:14px;line-height:1.65}
.twelve-stories .feature-story{grid-column:span 2}
.twelve-stories .feature-story h3{font-size:38px}
.reviews-preview{border-top:1px solid rgba(212,180,129,.28)}
.rating-panel{border-left:1px solid var(--va-gold)}
.rating-panel>strong{color:#fff;font-family:var(--serif)}
.rating-panel>span{color:var(--va-gold)}
.rating-panel p{color:rgba(255,255,255,.72)}
.quote-card{background:var(--va-ivory);border-color:rgba(212,180,129,.6);box-shadow:none}
.quote-card footer{color:var(--va-muted)}
.placeholder{color:#795D38}

/* Application */
.apply-body{background:var(--va-ivory);color:var(--va-ink)}
.apply-main{padding:160px 6vw 90px;background:var(--va-ivory);gap:5vw}
.apply-intro{background:var(--va-midnight);color:#fff;padding:50px;top:135px}
.apply-intro h1{font-family:var(--serif);font-size:clamp(55px,5.3vw,82px);line-height:.92}
.apply-intro h1 em{color:inherit}
.apply-lead{color:rgba(255,255,255,.75);font-size:18px}
.apply-benefits{border-color:rgba(255,255,255,.2)}
.apply-benefits span{color:var(--va-gold)}
.review-note{border-color:var(--va-gold)}
.review-note b{font-family:var(--serif);font-size:26px}
.review-note p{color:rgba(255,255,255,.65)}
.application-card{background:#fff;border-top:3px solid var(--va-gold);box-shadow:var(--va-shadow)}
.application-card h2,.application-card legend,.application-success h2{font-family:var(--serif)}
.form-heading{color:#795D38}
.form-heading b{border-color:var(--va-gold);border-radius:50%}
.form-grid label{font-family:var(--sans)}
.form-grid input,.form-grid select,.form-grid textarea{font-family:var(--sans);border-color:#BDB7AD;background:#fff}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#846439;box-shadow:0 0 0 3px rgba(212,180,129,.25)}
.consent{background:var(--va-ivory)}
.success-mark,.application-success .success-mark,.success span{background:var(--va-sage);color:#fff}

/* Footer and dialogs */
footer{background:var(--va-midnight);border-top:1px solid rgba(212,180,129,.3);padding:52px 5vw}
footer .brand-image{width:220px;height:92px}
footer p{color:rgba(255,255,255,.55);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
footer div a{color:rgba(255,255,255,.75);font-size:12px;letter-spacing:.05em}
dialog{background:var(--va-ivory);box-shadow:0 30px 100px rgba(11,15,20,.35);border-top:3px solid var(--va-gold)}
dialog::backdrop{background:rgba(11,15,20,.78)}
input,select,textarea{border-radius:0}

@media(max-width:1100px){
  .nav nav{gap:17px}.nav nav a{font-size:11px}.nav .brand-image{width:185px}
  .at-glance{grid-template-columns:1fr 1fr}.at-glance>div:first-child{grid-column:1/-1}
}
@media(max-width:900px){
  .nav{height:82px}.nav .brand-image{width:172px;height:68px}
  .hero{min-height:820px;padding-top:145px;background:linear-gradient(0deg,rgba(11,15,20,.94) 4%,rgba(11,15,20,.56) 58%,rgba(11,15,20,.08)),url("assets/villaagent-hero.webp") 66% center/cover}
  .hero-copy{align-self:flex-end}.hero h1,.page-hero h1{font-size:58px}
  .page-hero{min-height:620px}.page-hero .inner{padding-left:24px}
  .feature-grid{grid-template-columns:1fr 1fr}
  .apply-main{grid-template-columns:1fr;padding-top:125px}.apply-intro{position:static}
  .advisor-grid{grid-template-columns:1fr 1fr}.logo-wall.twelve{grid-template-columns:repeat(3,1fr)}.partner-intro,.faq-section,.home-faq{grid-template-columns:1fr}.faq-intro{position:static}.twelve-stories{grid-template-columns:1fr 1fr!important}
}
@media(max-width:560px){
  .nav{height:76px;padding:0 5vw}.nav .brand-image{width:150px;height:62px}.nav-apply{padding:11px 12px;font-size:10px}
  .hero{min-height:790px;padding:130px 6vw 60px}.hero h1,.page-hero h1{font-size:47px;line-height:.95}.hero-deck{font-size:16px}
  .at-glance{grid-template-columns:1fr;padding:40px 6vw}.at-glance>div:first-child{grid-column:auto;padding:30px 0}.stat{border-left:0;border-top:1px solid var(--va-stone);padding:28px 0}
  .intro,.certification,.white-label,.studio,.workflow,.agency-landscape,.reviews-preview,.page-content,.dark-band,.magazine-preview{padding:78px 6vw}
  .intro h2,.section-head h2,.final-cta h2,.section-title,.white-label h2,.cert-head h2,.agency-landscape h2,.reviews-preview h2{font-size:43px}
  .feature-grid,.process,.quote-grid{grid-template-columns:1fr}
  .page-hero{padding:140px 6vw 65px}.page-hero .inner{padding-left:18px}
  .apply-main{padding:110px 4vw 50px}.apply-intro{padding:36px 27px}.application-card{padding:36px 24px}.apply-intro h1{font-size:48px}
  footer .brand-image{width:185px}
  .advisor-grid,.logo-wall.twelve,.twelve-stories{grid-template-columns:1fr!important}.twelve-stories .feature-story{grid-column:auto}.partner-intro,.advisor-stories,.faq-section{padding:78px 6vw}
}

/* Direction 02 quality repair — native vector identity and editorial refinement */
.nav{height:104px;padding-left:4vw;padding-right:4vw}
.nav .brand-image{width:268px;height:70px}
.nav .brand-image img,footer .brand-image img{display:block;image-rendering:auto}
.nav nav{gap:25px}
.nav nav a{font-weight:500;letter-spacing:.09em}
.hero{min-height:850px;padding-top:180px}
.hero-copy{max-width:760px}
.hero h1{max-width:750px;text-wrap:balance}
.hero-deck{max-width:625px}
.hero-actions .primary{min-width:300px;text-align:center}
.at-glance,.certification,.white-label,.intro,.workflow,.page-content,.final-cta{position:relative}
.cert-benefits article,.feature-grid article,.workspace article,.mag-card{transition:background-color .25s ease}
.feature-grid{counter-reset:editorial-card}
.feature-grid article{counter-increment:editorial-card;border-top:2px solid transparent}
.feature-grid article:before{content:"0" counter(editorial-card);display:block;margin-bottom:52px;color:#8A6A3E;font:600 10px/1 Inter,Arial,sans-serif;letter-spacing:.2em}
.feature-grid article:hover{background:#FBFAF6;border-top-color:#D4B481}
.dark-band .feature-grid article:hover{background:#141B23}
.cert-card img{max-width:300px}
.application-card{border-top-width:2px}
.form-grid input,.form-grid select,.form-grid textarea{min-height:52px}
footer .brand-image{width:260px;height:76px}
@media(max-width:1100px){.nav .brand-image{width:220px}.nav nav{gap:16px}.nav nav a{font-size:10px}.hero{min-height:820px}}
@media(max-width:900px){.nav{height:82px}.nav .brand-image{width:205px;height:58px}.hero-actions .primary{min-width:0}}
@media(max-width:560px){.nav .brand-image{width:178px;height:52px}.hero{min-height:760px}.hero h1{font-size:46px}.feature-grid article:before{margin-bottom:30px}footer .brand-image{width:215px;height:64px}}
