/* Build 53: stable booking details and typographic polish in sections 01 and 02. */
.editorial-site .p-services .service-copy-line{
  display:block;
  margin-top:8px;
}

.editorial-site .p-landscape .courtyard-selection-image{
  object-position:50% 43%!important;
}

.editorial-site .booking-details-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  width:218px;
  max-width:100%;
  min-height:44px;
  margin-top:12px;
  padding:11px 13px;
  border:0;
  border-radius:2px;
  background:#edf4f3;
  box-shadow:inset 0 0 0 1px rgba(36,127,135,.08);
  color:var(--ink);
  font:700 12px/1.4 var(--font);
  letter-spacing:.01em;
  cursor:pointer;
  text-align:center;
  transition:background-color .25s ease,color .25s ease,transform .25s ease;
}
.editorial-site .booking-details-trigger:hover{
  background:var(--teal);
  color:#fff;
  transform:translateY(-1px);
}
.editorial-site .booking-details-trigger:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:3px;
}

/* Remove the small decorative rule in section 02. */
.editorial-site .p-personal-copy{
  padding-top:0!important;
}
.editorial-site .p-personal-copy::before{
  content:none!important;
  display:none!important;
}

#booking-dialog{
  width:min(760px,calc(100% - 48px));
  max-width:760px;
  max-height:min(90vh,920px);
  overflow:auto;
  padding:58px 60px 52px;
}
#booking-dialog .eyebrow{
  color:var(--teal);
  font-size:10px;
  letter-spacing:.13em;
  margin-bottom:20px;
}
#booking-dialog h2{
  max-width:14ch;
  font-size:clamp(34px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.045em;
}
.booking-dialog-list{
  margin-top:42px;
  border-top:1px solid var(--line);
}
.booking-dialog-list > div{
  display:grid;
  grid-template-columns:42px minmax(150px,.55fr) minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
.booking-dialog-list > div > span{
  padding-top:5px;
  color:var(--teal);
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
}
.booking-dialog-list h3{
  font-size:19px;
  font-weight:400;
  line-height:1.35;
}
.booking-copy{
  display:grid;
  gap:12px;
}
.booking-dialog-list p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
}
.booking-dialog-list .booking-provider-note{
  margin-top:2px;
  color:var(--ink);
  font-size:12px;
  font-weight:700;
  line-height:1.65;
}

@media(max-width:720px){
  .editorial-site .p-services .service-copy-line{margin-top:7px}
  .editorial-site .booking-details-trigger{
    width:210px;
    margin-top:10px;
    padding:11px 12px;
    font-size:12px;
  }
  #booking-dialog{
    width:calc(100% - 28px);
    padding:46px 24px 30px;
  }
  #booking-dialog h2{
    max-width:13ch;
    font-size:34px;
  }
  .booking-dialog-list{margin-top:30px}
  .booking-dialog-list > div{
    grid-template-columns:28px 1fr;
    gap:8px 12px;
    padding:19px 0;
  }
  .booking-dialog-list h3{font-size:17px}
  .booking-copy{
    grid-column:2;
    gap:10px;
  }
  .booking-dialog-list p{
    font-size:13px;
    line-height:1.65;
  }
}

/* Build 54: one coherent polish pass across conversion, motion and small screens. */
.editorial-site .faq-list details summary{
  transition:color .28s ease,padding-left .38s cubic-bezier(.2,.72,.2,1);
}
.editorial-site .faq-list details[open] summary{
  padding-left:14px;
  color:var(--teal);
}

@keyframes offer-reef-drift{
  from{transform:translate3d(0,-4px,0) scale(1.06)}
  to{transform:translate3d(0,7px,0) scale(1.085)}
}
@keyframes process-number-breathe{
  from{opacity:.62;transform:translateY(0)}
  to{opacity:1;transform:translateY(-2px)}
}
.motion .editorial-site .p-offer.premium-live .p-offer-surface>header::before{
  animation:offer-reef-drift 14s ease-in-out -5s infinite alternate;
}
.motion .editorial-site .offer-followup.premium-live .p-process li>span{
  animation:process-number-breathe 6s ease-in-out -2s infinite alternate!important;
}
.motion .editorial-site .offer-followup.premium-live .p-process li:nth-child(2)>span{animation-delay:-4s!important}
.motion .editorial-site .offer-followup.premium-live .p-process li:nth-child(3)>span{animation-delay:-1s!important}

@media(max-width:720px){
  .editorial-site .p-selection,
  .editorial-site .p-personal,
  .editorial-site .p-offer,
  .editorial-site .offer-followup,
  .editorial-site .compass-section,
  .editorial-site .faq,
  .editorial-site .closing{
    height:auto!important;
    max-height:none!important;
  }

  .editorial-site .p-selection{
    min-height:0!important;
    padding:62px 0 68px!important;
    overflow:visible!important;
  }
  .editorial-site .p-selection>.wrap{height:auto!important}
  .editorial-site .p-opening{margin-bottom:30px}
  .editorial-site .p-opening h2{font-size:36px;line-height:1.08}
  .editorial-site .p-opening>p{margin-top:22px;font-size:15px;line-height:1.65}
  .editorial-site .p-selection .flow-switch{margin-bottom:22px}
  .editorial-site .p-selection .p-discovery{margin-top:0;padding-top:0}
  .editorial-site .p-landscape img{height:230px!important;min-height:0!important}
  .editorial-site .p-services{margin-top:28px!important}
  .editorial-site .p-services article{padding-left:20px!important}
  .editorial-site .p-services article+article{margin-top:26px!important;padding-top:0!important;border-top:0!important}
  .editorial-site .p-services h3{font-size:24px!important;margin-bottom:9px!important}
  .editorial-site .p-services p{font-size:13px!important;line-height:1.62!important}
  .editorial-site .p-services .p-separate{font-size:11px!important;margin-top:8px!important}

  .editorial-site .p-personal{
    min-height:0!important;
    padding:64px 0 70px!important;
    overflow:visible!important;
  }
  .editorial-site .p-personal-layout{height:auto!important}
  .editorial-site .p-personal-copy{padding-top:0!important}
  .editorial-site .p-personal h2{font-size:38px!important;line-height:1.08}
  .editorial-site .p-personal-copy .p-personal-lead{margin-top:24px!important;font-size:18px!important;line-height:1.55!important}
  .editorial-site .p-personal-copy>p:not(.p-personal-lead):not(.p-signature){margin-top:18px!important;font-size:13px!important;line-height:1.7!important}
  .editorial-site .p-personal-copy .p-signature{margin-top:22px!important}
  .editorial-site .p-portrait{width:210px!important;max-width:62vw!important;margin:30px 0 0 auto!important}
  .editorial-site .p-portrait img{height:270px!important;max-height:none!important;object-position:center 42%}

  .editorial-site .p-offer{min-height:0!important;padding:58px 0 62px!important;overflow:visible!important}
  .editorial-site .p-offer-surface>header{min-height:285px!important;margin-bottom:28px!important;padding:25px!important}
  .editorial-site .p-offer h2{font-size:40px!important;line-height:1.08}
  .editorial-site .p-inclusions li{padding-bottom:15px!important;margin-bottom:15px!important}
  .editorial-site .p-inclusions h3{font-size:21px!important}
  .editorial-site .p-inclusions p{font-size:12px!important;line-height:1.55!important}
  .editorial-site .p-booking-row{padding-top:4px!important}
  .editorial-site .p-investment>p{font-size:43px!important}
  .editorial-site .p-inquiry{margin-top:18px!important}
  .editorial-site .p-inquiry .button{width:auto!important;min-height:52px;font-size:11px!important}
  .editorial-site .p-delivery{margin-top:14px!important;font-size:10px!important}

  .editorial-site .offer-followup{min-height:0!important;padding:62px 0 68px!important;overflow:visible!important}
  .editorial-site .offer-followup h3{font-size:38px!important;line-height:1.08;margin-bottom:28px!important}
  .editorial-site .p-process ol{gap:24px!important}
  .editorial-site .offer-followup .p-process li{gap:14px!important}
  .editorial-site .offer-followup .p-process h4{font-size:18px!important;margin-bottom:6px!important}
  .editorial-site .offer-followup .p-process p{font-size:12px!important;line-height:1.55!important}
  .editorial-site .offer-followup .p-refund{margin-top:32px!important;padding-top:24px!important}
  .editorial-site .offer-followup .p-refund h3{font-size:29px!important;margin-bottom:12px!important}
  .editorial-site .offer-followup .p-refund>p{font-size:12px!important;line-height:1.6!important}

  .editorial-site .compass-section{overflow:visible!important}
  .editorial-site .compass-section .check-intro.compass-story{min-height:480px!important;padding:38px 28px!important}
  .editorial-site .compass-section .compass-story h2{font-size:40px!important;line-height:1.04}
  .editorial-site .compass-section .compass-story>p{font-size:13px!important;line-height:1.65!important}
  .editorial-site .compass-section .compass-instrument{margin-top:24px!important}
  .editorial-site .compass-section .quiz-panel{padding:36px 24px 48px!important}
  .editorial-site .compass-section .quiz{min-height:440px!important}

  .editorial-site .faq{min-height:0!important;padding:70px 0 76px!important;overflow:visible!important}
  .editorial-site .faq h2{font-size:38px!important}
  .editorial-site .faq summary{padding-block:18px!important;font-size:14px!important}
  .editorial-site .faq-list details[open] summary{padding-left:9px}
}

@media(prefers-reduced-motion:reduce){
.motion:not(.site-motion-opt-in) .editorial-site .p-offer.premium-live .p-offer-surface>header::before,
.motion:not(.site-motion-opt-in) .editorial-site .offer-followup.premium-live .p-process li>span{animation:none!important}
}
