/* =========================
       CRITICAL CSS (optimized)
       ========================= */
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    body{
      font-family: system-ui, -apple-system, "Inter", Roboto, Arial, sans-serif;
      color:#111;
      background:#fff;
      line-height:1.6;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }
    img, video { max-width:100%; display:block; }
    a{ color:inherit; }
    .container{ max-width:1180px; margin:0 auto; padding:0 20px; }
    
    /* Hero section */
    .hero{ padding:110px 0 42px; text-align:center; }
    .hero-logo{ max-width:230px; margin:0 auto 18px; }
    .hero-logo img{ width:100%; height:auto; }
    .hero h1{
      font-size:2.35rem;
      font-weight:900;
      color:#0f172a;
      margin-bottom:12px;
      letter-spacing:-.6px;
    }
    .hero p{
      font-size:1.08rem;
      max-width:920px;
      margin:0 auto 14px;
      color:#374151;
    }
    .hero ul{
      list-style:none;
      margin-top:14px;
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:12px;
      font-size:.95rem;
      color:#111827;
    }
    .hero ul li{
      background:#f9fafb;
      border:1px solid #e5e7eb;
      border-radius:999px;
      padding:8px 12px;
    }
    
    /* Price ribbon and trust bar */
    .price-ribbon{
      background:#eef2ff;
      border:1px solid #4f46e5;
      border-radius:10px;
      padding:10px 12px;
      margin:0 auto 12px;
      display:block;
      font-size:.92rem;
      text-align:center;
      max-width:820px;
    }
    .trust-bar{
      max-width:820px;
      margin:0 auto 14px;
      display:flex;
      gap:10px;
      justify-content:center;
      flex-wrap:wrap;
    }
    .trust-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:9px 12px;
      border:1px solid #e5e7eb;
      border-radius:999px;
      background:#fff;
      font-size:.92rem;
      font-weight:800;
      color:#0f172a;
      text-decoration:none;
      transition:transform .12s ease, background .12s ease, border-color .12s ease;
      will-change:transform;
    }
    .trust-pill:hover{
      transform:translateY(-1px);
      background:#f9fafb;
      border-color:#cbd5e1;
    }
    
    /* Quick answers */
    .quick-answers{
      max-width:860px;
      margin:20px auto 0;
      padding:18px;
      background:#f0f9ff;
      border-radius:14px;
      border:1px solid #bae6fd;
      text-align:left;
    }
    .quick-answers h3{
      color:#0f172a;
      margin-bottom:12px;
      text-align:center;
      font-size:1.2rem;
      font-weight:900;
    }
    .quick-answers p{
      margin-bottom:10px;
      padding-bottom:10px;
      border-bottom:1px solid #e5e7eb;
      color:#334155;
    }
    .quick-answers p:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
    
    /* Post-booking grid */
    .post-booking-wrap{ max-width:1180px; margin:0 auto 42px; padding:0 16px; }
    .post-booking-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
      align-items:stretch;
    }
    @media(max-width:980px){
      .post-booking-grid{ grid-template-columns:1fr; }
    }
    .post-booking-grid .quick-answers,
    .post-booking-grid .price-section{
      margin:0;
      max-width:none;
      height:100%;
      display:flex;
      flex-direction:column;
    }
    .post-booking-grid .quick-answers{
      padding:18px 18px 16px;
    }
    .post-booking-grid .quick-answers h3{ margin-bottom:12px; }
    .post-booking-grid .quick-answers p{
      margin:0;
      padding:12px 0;
      border-bottom:1px solid #e5e7eb;
      line-height:1.65;
    }
    .post-booking-grid .quick-answers p:last-child{ border-bottom:none; padding-bottom:0; }
    
    /* Booking widget */
    .embed-surface{
      max-width:980px;
      margin:0 auto 34px;
      padding:0 16px;
      min-height:620px;}
    @media(max-width:768px){
      .embed-surface{ min-height:720px;}
    }
    
    /* Content sections */
    section.hp-section{ margin-bottom:42px; }
    #homepage-content h2, .hp-section h2{
      font-size:1.7rem;
      color:#0f172a;
      text-align:center;
      font-weight:900;
      margin-bottom:10px;
      letter-spacing:-.35px;
    }
    .hp-subtitle{
      max-width:920px;
      margin:0 auto 16px;
      text-align:center;
      color:#4b5563;
      font-size:1.03rem;
      line-height:1.7;
    }
    
    /* Grids and cards */
    .hp-grid{ display:grid; gap:18px; margin-top:16px; }
    .hp-steps-grid{ grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
    .hp-services-grid{ grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
    @media (min-width:1024px){
      .hp-services-grid{ grid-template-columns:repeat(4, minmax(240px, 1fr)); }
      .hp-services-grid > .hp-card:nth-child(9){ grid-column:2; }
      .hp-services-grid > .hp-card:nth-child(10){ grid-column:3; }
    }
    .hp-card{
      background:#f9fafb;
      border:1px solid #e5e7eb;
      border-radius:14px;
      padding:16px;
      text-align:center;
      font-weight:800;
      font-size:.97rem;
      color:#111827;
      text-decoration:none;
      transition:transform .12s ease, background .12s ease, border-color .12s ease;
      will-change:transform;
    }
    .hp-card:hover{
      background:#eef2ff;
      transform:translateY(-1px);
      border-color:#c7d2fe;
    }
    .hp-card.highlight{
      background:#eef2ff;
      border-color:#4f46e5;
    }
    
    /* Price section */
    .price-section{
      background:#f9fafb;
      padding:24px 18px;
      border-radius:14px;
      margin:20px auto;
      max-width:980px;
      border:1px solid #e5e7eb;
      content-visibility:auto;
      contain-intrinsic-size: 520px;
    }
    .price-boxes{
      margin-top:16px;
      display:grid;
      gap:12px;
      grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    }
    .price-box{
      background:#fff;
      border:1px solid #e5e7eb;
      border-radius:14px;
      padding:14px;
      text-align:left;
    }
    .price-box strong{ display:block; color:#0f172a; margin-bottom:6px; }
    .price-box .muted{ color:#6b7280; font-size:.94rem; line-height:1.55; }
    
    /* FAQ */
    .faq-wrap{ max-width:980px; margin:0 auto; padding:0 16px; }
    .faq{ margin-top:14px; display:grid; gap:14px; grid-template-columns:1fr; }
    @media(min-width:920px){ .faq{ grid-template-columns:1fr 1fr; } }
    details.faq-item{
      border:1px solid #e5e7eb;
      background:#fff;
      border-radius:16px;
      padding:12px 14px;
    }
    details.faq-item summary{
      cursor:pointer;
      font-weight:900;
      color:#0f172a;
      list-style:none;
      outline:none;
      line-height:1.35;
    }
    details.faq-item summary::-webkit-details-marker{ display:none; }
    .faq-item p{
      margin-top:10px;
      color:#374151;
      font-size:1.02rem;
      line-height:1.7;
    }
    .faq-item p a{ text-decoration:underline; }
    .faq-note{ font-size:.92rem; color:#6b7280; margin-top:12px; text-align:center; }
    
    /* App gallery */
    .home-app-gallery{
      max-width:1180px;
      margin:0 auto;
      padding:14px 16px 0;
      content-visibility:auto;
      contain-intrinsic-size: 900px;
    }
    .home-app-gallery .shots{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:14px;
      align-items:stretch;
    }
    @media (max-width:1100px){ .home-app-gallery .shots{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
    @media (max-width:720px){ .home-app-gallery .shots{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
    .home-app-gallery .shot{
      background:#5a78a8;
      border-radius:18px;
      padding:14px;
      position:relative;
      overflow:hidden;
    }
    .home-app-gallery .shot img{
      width:100%;
      height:auto;
      display:block;
      border-radius:14px;
      background:rgba(255,255,255,0.06);
    }
    
    /* Snippet / quick-info */
    .snippet-wrap{ max-width:1180px; margin:18px auto 0; padding:0 16px; }
    .snippet-box{
      max-width:980px;
      margin:0 auto;
      padding:18px 18px 16px;
      border:1px solid #e5e7eb;
      border-radius:18px;
      background:#fff;
      text-align:left;
      content-visibility:auto;
      contain-intrinsic-size: 420px;
    }
    .snippet-head{ text-align:center; margin-bottom:12px; }
    .snippet-head h3{
      font-size:1.18rem;
      margin:0;
      color:#0f172a;
      letter-spacing:-.2px;
      font-weight:900;
    }
    .snippet-head p{
      margin:8px auto 0;
      max-width:900px;
      color:#4b5563;
      font-size:1.0rem;
      line-height:1.7;
    }
    .snippet-body{
      margin-top:12px;
      display:grid;
      grid-template-columns:1.35fr .65fr;
      gap:14px;
      align-items:stretch;
    }
    @media(max-width:900px){ .snippet-body{ grid-template-columns:1fr; } }
    .snippet-main{ color:#374151; font-size:1.02rem; line-height:1.75; }
    .snippet-main strong{ color:#0f172a; }
    .snippet-actions{
      background:#f9fafb;
      border:1px solid #e5e7eb;
      border-radius:16px;
      padding:14px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .snippet-actions .label{
      font-weight:900;
      color:#0f172a;
      font-size:.96rem;
      margin-bottom:10px;
      text-align:center;
    }
    .pill-row{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 12px;
      border:1px solid #e5e7eb;
      border-radius:999px;
      background:#fff;
      text-decoration:none;
      color:#0f172a;
      font-weight:900;
      font-size:.92rem;
      transition:transform .12s ease, background .12s ease, border-color .12s ease;
      will-change:transform;
    }
    .pill:hover{
      transform:translateY(-1px);
      background:#eef2ff;
      border-color:#c7d2fe;
    }
    .pill span{ text-decoration:none; }
    .top-banner-link{ color:inherit; text-decoration:none; display:inline-block; }
  .top-banner-link:hover{ text-decoration:underline; }


      /* Homepage inline-style cleanup helpers */
      .u-underline{ text-decoration:underline; }
      .u-no-underline{ text-decoration:none; }
      .u-mb-0{ margin-bottom:0; }
      .u-mb-14{ margin-bottom:14px; }
      .u-mt-10-muted{
        margin-top:10px;
        color:#6b7280;
        font-size:.96rem;
      }
      .u-mt-12-slate{
        margin-top:12px;
        color:#334155;
      }
      .u-mt-14-body{
        margin-top:14px;
        font-size:.95rem;
        color:#4b5563;
      }
      .u-center{ text-align:center; }
      .u-center-note{
        text-align:center;
        margin-top:14px;
        font-size:0.9rem;
        color:#6b7280;
      }
