/* KlasMo Studio 5.0 — crafted for the official KlasMo brand.
   Supplemental stylesheet layered after 4.x for backward-compatible WooCommerce pages. */
:root{--km5-dark:#173d31;--km5-pine:#244c3e;--km5-sage:#76b49e;--km5-cream:#f5f0e6;--km5-peach:#e9a68c;--km5-ink:#30443d;--km5-edge:#dce6dc;--km5-shadow:0 18px 56px rgba(27,65,46,.11)}
html{scroll-behavior:smooth;scroll-padding-top:102px}
body{background:#fcfcf8;color:var(--km5-ink);-webkit-font-smoothing:antialiased}
.section{padding:94px 0}
.wrap{max-width:1310px;padding-left:clamp(22px,4vw,58px);padding-right:clamp(22px,4vw,58px)}
h1,h2,h3{letter-spacing:-.048em}
h1 em,h2 em{font-style:italic;color:var(--km5-sage);font-weight:700}
.eyebrow,.km5-kicker{text-transform:uppercase;font-weight:800;letter-spacing:.155em}
.site-announcement{background:#193e32;color:#f8f8f0;font-size:11px;font-weight:650;letter-spacing:.025em}
.site-announcement .wrap{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.km5-announcement-star{color:#edb297;font-size:18px;vertical-align:-2px;margin-right:6px}
.km5-announcement-detail{opacity:.77;font-size:10px}
.header{background:rgba(255,255,252,.975);box-shadow:0 1px 8px rgba(27,65,46,.04);border-color:#e5e9e1;backdrop-filter:blur(14px)}
.nav-bar{min-height:83px;gap:24px}
.logo{width:164px}.main-nav{gap:22px}
.main-nav a{font-size:12px;color:#365345;font-weight:730}
.nav-actions{gap:12px}
.km5-nav-cta{background:#eaf3eb;color:#244c3e!important;border:1px solid #d3e5d8;border-radius:100px;padding:10px 16px;font-size:11px;font-weight:780;white-space:nowrap;display:flex;gap:14px;align-items:center;transition:background .18s,transform .18s}
.km5-nav-cta:hover{background:#d3e8da;transform:translateY(-1px)}
.account-trigger,.cart-trigger{font-size:11px}
/* Hero | editorial text, layered actual PDF papers */
.km5-hero{position:relative;background:#f5f0e6;overflow:hidden}
.km5-hero:before{content:"";position:absolute;left:-180px;top:-350px;width:710px;height:710px;border:1px solid rgba(118,180,158,.20);border-radius:50%;pointer-events:none}
.km5-hero-shell{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:stretch;min-height:670px;position:relative}
.km5-hero-copy{position:relative;z-index:3;padding:95px 10px 76px 0;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.km5-kicker{color:#618676;display:flex;align-items:center;gap:10px;font-size:10px;white-space:nowrap}
.km5-kicker-dot{width:10px;height:10px;border-radius:50%;background:#e9a68c;box-shadow:0 0 0 4px rgba(233,166,140,.18)}
.km5-kicker-line{width:28px;height:1px;background:#b3c6b8}
.km5-hero h1{font-size:clamp(55px,5.5vw,89px);line-height:1.015;font-weight:900;color:#173d31;max-width:690px;margin:26px 0 25px;letter-spacing:-.065em}
.km5-hero h1 em{color:#679b80;font-size:.98em;font-weight:700}
.km5-hero-lead{font-size:15.5px;max-width:515px;line-height:1.82;color:#486457;margin:0 0 29px}
.km5-hero-buttons{display:flex;align-items:center;gap:21px;flex-wrap:wrap}
.km5-btn{display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:15px 23px;border-radius:11px;font-size:13px;font-weight:780;line-height:1.2;transition:background-color .2s,transform .2s,box-shadow .2s}
.km5-btn:focus-visible{outline:3px solid #e9a68c;outline-offset:4px}
.km5-btn-primary{background:#244c3e;color:#fff;box-shadow:0 11px 23px rgba(36,76,62,.15)}
.km5-btn-primary:hover{color:#fff;background:#163c2f;transform:translateY(-2px);box-shadow:0 14px 28px rgba(36,76,62,.18)}
.km5-btn-text{color:#244c3e;background:transparent;padding-left:0;padding-right:0;gap:9px}
.km5-btn-text:hover{color:#173d31;transform:translateY(-1px)}
.km5-play-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid #b4cbb8;background:#fffdf8;font-size:9px;color:#244c3e;padding-left:2px}
.km5-hero-proof{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid #dddccf;margin-top:54px;padding-top:22px;width:100%;color:#648071;font-size:11px}
.km5-hero-proof span{display:flex;gap:9px;align-items:center}.km5-hero-proof b{font-size:13px;color:#214e3f;font-weight:900}
.km5-hero-scene{min-height:670px;position:relative;isolation:isolate;align-self:stretch}
.km5-scene-halo{position:absolute;width:min(650px,112%);aspect-ratio:1;left:2%;top:6%;border-radius:50%;background:radial-gradient(circle at 50% 50%,#dbe9d9 0,#e4ebdd 53%,transparent 68%);z-index:-1}
.km5-scene-grid{position:absolute;inset:5% 0 12%;background-image:radial-gradient(#9cb8a5 1px,transparent 1px);background-size:24px 24px;opacity:.16;mask-image:linear-gradient(90deg,transparent,#000 40%,#000 70%,transparent)}
.km5-sheet{position:absolute;overflow:hidden;padding:7px;background:#fff;box-shadow:0 20px 56px rgba(35,65,47,.22);border-radius:6px;transform-origin:50% 72%;will-change:transform}
.km5-sheet img{height:100%;width:100%;object-fit:cover;object-position:top;border-radius:2px}
.km5-sheet-back{width:43%;height:57%;top:11%;left:49%;transform:rotate(13deg);z-index:1;animation:km5-float-back 7s ease-in-out infinite}
.km5-sheet-mid{width:46%;height:64%;top:21%;left:27%;transform:rotate(-11deg);z-index:2;animation:km5-float-mid 8s ease-in-out infinite}
.km5-sheet-front{width:45%;height:67%;top:17%;left:7%;transform:rotate(-4deg);z-index:3;animation:km5-float-front 8.5s ease-in-out infinite}
.km5-scene-sticker{position:absolute;z-index:5;right:1%;top:16%;height:111px;width:111px;background:#e9a68c;color:#244c3e;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;font-size:15px;text-align:center;line-height:1.25;transform:rotate(12deg);box-shadow:0 9px 24px rgba(120,72,44,.15);font-family:Lato,sans-serif;font-weight:600}
.km5-scene-sticker b{font-size:15px;font-weight:900}
.km5-floating-note{position:absolute;z-index:5;left:16%;bottom:12%;display:flex;align-items:center;gap:11px;padding:11px 18px;background:rgba(255,255,251,.98);box-shadow:0 14px 35px rgba(19,55,41,.14);border-radius:11px;transform:rotate(2deg)}
.km5-note-symbol{background:#eaf4ed;color:#6b9f86;border-radius:9px;width:39px;height:39px;display:grid;place-items:center;font-size:25px}
.km5-floating-note span:last-child{display:flex;flex-direction:column;gap:2px}.km5-floating-note strong{font-size:12px;color:#244c3e}.km5-floating-note small{font-size:10px;color:#7b897e}
.km5-scene-caption{position:absolute;z-index:5;right:1%;bottom:7%;letter-spacing:.15em;color:#6c8876;font-size:9px;font-weight:800}
.km5-hero-bottomline{background:#254e3e;color:#e8f0e9;letter-spacing:.14em;font-size:10px;font-weight:800}
.km5-hero-bottomline>.wrap{display:flex;align-items:center;justify-content:center;gap:30px;min-height:48px}
.km5-bottom-flower{font-size:20px;color:#eeb39a;animation:km5-rotate 20s linear infinite}
@keyframes km5-float-back{0%,100%{transform:rotate(13deg) translateY(0)}50%{transform:rotate(15deg) translateY(-14px)}}
@keyframes km5-float-mid{0%,100%{transform:rotate(-11deg) translateY(0)}50%{transform:rotate(-10deg) translateY(-19px)}}
@keyframes km5-float-front{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-11px)}}
@keyframes km5-rotate{to{transform:rotate(360deg)}}
/* Common cards and editorial treatments */
.assurances{background:#fbfcf8;border-bottom:1px solid #e8ebe3;color:#456956}
.assurances .wrap{padding-top:17px;padding-bottom:17px}
.section-header h2,.km5-explorer-heading h2{font-size:clamp(36px,3.7vw,55px);line-height:1.08}
.finder{background:#fbfcf8}
.quick-groups{background:white;border:1px solid #e8eae1;border-radius:16px;box-shadow:0 8px 28px rgba(32,67,46,.045);padding:18px 22px}
.group-link{border-radius:9px!important;transition:.22s}
.category-cards{gap:23px}
.km-actual-category{border-radius:20px;box-shadow:0 13px 36px rgba(29,64,46,.08);isolation:isolate;transition:transform .26s ease,box-shadow .26s ease}
.km-actual-category:hover{transform:translateY(-5px);box-shadow:0 23px 45px rgba(29,64,46,.13)}
.km-actual-category img{filter:drop-shadow(0 13px 10px rgba(21,48,34,.16))}
.km-actual-category .km-cat-copy h3{letter-spacing:-.055em}
.catalog{background:#f5f0e6}
.product-card{border-radius:16px;overflow:hidden;border:1px solid #e2e9e0;background:#fff;box-shadow:0 8px 25px rgba(32,68,45,.045);transition:transform .24s ease,box-shadow .24s ease}
.product-card:hover{transform:translateY(-4px);box-shadow:0 24px 44px rgba(32,68,45,.12)}
.product-image{background:#eaf1e7}
.product-image .wp-product-image{object-fit:contain}
.prod-action{background:#eaf3eb;color:#244c3e!important;border-radius:8px;padding:8px 12px}
.woo-main{background:#fcfcf8}
.woo-heading h1{font-size:clamp(39px,4vw,58px);line-height:1.12}
.filter-panel{border-radius:16px}.results-panel .product-card{background:#fff}
.woocommerce div.product .woocommerce-product-gallery{border-radius:18px;overflow:hidden}
.woocommerce div.product .summary .price{color:#244c3e!important}
.woocommerce div.product form.cart .button,.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:9px}
.woocommerce div.product .klasmo-preview-link{max-width:520px;min-height:88px;border-radius:14px;background:#eaf4ed;border-color:#bed8c6;box-shadow:0 7px 22px rgba(33,65,46,.10)}
.woocommerce div.product .klasmo-preview-link:hover{background:#e1f0e6;box-shadow:0 11px 30px rgba(33,65,46,.13)}
.klasmo-preview-link .km-preview-copy strong{font-size:15px}
.klasmo-preview-link .km-preview-arrow{background:#244c3e;color:#fff;border-color:#244c3e}
/* Interactive real worksheet explorer */
.km5-explorer{background:#fbfcf8}
.km5-explorer-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:35px}
.km5-explorer-heading h2{color:#173d31;margin:14px 0 0;font-weight:900}.km5-explorer-heading h2 em{color:#77a88f}
.km5-explorer-heading>p{font-size:14px;color:#667c6c;max-width:350px;line-height:1.8;margin:0 0 6px}
.km5-explorer-box{overflow:hidden;border-radius:21px;border:1px solid #dce8dc;background:#eaf1e9;box-shadow:0 24px 65px rgba(30,65,44,.08)}
.km5-explorer-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 28px;background:#fffdf9;border-bottom:1px solid #dde8df}
.km5-subject-switch,.km5-grade-switch{display:flex;gap:6px;background:#f2f5ee;padding:5px;border-radius:10px}
.km5-subject-switch button,.km5-grade-switch button{border:0;background:transparent;color:#527061;font-size:12px;font-weight:750;border-radius:8px;padding:9px 17px;transition:background .2s,color .2s,box-shadow .2s}
.km5-grade-switch button{min-width:39px;padding:9px}
.km5-subject-switch button.is-active,.km5-grade-switch button.is-active{color:#fff;background:#244c3e;box-shadow:0 3px 7px rgba(32,65,48,.15)}
.km5-subject-switch button:focus-visible,.km5-grade-switch button:focus-visible{outline:3px solid #e9a68c;outline-offset:2px}
.km5-explorer-stage{display:grid;grid-template-columns:.9fr .95fr 1fr;align-items:center;gap:0;min-height:445px;padding:36px clamp(28px,5vw,64px)}
.km5-explorer-paper{height:365px;padding:7px;background:#fff;box-shadow:0 17px 45px rgba(31,65,45,.17);border-radius:6px;overflow:hidden;transition:transform .35s ease}
.km5-explorer-paper img{width:100%;height:100%;object-fit:contain;background:white}
.km5-explorer-cover{transform:rotate(-8deg) translate(8%,4%);z-index:1}
.km5-explorer-sheet{transform:rotate(7deg) translate(-5%,-3%);z-index:2}
.km5-explorer-box:hover .km5-explorer-cover{transform:rotate(-10deg) translate(5%,2%)}
.km5-explorer-box:hover .km5-explorer-sheet{transform:rotate(9deg) translate(-3%,-4%)}
.km5-explorer-info{padding:20px 0 20px 42px;position:relative;z-index:3}
.km5-explorer-label{font-size:9px;letter-spacing:.14em;color:#6f967d;font-weight:850}
.km5-explorer-info h3{font:900 clamp(29px,3.1vw,40px)/1.15 Lato,sans-serif;color:#244c3e;margin:12px 0 17px}
.km5-explorer-info p{font-size:13px;line-height:1.85;color:#536e5c;margin-bottom:19px}
.km5-explorer-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.km5-explorer-tags span{font-size:10px;font-weight:650;background:#fff;border:1px solid #dbe7db;border-radius:30px;padding:5px 10px;color:#577564}
.km5-explorer-footer{padding:15px 28px;background:#e3eee4;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;font-weight:700;color:#557b64;letter-spacing:.04em}
/* Film experience (real MP4) */
.km5-film-section{background:#e8efe6;position:relative;overflow:hidden}
.km5-film-section:before{position:absolute;content:"";right:-160px;bottom:-350px;width:650px;height:650px;border:1px solid rgba(36,76,62,.15);border-radius:50%}
.km5-film-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(35px,5vw,85px);align-items:center}
.km5-film-copy h2{font:900 clamp(39px,4.3vw,60px)/1.06 Lato,sans-serif;color:#173d31;margin:17px 0 18px;letter-spacing:-.055em}
.km5-film-copy h2 em{color:#78a58a}
.km5-film-copy>p{font-size:14px;color:#5e7565;line-height:1.85;max-width:440px}
.km5-steps{list-style:none;padding:0;margin:22px 0 25px;display:flex;flex-direction:column;gap:14px}
.km5-steps li{display:flex;align-items:start;gap:16px}.km5-steps li>span{background:#fff;border:1px solid #d2e4d5;border-radius:9px;min-width:42px;height:42px;display:grid;place-items:center;color:#46735d;font:900 13px Lato,sans-serif}
.km5-steps li div{display:flex;flex-direction:column;gap:3px;padding-top:3px}
.km5-steps li strong{font-size:13px;color:#244c3e}.km5-steps li small{font-size:11.5px;color:#6c8071}
.km5-inline-link{display:inline-flex;gap:35px;font-weight:800;color:#244c3e;border-bottom:2px solid #e9a68c;padding-bottom:7px;font-size:13px}
.km5-film-frame{background:#193e32;border:8px solid #193e32;border-radius:20px;box-shadow:0 25px 65px rgba(19,52,38,.22);position:relative;overflow:hidden}
.km5-film-top,.km5-film-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#cde0d2;padding:11px 14px 14px;font-size:10px;font-weight:800;letter-spacing:.08em}
.km5-film-top{padding:7px 12px 13px}.km5-film-bottom{padding:12px 12px 7px}.km5-film-bottom span:last-child{color:#86b79b}
.km5-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e9a68c;margin-right:8px;box-shadow:0 0 0 5px rgba(233,166,140,.14)}
.km5-film-video{display:block;aspect-ratio:16/9;width:100%;height:auto;border-radius:9px;background:#f5f0e6;object-fit:cover}
.try{background:#f5f0e6}.try-art img{border-radius:6px;box-shadow:0 16px 30px rgba(34,71,48,.10)}
.about{background:#fff}.faq{background:#fbfcf8}
.faq details{border-color:#e6eae2}
/* Scroll-reveal gracefully degrades with JS disabled or observer unavailable. */
.km5-js .km5-reveal{opacity:1;transform:none}
.km5-js .km5-reveal.km5-visible{animation:km5-reveal-in .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes km5-reveal-in{from{opacity:.72;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:1170px){.main-nav{gap:15px}.km5-nav-cta{display:none}.km5-hero h1{font-size:clamp(53px,5.8vw,75px)}.km5-hero-shell{min-height:630px}.km5-hero-scene{min-height:630px}}
@media(max-width:970px){.km5-hero-shell{grid-template-columns:1fr 1fr;min-height:570px}.km5-hero-copy{padding:66px 8px 60px 0}.km5-hero h1{font-size:clamp(48px,6.2vw,64px)}.km5-hero-lead{font-size:13.5px}.km5-hero-scene{min-height:570px}.km5-hero-proof{gap:13px;margin-top:30px}.km5-film-layout{gap:28px;grid-template-columns:.85fr 1.15fr}.km5-explorer-stage{padding:30px 24px}.km5-explorer-info{padding-left:26px}.km5-explorer-paper{height:300px}}
@media(max-width:800px){.site-announcement .wrap{justify-content:center}.km5-announcement-detail{display:none}.km5-hero-shell{grid-template-columns:1fr;min-height:unset}.km5-hero-copy{padding:64px 0 20px;align-items:center;text-align:center}.km5-kicker{font-size:9px}.km5-hero h1{font-size:clamp(52px,9vw,73px);margin:24px 0}.km5-hero-lead{max-width:580px}.km5-hero-proof{justify-content:center;margin-top:33px}.km5-hero-scene{width:100%;min-height:480px;max-width:640px;margin:auto}.km5-sheet-back{height:67%;top:5%;left:50%}.km5-sheet-mid{height:73%;top:12%;left:27%}.km5-sheet-front{height:77%;top:7%;left:8%}.km5-floating-note{left:20%;bottom:10%}.km5-explorer-heading{align-items:flex-start;flex-direction:column;gap:12px}.km5-explorer-heading>p{max-width:580px}.km5-explorer-stage{grid-template-columns:.9fr 1fr;gap:0;padding:30px 36px}.km5-explorer-info{grid-column:1/-1;text-align:center;padding:20px 12px 0}.km5-explorer-tags{justify-content:center}.km5-explorer-paper{height:335px}.km5-film-layout{grid-template-columns:1fr}.km5-film-copy{text-align:center}.km5-film-copy>p{max-width:600px;margin:0 auto}.km5-steps{max-width:520px;margin:24px auto;text-align:left}.km5-film-frame{max-width:750px;width:100%;margin:auto}}
@media(max-width:580px){.section{padding:66px 0}.wrap{padding-left:20px;padding-right:20px}.site-announcement{font-size:10px}.km5-hero-copy{padding:46px 0 14px}.km5-hero h1{font-size:clamp(49px,12.1vw,65px);line-height:1.03;letter-spacing:-.055em}.km5-hero-lead{font-size:13.5px;line-height:1.8;margin-bottom:25px}.km5-hero-buttons{flex-direction:column;gap:12px}.km5-btn-primary{padding:15px 20px}.km5-btn-text{padding:6px}.km5-hero-proof{gap:16px;font-size:10px;margin-top:23px;padding-top:16px}.km5-hero-proof b{font-size:12px}.km5-hero-scene{min-height:377px;max-width:430px}.km5-sheet{padding:5px}.km5-sheet-back{top:6%;width:44%;height:65%;left:49%}.km5-sheet-mid{top:13%;width:45%;height:68%;left:29%}.km5-sheet-front{top:11%;width:46%;height:70%;left:8%}.km5-scene-sticker{height:75px;width:75px;font-size:10px;right:1%;top:4%}.km5-scene-sticker b{font-size:10px}.km5-floating-note{bottom:5%;left:13%;padding:9px 10px}.km5-floating-note strong{font-size:10px}.km5-floating-note small{font-size:9px}.km5-note-symbol{height:32px;width:32px}.km5-scene-caption{bottom:0;right:5%;font-size:7px}.km5-hero-bottomline>.wrap{font-size:8px;gap:10px;text-align:center}.km5-explorer-heading h2,.section-header h2{font-size:clamp(35px,9vw,45px)}.km5-explorer-controls{flex-direction:column;gap:12px;padding:16px}.km5-subject-switch{width:100%;justify-content:center}.km5-subject-switch button{flex:1}.km5-grade-switch{width:100%;justify-content:space-between}.km5-grade-switch button{flex:1;min-width:0;padding:9px 5px}.km5-explorer-stage{padding:28px 13px}.km5-explorer-paper{height:250px;padding:5px}.km5-explorer-info{padding:22px 12px 8px}.km5-explorer-info h3{font-size:30px}.km5-explorer-tags{gap:5px}.km5-explorer-tags span{font-size:9px}.km5-explorer-footer{font-size:8px;padding:12px;flex-wrap:wrap}.km5-film-copy h2{font-size:clamp(42px,10vw,52px)}.km5-film-frame{border-width:5px;border-radius:14px}.km5-film-top,.km5-film-bottom{font-size:8px}.km5-film-bottom span:last-child{display:none}.km5-steps li small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.km5-sheet-back,.km5-sheet-mid,.km5-sheet-front,.km5-bottom-flower{animation:none!important}.km5-js .km5-reveal{opacity:1!important;transform:none!important;transition:none!important}.km5-btn,.km-actual-category,.product-card,.km5-explorer-cover,.km5-explorer-sheet{transition:none!important}.km5-btn:hover,.km-actual-category:hover,.product-card:hover{transform:none}}
