/*
Theme Name: Aspira Property Solutions
Theme URI: https://example.com/
Author: Aspira Property Solutions CIC
Description: A responsive public-sector property, housing and community solutions theme for Aspira Property Solutions CIC. Includes automatic creation of key pages and navigation on activation.
Version: 1.1.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: aspira-property-solutions
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{
  --navy:#071b34;
  --navy-2:#0d2a4f;
  --blue:#6386b0;
  --gold:#c8a35d;
  --gold-dark:#9d7838;
  --ink:#17243a;
  --muted:#64748b;
  --line:#e5eaf0;
  --soft:#f6f7f8;
  --white:#fff;
  --shadow:0 14px 40px rgba(8,28,52,.10);
  --radius:18px;
  --radius-sm:12px;
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--gold-dark)}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-main{min-height:60vh}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);font-weight:800;margin:0 0 12px}
h1,h2,h3,h4{color:var(--navy);line-height:1.15;margin-top:0}
h1,h2{font-family:Georgia,"Times New Roman",serif}
h1{font-size:clamp(2.7rem,6vw,5.2rem);letter-spacing:-.025em}
h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.02em}
h3{font-size:1.18rem}
p{margin:0 0 1rem}
.section{padding:88px 0}
.section--soft{background:var(--soft)}
.section--navy{background:var(--navy);color:#fff}
.section--navy h2,.section--navy h3{color:#fff}
.section-intro{max-width:760px;margin-bottom:38px}

/* Header */
.topbar{background:var(--navy);color:#dbe6f3;font-size:.82rem}
.topbar__inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.topbar__group{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.topbar a:hover{color:#fff}
.site-header{background:#fff;border-bottom:1px solid rgba(7,27,52,.08);position:sticky;top:0;z-index:1000}
.header__inner{height:92px;display:flex;align-items:center;gap:28px}
.brand,.custom-logo-link{display:flex;align-items:center;margin-right:auto;min-width:220px}
.brand img,.custom-logo-link img{width:210px;max-height:66px;object-fit:contain;object-position:left center}
.main-nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;align-items:center}
.main-nav li{position:relative}
.main-nav a{font-size:.95rem;font-weight:650;color:var(--navy);padding:34px 0;display:block}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--gold-dark)}
.header-cta{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:#fff!important;border-radius:4px;padding:13px 19px;font-weight:800;font-size:.9rem;white-space:nowrap}
.header-cta:hover{background:var(--gold-dark)}
.mobile-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.mobile-toggle span{display:block;width:26px;height:2px;background:var(--navy);margin:5px 0}

/* Hero */
.hero{position:relative;min-height:650px;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--navy)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(4,20,40,.96) 0%,rgba(4,20,40,.83) 40%,rgba(4,20,40,.25) 72%,rgba(4,20,40,.08) 100%),url('https://upload.wikimedia.org/wikipedia/commons/5/55/Trent_Bridge_View_apartments_-_geograph.org.uk_-_8323907.jpg');background-size:cover;background-position:center 45%;transform:scale(1.015)}
.hero__content{position:relative;z-index:2;max-width:770px;padding:88px 0}
.hero h1{color:#fff;margin-bottom:20px}
.hero h1 span{color:var(--gold)}
.hero__lead{font-size:1.15rem;max-width:700px;color:#eef4fb;margin-bottom:30px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:4px;padding:14px 22px;font-weight:800;transition:.2s ease;border:1px solid transparent;cursor:pointer}
.btn--gold{background:var(--gold);color:#fff}
.btn--gold:hover{background:var(--gold-dark);color:#fff}
.btn--outline{border-color:rgba(255,255,255,.7);color:#fff;background:transparent}
.btn--outline:hover{background:#fff;color:var(--navy)}
.btn--navy{background:var(--navy);color:#fff}.btn--navy:hover{background:var(--navy-2);color:#fff}
.btn--light{background:#fff;color:var(--navy)}
.hero-points{background:var(--navy);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.hero-points__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.hero-point{display:flex;gap:15px;align-items:center;padding:27px 20px;border-right:1px solid rgba(255,255,255,.14)}
.hero-point:first-child{padding-left:0}.hero-point:last-child{border-right:0;padding-right:0}
.hero-point__icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:1.25rem;flex:0 0 auto}
.hero-point strong{color:var(--gold);display:block;font-size:.92rem}.hero-point small{display:block;color:#d2deea;line-height:1.35;margin-top:3px}

/* Cards */
.service-layout{display:grid;grid-template-columns:.9fr 2fr;gap:54px;align-items:start}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:24px;display:flex;gap:16px;min-height:140px;transition:.25s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d3dce6;color:inherit}
.service-card__icon{width:44px;height:44px;border-radius:10px;background:#eef3f8;color:var(--navy);display:grid;place-items:center;font-size:1.15rem;flex:0 0 auto}
.service-card h3{margin:0 0 8px;font-size:1.03rem}.service-card p{font-size:.9rem;color:var(--muted);margin:0}

/* Stats */
.impact-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.impact-stat{text-align:center;padding:34px 24px;border-right:1px solid var(--line)}
.impact-stat:last-child{border-right:0}.impact-stat__value{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:2.1rem;font-weight:700;display:block}.impact-stat__label{font-size:.92rem;color:var(--muted)}

/* Split sections */
.split{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center}
.photo-card{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);min-height:460px;background-size:cover;background-position:center}
.photo-card--uk-homes{background-image:url('https://upload.wikimedia.org/wikipedia/commons/3/36/Modern_housing_-_UK_style_-_geograph.org.uk_-_3856732.jpg')}
.photo-card--apartments{background-image:url('https://upload.wikimedia.org/wikipedia/commons/b/b9/Modern_housing_development_by_the_Great_Stour_-_geograph.org.uk_-_7422536.jpg')}
.check-list{list-style:none;padding:0;margin:24px 0}.check-list li{position:relative;padding:9px 0 9px 32px}.check-list li::before{content:"✓";position:absolute;left:0;top:9px;width:21px;height:21px;border-radius:50%;background:#eef5ee;color:#2f6b37;display:grid;place-items:center;font-weight:900;font-size:.8rem}

/* Page heroes */
.page-hero{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;padding:88px 0 76px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-120px;top:-180px;width:480px;height:480px;border-radius:50%;border:1px solid rgba(255,255,255,.1)}
.page-hero h1{font-size:clamp(2.6rem,5vw,4.6rem);color:#fff;margin-bottom:18px}.page-hero p{max-width:760px;color:#dfeaf5;font-size:1.08rem}
.breadcrumb{font-size:.82rem;color:#b9c8da;margin-bottom:22px}.breadcrumb a{color:#fff}

/* Service detail */
.service-section{scroll-margin-top:120px;border-bottom:1px solid var(--line);padding:56px 0}.service-section:last-child{border-bottom:0}
.service-detail{display:grid;grid-template-columns:230px 1fr;gap:42px}.service-number{font-family:Georgia,"Times New Roman",serif;font-size:4rem;color:#d9e1ea;line-height:1}.service-copy h2{font-size:2.2rem}.service-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:#edf2f7;color:var(--navy);font-size:.78rem;font-weight:750}

/* Partner cards */
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.partner-card{padding:30px;border-radius:var(--radius);border:1px solid var(--line);background:#fff}.partner-card h3{font-size:1.25rem}.partner-card p{color:var(--muted)}

/* Forms */
.form-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field--full{grid-column:1/-1}.field label{display:block;font-size:.84rem;font-weight:800;color:var(--navy);margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd8e3;border-radius:8px;padding:13px 14px;background:#fff;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(99,134,176,.15);border-color:var(--blue)}.notice{padding:14px 16px;border-radius:8px;margin-bottom:20px}.notice--success{background:#ecf8ef;color:#225b2c}.notice--error{background:#fff0f0;color:#8a2424}.hp-field{position:absolute!important;left:-9999px!important}

/* News */
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.post-card__body{padding:25px}.post-card__meta{font-size:.8rem;color:var(--gold-dark);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.post-card h2{font-family:inherit;font-size:1.35rem;margin:10px 0}.post-card p{color:var(--muted)}
.entry-content{max-width:860px;margin:0 auto}.entry-content>*:first-child{margin-top:0}.entry-content h2,.entry-content h3{margin-top:2em}.entry-content a{text-decoration:underline;color:var(--navy-2)}

/* CTA */
.cta-band{background:linear-gradient(120deg,var(--navy),#12375f);color:#fff;border-radius:24px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{color:#fff;margin-bottom:10px;font-size:2.3rem}.cta-band p{color:#dbe7f2;max-width:700px;margin:0}

/* Footer */
.site-footer{background:#041326;color:#cbd7e4;margin-top:0}.footer-main{padding:66px 0 44px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:46px}.footer-brand img{width:220px;filter:brightness(0) invert(1);opacity:.94;margin-bottom:20px}.footer-main h3{color:#fff;font-family:inherit;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin:9px 0}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;font-size:.78rem;color:#9fb0c2;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.image-credit{font-size:.72rem;color:#8195a9;margin-top:14px}.image-credit a{text-decoration:underline}

/* 404 */
.not-found{text-align:center;padding:120px 0}.not-found__code{font-family:Georgia,"Times New Roman",serif;font-size:7rem;line-height:1;color:#dde5ed}

/* Responsive */
@media(max-width:1050px){
  .main-nav ul{gap:18px}.main-nav a{font-size:.88rem}.header-cta{display:none}
  .service-layout,.split{grid-template-columns:1fr}.service-layout{gap:32px}.photo-card{min-height:400px}.partner-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .topbar{display:none}.site-header{top:0}.header__inner{height:76px}.brand img,.custom-logo-link img{width:170px;max-height:56px}.mobile-toggle{display:block}.main-nav{position:absolute;left:0;right:0;top:76px;background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 30px rgba(8,28,52,.12);display:none}.main-nav.is-open{display:block}.main-nav ul{display:block;padding:10px 24px 20px}.main-nav a{padding:13px 0;border-bottom:1px solid #eef1f4}.hero{min-height:590px}.hero::before{background-image:linear-gradient(90deg,rgba(4,20,40,.96),rgba(4,20,40,.72)),url('https://upload.wikimedia.org/wikipedia/commons/5/55/Trent_Bridge_View_apartments_-_geograph.org.uk_-_8323907.jpg')}.hero-points__grid{grid-template-columns:1fr 1fr}.hero-point:nth-child(2){border-right:0}.hero-point:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}.impact-strip{grid-template-columns:1fr 1fr}.impact-stat:nth-child(2){border-right:0}.impact-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.partner-grid,.posts-grid{grid-template-columns:1fr 1fr}.service-detail{grid-template-columns:1fr;gap:10px}.service-number{font-size:2.2rem}.footer-main{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}
}
@media(max-width:560px){
  .container{width:min(calc(100% - 28px),var(--max))}.section{padding:64px 0}.hero__content{padding:70px 0}.hero h1{font-size:2.7rem}.hero__lead{font-size:1rem}.hero-points__grid{grid-template-columns:1fr}.hero-point{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;padding-left:0}.hero-point:last-child{border-bottom:0!important}.services-grid,.partner-grid,.posts-grid,.impact-strip{grid-template-columns:1fr}.impact-stat{border-right:0;border-bottom:1px solid var(--line)!important}.impact-stat:last-child{border-bottom:0!important}.footer-main{grid-template-columns:1fr}.cta-band{padding:34px 26px;display:block}.cta-band .btn{margin-top:24px}.actions .btn{width:100%}.photo-card{min-height:320px}
}
