/* GENERATED from book.src.css by harden_css.py — do not edit by hand.
   Every rule is scoped to #gtb and !important so the site's global styles can't override this page. */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600&family=Montserrat:wght@400;500;600;700&display=swap");
#gtb{
  --navy:#112944!important; --navy-deep:#0D1F3C!important; --ink:#222936!important; --muted:#5B6474!important;
  --cream:#FFFDF8!important; --panel:#F6F1E7!important; --line:#E6DECF!important; --star:#FBBC04!important; --bad:#A33A2B!important;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif!important;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif!important;
  min-height:100vh!important; background:var(--cream)!important; color:var(--ink)!important; font-family:var(--sans)!important;
  -webkit-font-smoothing:antialiased!important; display:flex!important; flex-direction:column!important}
#gtb *,#gtb *::before,#gtb *::after{box-sizing:border-box!important;border-radius:0!important}
#gtb h1,#gtb h2,#gtb h3,#gtb p{margin:0!important}
#gtb button{font:inherit!important;color:inherit!important;cursor:pointer!important}
#gtb a{color:inherit!important}
#gtb .wrap{width:100%!important;max-width:560px!important;margin:0 auto!important;padding:0 18px!important}


#gtb .top{background:var(--cream)!important;border-bottom:1px solid var(--line)!important;position:sticky!important;top:0!important;z-index:20!important}
#gtb .top .wrap{display:flex!important;align-items:center!important;justify-content:space-between!important;height:64px!important}
#gtb .logo img{display:block!important;height:46px!important;width:auto!important}
#gtb .top .call{display:inline-flex!important;align-items:center!important;gap:6px!important;font-size:12px!important;font-weight:600!important;color:var(--navy)!important;text-decoration:none!important}
#gtb .top .call svg{width:15px!important;height:15px!important}
#gtb .progress{height:3px!important;background:var(--line)!important}
#gtb .progress i{display:block!important;height:100%!important;width:0!important;background:var(--navy)!important;transition:width .3s ease!important}


#gtb main,#gtb form{flex:1!important}
#gtb .scr{display:none!important;padding:22px 0 120px!important}
#gtb .scr.on{display:block!important;animation:gtbIn .25s ease!important}
@keyframes gtbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#gtb .kicker{font-size:10.5px!important;line-height:1.5!important;font-weight:600!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--muted)!important}
#gtb h1{font-family:var(--serif)!important;font-weight:600!important;font-size:32px!important;line-height:1.08!important;color:var(--navy)!important;margin:6px 0 8px!important}
#gtb h2{font-family:var(--serif)!important;font-weight:600!important;font-size:28px!important;line-height:1.12!important;color:var(--navy)!important;margin:6px 0 6px!important}
#gtb .sub{font-size:14.5px!important;line-height:1.55!important;color:var(--muted)!important}
#gtb .back{display:inline-flex!important;align-items:center!important;gap:6px!important;margin-bottom:12px!important;padding:6px 0!important;border:0!important;background:none!important;
  font-size:12px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--muted)!important}
#gtb .back[hidden]{display:none!important}


#gtb .types{display:grid!important;gap:10px!important;margin-top:18px!important}
#gtb .type{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;padding:18px 16px!important;text-align:left!important;
  background:#fff!important;border:1px solid var(--line)!important;transition:border-color .15s ease,background .15s ease!important}
#gtb .type:hover{border-color:var(--navy)!important}
#gtb .type b{display:block!important;font-family:var(--serif)!important;font-weight:600!important;font-size:22px!important;line-height:1.1!important;color:var(--navy)!important}
#gtb .type span{display:block!important;margin-top:4px!important;font-size:13px!important;line-height:1.45!important;color:var(--muted)!important}
#gtb .type em{display:inline-block!important;margin-bottom:6px!important;padding:3px 7px!important;background:var(--navy)!important;color:#fff!important;font-style:normal!important;font-size:9.5px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important}
#gtb .type svg{width:18px!important;height:18px!important;flex:none!important;color:var(--navy)!important}
#gtb .reassure{display:flex!important;flex-wrap:wrap!important;gap:6px 14px!important;margin-top:18px!important;font-size:12px!important;color:var(--muted)!important}
#gtb .reassure span::before{content:"✓ "!important;color:var(--navy)!important;font-weight:700!important}
#gtb .rating{display:flex!important;align-items:center!important;gap:8px!important;margin-top:14px!important;font-size:12px!important;font-weight:600!important;color:var(--ink)!important}
#gtb .rating svg{width:16px!important;height:16px!important}
#gtb .rating .stars{color:var(--star)!important;letter-spacing:1px!important;font-size:13px!important}


#gtb .opts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:18px!important}
#gtb .opts.one{grid-template-columns:1fr!important}
#gtb .opts.three{grid-template-columns:repeat(3,1fr)!important}
#gtb .opt{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:58px!important;padding:12px 8px!important;
  background:#fff!important;border:1px solid var(--line)!important;text-align:center!important;font-size:13.5px!important;font-weight:600!important;line-height:1.3!important;color:var(--ink)!important;
  transition:border-color .12s ease,background .12s ease,color .12s ease!important}
#gtb .opts.one .opt{align-items:flex-start!important;text-align:left!important;padding:16px!important}
#gtb .opt small{display:block!important;font-size:11.5px!important;font-weight:500!important;color:var(--muted)!important}
#gtb .opt:hover{border-color:var(--navy)!important}
#gtb .opt.sel{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
#gtb .opt.sel small{color:rgba(255,255,255,.75)!important}
#gtb .opt svg{width:30px!important;height:30px!important;color:var(--navy)!important}
#gtb .opt.sel svg{color:#fff!important}
#gtb .opt.unsure{grid-column:1 / -1!important;min-height:46px!important;background:transparent!important;border-style:dashed!important;color:var(--muted)!important;font-weight:600!important}
#gtb .opt.unsure.sel{background:var(--navy)!important;border-style:solid!important;color:#fff!important}
#gtb .group{margin-top:20px!important}
#gtb .group > p{font-size:11px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--navy)!important}
#gtb .group .opts{margin-top:8px!important}
#gtb .hint{margin-top:10px!important;font-size:12px!important;color:var(--muted)!important}


#gtb .seg{display:grid!important;grid-template-columns:1fr 1fr!important;margin-top:14px!important;border:1px solid var(--navy)!important}
#gtb .seg button{padding:11px 6px!important;border:0!important;background:#fff!important;font-size:12px!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--navy)!important}
#gtb .seg button + button{border-left:1px solid var(--navy)!important}
#gtb .seg button.sel{background:var(--navy)!important;color:#fff!important}
#gtb .sub#gtbTimeSub{margin-top:10px!important}
#gtb .days{scroll-padding:0 18px!important;display:flex!important;gap:8px!important;overflow-x:auto!important;scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;margin:18px -18px 0!important;padding:0 18px 6px!important;scrollbar-width:none!important}
#gtb .days::-webkit-scrollbar{display:none!important}
#gtb .day{flex:0 0 62px!important;scroll-snap-align:start!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;padding:10px 0!important;background:#fff!important;border:1px solid var(--line)!important}
#gtb .day small{font-size:10px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--muted)!important}
#gtb .day b{font-family:var(--serif)!important;font-size:24px!important;font-weight:600!important;line-height:1!important;color:var(--navy)!important}
#gtb .day span{font-size:10px!important;color:var(--muted)!important}
#gtb .day.sel{background:var(--navy)!important;border-color:var(--navy)!important}
#gtb .day.sel small,#gtb .day.sel b,#gtb .day.sel span{color:#fff!important}
#gtb .day:disabled{opacity:.35!important;cursor:default!important}
#gtb .month{margin-top:16px!important;font-size:12px!important;font-weight:600!important;color:var(--navy)!important}
#gtb .times{margin-top:10px!important;min-height:120px!important}
#gtb .times .lbl{margin:14px 0 8px!important;font-size:11px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--muted)!important}
#gtb .times .grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important}
#gtb .slot{padding:12px 2px!important;background:#fff!important;border:1px solid var(--line)!important;font-size:12.5px!important;font-weight:600!important;color:var(--ink)!important;white-space:nowrap!important}
#gtb .slot:hover{border-color:var(--navy)!important}
#gtb .slot.sel{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
#gtb .empty,#gtb .loading{padding:22px 14px!important;border:1px dashed var(--line)!important;font-size:13px!important;line-height:1.5!important;color:var(--muted)!important;text-align:center!important}
#gtb .loading::before{content:""!important;display:inline-block!important;width:12px!important;height:12px!important;margin-right:8px!important;vertical-align:-1px!important;border:2px solid var(--line)!important;border-top-color:var(--navy)!important;border-radius:50%!important;animation:gtbSpin .8s linear infinite!important}
@keyframes gtbSpin{to{transform:rotate(360deg)}}
#gtb .alt{margin-top:16px!important;font-size:12.5px!important;color:var(--muted)!important}
#gtb .alt a{font-weight:600!important;color:var(--navy)!important}


#gtb .summary{margin-top:16px!important;padding:14px 16px!important;background:var(--panel)!important;border:1px solid var(--line)!important;display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:flex-start!important}
#gtb .summary b{display:block!important;font-family:var(--serif)!important;font-size:20px!important;font-weight:600!important;line-height:1.15!important;color:var(--navy)!important}
#gtb .summary span{display:block!important;margin-top:3px!important;font-size:13px!important;line-height:1.5!important;color:var(--ink)!important}
#gtb .summary button{flex:none!important;border:0!important;background:none!important;padding:2px 0!important;font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--navy)!important;text-decoration:underline!important}
#gtb .fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:18px!important}
#gtb .field{display:flex!important;flex-direction:column!important;gap:6px!important}
#gtb .field.full{grid-column:1 / -1!important}
#gtb .field label{font-size:11px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--navy)!important}
#gtb .field label i{font-style:normal!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important}
#gtb .field input,#gtb .field textarea{width:100%!important;padding:14px 12px!important;background:#fff!important;border:1px solid var(--line)!important;font:400 16px/1.4 var(--sans)!important;color:var(--ink)!important;outline:none!important;-webkit-appearance:none!important;appearance:none!important}
#gtb .field textarea{min-height:84px!important;resize:vertical!important}
#gtb .field input:focus,#gtb .field textarea:focus{border-color:var(--navy)!important}
#gtb .field.err input{border-color:var(--bad)!important}
#gtb .field .msg{display:none!important;font-size:11.5px!important;color:var(--bad)!important}
#gtb .field.err .msg{display:block!important}
#gtb .fine{margin-top:12px!important;font-size:11.5px!important;line-height:1.55!important;color:var(--muted)!important}
#gtb .fine a{color:var(--muted)!important}


#gtb .bar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:30!important;background:rgba(255,253,248,.97)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
  border-top:1px solid var(--line)!important;padding:10px 0 calc(10px + env(safe-area-inset-bottom))!important;transform:translateY(110%)!important;transition:transform .2s ease!important}
#gtb .bar.show{transform:none!important}
#gtb .btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;min-height:52px!important;padding:14px 20px!important;border:0!important;background:var(--navy)!important;color:#fff!important;
  font-family:var(--sans)!important;font-size:13px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;transition:background .15s ease,opacity .15s ease!important}
#gtb .btn:hover{background:var(--navy-deep)!important}
#gtb .btn:disabled{opacity:.4!important;cursor:default!important}
#gtb .btn svg{width:16px!important;height:16px!important}
#gtb .bar .note{margin-top:6px!important;text-align:center!important;font-size:11px!important;color:var(--muted)!important}


#gtb .back,#gtb .summary button{width:auto!important;min-height:0!important}
#gtb .day,#gtb .seg button,#gtb .slot,#gtb .opt{width:auto!important;min-height:0!important}
#gtb .opt{min-height:58px!important}
#gtb .opt.unsure{min-height:46px!important}
#gtb .type{width:100%!important;min-height:0!important}
#gtb .sumwho{margin-top:12px!important}


#gtb .hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}


#gtb .preview-out{margin-top:16px!important;padding:14px!important;background:#fff!important;border:1px dashed var(--navy)!important;font:12px/1.5 ui-monospace,Menlo,monospace!important;white-space:pre-wrap!important;word-break:break-all!important}

@media (min-width:900px){
  #gtb .wrap{max-width:620px!important}
  #gtb h1{font-size:44px!important}
  #gtb h2{font-size:36px!important}
  #gtb .scr{padding:44px 0 140px!important}
  #gtb .opts{grid-template-columns:repeat(3,1fr)!important}
  #gtb .opts.three{grid-template-columns:repeat(3,1fr)!important}
  #gtb .opts.one{grid-template-columns:1fr!important}
  #gtb .opts.two{grid-template-columns:1fr 1fr!important}
  #gtb .times .grid{grid-template-columns:repeat(5,1fr)!important}
  #gtb .slot{font-size:13.5px!important}
  #gtb .bar .wrap{max-width:620px!important}
}
@media (prefers-reduced-motion:reduce){#gtb *{animation:none!important;transition:none!important}}
