/*
Theme Name: The Residence
Theme URI: https://scottsdale.com
Author: Qinary
Author URI: https://qinary.com
Description: Editorial luxury theme for Scottsdale.com. Converted faithfully from the approved Residence mockups (May 31, 2026, approved by Darren Tackett and Jenna with zero edits). Classic PHP theme, dark editorial canvas, Cormorant Garamond serif, champagne gold accents.
Version: 0.1.3
Requires at least: 6.0
Requires PHP: 8.1
License: Proprietary
Text Domain: residence
*/

/* ============ Tokens (from residence/_base.css) ============ */
:root{
  --black:#0A0A0A; --warm-black:#0E0D0B; --gold:#C5A572; --gold-dim:rgba(197,165,114,0.28);
  --cream:#F5F0EB; --ivory:#FAF8F5; --white:#FFFFFF; --mute:rgba(245,240,235,0.45);
  --mute-2:rgba(245,240,235,0.62); --rule:rgba(197,165,114,0.16);
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.6;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}

/* ============ Header ============ */
.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;
  padding:20px 60px;background:rgba(10,10,10,0.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);}
.logo{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:1.5px;color:var(--white);}
.logo span{color:var(--gold);}
.nav-links{display:flex;gap:26px;list-style:none;}
.nav-links li{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;transition:color .2s;white-space:nowrap;}
.nav-links li a{color:var(--mute-2);}
.nav-links li:hover a,.nav-links li.active a,.nav-links li.current-menu-item a,.nav-links li.current-menu-ancestor a{color:var(--gold);}
.header-tools{display:flex;align-items:center;gap:22px;}
.header-tools .search-ico{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;color:var(--mute-2);}
.subscribe-btn{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;color:var(--black);background:var(--gold);
  padding:9px 18px;border-radius:1px;font-weight:500;}

/* ============ Shared: divider label ============ */
.grid-label{max-width:1400px;margin:64px auto 36px;padding:0 60px;display:flex;align-items:center;gap:24px;}
.grid-label::before,.grid-label::after{content:"";flex:1;height:1px;background:var(--rule);}
.grid-label span{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);white-space:nowrap;}

/* ============ Shared: newsletter ============ */
.newsletter{max-width:1400px;margin:88px auto 0;padding:80px 60px;text-align:center;border-top:1px solid var(--rule);}
.newsletter h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.5vw,42px);color:var(--white);}
.newsletter p{color:var(--mute-2);font-size:15px;margin-top:14px;}
.nl-form{display:flex;justify-content:center;margin-top:32px;max-width:480px;margin-left:auto;margin-right:auto;}
.nl-form input{flex:1;background:transparent;border:1px solid var(--gold-dim);border-right:none;color:var(--cream);
  padding:15px 18px;font-family:var(--sans);font-size:13px;letter-spacing:.5px;}
.nl-form button{background:var(--gold);color:var(--black);border:none;padding:15px 28px;font-size:11px;
  letter-spacing:2.6px;text-transform:uppercase;font-weight:500;cursor:pointer;}

/* ============ Footer ============ */
.site-footer{border-top:1px solid var(--rule);padding:64px 60px 44px;}
.footer-top{display:flex;justify-content:space-between;gap:60px;flex-wrap:wrap;max-width:1400px;margin:0 auto;}
.footer-brand .logo{font-size:30px;margin-bottom:16px;}
.footer-brand p{color:var(--mute);font-size:13px;max-width:280px;line-height:1.7;}
.footer-cols{display:flex;gap:64px;flex-wrap:wrap;}
.footer-col h4{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.footer-col ul{list-style:none;}
.footer-col li{font-size:13px;color:var(--mute-2);margin-bottom:12px;}
.footer-bottom{max-width:1400px;margin:48px auto 0;padding-top:24px;border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:var(--mute);flex-wrap:wrap;gap:12px;}

/* ============ Front page (from residence/index.html) ============ */
.home-hero{position:relative;width:100%;max-width:1600px;margin:0 auto;aspect-ratio:3/2;max-height:78vh;overflow:hidden;display:block;}
.home-hero img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:brightness(0.62) contrast(1.08);}
.home-hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:72px 60px;background:linear-gradient(to top,rgba(10,10,10,0.92) 0%,rgba(10,10,10,0.15) 55%,transparent 80%);}
.home-hero-cat{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.home-hero-title{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,64px);line-height:1.08;
  color:var(--white);max-width:880px;}
.home-hero-byline{margin-top:18px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.6);}

.home-grid{max-width:1400px;margin:0 auto;padding:80px 60px 40px;display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.home-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(0.85);transition:filter .35s;}
.home-card:hover img{filter:brightness(1);}
.home-card-cat{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:20px 0 8px;}
.home-card-title{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.22;color:var(--cream);}
.home-card-excerpt{margin-top:10px;font-size:15px;line-height:1.6;color:var(--mute-2);max-width:520px;}

.home-quote{max-width:1400px;margin:40px auto;padding:96px 60px;text-align:center;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.home-quote blockquote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(30px,4.2vw,52px);
  line-height:1.4;color:var(--cream);max-width:820px;margin:0 auto;}
.home-quote cite{display:block;margin-top:26px;font-family:var(--sans);font-style:normal;font-size:11px;
  letter-spacing:3px;text-transform:uppercase;color:var(--gold);}

.pillars{max-width:1400px;margin:0 auto;padding:24px 60px 0;}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
  border:1px solid var(--rule);}
.pillar{background:var(--black);padding:44px 36px;transition:background .3s;display:block;}
.pillar:hover{background:#0E0D0B;}
.pillar-num{font-size:11px;letter-spacing:2px;color:var(--gold);font-family:var(--serif);}
.pillar-name{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--white);margin:14px 0 10px;}
.pillar-desc{font-size:13px;line-height:1.6;color:var(--mute-2);}

.more-grid{max-width:1400px;margin:0 auto;padding:0 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:44px;}
.mc img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(0.85);transition:filter .3s;}
.mc:hover img{filter:brightness(1);}
.mc-cat{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:16px 0 8px;}
.mc-title{font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.3;color:var(--cream);}
.mc-meta{margin-top:10px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--mute);}

/* ============ Article (from residence/article.html) ============ */
.article-head{max-width:820px;margin:0 auto;padding:80px 32px 44px;text-align:center;}
.breadcrumb{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--mute);margin-bottom:28px;}
.breadcrumb span{color:var(--gold);}
.breadcrumb a{color:var(--mute);}
.eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:22px;}
.eyebrow a{color:var(--gold);}
.article-title{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,60px);line-height:1.1;color:var(--white);
  max-width:760px;margin:0 auto;}
.dek{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(19px,2.2vw,24px);
  color:var(--cream);line-height:1.5;margin-top:24px;max-width:620px;margin-left:auto;margin-right:auto;}
.byline{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:34px;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--mute-2);flex-wrap:wrap;}
.byline .author{color:var(--cream);}
.byline .dot{width:3px;height:3px;border-radius:50%;background:var(--gold);}

.hero-figure{max-width:1400px;margin:0 auto;}
.hero-figure img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 25%;filter:brightness(0.92) contrast(1.04);}
.hero-cap{max-width:1400px;margin:14px auto 0;padding:0 60px;font-size:11px;letter-spacing:.5px;color:var(--mute);}
.hero-cap b{color:var(--gold);font-weight:500;letter-spacing:1.5px;text-transform:uppercase;margin-right:8px;font-size:10px;}

.article-body{max-width:680px;margin:0 auto;padding:64px 32px 40px;font-size:19px;line-height:1.85;color:rgba(245,240,235,0.86);}
.article-body p{margin-bottom:28px;}
.article-body p a{color:var(--gold);border-bottom:1px solid var(--gold-dim);}
.article-body > p:first-of-type::first-letter{font-family:var(--serif);float:left;font-size:78px;line-height:.72;
  padding:8px 14px 0 0;color:var(--gold);font-weight:500;}
.article-body h2{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.2;color:var(--white);
  margin:52px 0 22px;}
.article-body h3{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.25;color:var(--white);margin:44px 0 18px;}
.article-body ul,.article-body ol{margin:0 0 28px 22px;}
.article-body blockquote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(24px,3vw,34px);
  line-height:1.45;color:var(--cream);text-align:center;margin:60px auto;padding:56px 40px;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.article-body img{margin:48px auto;}
.article-body figure{margin:48px 0;}
.article-body figcaption{margin-top:14px;font-size:12px;color:var(--mute);}
.wp-caption{max-width:100%;}
.wp-caption-text{margin-top:14px;font-size:12px;color:var(--mute);}

.share-row{max-width:680px;margin:8px auto 0;padding:36px 32px;display:flex;justify-content:space-between;
  align-items:center;border-top:1px solid var(--rule);flex-wrap:wrap;gap:20px;}
.tags{display:flex;gap:10px;flex-wrap:wrap;}
.tags a{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--mute-2);
  border:1px solid var(--rule);padding:7px 14px;border-radius:1px;}
.share{display:flex;gap:18px;font-size:10px;letter-spacing:2.6px;text-transform:uppercase;color:var(--gold);}
.share a{color:var(--gold);}

.author-card{max-width:680px;margin:32px auto;padding:40px 0;display:flex;gap:28px;align-items:flex-start;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.author-card .avatar{width:84px;height:84px;border-radius:50%;flex-shrink:0;overflow:hidden;
  border:1px solid var(--gold-dim);}
.author-card .avatar img{width:100%;height:100%;object-fit:cover;}
.author-card .a-eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.author-card .a-name{font-family:var(--serif);font-size:26px;color:var(--white);margin-bottom:10px;}
.author-card .a-bio{font-size:14px;line-height:1.7;color:var(--mute-2);}

.related{max-width:1400px;margin:0 auto;padding:80px 60px 40px;}
.section-label{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);
  text-align:center;margin-bottom:48px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;}
.r-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(0.85);transition:filter .3s;}
.r-card:hover img{filter:brightness(1);}
.r-cat{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:18px 0 8px;}
.r-title{font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.3;color:var(--cream);}
.r-meta{margin-top:10px;font-size:11px;letter-spacing:1px;color:var(--mute);text-transform:uppercase;}

/* ============ Category / archive (from residence/category.html) ============ */
.cat-masthead{max-width:900px;margin:0 auto;padding:80px 32px 40px;text-align:center;}
.cat-eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:22px;}
.cat-title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,84px);line-height:1;color:var(--white);}
.cat-desc{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(19px,2.2vw,24px);
  color:var(--cream);line-height:1.5;margin:24px auto 0;max-width:600px;}
.cat-count{margin-top:26px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--mute);}

.subfilter{max-width:1400px;margin:24px auto 0;padding:0 60px 24px;display:flex;justify-content:center;gap:32px;
  border-bottom:1px solid var(--rule);flex-wrap:wrap;}
.subfilter a{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--mute-2);padding-bottom:4px;}
.subfilter a.active{color:var(--cream);border-bottom:1px solid var(--gold);}

.lead{max-width:1400px;margin:64px auto 0;padding:0 60px;display:grid;grid-template-columns:1.25fr 1fr;
  gap:54px;align-items:center;}
.lead-img img{width:100%;aspect-ratio:3/2;object-fit:cover;filter:brightness(0.9);}
.lead-cat{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.lead-title{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.8vw,48px);line-height:1.12;color:var(--white);}
.lead-excerpt{margin-top:20px;font-size:16px;line-height:1.7;color:var(--mute-2);max-width:460px;}
.lead-meta{margin-top:22px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--mute);}
.lead-meta span{color:var(--cream);}

.card-grid{max-width:1400px;margin:0 auto;padding:0 60px;display:grid;grid-template-columns:repeat(3,1fr);
  gap:48px 44px;}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(0.85);transition:filter .3s;}
.card:hover img{filter:brightness(1);}
.card-cat{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:18px 0 8px;}
.card-title{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.25;color:var(--cream);}
.card-excerpt{margin-top:10px;font-size:14px;line-height:1.6;color:var(--mute-2);}
.card-meta{margin-top:14px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mute);}

.loadmore{display:flex;justify-content:center;margin:64px 0 0;}
.loadmore a,.loadmore span{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--cream);
  border:1px solid var(--gold-dim);padding:16px 44px;border-radius:1px;transition:all .25s;}
.loadmore a:hover{background:var(--gold);color:var(--black);border-color:var(--gold);}
.pagination-row{display:flex;justify-content:center;gap:14px;margin:64px 0 0;}
.pagination-row .page-numbers{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--mute-2);
  border:1px solid var(--rule);padding:12px 18px;border-radius:1px;}
.pagination-row .page-numbers.current,.pagination-row .page-numbers:hover{color:var(--black);background:var(--gold);border-color:var(--gold);}

/* ============ Plain page ============ */
.page-body{max-width:820px;margin:0 auto;padding:64px 32px;}
.page-body .page-title{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,60px);line-height:1.1;
  color:var(--white);margin-bottom:36px;text-align:center;}
.page-content{font-size:17px;line-height:1.8;color:rgba(245,240,235,0.86);}
.page-content p{margin-bottom:24px;}
.page-content a{color:var(--gold);border-bottom:1px solid var(--gold-dim);}
.page-content h2{font-family:var(--serif);font-weight:500;font-size:30px;color:var(--white);margin:44px 0 18px;}
.page-content h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--white);margin:36px 0 14px;}
.page-content ul,.page-content ol{margin:0 0 24px 22px;}

/* ============ Author (from residence/author.html) ============ */
.author-hero{max-width:760px;margin:0 auto;padding:84px 32px 48px;text-align:center;}
.author-avatar{width:128px;height:128px;border-radius:50%;margin:0 auto 28px;overflow:hidden;
  border:1px solid var(--gold-dim);}
.author-avatar img{width:100%;height:100%;object-fit:cover;}
.author-role{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.author-name{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.5vw,64px);line-height:1.05;color:var(--white);}
.author-bio{font-size:17px;line-height:1.8;color:var(--mute-2);margin:24px auto 0;max-width:600px;}
.author-beats{margin-top:26px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.author-beats a{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--mute-2);
  border:1px solid var(--rule);padding:7px 14px;border-radius:1px;}
.author-social{margin-top:26px;display:flex;justify-content:center;gap:22px;font-size:10px;letter-spacing:2.6px;
  text-transform:uppercase;color:var(--gold);}
.author-stats{max-width:760px;margin:8px auto 0;padding:32px;display:flex;justify-content:center;gap:64px;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.stat{text-align:center;}
.stat .num{font-family:var(--serif);font-size:38px;color:var(--white);line-height:1;}
.stat .lbl{margin-top:8px;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--mute);}

/* ============ Search (from residence/search.html) ============ */
.search-head{max-width:880px;margin:0 auto;padding:80px 32px 36px;text-align:center;}
.search-eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:22px;}
.search-title{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,56px);line-height:1.1;color:var(--white);}
.search-title em{font-style:italic;color:var(--gold);}
.search-box{display:flex;max-width:560px;margin:34px auto 0;}
.search-box input{flex:1;background:transparent;border:1px solid var(--gold-dim);border-right:none;color:var(--cream);
  padding:16px 20px;font-family:var(--serif);font-size:18px;}
.search-box button{background:var(--gold);color:var(--black);border:none;padding:16px 30px;font-size:11px;
  letter-spacing:2.6px;text-transform:uppercase;font-weight:500;cursor:pointer;}
.search-count{margin-top:24px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--mute);}
.results{max-width:880px;margin:8px auto 0;padding:0 32px;}
.result{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:36px 0;border-top:1px solid var(--rule);align-items:center;}
.result:last-child{border-bottom:1px solid var(--rule);}
.result img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(0.85);transition:filter .3s;}
.result:hover img{filter:brightness(1);}
.result-cat{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.result-title{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.2;color:var(--cream);}
.result-excerpt{margin-top:10px;font-size:14px;line-height:1.6;color:var(--mute-2);max-width:520px;}
.result-meta{margin-top:12px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mute);}
.result-excerpt mark{background:transparent;color:var(--gold);font-style:italic;}

/* ============ 404 (from residence/404.html) ============ */
.nf-wrap{max-width:760px;margin:0 auto;padding:110px 32px 60px;text-align:center;}
.nf-code{font-family:var(--serif);font-weight:300;font-size:clamp(110px,18vw,200px);line-height:.9;color:var(--white);}
.nf-code span{color:var(--gold);}
.nf-title{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(22px,3vw,30px);color:var(--cream);margin-top:8px;}
.nf-text{font-size:15px;line-height:1.8;color:var(--mute-2);margin:22px auto 0;max-width:480px;}
.nf-box{display:flex;max-width:480px;margin:34px auto 0;}
.nf-box input{flex:1;background:transparent;border:1px solid var(--gold-dim);border-right:none;color:var(--cream);
  padding:15px 18px;font-family:var(--serif);font-size:17px;}
.nf-box button{background:var(--gold);color:var(--black);border:none;padding:15px 26px;font-size:11px;
  letter-spacing:2.6px;text-transform:uppercase;font-weight:500;cursor:pointer;}
.nf-or{margin:40px 0 18px;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--mute);}
.nf-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.nf-links a{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--cream);
  border:1px solid var(--gold-dim);padding:12px 22px;border-radius:1px;transition:all .25s;}
.nf-links a:hover{background:var(--gold);color:var(--black);border-color:var(--gold);}
.popular{max-width:1100px;margin:0 auto;padding:0 60px;}
.pop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.pop img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(0.85);transition:filter .3s;}
.pop:hover img{filter:brightness(1);}
.pop-cat{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:16px 0 8px;}
.pop-title{font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.3;color:var(--cream);}

/* ============ Events (from residence/events.html + TEC v2 mapping) ============ */
.ev-masthead{max-width:900px;margin:0 auto;padding:80px 32px 30px;text-align:center;}
.ev-eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.ev-title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,84px);line-height:1;color:var(--white);}
.ev-desc{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(19px,2.2vw,24px);color:var(--cream);margin:22px auto 0;max-width:560px;}

/* The Events Calendar v2: map plugin custom properties onto the Residence canvas */
.tribe-common{
  --tec-color-text-primary:var(--cream);
  --tec-color-text-primary-light:var(--mute-2);
  --tec-color-text-secondary:var(--mute-2);
  --tec-color-text-disabled:var(--mute);
  --tec-color-link-primary:var(--cream);
  --tec-color-link-accent:var(--gold);
  --tec-color-link-accent-hover:var(--gold);
  --tec-color-accent-primary:var(--gold);
  --tec-color-accent-primary-hover:#d4b886;
  --tec-color-accent-secondary:var(--cream);
  --tec-color-background:transparent;
  --tec-color-background-secondary:var(--warm-black);
  --tec-color-background-events:transparent;
  --tec-color-border-default:var(--rule);
  --tec-color-border-secondary:var(--rule);
  --tec-color-border-hover:var(--gold-dim);
  --tec-color-button-primary:var(--gold);
  --tec-color-button-primary-hover:#d4b886;
  --tec-font-family-sans-serif:var(--sans);
  --tec-font-family-base:var(--sans);
}
.tribe-events{max-width:1100px;margin:0 auto;padding:0 60px;}
.tribe-events .tribe-events-calendar-list__event-row{border-bottom:1px solid var(--rule);padding:30px 0;}
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime{border:1px solid var(--gold-dim);border-radius:1px;padding:14px 0;min-width:72px;}
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum{font-family:var(--serif);font-size:34px;line-height:1;color:var(--white);font-weight:400;}
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);}
.tribe-events .tribe-events-calendar-list__event-title{font-family:var(--serif);font-weight:400;}
.tribe-events .tribe-events-calendar-list__event-title-link{color:var(--cream);}
.tribe-events .tribe-events-calendar-list__event-title-link:hover{color:var(--gold);}
.tribe-events .tribe-events-calendar-list__event-datetime{color:var(--mute-2);font-size:12px;letter-spacing:.5px;}
.tribe-events .tribe-events-calendar-list__event-venue{color:var(--mute-2);}
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper img{filter:brightness(0.85);transition:filter .3s;}
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper:hover img{filter:brightness(1);}
.tribe-events .tribe-events-calendar-list__month-separator-text{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);}
.tribe-events .tribe-events-c-nav__list{border-top:1px solid var(--rule);}
.tribe-events button.tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-c-top-bar__datepicker-time{font-family:var(--serif);font-size:24px;color:var(--white);}
.tribe-events .tribe-events-header{background:transparent;}
/* TEC loads its stylesheets after the theme's, so the events-bar skin needs !important */
.tribe-events .tribe-events-c-events-bar{background:transparent !important;border:1px solid var(--rule);border-radius:1px;}
.tribe-events .tribe-events-c-events-bar__search-container,
.tribe-events .tribe-events-c-search{background:transparent !important;}
.tribe-events .tribe-events-c-search__input{background:transparent !important;color:var(--cream) !important;font-family:var(--sans);}
.tribe-events .tribe-events-c-search__input::placeholder{color:var(--mute);}
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-search__button:hover,
.tribe-events .tribe-events-c-search__button:focus{background-color:var(--gold) !important;color:var(--black) !important;
  font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:500;border-radius:1px;}
.tribe-events .tribe-events-c-view-selector__button,
.tribe-events .tribe-events-c-view-selector__content{background:var(--warm-black) !important;}
.tribe-events .tribe-events-c-view-selector__list-item-text{color:var(--cream) !important;}
.single-tribe_events .tribe-events-single-event-title{font-family:var(--serif);font-weight:400;color:var(--white);}

/* ============ Gravity Forms: Theme Framework variables on the dark canvas ============ */
.gform-theme.gform-theme--framework{
  --gf-color-primary:var(--gold);
  --gf-color-primary-contrast:var(--black);
  --gf-color-primary-darker:#b5945f;
  --gf-ctrl-bg:transparent;
  --gf-ctrl-color:var(--cream);
  --gf-ctrl-border-color:var(--gold-dim);
  --gf-ctrl-label-color-primary:var(--cream);
  --gf-ctrl-label-color-secondary:var(--mute-2);
  --gf-ctrl-desc-color:var(--mute-2);
  --gf-ctrl-btn-bg-color-primary:var(--gold);
  --gf-ctrl-btn-color-primary:var(--black);
  --gf-ctrl-radius:1px;
  --gf-form-gap-y:28px;
}

/* ============ GeoDirectory: light-touch dark canvas ============ */
.geodir-page .card,.geodir-page .list-group-item,body.post-type-archive-gd_place .card,body.single-gd_place .card{
  background:var(--warm-black);border:1px solid var(--rule);color:var(--cream);}
body.single-gd_place .geodir-page-title,body.post-type-archive-gd_place .geodir-page-title{
  font-family:var(--serif);font-weight:400;color:var(--white);}

/* ============ Light canvas for Beaver Builder pages ============ */
/* The 110 legacy BB pages carry dark text from the old light theme. */
body.residence-light-page{background:var(--ivory);color:#1F1D1A;}
body.residence-light-page .site-header{background:rgba(10,10,10,0.95);}
body.residence-light-page .page-body .page-title{color:#1F1D1A;}
body.residence-light-page .page-content{color:#33302B;}
body.residence-light-page .page-content h2,
body.residence-light-page .page-content h3{color:#1F1D1A;}
body.residence-light-page .newsletter{background:var(--black);max-width:none;margin-top:64px;border-top:none;}
body.residence-light-page .site-footer{background:var(--black);}

/* ============ Mobile ============ */
@media(max-width:880px){
  .site-header{padding:14px 18px;}
  .site-header .logo{font-size:19px;letter-spacing:0.5px;}
  .nav-links{display:none;}
  .header-tools{gap:14px;}
  .header-tools .search-ico{font-size:10px;letter-spacing:1.6px;}
  .subscribe-btn{font-size:10px;letter-spacing:1.4px;padding:8px 12px;}
  .grid-label,.newsletter,.site-footer,.hero-cap{padding-left:22px;padding-right:22px;}
  .home-hero{aspect-ratio:auto;height:82vh;max-height:none;}
  .home-hero-overlay{padding:32px 22px;}
  .home-grid{grid-template-columns:1fr;gap:36px;padding:48px 22px 24px;}
  .pillars{padding:24px 22px 0;}
  .pillars-grid{grid-template-columns:1fr;}
  .more-grid{grid-template-columns:1fr;gap:32px;padding:0 22px;}
  .related-grid{grid-template-columns:1fr;gap:34px;}
  .related{padding-left:22px;padding-right:22px;}
  .lead{grid-template-columns:1fr;gap:28px;padding:0 22px;}
  .card-grid{grid-template-columns:1fr;gap:34px;padding:0 22px;}
  .subfilter{padding-left:22px;padding-right:22px;}
  .author-stats{gap:36px;}
  .result{grid-template-columns:1fr;gap:16px;}
  .results{padding:0 22px;}
  .pop-grid{grid-template-columns:1fr;gap:30px;}
  .popular{padding:0 22px;}
}
