/* Shared touch, navigation and reading layer for every public page. */
html{scroll-padding-top:100px;scroll-padding-bottom:100px;-webkit-text-size-adjust:100%}
button,.button,summary,select{min-height:44px}
input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px;min-height:44px;max-width:100%}
input[type=checkbox],input[type=radio]{flex-shrink:0}
summary{padding-block:12px;cursor:pointer}
.text-link,.footer-links a,.site-footer a,.footer a,.hh-sample,.opening-secondary{min-height:44px;display:inline-flex;align-items:center}
.site-footer .brand,.footer .brand{display:inline-flex}
footer a{overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center}
header .brand{min-height:44px}
header nav a{min-height:44px;display:inline-flex;align-items:center}
.course-details summary{min-height:44px;padding-block:12px}
.mobile-menu-toggle{display:none}
.mobile-buy-bar{display:none}
.sample-intro{padding-block:45px 24px;max-width:850px}
.sample-intro h1{font-size:clamp(38px,6vw,64px)}
.sample-reader{max-width:850px;padding-bottom:55px}
.sample-jump{position:static;background:transparent;box-shadow:none;border:0;width:auto}
.sample-page{margin:0 0 38px;scroll-margin-top:100px}
.sample-page>img{width:100%;height:auto;border:1px solid #ccd3c8;border-radius:6px}
.sample-page figcaption{font-size:15px;line-height:1.6;padding-block:15px}
.sample-page figcaption strong{display:block}
.sample-jump{display:flex;flex-wrap:wrap;gap:8px;margin-block:22px}
.sample-jump a{display:flex;align-items:center;min-height:44px;padding:8px 15px;border:1px solid #a8b8aa;border-radius:5px}
.sample-next{padding:25px;background:#edf1e8;border-radius:8px}
#library-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
#library-files .button{text-align:left;justify-content:flex-start;line-height:1.5;white-space:normal;font-size:15px}
#library-files .button:last-child{grid-column:1/-1}
.library-link-field{display:block;width:100%;margin-block:12px;overflow-wrap:anywhere}
[hidden]{display:none!important}
@media(max-width:1100px){
 .header .nav-wrap,.site-header .navigation{position:relative;min-height:72px;height:auto;display:flex;flex-wrap:wrap;gap:12px;padding-block:12px}
 .header .nav-wrap>.button,.site-header .navigation>.button{display:none}
 .header .nav-wrap>.brand,.site-header .navigation>.brand{font-size:26px;margin-right:auto}
 .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:78px;min-height:44px;padding:9px 12px;border:1px solid #a7b3a6;border-radius:5px;background:transparent;color:#173b32;font:600 15px/1.4 'Segoe UI',Arial,sans-serif}
 .mobile-menu-toggle svg{width:21px;height:21px}
 .header #navigation,.site-header #planning-navigation{position:static;inset:auto;display:flex;flex-direction:column;align-items:stretch;gap:2px;flex-basis:100%;width:100%;order:3;padding:12px 0 0;margin:0;border:0;border-top:1px solid #d1d8cd;background:transparent;box-shadow:none;max-height:calc(100dvh - 130px);overflow-y:auto}
 .header #navigation a,.site-header #planning-navigation a{font-size:16px;min-height:48px;display:flex;align-items:center;align-self:stretch;padding:10px 12px;border-radius:4px}
 .header #navigation a:hover,.site-header #planning-navigation a:hover{background:#e7ede3}
 .mobile-nav-ready .header #navigation:not(.mobile-open),.mobile-nav-ready .site-header #planning-navigation:not(.mobile-open){display:none}
 .mobile-buy-bar{display:flex;position:fixed;z-index:45;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:12px;padding:10px max(18px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#fffdf7;border-top:1px solid #ced6c9;box-shadow:0 -3px 18px #16352d14}
 .mobile-buy-bar p{margin:0;color:#173b32;font-size:13px;line-height:1.45}
 .mobile-buy-bar strong{font-size:17px;display:block}
 .mobile-buy-bar .button{min-height:48px;font-size:15px;padding:12px 18px;gap:8px;white-space:nowrap;border-radius:5px;background:#173b32;color:#fff}
 body:has(.mobile-buy-bar){padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .mobile-buy-bar.is-obscured{visibility:hidden;pointer-events:none}
 .preset,.filter{font-size:14px;min-height:44px;padding-block:10px}
 .load-item{min-height:48px}
 .ep-check{min-height:48px}
 .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
 .hh-problem-links a{font-size:15px;min-height:48px}
 .hh-problem-links a span{font-size:12px}
 .hh-small,.hh-books figcaption,.hh-kit ul,.hh-kit-buy p,.hh-kit-buy .hh-kit-note,.hh-affiliate-disclosure,.hh-testimonial-context,.hh-testimonial-context strong,.hh-entry-links .text-link,.hh-course-links .text-link,.hh-continue .text-link{font-size:14px}
 .hh-actions .button,.hh-entry-links .button,.hh-course-links .button{font-size:15px}
 .fine,.fine-print,.footer-note,.footer-links,.site-footer p,.site-footer a{font-size:14px;line-height:1.65}
 .action-row{flex-wrap:wrap}
 .feed-address{overflow-wrap:anywhere}
}
@media(max-width:600px){
 .container,.wrap{width:calc(100% - 36px)}
 .hh-hero{padding-block:25px 35px;gap:24px}
 .hh-intro h1{font-size:clamp(38px,10vw,50px)}
 .hh-lead{font-size:16px}
 .hh-actions{gap:10px;margin-block:22px 14px}
 .hh-books{padding:15px 18px}
 .hh-book-pair{max-width:260px;width:100%;margin-inline:auto;padding:16px 0;gap:18px}
 .hh-book-pair img:last-child{margin-top:15px}
 .hh-books figcaption{padding-top:10px}
 .hh-books figcaption a{min-height:44px;display:flex;align-items:center}
 .hh-problem{padding-inline:20px}
 .hh-problem-links a{gap:8px}
 .hh-kit-buy .button{font-size:15px}
 .site-header .brand{font-size:26px}
 .masthead .wrap{justify-content:center}.masthead span:last-child{display:none}
 .library-panel h1{font-size:43px}
 #library-files{grid-template-columns:1fr}
 .library-panel .action-row>*{width:100%;min-height:44px;display:flex;align-items:center}
 .sample-intro{padding-top:28px}
 .sample-next .button{width:100%}
 .purchase-consent{line-height:1.6}
}
@media(max-height:520px) and (max-width:1100px){.mobile-buy-bar{display:none}body:has(.mobile-buy-bar){padding-bottom:0}.header,.site-header{position:relative}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
