/* ============================================
   Elvana Care — stylesheet
   Design note: base type is larger than a typical
   marketing site (18px) because a meaningful share
   of visitors — older Australians and people who
   support them — read more comfortably at size.
   The A / A+ / A++ control in the header scales
   everything via the --scale variable below.
   ============================================ */

:root{
  --twilight:#3A4E6B;
  --twilight-deep:#233247;
  --twilight-ink:#1C2635;
  --silver:#DCE3EA;
  --silver-deep:#B9C4D1;
  --gold:#D9A24B;
  --gold-deep:#B87F2E;
  --gold-pale:#F3DFB9;
  --sage:#7C9A82;
  --paper:#FBF7F0;
  --paper-deep:#F3ECDF;
  --ink:#26303D;
  --ink-soft:#4B5563;
  --white:#FFFFFF;
  --max-w:1140px;
  --radius:18px;
  --scale:1;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
html[data-size="lg"]{--scale:1.12;}
html[data-size="xl"]{--scale:1.26;}

body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  font-size:calc(18px * var(--scale));
}
h1,h2,h3,.brand,.step .num,.eyebrow,.eyebrow-dark{font-family:'Nunito',system-ui,sans-serif;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 24px;}
ul{list-style:none;}

/* Inline text links (inside paragraphs / FAQ answers) keep an underline for affordance */
.text-link{text-decoration:underline;text-underline-offset:3px;color:var(--twilight);font-weight:700;}
.text-link:hover{color:var(--twilight-deep);}

/* Skip link */
.skip-link{
  position:absolute;left:-999px;top:auto;
  background:var(--twilight-deep);color:var(--white);
  padding:14px 22px;border-radius:0 0 10px 0;font-weight:700;z-index:200;
}
.skip-link:focus{left:0;top:0;}

/* Focus visibility */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--gold-deep);outline-offset:3px;border-radius:4px;
}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:calc(16px * var(--scale));
  padding:14px 28px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;
  line-height:1.2;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--gold);color:var(--twilight-ink);}
.btn-primary:hover{box-shadow:0 12px 26px rgba(217,162,75,.4);}
.btn-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.6);}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-ghost{background:transparent;color:var(--twilight);border-color:var(--twilight);}
.btn-ghost:hover{background:var(--twilight);color:var(--white);}
.btn-block{width:100%;}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:80;
  background:rgba(251,247,240,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(38,48,61,.09);
}
.nav.wrap{max-width:1320px;}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:16px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:calc(21px * var(--scale));color:var(--twilight);flex-shrink:0;}
.brand .mark{width:30px;height:auto;flex-shrink:0;}
.nav-links{display:flex;align-items:center;gap:22px;font-weight:700;font-size:calc(15px * var(--scale));flex-shrink:0;}
.nav-links a{opacity:.82;transition:opacity .15s;white-space:nowrap;}
.nav-links a:hover{opacity:1;}
.nav-utility{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0;}
.text-size{display:flex;align-items:center;gap:4px;border:1px solid var(--silver-deep);border-radius:999px;padding:3px;}
.text-size button{
  background:none;border:none;cursor:pointer;font-family:'Nunito',sans-serif;font-weight:800;
  color:var(--twilight);padding:6px 10px;border-radius:999px;font-size:14px;line-height:1;
}
.text-size button[aria-pressed="true"]{background:var(--twilight);color:var(--white);}
.nav-phone{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--twilight);white-space:nowrap;}
.nav-phone svg{width:18px;height:18px;flex-shrink:0;}
.menu-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--twilight);}
.mobile-panel{display:none;flex-direction:column;gap:2px;padding:8px 24px 20px;border-top:1px solid rgba(38,48,61,.08);}
.mobile-panel a{display:block;padding:12px 4px;font-weight:700;border-bottom:1px solid rgba(38,48,61,.06);}
.mobile-panel.open{display:flex;}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:radial-gradient(120% 140% at 85% -10%, #4A6083 0%, var(--twilight) 40%, var(--twilight-deep) 78%, var(--twilight-ink) 100%);
  color:var(--white);padding:88px 24px 96px;
}
.hero .wrap{position:relative;z-index:2;}
.hero-stars{position:absolute;inset:0;z-index:1;opacity:.5;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.hero-art{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 60px -20px rgba(12,17,26,.5);}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  font-size:calc(13px * var(--scale));color:var(--gold-pale);background:rgba(217,162,75,.16);
  padding:7px 16px;border-radius:999px;margin-bottom:24px;
}
.hero h1{font-size:calc(clamp(32px,4.8vw,52px) * var(--scale));font-weight:800;line-height:1.16;max-width:740px;}
.hero p.lead{font-size:calc(19px * var(--scale));max-width:580px;margin:22px 0 34px;color:rgba(255,255,255,.9);}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:48px;}
.hero-trust{display:flex;flex-wrap:wrap;gap:16px 30px;padding-top:30px;border-top:1px solid rgba(255,255,255,.18);}
.trust-item{display:flex;align-items:center;gap:10px;font-size:calc(14.5px * var(--scale));font-weight:700;color:rgba(255,255,255,.92);}
.trust-item svg{width:20px;height:20px;flex-shrink:0;color:var(--gold);}

/* ---------- Generic sections ---------- */
section{padding:84px 24px;}
.section-head{max-width:660px;margin-bottom:52px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.eyebrow-dark{
  font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:calc(13px * var(--scale));
  color:var(--gold-deep);margin-bottom:12px;display:block;
}
.section-head h2{font-size:calc(clamp(25px,3.2vw,34px) * var(--scale));font-weight:800;color:var(--twilight-deep);line-height:1.28;}
.section-head p{margin-top:14px;color:var(--ink-soft);font-size:calc(17px * var(--scale));}

/* ---------- Differentiators ---------- */
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.diff-card{background:var(--white);border:1px solid rgba(38,48,61,.08);border-radius:var(--radius);padding:28px 24px;}
.diff-card .ic{width:44px;height:44px;border-radius:12px;background:var(--paper-deep);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.diff-card .ic svg{width:22px;height:22px;color:var(--gold-deep);}
.diff-card h3{font-size:calc(17px * var(--scale));font-weight:800;color:var(--twilight-deep);margin-bottom:8px;}
.diff-card p{font-size:calc(14.5px * var(--scale));color:var(--ink-soft);}

/* ---------- For families doing the research ---------- */
.families{background:var(--paper-deep);}
.families-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;}
.families-photo{border-radius:var(--radius);overflow:hidden;margin-bottom:20px;aspect-ratio:4/3;}
.families-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.families-intro h2{font-size:calc(clamp(24px,3vw,32px) * var(--scale));font-weight:800;color:var(--twilight-deep);line-height:1.3;margin:10px 0 16px;}
.families-intro p{color:var(--ink-soft);font-size:calc(16px * var(--scale));}
.family-tips{display:flex;flex-direction:column;gap:20px;}
.family-tips li{background:var(--white);border-left:4px solid var(--gold);border-radius:0 14px 14px 0;padding:18px 22px;}
.family-tips h3{font-size:calc(16px * var(--scale));font-weight:800;color:var(--twilight-deep);margin-bottom:6px;}
.family-tips p{font-size:calc(14.5px * var(--scale));color:var(--ink-soft);}

/* ---------- Services ---------- */
.services{background:var(--white);}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.service-card{
  background:var(--paper);border:1px solid rgba(38,48,61,.08);border-radius:var(--radius);
  overflow:hidden;transition:border-color .2s, transform .2s;
}
.service-card:hover{border-color:var(--gold);transform:translateY(-4px);}
.service-image{width:100%;height:190px;overflow:hidden;background:var(--paper-deep);}
.service-image img{width:100%;height:100%;object-fit:cover;display:block;}
.service-body{padding:24px 26px 28px;}
.service-icon{
  width:50px;height:50px;border-radius:13px;background:rgba(58,78,107,.09);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.service-icon svg{width:24px;height:24px;color:var(--twilight);}
.service-card h3{font-size:calc(18.5px * var(--scale));font-weight:800;color:var(--twilight-deep);margin-bottom:9px;}
.service-card p{font-size:calc(15px * var(--scale));color:var(--ink-soft);}

/* ---------- Funding ---------- */
.funding{background:var(--paper-deep);}
.funding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-bottom:36px;}
.funding-card{background:var(--white);border-radius:var(--radius);padding:30px 26px;border-top:5px solid var(--gold);}
.funding-card h3{font-size:calc(18px * var(--scale));font-weight:800;color:var(--twilight-deep);margin-bottom:10px;}
.funding-card p{font-size:calc(15px * var(--scale));color:var(--ink-soft);margin-bottom:0;}
.funding-note{
  display:flex;gap:14px;align-items:flex-start;background:var(--white);border-radius:14px;
  padding:20px 22px;border:1px dashed var(--gold-deep);
}
.funding-note svg{width:22px;height:22px;color:var(--gold-deep);flex-shrink:0;margin-top:2px;}
.funding-note p{font-size:calc(15px * var(--scale));color:var(--ink-soft);}
.funding-note strong{color:var(--twilight-deep);}

/* ---------- How it works ---------- */
.how{background:var(--twilight-deep);color:var(--white);}
.how .section-head h2{color:var(--white);}
.how .section-head p{color:rgba(255,255,255,.78);}
.how .eyebrow-dark{color:var(--gold);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.step{position:relative;padding-top:6px;}
.step .num{
  font-weight:800;font-size:calc(15px * var(--scale));
  color:var(--twilight-ink);background:var(--gold);width:36px;height:36px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.step h3{font-size:calc(17px * var(--scale));font-weight:800;margin-bottom:8px;}
.step p{font-size:calc(14.5px * var(--scale));color:rgba(255,255,255,.78);}

/* ---------- About ---------- */
.about{background:var(--white);}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;}
.about-copy h2{font-size:calc(clamp(25px,3.2vw,32px) * var(--scale));font-weight:800;color:var(--twilight-deep);line-height:1.32;margin-bottom:20px;}
.about-copy p{color:var(--ink-soft);margin-bottom:16px;font-size:calc(16.5px * var(--scale));}
.about-copy .signoff{font-weight:800;color:var(--twilight);margin-top:22px;}
.about-panel{
  background:linear-gradient(155deg,rgba(58,78,107,.68) 0%,rgba(35,50,71,.8) 100%),
    url('https://images.unsplash.com/photo-1758691031036-5b7b635e30b8?w=700&h=700&fit=crop&auto=format') center/cover;
  border-radius:24px;padding:44px;color:var(--white);position:relative;overflow:hidden;
}
.about-panel .crescent-small{position:absolute;right:-26px;bottom:-26px;width:170px;opacity:.18;}
.about-panel h3{font-size:calc(14px * var(--scale));text-transform:uppercase;letter-spacing:.06em;color:var(--gold);font-weight:800;margin-bottom:16px;}
.meaning{font-size:calc(23px * var(--scale));font-weight:800;line-height:1.4;margin-bottom:14px;position:relative;z-index:2;}
.about-panel p.small{font-size:calc(14.5px * var(--scale));color:rgba(255,255,255,.82);position:relative;z-index:2;}

/* ---------- Questions worth asking ---------- */
.questions{background:var(--twilight-deep);color:var(--white);}
.questions .section-head h2{color:var(--white);}
.questions .section-head p{color:rgba(255,255,255,.78);}
.questions .eyebrow-dark{color:var(--gold);}
.question-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.question-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:26px 24px;}
.question-card h3{font-size:calc(16.5px * var(--scale));font-weight:800;margin-bottom:10px;}
.question-card p{font-size:calc(14.5px * var(--scale));color:rgba(255,255,255,.78);}
.question-card .text-link{color:var(--gold-pale);}
.question-card .text-link:hover{color:var(--gold);}

/* ---------- FAQ ---------- */
.faq{background:var(--paper-deep);}
.faq-list{max-width:760px;}
.faq-item{background:var(--white);border-radius:14px;margin-bottom:14px;overflow:hidden;border:1px solid rgba(38,48,61,.08);}
.faq-item summary{
  cursor:pointer;list-style:none;padding:20px 24px;font-weight:800;color:var(--twilight-deep);
  font-size:calc(16.5px * var(--scale));display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .chev{width:20px;height:20px;flex-shrink:0;color:var(--gold-deep);transition:transform .2s;}
.faq-item[open] summary .chev{transform:rotate(180deg);}
.faq-item .faq-a{padding:0 24px 22px;color:var(--ink-soft);font-size:calc(15.5px * var(--scale));max-width:640px;}

/* ---------- Register ---------- */
.register{background:var(--white);}
.register-panel{max-width:760px;margin:0 auto;}
.jotform-embed{
  background:var(--paper-deep);border-radius:var(--radius);padding:4px;
  border:1px solid rgba(38,48,61,.08);overflow-y:auto;overflow-x:hidden;
  max-height:70vh;
}
.jotform-embed iframe{display:block;width:100%;border-radius:14px;}
.register-note{text-align:center;margin-top:16px;font-size:calc(14px * var(--scale));color:var(--ink-soft);}
.register-note a{color:var(--twilight);font-weight:700;text-decoration:underline;}

/* ---------- Service area ---------- */
.area{background:var(--twilight-ink);color:var(--white);text-align:center;}
.area h2{font-size:calc(clamp(24px,3vw,32px) * var(--scale));font-weight:800;margin-bottom:16px;}
.area p{color:rgba(255,255,255,.82);max-width:580px;margin:0 auto 32px;font-size:calc(16.5px * var(--scale));}
.area-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.chip{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);padding:9px 18px;border-radius:999px;font-size:calc(14px * var(--scale));font-weight:700;}

/* ---------- Contact ---------- */
.contact{background:var(--gold);color:var(--twilight-ink);}
.contact-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;}
.contact h2{font-size:calc(clamp(25px,3.4vw,36px) * var(--scale));font-weight:800;line-height:1.28;margin-bottom:18px;}
.contact > .wrap > .contact-inner > div:first-child p{font-size:calc(17px * var(--scale));color:rgba(28,38,53,.85);max-width:480px;}
.contact-panels{display:flex;flex-direction:column;gap:24px;}
.contact-card{background:var(--white);border-radius:20px;padding:34px;box-shadow:0 20px 50px rgba(28,38,53,.15);}
.contact-card h3{font-size:calc(14.5px * var(--scale));text-transform:uppercase;letter-spacing:.05em;color:var(--twilight);font-weight:800;margin-bottom:18px;}
.contact-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(38,48,61,.08);}
.contact-row:last-child{border-bottom:none;}
.contact-row svg{width:20px;height:20px;color:var(--gold-deep);flex-shrink:0;}
.contact-row .label{font-size:calc(13px * var(--scale));color:var(--ink-soft);}
.contact-row .value{font-weight:800;color:var(--ink);font-size:calc(16px * var(--scale));}

/* ---------- Inquiry form ---------- */
.inquiry-form{display:flex;flex-direction:column;gap:16px;}
.form-row{display:flex;flex-direction:column;gap:6px;}
.form-row label{font-size:calc(13.5px * var(--scale));font-weight:700;color:var(--twilight-deep);}
.form-row input,.form-row textarea{
  font-family:inherit;font-size:calc(15.5px * var(--scale));color:var(--ink);
  padding:12px 14px;border-radius:10px;border:1px solid rgba(38,48,61,.18);
  background:var(--paper);resize:vertical;
}
.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--twilight);background:var(--white);}
.inquiry-form .btn{margin-top:4px;}
.form-status{font-size:calc(14px * var(--scale));font-weight:700;min-height:1.4em;}
.form-status.success{color:var(--sage);}
.form-status.error{color:#B84B3E;}
.inquiry-form button[disabled]{opacity:.6;cursor:not-allowed;transform:none;}

/* ---------- Footer ---------- */
footer{background:var(--twilight-ink);color:rgba(255,255,255,.72);padding:44px 24px 96px;}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:center;}
.footer-brand{display:flex;align-items:center;gap:10px;color:var(--white);font-weight:800;font-size:calc(18px * var(--scale));}
.footer-brand .mark{width:24px;height:auto;}
.footer-links{display:flex;gap:24px;font-size:calc(14px * var(--scale));font-weight:600;}
.footer-links a{opacity:.75;transition:opacity .15s;}
.footer-links a:hover{opacity:1;}
.footer-legal{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:calc(13px * var(--scale));font-weight:600;}
.footer-legal a{opacity:.65;transition:opacity .15s;}
.footer-legal a:hover{opacity:1;}
.footer-acknowledgement{margin-top:22px;font-size:calc(14px * var(--scale));color:rgba(255,255,255,.78);line-height:1.7;max-width:760px;}
.footer-fine{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:calc(13px * var(--scale));color:rgba(255,255,255,.42);line-height:1.75;}

/* ---------- Legal pages ---------- */
.legal{max-width:760px;margin:0 auto;}
.legal-back{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--twilight);margin-bottom:22px;}
.legal-back:hover{color:var(--twilight-deep);}
.legal h1{font-size:calc(clamp(28px,4vw,38px) * var(--scale));font-weight:800;color:var(--twilight-deep);line-height:1.2;margin:8px 0 14px;}
.legal-meta{color:var(--ink-soft);font-size:calc(14px * var(--scale));margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid rgba(38,48,61,.1);}
.legal h2{font-size:calc(20px * var(--scale));font-weight:800;color:var(--twilight-deep);margin:36px 0 12px;}
.legal p{margin-bottom:16px;color:var(--ink-soft);}
.legal ul{margin:0 0 16px;padding-left:0;}
.legal li{list-style:none;position:relative;padding-left:22px;margin-bottom:10px;color:var(--ink-soft);}
.legal li::before{content:"";position:absolute;left:6px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--gold);}
.form-consent{font-size:calc(12.5px * var(--scale));color:var(--ink-soft);margin-top:12px;line-height:1.5;}

/* ---------- Sticky mobile call bar ---------- */
.call-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;
  background:var(--twilight-ink);padding:12px 16px;gap:10px;
  box-shadow:0 -6px 20px rgba(0,0,0,.25);
  padding-bottom:calc(12px + env(safe-area-inset-bottom));
}
.call-bar a{flex:1;text-align:center;}

/* ---------- Motion / print ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .btn,.service-card,.faq-item summary .chev{transition:none;}
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .diff-grid{grid-template-columns:repeat(2,1fr);}
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .about-grid{grid-template-columns:1fr;gap:36px;}
  .contact-inner{grid-template-columns:1fr;gap:32px;}
  .families-grid{grid-template-columns:1fr;gap:32px;}
  .question-grid{grid-template-columns:1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-art{
    position:absolute;
    top:0;
    bottom:0;
    left:calc(50% - 50vw);
    width:100vw;
    max-width:none;
    margin:0;
    aspect-ratio:auto;
    border-radius:0;
    box-shadow:none;
    z-index:0;
  }
  .hero-art::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(28,38,53,.55) 0%, rgba(28,38,53,.72) 40%, rgba(28,38,53,.92) 100%);
  }
  .hero-art img{opacity:.5;}
  .hero-copy{position:relative;z-index:1;}
}
@media (max-width:1080px){
  .nav-links{display:none;}
  .nav-utility .text-size{display:none;}
  .menu-toggle{display:block;}
  .nav-phone{display:none;}
}
@media (max-width:760px){
  .diff-grid{grid-template-columns:1fr;}
  .service-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  section{padding:60px 20px;}
  .hero{padding:56px 20px 88px;}
  .crescent-big{width:170px;opacity:.7;}
  .call-bar{display:flex;}
  body{padding-bottom:0;}
  footer{padding-bottom:96px;}
}
