/*
Theme Name: Genuine Caregivers Group
Theme URI: https://www.genuinecaregivers.org
Author: AppDeep Corporation
Description: Custom theme for Genuine Caregivers Group — in-home care in the Bay Area. Static-first design with a native Testimonials post type.
Version: 1.0.0
Requires PHP: 8.0
Text Domain: genuine-caregivers
*/
/* ===== shared + home ===== */
:root{
  --teal:#1F6F78; --teal-deep:#14515A; --teal-soft:#E4EFEF;
  --apricot:#E8A070; --apricot-soft:#FBEFE4;
  --sage:#9CC3B2;
  --ink:#1E2A2E; --muted:#5C6B6E; --line:#D9E2DF;
  --bg:#F7F9F8; --card:#FFFFFF;
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--teal)}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.01em}
h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
h3{font-size:1.3rem}
p{margin:0}
.wrap{max-width:1680px;margin:0 auto;padding:0 clamp(1.5rem,4vw,4rem)}
.wrap>*{min-width:0}
.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.75rem}
.section{padding:5.5rem 0}
.section-head{max-width:62ch;margin-bottom:3rem}
.section-head p{color:var(--muted);margin-top:1rem;font-size:1.1rem}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:999px;font-weight:800;font-size:1rem;text-decoration:none;border:2px solid transparent;transition:transform .15s,background .15s,box-shadow .15s;cursor:pointer;font-family:inherit}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible{outline:3px solid var(--apricot);outline-offset:3px}
.btn-primary{background:var(--teal);color:#fff;box-shadow:0 8px 20px rgba(31,111,120,.25)}
.btn-primary:hover{background:var(--teal-deep)}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal)}
.btn-outline:hover{background:var(--teal-soft)}
.btn-apricot{background:var(--apricot);color:var(--ink)}
.btn-apricot:hover{background:#DE9360}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,249,248,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{max-width:none;display:flex;align-items:center;justify-content:space-between;height:80px;gap:2rem;padding:0 clamp(1.25rem,3vw,3rem)}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink)}
.brand svg{width:46px;height:auto}
.brand b{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.2rem;letter-spacing:-.01em;display:block;line-height:1.05;white-space:nowrap}
.brand small{display:block;font-size:.65rem;letter-spacing:.2em;font-weight:800;color:var(--teal)}
.nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
.nav-links a{text-decoration:none;color:var(--ink);font-weight:700;font-size:1rem;white-space:nowrap}
.nav-links a:hover{color:var(--teal)}
.nav-cta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.nav .btn{padding:.65rem 1.2rem;font-size:.9rem;white-space:nowrap}
.nav-toggle{display:none;background:none;border:0;padding:.5rem;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:3px;background:var(--ink);margin:5px 0;border-radius:2px}

/* hero: "Who needs care?" */
.hero{position:relative;overflow:hidden;background:var(--teal-soft)}
.hero .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:center;min-height:min(calc(100vh - 80px),820px);padding-top:4rem;padding-bottom:4rem}
.hero h1{font-size:clamp(2.8rem,5.5vw,4.6rem);line-height:1.05}
.hero h1 em{font-style:italic;color:var(--teal)}
.hero .lead{font-size:1.2rem;color:var(--muted);max-width:44ch;margin:1.4rem 0 0}
.hero-faces{display:flex;align-items:center;gap:.9rem;margin-top:2.25rem}
.hero-faces .stack{display:flex}
.hero-faces img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:3px solid var(--teal-soft);margin-left:-12px}
.hero-faces img:first-child{margin-left:0}
.hero-faces span{font-size:.9rem;color:var(--muted);line-height:1.3}
.hero-faces b{color:var(--ink);font-weight:800}
.hero-trust{display:flex;gap:2rem;margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid rgba(31,111,120,.2);flex-wrap:wrap}
.hero-trust div{font-size:.9rem;color:var(--muted)}
.hero-trust b{display:block;color:var(--ink);font-weight:800}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.choice{background:#fff;border:1.5px solid transparent;border-radius:20px;padding:1.6rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;text-decoration:none;color:var(--ink);box-shadow:0 10px 30px rgba(20,81,90,.08);transition:transform .18s,box-shadow .18s,border-color .18s;position:relative}
.choice:hover,.choice:focus-visible{transform:translateY(-4px);box-shadow:0 22px 44px rgba(20,81,90,.16);border-color:var(--apricot);outline:none}
.choice .ico{width:52px;height:52px;border-radius:14px;background:var(--apricot-soft);display:grid;place-items:center}
.choice .ico svg{width:26px;height:26px;stroke:var(--teal-deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.choice b{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.35rem;line-height:1.15;letter-spacing:-.01em}
.choice span{color:var(--muted);font-size:.95rem;line-height:1.4}
.choice .arrow{position:absolute;top:1.4rem;right:1.4rem;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:background .18s,border-color .18s}
.choice .arrow svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.choice:hover .arrow{background:var(--teal);border-color:var(--teal)}
.choice:hover .arrow svg{stroke:#fff}
.choices-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.95rem;color:var(--muted);padding:.25rem .5rem 0}
.choices-foot a{font-weight:800}
/* the service the visitor chose gets a short-lived highlight */
.service.is-target{border-color:var(--apricot);box-shadow:0 0 0 4px rgba(232,160,112,.35),0 20px 40px rgba(20,81,90,.12)}
.tuned{display:flex;gap:.8rem;align-items:flex-start;background:var(--apricot-soft);border:1px solid rgba(232,160,112,.5);border-radius:14px;padding:1rem 1.25rem;margin:-1rem 0 2rem;font-size:1.02rem;max-width:70ch}
.tuned[hidden]{display:none}
.tuned svg{width:22px;height:22px;flex-shrink:0;stroke:var(--teal-deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:.15rem}
.tuned b{font-weight:800}

/* about */
.about{overflow:hidden}
.about .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}
.about-photo{position:relative}
.about-photo img{border-radius:24px;aspect-ratio:3/4;object-fit:cover;width:100%}
.about-photo::after{content:"";position:absolute;inset:auto -1rem -1rem auto;width:60%;height:50%;border-radius:24px;background:var(--apricot-soft);z-index:-1}
.about p{color:var(--muted);font-size:1.08rem;margin-top:1.1rem}
.about .story{font-family:Fraunces,Georgia,serif;font-size:1.35rem;color:var(--ink);line-height:1.4;margin-top:1.4rem;border-left:4px solid var(--apricot);padding-left:1.2rem}
.mission{margin-top:2rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.75rem}
.mission h3{display:flex;gap:.6rem;align-items:center;margin-bottom:.5rem}
.mission p{font-size:1rem;margin-top:.5rem}

/* philosophy */
.philosophy{background:var(--teal-deep);color:#fff;position:relative;overflow:hidden}
.philosophy-bg{position:absolute;left:0;right:0;top:-25%;height:150%;background:url("https://images.unsplash.com/photo-1627752885954-e6956866dcbf?w=1600&q=70&auto=format") center/cover;opacity:.16;will-change:transform;pointer-events:none}
.about-photo img,.options-photo img{will-change:transform}
.hero{isolation:isolate}
.hero-bg{position:absolute;inset:-20% 0;z-index:-1;pointer-events:none;background:
  radial-gradient(600px 400px at 15% 20%, rgba(232,160,112,.22), transparent 70%),
  radial-gradient(700px 500px at 85% 80%, rgba(31,111,120,.18), transparent 70%)}
.philosophy .wrap{position:relative}
.philosophy .eyebrow{color:var(--sage)}
.philosophy .intro{max-width:64ch;font-size:1.15rem;color:#D6E6E3;margin-top:1rem}
.philosophy .intro strong{color:#fff}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.principle{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:1.5rem}
.principle .ico{width:44px;height:44px;border-radius:12px;background:var(--apricot);display:grid;place-items:center;margin-bottom:1rem}
.principle .ico svg{width:24px;height:24px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.principle h3{color:#fff;font-size:1.15rem;margin-bottom:.5rem}
.principle p{color:#C9DAD7;font-size:.98rem}

/* services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.service:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(20,81,90,.12)}
.service img{aspect-ratio:16/10;object-fit:cover;width:100%}
.service-body{padding:1.4rem 1.5rem 1.6rem;flex:1}
.service h3{margin-bottom:.6rem}
.service p{color:var(--muted);font-size:.98rem}
.service ul{margin:.75rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.service li{background:var(--teal-soft);color:var(--teal-deep);font-size:.82rem;font-weight:700;padding:.3rem .7rem;border-radius:999px}
.area{margin-top:3rem;display:flex;gap:1rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.5rem;flex-wrap:wrap}
.area svg{width:28px;height:28px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.area b{font-weight:800}
.area span{color:var(--muted)}

/* care options */
.options{background:var(--apricot-soft)}
.options .wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.options p.lead{font-size:1.15rem;color:var(--muted);margin-top:1rem}
.option-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.option{background:#fff;border-radius:14px;padding:1.1rem 1.25rem;display:flex;gap:.9rem;align-items:center;border:1px solid rgba(232,160,112,.35)}
.option .dot{width:38px;height:38px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;flex-shrink:0}
.option .dot svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.option b{display:block;font-weight:800}
.option span{font-size:.85rem;color:var(--muted)}
.options-photo img{border-radius:24px;aspect-ratio:4/5;object-fit:cover;width:100%}

/* testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.testi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;position:relative}
.testi .quote{font-family:Fraunces,Georgia,serif;font-size:3rem;line-height:1;color:var(--apricot);position:absolute;top:1rem;right:1.25rem}
.testi .stars{color:var(--apricot);letter-spacing:.1em;font-size:.95rem;margin-bottom:.75rem}
.testi p{font-size:1.02rem;color:var(--ink);font-style:italic}
.testi .who{margin-top:1.25rem;display:flex;gap:.75rem;align-items:center}
.testi .who img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.testi .who b{display:block;font-size:.95rem}
.testi .who span{font-size:.82rem;color:var(--muted)}
.testi-note{margin-top:1.5rem;font-size:.85rem;color:var(--muted)}

/* contact */
.contact{background:var(--teal-soft)}
.contact .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start}
.contact p.lead{color:var(--muted);font-size:1.1rem;margin-top:1rem}
.contact-info{display:grid;gap:1rem;margin-top:2rem}
.contact-info a,.contact-info div{display:flex;gap:.9rem;align-items:center;text-decoration:none;color:var(--ink);font-weight:700}
.contact-info svg{width:22px;height:22px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.contact-info small{display:block;font-weight:400;color:var(--muted);font-size:.85rem}
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;display:grid;gap:1rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form label{font-size:.85rem;font-weight:800;display:grid;gap:.35rem}
.form input,.form select,.form textarea{font:inherit;font-size:1rem;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(31,111,120,.18)}
.form textarea{min-height:120px;resize:vertical}
.form .btn{justify-self:start}
.form small{color:var(--muted);font-size:.8rem}

/* footer */
footer{background:var(--ink);color:#B9C7C9;padding:3.5rem 0 2rem}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}
footer .brand{color:#fff}
footer .brand small{color:var(--sage)}
footer p{font-size:.95rem;margin-top:1rem;max-width:40ch}
footer h4{color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
footer a{color:#B9C7C9;text-decoration:none}
footer a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.5rem;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}

@media (max-width:960px){
  .hero .wrap,.about .wrap,.options .wrap,.contact .wrap{grid-template-columns:1fr;gap:2.5rem}
  .hero .wrap{min-height:auto}
  .hero h1{font-size:clamp(2.4rem,8vw,3.4rem)}
  .principles,.services-grid,.testi-grid{grid-template-columns:1fr 1fr}
  footer .wrap{grid-template-columns:1fr 1fr}
  .about-photo img{aspect-ratio:4/3}
  .options-photo{order:-1}
  .options-photo img{aspect-ratio:16/10}
}
@media (max-width:1400px){
  .nav-links{gap:1.25rem}
  .nav-links a{font-size:.92rem}
  .nav-cta .btn-outline{display:none}
}
@media (max-width:1100px){
  .nav-links,.nav-cta .btn-outline{display:none}
  .nav-toggle{display:block}
  .nav-links.open{display:flex;position:absolute;top:80px;left:0;right:0;background:var(--bg);flex-direction:column;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);gap:1rem}
}
@media (max-width:720px){
  .nav .wrap{height:64px}
  .nav-links.open{top:64px}
  .brand svg{width:38px}
  .brand b{font-size:1.05rem}
  .nav .btn{padding:.55rem .9rem;font-size:.85rem}
  .principles,.services-grid,.testi-grid,.option-list,.form .row{grid-template-columns:1fr}
  .choices{grid-template-columns:1fr}
  .choice{padding:1.25rem 1.25rem 1.25rem;gap:.6rem}
  .choice b{font-size:1.2rem}
  .section{padding:4rem 0}
  footer .wrap{grid-template-columns:1fr}
}

/* ===== testimonials page ===== */
:root{
  --teal:#1F6F78; --teal-deep:#14515A; --teal-soft:#E4EFEF;
  --apricot:#E8A070; --apricot-soft:#FBEFE4; --sage:#9CC3B2;
  --ink:#1E2A2E; --muted:#5C6B6E; --line:#D9E2DF;
  --bg:#F7F9F8; --card:#FFFFFF; --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--teal)}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,3vw,2.2rem)}
h3{font-size:1.2rem}
p{margin:0}
.wrap{max-width:1680px;margin:0 auto;padding:0 clamp(1.5rem,4vw,4rem)}
.wrap>*{min-width:0}
.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.75rem}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:999px;font-weight:800;font-size:1rem;text-decoration:none;border:2px solid transparent;transition:transform .15s,background .15s;cursor:pointer;font-family:inherit}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible{outline:3px solid var(--apricot);outline-offset:3px}
.btn-primary{background:var(--teal);color:#fff;box-shadow:0 8px 20px rgba(31,111,120,.25)}
.btn-primary:hover{background:var(--teal-deep)}
.btn-primary[disabled]{opacity:.6;cursor:wait;transform:none}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal)}
.btn-outline:hover{background:var(--teal-soft)}

/* nav (same as home) */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,249,248,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{max-width:none;display:flex;align-items:center;justify-content:space-between;height:80px;gap:2rem;padding:0 clamp(1.25rem,3vw,3rem)}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink)}
.brand svg{width:46px;height:auto}
.brand b{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.2rem;letter-spacing:-.01em;display:block;line-height:1.05;white-space:nowrap}
.brand small{display:block;font-size:.65rem;letter-spacing:.2em;font-weight:800;color:var(--teal)}
.nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
.nav-links a{text-decoration:none;color:var(--ink);font-weight:700;font-size:1rem;white-space:nowrap}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--teal)}
.nav-cta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.nav .btn{padding:.65rem 1.2rem;font-size:.9rem;white-space:nowrap}
.nav-toggle{display:none;background:none;border:0;padding:.5rem;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:3px;background:var(--ink);margin:5px 0;border-radius:2px}

/* page hero */
.page-hero{background:var(--teal-soft);position:relative;overflow:hidden;isolation:isolate}
.page-hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;padding-top:4rem;padding-bottom:4rem}
.page-hero .lead{font-size:1.2rem;color:var(--muted);max-width:52ch;margin:1.2rem 0 1.8rem}
.page-hero img{border-radius:24px;aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:0 30px 60px rgba(20,81,90,.22);will-change:transform}
.hero-bg{position:absolute;inset:-20% 0;z-index:-1;pointer-events:none;background:radial-gradient(600px 400px at 15% 20%, rgba(232,160,112,.22), transparent 70%),radial-gradient(700px 500px at 85% 80%, rgba(31,111,120,.18), transparent 70%)}
.summary{display:flex;gap:1rem;align-items:center;background:#fff;border-radius:14px;padding:.9rem 1.2rem;width:max-content;max-width:100%;box-shadow:0 12px 30px rgba(20,81,90,.12)}
.summary[hidden]{display:none}
.summary .big{font-family:Fraunces,Georgia,serif;font-size:2rem;color:var(--teal);line-height:1}
.summary .stars{color:var(--apricot);letter-spacing:.1em}
.summary small{display:block;color:var(--muted);font-size:.85rem}

/* testimonial cards */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.testi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;position:relative;display:flex;flex-direction:column}
.testi .quote{font-family:Fraunces,Georgia,serif;font-size:3rem;line-height:1;color:var(--apricot);position:absolute;top:1rem;right:1.25rem}
.testi .stars{color:var(--apricot);letter-spacing:.1em;font-size:.95rem;margin-bottom:.75rem}
.testi p{font-size:1.02rem;font-style:italic;flex:1}
.testi .who{margin-top:1.25rem;display:flex;gap:.75rem;align-items:center}
.testi .who .avatar{width:44px;height:44px;border-radius:50%;background:var(--teal-soft);color:var(--teal-deep);display:grid;place-items:center;font-weight:800;font-family:Fraunces,Georgia,serif;font-size:1.1rem;flex-shrink:0}
.testi .who b{display:block;font-size:.95rem}
.testi .who span{font-size:.82rem;color:var(--muted)}
.empty{grid-column:1/-1;background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:3rem 2rem;text-align:center;color:var(--muted)}
.empty b{display:block;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-weight:600;margin-bottom:.5rem}

/* share form */
.share{background:var(--apricot-soft)}
.share .wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.share .lead{color:var(--muted);font-size:1.1rem;margin-top:1rem}
.share ol{margin:1.5rem 0 0;padding-left:1.2rem;color:var(--muted);display:grid;gap:.5rem}
.share ol b{color:var(--ink)}
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;display:grid;gap:1rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form label{font-size:.85rem;font-weight:800;display:grid;gap:.35rem}
.form input,.form select,.form textarea{font:inherit;font-size:1rem;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(31,111,120,.18)}
.form textarea{min-height:140px;resize:vertical}
.form small{color:var(--muted);font-size:.8rem;font-weight:400}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rating{display:flex;gap:.25rem;flex-direction:row-reverse;justify-content:flex-end;width:max-content}
.rating input{position:absolute;opacity:0;width:1px;height:1px}
.form .rating label{display:block;cursor:pointer;font-size:2rem;line-height:1;color:var(--line);transition:color .1s;padding:0 .05rem}
.rating input:checked ~ label,.rating label:hover,.rating label:hover ~ label{color:var(--apricot)}
.rating input:focus-visible + label{outline:2px solid var(--teal);border-radius:4px}
.form .consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;font-weight:600;line-height:1.45}
.consent input{width:20px;height:20px;margin-top:.15rem;flex-shrink:0;accent-color:var(--teal)}
.consent span{font-weight:400}
.msg{padding:.9rem 1.1rem;border-radius:10px;font-size:.95rem;display:none}
.msg.ok{display:block;background:#E6F3EC;color:#1B5E3A;border:1px solid #B9DEC9}
.msg.err{display:block;background:#FBE9E5;color:#8C2E1F;border:1px solid #F0C4BA}
.thanks{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:3rem 2rem;text-align:center;display:none}
.thanks .ico{width:64px;height:64px;border-radius:50%;background:var(--teal-soft);display:grid;place-items:center;margin:0 auto 1rem}
.thanks .ico svg{width:30px;height:30px;stroke:var(--teal);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.thanks p{color:var(--muted);margin-top:.5rem;max-width:40ch;margin-inline:auto}

/* footer */
footer{background:var(--ink);color:#B9C7C9;padding:3rem 0 2rem}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
footer .brand{color:#fff}
footer .brand small{color:var(--sage)}
footer a{color:#B9C7C9;text-decoration:none}
footer a:hover{color:#fff}
footer ul{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0;flex-wrap:wrap}
footer .copy{font-size:.85rem;width:100%;border-top:1px solid rgba(255,255,255,.1);padding-top:1.25rem;margin-top:.5rem}

@media (max-width:1400px){.nav-links{gap:1.25rem}.nav-links a{font-size:.92rem}.nav-cta .btn-outline{display:none}}
@media (max-width:1100px){
  .nav-links{display:none}.nav-toggle{display:block}
  .nav-links.open{display:flex;position:absolute;top:80px;left:0;right:0;background:var(--bg);flex-direction:column;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);gap:1rem}
}
@media (max-width:960px){
  .page-hero .wrap,.share .wrap{grid-template-columns:1fr;gap:2.5rem}
  .testi-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nav .wrap{height:64px}.nav-links.open{top:64px}.brand svg{width:38px}.brand b{font-size:1.05rem}.nav .btn{padding:.55rem .9rem;font-size:.85rem}
  .testi-grid,.form .row{grid-template-columns:1fr}
  .section{padding:3.5rem 0}
}

/* ===== WordPress extras ===== */
.page-generic{padding:4rem 0}.page-generic .wrap{max-width:70ch}.page-generic h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.5rem}.page-generic p{margin-bottom:1rem}.admin-bar .nav{top:32px}@media (max-width:782px){.admin-bar .nav{top:46px}}
