/*
Theme Name: Carera Life Australia
Theme URI: https://carearalifeaustralia.com.au
Author: TrueServe Digital
Description: Custom theme for Carera Life Australia, a registered NDIS / disability care provider servicing NSW and regional NSW.
Version: 1.0
Text Domain: carera-life
*/

:root{
  --indigo:#4B2E83;
  --indigo-deep:#3A2266;
  --coral:#FF6F59;
  --gold:#FFC857;
  --teal:#2EC4B6;
  --cloud:#FAF7F2;
  --ink:#241B33;
  --font-display:'Poppins', 'Segoe UI', sans-serif;
  --font-body:'Inter', 'Segoe UI', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:var(--font-body); background:var(--cloud); color:var(--ink); line-height:1.65;}
a{color:inherit; text-decoration:none;}
svg,img{display:block; max-width:100%;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
h1,h2,h3,h4{font-family:var(--font-display); margin:0 0 .5em; line-height:1.15; font-weight:700;}
.eyebrow{font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.74rem; font-family:var(--font-body);}

@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }

/* ===== Logo: community circle cluster ===== */
.logo-mark{display:flex; align-items:center; gap:12px;}
.logo-mark .wordmark{font-family:var(--font-display); font-weight:700; font-size:1.18rem; letter-spacing:-.01em;}
.logo-mark.on-dark .wordmark{color:var(--cloud);}
.logo-mark:not(.on-dark) .wordmark{color:var(--indigo);}
.logo-svg{width:46px; height:40px;}

/* ===== Header ===== */
.site-header{position:sticky; top:0; z-index:60; background:rgba(75,46,131,.96); backdrop-filter:blur(8px);}
.nav-row{display:flex; align-items:center; justify-content:space-between; padding:16px 28px; gap:20px;}
.main-nav ul{display:flex; gap:26px; list-style:none; margin:0; padding:0; font-size:.88rem; font-weight:500; color:var(--cloud);}
.main-nav a{opacity:.88; transition:opacity .15s;}
.main-nav a:hover{opacity:1; color:var(--gold);}
.nav-cta{background:var(--coral); color:#fff; padding:11px 22px; border-radius:24px; font-weight:700; font-size:.84rem; white-space:nowrap;}
.nav-cta:hover{background:var(--gold); color:var(--indigo-deep);}
.menu-toggle{display:none; background:none; border:none; font-size:1.6rem; cursor:pointer; color:var(--cloud);}
@media (max-width:880px){
  .main-nav ul{position:fixed; top:64px; left:0; right:0; background:var(--indigo-deep); flex-direction:column; gap:0; max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .main-nav ul.open{max-height:340px;}
  .main-nav ul li{border-top:1px solid rgba(250,247,242,.1);}
  .main-nav ul li a{display:block; padding:16px 28px;}
  .nav-cta{display:none;}
  .menu-toggle{display:block;}
}

/* ===== Hero ===== */
.hero{background:linear-gradient(150deg, var(--indigo), var(--indigo-deep)); color:var(--cloud); padding:70px 0 0; position:relative; overflow:hidden;}
.hero::after{
  content:""; position:absolute; right:-12%; top:-15%; width:60%; height:140%;
  background:radial-gradient(circle, rgba(255,200,87,.18), transparent 60%);
  pointer-events:none;
}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center; padding-bottom:60px; position:relative;}
@media (max-width:920px){.hero-grid{grid-template-columns:1fr;}}
.hero h1{font-size:clamp(2.3rem,4.4vw,3.5rem); font-weight:700;}
.hero h1 .accent{color:var(--gold);}
.hero p.lede{font-size:1.1rem; max-width:460px; opacity:.9; margin-bottom:28px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.btn{display:inline-flex; align-items:center; gap:8px; padding:14px 26px; font-weight:700; font-size:.92rem; border-radius:26px; transition:transform .15s ease, background .15s;}
.btn-primary{background:var(--coral); color:#fff;}
.btn-primary:hover{background:var(--gold); color:var(--indigo-deep); transform:translateY(-2px);}
.btn-ghost{border:1.5px solid var(--cloud); color:var(--cloud);}
.btn-ghost:hover{background:var(--cloud); color:var(--indigo);}

.hero-cluster{position:relative; aspect-ratio:1/1; max-width:380px; margin:0 auto; display:flex; align-items:center; justify-content:center;}
.hero-cluster svg{width:95%;}

.stat-row{display:flex; gap:44px; flex-wrap:wrap; padding:30px 0 48px; border-top:1px solid rgba(250,247,242,.15);}
.stat .num{font-family:var(--font-display); font-size:1.7rem; color:var(--gold); display:block; font-weight:700;}
.stat .label{font-size:.78rem; opacity:.78; max-width:170px;}

/* ===== Sections ===== */
section{padding:80px 0;}
.section-head{max-width:620px; margin-bottom:46px;}
.section-head .eyebrow{color:var(--coral);}
.section-head h2{font-size:clamp(1.8rem,3vw,2.4rem); color:var(--indigo);}

/* Services — icon circle cards */
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:900px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:580px){.services-grid{grid-template-columns:1fr;}}
.service-card{background:#fff; border-radius:20px; padding:32px 26px; box-shadow:0 10px 30px -18px rgba(36,27,51,.25); transition:transform .2s ease;}
.service-card:hover{transform:translateY(-5px);}
.icon-circle{width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
.icon-circle svg{width:28px; height:28px;}
.service-card h3{font-size:1.12rem; margin-bottom:8px; color:var(--indigo);}
.service-card p{font-size:.92rem; color:#4a4256; margin:0;}

/* Why us band */
.why-band{background:var(--ink); color:var(--cloud);}
.why-band .section-head h2{color:var(--cloud);}
.why-band .section-head .eyebrow{color:var(--gold);}
.why-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
@media (max-width:900px){.why-grid{grid-template-columns:1fr;}}
.vitals{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.vital-card{background:rgba(250,247,242,.05); border:1px solid rgba(250,247,242,.12); padding:22px; border-radius:16px;}
.vital-card .num{font-family:var(--font-display); font-size:1.9rem; color:var(--teal); font-weight:700;}
.vital-card .label{font-size:.78rem; opacity:.78; margin-top:4px;}
.why-band p{opacity:.88;}

/* Coverage */
.coverage-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
@media (max-width:900px){.coverage-grid{grid-template-columns:1fr;}}
.region-tags{display:flex; flex-wrap:wrap; gap:10px;}
.region-tag{border:1px solid rgba(75,46,131,.25); background:#fff; padding:8px 16px; border-radius:24px; font-size:.82rem; font-weight:600; color:var(--indigo);}

/* Testimonials */
.quote-block{max-width:760px; margin:0 auto; text-align:center;}
.quote-block blockquote{font-family:var(--font-display); font-size:clamp(1.3rem,2.4vw,1.8rem); color:var(--indigo); margin:0 0 22px; line-height:1.45; font-weight:600;}
.quote-meta{font-weight:700; font-size:.9rem; color:var(--coral);}
.quote-dots{display:flex; justify-content:center; gap:8px; margin-top:32px;}
.quote-dots button{width:9px; height:9px; border-radius:50%; border:none; background:#ddd3c8; cursor:pointer; padding:0;}
.quote-dots button.active{background:var(--coral);}
.placeholder-note{font-size:.78rem; color:#9c93a8; margin-top:24px;}

/* FAQ */
.faq-item{border-bottom:1px solid rgba(75,46,131,.15);}
.faq-q{width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:20px 0; font-family:var(--font-body); font-weight:600; font-size:1.02rem; display:flex; justify-content:space-between; align-items:center; color:var(--indigo);}
.faq-q .plus{transition:transform .25s ease; color:var(--coral); font-size:1.3rem; font-weight:400;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease; font-size:.92rem; color:#4a4256;}
.faq-a-inner{padding-bottom:18px; max-width:680px;}

/* CTA band */
.cta-band{background:var(--coral); color:#fff; text-align:center; border-radius:28px; margin:0 28px; padding:60px 30px;}
.cta-band h2{color:#fff;}
.cta-band .btn-primary{background:var(--indigo); color:var(--cloud);}
.cta-band .btn-primary:hover{background:var(--cloud); color:var(--indigo);}

/* Contact */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start;}
@media (max-width:880px){.contact-grid{grid-template-columns:1fr;}}
.lead-form{background:#fff; border:1px solid rgba(75,46,131,.12); border-radius:20px; padding:30px; display:grid; gap:15px;}
.lead-form label{font-size:.8rem; font-weight:700; color:var(--indigo); display:block; margin-bottom:5px;}
.lead-form input, .lead-form textarea, .lead-form select{width:100%; padding:12px 14px; border-radius:10px; border:1px solid rgba(75,46,131,.18); font-family:var(--font-body); font-size:.92rem; background:var(--cloud);}
.lead-form .btn-primary{justify-content:center; width:100%; border:none; cursor:pointer;}
.form-note{font-size:.78rem; color:#9c93a8;}
.contact-info p{font-size:.94rem; margin:0 0 10px;}
.contact-info strong{color:var(--indigo);}

/* Footer */
.site-footer{background:var(--indigo-deep); color:#cfc4e0; padding:56px 0 28px; font-size:.87rem;}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px;}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
.site-footer h4{color:var(--cloud); font-size:.84rem; margin-bottom:14px; text-transform:uppercase; letter-spacing:.06em; font-weight:700;}
.site-footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
.site-footer a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(250,247,242,.1); margin-top:36px; padding-top:18px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.76rem; color:#9486a8;}

.ndis-badge{display:inline-flex; align-items:center; gap:8px; background:rgba(46,196,182,.15); border:1px solid rgba(46,196,182,.4); color:var(--teal); padding:8px 16px; border-radius:24px; font-size:.78rem; font-weight:700;}
