/* Homepage micro-polish: hierarchy, contrast, conversion */
body:has(main#mainContent) { background:#fbfcfa; }
main#mainContent { overflow-x:clip; }

/* Hero: cleaner visual hierarchy */
main#mainContent #home { min-height:clamp(560px,76vh,740px); padding-top:4.5rem; padding-bottom:4.5rem; }
main#mainContent #home::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(8,28,19,.05),rgba(8,28,19,.18)); }
main#mainContent #home > * { z-index:2; }
main#mainContent .hero-title { font-size:clamp(2.35rem,5.6vw,4rem); letter-spacing:-.045em; font-weight:800; }
main#mainContent .hero-subtitle { max-width:720px; margin-bottom:1rem; color:rgba(255,255,255,.94); font-weight:500; line-height:1.65; }
main#mainContent .hero-desc { max-width:700px; margin-bottom:.85rem; }
main#mainContent .hero-highlights { margin:.15rem 0 .75rem; }
main#mainContent .hero-highlights span { background:rgba(8,32,22,.28); border-color:rgba(255,255,255,.34); }
main#mainContent .hero-price { display:inline-flex; align-items:center; padding:.38rem .85rem; margin:.1rem 0 .8rem; border-radius:999px; background:rgba(255,255,255,.92); color:#173f2e; text-shadow:none; font-size:1rem; }
main#mainContent .hero-points { margin-bottom:1.25rem; }
main#mainContent .hero-points li { background:rgba(8,32,22,.3); border-color:rgba(255,255,255,.3); }
main#mainContent #home .btn-primary { background:#fff; color:#17412e; box-shadow:0 10px 28px rgba(0,0,0,.16); }
main#mainContent #home .btn-outline { border-color:rgba(255,255,255,.75); color:#fff; background:rgba(8,32,22,.2); }
main#mainContent .hero-assurance { color:rgba(255,255,255,.9); font-weight:500; }

/* Section rhythm */
main#mainContent > section:not(#home) { padding-top:clamp(4rem,7vw,6rem); padding-bottom:clamp(4rem,7vw,6rem); }
main#mainContent .section-label { font-weight:800; letter-spacing:.055em; }
main#mainContent .section-title { letter-spacing:-.035em; line-height:1.35; color:#173f2e; }
main#mainContent .section-desc { color:#58665f; line-height:1.8; }

/* Space section: make the first decision clearer */
main#mainContent #space { background:#fbfcfa; }
main#mainContent #space .space-gallery { margin-top:1.8rem; }
main#mainContent .space-gallery-context { margin-top:1rem; padding:1rem 1.1rem; border:1px solid #d7e3db; border-radius:16px; background:#f4f8f5; }
main#mainContent .space-gallery-context-actions { gap:.8rem; }
main#mainContent .space-gallery-context-link { font-weight:800; color:#285f45; }

/* Four hubs: equal weight, but keep interview as subtle primary */
main#mainContent .features-grid { gap:1rem; margin-top:2rem; }
main#mainContent .feature-card { border:1px solid #dbe5de; box-shadow:0 8px 24px rgba(28,67,48,.055); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
main#mainContent .feature-card:hover { transform:translateY(-3px); border-color:#b9d1c1; box-shadow:0 15px 34px rgba(28,67,48,.09); }
main#mainContent .feature-card-primary { border-color:#a9cbb5; background:linear-gradient(180deg,#f7fbf8,#fff); }
main#mainContent .feature-card h3 { color:#214b36; }
main#mainContent .feature-card p { color:#5d6963; }
main#mainContent .feature-quick-list li { background:#edf5f0; color:#315f49; }
main#mainContent .feature-hub-link { font-weight:800; }

/* Pricing: distinguish standard and overnight without visual noise */
main#mainContent #about { background:#f1f5f2; }
main#mainContent #about .section-inner { max-width:1040px; }
main#mainContent #about .pricing-card,
main#mainContent #about .price-card { border-color:#d2e0d7; box-shadow:0 10px 30px rgba(29,67,49,.06); }

/* Practical guides: reduce dense feed feeling */
main#mainContent #guides .section-desc { max-width:720px; }
main#mainContent #guides .guide-filter,
main#mainContent #guides .blog-filter { margin-top:1.3rem; }
main#mainContent #guides article { border-color:#dde6e0; }

/* FAQ & contact: explicit backgrounds and text contrast */
main#mainContent #contact {
  background:linear-gradient(180deg,#e7f0ea 0%,#dce9e1 100%) !important;
  color:#17291f !important;
}
main#mainContent #contact .section-inner { max-width:980px; }
main#mainContent #contact .section-label,
main#mainContent #contact .section-title,
main#mainContent #contact .section-desc { opacity:1 !important; }
main#mainContent #contact .section-label { color:#2e6549 !important; }
main#mainContent #contact .section-title { color:#123426 !important; }
main#mainContent #contact .section-desc { color:#3f5147 !important; }
main#mainContent #contact .contact-grid { gap:.8rem; }
main#mainContent #contact .contact-item {
  background:#ffffff !important;
  color:#20372a !important;
  border:1px solid #c7d8cd !important;
  box-shadow:0 8px 22px rgba(20,58,40,.06);
}
main#mainContent #contact .ci-label { color:#52665a !important; }
main#mainContent #contact .ci-value,
main#mainContent #contact .ci-value a { color:#18452f !important; font-weight:800; }
main#mainContent #contact .contact-support-layout { align-items:start; }
main#mainContent #contact .contact-faq,
main#mainContent #contact .contact-form-wrap {
  background:#ffffff !important;
  color:#1f3227 !important;
  border:1px solid #c4d7ca !important;
  border-radius:20px;
  box-shadow:0 12px 30px rgba(20,58,40,.07);
}
main#mainContent #contact .contact-faq { padding:1.3rem; }
main#mainContent #contact .contact-form-wrap { padding:1.25rem; }
main#mainContent #contact .contact-faq-title {
  margin-bottom:.28rem;
  color:#123426 !important;
  font-size:1.08rem;
  letter-spacing:-.02em;
}
main#mainContent #contact .contact-faq-lead {
  margin-bottom:1rem;
  color:#4b5d53 !important;
  font-size:.88rem;
  line-height:1.65;
}
main#mainContent #contact .contact-faq details {
  margin-top:.58rem;
  overflow:hidden;
  background:#f7faf8 !important;
  border:1px solid #d5e2da !important;
  border-radius:13px;
  color:#25382d !important;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
main#mainContent #contact .contact-faq details:first-of-type { margin-top:0; }
main#mainContent #contact .contact-faq details:hover { border-color:#bdd2c4 !important; }
main#mainContent #contact .contact-faq details[open] {
  background:#ffffff !important;
  border-color:#a9c8b4 !important;
  box-shadow:0 7px 18px rgba(27,67,48,.06);
}
main#mainContent #contact .contact-faq summary {
  position:relative;
  padding:.88rem 2.55rem .88rem 1rem;
  color:#183d2a !important;
  font-size:.91rem;
  font-weight:800;
  line-height:1.55;
  cursor:pointer;
  list-style:none;
}
main#mainContent #contact .contact-faq summary::-webkit-details-marker { display:none; }
main#mainContent #contact .contact-faq summary::after {
  content:'+';
  position:absolute;
  top:50%;
  right:1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#e5efe8;
  color:#285f45;
  font-size:1.05rem;
  font-weight:700;
  line-height:1;
  transform:translateY(-50%);
  transition:transform .2s ease, background .2s ease;
}
main#mainContent #contact .contact-faq details[open] summary::after {
  content:'−';
  background:#d8e9de;
}
main#mainContent #contact .contact-faq details[open] summary {
  border-bottom:1px solid #e1e9e4;
  color:#123426 !important;
}
main#mainContent #contact .contact-faq details p {
  margin:0;
  padding:.8rem 1rem 0;
  color:#46584e !important;
  font-size:.87rem;
  line-height:1.75;
}
main#mainContent #contact .contact-faq details p:last-child { padding-bottom:.95rem; }
main#mainContent #contact .contact-form label { color:#263c30 !important; font-weight:700; }
main#mainContent #contact input,
main#mainContent #contact select,
main#mainContent #contact textarea {
  background:#fff !important;
  color:#1f2f27 !important;
  border-color:#bdcec3 !important;
}
main#mainContent #contact input::placeholder,
main#mainContent #contact textarea::placeholder { color:#819086 !important; opacity:1; }
main#mainContent #contact input:focus,
main#mainContent #contact select:focus,
main#mainContent #contact textarea:focus { border-color:#4d8666; box-shadow:0 0 0 3px rgba(45,106,79,.1); outline:none; }
main#mainContent #contact .submit-btn { background:#245f43 !important; color:#fff !important; }
main#mainContent #contact .contact-help-note,
main#mainContent #contact .contact-rate-note,
main#mainContent #contact .contact-submit-status { color:#55675d !important; }

/* Sticky booking CTA: clearer but less shouty */
.sticky-booking-cta { box-shadow:0 -6px 24px rgba(20,55,39,.1); }

@media(max-width:760px){
  main#mainContent #home { min-height:620px; padding:3.8rem 1rem; }
  main#mainContent .hero-title { font-size:clamp(2.2rem,11vw,3.1rem); }
  main#mainContent .hero-subtitle { font-size:1rem; }
  main#mainContent .hero-desc { font-size:.91rem; }
  main#mainContent .hero-points { gap:.42rem; }
  main#mainContent .hero-points li { font-size:.74rem; }
  main#mainContent #home .hero-btns { width:100%; gap:.65rem; }
  main#mainContent #home .btn-primary,main#mainContent #home .btn-outline { width:100%; }
  main#mainContent > section:not(#home) { padding-top:3.6rem; padding-bottom:3.6rem; }
  main#mainContent .space-gallery-context { padding:.9rem; }
  main#mainContent .space-gallery-context-actions { width:100%; }
  main#mainContent #contact .contact-faq,
  main#mainContent #contact .contact-form-wrap { padding:1rem; border-radius:16px; }
  main#mainContent #contact .contact-faq summary { padding:.82rem 2.4rem .82rem .9rem; font-size:.88rem; }
  main#mainContent #contact .contact-faq summary::after { right:.85rem; }
  main#mainContent #contact .contact-faq details p { padding-left:.9rem; padding-right:.9rem; }
}
