@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;700&family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--navy:#09294e;--blue:#0963bb;--ink:#122f51;--muted:#53687d;--gold:#b67c20;--line:#dce8f2;--pale:#edf7fd;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%}button,input{font:inherit}button{cursor:pointer}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(10px);position:sticky;top:0;z-index:50;border-bottom:1px solid #e3edf5;box-shadow:0 2px 14px #06254710}.nav-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;color:#075ba8;white-space:nowrap;min-width:0}.brand-icon{width:58px;height:58px;display:block;background:url('/assets/favicon.svg') center/contain no-repeat;font-size:0;flex:none}.brand-name{font-family:'Caveat',cursive;letter-spacing:.01em;font-size:66px;line-height:.9;color:#105ea8;position:relative;top:2px;white-space:nowrap}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{font-size:14px;font-weight:700;color:#244763;padding:29px 0 24px;border-bottom:3px solid transparent}.nav-links a.active,.nav-links a:hover{color:#0861b3;border-color:#2b94ea}.menu-toggle{display:none;border:0;background:#ecf6ff;border-radius:8px;padding:9px 12px;color:var(--navy)}.hero{overflow:hidden;background:linear-gradient(100deg,#05376f 0%,#0a4f93 58%,#063868 100%),url('/assets/pattern.svg');color:white;position:relative}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,#49d2ff26,transparent 28%),radial-gradient(circle at 72% 32%,#7bd4ff26,transparent 34%),linear-gradient(0deg,#072e57 0%,transparent 24%);pointer-events:none}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,40,78,.12),rgba(8,89,171,.08));pointer-events:none}.hero-grid{min-height:680px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:56px;align-items:center;position:relative;z-index:1;padding:84px 0 78px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.21em;font-weight:800;color:#bd822f}.hero .eyebrow{color:#bfe7ff;margin-bottom:18px;font-size:14px}.hero-script{display:block;font-family:'Caveat',cursive;font-size:clamp(88px,10vw,132px);line-height:.88;color:#fff;letter-spacing:.01em;margin:0 0 42px;max-width:760px;text-shadow:0 10px 28px rgba(7,33,69,.18)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.23}h1{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(28px,3.2vw,43px);margin-bottom:18px}h2{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(27px,2.9vw,37px);margin-bottom:16px}h3{font-size:19px}.hero h1{font-family:'DM Sans',sans-serif;font-size:clamp(38px,3.4vw,56px);font-weight:700;line-height:1.08;letter-spacing:-.03em;max-width:760px;margin-bottom:24px}.hero p{font-size:clamp(20px,1.6vw,28px);line-height:1.45;color:#e5f4ff;max-width:700px}.hero-actions,.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;border:1px solid transparent;background:#1180ea;color:#fff;padding:15px 26px;font-weight:700;font-size:15px;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 10px 22px rgba(3,65,122,.16)}.btn:hover{transform:translateY(-2px);background:#005caf}.btn-outline{border-color:#a9dafa;background:transparent;color:#fff;box-shadow:none}.btn-outline:hover{background:#ffffff1e}.btn-gold{background:linear-gradient(135deg,#c68b2b,#946014)}.btn-gold:hover{background:#9b6418}.btn-subtle{background:#e8f4fe;color:#07569f}.hero-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;padding:20px 0 20px 20px}.hero-visual svg{width:100%;max-width:520px;filter:drop-shadow(0 10px 26px rgba(91,198,255,.22))}.hero-features{display:grid;gap:16px;position:absolute;right:-6px;top:50%;transform:translateY(-44%);width:min(240px,44%)}.hero-features span{display:block;padding:15px 16px 15px 18px;border-left:3px solid #8bd0ff;background:linear-gradient(180deg,rgba(4,33,68,.62),rgba(5,41,81,.78));backdrop-filter:blur(4px);border-radius:0 12px 12px 0;font-size:13px;line-height:1.42;box-shadow:0 12px 24px rgba(2,25,52,.18)}.hero-features strong{display:block;letter-spacing:.06em;font-size:15px;margin-bottom:4px}.section{padding:76px 0}.section-soft{background:linear-gradient(160deg,#f1f9ff,#fff)}.section-book{background:linear-gradient(135deg,#fff9ef,#fff 56%,#f8fbff)}.book-grid{display:grid;grid-template-columns:270px 1fr 260px;align-items:center;gap:44px}.book-display{position:relative;max-width:248px;margin:auto;filter:drop-shadow(14px 16px 16px #0b264733)}.book-display img{width:100%;aspect-ratio:712/1024;object-fit:cover;object-position:center;border-radius:3px 5px 5px 3px;box-shadow:-9px 0 0 #06311e}.subtitle{font-size:18px;color:#375570;margin-bottom:17px}.body-copy{color:#516578}.feature-list{display:grid;gap:23px;border-left:1px solid #e7cead;padding-left:27px}.feature{display:flex;gap:13px;align-items:flex-start}.feature .circle{border:1px solid #e9c98e;width:45px;height:45px;flex:none;border-radius:50%;display:grid;place-items:center;color:#aa721e;font-size:20px}.feature strong{display:block;font-size:12px;color:#183d6d;letter-spacing:.055em}.feature p{font-size:12px;color:var(--muted);margin:2px 0}.section-title{max-width:730px;margin-bottom:34px}.tool-card{border:1px solid #cce4f6;background:#fff;border-radius:20px;box-shadow:0 16px 40px #0d508b11;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden}.tool-info{padding:38px}.tool-side{padding:32px;background:#e8f5ff;border-left:1px solid #d9eaf8}.video-box{width:100%;aspect-ratio:16/9;background:linear-gradient(140deg,#0c4378,#146eae);border-radius:12px;color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;position:relative;overflow:hidden;text-align:center}.video-box:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 33px,#ffffff12 34px 35px),repeating-linear-gradient(90deg,transparent 0 62px,#ffffff13 63px 64px);opacity:.5}.video-box>*{position:relative}.play{font-size:42px;width:76px;height:76px;border:2px solid #d9f4ff;border-radius:50%;display:grid;place-items:center}.muted{color:#617589}.count-line{font-size:13px;color:#56728c;margin:12px 0 0}.counter{color:#0656a7;font-weight:800}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{padding:26px;border:1px solid #dce9f4;border-radius:16px;background:#fff;box-shadow:0 8px 24px #102d4810}.card .card-icon{color:#1175c6;font-size:27px;margin-bottom:14px}.card h3{margin-bottom:10px}.card p{font-size:14px;color:#60748a}.text-link{font-weight:800;color:#066fbd;font-size:13px}.text-link:hover{text-decoration:underline}.about-strip{background:#083460;color:#fff;padding:35px 0}.about-grid{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}.about-strip p{max-width:870px;margin:8px 0 0;color:#d9eafa}.footer{background:#061d36;color:#c1d7ea;padding:32px 0;font-size:13px}.footer-inner{display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap}.footer a:hover{color:white}.footer-links{display:flex;gap:21px;flex-wrap:wrap}.page-hero{background:linear-gradient(100deg,#073768e8,#0b68afe0),url('/assets/pattern.svg');color:#fff;padding:86px 0 72px}.page-hero p{color:#deeffc;font-size:17px;max-width:770px}.page-hero h1{max-width:860px}.prose{max-width:850px}.prose p{color:#4e6578;margin-bottom:19px}.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chapter{border:1px solid #dce8f1;border-radius:12px;background:white;overflow:hidden}.chapter summary{cursor:pointer;padding:20px;list-style:none}.chapter summary::-webkit-details-marker{display:none}.chapter summary:after{content:'+';float:right;font-size:22px;color:#2176b4}.chapter[open] summary:after{content:'−'}.chapter-number{font-weight:800;color:#b47a20;font-size:11px;letter-spacing:.12em}.chapter-title{font-family:'Libre Baskerville',Georgia,serif;font-size:16px;display:block;margin-top:5px;padding-right:12px}.chapter-content{padding:0 20px 20px;font-size:14px;color:#526a7b}.chapter-content ul{padding-left:19px}.chapter-content li{margin:7px 0}.notice{border:1px solid #e4d6bb;background:#fffaf0;color:#72592d;padding:17px 19px;border-radius:12px;font-size:14px}.article-date{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#ac751e;font-weight:800}.article-card h3 a:hover{color:#086dbb}.article-page{max-width:780px}.article-page h2{font-size:25px;margin-top:35px}.article-page p,.article-page li{color:#4e6477;font-size:17px}.article-page li{margin-bottom:10px}.faq{border-top:1px solid #dbe7f0;padding:20px 0}.faq h3{font-size:17px}.embed-frame{aspect-ratio:16/9;width:100%;border:0;border-radius:14px;background:#0a3562}.divider{height:1px;background:#deebf3;margin:30px 0}.small{font-size:13px}.hidden{display:none!important}@media(max-width:940px){.book-grid{grid-template-columns:200px 1fr;gap:25px}.feature-list{grid-column:1/-1;grid-template-columns:repeat(3,1fr);border-left:0;border-top:1px solid #e7cead;padding:20px 0 0}.hero-visual{min-height:260px}.hero-features{display:none}}@media(max-width:720px){.wrap{width:min(100% - 32px,1180px)}.nav-inner{min-height:72px}.brand{gap:10px}.brand-name{font-size:36px;top:1px}.brand-icon{width:42px;height:42px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:10px 22px 24px;box-shadow:0 14px 25px #1533511e;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:12px 0;font-size:15px}.hero-grid{padding:44px 0 56px;grid-template-columns:1fr;min-height:auto;gap:28px}.hero .eyebrow{margin-bottom:12px;font-size:12px}.hero-script{font-size:clamp(62px,16vw,88px);margin:0 0 22px}.hero h1{font-size:clamp(34px,8vw,46px);margin-bottom:18px}.hero p{font-size:19px}.hero-actions{margin-top:28px}.hero-visual{min-height:210px;max-height:none;padding:8px 0 0}.hero-visual svg{max-width:300px}.hero-features{position:static;transform:none;width:100%;margin-top:10px;display:grid;grid-template-columns:1fr;gap:10px}.book-grid{grid-template-columns:1fr;text-align:left}.book-display{width:180px}.feature-list{grid-template-columns:1fr;gap:12px}.section{padding:55px 0}.tool-card{grid-template-columns:1fr}.tool-info,.tool-side{padding:24px}.card-grid,.chapter-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr;gap:14px}.page-hero{padding:56px 0 48px}.footer-inner{flex-direction:column}}


/* Composite homepage hero using approved visual assets */
.hero-composite{background:#fff;padding:0;overflow:visible}
.hero-composite-wrap{position:relative;width:min(1600px,calc(100vw - 48px));margin:0 auto 8px;border-radius:0;overflow:hidden;box-shadow:0 10px 30px rgba(6,36,73,.08)}
.hero-media{display:block;line-height:0}
.hero-media img{display:block;width:100%;height:auto}
.hero-hotspot{position:absolute;display:block;border-radius:999px;z-index:3;background:transparent}
.hero-hotspot:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px rgba(17,128,234,.55)}
.hotspot-book{left:4.5%;top:73.9%;width:22.7%;height:11.9%}
.hotspot-estimator{left:28.0%;top:73.9%;width:24.5%;height:11.9%}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:1200px){
  .hero-composite-wrap{width:min(100%,calc(100vw - 32px))}
}

@media(max-width:720px){
  .hero-composite-wrap{width:min(100%,calc(100vw - 20px));border-radius:0;box-shadow:none}
  .hotspot-book{left:8.4%;top:35.1%;width:59.5%;height:6.4%}
  .hotspot-estimator{left:8.4%;top:41.4%;width:59.5%;height:6.5%}
}

/* Navigation without brand: keep menu aligned to the right */
.nav-inner{justify-content:flex-end}
@media(max-width:720px){.nav-inner{justify-content:flex-end}}

/* Video integration · v5 */
.video-embed{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#082b51;box-shadow:0 12px 28px rgba(9,43,81,.15)}
.video-embed iframe{display:block;width:100%;height:100%;border:0}
.video-preview{position:relative;cursor:pointer;border:1px solid #9cd6ff;isolation:isolate;transition:transform .2s,box-shadow .2s}
.video-preview:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(10,48,91,.24)}
.video-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.65)}
.video-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,28,60,.9),transparent 78%);z-index:0}
.video-preview .play{font-size:32px;width:70px;height:70px;background:rgba(3,94,189,.92);border-color:#fff;z-index:1}
.video-preview strong{font-size:14px;z-index:1;padding:0 14px 15px;text-shadow:0 1px 6px rgba(0,0,0,.5)}
#video{scroll-margin-top:95px}

/* Learning library and secondary call to action */
.btn-book-outline{background:#fff;color:#0a5fae;border:1.5px solid #0f74c9;box-shadow:none}
.btn-book-outline:hover{background:#eaf5ff;color:#074a8e}
.learning-hero{background:linear-gradient(105deg,rgba(5,43,89,.96),rgba(10,96,169,.86)),url('/assets/pattern.svg')}
.learning-list{display:grid;gap:32px}
.learning-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:34px;align-items:center;padding:24px;border:1px solid #dce9f4;border-radius:20px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 12px 32px rgba(7,55,105,.07)}
.learning-video{align-self:start}
.learning-copy h2{font-size:clamp(22px,2.3vw,30px);margin:10px 0 14px}
.learning-copy .body-copy{font-size:15px;line-height:1.75}
#lesson-1,#lesson-2,#lesson-3,#lesson-4,#lesson-5{scroll-margin-top:100px}
@media(max-width:860px){.learning-card{grid-template-columns:1fr;gap:22px}.nav-links{gap:17px}.nav-links a{font-size:13px}}
@media(max-width:720px){.learning-card{padding:16px;gap:20px}.learning-copy h2{font-size:24px}.learning-copy .body-copy{font-size:15px}.tool-info .actions{gap:12px}.tool-info .actions .btn{width:100%}}
