/* A quiet booking surface: the calendar is the primary action, with a useful
   conversation alongside it and the contact form available on request. */
.call-page{background:#f8f9f8}
.call-page .nav .req{display:inline-flex;align-items:center;min-height:44px}
.call-page .page-hero{background:transparent;padding:64px 0 48px}
.call-page .page-hero h1{max-width:24ch}
.call-page .page-hero .sub{max-width:63ch}
.call-page .call-content{padding:44px 0 80px}
.call-page .call-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"context booking" ". fallback";gap:24px 56px}
.call-context{grid-area:context;padding-top:8px}
.call-context h2{font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1.12;letter-spacing:-.025em;max-width:18ch}
.call-context p{margin-top:18px;color:var(--steel);font-size:17px;line-height:1.55;max-width:44ch}
.call-agenda{list-style:none;margin:24px 0 0}
.call-agenda li{position:relative;padding:14px 0 14px 22px;border-top:1px solid var(--line);font-size:16px;line-height:1.5}
.call-agenda li::before{content:"";position:absolute;top:24px;left:0;width:6px;height:6px;background:var(--moss)}
.call-next{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.call-next h3{font-size:19px;font-weight:700;line-height:1.35;max-width:28ch}
.call-next p{margin-top:12px;font-size:16px}
.call-booking{grid-area:booking;min-width:0}
.call-page .call-embed{background:#fff;border-top:1px solid var(--line)}
.call-calendar-help{margin-top:12px;font-size:13px;color:var(--steel)}
.call-calendar-help a{color:var(--moss);text-decoration:underline;text-underline-offset:3px}
.call-page .call-fallback{grid-area:fallback;margin:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.call-fallback summary{padding:20px 0;cursor:pointer;font-size:17px;font-weight:700;color:var(--moss)}
.call-fallback[open] summary{padding-bottom:12px}
.call-page .call-fallback .lead{font-size:15px;font-weight:400;color:var(--steel);max-width:44ch}
.call-page .call-fallback .aform{padding-bottom:24px}
.call-page .aform label{font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink)}
.call-page .aform input,.call-page .aform textarea{font-size:16px}
.call-page .aform .btn{background:var(--moss);color:#fff;letter-spacing:0;text-transform:none}
.call-page .aform .btn:hover{background:var(--moss-deep)}
.call-page .aform .form-error{margin:0 0 16px;font-size:15px;color:#9b2828}
.call-page :is(summary,a,button,input,textarea):focus-visible{outline:2px solid var(--moss);outline-offset:4px}
@media(max-width:900px){
  .call-page .page-hero{padding:44px 0 32px}
  .call-page .page-hero .sub{font-size:18px}
  .call-page .call-content{padding:28px 0 56px}
  .call-page .call-grid{grid-template-columns:1fr;grid-template-areas:"booking" "fallback" "context";gap:28px}
  .call-context{padding-top:12px}
  .call-context h2{max-width:24ch}
  .call-context p{max-width:55ch}
}
