/* Homepage redesign (docs/design-handoff: design/site/Home.dc.html + design/mobile/Book.dc.html).
   Restyles the exported Carrd markup in index.html. Loaded after Carrd's inline styles and pm-footer.css.
   Carrd's own rules lean on !important and long selectors, so the layout rules here are scoped by section/element ids.
   Breakpoints: phone < 600px, tablet 600–1023px, desktop ≥ 1024px. */

.site-main{
  --pm-x:32px;--pm-y:96px;--pm-hero-y:72px 32px 96px;--pm-gap:64px;
  --pm-h1:76px;--pm-h2:52px;--pm-lead:19px;
  --pm-blue:#0071E3;--pm-link:#0066CC;--pm-ink:#1D1D1F;--pm-ink2:#48484A;--pm-muted:#636366;
}
@media (max-width:1023px){.site-main{--pm-x:24px;--pm-y:72px;--pm-hero-y:48px 24px 72px;--pm-gap:40px;--pm-h1:52px;--pm-h2:40px}}
@media (max-width:599px){.site-main{--pm-x:16px;--pm-y:48px;--pm-hero-y:16px 16px 48px;--pm-gap:28px;--pm-h1:32px;--pm-h2:32px;--pm-lead:17px}}
@media (max-width:599px) and (min-height:700px){.site-main{--pm-h1:38px}}

/* ---------- Frame: let sections run full width (Carrd centres a 40rem column) ---------- */
body{background:#FAFAFA}
body .site-main{width:100%!important;max-width:100%!important}
body .site-main > .inner{--padding-horizontal:0px;--padding-vertical:0px;--spacing:0px;width:100%!important;max-width:100%!important;padding:0!important}
#home-section > .container-component,#book-section > .container-component,#book-premium-section > .container-component{
  width:100%!important;max-width:100%!important;left:auto!important;right:auto!important;margin:0!important;border-radius:0!important;
  background:transparent!important;color:var(--pm-ink);font-family:Inter,system-ui,sans-serif}
/* keep Carrd's old logo strips hidden (pm-footer.css hides them too; the reset above would otherwise outrank it) */
#home-section > #container11,#book-section > #container10,#book-premium-section > #container07{display:none!important}
#home-section > .container-component > .wrapper,#book-section > .container-component > .wrapper,#book-premium-section > .container-component > .wrapper{width:100%!important;max-width:100%!important}
#home-section > .container-component > .wrapper > .inner,#book-section > .container-component > .wrapper > .inner,#book-premium-section > .container-component > .wrapper > .inner{
  box-sizing:border-box;width:100%!important;margin:0 auto!important;text-align:left}
#home-section .container-component > .wrapper > .inner > *,#home-section .container-component > .wrapper > .inner > * > *,
#book-section .container-component > .wrapper > .inner > *,#book-premium-section .container-component > .wrapper > .inner > *{margin:0!important}
#home-section p,#home-section li,#home-section h1,#home-section h2,#home-section h3,#home-section summary{overflow-wrap:anywhere}
#home-section hr.divider-component{display:none!important}
/* pm-footer.css also hides Carrd's old logo strips (#container11/#container10/#container07). */

/* ---------- Shared type ---------- */
#home-section .text-component.style-3,#home-section .text-component.style-7{
  font:600 12px/1.25 Inter,system-ui,sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--pm-link)!important;width:auto!important}
#home-section .text-component.style-2,#home-section .text-component.style-9,#home-section .text-component.style-11{
  font:600 var(--pm-h2)/1.05 Inter,system-ui,sans-serif!important;letter-spacing:-.03em!important;color:var(--pm-ink)!important;width:auto!important}
#home-section .text-component.style-1,#home-section .text-component.style-6{
  font:400 var(--pm-lead)/1.55 Inter,system-ui,sans-serif!important;color:var(--pm-ink2)!important}

/* Carrd buttons -> design pills */
#home-section .buttons-component{display:flex!important;flex-wrap:wrap;gap:10px!important;padding:0;list-style:none}
#home-section .buttons-component > li{margin:0!important}
#home-section .buttons-component > li > a{
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;height:auto!important;min-height:52px;line-height:1.2!important;
  padding:0 26px!important;border-radius:999px!important;border:1px solid transparent;box-shadow:none!important;transform:none!important;
  font:600 17px/1.2 Inter,system-ui,sans-serif!important;letter-spacing:0!important;text-decoration:none;white-space:normal!important;text-align:center;
  background:var(--pm-blue)!important;color:#fff!important;transition:background-color .15s ease}
#home-section .buttons-component > li > a:hover{background:#0077ED!important}
#home-section .buttons-component > li > a > svg{width:16px!important;min-width:16px!important;height:16px!important;margin:0!important;fill:currentColor!important}
#home-section .buttons-component > li > a > .label{overflow:visible!important}
#home-section a:focus-visible,#home-section summary:focus-visible,#home-section input:focus-visible,.pm-bookbar a:focus-visible,.pm-back:focus-visible{outline:3px solid rgba(0,113,227,.45);outline-offset:2px}

/* Photos */
#home-section .image-component.style-3 > .frame{width:100%!important;height:auto!important;border-radius:28px!important;box-shadow:none!important;display:block!important}
#home-section .image-component.style-3 > .frame > img{display:block;width:100%!important;height:auto!important;object-fit:cover}
#image29 > .frame > img{aspect-ratio:960/922}
#image03 > .frame > img{aspect-ratio:1920/1414}
#image02 > .frame > img{aspect-ratio:1920/1494}

/* ---------- 1. Hero ---------- */
#home-section > #container02{margin-top:0!important}
#container02 > .wrapper > .inner{max-width:1200px;padding:var(--pm-hero-y)!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--pm-gap);align-items:center}
#container02 > .wrapper > .inner > div{width:auto!important;min-height:0!important;padding:0!important;margin:0!important}
#container02 > .wrapper > .inner > div:first-child{order:2}
#container02 > .wrapper > .inner > div:last-child{order:1;display:flex;flex-direction:column;gap:18px}
#home-section #text87{font:600 var(--pm-h1)/1.02 Inter,system-ui,sans-serif!important;letter-spacing:-.035em!important;color:var(--pm-ink);text-wrap:balance;width:auto!important}
#home-section #text05{font-size:var(--pm-lead)!important;line-height:1.5!important;max-width:520px}
#text05 strong{font-weight:inherit;font-style:italic;color:var(--pm-ink)}
#home-section #buttons03{margin-top:6px!important}
#buttons03 > li > a:not(.pm-btn-primary){background:transparent!important;border-color:#C7C7CC;color:var(--pm-ink)!important;padding:0 22px!important}
#buttons03 > li > a:not(.pm-btn-primary):hover{background:#F2F2F5!important}

/* Phone plan picker (design/mobile/Book.dc.html): hidden on tablet/desktop */
.pm-pick{display:none}
.pm-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pm-mono{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace}

/* ---------- 2. Let's touch base (photo left) ---------- */
#home-section > #container03{background:#fff!important;border-top:1px solid #E5E5EA;border-bottom:1px solid #E5E5EA}
#container03 > .wrapper > .inner,#container05 > .wrapper > .inner{
  max-width:1200px;padding:var(--pm-y) var(--pm-x)!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:1fr auto auto auto auto 1fr;column-gap:var(--pm-gap);row-gap:16px;align-items:start}
#home-section #image03{grid-column:1;grid-row:1 / -1;align-self:center}
#text10,#text03,#text04,#buttons01{grid-column:2}
#text10{grid-row:2}#text03{grid-row:3}#text04{grid-row:4}#buttons01{grid-row:5}
#home-section #buttons01{margin-top:4px!important}

/* ---------- 3. Meeting info (photo right) ---------- */
#home-section #image02{grid-column:2;grid-row:1 / -1;align-self:center}
#text01,#text07,#text08{grid-column:1}
#text01{grid-row:2}#text07{grid-row:3}#text08{grid-row:4}
#home-section .pm-dots{list-style:none;padding:0;display:flex;flex-direction:column;gap:14px}
#home-section .pm-dots li{display:flex;gap:14px;font-size:17px;line-height:1.5;color:var(--pm-ink2)}
.pm-dots li::before{content:"";flex:none;width:8px;height:8px;margin-top:10px;border-radius:999px;background:var(--pm-blue)}
.pm-dots li.pm-dots__red::before{background:#E5383B}

/* ---------- 4. Book your meeting ---------- */
#home-section > #container01,#home-section > #container09{background:#fff!important}
#container01{border-top:1px solid #E5E5EA}
#container09{border-bottom:1px solid #E5E5EA}
#container01 > .wrapper > .inner{max-width:1000px;padding:var(--pm-y) var(--pm-x) 0!important;display:flex!important;flex-direction:column;align-items:center;gap:12px;text-align:center!important}
#container01 .text-component{text-align:center!important}
#container09 > .wrapper > .inner{max-width:1000px;padding:28px var(--pm-x) var(--pm-y)!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#container09 > .wrapper > .inner > div{
  width:auto!important;min-height:0!important;margin:0!important;padding:28px!important;background:#FAFAFA;border:1px solid #E5E5EA;border-radius:24px!important;
  display:flex;flex-direction:column;gap:12px;text-align:left}
#home-section #text32,#home-section #text12{color:var(--pm-muted)!important}
#home-section #text33,#home-section #text15{font:700 40px/1.1 'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:-.02em!important}
#home-section #text34,#home-section #text16{font:400 16px/1.5 Inter,system-ui,sans-serif!important;color:var(--pm-ink2)!important;flex:1}
#buttons06,#buttons04{display:block!important}
#buttons06 > li,#buttons04 > li{width:100%}
#home-section #buttons06 > li > a,#home-section #buttons04 > li > a{display:flex!important;width:100%;flex-direction:row!important;gap:10px}
#home-section #buttons06 > li > a > svg,#home-section #buttons04 > li > a > svg{width:18px!important;min-width:18px!important;height:18px!important}
#home-section #buttons04 > li > a{background:var(--pm-ink)!important}
#home-section #buttons04 > li > a:hover{background:#000!important}

/* ---------- 5. FAQ accordion ---------- */
#container06 > .wrapper > .inner{max-width:820px;padding:var(--pm-y) var(--pm-x)!important;display:flex!important;flex-direction:column;gap:12px}
#home-section #text36{margin-top:12px!important;border-top:1px solid #D2D2D7;font:inherit!important;color:var(--pm-ink)!important}
.pm-faq__item{border-bottom:1px solid #D2D2D7}
.pm-faq__item > summary{
  list-style:none;cursor:pointer;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;
  font:600 18px/1.35 Inter,system-ui,sans-serif;color:var(--pm-ink);-webkit-tap-highlight-color:transparent}
.pm-faq__item > summary::-webkit-details-marker{display:none}
.pm-faq__item > summary::marker{content:""}
.pm-faq__sign{flex:none;width:32px;height:32px;border-radius:999px;background:#F2F2F5;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;line-height:1}
.pm-faq__sign::before{content:"+"}
.pm-faq__item[open] .pm-faq__sign::before{content:"\2212"}
#home-section .pm-faq__item > p{margin:0!important;padding:0 48px 20px 0;font:400 16px/1.55 Inter,system-ui,sans-serif;color:var(--pm-ink2)}
.pm-faq a{color:var(--pm-link)!important;text-decoration:underline;text-underline-offset:2px}

/* ---------- 6. Contact form ---------- */
#home-section > #container04{background:#fff!important;border-top:1px solid #E5E5EA}
#container04 > .wrapper > .inner{max-width:820px;padding:var(--pm-y) var(--pm-x)!important;display:flex!important;flex-direction:column;gap:12px}
#home-section #text18{font-size:17px!important;line-height:1.5!important}
#home-section #form01{display:block!important;width:100%;margin-top:12px!important}
#form01 > .inner{width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#form01 > .inner > *{margin:0!important;max-width:100%!important}
#form01 > .inner > .field:nth-child(4),#form01 > .inner > .actions{grid-column:1 / -1}
#form01 .field{display:flex;flex-direction:column;gap:6px}
#form01 .field label{margin:0!important;font:600 14px/1.3 Inter,system-ui,sans-serif!important;color:var(--pm-ink)!important}
#form01 input[type="text"],#form01 input[type="email"],#form01 textarea{
  box-sizing:border-box;width:100%;min-height:52px;height:auto!important;padding:0 16px!important;border-radius:14px!important;border:1px solid #C7C7CC!important;
  background:#FAFAFA!important;color:var(--pm-ink)!important;font:400 16px/1.4 Inter,system-ui,sans-serif!important;box-shadow:none!important}
#form01 textarea{min-height:140px;padding:14px 16px!important;line-height:1.5!important;resize:vertical}
#form01 input:focus,#form01 textarea:focus{outline:3px solid rgba(0,113,227,.3);border-color:var(--pm-blue)!important}
#form01 .actions button{width:auto!important;
  height:auto!important;min-height:52px;line-height:1.2!important;padding:0 32px!important;border:0;border-radius:999px!important;background:var(--pm-ink)!important;color:#fff!important;
  font:600 17px/1.2 Inter,system-ui,sans-serif!important;letter-spacing:0!important;box-shadow:none!important;transform:none!important;cursor:pointer}
#form01 .actions button:hover{background:#000!important}
#form01 .actions button:focus-visible{outline:3px solid rgba(0,113,227,.45);outline-offset:2px}

/* ---------- Booking screens (#book, #book-premium) ---------- */
#book-section > #container12,#book-premium-section > #container08{margin:0!important}
#container12 > .wrapper > .inner,#container08 > .wrapper > .inner{max-width:900px;padding:var(--pm-y) var(--pm-x)!important;display:flex!important;flex-direction:column;align-items:center;gap:24px}
.pm-back{align-self:flex-start;min-height:44px;display:flex;align-items:center;gap:6px;padding-right:8px;font:600 16px/1.2 Inter,system-ui,sans-serif;color:var(--pm-link)!important;text-decoration:none!important}
.pm-back:hover{color:#004C99!important}
.pm-back svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pm-book-logo{display:block;height:80px;width:auto;max-width:100%}
#book-section .embed-component,#book-premium-section .embed-component{width:100%!important;max-width:100%!important}
#book-section .embed-component iframe,#book-premium-section .embed-component iframe{display:block;width:100%!important;min-width:100%}

/* ---------- Phone sticky booking bar ---------- */
.pm-bookbar{
  position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;box-sizing:border-box;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(250,250,250,.97);border-top:1px solid #E5E5EA;
  transition:transform .2s ease,visibility .2s;font-family:Inter,system-ui,sans-serif}
.pm-bookbar[hidden]{display:none!important}
.pm-bookbar.is-off{transform:translateY(110%);visibility:hidden}
.pm-bookbar__btn{flex:1;min-height:50px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--pm-blue,#0071E3);color:#fff!important;font:600 17px/1.2 Inter,system-ui,sans-serif;text-decoration:none!important}
.pm-bookbar__btn:active{background:#0062C4}
@media (min-width:600px){.pm-bookbar{display:none!important}}
@media (prefers-reduced-motion:reduce){.pm-bookbar{transition:none}}

/* ---------- Tablet ---------- */
@media (max-width:1023px){
  #container09 > .wrapper > .inner > div{padding:24px!important}
}

/* ---------- Phone ---------- */
@media (max-width:599px){
  /* Hero: title, plan picker, then photo, intro and buttons (one flow; Carrd's two columns are flattened) */
  #container02 > .wrapper > .inner{display:flex!important;flex-direction:column!important;align-items:stretch;gap:14px}
  #container02 > .wrapper > .inner > div,#container02 > .wrapper > .inner > div:last-child{display:contents!important}
  #home-section #text09{order:1;font-size:11px!important;letter-spacing:.14em!important}
  #home-section #text87{order:2;margin-top:-8px!important;line-height:1.08!important;letter-spacing:-.025em!important}
  #pm-pick{order:3}
  #home-section #image29{order:4;margin-top:14px!important}
  #home-section #text05{order:5;margin-top:6px!important}
  #home-section #buttons03{order:6;margin-top:0!important}
  #home-section .image-component.style-3 > .frame{border-radius:24px!important}

  .pm-pick{display:flex;flex-direction:column;gap:14px;margin-top:-8px}
  .pm-pick__intro{margin:0;font:400 15px/1.4 Inter,system-ui,sans-serif;color:#6E6E73}
  .pm-pick__plans{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:10px}
  .pm-plan{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fff;border:1px solid #D2D2D7;border-radius:16px;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .pm-plan.is-on,.pm-plan:has(input:checked){border:2px solid var(--pm-blue);padding:13px 15px}
  .pm-plan input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--pm-blue)}
  .pm-plan input:focus-visible{outline:3px solid rgba(0,113,227,.45);outline-offset:2px}
  .pm-plan__body{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
  .pm-plan__top{display:flex;justify-content:space-between;gap:8px;font:600 16px/1.3 Inter,system-ui,sans-serif;color:var(--pm-ink)}
  .pm-plan__top .pm-mono{font-weight:700}
  .pm-plan__desc{font:400 14px/1.35 Inter,system-ui,sans-serif;color:#6E6E73}
  .pm-pick__note{margin:0;font:400 13px/1.4 Inter,system-ui,sans-serif;color:#6E6E73}

  /* Two-column bands stack: touch base = photo first, meeting info = text first */
  #container03 > .wrapper > .inner,#container05 > .wrapper > .inner{display:flex!important;flex-direction:column;gap:16px}
  #home-section #image03{order:-1;margin-bottom:12px!important}
  #home-section #image02{margin-top:12px!important}

  #container09 > .wrapper > .inner{grid-template-columns:minmax(0,1fr)}
  #form01 > .inner{grid-template-columns:minmax(0,1fr)}
  #home-section .pm-faq__item > p{padding-right:0}

  .pm-book-logo{height:56px}
  #container12 > .wrapper > .inner,#container08 > .wrapper > .inner{padding-top:16px!important}
  /* TidyCal fills the screen width */
  #book-section .embed-component,#book-premium-section .embed-component{width:calc(100% + 32px)!important;max-width:none!important;margin:0 -16px!important}
}
@media (max-width:359px){
  #home-section .buttons-component > li,#home-section .buttons-component > li > a{width:100%}
}
