/* Book page: styles only this page needs. Shared look comes from c.css.
   Plain type and thin lines: no panels or shadows. The calendar sits on the paper. */
.bk-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.bk-col{grid-column:1 / span 7;max-width:680px}
.bk-hero{padding-top:clamp(140px,12vw,180px)}
.bk-title{margin:0;font:300 clamp(40px,4.6vw,66px)/1.06 var(--serif);letter-spacing:-.04em;color:#1b3832;text-wrap:balance}
.bk-lede{margin:clamp(22px,2.2vw,30px) 0 0;font:400 19px/1.6 var(--sans);letter-spacing:0;color:var(--deep);text-wrap:pretty}
.bk-body{margin:22px 0 0;font-size:18px;line-height:1.75;color:var(--body);text-wrap:pretty}

.bk-cal{padding-top:clamp(48px,5vw,72px)}
.bk-cal-frame{width:100%;min-height:560px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.bk-fallback{margin:16px 0 0;font-size:14px;color:var(--quiet)}
.bk-notes{margin:0 0 24px;max-width:680px;font-size:16px;line-height:1.6;color:var(--body)}
.bk-notes p{margin:0 0 8px;font-weight:500;color:var(--teal-ink)}
.bk-notes ul{margin:0;padding-left:1.2em}

.bk-contact{padding:var(--section) 0 clamp(72px,8vw,120px)}
.bk-split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px);align-items:start}
.bk-h2{margin:0;font:300 clamp(30px,3.2vw,44.8px)/1.12 var(--serif);letter-spacing:-.03em;color:var(--deep);text-wrap:balance}

.bk-form{display:flex;flex-wrap:wrap;gap:20px 24px}
.bk-form .field{flex:1 1 220px;display:flex;flex-direction:column;gap:8px}
.bk-form .field--wide{flex-basis:100%}
.bk-form label{font-size:14px;font-weight:500;color:var(--ink)}
.bk-form label span{font-weight:400;color:var(--quiet)}
.bk-form input,.bk-form textarea{width:100%;box-sizing:border-box;padding:13px 16px;font:400 16px/1.4 var(--sans);color:var(--ink)}
.bk-form textarea{min-height:140px;resize:vertical}
.bk-form .err{margin:0;font-size:13px}
.bk-form .err:empty{display:none}
.bk-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.form-foot p{margin:0;font-size:14px;color:var(--quiet)}
.form-feedback{flex-basis:100%;margin:8px 0 0;font-size:14px;color:var(--deep)}
.form-success{flex-basis:100%;padding:24px 28px;background:var(--teal-soft);border:1.5px solid var(--ink);border-radius:14px 18px 13px 17px / 17px 13px 18px 14px}
.form-success:focus{outline:none}
.form-success .form-success-title{margin:0 0 8px;font:300 30px/1.2 var(--serif);color:var(--deep)}
.form-success p{margin:0;color:var(--body);font-size:15px}

@media (max-width:960px){
  .bk-col{grid-column:1 / -1}
  .bk-split{grid-template-columns:1fr}
}
@media (max-width:760px){
  .bk-hero{padding-top:136px}
  .bk-title{font-size:clamp(34px,9.6vw,48px);line-height:1.08}
  .bk-lede{font-size:18px}
  .bk-body{font-size:17px}
  .form-foot .f-btn{width:100%}
}
