/* Basic reset */
*{box-sizing:border-box;margin:0;padding:0}
:root{--accent:#2f8c87;--accent-dark:#1f6f69;--muted:#6b6b6b;--bg:#f7f8f6;--max-width:1100px;--radius:10px;--header-dark:#0f2623;--header-text:#e8f3f1}
html{overflow-x:hidden;width:100%}
html,body{height:100%;max-width:100vw}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;color:#222;background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}
.container{max-width:var(--max-width);margin:0 auto;padding:1rem}
body.nav-open{overflow:hidden}

/* Topbar */
.topbar{background:linear-gradient(90deg,#123530,#0f2623);color:var(--header-text);font-size:.9rem;width:100%;overflow:hidden}
.topbar .topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:.4rem 3rem;gap:1rem;max-width:100%}
.topbar .top-left{font-weight:700;letter-spacing:0.02em}
.topbar .top-right{display:flex;gap:.6rem;align-items:center}
.topbar .top-right a{color:var(--header-text);text-decoration:none;font-weight:700;transition:opacity .2s ease,transform .2s ease;display:inline-flex;align-items:center;gap:.35rem}
.topbar .top-right a:hover{opacity:.9;transform:scale(1.05)}
.topbar .btn.small{border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.08);padding:.45rem .7rem;border-radius:10px;box-shadow:0 8px 18px rgba(0,0,0,0.12);transition:transform .2s ease,background .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}
.topbar .btn.small:hover{transform:scale(1.05);background:rgba(255,255,255,0.15)}
.topbar .phone-icon{width:16px;height:16px;fill:#ff4444}

/* Header */
.site-header{background:rgba(255,255,255,0.92);border-bottom:1px solid #e6eeec;position:sticky;top:0;z-index:999;backdrop-filter:blur(14px) saturate(125%);box-shadow:0 8px 30px rgba(17,35,32,0.08)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem}
.brand .logo{height:88px;display:block;filter:drop-shadow(0 4px 10px rgba(0,0,0,0.08))}
.main-nav{display:flex;gap:1.1rem;align-items:center;font-weight:700;letter-spacing:0.01em;position:relative;font-size:1.15rem}
.main-nav a{color:#0f2623;text-decoration:none;padding:.68rem 1rem;border-radius:12px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.main-nav a:hover{background:rgba(47,140,135,0.08);color:#0d3c37;box-shadow:0 10px 26px rgba(47,140,135,0.12)}
.main-nav a:focus-visible{outline:3px solid rgba(47,140,135,0.22);outline-offset:3px}
.main-nav a.active{color:#1c5f5a;background:rgba(47,140,135,0.12);box-shadow:inset 0 -2px 0 0 rgba(47,140,135,0.6)}
.main-nav a.active::after{content:"";display:block;height:3px;border-radius:99px;background:linear-gradient(135deg,#2f8c87,#1c5f5a);margin-top:.25rem}
.main-nav .cta{background:linear-gradient(135deg,#2f8c87,#1c5f5a);color:#fff;box-shadow:0 14px 28px rgba(28,95,90,0.25);padding:.65rem 1.05rem;border:1px solid rgba(255,255,255,0.2)}
.main-nav .cta:hover{color:#fff;transform:translateY(-2px)}
.nav-item{position:relative}
.dropdown-toggle{display:flex;align-items:center;gap:.35rem}
.dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e6eeec;border-radius:12px;box-shadow:0 16px 32px rgba(0,0,0,0.12);padding:.35rem;width:240px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:30}
.dropdown-menu a{display:block;padding:.7rem .85rem;border-radius:10px;font-weight:600;color:#0f2623}
.dropdown-menu a:hover{background:rgba(47,140,135,0.08);color:#0d3c37}
.nav-item.open > .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.header-search{position:relative}
.header-search input{width:140px;padding:.55rem .75rem;border:1px solid #d6e2df;border-radius:12px;background:#fff;color:#0f2623;transition:border .15s ease,box-shadow .15s ease}
.header-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,140,135,0.18)}
.header-actions{display:flex;align-items:center;gap:.5rem}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:#0f2623;padding:.5rem;width:40px;height:40px;flex-direction:column;justify-content:space-around;align-items:center;position:relative;z-index:1001}
.menu-toggle span{display:block;width:28px;height:3px;background:#0f2623;border-radius:2px;transition:transform .3s ease,opacity .3s ease;pointer-events:none}
.menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg);background:#0f2623}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);background:#0f2623}

/* Mobile nav */
@media(max-width:900px){
  .site-header .main-nav{
    position:fixed;
    left:16px;
    right:16px;
    top:88px;
    background:#fff;
    border-radius:14px;
    padding:1rem;
    box-shadow:0 24px 46px rgba(0,0,0,0.18);
    border:1px solid #e6eeec;
    z-index:9999;
    max-height:600px;
    overflow-y:auto;
    display:none;
  }
  .site-header .main-nav.open{
    display:block !important;
  }
  .main-nav.open a{display:block !important;padding:.9rem 1rem !important;border-radius:12px !important;color:#0f2623 !important;text-decoration:none !important}
  .main-nav.open a:hover{background:rgba(47,140,135,0.08) !important}
  .main-nav.open .dropdown-menu{position:static !important;border:0 !important;box-shadow:none !important;opacity:1 !important;visibility:visible !important;transform:none !important;padding:0 !important;margin:.25rem 0 0 0 !important;width:100% !important;display:block !important}
  .main-nav.open .dropdown-menu a{padding-left:1.5rem !important;font-size:0.95rem !important}
  .main-nav.open a + a{margin-top:.25rem !important}
  .header-search{display:none !important}
  .menu-toggle{display:flex !important}
}

/* Hero */
/* Hero section for home page only */
#home.hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;color:#fff}
#home.hero::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:url('../img/Hero11.png');background-size:cover;background-position:60% 60%;background-repeat:no-repeat;animation:heroZoomSlide 20s ease-in-out infinite;z-index:0}
@keyframes heroZoomSlide{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.hero-inner{position:relative;z-index:2;max-width:450px;padding:1.75rem 2.25rem;margin-left:4rem;background:rgba(15,38,35,0.5);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 15px 50px rgba(0,0,0,0.35);border:1px solid rgba(255,255,255,0.12)}
.hero-copy{text-align:center}
.hero-copy .eyebrow{display:inline-block;margin-bottom:.55rem;color:#e8f3f1;font-weight:700;font-size:0.9rem;letter-spacing:0.05em;text-transform:uppercase}
.hero-copy h1{font-family:'Merriweather',serif;font-size:2.6rem;line-height:1.2;margin-bottom:.7rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,0.3)}
.hero-copy .lead{margin-bottom:1.4rem;color:#e8f3f1;font-size:1rem;line-height:1.5;text-shadow:0 1px 4px rgba(0,0,0,0.2)}
.hero-cta .btn{display:inline-block;padding:.85rem 1.5rem;border-radius:12px;background:#2f8c87;color:#fff;text-decoration:none;margin-right:.6rem;font-weight:700;font-size:1.05rem;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 12px 32px rgba(47,140,135,0.35)}
.hero-cta .btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(47,140,135,0.45)}
.hero-sidebar{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:999;display:flex;flex-direction:column;gap:.5rem}
.hero-sidebar .side-btn{writing-mode:vertical-rl;transform:rotate(180deg);padding:1rem .85rem;background:#2f8c87;color:#fff;text-decoration:none;font-weight:700;font-size:.95rem;border-radius:0 12px 12px 0;box-shadow:-6px 0 20px rgba(47,140,135,0.25);transition:padding .18s ease,background .18s ease}
.hero-sidebar .side-btn:hover{padding-right:1.1rem;background:#1f6f69}
.hero-sidebar .side-btn.resources{background:#0f2623}
.hero-sidebar .side-btn.resources:hover{background:#123530}

/* Sections */
/* Мобільна версія: компактні бокові кнопки */
@media only screen and (max-width: 600px) {
  .hero-sidebar {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    gap: 0.25rem;
    z-index: 999;
  }
  .hero-sidebar .side-btn {
    padding: 0.5rem 0.45rem;
    font-size: 0.75rem;
    border-radius: 0 8px 8px 0;
    min-width: unset;
    width: 2.2rem !important;
    text-align: center;
    min-height: 4.2rem !important;
    box-shadow: -2px 0 10px rgba(47,140,135,0.18);
    line-height: 1.1;
    word-break: break-word;
    white-space: normal;
  }
  .hero-sidebar .side-btn.resources {
    border-radius: 0 8px 8px 0;
  }
}
section{padding:3rem 0;background:transparent}
h2{font-family:'Merriweather',serif;margin-bottom:0.75rem;color:#153531}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.card{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 6px 18px rgba(7,18,16,0.04);text-align:center;transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(7,18,16,0.07)}
.card img{width:56px;height:56px;margin-bottom:.5rem}
.card h3{margin-bottom:.5rem;font-size:1.05rem}

/* Who We Are */
.who{background:#fff;padding:5rem 0}
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.who-image img{width:100%;height:auto;border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,0.08)}
.who-content h2{font-size:2.8rem;margin-bottom:1.5rem;color:#000}
.who-list{display:flex;flex-direction:column;gap:1.75rem;margin-bottom:2rem}
.who-item{display:flex;gap:1.25rem;align-items:flex-start}
.who-item .who-icon{width:80px;height:80px;flex-shrink:0;object-fit:contain;background:#fff;border-radius:12px;padding:8px;box-shadow:0 4px 12px rgba(0,0,0,0.08)}
.who-item h3{font-size:1.4rem;margin-bottom:.35rem;color:#000}
.who-item p{color:#555;font-size:1rem;line-height:1.6}
.btn-teal{display:inline-block;padding:.95rem 2.5rem;background:#2f8c87;color:#fff;text-decoration:none;border-radius:8px;font-weight:700;font-size:1.05rem;box-shadow:0 12px 28px rgba(47,140,135,0.25);transition:transform .18s ease,box-shadow .18s ease}
.btn-teal:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(47,140,135,0.35)}

/* Journey */
.journey{background:#f7f8f6;padding:5rem 0}
.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}
.journey-content{display:flex;flex-direction:column;align-items:center}
.journey-content h2{font-size:2.8rem;margin-bottom:1rem;color:#000;text-align:center}
.journey-icon{width:120px;height:120px;margin:0 auto 1.5rem;display:block;filter:drop-shadow(0 4px 12px rgba(0,0,0,0.08))}
.journey-lead{font-size:1.15rem;line-height:1.6;color:#333;margin-bottom:1.75rem;font-weight:500;text-align:center;max-width:90%}
.journey-media{display:flex;flex-direction:column;align-items:center}
.journey-media img{width:100%;height:auto;border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,0.08);margin-bottom:2rem}
.journey-btn{margin:0 auto;display:block}
.journey-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}
.journey-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.journey-list li{position:relative;padding-left:1.5rem;color:#333;font-size:1rem;line-height:1.5}
.journey-list li::before{content:'•';position:absolute;left:0;color:#2f8c87;font-weight:700;font-size:1.3rem}
.two-col{display:grid;grid-template-columns:1fr 420px;gap:2rem;align-items:center}

/* Why Choose Us */
.why{background:#fff;padding:5rem 0}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.why-image img{width:100%;height:auto;border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,0.08)}
.why-content h2{font-size:2.8rem;margin-bottom:1.5rem;color:#000}
.why-list{display:flex;flex-direction:column;gap:1.75rem}
.why-item{display:flex;gap:1.25rem;align-items:flex-start}
.why-item .why-icon{width:64px;height:64px;flex-shrink:0}
.why-item h3{font-size:1.4rem;margin-bottom:.35rem;color:#000}
.why-item p{color:#555;font-size:1rem;line-height:1.6}

/* Values */
.values{background:#f7f8f6;padding:5rem 0}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.values-image img{width:100%;height:auto;border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,0.08)}
.values-content{display:flex;flex-direction:column;justify-content:center;align-items:center}
.values-list{list-style:none;padding:0;margin:0 0 2rem 0;display:flex;flex-direction:column;gap:1.5rem}
.values-list li{position:relative;padding-left:2rem;font-size:2rem;font-weight:700;color:#000;line-height:1.3}
.values-list li::before{content:'•';position:absolute;left:0;color:#000;font-size:2.5rem;line-height:1}
.video-btn{display:inline-flex;align-items:center;gap:1rem;text-decoration:none;color:#000;font-weight:600;font-size:1.05rem;transition:transform .18s ease}
.video-btn:hover{transform:scale(1.05)}
.circle-wrapper{position:relative;width:180px;height:180px;display:flex;justify-content:center;align-items:center}
.play-btn{position:absolute;font-size:40px;color:#2f8c87;z-index:10;cursor:pointer;transition:transform .2s ease}
.video-btn:hover .play-btn{transform:scale(1.1)}
.rotating-text{position:absolute;width:100%;height:100%;animation:rotate 15s linear infinite}
.rotating-text span{position:absolute;width:100%;height:100%;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#2f8c87;transform-origin:center;display:flex;justify-content:center;align-items:center}
@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* CTA Section */
.cta-section{background:#f7f8f6;padding:4rem 0 0 0}
.cta-content{text-align:center;max-width:900px;margin:0 auto;padding-bottom:3rem}
.cta-phone{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}
.phone-icon{width:60px;height:60px}
.phone-number{font-size:2.5rem;font-weight:700;color:#000}
.cta-text{font-size:1.15rem;line-height:1.6;color:#333;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto}
.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-call{background:#2f8c87;color:#fff;display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.8rem;border-radius:999px;font-weight:700;box-shadow:0 12px 28px rgba(47,140,135,0.25)}
.btn-call svg{width:24px;height:24px}
.btn-call:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(47,140,135,0.35)}
.marquee{width:100%;overflow:hidden;white-space:nowrap;background:#0f2623;padding:1.5rem 0}
.marquee-inner{display:inline-block;animation:scroll 20s linear infinite}
.marquee-inner span{font-size:1.5rem;letter-spacing:3px;text-transform:uppercase;color:#fff;font-weight:700}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Columns */
.columns{display:flex;gap:2rem;margin-top:1rem;flex-wrap:wrap}
.col{text-align:center;padding:1rem;background:#fff;border-radius:10px;box-shadow:0 4px 12px rgba(7,18,16,0.03)}

/* Values */
.values{background:#f7f8f6;padding:5rem 0}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.values-image img{width:100%;height:auto;border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,0.08)}
.values-list{list-style:none;padding:0;margin:0 0 2rem 0;display:flex;flex-direction:column;gap:1.5rem}
.values-list li{position:relative;padding-left:2rem;font-size:2rem;font-weight:700;color:#000;line-height:1.3}
.values-list li::before{content:'•';position:absolute;left:0;color:#000;font-size:2.5rem;line-height:1}
.video-btn{display:inline-flex;align-items:center;gap:1rem;text-decoration:none;color:#000;font-weight:600;font-size:1.05rem;transition:transform .18s ease}
.video-btn:hover{transform:translateY(-3px)}
.video-btn svg{width:100px;height:100px}
.video-btn span{font-size:1rem;color:#2f8c87}

/* Reviews */
.reviews-section{background:#fff;padding:5rem 0}
.reviews-section h2{text-align:center;font-size:3rem;margin-bottom:3rem;color:#000}
.reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.review-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.08);transition:transform .3s ease,box-shadow .3s ease}
.review-card:hover{transform:translateY(-8px);box-shadow:0 16px 36px rgba(0,0,0,0.12)}
.review-image{overflow:hidden;height:220px}
.review-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.review-card:hover .review-image img{transform:scale(1.1)}
.review-content{padding:1.5rem;text-align:center}
.review-content h4{font-size:1.2rem;margin-bottom:.75rem;color:#000;font-weight:700}
.review-content p{font-size:.95rem;line-height:1.6;color:#555;margin-bottom:1rem}
.review-stars{color:#ffc107;font-size:1.2rem;letter-spacing:2px}

/* Our Visuals */
.visuals-section{background:#fff;padding:5rem 0}
.visuals-section h2{text-align:center;font-size:3rem;margin-bottom:3rem;color:#000}
.visuals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.visual-item{overflow:hidden;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,0.08)}
.visual-item.large{grid-column:span 1}
.visual-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.visual-item:hover img{transform:scale(1.05)}

/* Our Articles */
.articles-section{background:#f7f8f6;padding:5rem 0}
.articles-section h2{text-align:center;font-size:3rem;margin-bottom:3rem;color:#000}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.article-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.08);transition:transform .3s ease,box-shadow .3s ease}
.article-card:hover{transform:translateY(-8px);box-shadow:0 16px 36px rgba(0,0,0,0.12)}
.article-image{position:relative;overflow:hidden;height:320px}
.article-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.article-card:hover .article-image img{transform:scale(1.1)}
.article-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,0.75),transparent);color:#fff}
.article-overlay h3{font-size:1.5rem;margin-bottom:.5rem;font-weight:700}
.article-subtitle{font-size:.95rem;opacity:.9}
.article-content{padding:1.5rem;text-align:center}
.article-content h4{font-size:1.3rem;margin-bottom:1rem;color:#000}
.article-content .btn{padding:.75rem 2rem}

/* Contact */
.contact-hero{padding:3rem 0;background:#fff}
.contact-hero-media img{max-width:100%;border-radius:var(--radius);box-shadow:0 8px 20px rgba(7,18,16,0.04)}

.contact-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;margin-top:2rem}
.contact-card{background:#fff;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,0.1);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.contact-card:hover{transform:translateY(-8px);box-shadow:0 16px 36px rgba(0,0,0,0.15)}
.contact-card-header{background:linear-gradient(135deg,#2f8c87,#1c5f5a);color:#fff;padding:1.5rem 2rem;text-align:center}
.contact-card-header h3{font-size:1.8rem;font-weight:700;margin:0}
.contact-card-body{padding:2rem}
.contact-info-item{margin-bottom:1.5rem}
.contact-info-item:last-child{margin-bottom:0}
.contact-btn{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.5rem;border-radius:12px;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,0.08)}
.contact-btn:hover{transform:translateX(8px);box-shadow:0 6px 16px rgba(0,0,0,0.12)}
.contact-btn.phone-btn{background:linear-gradient(135deg,#2f8c87,#1c5f5a);color:#fff}
.contact-btn.email-btn{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff}
.contact-btn.address-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}
.contact-icon{width:28px;height:28px;flex-shrink:0}
.contact-btn span{font-size:1.05rem;font-weight:600}
.hours-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #e6e6e6}
.hours-item:last-of-type{border-bottom:none}
.hours-day{font-weight:700;color:#0f2623;font-size:1.1rem}
.hours-time{color:#555;font-size:1rem}
.emergency-note{margin-top:1.5rem;padding:1.2rem;background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;color:#856404;font-size:.95rem;line-height:1.6}

.map-section{padding:4rem 0;background:#f7f8f6}
.map-container{border-radius:16px;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,0.15);margin-bottom:2rem}
.map-container iframe{display:block;width:100%}
.map-link-wrapper{text-align:center}
.btn-map-open{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;background:linear-gradient(135deg,#2f8c87,#1c5f5a);color:#fff;text-decoration:none;border-radius:12px;font-weight:700;font-size:1.1rem;box-shadow:0 8px 20px rgba(47,140,135,0.3);transition:transform .3s ease,box-shadow .3s ease}
.btn-map-open:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(47,140,135,0.4)}
.map-icon{width:24px;height:24px}

.contact-details .contact-list{list-style:none;padding:0;margin:0}
.contact-details li{margin-bottom:.5rem}
.contact-form-section form{max-width:780px;margin:0 auto;display:grid;gap:.75rem}
.contact-form-section input,.contact-form-section textarea{width:100%;padding:.8rem;border:1px solid #e6e6e6;border-radius:10px;background:#fff}
.contact-form-section label{display:block;font-size:.95rem;color:var(--muted)}
.contact-form-section .btn.primary{padding:.85rem 1.25rem;border-radius:10px}

/* Footer */
.site-footer{background:linear-gradient(90deg,#123530,#0f2623);color:var(--header-text);padding:3rem 0 0 0}
.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,0.1)}
.footer-social{}
.footer-label{font-size:.9rem;margin-bottom:1rem;opacity:.9}
.social-icons{display:flex;gap:1rem}
.social-icons a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:rgba(255,255,255,0.1);border-radius:50%;transition:background .2s ease,transform .2s ease}
.social-icons a:hover{background:rgba(255,255,255,0.2);transform:translateY(-3px)}
.social-icons svg{width:24px;height:24px;fill:var(--header-text)}
.footer-nav{display:flex;flex-direction:column;gap:.75rem;align-items:center}
.footer-nav a{color:var(--header-text);text-decoration:underline;font-size:1.1rem;font-weight:700;transition:opacity .2s ease}
.footer-nav a:hover{opacity:.8}
.footer-contact h4{font-size:1.2rem;margin-bottom:.75rem;font-weight:700}
.footer-contact p{font-size:.95rem;margin-bottom:.5rem;line-height:1.6}
.footer-contact a{color:var(--header-text);text-decoration:none;transition:opacity .2s ease}
.footer-contact a:hover{opacity:.8}
.footer-bottom{text-align:center;padding:1.5rem 0;font-size:.9rem;opacity:.9}
.footer-bottom strong{font-weight:700}

/* Utilities */
.container-narrow{max-width:900px;margin:0 auto}

/* Responsive */
@media(max-width:1100px){
  #home.hero{min-height:540px}
  #home.hero::before{background-position:60% 58%}
  .hero-inner{margin-left:2.5rem;padding:1.5rem 1.75rem;max-width:420px}
  .hero-copy h1{font-size:2.2rem}
  .journey-grid{grid-template-columns:1fr;gap:2rem}
  .journey-content h2{font-size:2.2rem}
  .journey-cols{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr 320px}
}
@media(max-width:800px){
  #home.hero{min-height:480px}
  #home.hero::before{animation-duration:20s;background-position:55% 55%}
  @keyframes heroZoomSlide{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
  .hero-inner{padding:1.4rem 1.2rem;margin-left:1rem;margin-right:1rem;max-width:90%}
  .hero-copy h1{font-size:1.65rem;line-height:1.3}
  .hero-copy .lead{font-size:0.92rem;margin-bottom:1.2rem}
  .hero-copy .eyebrow{font-size:0.8rem;margin-bottom:.45rem}
  .hero-copy .lead{font-size:1rem}
  .hero-sidebar{position:fixed;right:0;top:50%;transform:translateY(-50%);flex-direction:column;gap:.35rem}
  .hero-sidebar .side-btn{writing-mode:vertical-rl;transform:rotate(180deg);padding:.75rem .6rem;border-radius:0 10px 10px 0;font-size:.8rem}
  .who-grid{grid-template-columns:1fr;gap:2rem}
  .who-content h2{font-size:2rem}
  .who-item h3{font-size:1.2rem}
  .journey-grid{grid-template-columns:1fr;gap:2rem}
  .journey-content h2{font-size:1.8rem}
  .journey-cols{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr;gap:2rem}
  .why-content h2{font-size:2rem}
  .why-item h3{font-size:1.2rem}
  .values-grid{grid-template-columns:1fr;gap:2rem}
  .values-list li{font-size:1.5rem}
  .cta-phone{flex-direction:column;gap:.5rem}
  .phone-number{font-size:1.8rem}
  .cta-text{font-size:1rem}
  .cta-buttons{flex-direction:column;align-items:stretch}
  .marquee-inner span{font-size:1.2rem}
  .reviews-section h2{font-size:2rem}
  .reviews-grid{grid-template-columns:1fr;gap:1.5rem}
  .review-image{height:200px}
  .visuals-section h2{font-size:2rem}
  .visuals-grid{grid-template-columns:1fr;gap:.75rem}
  .visual-item.large{grid-row:auto}
  .articles-section h2{font-size:2rem}
  .articles-grid{grid-template-columns:1fr;gap:1.5rem}
  .article-image{height:280px}
  .footer-main{grid-template-columns:1fr;gap:2rem;text-align:center}
  .social-icons{justify-content:center}
  .footer-nav{align-items:center}
  .two-col{grid-template-columns:1fr;gap:1rem;padding:2rem 0}
  .main-nav{display:none}
  .main-nav.open{display:block !important}
  .menu-toggle{display:block}
  .brand .logo{height:46px}
  .columns{flex-direction:column}
  .hero h1{font-size:2.5rem !important}
  .contact-cards-grid{grid-template-columns:1fr;gap:1.5rem}
  .contact-card-header h3{font-size:1.5rem}
  .contact-btn{padding:1rem 1.2rem}
  .contact-btn span{font-size:.95rem}
  .hours-item{flex-direction:column;align-items:flex-start;gap:.3rem}
  .map-container iframe{height:350px}
  .btn-map-open{padding:.85rem 1.8rem;font-size:1rem}
}
@media(prefers-reduced-motion:reduce){
  .btn{transition:none}
}

/* Schedule a Call Page */
.schedule-hero{background:#2f8c87;color:#fff;padding:4rem 0 3rem;text-align:center}
.schedule-hero h1{font-size:3rem;margin-bottom:1rem;color:#fff}
.schedule-intro{font-size:1.3rem;margin-bottom:.5rem;font-weight:500}
.schedule-subtitle{font-size:1rem;opacity:.9}
.schedule-form-section{padding:4rem 0;background:#fff}
.schedule-form{max-width:800px;margin:0 auto;background:#f7f8f6;padding:3rem;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,0.08)}
.form-section{margin-bottom:2.5rem}
.form-section-title{font-size:1.5rem;color:#2f8c87;margin-bottom:1.5rem;font-weight:700;border-bottom:2px solid #2f8c87;padding-bottom:.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.form-group{margin-bottom:1.5rem}
.form-group label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:.95rem}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2f8c87}
.form-group textarea{resize:vertical;min-height:120px}
.time-picker{display:flex;gap:.5rem;align-items:center}
.time-picker select{flex:1}
.time-separator{font-size:1.5rem;font-weight:700;color:#333}
.form-submit{text-align:center;margin-top:2rem}
.btn-large{padding:1rem 3rem;font-size:1.1rem}

/* Team Cards */
.team-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px rgba(0,0,0,0.15) !important}

/* Home Care Form Section */
.home-care-form-section{background:#f7f8f6;padding:5rem 0}
.form-card{max-width:900px;margin:0 auto;background:#fff;border-radius:20px;padding:3.5rem;box-shadow:0 12px 48px rgba(0,0,0,0.1);border:1px solid #e6eeec}
.form-card h2{font-size:2.5rem;color:#0f2623;text-align:center;margin-bottom:1rem}
.form-intro{text-align:center;color:#555;font-size:1.1rem;margin-bottom:2.5rem}
.home-care-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
.home-care-form .form-group{margin-bottom:1.5rem}
.home-care-form .form-group label{display:block;font-weight:600;color:#0f2623;margin-bottom:.6rem;font-size:1rem}
.home-care-form .required{color:#e74c3c;font-weight:700}
.home-care-form input[type="text"],
.home-care-form input[type="email"],
.home-care-form input[type="tel"],
.home-care-form input[type="date"]{width:100%;padding:.9rem 1.1rem;border:2px solid #d6e2df;border-radius:10px;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;background:#fff}
.home-care-form input:focus{outline:none;border-color:#2f8c87;box-shadow:0 0 0 3px rgba(47,140,135,0.15)}
.radio-group{display:flex;flex-direction:column;gap:.8rem;margin-top:.8rem}
.radio-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem 1rem;border:2px solid #e6eeec;border-radius:10px;transition:all .2s ease;background:#f9fafa}
.radio-label:hover{border-color:#2f8c87;background:#fff}
.radio-label input[type="radio"]{width:20px;height:20px;cursor:pointer;accent-color:#2f8c87}
.radio-label span{font-size:.95rem;color:#333;font-weight:500}
.radio-label input[type="radio"]:checked + span{color:#2f8c87;font-weight:600}
.btn-submit{width:100%;padding:1.1rem 2rem;background:linear-gradient(135deg,#2f8c87,#1c5f5a);color:#fff;border:none;border-radius:12px;font-size:1.15rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 12px 32px rgba(47,140,135,0.3);margin-top:1rem}
.btn-submit:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(47,140,135,0.4)}
.btn-submit:active{transform:translateY(-1px)}

/* Caregiver Application Form */
.caregiver-application-section{background:#fff;padding:5rem 0}
.caregiver-application-form .form-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #e6eeec}
.caregiver-application-form .form-section:last-of-type{border-bottom:none}
.section-title{font-size:1.5rem;color:#2f8c87;margin-bottom:1.5rem;font-weight:700}
.caregiver-application-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
.caregiver-application-form .form-group{margin-bottom:1.5rem}
.caregiver-application-form .form-group label{display:block;font-weight:600;color:#0f2623;margin-bottom:.6rem;font-size:1rem}
.caregiver-application-form input[type="text"],
.caregiver-application-form input[type="email"],
.caregiver-application-form input[type="tel"],
.caregiver-application-form textarea{width:100%;padding:.9rem 1.1rem;border:2px solid #d6e2df;border-radius:10px;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;background:#fff}
.caregiver-application-form input:focus,
.caregiver-application-form textarea:focus{outline:none;border-color:#2f8c87;box-shadow:0 0 0 3px rgba(47,140,135,0.15)}
.caregiver-application-form textarea{resize:vertical;min-height:100px}
.checkbox-group{display:flex;flex-direction:column;gap:.8rem;margin-top:.8rem}
.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem 1rem;border:2px solid #e6eeec;border-radius:10px;transition:all .2s ease;background:#f9fafa}
.checkbox-label:hover{border-color:#2f8c87;background:#fff}
.checkbox-label input[type="checkbox"]{width:20px;height:20px;cursor:pointer;accent-color:#2f8c87}
.checkbox-label span{font-size:.95rem;color:#333;font-weight:500}
.checkbox-label input[type="checkbox"]:checked + span{color:#2f8c87;font-weight:600}
.file-upload-area{border:2px dashed #d6e2df;border-radius:10px;padding:2rem;text-align:center;background:#f9fafa;cursor:pointer;transition:all .2s ease;margin-top:.5rem}
.file-upload-area:hover{border-color:#2f8c87;background:#fff}
.file-upload-text{color:#555;font-size:1rem;margin:0}
.file-upload-area.has-file{border-color:#2f8c87;background:#e8f3f1}
.file-upload-area.has-file .file-upload-text{color:#2f8c87;font-weight:600}
.form-buttons{display:flex;gap:1rem;margin-top:2rem}
.btn-add-cv{flex:1;padding:1.1rem 2rem;background:#fff;color:#2f8c87;border:2px solid #2f8c87;border-radius:12px;font-size:1.15rem;font-weight:700;cursor:pointer;transition:all .2s ease}
.btn-add-cv:hover{background:#2f8c87;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(47,140,135,0.25)}
.form-buttons .btn-submit{flex:2;margin-top:0}

@media(max-width:768px){
  .schedule-hero h1{font-size:2rem}
  .schedule-form{padding:2rem 1.5rem}
  .form-row{grid-template-columns:1fr}
  .time-picker{flex-wrap:wrap}
  .form-card{padding:2rem 1.5rem}
  .form-card h2{font-size:2rem}
  .home-care-form .form-row{grid-template-columns:1fr}
  .caregiver-application-form .form-row{grid-template-columns:1fr}
  .form-buttons{flex-direction:column}
  .btn-add-cv,.form-buttons .btn-submit{flex:1}
}

/* ===== Caregiver Jobs Lightbox ===== */
.lightbox-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);z-index:10000;opacity:0;transition:opacity .3s ease;overflow-y:auto;padding:1rem}
.lightbox-overlay.active{display:flex;align-items:center;justify-content:center}
.lightbox-overlay.show{opacity:1}
.lightbox-content{background:#fff;border-radius:20px;padding:2.5rem;max-width:600px;width:100%;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3);transform:scale(.9);transition:transform .3s ease}
.lightbox-overlay.show .lightbox-content{transform:scale(1)}
.lightbox-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:2.5rem;line-height:1;cursor:pointer;color:#999;transition:color .2s ease,transform .2s ease;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.lightbox-close:hover{color:#333;background:rgba(0,0,0,.05);transform:rotate(90deg)}
.lightbox-title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:2rem;color:#0f2623}
.lightbox-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.lightbox-card{text-align:center;padding:2rem 1rem;border-radius:15px;background:#f7f8f6;border:2px solid #e6eeec;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.lightbox-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(47,140,135,.15);border-color:var(--accent)}
.lightbox-card-icon{width:120px;height:90px;margin:0 auto 1.5rem;color:var(--accent)}
.lightbox-card-icon svg{width:100%;height:100%}
.lightbox-btn{display:inline-block;background:var(--accent);color:#fff;padding:1rem 2rem;border-radius:50px;text-decoration:none;font-weight:700;font-size:1.1rem;transition:background .2s ease,transform .2s ease;box-shadow:0 4px 15px rgba(47,140,135,.3)}
.lightbox-btn:hover{background:var(--accent-dark);transform:scale(1.05)}
@media(max-width:768px){
.lightbox-content{padding:2rem 1.5rem;max-width:95%;margin:auto}
.lightbox-title{font-size:1.5rem;margin-bottom:1.5rem}
.lightbox-cards{grid-template-columns:1fr;gap:1rem}
.lightbox-card{padding:1.5rem 1rem}
.lightbox-card-icon{width:100px;height:75px;margin-bottom:1rem}
.lightbox-btn{padding:.85rem 1.5rem;font-size:1rem}
.lightbox-close{width:35px;height:35px;font-size:2rem}
}
@media(max-width:480px){
.lightbox-overlay{padding:.5rem}
.lightbox-content{padding:1.5rem 1rem}
.lightbox-title{font-size:1.3rem}
.lightbox-card{padding:1.25rem .75rem}
.lightbox-card-icon{width:80px;height:60px}
.lightbox-btn{padding:.75rem 1.25rem;font-size:.95rem}
}

/* ===== Search Results ===== */
.header-search{position:relative}
.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.15);max-height:400px;overflow-y:auto;z-index:1000;display:none}
.search-result-item{display:block;padding:0.85rem 1rem;border-bottom:1px solid #e6eeec;text-decoration:none;color:#0f2623;transition:background .2s ease}
.search-result-item:hover{background:rgba(47,140,135,0.06)}
.search-result-item:last-child{border-bottom:none}
.search-result-title{font-weight:600;font-size:0.95rem;margin-bottom:0.25rem;color:#0f2623}
.search-result-title mark{background:#ffd54f;color:#0f2623;padding:0.1em 0.2em;border-radius:3px;font-weight:700}
.search-result-url{font-size:0.8rem;color:var(--accent);opacity:0.8}
.search-no-results{padding:1.5rem;text-align:center;color:var(--muted);font-size:0.9rem}

/* ============================================
   TABLET RESPONSIVE (769px - 1024px)
   ============================================ */
@media (min-width: 769px) and (max-width: 1024px) {
  /* Container */
  .container{max-width:95%;padding:0.85rem}
  
  /* Topbar */
  .topbar{font-size:0.85rem}
  .topbar .topbar-inner{padding:0.35rem 0;gap:0.75rem}
  .topbar .top-right{gap:0.5rem}
  .topbar .btn.small{padding:0.4rem 0.6rem;font-size:0.85rem}
  
  /* Header */
  .site-header .container{padding:0.75rem 0.85rem}
  .brand .logo{height:75px}
  .main-nav{gap:0.9rem;font-size:0.95rem}
  .main-nav a{padding:0.6rem 0.85rem}
  .main-nav .cta{padding:0.6rem 0.9rem}
  .header-search input{width:120px;padding:0.5rem 0.65rem}
  
  /* Hero */
  #home.hero{min-height:550px}
  .hero-inner{max-width:400px;padding:1.5rem 2rem;margin-left:3rem}
  .hero-copy h1{font-size:2.3rem}
  .hero-copy .lead{font-size:0.95rem}
  .hero-cta .btn{padding:0.75rem 1.3rem;font-size:0.95rem}
  .hero-sidebar .side-btn{padding:0.9rem 0.75rem;font-size:0.9rem}
  
  /* Who We Are */
  .who{padding:4rem 0}
  .who-grid{gap:2.5rem}
  .who-content h2{font-size:2.4rem;margin-bottom:1.2rem}
  .who-list{gap:1.5rem;margin-bottom:1.75rem}
  .who-item{gap:1rem}
  .who-item .who-icon{width:70px;height:70px}
  .who-item h3{font-size:1.25rem}
  .who-item p{font-size:0.95rem}
  .btn-teal{padding:0.85rem 2rem;font-size:0.95rem}
  
  /* Cards */
  .cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0.9rem}
  .card{padding:1.1rem}
  .card img{width:50px;height:50px}
  .card h3{font-size:1rem}
  
  /* Journey */
  .journey{padding:4rem 0}
  .journey-content h2{font-size:2.2rem}
  .journey-content p{font-size:1rem}
  .journey-cols{gap:1.5rem}
  .journey-col h3{font-size:1.3rem}
  
  /* Reviews */
  .reviews{padding:4rem 0}
  .reviews h2{font-size:2.2rem}
  .reviews-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}
  
  /* Footer */
  .footer-main{gap:2rem}
  .footer-col h4{font-size:1.1rem}
  .footer-col a{font-size:0.9rem}
  
  /* Lightbox */
  .lightbox-content{max-width:550px;padding:2rem 2.5rem}
  .lightbox-title{font-size:1.7rem}
  .lightbox-cards{gap:1.25rem}
  .lightbox-card{padding:1.75rem 0.9rem}
  .lightbox-card-icon{width:110px;height:85px}
  .lightbox-btn{padding:0.9rem 1.75rem;font-size:1rem}
}

/* ============================================
   MOBILE RESPONSIVE (max-width: 768px)
   ============================================ */
@media (max-width: 768px) {
  /* Reset and Container - Fix Horizontal Scroll */
  html,body{overflow-x:hidden;width:100%;max-width:100vw}
  body{position:relative}
  .container{max-width:100%;padding:0 1rem;width:100%}
  
  /* Topbar - Stack or Hide */
  .topbar{font-size:0.8rem;width:100%;overflow:hidden;margin-bottom:20px}
  .topbar .topbar-inner{flex-direction:column;padding:0.5rem 0;gap:0.5rem;text-align:center;max-width:100%}
  .topbar .top-left{font-size:0.8rem}
  .topbar .top-right{flex-wrap:wrap;justify-content:center;gap:0.5rem}
  .topbar .btn.small{padding:0.35rem 0.55rem;font-size:0.75rem}
  .topbar .phone-icon{width:14px;height:14px}
  
  /* Header - Burger Menu Visible */
  .site-header{width:100%;overflow:visible}
  .site-header .container{padding:0.6rem 1rem;display:flex;justify-content:space-between;align-items:center;max-width:100%}
  .brand{order:1}
  .brand .logo{height:65px}
  .header-actions{display:flex !important;order:3;align-items:center}
  
  /* Hero - Single Column */
  #home.hero{min-height:450px;padding:2rem 0;width:100%}
  #home.hero::before{background-position:55% 55%}
  .hero-inner{margin:0 auto;max-width:90%;padding:1.5rem 1.25rem}
  .hero-copy{text-align:center}
  .hero-copy .eyebrow{font-size:0.8rem;margin-bottom:0.5rem}
  .hero-copy h1{font-size:1.8rem;margin-bottom:0.6rem}
  .hero-copy .lead{font-size:0.9rem;margin-bottom:1.2rem;line-height:1.4}
  .hero-cta .btn{padding:0.75rem 1.25rem;font-size:0.9rem;display:block;margin:0.5rem auto;width:100%;max-width:280px;text-align:center}
  
  /* Hero Sidebar - Keep on Right Side for Mobile */
  .hero-sidebar{position:fixed;right:0;top:50%;transform:translateY(-50%);flex-direction:column;gap:0.35rem;z-index:998;width:auto}
  .hero-sidebar .side-btn{writing-mode:vertical-rl;transform:rotate(180deg);padding:0.85rem 0.65rem;border-radius:0 10px 10px 0;font-size:0.85rem;max-width:none;box-shadow:-4px 0 15px rgba(47,140,135,0.2)}
  .hero-sidebar .side-btn.resources{border-radius:0 10px 10px 0}
  
  /* Sections - Single Column */
  section{padding:2.5rem 0;width:100%;overflow:hidden}
  h2{font-size:1.8rem;margin-bottom:0.6rem;text-align:center}
  
  /* Cards - Stack */
  .cards{grid-template-columns:1fr;gap:1rem;margin-top:1.5rem;width:100%}
  .card{padding:1.5rem 1.25rem;text-align:center}
  .card img{width:48px;height:48px;margin:0 auto 0.75rem}
  .card h3{font-size:1.1rem;margin-bottom:0.5rem}
  .card p{font-size:0.9rem}
  
  /* Who We Are - Stack */
  .who{padding:3rem 0;width:100%;overflow:hidden}
  .who-grid{grid-template-columns:1fr;gap:2rem;width:100%}
  .who-image{order:2;max-width:100%}
  .who-image img{max-width:100%;height:auto}
  .who-content{order:1;text-align:center}
  .who-content h2{font-size:2rem;margin-bottom:1.2rem}
  .who-list{gap:1.5rem;margin-bottom:1.75rem;width:100%}
  .who-item{flex-direction:column;text-align:center;align-items:center}
  .who-item .who-icon{width:65px;height:65px;margin-bottom:0.5rem}
  .who-item h3{font-size:1.2rem;margin-bottom:0.35rem}
  .who-item p{font-size:0.9rem;max-width:300px}
  .btn-teal{padding:0.85rem 2rem;font-size:0.95rem;display:block;margin:0 auto;max-width:280px;text-align:center}
  
  /* Journey - Stack */
  .journey{padding:3rem 0;width:100%;overflow:hidden}
  .journey-grid{grid-template-columns:1fr;gap:2rem;width:100%}
  .journey-image{order:2;max-width:100%}
  .journey-image img{max-width:100%;height:auto}
  .journey-content{order:1;text-align:center}
  .journey-content h2{font-size:2rem;margin-bottom:1rem}
  .journey-content p{font-size:0.95rem;margin-bottom:1.5rem}
  .journey-cols{grid-template-columns:1fr;gap:1.25rem;width:100%}
  .journey-col{text-align:center;padding:1.25rem}
  .journey-col .journey-icon{margin:0 auto 0.75rem;width:70px;height:70px}
  .journey-col h3{font-size:1.15rem;margin-bottom:0.5rem}
  .journey-col p{font-size:0.85rem}
  
  /* Reviews - Stack */
  .reviews{padding:3rem 0;width:100%;overflow:hidden}
  .reviews h2{font-size:2rem;margin-bottom:1.5rem;text-align:center}
  .reviews-grid{grid-template-columns:1fr;gap:1.25rem;width:100%}
  .review-card{padding:1.5rem 1.25rem}
  .review-header{flex-direction:column;align-items:center;text-align:center;margin-bottom:1rem}
  .review-avatar{width:60px;height:60px;margin-bottom:0.5rem}
  .review-info h4{font-size:1.05rem}
  .review-info .review-role{font-size:0.85rem}
  .review-text{font-size:0.9rem;line-height:1.5;word-wrap:break-word}
  .review-rating{justify-content:center;margin-top:0.75rem}
  
  /* Footer - Stack */
  .site-footer{padding:2.5rem 0 1.5rem;width:100%;overflow:hidden}
  .footer-main{grid-template-columns:1fr;gap:2rem;text-align:center;width:100%}
  .footer-brand .footer-logo{height:75px;margin:0 auto 1rem}
  .footer-col h4{font-size:1.1rem;margin-bottom:0.75rem}
  .footer-col ul{gap:0.5rem}
  .footer-col a{font-size:0.9rem;padding:0.5rem 0;word-wrap:break-word}
  .footer-social{flex-direction:column;gap:1rem;align-items:center}
  .social-icons{justify-content:center}
  .footer-bottom{flex-direction:column;gap:0.75rem;text-align:center;padding:1.25rem 0 0}
  
  /* Buttons - Touch Friendly */
  .btn,.btn-teal,.hero-cta .btn{min-height:44px;padding:0.75rem 1.5rem;font-size:0.95rem}
  
  /* Images - Responsive */
  img{max-width:100%;height:auto;display:block}
  
  /* All grids and containers - prevent overflow */
  *{max-width:100%}
  .container,.container *{box-sizing:border-box}
  
  /* Contact Forms */
  .contact-cards-grid{grid-template-columns:1fr;gap:1.5rem;width:100%}
  .contact-card{padding:1.5rem 1.25rem;max-width:100%}
  .contact-card-icon{width:50px;height:50px}
  .home-care-form,.caregiver-application-form{padding:2rem 1.25rem;max-width:100%;box-sizing:border-box}
  .home-care-form h3,.caregiver-application-form h3{font-size:1.5rem;margin-bottom:1.25rem}
  .form-group{margin-bottom:1rem;width:100%}
  .form-group label{font-size:0.9rem}
  .form-group input,.form-group select,.form-group textarea{padding:0.65rem 0.75rem;font-size:0.9rem;width:100%;max-width:100%;box-sizing:border-box}
  
  /* Pricing Tables */
  .pricing-grid{grid-template-columns:1fr;gap:1.5rem;width:100%}
  .pricing-card{padding:2rem 1.5rem;max-width:100%}
  .pricing-card h3{font-size:1.5rem}
  .pricing-price{font-size:2.5rem}
  .pricing-features li{font-size:0.9rem;padding:0.6rem 0}
  
  /* Blog Carousel */
  .blog-section{padding:3rem 0;width:100%;overflow:hidden}
  .blog-slides{gap:1rem;width:100%}
  .blog-slide{min-width:100%;padding:1.25rem;box-sizing:border-box}
  .blog-content h3{font-size:1.2rem}
  .blog-content p{font-size:0.85rem}
  
  /* FAQ */
  .faq-section{padding:3rem 0;width:100%;overflow:hidden}
  .faq-item{padding:1.25rem 1rem;max-width:100%}
  .faq-question{font-size:1rem;padding-right:2rem;word-wrap:break-word}
  .faq-answer{font-size:0.85rem;line-height:1.5;word-wrap:break-word}
  
  /* Gallery */
  .visuals-grid{grid-template-columns:1fr;gap:1rem;width:100%}
  
  /* Lightbox - Mobile */
  .lightbox-overlay{padding:1rem;box-sizing:border-box}
  .lightbox-content{max-width:95%;width:95%;padding:1.75rem 1.25rem;margin:1rem auto;box-sizing:border-box}
  .lightbox-title{font-size:1.5rem;margin-bottom:1.5rem}
  .lightbox-cards{grid-template-columns:1fr;gap:1rem;width:100%}
  .lightbox-card{padding:1.5rem 1rem;max-width:100%}
  .lightbox-card-icon{width:90px;height:70px;margin-bottom:1rem}
  .lightbox-btn{padding:0.85rem 1.5rem;font-size:0.95rem;width:100%;box-sizing:border-box}
  .lightbox-close{width:32px;height:32px;font-size:1.8rem;top:0.75rem;right:0.75rem}
  
  /* Search Results - Mobile */
  .search-results{position:fixed;left:1rem;right:1rem;max-width:calc(100vw - 2rem);box-sizing:border-box}
  .search-result-item{padding:0.75rem 0.85rem;word-wrap:break-word}
  .search-result-title{font-size:0.9rem}
  .search-result-url{font-size:0.75rem;word-wrap:break-word}
  
  /* Service Pages Hero */
  section.hero{min-height:40vh !important;padding:2rem 1rem;width:100%;overflow:hidden;background-size:cover !important;background-position:center center !important;background-attachment:scroll !important}
  section.hero h1{font-size:2rem !important;line-height:1.3 !important;padding:0 1rem;word-wrap:break-word}
  
  /* Inline style hero sections (Companion Care, Personal Care, etc) */
  main section[style*="min-height: 500px"]{min-height:40vh !important;background-attachment:scroll !important}
  main section[style*="background: url"]{background-size:cover !important;background-position:center center !important}
  main section.hero[style]{min-height:40vh !important;background-size:cover !important;background-position:center center !important}
  
  /* Two Column Layouts */
  .two-col{grid-template-columns:1fr;gap:2rem;width:100%}
  
  /* Service pages - 2 column layouts mobile */
  section div[style*="grid-template-columns: 1fr 1fr"]{display:flex !important;flex-direction:column !important;gap:2rem !important}
  section div[style*="grid-template-columns: 1fr 1fr"] > div:first-child{order:2 !important}
  section div[style*="grid-template-columns: 1fr 1fr"] > div:last-child{order:1 !important}
  section div[style*="grid-template-columns: 1fr 1fr"] img{width:100% !important;max-width:100% !important;height:auto !important}
  section div[style*="grid-template-columns: 1fr 1fr"] h2{font-size:1.8rem !important;text-align:center !important;margin-bottom:1.5rem !important}
  section div[style*="grid-template-columns: 1fr 1fr"] h3{font-size:1.4rem !important;text-align:center !important}
  section div[style*="grid-template-columns: 1fr 1fr"] p{font-size:1rem !important;text-align:left !important;line-height:1.6 !important}
  section div[style*="grid-template-columns: 1fr 1fr"] ul{font-size:0.95rem !important}
  section div[style*="grid-template-columns: 1fr 1fr"] ul li{font-size:0.95rem !important;line-height:1.6 !important}
  
  /* Service pages - icon + heading combos */
  section div[style*="display: flex"][style*="gap: 1rem"]{flex-direction:column !important;align-items:center !important;text-align:center !important}
  section div[style*="display: flex"][style*="gap: 1rem"] svg{width:48px !important;height:48px !important;margin-bottom:0.5rem !important}
  section div[style*="display: flex"][style*="gap: 1rem"] h2{font-size:1.6rem !important}
  section div[style*="display: flex"][style*="gap: 1rem"] h3{font-size:1.3rem !important}
  
  /* Schedule Form */
  .schedule-form{padding:2rem 1.25rem;max-width:100%;box-sizing:border-box}
  .schedule-form h2{font-size:1.75rem;margin-bottom:1.25rem}
  .time-select{flex-direction:column;gap:0.75rem;width:100%}
  .time-select select{width:100%;max-width:100%}
  
  /* Careers Page */
  .careers-hero{padding:3rem 0;width:100%;overflow:hidden}
  .careers-hero h1{font-size:2rem}
  .careers-benefits{grid-template-columns:1fr;gap:1.25rem;width:100%}
  .benefit-card{padding:1.5rem 1.25rem}
  
  /* About Us Page */
  .team-grid{grid-template-columns:1fr;gap:1.5rem;width:100%}
  .team-member{padding:1.5rem 1.25rem;max-width:100%}
  .team-photo{width:100px;height:100px;margin-bottom:1rem}
  
  /* About Us - First Section */
  section[style*="padding: 5rem 0"]{padding:3rem 1rem !important}
  section[style*="padding: 5rem 0"] p{font-size:1.05rem !important;line-height:1.65 !important;margin-bottom:1.5rem !important}
  section[style*="padding: 5rem 0"] h2{font-size:2rem !important;margin:2.5rem 0 1.5rem 0 !important}
  section[style*="padding: 5rem 0"] div[style*="display: flex"]{flex-direction:column !important;gap:1rem !important}
  section[style*="padding: 5rem 0"] a{display:block !important;width:100% !important;max-width:100% !important;text-align:center !important;padding:0.9rem 1.5rem !important;font-size:1rem !important}
  
  /* About Us - Our Team Cards */
  #our-team{padding:3rem 1rem !important}
  #our-team h2{font-size:2rem !important;margin-bottom:2rem !important}
  #our-team div[style*="display: grid"]{grid-template-columns:1fr !important;gap:1.5rem !important;width:100%}
  .team-card{max-width:100% !important;margin:0 auto}
  .team-card img{height:280px !important;object-fit:cover}
  .team-card div[style*="padding"]{padding:1.25rem 1rem !important}
  .team-card h3{font-size:1.3rem !important}
  .team-card p{font-size:0.95rem !important}
  
  /* About Us - Values Section */
  .values{padding:3rem 0;width:100%;overflow:hidden}
  .values-grid{grid-template-columns:1fr;gap:2rem}
  .values-image{order:2}
  .values-content{order:1;text-align:center}
  .values-list{font-size:1.05rem;line-height:1.8}
  .values-list li{margin-bottom:1rem}
  .video-btn{margin:2rem auto}
  .circle-wrapper{width:120px;height:120px}
  .play-btn{width:50px;height:50px;font-size:1.5rem}
  
  /* About Us - CTA Section */
  .cta-section{padding:3rem 1rem;width:100%;overflow:hidden}
  .cta-content{text-align:center;padding-bottom:2rem}
  .cta-phone{flex-direction:column;gap:0.75rem;margin-bottom:1.5rem}
  .phone-icon{width:50px;height:50px}
  .phone-number{font-size:1.5rem}
  .cta-text{font-size:1rem;line-height:1.6;margin-bottom:2rem}
  .cta-buttons{flex-direction:column;gap:1rem;width:100%;margin-bottom:2rem}
  .cta-buttons .btn{width:100%;max-width:100%;padding:1rem 1.5rem;font-size:1rem}
  
  /* Introduction to In-Home Care - How It Works cards */
  section div[style*="grid-template-columns: repeat(4, 1fr)"]{grid-template-columns:1fr !important;gap:1.5rem !important}
  section div[style*="grid-template-columns: repeat(4, 1fr)"] .team-card{padding:2rem 1.5rem !important}
  section div[style*="grid-template-columns: repeat(4, 1fr)"] h3{font-size:1.3rem !important}
  
  /* Careers - What We Offer cards */
  section div[style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 2.5rem"]{grid-template-columns:1fr !important;gap:1.5rem !important}
  .offer-card{padding:2rem 1.5rem !important;margin-bottom:1rem}
  .offer-card h4{font-size:1.3rem !important}
  
  /* Careers - Compensation cards */
  .compensation-card{margin-bottom:1.5rem !important}
  .compensation-card div[style*="min-height: 280px"]{min-height:auto !important}
  .compensation-card .btn{font-size:1rem !important;padding:0.85rem !important}
  
  /* Utility Classes */
  .text-center-mobile{text-align:center}
  .hide-mobile{display:none !important}
  .show-mobile{display:block !important}
  
  /* Global overflow prevention */
  main,section,div{max-width:100vw;box-sizing:border-box}
}

/* Extra Small Devices (max-width: 480px) */
@media (max-width: 480px) {
  html,body{max-width:100vw}
  .container{padding:0 0.85rem;max-width:100%}
  
  /* Hero */
  #home.hero{min-height:400px}
  section.hero:not(#home){min-height:40vh !important;background-size:cover !important;background-position:center center !important}
  .hero-copy h1{font-size:1.5rem}
  .hero-copy .lead{font-size:0.85rem}
  .hero-sidebar .side-btn{font-size:0.75rem;padding:0.75rem 0.55rem}
  
  /* Typography */
  h2{font-size:1.6rem}
  h3{font-size:1.15rem}
  p{font-size:0.9rem}
  
  /* Cards */
  .card{padding:1.25rem 1rem}
  
  /* Forms */
  .form-group input,.form-group select,.form-group textarea{font-size:16px} /* Prevent zoom on iOS */
  
  /* Lightbox */
  .lightbox-content{padding:1.5rem 1rem}
  .lightbox-title{font-size:1.3rem}
  .lightbox-card-icon{width:75px;height:55px}
}

/* Netlify Forms - hide honeypot */
.hidden{display:none!important}

/* Fix: Reviews images - don't cut heads (mobile only) */
@media (max-width: 768px){
  .review-image{height:auto !important;}
  .review-image img{
    height:auto !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
}
/* Fix: Team images - don't cut heads (mobile only) */
@media (max-width: 768px){
  .team-card img{
    height:auto !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
}
/* Safari specific fixes - CRITICAL for proper display */
@supports (-webkit-touch-callout: none) {
  /* FORCE sidebar buttons to stay visible and properly sized */
  .hero-sidebar {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  .hero-sidebar .side-btn {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    -webkit-transform: rotate(180deg) translateZ(0) !important;
    transform: rotate(180deg) translateZ(0) !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    font-size: .95rem !important;
    min-width: 44px !important;
    min-height: 100px !important;
    width: auto !important;
    height: auto !important;
    padding: 1rem .85rem !important;
    position: relative !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    will-change: auto !important;
  }
  
  .hero-sidebar .side-btn.resources {
    display: block !important;
    visibility: visible !important;
  }
  
  /* Safari Desktop ONLY - увеличенные размеры кнопок */
  @media screen and (min-width: 769px) {
    .hero-sidebar .side-btn {
      padding: 1.3rem 1.1rem !important;
      font-size: 1.05rem !important;
      min-height: 130px !important;
      min-width: 52px !important;
      letter-spacing: 0.02em !important;
    }
    
    .hero-sidebar .side-btn:hover {
      padding-right: 1.3rem !important;
    }
  }
}

/* Safari specific fixes for form inputs and buttons */
@supports (-webkit-appearance: none) {
  /* Fix Safari input text visibility and appearance */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="date"],
  textarea,
  select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-text-fill-color: #0f2623;
    color: #0f2623;
    background-color: #fff;
    opacity: 1;
  }
  
  /* Ensure text is visible when typing */
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="search"]:focus,
  input[type="date"]:focus,
  textarea:focus,
  select:focus {
    -webkit-text-fill-color: #0f2623;
    color: #0f2623;
    opacity: 1;
  }
  
  /* Fix Safari button sizing and positioning */
  button,
  input[type="submit"],
  .btn,
  .btn-submit,
  .lightbox-btn,
  .btn-teal,
  .btn-map-open {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform;
  }
  
  /* Fix for date inputs in Safari */
  input[type="date"] {
    min-height: 44px;
    line-height: normal;
  }
  
  /* Prevent form field zoom on iOS Safari */
  @media screen and (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="search"],
    textarea,
    select {
      font-size: 16px;
    }
    
    Keep sidebar buttons visible on mobile Safari
    .hero-sidebar .side-btn {
      padding: .75rem .6rem !important;
      font-size: .8rem !important;
      min-height: 80px !important;
    }
  }
}
