/*
Theme Name: Land Bridge Africa
Theme URI: https://landbridgeafrica.com
Author: Land Bridge Africa
Author URI: https://landbridgeafrica.com
Description: Custom one-page WordPress theme for Land Bridge Africa, an Abuja-headquartered real estate development company. Built around brand colors (deep teal, orange, cream) with sections for the company, its principles, and its featured development, Hutu Royal Polo Resort Estate. Hero copy, contact details, social links, and the featured development's images, price, and specs are all editable from the WordPress Customizer.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: landbridge-africa
*/

:root{
  --teal-deep:#062420;
  --teal:#0A332C;
  --teal-mid:#123D34;
  --olive:#4B5A23;
  --orange:#FF6A1A;
  --orange-deep:#E85A0C;
  --cream:#FAE7C4;
  --paper:#F7F4EC;
  --ink:#132420;
  --ink-soft:#3E4F49;
  --line: rgba(250,231,196,0.16);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Poppins',sans-serif;
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
.display{font-family:'Playfair Display',serif;}
.eyebrow{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:600;
}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.site-section{position:relative;}
.screen-reader-text{
  position:absolute !important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

.skyline-mark{display:inline-flex;align-items:flex-end;gap:2px;}
.skyline-mark svg{display:block;}
.brand-icon{height:34px;width:auto;display:block;flex:none;}
.hero-panel .brand-icon{height:38px;}
.brand-logo{height:46px;width:auto;display:block;}
.footer-brand .brand-logo{height:42px;}

/* ---------- NAV ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(6,36,32,0.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:1180px;margin:0 auto;padding:18px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:12px;}
.custom-logo{max-height:40px;width:auto;}
.primary-menu{display:flex;gap:38px;}
.primary-menu li{list-style:none;}
.primary-menu a{
  color:var(--cream);font-size:13.5px;font-weight:500;
  letter-spacing:.02em;opacity:.85;position:relative;padding:4px 0;
  transition:opacity .2s ease;
}
.primary-menu a:hover, .primary-menu a:focus{opacity:1;}
.primary-menu a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--orange);transition:width .25s ease;
}
.primary-menu a:hover::after, .primary-menu a:focus::after{width:100%;}
.nav-toggle{
  display:none;background:none;border:1px solid var(--line);color:var(--cream);
  padding:8px 12px;font-size:13px;cursor:pointer;
}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;border-radius:2px;
  font-size:13px;font-weight:600;letter-spacing:.03em;
  cursor:pointer;border:1px solid transparent;
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-orange{background:var(--orange);color:#1a0f00;}
.btn-orange:hover{background:var(--orange-deep);color:#1a0f00;}
.btn-outline{border-color:rgba(250,231,196,.5);color:var(--cream);}
.btn-outline:hover{border-color:var(--cream);background:rgba(250,231,196,.06);color:var(--cream);}

/* ---------- HERO ---------- */
.hero{
  background:
    radial-gradient(ellipse at 20% -10%, rgba(255,106,26,0.16), transparent 45%),
    linear-gradient(190deg, var(--teal-deep) 0%, var(--teal) 55%, var(--teal-mid) 100%);
  padding:168px 0 0;
  color:var(--cream);
  overflow:hidden;
}
.hero-inner{
  max-width:1180px;margin:0 auto;padding:0 32px 64px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;
}
.hero .eyebrow{color:var(--orange);margin-bottom:22px;display:flex;align-items:center;gap:10px;}
.hero .eyebrow::before{content:"";width:28px;height:1px;background:var(--orange);}
.hero h1{
  font-size:56px;line-height:1.08;font-weight:600;
  color:#fff;letter-spacing:-.01em;
}
.hero h1 em{
  font-style:italic;color:var(--cream);font-weight:500;
}
.hero p.lede{
  margin-top:22px;font-size:16.5px;line-height:1.75;
  color:rgba(250,244,236,.78);max-width:480px;font-weight:300;
}
.hero-ctas{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;}

.hero-stats{display:flex;gap:36px;margin-top:56px;padding-top:28px;border-top:1px solid var(--line);flex-wrap:wrap;}
.hero-stats div b{
  display:block;font-family:'Playfair Display',serif;font-size:22px;color:var(--orange);font-weight:600;
}
.hero-stats div span{font-size:11px;color:rgba(250,244,236,.6);letter-spacing:.04em;}

.hero-panel{
  justify-self:end;
  width:min(100%, 380px);
  border:1px solid var(--line);
  background:linear-gradient(160deg, rgba(250,231,196,0.05), rgba(250,231,196,0.015));
  padding:40px 32px;
}
.hero-panel .skyline-mark{margin-bottom:22px;}
.hero-panel h4{font-family:'Playfair Display',serif;font-size:19px;color:#fff;font-weight:600;line-height:1.3;}
.hero-panel p{margin-top:12px;font-size:13px;line-height:1.75;color:rgba(250,244,236,.68);font-weight:300;}
.hero-panel .panel-list{margin-top:24px;display:flex;flex-direction:column;gap:14px;}
.hero-panel .panel-list li{list-style:none;display:flex;gap:12px;align-items:flex-start;font-size:12.5px;color:rgba(250,244,236,.82);}
.hero-panel .panel-list li .dot{width:5px;height:5px;border-radius:50%;background:var(--orange);margin-top:6px;flex:none;}

.skyline-divider{width:100%;height:110px;display:block;margin-top:20px;}

/* ---------- MARQUEE PILLARS STRIP ---------- */
.pillars-strip{background:var(--orange);overflow:hidden;white-space:nowrap;padding:14px 0;}
.pillars-track{display:inline-flex;gap:0;animation:scrollTrack 26s linear infinite;}
@keyframes scrollTrack{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.pillars-track span{
  font-family:'Playfair Display',serif;font-style:italic;font-size:15px;color:#241300;
  padding:0 28px;display:inline-flex;align-items:center;gap:28px;font-weight:600;
}
.pillars-track span::after{content:"◆";font-family:'Poppins';font-style:normal;font-size:8px;opacity:.6;}

/* ---------- SECTION HEADERS ---------- */
.sec-head{max-width:640px;margin-bottom:56px;}
.sec-head .eyebrow{color:var(--orange-deep);margin-bottom:14px;}
.sec-head h2{font-size:38px;font-weight:600;line-height:1.18;color:var(--ink);}
.sec-head p{margin-top:16px;color:var(--ink-soft);font-size:15.5px;line-height:1.7;font-weight:300;}

/* ---------- ABOUT US ---------- */
.about{padding:120px 0 0;background:#fff;}
.about-copy{max-width:760px;}
.about-copy p.lede{
  font-family:'Playfair Display',serif;font-style:italic;font-size:22px;line-height:1.55;
  color:var(--teal);font-weight:500;
}
.about-copy p.body{margin-top:20px;font-size:15px;line-height:1.85;color:var(--ink-soft);font-weight:300;max-width:640px;}

.pillars{padding:80px 0 110px;background:#fff;}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(19,36,32,.1);margin-top:56px;}
.pillar-card{background:#fff;padding:38px 30px;transition:background .25s ease;}
.pillar-card:hover{background:var(--paper);}
.pillar-num{font-family:'Playfair Display',serif;font-style:italic;font-size:13px;color:var(--orange-deep);}
.pillar-icon{margin:22px 0 20px;}
.pillar-card h4{font-family:'Playfair Display',serif;font-size:21px;font-weight:600;color:var(--ink);}
.pillar-card p{margin-top:10px;font-size:13.5px;line-height:1.65;color:var(--ink-soft);font-weight:300;}

/* ---------- FEATURED DEVELOPMENT ---------- */
.featured{padding:110px 0 0;background:var(--paper);border-top:1px solid rgba(19,36,32,.08);}
.feat-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:0;border:1px solid rgba(19,36,32,.1);}
.feat-media{position:relative;background:var(--teal-deep);}
.feat-media img{height:100%;width:100%;object-fit:cover;min-height:420px;}
.feat-media .badge{
  position:absolute;top:24px;left:24px;background:rgba(6,36,32,.88);
  border:1px solid rgba(255,106,26,.4);padding:10px 16px;display:flex;align-items:center;gap:10px;
}
.feat-media .badge img{width:30px;height:30px;object-fit:contain;}
.feat-media .badge span{font-size:10px;letter-spacing:.14em;color:var(--cream);text-transform:uppercase;}
.feat-body{background:var(--teal);color:var(--cream);padding:52px 46px;display:flex;flex-direction:column;justify-content:center;}
.feat-body .eyebrow{color:var(--orange);margin-bottom:16px;}
.feat-body h3{font-family:'Playfair Display',serif;font-size:32px;font-weight:600;color:#fff;line-height:1.15;}
.feat-body .location{margin-top:8px;font-size:13px;color:rgba(250,244,236,.6);display:flex;align-items:center;gap:7px;}
.feat-body .location svg{flex:none;}
.feat-body p.desc{margin-top:20px;font-size:14.5px;line-height:1.75;color:rgba(250,244,236,.72);font-weight:300;}

.spec-row{display:flex;gap:0;margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.spec{flex:1;padding:16px 0;border-right:1px solid var(--line);}
.spec:last-child{border-right:none;}
.spec b{display:block;font-family:'Playfair Display',serif;font-size:19px;color:#fff;font-weight:600;}
.spec span{font-size:10.5px;letter-spacing:.06em;color:rgba(250,244,236,.55);text-transform:uppercase;}

.price-row{margin-top:28px;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.price-row .price{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:var(--orange);}
.price-row .price span{display:block;font-family:'Poppins',sans-serif;font-size:11px;color:rgba(250,244,236,.55);font-weight:400;letter-spacing:.04em;margin-top:2px;}
.feat-body .btn-orange{margin-top:30px;align-self:flex-start;}

.gt-list{display:flex;flex-direction:column;gap:14px;}
.gt-list li{display:flex;gap:14px;align-items:center;list-style:none;}
.gt-list li .badge-min{
  font-family:'Playfair Display',serif;font-weight:700;font-size:15px;color:var(--orange);
  border:1px solid rgba(255,106,26,.45);padding:6px 12px;min-width:64px;text-align:center;flex:none;
}
.gt-list li span.txt{font-size:13.5px;color:rgba(250,244,236,.82);}

/* ---------- CTA BAND ---------- */
.cta-band{background:linear-gradient(100deg, var(--orange-deep), var(--orange));padding:76px 0;color:#1a0f00;}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:26px;}
.cta-band h3{font-family:'Playfair Display',serif;font-size:30px;font-weight:600;max-width:560px;line-height:1.25;}
.cta-band .btn{background:#1a0f00;color:var(--cream);}
.cta-band .btn:hover{background:#0c0700;color:var(--cream);}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--teal-deep);color:rgba(250,244,236,.65);padding:70px 0 30px;position:relative;overflow:hidden;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--line);}
.footer-brand p{margin-top:18px;font-size:13px;line-height:1.75;max-width:280px;font-weight:300;}
.footer-col h5{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);margin-bottom:18px;}
.footer-col a, .footer-col p{display:block;font-size:13.5px;line-height:2.1;color:rgba(250,244,236,.62);font-weight:300;}
.footer-col a:hover{color:var(--orange);}
.footer-bottom{padding-top:26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:11.5px;color:rgba(250,244,236,.4);}
.footer-skyline{position:absolute;bottom:0;left:0;right:0;opacity:.06;pointer-events:none;}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ---------- fallback page/post content (non front-page templates) ---------- */
.page-content-wrap{padding:168px 0 100px;max-width:820px;margin:0 auto;}
.page-content-wrap h1{font-family:'Playfair Display',serif;font-size:38px;color:var(--ink);margin-bottom:24px;}
.page-content-wrap .entry-content{font-size:15.5px;line-height:1.85;color:var(--ink-soft);font-weight:300;}
.page-content-wrap .entry-content p{margin-bottom:18px;}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .primary-menu{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;background:rgba(6,36,32,0.98);
    border-bottom:1px solid var(--line);padding:8px 32px 18px;
  }
  .primary-menu.is-open{display:flex;}
  .primary-menu li{padding:10px 0;border-bottom:1px solid var(--line);}
  .primary-menu li:last-child{border-bottom:none;}
  .nav-toggle{display:inline-flex;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-panel{justify-self:start;margin-top:40px;width:100%;max-width:380px;}
  .hero h1{font-size:40px;}
  .feat-grid{grid-template-columns:1fr;}
  .feat-media img{min-height:280px;}
  .pillars-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .wrap, .hero-inner{padding-left:20px;padding-right:20px;}
  .hero{padding-top:140px;}
  .hero h1{font-size:32px;}
  .hero-stats{flex-wrap:wrap;gap:24px;}
  .pillars-grid{grid-template-columns:1fr;}
  .spec-row{flex-direction:column;}
  .spec{border-right:none;border-bottom:1px solid var(--line);}
  .footer-grid{grid-template-columns:1fr;}
  .sec-head h2{font-size:28px;}
  .cta-band h3{font-size:24px;}
  .about-copy p.lede{font-size:19px;}
}

:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}
