/* Static site styles; no framework, web fonts or external CSS required. */
.jd-seo { color:#243449; background:#f7f9fc; font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; overflow-wrap:anywhere; }
.jd-seo *, .jd-seo *::before, .jd-seo *::after { box-sizing:border-box; }
body.jd-seo { margin:0; }
.jd-seo a { color:#214b80; text-decoration:underline; text-underline-offset:3px; }
.jd-seo a:hover { color:#a73c10; }
.jd-seo a:focus-visible { outline:3px solid #ed702f; outline-offset:5px; }
.jd-seo .jd-wrap { width:min(1100px,100% - 40px); margin-inline:auto; }
.jd-seo .jd-header { position:relative; z-index:20; background:#142b46; color:#fff; padding:0; }
.jd-seo .jd-header a { color:#fff; }
.jd-seo .jd-brand { font-size:17px; font-weight:700; letter-spacing:-.025em; text-decoration:none; white-space:nowrap; flex:none; }
.jd-seo nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:16px; font-size:.95rem; }
.jd-seo main, .jd-seo.jd-home { padding-block:48px; }
.jd-seo h1, .jd-seo h2, .jd-seo h3 { font-family:Georgia,serif; color:#1b365d; line-height:1.2; font-weight:700; }
.jd-seo h1 { font-size:clamp(2rem,5vw,3.3rem); margin:16px 0 24px; max-width:900px; }
.jd-seo h2 { font-size:1.8rem; margin:40px 0 16px; }
.jd-seo h3 { font-size:1.3rem; margin:0 0 12px; }
.jd-seo p { margin:0 0 18px; max-width:78ch; }
.jd-seo ul, .jd-seo ol { padding-left:24px; margin:12px 0 24px; }
.jd-seo li { margin-bottom:8px; }
.jd-seo .jd-lead { font-size:1.18rem; }
.jd-seo .jd-crumb { font-size:.9rem; margin-bottom:24px; }
.jd-seo .jd-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:24px; }
.jd-seo .jd-card { background:white; padding:28px; border:1px solid #dce4ee; border-radius:12px; }
.jd-seo .jd-book { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:48px; align-items:start; }
.jd-seo .jd-cover { width:100%; height:auto; display:block; box-shadow:0 12px 28px #1b365d22; }
.jd-seo .jd-button { display:inline-block; border-radius:6px; padding:12px 20px; background:#1b365d; color:white; font-weight:700; margin:4px 12px 12px 0; text-decoration:none; }
.jd-seo .jd-button:hover { background:#384c7b; color:white; }
.jd-seo dl { display:grid; grid-template-columns:150px minmax(0,1fr); gap:10px 18px; margin:24px 0; }
.jd-seo dt { font-weight:700; }
.jd-seo dd { margin:0; }
.jd-seo .jd-footer { padding:32px 0; margin-top:40px; border-top:1px solid #dce4ee; background:#edf1f7; }
.jd-seo .jd-footer p { font-size:.95rem; }
.jd-seo pre { padding:24px; background:#1b365d; color:#fff; overflow:auto; border-radius:8px; font-size:1rem; }
.jd-seo code { font-family:ui-monospace,Consolas,monospace; }
.jd-seo .jd-note { border-left:4px solid #df692e; padding:12px 20px; background:#fff; }
.jd-seo .jd-skip { position:absolute; top:-100px; left:16px; background:white; padding:12px; z-index:100; }
.jd-seo .jd-skip:focus { top:10px; }
@media(max-width:640px) { .jd-seo .jd-book { grid-template-columns:1fr; gap:24px; } .jd-seo .jd-cover { max-width:220px; } .jd-seo dl { grid-template-columns:1fr; gap:2px; } .jd-seo dd { margin-bottom:12px; } }

.jd-seo [hidden] { display:none !important; }
.jd-seo :target { scroll-margin-top:24px; }
.jd-seo main.jd-front { padding:0; }
.jd-seo .jd-section { padding-block:64px; }
.jd-seo .jd-section h2:first-of-type { margin-top:0; }
.jd-seo .jd-tint { background:#edf1f7; }
.jd-seo .jd-eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; font-weight:750; }
.jd-seo .jd-hero { position:relative; isolation:isolate; overflow:hidden; background:#1b365d; color:#fff; min-height:100vh; min-height:100dvh; display:flex; align-items:flex-end; padding:140px 0 max(56px,env(safe-area-inset-bottom)); }
.jd-seo .jd-hero-gallery { position:absolute; inset:0; z-index:-2; pointer-events:none; }
.jd-seo .jd-hero-slide { position:absolute; inset:0; display:block; opacity:0; transition:opacity 2s ease-in-out; }
.jd-seo .jd-hero-slide.is-active { opacity:1; }
.jd-seo .jd-hero-slide img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.jd-seo .jd-hero::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(12,30,53,.9),rgba(16,35,58,.6) 55%,rgba(16,35,58,.15)),linear-gradient(0deg,rgba(15,34,59,.65),transparent 60%); }
.jd-seo .jd-hero h1 { color:#fff; font-size:clamp(2rem,4.2vw,3.5rem); line-height:1.06; letter-spacing:-.035em; margin:16px 0 20px; }
.jd-seo .jd-hero-grid > div { max-width:740px; }
.jd-seo .jd-hero .jd-light { color:white; }
.jd-seo .jd-orange { background:#bb4013; color:#fff; }
.jd-seo .jd-orange:hover { background:#96310d; }
.jd-seo .jd-small { font-size:.88rem; margin-top:12px; }
.jd-seo blockquote { margin:0; }
.jd-seo cite { font-size:.9rem; font-style:normal; font-weight:650; }
.jd-seo .jd-portrait { width:100px; height:100px; border-radius:50%; object-fit:cover; margin-bottom:20px; }
.jd-seo .jd-order-grid { display:grid; grid-template-columns:2fr 1fr; gap:32px; align-items:start; }
.jd-seo form { padding:28px; background:#fff; border:1px solid #dce4ee; border-radius:12px; min-width:0; }
.jd-seo .jd-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.jd-seo label { display:block; font-weight:650; font-size:.95rem; margin:14px 0 6px; }
.jd-seo input, .jd-seo select, .jd-seo textarea { width:100%; max-width:100%; font:inherit; color:#243449; border:1px solid #aab9cc; border-radius:6px; padding:10px 12px; background:white; }
.jd-seo input:focus-visible, .jd-seo select:focus-visible, .jd-seo textarea:focus-visible { outline:3px solid #b95b26; outline-offset:2px; }
.jd-seo fieldset { margin:24px 0; border:1px solid #dce4ee; border-radius:8px; padding:12px 20px 20px; min-width:0; }
.jd-seo legend { font-weight:750; padding:0 6px; }
.jd-seo .jd-terms { display:flex; gap:12px; align-items:flex-start; margin:20px 0; }
.jd-seo .jd-terms input { width:20px; height:20px; margin-top:5px; flex:none; }
.jd-seo .jd-terms label { margin:0; font-weight:400; }
.jd-seo button { font:inherit; cursor:pointer; border:0; }
.jd-seo button:disabled { opacity:.55; cursor:not-allowed; }
.jd-seo .jd-summary { padding:28px; background:#1b365d; color:white; border-radius:12px; }
.jd-seo .jd-summary h3 { color:white; }
.jd-seo #order-status:not(:empty) { border-left:4px solid #b95b26; padding:16px; background:#fff2e9; }
.jd-seo .jd-footer h2 { font-size:1.4rem; margin-top:0; }
@media(max-width:760px) {
 .jd-seo .jd-order-grid { grid-template-columns:1fr; }
 .jd-seo .jd-hero { padding:112px 0 max(32px,env(safe-area-inset-bottom)); }
 .jd-seo .jd-section { padding-block:40px; }
 .jd-seo .jd-fields { grid-template-columns:1fr; gap:0; }
 .jd-seo form { padding:20px; }
}
@media(max-width:1023px) {
 .jd-seo .jd-hero::after { background:linear-gradient(90deg,rgba(12,30,53,.76),rgba(16,35,58,.3)),linear-gradient(0deg,rgba(15,34,59,.7),rgba(15,34,59,.12) 65%); }
}
@media(prefers-reduced-motion:reduce) {
 .jd-seo .jd-hero-slide { transition:none; }
}

/* Compact navigation: the small script measures the actual link widths. */
.jd-seo .jd-header > .jd-wrap { width:min(1440px,100% - 64px); min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.jd-seo .jd-header nav { margin:0; gap:4px; flex-wrap:nowrap; font-size:13px; font-weight:550; }
.jd-seo .jd-header nav a { display:block; padding:10px 12px; white-space:nowrap; text-decoration:none; border-radius:5px; transition:background .18s ease; }
.jd-seo .jd-header nav a:hover { color:white; background:#ffffff18; }
.jd-seo .jd-header a:focus-visible, .jd-seo .jd-menu-toggle:focus-visible { outline:2px solid white; outline-offset:4px; }
.jd-seo.jd-landing .jd-header { position:absolute; top:0; inset-inline:0; background:linear-gradient(180deg,rgba(10,24,41,.75),rgba(10,24,41,.15)); }
.jd-seo .jd-menu-toggle { display:flex; align-items:center; gap:10px; flex:none; padding:10px 14px; min-height:44px; border-radius:5px; background:#ffffff14; color:white; font-size:13px; font-weight:600; }
.jd-seo .jd-menu-icon { position:relative; width:16px; height:12px; border-block:1.5px solid currentColor; }
.jd-seo .jd-menu-icon::after { content:""; position:absolute; top:4px; left:0; width:16px; border-top:1.5px solid currentColor; }
.jd-seo .jd-menu-toggle[aria-expanded="true"] .jd-menu-icon { border:0; }
.jd-seo .jd-menu-toggle[aria-expanded="true"] .jd-menu-icon::before,
.jd-seo .jd-menu-toggle[aria-expanded="true"] .jd-menu-icon::after { content:""; position:absolute; top:5px; left:0; width:16px; border-top:1.5px solid currentColor; transform:rotate(45deg); }
.jd-seo .jd-menu-toggle[aria-expanded="true"] .jd-menu-icon::after { transform:rotate(-45deg); }
.jd-seo .jd-header.is-compact nav { position:absolute; top:calc(100% - 4px); right:32px; width:min(360px,100% - 64px); max-height:calc(100dvh - 88px); overflow:auto; flex-direction:column; padding:12px; border:1px solid #ffffff20; border-radius:10px; background:rgba(17,37,61,.97); backdrop-filter:blur(20px); box-shadow:0 18px 48px #07182c40; }
.jd-seo .jd-header.is-compact nav a { padding:12px; }
.jd-seo .jd-header.is-compact:not(.is-open) nav { visibility:hidden; pointer-events:none; }
.jd-seo .jd-hero .jd-lead { max-width:570px; font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.65; color:#f0f3f7; }
.jd-seo .jd-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.jd-seo .jd-hero-actions .jd-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; min-width:216px; padding:12px 24px; margin:0; border:1px solid transparent; border-radius:5px; font-size:14px; font-weight:650; line-height:1.4; text-decoration:none; transition:background .18s ease,color .18s ease; }
.jd-seo .jd-hero-actions .jd-cta-primary { background:#fff; color:#142b46; }
.jd-seo .jd-hero-actions .jd-cta-primary:hover { background:#e4eaf1; color:#142b46; }
.jd-seo .jd-hero-actions .jd-cta-secondary { color:#fff; background:rgba(15,34,59,.25); border-color:rgba(255,255,255,.75); backdrop-filter:blur(8px); }
.jd-seo .jd-hero-actions .jd-cta-secondary:hover { background:#ffffff20; border-color:white; }
.jd-seo .jd-hero-actions a:focus-visible { outline:3px solid white; outline-offset:5px; }
@media(max-width:760px) {
 .jd-seo .jd-header > .jd-wrap { width:calc(100% - 40px); min-height:68px; gap:12px; }
 .jd-seo .jd-brand { font-size:15px; }
 .jd-seo .jd-menu-toggle { padding:10px; }
 .jd-seo .jd-header.is-compact nav { right:20px; width:calc(100% - 40px); max-height:calc(100dvh - 80px); }
 .jd-seo .jd-hero h1 { font-size:clamp(1.8rem,7.4vw,2.8rem); }
 .jd-seo .jd-hero-actions { gap:10px; margin-top:28px; }
 .jd-seo .jd-hero-actions .jd-button { min-width:0; }
}
@media(max-width:480px) {
 .jd-seo .jd-hero { padding-top:100px; }
 .jd-seo .jd-hero-actions { flex-direction:column; }
 .jd-seo .jd-hero-actions .jd-button { width:100%; }
 .jd-seo .jd-hero .jd-eyebrow { font-size:.68rem; letter-spacing:.09em; }
}
/* Links remain available if JavaScript is disabled. */
@media(max-width:1200px) {
 .jd-seo .jd-header:not(.jd-nav-ready) > .jd-wrap { flex-wrap:wrap; padding-block:16px; }
 .jd-seo .jd-header:not(.jd-nav-ready) nav { flex-wrap:wrap; }
 .jd-seo.jd-landing .jd-header:not(.jd-nav-ready) { position:relative; background:#142b46; }
}
@media(prefers-reduced-motion:reduce) {
 .jd-seo .jd-header nav a, .jd-seo .jd-hero-actions .jd-button { transition:none; }
}
