@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&display=swap');
:root{--paper:#faf6ec;--ink:#292725;--accent:#7956a8;--muted:#655e56;--line:#d8cdb9;--tape:#eddda6;--body:'Open Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e2d4;color:var(--ink);font:18px/1.75 var(--body);-webkit-font-smoothing:antialiased}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.15;background-image:radial-gradient(#83745b 0.5px,transparent 0.5px);background-size:5px 5px;z-index:-1}header,section,footer{background:var(--paper);max-width:1240px;margin:auto;position:relative}header:before{content:'';position:absolute;left:25px;top:0;bottom:0;width:12px;background:repeating-linear-gradient(to bottom,transparent 0 30px,#514b41 30px 34px,transparent 34px 62px);border-right:1px solid var(--line)}h1,h2,h3{font-family:var(--body);line-height:1.08;font-weight:700;margin:0 0 24px}h1{font-size:clamp(42px,5.3vw,70px);max-width:880px;margin-inline:auto;letter-spacing:-.025em}h2{font-size:clamp(36px,4vw,50px)}h3{font-size:34px}p{margin:0 0 1.1em}p:last-child{margin-bottom:0}img{display:block;max-width:100%;height:auto}figure{margin:28px 0}figcaption{font-size:13px;line-height:1.5;color:var(--muted);text-align:center;margin:12px 0 0}.wrap{width:min(100% - 64px,820px);margin:auto}.center{text-align:center}.section,.section-tight{padding:64px 0}.hero{padding:30px 0 55px}.hero .wrap{max-width:980px;width:min(100% - 90px,980px)}.sketch-brand{font:700 30px var(--body);text-align:left;margin:0 0 48px;padding-bottom:17px;border-bottom:1px solid var(--line)}.sketch-brand span{font:500 12px var(--body);letter-spacing:.16em;float:right;padding-top:13px}.hero-sub{font:500 clamp(25px,3vw,34px)/1.35 var(--body);margin:16px auto 20px}.hero h1:after{content:'';display:block;border-bottom:4px solid var(--accent);width:180px;transform:none;margin:18px auto 0;border-radius:50%}.hero figure{margin:25px auto 15px;max-width:880px}.hero figure img{width:100%;mix-blend-mode:normal}.hero .lede{max-width:720px;margin:26px auto 0;font-size:20px}.section-title{text-align:center;max-width:760px;margin:0 auto 34px}.section-title:after{content:'';display:block;width:64px;border-bottom:3px solid var(--accent);transform:none;border-radius:50%;margin:18px auto 0}.section:nth-of-type(3n){background:#f3edde;border-top:1px solid #e4d9c5;border-bottom:1px solid #e4d9c5}.think-list{list-style:none;padding:0;margin:0;display:grid;gap:24px}.think-list li{position:relative;padding-left:40px}.think-list li:before{content:'✓';position:absolute;left:0;color:var(--accent);font:700 32px var(--body)}.secret-gallery{max-width:620px;margin:30px auto}.secret-gallery img{max-height:480px;object-fit:contain;margin:auto}.pet-examples{max-width:680px;margin:36px auto}.pet-example{position:relative;background:#fffdf5;border:1px solid #bfb29a;box-shadow:4px 5px 0 #e4dccd;padding:32px;transform:rotate(-1deg)}.pet-example:before,.bio-shell:before,.bonus:before{content:'';position:absolute;top:-13px;left:calc(50% - 45px);width:90px;height:28px;background:#eddda6b8;transform:rotate(-4deg)}.pet-example h3{color:var(--accent)}.pet-example p{margin:.35em 0}.solution-box{border-left:2px solid var(--accent);padding-left:28px}.bio-shell{position:relative;padding:40px;background:#fffdf7;border:1px solid var(--line);transform:rotate(.3deg)}.bio-shell p:first-child{font:600 33px var(--body)}.introducing h2{color:var(--accent);font-size:58px}.introducing h3{font-size:40px}.course-overview img{width:100%}.module{padding:38px;margin:50px 0;background:#fffdf7;border:1px solid var(--line);box-shadow:5px 5px 0 #e7dfd0;position:relative}.module:last-child{margin-bottom:0}.module-index{display:inline-block;font:700 23px var(--body);color:var(--accent);border-bottom:2px solid var(--accent);margin-bottom:18px}.module h3{text-align:left}.module-body{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center}.module-body figure{margin:0}.module-body ul{padding-left:20px;margin:0}.module li{margin:0 0 18px}.module li::marker{color:var(--accent)}.stage-art{height:300px;overflow:hidden;position:relative;background:var(--paper)}.stage-art img{width:500%;max-width:none;height:100%;object-fit:fill;position:absolute;left:calc(var(--stage)*-100%)}.payment-card{background:#fffdf7;border:2px solid var(--ink);outline:1px solid var(--line);outline-offset:7px;padding:42px;margin:38px auto;box-shadow:6px 7px 0 #ddd3c0;text-align:center;max-width:730px}.now-price{font:700 clamp(35px,5vw,52px)/1.15 var(--body);color:var(--accent);margin-bottom:25px}.cta{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font:700 17px var(--body);letter-spacing:.06em;background:var(--accent);color:white;border:2px solid var(--accent);border-radius:3px;min-height:60px;padding:18px 36px;cursor:pointer;box-shadow:3px 4px 0 #583a7c;transition:transform .15s}.cta:hover{transform:translateY(-2px);background:#694795}.cta-wrap{margin:30px auto}.cta:focus-visible,summary:focus-visible,dialog button:focus-visible{outline:3px solid #23557a;outline-offset:6px}.guarantee-loud{border:1px dashed #9c8970;padding:36px;position:relative}.badge{display:block;text-align:center;color:var(--accent);font:700 31px var(--body);margin-bottom:25px}.bonus{position:relative;margin:46px 0;padding:35px;background:#fffdf7;border:1px solid var(--line);box-shadow:3px 4px 0 #e4dccd}.bonus-tag{font:600 20px var(--body);color:var(--accent);display:block;margin-bottom:10px}.bonus h3{text-align:left}.bonus figure{float:right;width:42%;margin:0 0 18px 28px}.bonus:after{content:'';display:table;clear:both}.bonus-art{height:260px;position:relative;overflow:hidden}.bonus-art img{height:100%;width:300%;max-width:none;position:absolute;left:calc(var(--bonus)*-100%)}.pet-inclusions{list-style:none;padding:0;text-align:left}.pet-inclusions li{padding:17px 0 17px 32px;border-bottom:1px solid var(--line);position:relative}.pet-inclusions li:before{content:'✓';position:absolute;left:0;color:var(--accent)}.faq details{border-bottom:1px solid #bfb3a0;padding:22px 0}.faq summary{cursor:pointer;list-style:none;font-weight:600;position:relative;padding-right:35px;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:3px;top:-5px;font:32px var(--body);color:var(--accent)}.faq details[open] summary:after{content:'−'}.answer{padding:22px 0 2px;color:#49443d}.closing>div>p{font:500 28px/1.4 var(--body)}footer{text-align:center;padding:35px 30px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}dialog{max-width:min(90vw,500px);border:1px solid var(--ink);padding:35px;background:var(--paper);color:var(--ink);font:18px/1.6 var(--body)}dialog::backdrop{background:#0008}dialog button{font:inherit;padding:8px 22px;cursor:pointer}a{color:var(--accent)}
@media(max-width:680px){body{font-size:17px}.wrap{width:calc(100% - 40px)}.hero .wrap{width:calc(100% - 40px)}header:before{display:none}.sketch-brand{margin-bottom:32px;font-size:27px}.sketch-brand span{display:none}.section,.section-tight{padding:42px 0}.hero{padding-top:24px}.hero .lede{font-size:18px}.hero figure{margin-inline:-12px}.module{padding:24px 20px;margin:34px 0}.module-body{grid-template-columns:1fr}.module-body figure{max-width:260px;margin:auto}.stage-art{width:220px;height:290px}.module h3{font-size:31px}.payment-card{padding:28px 21px;margin:28px auto}.cta{width:100%;padding:17px 12px;font-size:15px}.bio-shell,.guarantee-loud{padding:28px 22px}.bonus{padding:28px 22px}.bonus figure{float:none;width:100%;max-width:300px;margin:0 auto 25px}.bonus-art{height:270px}.introducing h2{font-size:46px}.introducing h3{font-size:34px}.solution-box{padding-left:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}

/* Preserve generated panel proportions instead of stretching the drawings. */
.module-body{grid-template-columns:180px 1fr}.module-body figure{width:180px}.stage-art{width:180px;height:600px}.stage-art img{height:auto;object-fit:initial}.bonus figure{width:210px}.bonus-art{width:210px;height:420px}.bonus-art img{height:auto}.hero img{border-radius:3px}
@media(max-width:680px){.module-body{grid-template-columns:1fr}.module-body figure{width:150px}.stage-art{width:150px;height:500px}.bonus figure{width:210px}.bonus-art{width:210px;height:420px}}

.module:not(:last-child) .stage-art{height:400px}.module:not(:last-child) .stage-art img{top:-100px}@media(max-width:680px){.module:not(:last-child) .stage-art{height:335px}.module:not(:last-child) .stage-art img{top:-83px}}

/* Reference pricing hierarchy in the existing sketchbook theme. */
.offer-card{max-width:820px;border:3px solid var(--accent);border-radius:26px;outline:0;padding:58px 48px 44px;background:#fffdf7;box-shadow:7px 9px 0 #ddd3c070}
.offer-card .price-hero{margin-bottom:28px}
.offer-card .was-price{font:500 clamp(25px,3vw,32px)/1.3 var(--body);color:var(--accent);margin:0 0 8px}
.offer-card .was-price s{text-decoration-thickness:2px}
.offer-card s{color:#b33430;text-decoration-color:#b33430}
.offer-card .now-price{font:700 clamp(42px,5.3vw,62px)/1.1 var(--body);color:var(--accent);margin:0}
.payment-benefits{display:grid;gap:14px;max-width:610px;margin:0 auto 30px}
.payment-benefit{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #d8ccb7;border-radius:40px;background:#f4eddd;padding:12px 18px;font-size:15px;font-weight:600;line-height:1.5;margin:0}
.stack-check{display:inline-flex;flex:none;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:50%;width:23px;height:23px;font-size:16px}
.offer-card .cta-wrap{margin:30px 0 0}
.offer-card .payment-cta{width:100%;min-height:76px;border-radius:12px;box-shadow:3px 5px 0 #583a7c;font-size:clamp(22px,2.6vw,27px);letter-spacing:.025em;padding:18px 14px}
.offer-card .cta-sub{font-size:15px;line-height:1.6;margin:27px 0 0;text-align:center;color:var(--muted)}
.offer-card .offer-quote{font:500 clamp(23px,2.7vw,29px)/1.3 var(--body);color:var(--muted);margin:14px auto 0;max-width:620px}
.offer-card .trust-badges{width:100%;max-width:570px;margin:30px auto 0}
.offer-card .trust-badges img{width:100%;height:auto}
@media(max-width:680px){.offer-card{padding:32px 20px 28px;border-radius:20px}.offer-card .payment-cta{min-height:66px}.payment-benefit{font-size:14px;padding:12px;text-align:center;justify-content:center}.offer-card .trust-badges{margin-top:24px}}
.value-offer-card h2{font-size:clamp(36px,4.5vw,52px);margin-bottom:30px}
.value-list{list-style:none;padding:0;margin:0;text-align:left}
.value-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.6}
.value-label{position:relative;padding-left:28px}
.value-label:before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:700}
.value-amount{color:var(--muted);white-space:nowrap}
.value-total{text-align:right;border-top:2px solid var(--accent);padding-top:22px;margin:28px 0 40px;color:var(--muted);font-size:21px}
.value-offer-card .price-hero{margin-bottom:25px}
.closing-photo{width:100%;margin:32px auto}.closing-photo img{width:100%;height:auto}
@media(max-width:680px){.value-list li{font-size:14px;gap:10px;padding:15px 0}.value-label{padding-left:22px}.value-total{font-size:19px;margin-bottom:30px}.value-offer-card h2{font-size:37px}}

/* Readable sans-serif hierarchy for the former handwriting text. */
h1{font-size:clamp(34px,4.2vw,56px);line-height:1.18}h2{line-height:1.25}h3{line-height:1.3}
.hero-sub{font-size:clamp(20px,2.3vw,27px);line-height:1.5}.bio-shell p:first-child{font-size:22px;line-height:1.6}.closing>div>p{font-size:22px;line-height:1.6}.offer-card .offer-quote{font-size:20px;line-height:1.5}

/* Hero annotation sizing: capped widths shrink with the mobile container. */
.hero h1{font-weight:800}.hero .hero-sub{font-size:20.55px;max-width:666.14px;width:100%;margin-inline:auto}.hero figure.art{width:100%;max-width:900px;margin-inline:auto}

/* Shared offer accents and scoped mobile heading refinements. */
.offer-card .now-price{color:#23833f}.offer-card .stack-check{background:#23833f}.bonuses-intro-end{margin-bottom:69.7px}
@media(max-width:680px){#bonuses-heading{font-size:24px}#faq-heading,#close-heading{font-size:25px}.offer-card .payment-cta{letter-spacing:0;padding-inline:8px}}

/* Full landscape workshop photos, in curriculum order. */
.module .module-body{grid-template-columns:minmax(0,1fr)}.module .module-body .module-photo{width:100%;max-width:none;margin:0}.module-photo img{width:100%;height:auto}

/* Annotation refinements follow the existing mobile offer breakpoint. */
.payment-benefit-label{min-width:0;text-align:center}
@media(max-width:680px){
  .hero h1{font-size:24px;margin-top:65px;margin-inline:-10px}
  .hero .hero-sub{font-size:15px;width:calc(100% + 20px);max-width:none;margin-inline:-10px}
  .hero figure.art{width:calc(100% + 40px);max-width:none;margin-inline:-20px}
  .hero figure.art img{width:100%}
  #likeness-heading{font-size:23px;margin-top:55px}
  #hello-heading{font-size:26px}
  #intro-course-title{font-size:22px}
  #intro-course-title:after{position:relative;top:-10px}
  .introducing h3{font-size:29px;font-weight:800;margin-top:-29px}
  #inside-heading{font-size:28px;margin-top:-61px}
  .module h3{font-size:26px}
  #checkout .offer-card .now-price{font-size:31px;margin-top:15px}
  .guarantee-loud .badge{font-size:26px}
  .bonus h3{font-size:26px}
  #value-offer{margin-top:-57px}
  #value-offer-heading{font-size:27px}
  #value-offer .now-price{font-size:29px}
  .closing-payment .now-price{font-size:31px;margin-top:19px}
}

/* Let mobile lesson photos reach the card edges while text stays inset. */
@media(max-width:680px){
  .module{padding-inline:20px}
  .module .module-body .module-photo{width:calc(100% + 40px);margin-inline:-20px}
}

/* Art-directed dog/poster examples above the beginner reassurance. */
.poster-examples{width:100%;margin:0 auto 38px}
.poster-examples picture,.poster-examples img{display:block;width:100%;height:auto}
@media(max-width:680px){.poster-examples{margin-bottom:28px}.poster-examples img{margin-top:-38px}}

@media(min-width:681px){.poster-examples img{margin-top:-65px;margin-bottom:67px}}

/* Persistent first-visit countdown. Space is reserved from its measured height. */
.offer-timer{position:fixed;z-index:100;bottom:8px;left:50%;transform:translateX(-50%);width:calc(100% - 16px);max-width:1100px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#7956a8;color:#fff;border-radius:16px;padding:20px 28px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));box-shadow:0 3px 18px #0003}
.offer-timer[hidden]{display:none}.offer-timer-copy strong{display:block;font-size:28px;line-height:1.2;font-weight:800}.offer-timer-deadline{display:block;font-size:13px;line-height:1.4;margin-top:8px;letter-spacing:1px;color:#e0c9ff;text-transform:uppercase}.offer-timer-clock{display:flex;align-items:center;gap:12px;flex-shrink:0}.timer-unit{display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;padding:8px;background:#694795;border-radius:13px}.timer-unit b{font-size:36px;line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums}.timer-unit small{font-size:10px;font-weight:800;letter-spacing:1px;margin-top:4px}.timer-colon{font-size:28px;color:#d6c4eb;font-weight:800}
@media(max-width:680px){.offer-timer{gap:8px;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));border-radius:12px}.offer-timer-copy{min-width:0}.offer-timer-copy strong{font-size:14px}.offer-timer-deadline{font-size:9px;letter-spacing:0;margin-top:5px}.offer-timer-clock{gap:4px}.timer-unit{width:37px;padding:7px 3px;border-radius:7px}.timer-unit b{font-size:23px}.timer-unit small{font-size:8px;letter-spacing:0}.timer-colon{font-size:18px}}

/* Compact countdown strip. */
.offer-timer{max-width:760px;padding:10px 18px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:12px;border-radius:10px}
.offer-timer-copy strong{font-size:18px}.offer-timer-deadline{font-size:10px;margin-top:3px;letter-spacing:.4px}
.offer-timer-clock{gap:6px}.timer-unit{width:46px;padding:4px;border-radius:7px}.timer-unit b{font-size:25px}.timer-unit small{font-size:8px;margin-top:2px}.timer-colon{font-size:20px}
@media(max-width:680px){.offer-timer{bottom:4px;padding:7px 10px;padding-bottom:calc(7px + env(safe-area-inset-bottom,0px));gap:6px}.offer-timer-copy strong{font-size:13px}.offer-timer-deadline{display:none}.offer-timer-clock{gap:3px}.timer-unit{width:29px;padding:3px 2px}.timer-unit b{font-size:18px}.timer-unit small{font-size:7px;margin-top:0}.timer-colon{font-size:14px}}

.offer-timer{width:max-content;max-width:calc(100% - 20px)}

@media(max-width:680px){.offer-timer{width:300.3px;min-height:calc(57.04px + env(safe-area-inset-bottom,0px))}}

@media(max-width:680px){#think-heading{margin-top:-30px}}

.hero .hero-miniatures{display:block;mix-blend-mode:multiply;width:180px;max-width:100%;height:auto;margin:0 auto 16px}
@media(max-width:680px){.hero h1{margin-top:0}}

@media(max-width:680px){.hero .hero-miniatures{width:165px}}

.hero h1 .hero-highlight {
  background: linear-gradient(transparent 18%, #f5df86 18%, #f5df86 92%, transparent 92%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* Full-width countdown stays at the top in normal document flow. */
.offer-timer{position:sticky;top:0;bottom:auto;left:auto;transform:none;width:100%;max-width:none;min-height:0;border-radius:0;justify-content:center;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top,0px));gap:20px}
@media(max-width:680px){.offer-timer{width:100%;max-width:none;min-height:57px;gap:12px;padding:7px 10px;padding-top:calc(7px + env(safe-area-inset-top,0px))}.offer-timer-copy strong{font-size:14px}}

.bio-shell{display:flow-root}
.bio-shell .bio-portrait{float:right;width:40%;max-width:320px;margin:0 0 22px 28px;border-radius:12px}
.bio-shell .bio-portrait + p{font-size:22px;line-height:1.6}
.offer-timer-deadline[hidden]{display:none}
@media(max-width:680px){.bio-shell .bio-portrait{float:none;width:100%;max-width:300px;margin:0 auto 24px}}

/* White button lettering contrasts with the purple accent. */
.cta,.cta:hover{color:#fff}

/* First offer price: desktop annotation, mobile retains its smaller type. */
@media(min-width:681px){#checkout .offer-card .now-price{font-size:48px;margin-bottom:35px}}

/* Bonus previews sit beside copy on desktop and stack on mobile. */
.bonus-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:28px;align-items:center}.bonus .bonus-body figure.bonus-preview{float:none;width:100%;max-width:360px;margin:0}.bonus-preview img{width:100%;height:auto;border-radius:3px}.bonus-body ul{margin:0;padding-left:22px;min-width:0}
@media(max-width:680px){.bonus-body{grid-template-columns:minmax(0,1fr);gap:24px}.bonus .bonus-body figure.bonus-preview{margin-inline:auto}}


