:root{
  --green:#123B31;
  --green-dark:#0B2C25;
  --green-soft:#E9F0EC;
  --cream:#F8F3EA;
  --gold:#C7A36A;
  --gold-soft:#F3E8D5;
  --text:#173B32;
  --muted:#66736E;
  --line:#DCE4DF;
  --shadow:0 18px 55px rgba(11,44,37,.11)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--text);line-height:1.55;background:#fff}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:"Lora",Georgia,serif;line-height:1.08;letter-spacing:-.025em}
h1{font-size:clamp(2.7rem,5.6vw,5.1rem);margin-bottom:24px}
h2{font-size:clamp(2rem,4vw,3.35rem);margin-bottom:18px}
p{color:var(--muted)}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.section{padding:92px 0}

.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #edf0ee}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand-logo{display:grid;align-items:center;justify-items:start;gap:1px;min-width:250px}
.brand-logo img{width:230px;height:auto;display:block}
.brand-tagline{width:230px;font-size:.72rem;letter-spacing:.08em;color:var(--muted);margin-top:-10px;text-align:center;white-space:nowrap}
nav{display:flex;gap:26px;font-size:.92rem;font-weight:600}
nav a:hover{color:var(--gold)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:12px;font-weight:700;border:0;cursor:pointer;transition:.2s ease;font-family:inherit}
.btn:hover{transform:translateY(-2px)}
.btn-primary,.btn-whats{background:var(--green);color:white}
.btn-primary:hover,.btn-whats:hover{background:var(--green-dark)}
.btn-secondary{border:1px solid var(--green);color:var(--green);background:transparent}
.full{width:100%}

.hero{background:linear-gradient(180deg,#fff 0%,var(--cream) 100%);padding:56px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}
.eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:var(--gold);margin-bottom:14px}
.lead{font-size:1.2rem;max-width:720px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}
.hero-points{display:flex;gap:22px;flex-wrap:wrap;font-size:.92rem;color:#405850}
.hero-photo-wrap{position:relative}
.hero-photo{width:100%;height:520px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}

.section-title.centered{text-align:center;max-width:760px;margin:0 auto 48px}
.steps-collapsible{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.step-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0;overflow:hidden}
.step-card summary{list-style:none;cursor:pointer;padding:22px 18px 18px;position:relative;min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.step-card summary::-webkit-details-marker{display:none}
.step-icon{width:70px;height:70px;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center;margin:0 auto 12px;font-size:1.55rem;font-weight:700;color:var(--green)}
.step-n{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#fff;font-size:.76rem;margin:-23px auto 10px;position:relative}
.step-card h3{margin:10px 0 0;font-family:"Lora",serif;font-size:1.12rem;line-height:1.3}
.step-card p{margin:0;padding:0 20px 22px;color:var(--muted);line-height:1.55}
.step-toggle{display:none}
.step-card[open]{border-color:rgba(18,59,49,.25);box-shadow:0 10px 28px rgba(11,44,37,.07)}

.soft{background:#fcfaf6}
.two-col,.security-grid,.faq-contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.photo-panel img{width:100%;height:410px;object-fit:cover;border-radius:24px}
.benefits{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
.benefits li{font-size:1.08rem;padding-left:34px;position:relative}
.benefits li:before{content:"✓";position:absolute;left:0;top:0;background:var(--green);color:#fff;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:.75rem}

.green-soft{background:linear-gradient(90deg,#edf3f0,#faf6ee)}
.security-items{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.security-items div{background:#fff;border:1px solid rgba(199,163,106,.22);border-radius:16px;padding:18px;display:flex;gap:12px;align-items:center}
.security-items span{min-width:30px;font-weight:700;color:var(--gold)}
.landscape img{height:420px}

.faq-contact{align-items:start}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{font-weight:700;cursor:pointer;font-size:1.03rem}
.faq p{margin:10px 0 0;font-size:1rem;line-height:1.65}
.contact-card{background:var(--gold-soft);padding:30px;border-radius:24px;box-shadow:var(--shadow)}
.contact-logo{width:240px;margin:0 0 18px}
form{display:grid;gap:13px}
label{display:grid;gap:6px;font-size:.86rem;font-weight:700}
input{height:50px;border:1px solid #ccd6d0;border-radius:11px;padding:0 13px;font:inherit;background:#fff}
input:focus{outline:2px solid rgba(18,59,49,.14);border-color:var(--green)}
form small{color:var(--muted)}
.optional{font-weight:500;color:var(--muted)}
.direct-contact{margin-top:18px;padding-top:18px;border-top:1px solid rgba(18,59,49,.15);display:grid;gap:6px}
.direct-contact span{font-size:.85rem;color:var(--muted)}
.direct-contact a{font-weight:700;color:var(--green)}

footer{background:var(--green-dark);color:#fff;padding:46px 0}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:34px;align-items:start}
.footer-grid>div{display:grid;gap:8px;justify-items:start}
.footer-brand-logo{width:260px;max-width:100%;display:block}
.footer-tagline{width:260px;max-width:100%;margin:0;color:rgba(255,255,255,.7);font-size:.86rem;letter-spacing:.04em;text-align:center;white-space:nowrap}
.footer-grid p,.footer-grid a{color:rgba(255,255,255,.72)}

body.senior-mobile{font-size:18px}
body.senior-mobile p,body.senior-mobile li,body.senior-mobile summary,body.senior-mobile label,body.senior-mobile input,body.senior-mobile .btn{line-height:1.55}

@media (min-width:561px){
  .step-card summary{cursor:default}
  .step-card .step-toggle{display:none!important}
  .step-card p{display:block!important}
}

@media(max-width:900px){
  nav{display:none}
  .hero-grid,.two-col,.security-grid,.faq-contact{grid-template-columns:1fr}
  .steps-collapsible{grid-template-columns:1fr 1fr}
  .hero-photo{height:420px}
  .footer-grid{grid-template-columns:1fr}
  .header .btn{display:none}
  .brand-logo{min-width:auto}
}

@media(max-width:560px){
  .container{width:min(100% - 28px,1180px)}
  body.senior-mobile{font-size:19px}
  .section{padding:54px 0}
  .hero{padding:32px 0 48px}
  h1{font-size:2.35rem}
  h2{font-size:1.9rem}
  h3{font-size:1.25rem}
  .lead{font-size:1.08rem}
  .eyebrow{font-size:.78rem;letter-spacing:.07em}
  .btn{min-height:58px;padding:0 20px;font-size:1rem;width:100%}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-points{display:grid;gap:10px;font-size:.96rem}
  .hero-photo{height:340px;border-radius:20px}
  .nav{min-height:70px}
  .brand-logo img{width:190px}
  .brand-tagline{display:none}
  .steps-collapsible{grid-template-columns:1fr;gap:10px;text-align:left}
  .step-card summary{min-height:0;display:grid;grid-template-columns:50px 28px 1fr 28px;gap:10px;align-items:center;padding:14px}
  .step-card .step-icon{width:46px;height:46px;margin:0;font-size:1.15rem}
  .step-card .step-n{width:26px;height:26px;margin:0;font-size:.8rem}
  .step-card h3{margin:0;font-size:1.05rem;text-align:left}
  .step-toggle{display:block;font-size:1.7rem;line-height:1;color:var(--green);text-align:center;transition:transform .2s ease}
  .step-card[open] .step-toggle{transform:rotate(45deg)}
  .step-card p{padding:0 18px 18px 112px;margin-top:-2px;font-size:.96rem}
  .step-card:not([open]) p{display:none}
  .security-items{grid-template-columns:1fr}
  .contact-card{padding:24px 18px}
  input{min-height:54px;font-size:1rem}
  .photo-panel img,.landscape img{height:330px}
}

@media(max-width:560px){.footer-tagline{width:100%;max-width:260px;text-align:center;white-space:normal}}
