/* ============================================================
   sempersolutus.com homepage rebuild - 2026-10-09
   Loaded ONLY by /index.html (after site-fixes) so it cannot
   change any other page. Every rule is scoped to .home-2026
   or to hp-* classes that exist only on the homepage.
   ============================================================ */

/* ---------- Header ---------- */
.home-2026 .site-header{background:#ffffff;}
.home-2026 .header-inner{padding-block:8px;}
.home-2026 .header-logo img{height:64px;width:auto;}
@media (max-width:767px){.home-2026 .header-logo img{height:50px;}}
.home-2026 .mobile-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center;}

@media (min-width:1024px){
  .home-2026 .nav-desktop.nav-slim{display:flex;align-items:center;gap:24px;}
  .home-2026 .nav-slim > a:not(.nav-cta),
  .home-2026 .nav-more > summary{font-size:0.95rem;font-weight:600;color:#374151;letter-spacing:0;}
  .home-2026 .nav-slim > a:not(.nav-cta):hover,
  .home-2026 .nav-more > summary:hover{color:#1a365d;}
  .home-2026 .nav-slim .nav-cta{font-size:0.95rem;padding:12px 20px;border-radius:10px;}
}
@media (min-width:1024px) and (max-width:1199px){
  .home-2026 .nav-desktop.nav-slim{gap:18px;}
  .home-2026 .nav-slim > a:not(.nav-cta),.home-2026 .nav-more > summary{font-size:0.9rem;}
}

/* "More" dropdown */
.home-2026 .nav-more{position:relative;}
.home-2026 .nav-more > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;user-select:none;}
.home-2026 .nav-more > summary::-webkit-details-marker{display:none;}
.home-2026 .nav-more > summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s ease;}
.home-2026 .nav-more[open] > summary::after{transform:translateY(1px) rotate(225deg);}
.home-2026 .nav-more-menu{position:absolute;right:-12px;top:calc(100% + 6px);min-width:230px;display:grid;padding:8px;background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 18px 40px rgba(15,35,64,0.16);z-index:130;}
.home-2026 .nav-desktop .nav-more-menu a{display:flex;align-items:center;min-height:42px;padding:8px 12px;border-radius:8px;font-size:0.95rem;font-weight:500;color:#1f2937;white-space:nowrap;}
.home-2026 .nav-desktop .nav-more-menu a::after{display:none;}
.home-2026 .nav-desktop .nav-more-menu a:hover{background:#f8f7f4;color:#1a365d;}

/* Phone menu: booking button first, room under the header, scrolls */
.home-2026 .mobile-nav{overflow-y:auto;padding-top:96px;padding-bottom:40px;gap:0;}
.home-2026 .mobile-nav a{min-height:48px;}
.home-2026 .mobile-nav .mobile-cta{justify-content:center;margin:0 0 12px;border-bottom:0;color:#ffffff;}
body.home-2026:has(.mobile-nav.open) .sticky-mobile-cta,
body.home-2026:has(.mobile-nav.open) .compass-launcher{display:none !important;}

/* ---------- Buttons + links ---------- */
.home-2026 .hp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:10px;font-family:var(--font-body);font-weight:700;font-size:1rem;letter-spacing:0.01em;line-height:1.2;text-decoration:none;text-align:center;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;}
.home-2026 .hp-btn svg{width:18px;height:18px;flex:0 0 18px;}
.home-2026 .hp-btn-gold{background:#c5a045;color:#0a1628 !important;}
.home-2026 .hp-btn-gold:hover{background:#d4b565;transform:translateY(-1px);box-shadow:0 8px 20px rgba(197,160,69,0.35);}
.home-2026 .hp-btn-navy{background:#1a365d;color:#ffffff !important;}
.home-2026 .hp-btn-navy:hover{background:#0f2440;transform:translateY(-1px);}
.home-2026 .hp-btn-outline{background:transparent;color:#1a365d !important;border:2px solid #1a365d;}
.home-2026 .hp-btn-outline:hover{background:#1a365d;color:#ffffff !important;}
.home-2026 .hp-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#1a365d !important;font-weight:700;text-decoration:none;}
.home-2026 .hp-link:hover{text-decoration:underline;text-underline-offset:3px;}

/* ---------- Hero ---------- */
.home-2026 .hp-hero{position:relative;display:block;min-height:0;background:#0a1628;overflow:hidden;}
.home-2026 .hp-hero-media,.home-2026 .hp-hero-media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;}
.home-2026 .hp-hero-media img{object-fit:cover;object-position:60% 25%;}
.home-2026 .hp-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,40,0.80) 0%,rgba(10,22,40,0.86) 45%,rgba(10,22,40,0.94) 100%);}
.home-2026 .hp-hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:28px 16px 30px;color:#ffffff;}
.home-2026 .hp-hero-copy{max-width:620px;}
.home-2026 .hp-eyebrow{margin:0 0 12px;max-width:none;font-size:0.8rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#e2c474;}
.home-2026 .hp-hero h1{margin:0 0 14px;font-size:clamp(2rem,1.3rem + 2.6vw,3.3rem) !important;font-weight:700 !important;line-height:1.08 !important;letter-spacing:-0.01em;color:#ffffff;}
.home-2026 .hp-hero h1 .hp-gold{color:#e2c474;}
.home-2026 .hp-hero-sub{margin:0 0 20px;max-width:54ch;font-size:1.05rem;line-height:1.55;color:rgba(255,255,255,0.9);}
.home-2026 .hp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;}
.home-2026 .hp-paths{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 12px;max-width:560px;}
.home-2026 .hp-path{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:11px 14px;border:1px solid rgba(255,255,255,0.24);border-radius:10px;background:rgba(255,255,255,0.07);color:#ffffff !important;text-decoration:none !important;}
.home-2026 .hp-path:hover{border-color:#c5a045;background:rgba(197,160,69,0.14);}
.home-2026 .hp-path-k{font-weight:700;font-size:0.98rem;line-height:1.25;}
.home-2026 .hp-path-k::after{content:" \2192";color:#e2c474;}
.home-2026 .hp-path-v{font-size:0.84rem;line-height:1.3;color:rgba(255,255,255,0.8);}
.home-2026 .hp-rating{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;color:rgba(255,255,255,0.92) !important;text-decoration:none !important;font-size:0.95rem;}
.home-2026 .hp-rating strong{color:#ffffff;}
.home-2026 .hp-rating:hover span:last-child{text-decoration:underline;text-underline-offset:3px;}
.home-2026 .hp-stars{color:#e2c474;letter-spacing:2px;}
@media (max-width:767px){
  .home-2026 .hp-hero .hp-btn{width:100%;}
}
@media (max-width:520px){
  .home-2026 .hp-paths{grid-template-columns:1fr;gap:8px;}
  .home-2026 .hp-path{flex-direction:row;align-items:baseline;flex-wrap:wrap;column-gap:8px;padding:10px 14px;}
}
@media (min-width:768px){
  .home-2026 .hp-hero-inner{padding:64px 32px 72px;}
}
@media (min-width:1024px){
  .home-2026 .hp-hero-media img{object-position:72% 28%;}
  .home-2026 .hp-hero-shade{background:linear-gradient(90deg,rgba(10,22,40,0.97) 0%,rgba(10,22,40,0.93) 36%,rgba(10,22,40,0.55) 60%,rgba(10,22,40,0.12) 100%);}
  .home-2026 .hp-hero-inner{padding:80px 32px 88px;}
}

/* ---------- Proof strip ---------- */
.home-2026 .hp-proof{background:#ffffff;border-bottom:1px solid #ece7dc;}
.home-2026 .hp-proof ul{list-style:none;margin:0 auto;padding:18px 16px;max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;}
.home-2026 .hp-proof li{display:flex;align-items:center;gap:10px;max-width:none;font-size:0.92rem;font-weight:600;line-height:1.3;color:#1f2937;}
.home-2026 .hp-proof svg{flex:0 0 28px;width:28px;height:28px;color:#8a6e26;}
@media (min-width:900px){
  .home-2026 .hp-proof ul{grid-template-columns:repeat(4,1fr);padding:22px 32px;}
}

/* ---------- Sections ---------- */
.home-2026 .hp-section{padding:56px 0;}
.home-2026 .hp-section--cream{background:#f8f7f4;}
@media (min-width:768px){.home-2026 .hp-section{padding:88px 0;}}
.home-2026 .hp-head{max-width:720px;margin:0 auto 32px;text-align:center;}
.home-2026 .hp-head > *{margin-inline:auto;}
.home-2026 .hp-kicker{margin:0 0 10px;max-width:none;font-size:0.8rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#8a6e26;}
.home-2026 .hp-head h2{margin:0 0 12px;color:#111827;}
.home-2026 .hp-lead{margin:0;font-size:1.06rem;line-height:1.6;color:#4b5563;}
.home-2026 .hp-lead strong{color:#1a365d;}

/* ---------- Two paths ---------- */
.home-2026 .hp-path-grid{display:grid;gap:20px;}
@media (min-width:900px){.home-2026 .hp-path-grid{grid-template-columns:1fr 1fr;gap:28px;}}
.home-2026 .hp-card{display:flex;flex-direction:column;padding:28px 22px;background:#ffffff;border:1px solid #e6e2d8;border-radius:16px;box-shadow:0 1px 2px rgba(15,35,64,0.04);scroll-margin-top:96px;}
@media (min-width:768px){.home-2026 .hp-card{padding:36px 34px;}}
.home-2026 .hp-card--vet{border-top:4px solid #c5a045;}
.home-2026 .hp-card--firm{border-top:4px solid #1a365d;}
.home-2026 .hp-card-tag{margin:0 0 8px;font-size:0.8rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#8a6e26;}
.home-2026 .hp-card--firm .hp-card-tag{color:#1a365d;}
.home-2026 .hp-card h3{margin:0 0 16px;font-size:clamp(1.35rem,1.1rem + 0.8vw,1.7rem) !important;color:#111827;}
.home-2026 .hp-checks{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px;}
.home-2026 .hp-checks li{position:relative;max-width:none;padding-left:32px;font-size:1rem;line-height:1.55;color:#1f2937;}
.home-2026 .hp-checks li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:#c5a045 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;}
.home-2026 .hp-card--firm .hp-checks li::before{background-color:#1a365d;}
.home-2026 .hp-card-actions{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;}
@media (max-width:767px){.home-2026 .hp-card-actions .hp-btn{width:100%;}}

/* ---------- Steps ---------- */
.home-2026 .hp-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:hp-step;}
.home-2026 .hp-step{counter-increment:hp-step;display:grid;grid-template-columns:44px 1fr;column-gap:16px;max-width:none;padding:18px;background:#ffffff;border:1px solid #e6e2d8;border-radius:14px;}
.home-2026 .hp-step::before{content:counter(hp-step);grid-row:1 / span 2;width:44px;height:44px;border-radius:50%;background:#1a365d;color:#ffffff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;}
.home-2026 .hp-step h3{margin:4px 0 4px;font-size:1.15rem !important;color:#111827;}
.home-2026 .hp-step p{margin:0;font-size:0.98rem;line-height:1.55;color:#4b5563;}
@media (min-width:900px){
  .home-2026 .hp-steps{grid-template-columns:repeat(4,1fr);gap:22px;}
  .home-2026 .hp-step{grid-template-columns:1fr;padding:26px 24px;}
  .home-2026 .hp-step::before{grid-row:auto;margin-bottom:14px;}
}

/* ---------- Reviews ---------- */
.home-2026 .hp-rating-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin-top:4px;font-weight:600;color:#374151;}
.home-2026 .hp-rating-line .hp-stars,.home-2026 .hp-review .hp-stars{color:#b8860b;}
.home-2026 .hp-reviews{display:grid;gap:16px;}
.home-2026 .hp-review{display:flex;flex-direction:column;gap:10px;padding:22px;background:#ffffff;border:1px solid #e6e2d8;border-radius:14px;}
.home-2026 .hp-review-top{display:flex;align-items:center;gap:12px;}
.home-2026 .hp-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#1a365d;color:#ffffff;font-weight:700;display:flex;align-items:center;justify-content:center;}
.home-2026 .hp-review-name{margin:0;font-weight:700;line-height:1.25;color:#111827;}
.home-2026 .hp-review-src{margin:0;font-size:0.88rem;line-height:1.3;color:#4b5563;}
.home-2026 .hp-review-text{margin:0;max-width:none;font-size:1rem;line-height:1.6;color:#1f2937;}
.home-2026 .hp-review-text.is-clamped{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}
.home-2026 .hp-more{align-self:flex-start;min-height:44px;padding:0;font-weight:700;font-size:0.95rem;color:#8a6e26;}
.home-2026 .hp-more:hover{color:#1a365d;text-decoration:underline;}
.home-2026 .hp-swipe-hint{display:none;margin:4px 0 0;text-align:center;font-size:0.88rem;color:#4b5563;}
.home-2026 .hp-reviews-cta{margin-top:24px;text-align:center;}
@media (max-width:767px){
  .home-2026 .hp-reviews{grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:4px 16px 14px;scrollbar-width:none;align-items:start;}
  .home-2026 .hp-reviews::-webkit-scrollbar{display:none;}
  .home-2026 .hp-review{scroll-snap-align:center;}
  .home-2026 .hp-swipe-hint{display:block;}
}
@media (min-width:768px){.home-2026 .hp-reviews{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1100px){.home-2026 .hp-reviews{grid-template-columns:repeat(3,1fr);gap:22px;}}

/* ---------- Team ---------- */
.home-2026 .hp-team-inner{display:grid;gap:24px;align-items:center;max-width:960px;margin:0 auto;}
.home-2026 .hp-team-photo{width:160px;height:160px;margin:0 auto;border-radius:50%;object-fit:cover;border:4px solid #ffffff;box-shadow:0 0 0 2px #c5a045,0 12px 30px rgba(15,35,64,0.15);}
.home-2026 .hp-team-copy{text-align:center;}
.home-2026 .hp-team-copy h2{margin:0 0 12px;color:#111827;}
.home-2026 .hp-team-copy p:not(.hp-kicker){margin:0 auto 8px;max-width:60ch;line-height:1.65;color:#374151;}
@media (min-width:768px){
  .home-2026 .hp-team-inner{grid-template-columns:220px 1fr;gap:44px;}
  .home-2026 .hp-team-photo{width:220px;height:220px;}
  .home-2026 .hp-team-copy{text-align:left;}
  .home-2026 .hp-team-copy p:not(.hp-kicker){margin-left:0;}
}

/* ---------- FAQ (existing markup) ---------- */
.home-2026 .section-header--center > p{margin-inline:auto;}

/* ---------- Lead form ---------- */
.home-2026 .hp-form-card{max-width:640px;margin:0 auto;padding:12px 8px;background:#ffffff;border:1px solid #e6e2d8;border-radius:16px;box-shadow:0 1px 2px rgba(15,35,64,0.04);}

/* ---------- Final CTA ---------- */
.home-2026 .hp-final{padding:64px 0;text-align:center;background:#0a1628;border-top:1px solid rgba(197,160,69,0.25);}
.home-2026 .hp-final h2{margin:0 0 12px;color:#ffffff !important;}
.home-2026 .hp-final p{margin:0 auto 24px;max-width:560px;color:rgba(255,255,255,0.88) !important;}
.home-2026 .hp-final p.hp-final-trust{margin:18px auto 0;font-size:0.9rem;color:rgba(255,255,255,0.72) !important;}

/* ---------- Footer (homepage) ---------- */
.home-2026 .footer-brand img{height:72px;width:auto;}
@media (max-width:767px){
  .home-2026 .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px;}
  .home-2026 .footer-brand{grid-column:1 / -1;}
  .home-2026 .footer-grid > div:last-child{grid-column:1 / -1;}
  .home-2026 .footer-links li{margin-bottom:0;}
}

/* ---------- Sticky phone CTA ---------- */
.home-2026 .sticky-mobile-cta a{font-size:1rem;font-weight:700;color:#0a1628;}

/* 2026-10-09c - social links: Follow-us row in both menus + YouTube link under reviews.
   Plain text labels (no platform logos); all scoped to the homepage. */
.home-2026 .hp-social{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.home-2026 .hp-social-label{flex:0 0 100%;font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#6b7280;}
.home-2026 .nav-more-menu .hp-social{margin-top:6px;padding:12px 12px 6px;border-top:1px solid #eef0f3;}
.home-2026 .nav-desktop .nav-more-menu .hp-social a,
.home-2026 .mobile-nav .hp-social a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:6px 14px;border:1px solid #d9dde3;border-radius:999px;font-size:0.85rem;font-weight:600;color:#1a365d;background:#ffffff;white-space:nowrap;text-decoration:none;}
.home-2026 .mobile-nav .hp-social a:hover{background:#f8f7f4;border-color:#c5a045;}
.home-2026 .nav-more-menu{min-width:272px;}
.home-2026 .nav-more-menu .hp-social{gap:4px 14px;flex-wrap:nowrap;}
.home-2026 .nav-more-menu .hp-social .hp-social-label{position:absolute;top:12px;left:12px;}
.home-2026 .nav-more-menu .hp-social{position:relative;padding-top:30px;}
.home-2026 .nav-desktop .nav-more-menu .hp-social a{min-height:32px;padding:4px 0;border:0;border-radius:0;background:none;font-size:0.9rem;}
.home-2026 .nav-desktop .nav-more-menu .hp-social a:hover{background:none;color:#8a6e26;text-decoration:underline;text-underline-offset:3px;}
.home-2026 .mobile-nav .hp-social{padding:20px 0 8px;gap:10px;}
.home-2026 .mobile-nav .hp-social a{min-height:44px;padding:8px 18px;font-size:0.95rem;border-bottom:1px solid #d9dde3;}
.home-2026 .hp-reviews-cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 28px;}
.home-2026 .hp-yt-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;font-size:1rem;color:#1a365d;text-decoration:underline;text-decoration-color:rgba(26,54,93,0.35);text-underline-offset:4px;}
.home-2026 .hp-yt-link:hover{text-decoration-color:#c5a045;}
.home-2026 .hp-yt-link svg{width:24px;height:24px;flex:0 0 24px;}
