:root{
  --primary:#16a085;
  --primary-2:#0e6655;
  --accent:#e74c3c;
  --secondary:#2c3e50;
  --light:#fdfdfd;
  --bg:#f4f7f6;
  --text:#2d3436;
  --muted:#636e72;
  --white:#ffffff;
  --border:#d5dbdb;
  --radius:14px;
  --shadow:0 6px 22px rgba(22,160,133,0.10);
  --shadow-lg:0 14px 36px rgba(22,160,133,0.18);
  --transition:.25s ease;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Helvetica Neue','Segoe UI',Arial,sans-serif;color:var(--text);line-height:1.65;background:var(--bg)}
img{max-width:100%;display:block;border-radius:var(--radius)}
a{color:var(--primary);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent)}

/* Container */
.container{max-width:1200px;margin:0 auto;padding:0 22px}

/* Header */
.header{background:var(--white);box-shadow:0 2px 14px rgba(0,0,0,.05);position:sticky;top:0;z-index:50;transition:box-shadow .25s}
.header--scrolled{box-shadow:0 6px 22px rgba(22,160,133,.18)}
.header__inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.header__logo{font-size:1.7rem;font-weight:800;color:var(--secondary);letter-spacing:-1px}
.header__logo-accent{color:var(--primary)}
.header__menu{display:flex;gap:24px;list-style:none;flex-wrap:wrap}
.header__menu-link{font-weight:500;font-size:.95rem;color:var(--secondary)}
.header__menu-link--active{color:var(--primary)}

/* Hero */
.hero{background:linear-gradient(120deg,var(--primary) 0%,var(--primary-2) 100%);color:var(--white);padding:90px 0;text-align:center;position:relative;overflow:hidden}
.hero__title{font-size:2.7rem;margin-bottom:20px;line-height:1.2;font-weight:800}
.hero__text{font-size:1.18rem;max-width:780px;margin:0 auto 30px;opacity:.95}
.hero__actions{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center}

/* Button */
.btn{display:inline-block;padding:15px 36px;background:var(--accent);color:var(--white);font-weight:700;border-radius:50px;transition:transform .2s,box-shadow .2s;letter-spacing:.3px;border:none;cursor:pointer;font-size:.98rem}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(231,76,60,.4);color:var(--white)}
.btn--outline{background:transparent;border:2px solid var(--white);color:var(--white)}
.btn--outline:hover{background:var(--white);color:var(--primary)}

/* Section */
.section{padding:70px 0}
.section--white{background:var(--white)}
.section__title{font-size:2.1rem;color:var(--secondary);margin-bottom:18px;text-align:center;font-weight:800}
.section__lead{text-align:center;max-width:800px;margin:0 auto 42px;color:var(--muted);font-size:1.06rem}

/* Grid */
.grid{display:grid;gap:28px}
.grid--cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.grid--cols-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid--cols-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* Card */
.card{background:var(--white);padding:30px;border-radius:var(--radius);box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition);border-top:4px solid var(--primary)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.card__image{margin-bottom:18px;height:200px;object-fit:cover;width:100%}
.card__title{color:var(--secondary);margin-bottom:12px;font-size:1.22rem}
.card__text{color:var(--text)}
.card__price{font-size:1.8rem;color:var(--primary);font-weight:800;margin:10px 0}

/* Feature row */
.feature{display:flex;gap:20px;align-items:flex-start;margin-bottom:26px}
.feature__icon{width:50px;height:50px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;flex-shrink:0;font-size:1.1rem}
.feature__title{color:var(--secondary);margin-bottom:6px;font-size:1.1rem}
.feature__text{color:var(--text)}

/* Mission split layout */
.mission{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;align-items:center}
.mission__image{height:auto;width:100%;object-fit:cover}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:14px}
.faq__item{background:var(--white);padding:24px 28px;border-radius:var(--radius);box-shadow:var(--shadow);border-left:4px solid var(--primary);transition:transform var(--transition)}
.faq__item:hover{transform:translateX(4px)}
.faq__question{color:var(--secondary);margin-bottom:8px;font-size:1.08rem}
.faq__answer{color:var(--text)}

/* Stats */
.stat{text-align:center;padding:28px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform var(--transition)}
.stat:hover{transform:translateY(-4px)}
.stat__value{font-size:2.6rem;color:var(--primary);margin-bottom:6px;font-weight:800}
.stat__label{color:var(--muted);font-size:.95rem}

/* Legal */
.legal{background:var(--white);padding:50px;border-radius:var(--radius);box-shadow:var(--shadow);margin:40px 0}
.legal__title{color:var(--secondary);margin-bottom:8px;font-size:2rem}
.legal__updated{color:var(--muted);font-size:.9rem;margin-bottom:28px}
.legal__heading{font-size:1.45rem;color:var(--primary);margin:30px 0 12px}
.legal__subheading{font-size:1.12rem;color:var(--secondary);margin:20px 0 10px}
.legal__paragraph{margin-bottom:10px;color:var(--text)}
.legal__list{padding-left:24px;margin-bottom:14px}
.legal__list-item{margin-bottom:10px;color:var(--text)}
.legal__image{margin:18px 0;height:240px;object-fit:cover;width:100%}
.legal__table{width:100%;border-collapse:collapse;margin:14px 0}
.legal__table-head{background:var(--bg);text-align:left;padding:10px;border:1px solid var(--border)}
.legal__table-cell{padding:10px;border:1px solid var(--border)}

/* Contact */
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact__card{background:var(--white);padding:34px;border-radius:var(--radius);box-shadow:var(--shadow)}
.contact__title{color:var(--secondary);margin-bottom:14px}
.contact__row{display:flex;gap:12px;margin-bottom:14px;align-items:flex-start}
.contact__label{min-width:90px;color:var(--primary);font-weight:600}
.contact__value{color:var(--text)}
.contact__map{margin-top:24px;background:#dfe6e9;border-radius:var(--radius);height:240px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.95rem;text-align:center;padding:0 20px}
@media(max-width:760px){.contact__grid{grid-template-columns:1fr}}

/* Form */
.form__label{display:block;margin-bottom:6px;font-weight:600;color:var(--secondary);font-size:.92rem}
.form__input,.form__textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font-family:inherit;margin-bottom:14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}
.form__input:focus,.form__textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,160,133,.15)}
.form__textarea{resize:vertical;min-height:120px}

/* Footer */
.footer{background:var(--secondary);color:#dfe6e9;padding:54px 0 26px;margin-top:60px}
.footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;margin-bottom:30px}
.footer__title{color:var(--white);margin-bottom:14px;font-size:1.05rem}
.footer__text{color:#bdc3c7;font-size:.92rem}
.footer__list{list-style:none}
.footer__item{margin-bottom:8px;color:#bdc3c7;font-size:.92rem}
.footer__link{color:#bdc3c7;font-size:.92rem}
.footer__link:hover{color:var(--primary)}
.footer__bottom{border-top:1px solid #34495e;padding-top:22px;text-align:center;font-size:.88rem;color:#95a5a6}

/* Cookie banner */
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;max-width:720px;margin:0 auto;background:var(--white);color:var(--text);box-shadow:0 18px 44px rgba(22,160,133,.22);border-radius:var(--radius);padding:22px 26px;display:none;z-index:200;border-left:4px solid var(--primary)}
.cookie-banner.is-visible{display:flex;flex-wrap:wrap;align-items:center;gap:16px;animation:cookieSlideUp .45s ease both}
.cookie-banner__text{flex:1;min-width:240px;font-size:.92rem;color:var(--text);line-height:1.5}
.cookie-banner__title{color:var(--secondary);display:block;margin-bottom:4px;font-size:1.02rem;font-weight:800}
.cookie-banner__actions{display:flex;gap:8px;flex-wrap:wrap}
.cookie-banner__btn{padding:10px 22px;border-radius:50px;font-weight:700;font-size:.88rem;cursor:pointer;border:none;transition:transform .2s,box-shadow .2s,background .2s}
.cookie-banner__btn--accept{background:var(--primary);color:var(--white)}
.cookie-banner__btn--accept:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(22,160,133,.4)}
.cookie-banner__btn--decline{background:transparent;color:var(--muted);border:1px solid var(--border)}
.cookie-banner__btn--decline:hover{background:var(--bg);color:var(--secondary)}
.cookie-banner__link{color:var(--primary);text-decoration:underline}
@keyframes cookieSlideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:560px){.cookie-banner{padding:18px;left:12px;right:12px;bottom:12px}.cookie-banner__btn{flex:1}}

/* Networks block */
.networks{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:center}
.networks__item{background:var(--white);padding:18px 28px;border-radius:var(--radius);box-shadow:var(--shadow);font-weight:800;color:var(--secondary);min-width:170px;text-align:center;transition:transform var(--transition)}
.networks__item:hover{transform:translateY(-3px)}
.networks__item span{display:block;font-size:.78rem;color:var(--muted);font-weight:500;margin-top:4px;text-transform:uppercase;letter-spacing:.05em}

/* Payment methods */
.payments{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px}
.payments__item{background:var(--white);padding:22px;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;transition:transform var(--transition),box-shadow var(--transition);border-bottom:3px solid var(--primary)}
.payments__item:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.payments__icon{font-size:2rem;margin-bottom:8px;display:block}
.payments__name{color:var(--secondary);font-weight:700;font-size:.98rem}

/* CTA banner */
.cta-banner{background:linear-gradient(120deg,var(--primary) 0%,var(--primary-2) 100%);color:var(--white);padding:60px 0;text-align:center;border-radius:var(--radius);margin:0 22px}
.cta-banner__title{font-size:2rem;color:var(--white);margin-bottom:14px;font-weight:800}
.cta-banner__text{max-width:660px;margin:0 auto 24px;opacity:.95}

/* Steps (numbered) */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.steps__item{background:var(--white);padding:28px 24px;border-radius:var(--radius);box-shadow:var(--shadow);position:relative;padding-top:54px;transition:transform var(--transition)}
.steps__item:hover{transform:translateY(-4px)}
.steps__item::before{counter-increment:s;content:counter(s);position:absolute;top:-2px;left:24px;background:var(--primary);color:var(--white);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;box-shadow:0 4px 10px rgba(22,160,133,.3)}
.steps__title{color:var(--secondary);margin-bottom:8px;font-size:1.1rem;font-weight:700}
.steps__text{color:var(--text);font-size:.95rem}

/* Testimonial */
.testimonial{background:var(--white);padding:28px;border-radius:var(--radius);box-shadow:var(--shadow);font-style:italic;color:var(--muted);transition:transform var(--transition);border-top:4px solid var(--accent)}
.testimonial:hover{transform:translateY(-3px)}
.testimonial__quote{display:block}
.testimonial__author{display:block;margin-top:14px;font-style:normal;font-weight:700;color:var(--secondary)}

/* Reveal animation hook */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-revealed{opacity:1;transform:translateY(0)}
.reveal--delay-1{transition-delay:.1s}
.reveal--delay-2{transition-delay:.2s}
.reveal--delay-3{transition-delay:.3s}

/* Counter */
.counter{display:inline-block}

/* Utility */
.u-text-center{text-align:center}
.u-mt-4{margin-top:32px}

/* Responsive */
@media(max-width:760px){
  .hero{padding:64px 0}
  .hero__title{font-size:2rem}
  .header__inner{flex-direction:column;gap:12px}
  .header__menu{justify-content:center}
  .legal{padding:28px 20px}
  .section{padding:50px 0}
  .section__title{font-size:1.7rem}
}
