/* Phuket's opt-in Destin host presentation. Copied only by isPhuketHost;
   keep public/assets/site.css and the OFB variant's shared assets unchanged. */
.phuket-host {
  --ink:#173b50;
  --text:#344d5c;
  --muted:#526c7a;
  --sky:#edf7fb;
  --tint:#daeff8;
  --line:#d2e5ee;
  --r-lg:16px;
  --r-xl:20px;
}
.phuket-host .topbar { background:#173b50; border:0; }
.phuket-host .phones a, .phuket-host .phones span { color:#fff; }
.phuket-host .head-row { min-height:86px; }
.phuket-host .brand-text strong { font-size:22px; }
.phuket-host header .brand-logo { padding-right:10px; border-right:1px solid var(--line); }
.phuket-host .head-cta { margin-left:auto; }
.phuket-host .btn { border-radius:8px; }
.phuket-host .hero { padding:56px 0 36px; background:var(--sky); border-bottom:1px solid var(--line); }
.phuket-host .hero-grid { gap:36px; }
.phuket-host .hero h1 { font-size:clamp(30px,3.2vw,44px); line-height:1.12; }
.phuket-host .hero .eyebrow { margin-bottom:18px; }
.phuket-host .hero .checks { font-size:15px; gap:10px; }
.phuket-host .hero-actions { gap:10px; margin:28px 0 10px; }
.phuket-host .hero-actions .btn { min-height:52px; padding:14px 20px; font-size:15px; }
.phuket-host .host-hero-contact { display:flex; align-items:center; gap:12px; margin:0; }
.phuket-host .host-hero-contact > a:first-child { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-weight:600; text-decoration:none; }
.phuket-host .hero-badges { margin-top:18px; gap:8px; }
.phuket-host .hero-badges > p { font-size:12px; box-shadow:none; }
.phuket-host .hero-media { border-radius:16px 64px 16px 16px; outline:8px solid #fff; box-shadow:0 20px 48px rgb(23 59 80 / .16); }
.phuket-host .host-photo-note { position:absolute; bottom:0; left:0; right:0; padding:10px 14px; background:rgb(255 255 255 / .96); color:var(--ink); font-size:11px; line-height:1.5; }
.phuket-host .proof { margin-top:36px; }
.phuket-host .proof-list { box-shadow:none; border-radius:8px; }
.phuket-host .proof-list::before { background:var(--blue); height:3px; }
.phuket-host .proof-list dd { font-size:26px; }
.phuket-host .sec { padding:72px 0; }
.phuket-host .sec + .sec { padding-top:72px; }
.phuket-host .section-head { text-align:left; margin-bottom:32px; }
.phuket-host .section-head h2 { font-size:clamp(24px,2.4vw,32px); }
.phuket-host .steps-sec { padding:0; }
.phuket-host .band { margin:0; border-radius:0; background:#173b50; padding:40px 0; }
.phuket-host .band-label { position:static; transform:none; display:block; border:0; background:none; box-shadow:none; padding:0; margin:0 0 28px; color:#fff; white-space:normal; }
.phuket-host .step { flex-direction:column; border-radius:12px; padding:26px; box-shadow:none; }
.phuket-host .step-icon { width:34px; height:34px; }
.phuket-host .step-no { color:var(--blue-ink); }
.phuket-host .what-sec > .panel { margin:0; padding:0; background:#fff; }
.phuket-host .feature-box { border:0; border-left:4px solid var(--blue); border-radius:0; background:var(--sky); box-shadow:none; padding:24px; margin-bottom:32px; }
.phuket-host .ov-card { text-align:left; border:1px solid var(--line); box-shadow:none; }
.phuket-host .ov-media { aspect-ratio:3/2; }
.phuket-host .ov-num { left:24px; transform:translateY(50%); width:42px; height:42px; font-size:18px; }
.phuket-host .ov-card h3 { margin-top:38px; }
.phuket-host .service-details { background:var(--sky); }
.phuket-host .service-index { padding:0; background:none; border:0; box-shadow:none; justify-items:start; margin-bottom:32px; }
.phuket-host .service-chips { justify-content:flex-start; }
.phuket-host .service-chips a { background:#fff; }
.phuket-host .service-list { display:grid; gap:20px; }
.phuket-host .detail, .phuket-host .detail:last-child { margin:0; padding:26px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.phuket-host .detail h3 { font-size:16px; letter-spacing:0; text-transform:none; }
.phuket-host .detail p { padding-left:0; }
.phuket-host .photo-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.phuket-host .photo-gallery li { border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.phuket-host .photo-gallery img { border-radius:0; }
.phuket-host .photo-gallery figcaption { padding:12px 16px; margin:0; opacity:1; font-size:13px; }
.phuket-host .photo-credits { padding:20px; background:var(--sky); border-radius:8px; }
.phuket-host #estimate { padding:0; background:#173b50; }
.phuket-host #estimate > .panel { margin:0; border-radius:0; padding:64px 0; background:none; }
.phuket-host .estimate-grid { align-items:start; }
.phuket-host .estimate-copy > h2, .phuket-host .estimate-copy > p { color:#fff; }
.phuket-host form.estimate { padding:28px; background:#fff; border-radius:12px; margin-bottom:0; }
.phuket-host .estimate-card { box-shadow:none; }
.phuket-host .estimate-card img { aspect-ratio:3/2; }
.phuket-host .estimate-card-body { text-align:left; justify-items:start; padding:28px; }
.phuket-host .estimate-card-body .chips { justify-content:flex-start; }
.phuket-host .person { box-shadow:none; border-radius:12px; }
.phuket-host .faq-sec { background:var(--sky); }
.phuket-host .faq-item { background:#fff; border-radius:8px; }
.phuket-host .page-hero { background:var(--sky); border-bottom:1px solid var(--line); }
.phuket-host .contact-list li { box-shadow:none; border-radius:10px; border-top:3px solid var(--blue); }
.phuket-host footer.site { background:#173b50; color:#fff; --muted:#d3e4ed; --line:#496573; --ink:#fff; --blue-ink:#b9e7fb; }
.phuket-host footer .brand-logo { background:#fff; padding:4px; border-radius:4px; }
.phuket-host footer .brand-text strong { color:#fff; }

@media (min-width:1180px) {
  /* A deliberate masthead + nav row keeps the full host identity and OFB logo. */
  .phuket-host .head-row { display:grid; grid-template-columns:1fr auto; gap:0 24px; padding-top:12px; padding-bottom:0; }
  .phuket-host header .brand { grid-column:1; grid-row:1; }
  .phuket-host .head-cta { grid-column:2; grid-row:1; }
  .phuket-host nav.main { grid-column:1 / -1; grid-row:2; width:100%; margin:12px 0 0; border-top:1px solid var(--line); gap:16px; }
  .phuket-host nav.main a { padding:12px 0; margin-right:20px; }
  .phuket-host .detail, .phuket-host #estimate, .phuket-host #phuket-photo-credits { scroll-margin-top:140px; }
}
@media (min-width:1024px) {
  .phuket-host .hero-grid { grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); }
  .phuket-host .service-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .phuket-host .detail:last-child { grid-column:1 / -1; }
  .phuket-host .estimate-grid.has-card { gap:48px; }
}
@media (min-width:700px) and (max-width:1023px) {
  .phuket-host .overview { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .phuket-host .ov-card h3, .phuket-host .ov-card p { margin-left:16px; margin-right:16px; }
  .phuket-host .hero-media { justify-self:center; width:100%; }
}
@media (max-width:699px) {
  .phuket-host .head-row { min-height:74px; flex-wrap:wrap; }
  .phuket-host header .brand { gap:8px; }
  .phuket-host header .brand-logo { height:28px !important; padding-right:6px; }
  .phuket-host .head-cta .btn-sm { padding:8px 10px; font-size:12px; }
  .phuket-host .brand-text strong { font-size:16px; }
  .phuket-host .brand-text span { font-size:8px; letter-spacing:.04em; }
  .phuket-host .hero { padding:32px 0; }
  .phuket-host .hero-media { order:0; border-radius:12px 40px 12px 12px; outline-width:4px; }
  .phuket-host .hero-actions .btn { flex:1 1 100%; }
  .phuket-host .sec, .phuket-host .sec + .sec { padding:48px 0; }
  .phuket-host .band { padding:32px 0; }
  .phuket-host .step { flex-direction:row; padding:20px; }
  .phuket-host .photo-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .phuket-host .photo-gallery figcaption { padding:10px; font-size:12px; }
  .phuket-host #estimate { padding:0; }
  .phuket-host #estimate > .panel { padding:40px 0; }
  .phuket-host form.estimate { padding:20px; }
  .phuket-host .detail { padding:20px; }
}
@media (max-width:359px) {
  .phuket-host header .brand { flex-basis:100%; }
  .phuket-host .head-cta { width:100%; justify-content:space-between; }
}
