@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

:root{
  --cream:#f7f2e9; --paper:#fffdf9; --navy:#17343a; --forest:#244b3d;
  --sage:#cbd4c2; --sage2:#e4eadf; --pink:#e9aaa4; --pink2:#f5d7d2;
  --terracotta:#c9796e; --sand:#dfd1bd; --ink:#172728;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}
a{color:inherit;text-decoration:none}
.site-header{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e0d5;background:rgba(255,253,249,.96);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:3px;font-weight:700;color:var(--navy)}
.brand-mark{width:50px;height:50px;border:2px solid var(--forest);border-radius:50%;display:grid;place-items:center;font-family:"Libre Baskerville";font-size:26px;background:var(--cream);color:var(--terracotta)}
nav{display:flex;gap:28px;font-size:14px;font-weight:600} nav a:hover{color:var(--terracotta)}
.hero{min-height:620px;background:var(--cream);display:grid;grid-template-columns:.92fr 1.08fr;gap:50px;align-items:center;padding:65px 5vw 70px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--forest);margin:0 0 18px}
h1,h2,h3{font-family:"Libre Baskerville",serif;color:var(--navy)}
h1{font-size:clamp(44px,5vw,72px);line-height:1.06;letter-spacing:-2.8px;margin:0 0 25px}
.lead{font-size:18px;line-height:1.75;max-width:600px;color:#4e5b58}
.actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 22px;border-radius:30px;font-weight:700;font-size:14px}
.primary{background:var(--pink);color:#21383a}.secondary{background:var(--paper);border:1.5px solid var(--navy)}
.hero-image{position:relative}.hero-image img{width:100%;height:465px;object-fit:cover;border-radius:30px;display:block;box-shadow:0 18px 45px #26382e24}
.image-tag{position:absolute;bottom:18px;left:18px;background:#fffdf4e8;padding:9px 14px;border-radius:20px;font-size:12px;font-weight:700}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 5vw;border-bottom:1px solid #e7e0d5;background:#fff}
.benefits div{text-align:center;padding:10px}.benefits b{display:block;font-size:23px;color:var(--terracotta);margin-bottom:7px}.benefits strong,.benefits span{display:block}.benefits span{font-size:12px;color:#68716e;margin-top:3px}
.section{padding:85px 5vw}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.section-heading h2,.feature h2,.freebie h2,.about h2{font-size:clamp(31px,3.4vw,49px);margin:0}.section-heading>p{max-width:480px;color:#65706d;line-height:1.6}
.category-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:18px}
.category{border-radius:22px;min-height:365px;overflow:hidden;padding:27px;transition:.25s;display:flex;flex-direction:column;justify-content:flex-end}.category:hover{transform:translateY(-5px);box-shadow:0 14px 30px #26382e18}
.category h3{font-size:25px;margin:5px 0 10px}.category p{font-size:14px;line-height:1.55}.category span{font-weight:700;font-size:13px;margin-top:12px}
.image-card{padding:0;background:var(--pink2)}.image-card img{height:220px;width:100%;object-fit:cover}.image-card div{padding:22px 27px 26px}
.sage{background:var(--sage2)}.pink{background:var(--pink2)}.cream{background:#efe7da}.sketch{font-size:52px;color:var(--forest);margin:auto 0}
.feature{margin:20px 5vw 90px;background:var(--navy);color:white;border-radius:30px;padding:60px;display:grid;grid-template-columns:1.5fr .7fr;gap:50px;align-items:center}.feature h2{color:white}.feature>div>p:not(.eyebrow){line-height:1.7;color:#dce4df;max-width:680px}.feature .eyebrow{color:#e9aaa4}.quote-card{background:var(--cream);color:var(--navy);border-radius:22px;padding:40px;transform:rotate(2deg)}.quote-card span{font-size:11px;letter-spacing:2px}.quote-card p{font-family:"Libre Baskerville";font-size:28px!important;color:var(--navy)!important}
.freebie{margin:0 5vw 80px;background:var(--sage2);border-radius:30px;padding:55px;display:flex;align-items:center;justify-content:space-between;gap:30px}.freebie p:not(.eyebrow){max-width:700px;line-height:1.7}
.about{max-width:950px;margin:auto;text-align:center;padding:60px 5vw 100px}.about p:last-child{font-size:18px;line-height:1.8;color:#5d6966}
footer{background:var(--sage2);padding:35px 5vw;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;font-size:13px}.footer-links{display:flex;gap:20px}footer span,footer small{color:#66706d}
@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:45px}.hero-image img{height:360px}.benefits{grid-template-columns:1fr 1fr}.category-grid{grid-template-columns:1fr 1fr}.feature{grid-template-columns:1fr}.section-heading{display:block}footer{grid-template-columns:1fr}}
@media(max-width:580px){h1{font-size:43px}.hero{padding:45px 22px}.hero-image img{height:300px}.benefits{grid-template-columns:1fr 1fr;padding:20px 10px}.section{padding:65px 22px}.category-grid{grid-template-columns:1fr}.feature,.freebie{margin-left:22px;margin-right:22px;padding:34px}.freebie{display:block}.freebie .btn{margin-top:18px}.site-header{padding:0 22px}.brand{font-size:10px}footer{padding:35px 22px}.footer-links{flex-wrap:wrap}}

/* V2 refinements */
.site-header{height:106px}
.brand{height:92px;display:flex;align-items:center}
.real-logo{width:88px;height:88px;object-fit:contain;display:block}
.bestsellers{padding:90px 5vw;background:#fbf8f2;border-top:1px solid #e9e1d5;border-bottom:1px solid #e9e1d5}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product-card{background:#fff;border:1px solid #e8e0d5;border-radius:22px;overflow:hidden;box-shadow:0 8px 25px rgba(33,56,58,.06);transition:.25s}
.product-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(33,56,58,.12)}
.product-art{height:235px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f3d6d1;position:relative}
.product-art:before,.product-art:after{content:"";position:absolute;border:1px solid rgba(36,75,61,.22);border-radius:50%}
.product-art:before{width:115px;height:115px;top:18px;right:20px}.product-art:after{width:55px;height:55px;bottom:18px;left:28px}
.product-art span{font-size:11px;letter-spacing:2px;font-weight:700;color:#244b3d;margin-bottom:12px}
.product-art b{font-family:"Libre Baskerville",serif;font-size:32px;color:#17343a;z-index:1}
.product-art em{font-style:normal;margin-top:8px;color:#43534e;font-size:14px;z-index:1}
.sage-art{background:#dfe6d8}.terracotta-art{background:#e9b5a6}.cream-art{background:#eee4d4}.nea-art{background:linear-gradient(135deg,#f5d7d2,#e3e9de)}.clock-art{background:linear-gradient(135deg,#e8ded0,#d7dfd0)}
.product-copy{padding:24px}.product-copy small{font-size:10px;letter-spacing:1.7px;color:#78817d;font-weight:700}.product-copy h3{font-size:21px;margin:8px 0}.product-copy p{font-size:13px;line-height:1.6;color:#65706d;min-height:62px}.product-copy a{font-size:13px;font-weight:700;color:#b65f58}
.center-action{text-align:center;margin-top:35px}
.about{position:relative}.about:before{content:"✎  CREATE • MAKE • LEARN";display:block;color:#c9796e;font-size:11px;letter-spacing:2px;margin-bottom:22px;font-weight:700}
@media(max-width:900px){.product-grid{grid-template-columns:1fr 1fr}.real-logo{width:78px;height:78px}}
@media(max-width:580px){.site-header{height:86px}.brand{height:76px}.real-logo{width:70px;height:70px}.product-grid{grid-template-columns:1fr}.product-art{height:210px}}

/* V3 — richer product previews, freebie, about and footer */
.resource-preview{position:relative;overflow:hidden;padding:0}
.resource-preview:before,.resource-preview:after{display:none}
.paper{position:absolute;width:58%;height:78%;left:21%;top:11%;border-radius:7px;border:1px solid rgba(23,52,58,.13);box-shadow:0 8px 20px rgba(23,52,58,.10)}
.back-paper{background:#fffdf9;transform:rotate(-8deg) translate(-12px,5px)}
.mid-paper{background:#f9f4eb;transform:rotate(7deg) translate(14px,4px)}
.front-paper{background:#fffdf9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;z-index:3}
.front-paper span{font-size:9px}.front-paper b{font-size:25px}.front-paper em{font-size:11px}
.mini-lines{width:72%;margin-top:14px}.mini-lines i{display:block;height:4px;background:#e9aaa4;margin:5px;border-radius:4px}
.material-dots{display:flex;gap:5px;margin-top:13px}.material-dots i{width:17px;height:17px;border-radius:50%;background:#c9796e}.material-dots i:nth-child(2){background:#cbd4c2}.material-dots i:nth-child(3){background:#dfd1bd}.material-dots i:nth-child(4){background:#17343a}
.process-icons,.drawing-mark,.checklist-mini,.clock-mini{margin-top:13px;color:#65706d;font-size:10px;line-height:1.5}
.freebie-v3{display:grid;grid-template-columns:1.05fr .95fr;min-height:410px;overflow:hidden}
.free-copy{align-self:center}.free-tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 25px}.free-tags span{font-size:11px;background:#fffdf9;border:1px solid #cbd4c2;padding:7px 11px;border-radius:18px}
.free-visual{position:relative;min-height:320px}
.cheat{position:absolute;width:170px;height:225px;background:#fffdf9;border-radius:8px;border:1px solid #ddd4c7;box-shadow:0 14px 25px rgba(23,52,58,.12);padding:20px;color:#17343a}
.cheat b{display:block;font-family:"Libre Baskerville",serif;font-size:17px;border-bottom:7px solid #f1c9c5;padding-bottom:10px;margin-bottom:17px}.cheat i{display:block;height:8px;background:#e7eadf;margin:10px 0;border-radius:3px}
.c1{left:3%;top:48px;transform:rotate(-12deg)}.c2{left:18%;top:25px;transform:rotate(-6deg)}.c3{left:34%;top:12px;transform:rotate(0)}.c4{left:50%;top:25px;transform:rotate(6deg)}.c5{left:65%;top:48px;transform:rotate(12deg)}
.free-badge{position:absolute;right:1%;bottom:3%;width:78px;height:78px;border-radius:50%;background:#e9aaa4;display:grid;place-items:center;text-align:center;font-size:10px;font-weight:700;color:#17343a;z-index:5}
.about-v3{max-width:none;margin:0 5vw 90px;padding:0;display:grid;grid-template-columns:1.4fr .6fr;gap:25px;text-align:left}
.about-copy{background:#f7f2e9;border-radius:28px;padding:55px}.about-v3:before{display:none}.about-copy p:not(.eyebrow){font-size:17px;line-height:1.8;color:#5d6966;max-width:850px}
.about-points{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px;color:#244b3d;font-size:12px;font-weight:700}
.about-note{background:#f3d6d1;border-radius:28px;padding:45px;display:flex;flex-direction:column;justify-content:center;transform:rotate(1deg)}
.about-note small{letter-spacing:2px;font-size:10px;color:#244b3d;font-weight:700}.about-note strong{font-family:"Libre Baskerville",serif;color:#17343a;font-size:31px;line-height:1.35;margin:18px 0}.about-note p{color:#5d6966;line-height:1.6}
.footer-v3{background:#dfe6d8;padding:48px 5vw;display:grid;grid-template-columns:1.4fr .55fr .55fr 1fr;gap:45px;align-items:start}
.footer-brand{display:flex;gap:17px;align-items:center}.footer-brand img{width:86px;height:86px;object-fit:contain}.footer-brand div{display:flex;flex-direction:column;gap:5px}.footer-brand strong{font-size:12px;letter-spacing:2px;color:#17343a}.footer-brand span{font-size:12px;color:#65706d}
.footer-col{display:flex;flex-direction:column;gap:9px}.footer-col b{font-size:10px;letter-spacing:1.8px;color:#17343a;margin-bottom:4px}.footer-col a{font-size:12px;color:#53615d}
.footer-signoff{display:flex;flex-direction:column;gap:10px;text-align:right}.footer-signoff span{font-size:9px;letter-spacing:2px;color:#c9796e;font-weight:700}.footer-signoff strong{font-family:"Libre Baskerville",serif;font-size:17px;color:#17343a}.footer-signoff small{color:#78817d;font-size:10px}
@media(max-width:900px){.freebie-v3,.about-v3{grid-template-columns:1fr}.free-visual{min-height:300px}.footer-v3{grid-template-columns:1fr 1fr}.footer-signoff{text-align:left}}
@media(max-width:580px){.freebie-v3{display:block}.free-visual{margin-top:25px;transform:scale(.82);transform-origin:left top;height:265px}.about-v3{margin-left:22px;margin-right:22px}.about-copy,.about-note{padding:32px}.footer-v3{grid-template-columns:1fr}.footer-signoff{text-align:left}}

/* TikTok teacher-support callout */
.tiktok-callout{
  margin:0 5vw 90px;
  background:#f3d6d1;
  border-radius:28px;
  padding:42px 48px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:28px;
  align-items:center;
  border:1px solid rgba(23,52,58,.08);
}
.tiktok-icon{
  width:74px;height:74px;border-radius:50%;
  background:#17343a;color:#fff;
  display:grid;place-items:center;
  font-size:35px;font-weight:700;
  transform:rotate(-4deg);
}
.tiktok-copy .eyebrow{margin-bottom:8px}
.tiktok-copy h2{
  font-size:clamp(27px,2.7vw,41px);
  margin:0 0 10px;
}
.tiktok-copy p:not(.eyebrow){
  margin:0;max-width:750px;color:#5d6966;line-height:1.6;
}
.tiktok-btn{background:#fffdf9;border:1.5px solid #17343a;white-space:nowrap}
@media(max-width:900px){
  .tiktok-callout{grid-template-columns:auto 1fr}
  .tiktok-btn{grid-column:1 / -1;width:max-content}
}
@media(max-width:580px){
  .tiktok-callout{margin:0 22px 65px;padding:30px;grid-template-columns:1fr}
  .tiktok-icon{width:58px;height:58px}
  .tiktok-btn{grid-column:auto;white-space:normal}
}
