/* ==========================================================================
   Imperial Acquisitions Network - booking confirmation page
   Non-critical styles. Critical above-the-fold CSS is inlined in index.html.
   Palette and type lifted from imperial-acquisitions.com.au so the page reads
   as a continuation of the main site, not a separate system.
   ========================================================================== */

/* --- Add to calendar links (hero) ----------------------------------------- */
.cal-links{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.cal-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  font-size:16px;
  font-weight:500;
  letter-spacing:.02em;
  text-decoration:none;
  color:var(--text);
  border:1px solid var(--text);
  border-radius:2px;
  transition:background .18s ease,color .18s ease;
}
.cal-link:hover{background:var(--text);color:#fff}

/* --- Generic section scaffolding ------------------------------------------ */
.section{padding:56px 0}
.section--cream{background:var(--cream)}

.section h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:31px;
  line-height:1.2;
  font-weight:400;
  letter-spacing:-.01em;
  text-wrap:balance;
  margin-bottom:26px;
}
.lede{
  font-size:17px;
  line-height:1.7;
  color:var(--muted);
  margin-bottom:26px;
}
.note{
  margin-top:26px;
  padding-left:18px;
  border-left:2px solid var(--accent);
  font-size:16px;
  line-height:1.7;
  color:var(--muted);
}

/* --- Numbered steps ------------------------------------------------------- */
.steps{list-style:none}
.steps li{
  padding:24px 0;
  border-top:1px solid var(--line);
}
.steps li:last-child{border-bottom:1px solid var(--line)}
.step-num{
  display:block;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:19px;
  font-weight:500;
  color:var(--accent);
  letter-spacing:.06em;
  margin-bottom:8px;
}
.steps h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:24px;
  line-height:1.25;
  font-weight:500;
  margin-bottom:8px;
}
.steps p{font-size:17px;line-height:1.7;color:var(--muted)}

/* --- Tick list ------------------------------------------------------------ */
.ticks{list-style:none}
.ticks li{
  position:relative;
  padding:0 0 18px 30px;
  font-size:17px;
  line-height:1.7;
}
.ticks li:last-child{padding-bottom:0}
.ticks li::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  width:11px;
  height:7px;
  border-left:1.5px solid var(--accent);
  border-bottom:1.5px solid var(--accent);
  transform:rotate(-45deg);
}

/* --- Ian bio -------------------------------------------------------------- */
.bio-photo{
  width:120px;
  height:120px;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
  margin-bottom:24px;
}
.bio-text p{
  font-size:17px;
  line-height:1.72;
  color:var(--muted);
  margin-bottom:16px;
}
.bio-kicker{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:22px;
  line-height:1.4;
  color:var(--text) !important;
  margin-bottom:0 !important;
}

/* --- Testimonials --------------------------------------------------------- */
.quote{
  padding:26px 0;
  border-top:1px solid rgba(5,5,5,.1);
}
.quote:last-child{border-bottom:1px solid rgba(5,5,5,.1)}
.quote blockquote{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:22px;
  line-height:1.5;
  font-weight:400;
  margin-bottom:14px;
}
.quote blockquote::before{content:"\201C"}
.quote blockquote::after{content:"\201D"}
.quote figcaption{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px;
  font-size:16px;
}
.q-name{font-weight:500}
.q-role{color:var(--muted)}
.q-role::before{content:"\00b7";margin-right:10px}

/* --- FAQ ------------------------------------------------------------------ */
.faq{border-top:1px solid var(--line)}
.faq:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:48px;
  padding:16px 0;
  font-size:17px;
  font-weight:500;
  line-height:1.45;
  cursor:pointer;
  list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";
  flex:0 0 auto;
  width:10px;
  height:10px;
  border-right:1.5px solid var(--accent);
  border-bottom:1.5px solid var(--accent);
  transform:rotate(45deg) translateY(-3px);
  transition:transform .2s ease;
}
.faq[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.faq-body{padding:0 0 20px}
.faq-body p{font-size:17px;line-height:1.7;color:var(--muted)}

/* --- Footer --------------------------------------------------------------- */
.site-footer{
  background:var(--text);
  color:#fff;
  padding:44px 0;
  text-align:center;
}
.footer-logo{height:40px;width:auto;margin:0 auto 18px}
.footer-line{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:19px;
  letter-spacing:.04em;
  color:var(--accent);
  margin-bottom:14px;
}
.footer-legal{font-size:15px;color:rgba(255,255,255,.55);line-height:1.6}

/* --- Scroll reveal -------------------------------------------------------- */
.reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .5s ease,transform .5s ease;
}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .cal-link{transition:none}
}

/* --- Desktop enhancement -------------------------------------------------- */
@media (min-width:700px){
  .section{padding:78px 0}
  .section h2{font-size:42px;margin-bottom:32px}
  .cal-links{flex-direction:row;justify-content:center}
  .cal-link{flex:1 1 0;min-width:0}
  .steps h3{font-size:27px}
  .quote blockquote{font-size:25px}
  .bio{display:grid;grid-template-columns:140px 1fr;gap:32px;align-items:start}
  .bio-photo{width:140px;height:140px;margin-bottom:0}
  .bio-kicker{font-size:24px}
}
