@font-face{font-family:"Landing Onest";src:url("/fonts/onest/Onest-VF.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap;}
/* Course landing, adapted from the owner's supplied reference screenshot.
   Onest is bundled locally under the SIL Open Font License; author typography stays intact.
   No selectors enter the free practicum, examples, lessons or dashboard. */
.landing-page { --blue-font:"Landing Onest",Arial,sans-serif; --bg:#f1f2f4; --ink:#101112; --muted:#53575e; --blue:#2158f4; --blue-dark:#1746d5; --ice:#e8eeff; --line:#dfe1e5; background:var(--bg); border-top:7px solid var(--blue); }
.landing-page :is(.site-header,.hero,.studio-rail,.wow-projects,.program-section,.format-section,.tools-section,.product-compare,.pricing-section,.guarantee-section,.faq-section,.site-footer){--brand-font:var(--blue-font);font-family:var(--blue-font);}
.landing-page .format-person{--brand-font:"Public Synergy Sans",Arial,sans-serif;font-family:var(--brand-font);}
.landing-page .wrap { max-width:1180px; width:calc(100% - 64px); }
.landing-page .section-space { padding-block:80px; }
.landing-page .eyebrow { font-size:11px; letter-spacing:.025em; text-transform:none; }
.landing-page .site-header { min-height:82px; gap:24px; }
.landing-page .site-header .brand { font-size:23px; color:var(--blue); font-weight:850; }
.landing-page .site-header .brand-mark { width:29px; height:29px; font-size:23px; border-radius:8px; background:var(--blue); }
.landing-page .site-header .brand-sub { font-size:10px; margin-top:4px; color:#5b5d64; }
.landing-page .desktop-nav { gap:23px; font-size:12px; }
.landing-page .site-header .header-account { gap:20px; }
.landing-page .site-header .login-link { font-size:13px; }
.landing-page .site-header .header-action { padding:10px 16px; min-height:39px; font-size:12px; border:0; border-radius:8px; background:var(--blue); color:#fff; gap:16px; }
.landing-page .site-header .header-action:hover { background:var(--blue-dark); }
.landing-page .button { min-height:49px; padding:14px 21px; border-radius:9px; font-size:14px; font-weight:650; }
.landing-page .button-dark { background:var(--blue); color:#fff; }
.landing-page .button-dark:hover { background:var(--blue-dark); box-shadow:none; transform:translateY(-2px); }
.landing-page .text-button { font-size:13px; font-weight:600; }
.landing-page .hero.hero--assembly { width:100%; margin:0; border-radius:0; background:transparent; color:#101112; overflow:clip; }
.landing-page .hero.hero--assembly::before,.landing-page .hero.hero--assembly::after { content:none; }
.landing-page .hero--assembly .hero-tool::after { content:none; }
.landing-page .hero--assembly .hero-inner { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); min-height:610px; padding-block:45px 60px; gap:32px; }
.landing-page .hero--assembly .hero-content { display:block; }
.landing-page .hero--assembly .hero-meta { color:#565b64; font-size:11px; font-weight:500; gap:8px; }
.landing-page .hero--assembly .hero-meta span+span::before { background:#7d838d; }
.landing-page .hero--assembly .hero-date { color:#565b64; }
.landing-page .hero--assembly h1 { font-size:clamp(42px,4.25vw,62px); line-height:1.045; font-weight:900; letter-spacing:-.045em; color:#08090a; margin:22px 0; max-width:760px; }
.landing-page .hero--assembly .hero-tool { color:inherit; }
.landing-page .hero--assembly .hero-copy { max-width:635px; color:#2c3037; font-size:14px; line-height:1.65; }
.landing-page .hero--assembly .hero-copy strong { color:inherit; font-weight:700; white-space:nowrap; }
.landing-page .hero--assembly .hero-actions { margin-top:25px; gap:9px; }
.landing-page .hero--assembly .hero-actions .button { min-height:49px; background:var(--blue); color:#fff; border:0; border-radius:9px; box-shadow:none; }
.landing-page .hero--assembly .hero-actions .button:hover { background:var(--blue-dark); box-shadow:none; }
.landing-page .hero--assembly .hero-action-note { max-width:none; color:#565b64; font-size:11px; }
.landing-page .hero--assembly .hero-actions .text-button { color:var(--blue); font-size:12px; }
.landing-page .hero--assembly .hero-footnote { display:flex; flex-wrap:wrap; align-items:center; gap:15px 25px; margin-top:25px; border:0; padding:0; color:#4b5058; font-size:10px; line-height:1.5; }
.landing-page .hero--assembly .hero-footnote>span { display:flex; align-items:center; gap:9px; }
.landing-page .hero--assembly .hero-footnote>span::before { content:'✓'; display:grid; place-items:center; width:25px; height:25px; flex:none; background:var(--blue); color:#fff; border-radius:50%; font-weight:700; font-size:12px; }
.landing-page .hero--assembly .hero-assembly { width:100%; min-width:0; margin:0; align-self:center; }
.landing-page .blue-hero-art { width:110%; margin-left:-6%; perspective:1000px; }
.landing-page .blue-hero-art img { width:100%; height:auto; object-fit:contain; transform:rotateX(var(--blue-turn-x,0deg)) rotateY(var(--blue-turn-y,0deg)); transition:transform .24s ease-out; }
.landing-page .hero--assembly .hero-assembly>figcaption { display:grid; gap:4px; align-items:start; margin:10px 0 0; padding:0 10px; color:#5b606a; }
.landing-page .hero--assembly .hero-example-link { color:#2d3748; font-size:11px; }
.landing-page .hero--assembly .hero-example-note { color:#646a75; font-size:10px; }

/* The existing live strip uses the reference's white rounded cards. */
.landing-page .studio-rail { background:var(--bg); padding-block:23px 65px; border:0; }
.landing-page .studio-rail-head { margin-bottom:22px; align-items:center; }
.landing-page .studio-rail-caption { max-width:680px; font-size:31px; line-height:1.1; font-weight:900; letter-spacing:-.035em; color:#1a1b1e; }
.landing-page .studio-rail-controls a { color:#444c58; font-size:11px; }
.landing-page .studio-rail-controls button { border:0; background:#fff; color:#2d3745; border-radius:30px; font-size:11px; }
.landing-page .studio-rail-track { gap:19px; }
.landing-page .studio-rail-card { width:352px; border:0; border-radius:20px; background:#fff; overflow:hidden; box-shadow:none; transition:transform .22s; }
.landing-page .studio-rail-card:hover { transform:translateY(-4px); box-shadow:none; }
.landing-page .studio-rail-picture { border-radius:0; border:0; }
.landing-page .studio-rail-label { padding:17px 19px; color:#171b24; }
.landing-page .studio-rail-label b { font-size:17px; font-weight:800; }
.landing-page .studio-rail-label small { color:#5c6270; }
.landing-page .studio-rail-open { color:#4b5363; }
.landing-page .blue-rail-tail { margin-top:28px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:var(--blue); color:#fff; padding:13px 17px 13px 27px; border-radius:50px; }
.landing-page .blue-rail-tail>span { font-size:13px; font-weight:650; }
.landing-page .blue-rail-tail>a { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:11px 19px; border-radius:8px; background:#fff; color:#1b2b50; font-size:12px; font-weight:600; }
.landing-page .blue-rail-tail>a:hover { background:#e9efff; }

/* The showcase is a full black chapter, with the demos themselves untouched. */
.landing-page .wow-projects { border-radius:28px 28px 0 0; padding-block:75px 85px; background:#0d0d0f; color:#fff; }
.landing-page .wow-heading { align-items:start; margin-bottom:32px; }
.landing-page .wow-heading h2 { color:#fff; font-size:48px; line-height:1.06; font-weight:900; letter-spacing:-.04em; }
.landing-page .wow-heading .eyebrow { color:#a9bcff; }
.landing-page .wow-heading>p { color:#cacdd4; font-size:13px; }
.landing-page .wow-project-tabs { display:flex; flex-wrap:wrap; gap:8px; border:0; margin-bottom:25px; }
.landing-page .wow-project-tabs button { border:0; border-radius:30px; background:#26272c; color:#d3d6dd; padding:11px 18px; min-height:40px; gap:12px; font-size:12px; }
.landing-page .wow-project-tabs button[aria-selected=true] { border:0; background:#fff; color:#101112; }
.landing-page .wow-project-tabs button>i { display:none; }
.landing-page .wow-preview { border:0; border-radius:18px; }
.landing-page .wow-project-kicker { color:#a9b3c6; }
.landing-page .wow-project-copy>p { color:#d0d3db; }
.landing-page .wow-project-copy .wow-name-forma { color:#a5b8ff; }
.landing-page .wow-try { border-color:#ffffff29; }
.landing-page .wow-try>span { color:#9fb5ff; }
.landing-page .wow-try p { color:#d0d3db; }
.landing-page .wow-try strong { color:#fff; }
.landing-page .wow-features li { color:#d0d3db; border-color:#ffffff35; border-radius:6px; }
.landing-page .wow-project-copy .text-button { color:#b9c9ff; }
.landing-page .wow-note { border-color:#ffffff29; }
.landing-page .wow-note p { color:#a9afbb; }
.landing-page .wow-note .text-button { color:#b9c9ff; }

/* Each existing lesson becomes a compact course card. Native details stay native. */
.landing-page .program-section { position:relative; background:var(--bg); border-radius:28px 28px 0 0; margin-top:-1px; }
.landing-page .program-layout { display:block; }
.landing-page .program-intro { position:relative; display:grid; grid-template-columns:1fr 230px; padding:0; margin-bottom:35px; }
.landing-page .program-intro>.eyebrow,.landing-page .program-intro>h2,.landing-page .program-intro>p,.landing-page .program-intro>.text-button { grid-column:1; }
.landing-page .program-intro h2,.landing-page .format-intro h2,.landing-page .tools-heading h2,.landing-page .product-compare h2,.landing-page .pricing-heading h2,.landing-page .faq-heading h2 { font-size:44px; line-height:1.08; font-weight:900; letter-spacing:-.04em; }
.landing-page .program-intro h2 { max-width:none; margin:13px 0 15px; }
.landing-page .program-intro>p { max-width:650px; font-size:14px; line-height:1.7; }
.landing-page .program-intro>.text-button { justify-self:start; margin-top:15px; }
.landing-page .blue-program-number { grid-column:2; grid-row:1/5; display:flex; align-items:center; justify-content:flex-end; gap:16px; color:var(--blue); }
.landing-page .blue-program-number b { font-size:150px; font-weight:900; line-height:1; letter-spacing:-.07em; }
.landing-page .blue-program-number>span { font-size:14px; font-weight:750; line-height:1.2; color:#15171b; }
.landing-page .lessons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; align-items:start; }
.landing-page .lessons details { border:1px solid transparent; border-radius:19px; background:#fff; box-shadow:none; transition:border-color .2s,transform .2s; }
.landing-page .lessons details:hover { border-color:#b6c9ff; }
.landing-page .lessons details[open] { border-color:var(--blue); box-shadow:none; }
.landing-page .lessons summary { position:relative; display:flex; flex-direction:column; align-items:start; justify-content:flex-start; gap:0; min-height:251px; padding:22px 21px; }
.landing-page .lessons .lesson-number { display:grid; place-items:center; width:61px; height:54px; margin-bottom:22px; background:#e6edff; border-radius:12px; color:#2158f4; font-size:29px; font-weight:900; letter-spacing:-.045em; }
.landing-page .lessons details:nth-child(4n+2) .lesson-number { background:#e6f5d6; color:#3e7135; }
.landing-page .lessons details:nth-child(4n+3) .lesson-number { background:#efe7ff; color:#7955c9; }
.landing-page .lessons details:nth-child(4n+4) .lesson-number { background:#fff0d7; color:#927025; }
.landing-page .lessons .lesson-title { font-size:18px; line-height:1.25; font-weight:800; letter-spacing:-.02em; }
.landing-page .lessons .lesson-title small { font-size:11px; line-height:1.6; font-weight:400; margin-top:10px; color:#626977; }
.landing-page .lessons .accordion-sign { position:absolute; right:17px; top:20px; background:#f1f2f4; }
.landing-page .lessons .lesson-body { padding:0 21px 22px; font-size:12px; line-height:1.75; color:#515865; }
.landing-page .lessons .lesson-result { margin-top:15px; padding:12px; font-size:11px; line-height:1.65; background:#eaf0ff; color:#2349a8; border-radius:8px; }

.landing-page .format-section { padding-block:40px 80px; gap:50px; }
.landing-page .format-intro>p { font-size:14px; line-height:1.75; }
.landing-page .course-excerpt { margin-top:27px; padding:25px; max-width:none; border:0; border-radius:19px; background:#fff; }
.landing-page .course-excerpt-title { font-size:18px; font-weight:800; color:#161b27; }
.landing-page .course-excerpt dl>div { grid-template-columns:93px minmax(0,1fr); }
.landing-page .course-excerpt dd { color:#454f60; font-size:12px; }
.landing-page .course-excerpt dt { color:#657085; font-size:10px; }
.landing-page .course-excerpt-footer button { color:var(--blue); }
.landing-page .format-notes { gap:15px; }
.landing-page .format-notes article,.landing-page .format-notes article:nth-child(2) { padding:28px 27px 28px 74px; border:0; border-radius:19px; background:#fff; }
.landing-page .format-notes article::before { top:29px; left:25px; width:29px; height:29px; background:var(--blue); color:#fff; border:0; font-size:11px; }
.landing-page .format-notes article:nth-child(2)::before { background:#e4edff; color:#2158f4; border:0; }
.landing-page .format-notes .note-label { color:#606a7d; font-size:10px; letter-spacing:0; text-transform:none; }
.landing-page .format-notes h3 { font-size:26px; font-weight:850; color:#15171b; }
.landing-page .format-notes p { color:#575e6b; font-size:13px; }

/* Tools match the white content cards inside the reference's black section. */
.landing-page .tools-section { background:#0d0d0f; color:#fff; border-radius:28px 28px 0 0; }
.landing-page .tools-heading { grid-template-columns:1fr 1fr; gap:24px 60px; }
.landing-page .tools-heading .eyebrow { color:#abbdfd; }
.landing-page .tools-heading>p { color:#c8ccd5; font-size:13px; }
.landing-page .tools-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; margin-top:32px; }
.landing-page .tools-grid article,.landing-page .tools-grid article:nth-child(2),.landing-page .tools-grid article:nth-child(3),.landing-page .tools-grid article:nth-child(4) { display:flex; flex-direction:column; gap:0; border:0; padding:24px; border-radius:18px; background:#fff; color:#15171b; }
.landing-page .tools-grid .tool-card-head { display:flex; align-items:center; gap:10px; margin-bottom:24px; }
.landing-page .tools-grid .tool-icon,.landing-page .tools-grid article:nth-child(2) .tool-icon,.landing-page .tools-grid article:nth-child(3) .tool-icon,.landing-page .tools-grid article:nth-child(4) .tool-icon { border:0; width:40px; height:40px; background:#e7edff; color:#2158f4; border-radius:11px; }
.landing-page .tools-grid article:nth-child(2) .tool-icon { background:#e9f5dd; color:#4d7a38; }
.landing-page .tools-grid article:nth-child(3) .tool-icon { background:#efe7ff; color:#7955c9; }
.landing-page .tools-grid article:nth-child(4) .tool-icon { background:#fff0d7; color:#96702d; }
.landing-page .tools-grid .tool-label,.landing-page .tools-grid article:nth-child(4) .tool-label { max-width:none; color:#555e6e; font-size:10px; letter-spacing:0; text-transform:none; }
.landing-page .tools-grid article strong,.landing-page .tools-grid article:nth-child(4) strong { color:#13161c; font-size:19px; font-weight:800; line-height:1.3; }
.landing-page .tools-grid article p,.landing-page .tools-grid article:nth-child(4) p { color:#5a6270; font-size:12px; line-height:1.75; margin-top:17px; }
.landing-page .product-compare { padding-block:75px 30px; }
.landing-page .product-compare .section-heading { max-width:850px; margin-bottom:28px; }
.landing-page .product-compare-grid { border:0; border-radius:0; gap:20px; overflow:visible; }
.landing-page .product-compare-grid article,.landing-page .product-compare-grid .product-compare-paid { background:#fff; padding:31px; border:0; border-radius:20px; }
.landing-page .product-compare-grid .product-compare-paid { background:#e4ebff; }
.landing-page .product-compare-grid article::before { content:none; }
.landing-page .product-compare-grid h3 { margin-top:13px; font-size:27px; font-weight:850; }
.landing-page .product-compare-grid li { border-color:#dde2ec; font-size:13px; color:#414958; }
.landing-page .product-compare-grid .product-compare-paid li { border-color:#cad6f5; }

.landing-page .pricing-section { margin-top:0; padding-block:55px 70px; border-radius:0; background:var(--bg); color:#14171c; }
.landing-page .pricing-section::before { content:none; }
.landing-page .pricing-heading { margin-bottom:30px; }
.landing-page .pricing-heading h2 { color:#13161b; }
.landing-page .pricing-heading .eyebrow { color:var(--blue); }
.landing-page .pricing-heading>p { font-size:13px; color:#59616f; }
.landing-page .price-grid { gap:22px; }
.landing-page .price-card,.landing-page .price-card:first-child,.landing-page .price-card-plus { --ticket-pad:34px; padding:var(--ticket-pad); border:1px solid transparent; border-top:1px solid transparent; border-radius:21px; background:#fff; color:#16191f; box-shadow:none; }
.landing-page .price-card-plus { border-color:#b7c9ff; }
.landing-page .price-top { color:var(--blue); border-color:#e6e8ed; font-size:11px; }
.landing-page .price-card-plus .price-top { color:var(--blue); border-color:#e6e8ed; }
.landing-page .price-card .plan-number { border:0; width:24px; height:24px; background:#e9efff; color:#2158f4; }
.landing-page .price-card h3 { margin-top:14px; font-size:clamp(26px,2.55vw,35px); font-weight:900; letter-spacing:-.035em; }
.landing-page .price-card .price { color:var(--blue); font-size:68px; font-weight:900; letter-spacing:-.045em; }
.landing-page .price-card .plan-description,.landing-page .price-card-plus .plan-description { color:#626a77; font-size:13px; }
.landing-page .price-card .payment-note,.landing-page .price-card-plus .payment-note { color:#626a77; font-size:11px; }
.landing-page .price-card .plan-features,.landing-page .price-card-plus .plan-features { color:#3e4653; font-size:13px; }
.landing-page .price-card .plan-features li::before,.landing-page .price-card-plus .plan-features li::before { background:#e9efff; color:#2158f4; }
.landing-page .price-card .price-divider { border:0; background:#e6e8ed; margin-block:24px; }
.landing-page .price-card .price-divider::before,.landing-page .price-card .price-divider::after { content:none; }
.landing-page .price-card .button-dark,.landing-page .price-card .button-white { background:var(--blue); border:0; border-radius:9px; color:#fff; }
.landing-page .price-card .button-dark:hover,.landing-page .price-card .button-white:hover { background:var(--blue-dark); }
.landing-page .price-card .plan-button { min-height:48px; }
.landing-page .price-card .plan-bottom,.landing-page .price-card-plus .plan-bottom { color:#676f7e; font-size:11px; }
.landing-page .course-review-count { margin-block:17px 7px; height:55px; color:#2158f4; }
.landing-page .course-review-count>b { font-size:45px; font-weight:900; }
.landing-page .course-review-count>span { color:#606c82; font-size:11px; }
.landing-page .course-review-count>i { background:#dce4f6; }
.landing-page .price-card-plus .course-review-count { color:#2158f4; }
.landing-page .price-card-plus .course-review-count>i { background:#dce4f6; }
.landing-page .pricing-format-note,.landing-page .pricing-format-note strong,.landing-page .pricing-footnotes { color:#606a7c; }
.landing-page .pricing-footnotes .text-button { color:var(--blue); }
.landing-page .pricing-section .bespoke-offer { border-color:#d6dce7; color:#646d7d; }
.landing-page .pricing-section .bespoke-copy>span,.landing-page .pricing-section .bespoke-copy p { color:#697386; }
.landing-page .pricing-section .bespoke-copy h3,.landing-page .pricing-section .bespoke-price { color:#4d596c; }
.landing-page .pricing-section .bespoke-action>a { color:#4d596c; border-color:#9da8bb; }
.landing-page .pricing-section .bespoke-action>a:hover { color:var(--blue); border-color:var(--blue); }
.landing-page .guarantee-section { padding-block:0 55px; }
.landing-page .guarantee-card { background:#fff; border:0; border-radius:20px; padding:32px; }
.landing-page .guarantee-icon { background:#e8eeff; color:#2158f4; border:0; box-shadow:none; }
.landing-page .guarantee-content h2 { color:#181c23; font-size:31px; font-weight:850; }
.landing-page .guarantee-content>p { color:#5d6677; font-size:13px; }
.landing-page .guarantee-footer { border-color:#dfe4ee; color:#536079; font-size:12px; }

/* The centred stack of quiet grey accordions follows the supplied reference. */
.landing-page .faq-section { display:block; max-width:900px; padding-block:30px 75px; }
.landing-page .faq-heading { position:static; text-align:center; margin-bottom:28px; }
.landing-page .faq-heading .eyebrow { margin-bottom:12px; }
.landing-page .faq-heading h2 { text-align:center; }
.landing-page .faq-list { border:0; background:#e5e7eb; border-radius:17px; overflow:hidden; }
.landing-page .faq-list details { background:transparent; border:0; border-bottom:1px solid #f1f2f4; }
.landing-page .faq-list details:last-child { border:0; }
.landing-page .faq-list details[open] { background:#e0e5ef; }
.landing-page .faq-list summary { min-height:66px; padding:19px 23px; font-size:14px; font-weight:550; }
.landing-page .faq-list summary::before { content:none; }
.landing-page .faq-list summary .accordion-sign { border:0; background:transparent; }
.landing-page .faq-list summary .accordion-sign::before { top:6px; left:7px; width:7px; height:7px; border-right:1px solid #505966; border-bottom:1px solid #505966; border-radius:0; background:none; transform:rotate(45deg); }
.landing-page .faq-list summary .accordion-sign::after { content:none; }
.landing-page .faq-list details[open] .accordion-sign::before { transform:rotate(225deg); top:9px; }
.landing-page .faq-list details>p { padding:0 52px 24px 23px; color:#505c70; font-size:13px; }
.landing-page .site-footer { width:100%; max-width:none; margin:0; padding:42px max(32px,calc((100% - 1180px)/2)) 38px; border:0; border-radius:28px 28px 0 0; background:#0d0d0f; color:#fff; }
.landing-page .site-footer .brand { color:#8da9ff; }
.landing-page .site-footer .brand-mark { background:var(--blue); }
.landing-page .site-footer .brand-sub,.landing-page .site-footer>div:not(.footer-legal),.landing-page .site-footer .footer-button { color:#b5bac6; }
.landing-page .site-footer a:hover { color:#fff; }

@media(max-width:1100px){
  .landing-page .site-header .desktop-nav { gap:14px; font-size:11px; }
  .landing-page .hero--assembly .hero-inner { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:20px; }
  .landing-page .hero--assembly h1 { font-size:49px; }
  .landing-page .lessons,.landing-page .tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landing-page .lessons summary { min-height:220px; }
  .landing-page .program-intro { grid-template-columns:1fr 190px; }
  .landing-page .blue-program-number b { font-size:125px; }
}
@media(max-width:760px){
  .landing-page .wrap { width:calc(100% - 36px); }
  .landing-page .section-space { padding-block:55px; }
  .landing-page .site-header { min-height:70px; gap:12px; flex-wrap:nowrap; padding-block:12px; }
  .landing-page .site-header .brand { font-size:19px; gap:7px; }
  .landing-page .site-header .brand-sub { font-size:8px; }
  .landing-page .site-header .brand-mark { width:25px; height:25px; font-size:20px; }
  .landing-page .site-header .header-account { gap:12px; }
  .landing-page .site-header .header-action { padding:10px 12px; min-height:36px; font-size:10px; gap:8px; }
  .landing-page .site-header .header-action span { display:none; }
  .landing-page .site-header .login-link { font-size:11px; }
  .landing-page .hero--assembly .hero-inner { display:flex; flex-direction:column; align-items:stretch; gap:16px; min-height:0; padding-block:28px 35px; }
  .landing-page .hero--assembly .hero-content { display:block; }
  .landing-page .hero--assembly h1 { margin:18px 0; font-size:clamp(35px,7vw,49px); line-height:1.06; letter-spacing:-.04em; }
  .landing-page .hero--assembly .hero-meta { font-size:10px; }
  .landing-page .hero--assembly .hero-copy { font-size:13px; }
  .landing-page .hero--assembly .hero-actions { margin-top:21px; }
  .landing-page .hero--assembly .hero-actions .button { width:100%; min-height:49px; padding-inline:15px; font-size:13px; }
  .landing-page .hero--assembly .hero-action-note { font-size:10px; }
  .landing-page .hero--assembly .hero-footnote { gap:13px; margin-top:20px; font-size:9px; }
  .landing-page .hero--assembly .hero-footnote>span { gap:6px; }
  .landing-page .hero--assembly .hero-footnote>span::before { width:21px; height:21px; font-size:10px; }
  .landing-page .hero--assembly .hero-assembly { width:100%; order:0; margin:0; }
  .landing-page .blue-hero-art { width:min(100%,340px); margin:0 auto; }
  .landing-page .hero--assembly .hero-assembly>figcaption { justify-items:center; text-align:center; margin-top:2px; }
  .landing-page .hero--assembly .hero-example-link { font-size:10px; }
  .landing-page .hero--assembly .hero-example-note { font-size:9px; }
  .landing-page .studio-rail { padding-block:22px 45px; }
  .landing-page .studio-rail-head { align-items:start; gap:18px; }
  .landing-page .studio-rail-caption { font-size:25px; }
  .landing-page .studio-rail-controls a { font-size:10px; }
  .landing-page .studio-rail-card { width:280px; border-radius:16px; }
  .landing-page .blue-rail-tail { border-radius:18px; padding:17px; flex-direction:column; align-items:stretch; gap:13px; }
  .landing-page .blue-rail-tail>span { font-size:12px; text-align:center; }
  .landing-page .blue-rail-tail>a { font-size:11px; padding:12px 9px; }
  .landing-page .wow-projects { border-radius:23px 23px 0 0; padding-block:50px 55px; }
  .landing-page .wow-heading h2 { font-size:35px; }
  .landing-page .wow-heading>p { font-size:12px; }
  .landing-page .wow-project-tabs { gap:6px; }
  .landing-page .wow-project-tabs button { padding:11px 13px; gap:7px; font-size:11px; }
  .landing-page .wow-preview { border-radius:13px; }
  .landing-page .program-intro { grid-template-columns:minmax(0,1fr); margin-bottom:25px; }
  .landing-page .program-intro h2,.landing-page .format-intro h2,.landing-page .tools-heading h2,.landing-page .product-compare h2,.landing-page .pricing-heading h2,.landing-page .faq-heading h2 { font-size:34px; }
  .landing-page .blue-program-number { display:none; }
  .landing-page .program-intro>p { font-size:13px; }
  .landing-page .lessons { gap:13px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landing-page .lessons summary { min-height:250px; padding:18px 15px; }
  .landing-page .lessons .lesson-number { width:48px; height:45px; font-size:24px; margin-bottom:17px; }
  .landing-page .lessons .lesson-title { font-size:16px; }
  .landing-page .lessons .lesson-title small { font-size:10px; }
  .landing-page .lessons .accordion-sign { top:17px; right:10px; width:19px; height:19px; }
  .landing-page .lessons .accordion-sign::before,.landing-page .lessons .accordion-sign::after { top:9px; left:5px; }
  .landing-page .lessons .lesson-body { padding-inline:15px; font-size:11px; }
  .landing-page .format-section { padding-block:20px 55px; gap:25px; }
  .landing-page .format-intro>p { font-size:13px; }
  .landing-page .course-excerpt { padding:22px; }
  .landing-page .course-excerpt dl>div { grid-template-columns:82px minmax(0,1fr); gap:10px; }
  .landing-page .course-excerpt-title { font-size:17px; }
  .landing-page .format-notes article,.landing-page .format-notes article:nth-child(2) { padding:26px 24px 26px 66px; }
  .landing-page .format-notes article::before { left:22px; top:27px; width:27px; height:27px; }
  .landing-page .format-notes h3 { font-size:25px; }
  .landing-page .tools-heading { grid-template-columns:minmax(0,1fr); gap:20px; }
  .landing-page .tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
  .landing-page .tools-grid article,.landing-page .tools-grid article:nth-child(2),.landing-page .tools-grid article:nth-child(3),.landing-page .tools-grid article:nth-child(4) { padding:21px 17px; border-radius:16px; }
  .landing-page .tools-grid .tool-card-head { flex-direction:column; align-items:start; gap:12px; margin-bottom:17px; }
  .landing-page .tools-grid article strong { font-size:16px; }
  .landing-page .tools-grid article p { font-size:11px; }
  .landing-page .product-compare { padding-block:50px 25px; }
  .landing-page .product-compare-grid { gap:14px; }
  .landing-page .product-compare-grid article,.landing-page .product-compare-grid .product-compare-paid { padding:26px; }
  .landing-page .product-compare-grid h3 { font-size:25px; }
  .landing-page .pricing-section { padding-block:35px 50px; }
  .landing-page .price-card,.landing-page .price-card:first-child,.landing-page .price-card-plus { --ticket-pad:26px; border-radius:18px; }
  .landing-page .price-card h3 { font-size:30px; }
  .landing-page .price-card .price { font-size:61px; }
  .landing-page .guarantee-section { padding-block:0 35px; }
  .landing-page .guarantee-card { padding:27px; }
  .landing-page .guarantee-content h2 { font-size:27px; }
  .landing-page .guarantee-content>p { font-size:12px; }
  .landing-page .faq-section { padding-block:20px 50px; }
  .landing-page .faq-list summary { padding:18px; font-size:13px; }
  .landing-page .faq-list details>p { padding:0 30px 20px 18px; font-size:12px; }
  .landing-page .site-footer { padding:30px 22px; border-radius:23px 23px 0 0; }
}
@media(max-width:380px){
  .landing-page .site-header .header-account { gap:8px; }
  .landing-page .site-header .header-action { padding-inline:9px; font-size:9px; }
  .landing-page .site-header .brand { font-size:17px; }
  .landing-page .hero--assembly h1 { font-size:34px; }
  .landing-page .lessons,.landing-page .tools-grid { grid-template-columns:minmax(0,1fr); }
  .landing-page .lessons summary { min-height:205px; padding:21px; }
  .landing-page .lessons .lesson-title { font-size:18px; }
  .landing-page .lessons .lesson-title small { font-size:11px; }
  .landing-page .course-excerpt { padding:19px; }
  .landing-page .course-excerpt dl>div { grid-template-columns:67px minmax(0,1fr); gap:9px; }
  .landing-page .course-excerpt dd { font-size:11px; }
  .landing-page .course-excerpt dt { font-size:9px; }
  .landing-page .price-card h3 { font-size:26px; }
  .landing-page .price-card .price { font-size:56px; }
}
@media(prefers-reduced-motion:reduce){
  .landing-page .blue-hero-art img { transform:none; transition:none; }
  .landing-page .studio-rail-card,.landing-page .lessons details { transition:none; }
}

/* A card system for this course: cobalt for making, lime for choosing,
   white for reading. Native examples, author and final invitation are intact. */
.landing-page { --lime:#d8ff62; --card-radius:28px; --bg:#f1f3f6; }
.landing-page .desktop-nav { gap:20px; }
.landing-page .hero--assembly .hero-inner { max-width:1240px; width:calc(100% - 48px); min-height:0; padding:52px 38px 44px; margin-block:14px 0; gap:32px; border:1px solid #e4e7ed; border-radius:32px; background:#fff; }
.landing-page .hero--assembly h1 { font-size:clamp(40px,4.05vw,59px); font-weight:850; letter-spacing:-.05em; margin-block:20px; }
.landing-page .hero--assembly .hero-meta { gap:12px; }
.landing-page .hero--assembly .hero-meta>span:first-child { padding:7px 11px; border-radius:7px; background:#edf2ff; color:#1746d5; }
.landing-page .hero--assembly .hero-copy { font-size:14px; }
.landing-page .blue-hero-art { position:relative; width:110%; margin-left:-5%; isolation:isolate; }
.landing-page .blue-hero-art::before { content:''; position:absolute; z-index:-1; inset:10% 6% 6%; border-radius:34% 34% 18% 18%; background:#edf2ff; transform:rotate(-5deg); }
.landing-page .hero--assembly .hero-footnote { font-size:11px; gap:15px; }
.landing-page .hero--assembly .hero-footnote>span::before { width:22px; height:22px; background:#ecf3d8; color:#264c16; }
.landing-page .hero--assembly .hero-actions .button { border-radius:12px; min-height:54px; }
.landing-page .tasks-section { padding-block:64px 30px; font-family:var(--blue-font); }
.landing-page .tasks-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:25px; }
.landing-page .tasks-heading h2 { color:#11131a; font-size:44px; line-height:1.1; font-weight:800; letter-spacing:-.045em; }
.landing-page .tasks-heading>p { color:#5b6474; font-size:13px; line-height:1.7; }
.landing-page .tasks-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:18px; }
.landing-page .task-card { position:relative; min-width:0; min-height:345px; border-radius:var(--card-radius); overflow:hidden; padding:30px 26px; display:flex; flex-direction:column; justify-content:space-between; transition:transform .25s; }
.landing-page .task-card h3 { margin:0; font-size:25px; line-height:1.14; letter-spacing:-.035em; font-weight:750; }
.landing-page .task-card p { margin-top:14px; font-size:13px; line-height:1.65; max-width:255px; }
.landing-page .task-card-main { background:var(--blue); color:#fff; padding-bottom:0; min-height:345px; }
.landing-page .task-card-main .task-copy { position:relative; z-index:1; }
.landing-page .task-card-main .task-copy p { max-width:295px; color:#e1e9ff; }
.landing-page .task-browser { width:90%; margin:25px -5px -23px auto; border:1px solid #fff8; border-radius:15px 15px 0 0; background:#fff; color:#161b2c; transform:rotate(-5deg); transition:transform .35s; box-shadow:0 15px 30px #0c309f33; }
.landing-page .task-browser-bar { display:flex; align-items:center; gap:5px; padding:10px 14px; border-bottom:1px solid #e3e7ef; color:#566079; font-size:9px; }
.landing-page .task-browser-bar span { margin-right:auto; }
.landing-page .task-browser-bar i { width:4px; height:4px; border-radius:50%; background:#aab9da; }
.landing-page .task-browser-page { position:relative; padding:19px 19px 0; }
.landing-page .task-browser-title { font-weight:800; font-size:23px; line-height:1.1; letter-spacing:-.04em; }
.landing-page .task-browser-cta { display:inline-flex; gap:20px; align-items:center; font-size:8px; background:var(--lime); color:#172213; border-radius:5px; padding:8px 10px; margin-top:13px; }
.landing-page .task-browser-picture { position:absolute; right:14px; top:14px; display:grid; place-items:center; width:30%; aspect-ratio:1; border-radius:13px; background:#dce6ff; overflow:hidden; }
.landing-page .task-browser-picture svg { width:70%; stroke:#2158f4; stroke-width:9; }
.landing-page .task-browser-links { display:flex; gap:18px; margin-top:19px; padding:10px 0 15px; border-top:1px solid #e3e7ef; font-size:8px; }
.landing-page .task-card-design { background:var(--lime); color:#1c2513; }
.landing-page .task-card-design p { color:#3e4c2c; }
.landing-page .task-swatches { height:130px; position:relative; margin-bottom:28px; }
.landing-page .task-swatches i { position:absolute; left:0; top:12px; width:62px; height:80px; border-radius:12px; border:3px solid var(--lime); background:#111721; transform:rotate(-15deg); transition:transform .3s; }
.landing-page .task-swatches i:nth-child(2) { left:44px; top:4px; background:#fff; transform:rotate(0deg); }
.landing-page .task-swatches i:nth-child(3) { left:88px; top:16px; background:var(--blue); transform:rotate(15deg); }
.landing-page .task-swatches>span { position:absolute; right:-3px; bottom:0; font-size:52px; font-weight:700; letter-spacing:-.075em; }
.landing-page .task-card-publish { background:#fff; border:1px solid #e0e5ed; color:#111721; }
.landing-page .task-card-publish p { color:#596373; }
.landing-page .task-publish-art { height:135px; margin-bottom:23px; }
.landing-page .task-publish-art svg { height:135px; width:150px; stroke:#2158f4; stroke-width:2; }
.landing-page .task-publish-art svg rect { fill:var(--blue); stroke:var(--blue); }
.landing-page .task-publish-art svg path:last-child { stroke:var(--lime); stroke-width:4; }
.landing-page .studio-rail { padding-block:36px 60px; }
.landing-page .studio-rail-caption { font-size:28px; font-weight:750; }
.landing-page .blue-rail-tail { border-radius:18px; background:#e3eaff; color:#183b93; padding:16px 18px 16px 25px; }
.landing-page .blue-rail-tail>a { background:var(--blue); color:#fff; border-radius:10px; }
.landing-page .blue-rail-tail>a:hover { background:#1746d5; }
.landing-page .wow-heading h2 { font-size:48px; font-weight:800; }
.landing-page .wow-projects { background:#101318; border-radius:32px; }
.landing-page .program-intro h2,.landing-page .format-intro h2,.landing-page .tools-heading h2,.landing-page .product-compare h2,.landing-page .pricing-heading h2,.landing-page .faq-heading h2 { font-weight:800; letter-spacing:-.045em; }
.landing-page .program-intro h2,.landing-page .format-intro h2,.landing-page .pricing-heading h2 { margin-top:0; }
.landing-page .program-intro { align-items:center; }
.landing-page .blue-program-number b { font-size:125px; }
.landing-page .lessons { gap:15px; }
.landing-page .lessons details { border-radius:23px; background:#fff; }
.landing-page .lessons details:nth-child(1),.landing-page .lessons details:nth-child(6) { background:#e5edff; }
.landing-page .lessons details:nth-child(4),.landing-page .lessons details:nth-child(8) { background:#ecf4da; }
.landing-page .lessons summary { min-height:248px; padding:24px 22px; }
.landing-page .lessons .lesson-number { background:#f0f3f9; color:#2158f4; font-weight:750; }
.landing-page .lessons details:nth-child(4n+2) .lesson-number,.landing-page .lessons details:nth-child(4n+3) .lesson-number,.landing-page .lessons details:nth-child(4n+4) .lesson-number { background:#f0f3f9; color:#2158f4; }
.landing-page .lessons details:nth-child(1) .lesson-number,.landing-page .lessons details:nth-child(6) .lesson-number { background:#2158f4; color:#fff; }
.landing-page .lessons .lesson-title { font-size:18px; font-weight:750; }
.landing-page .lessons .lesson-title small { color:#4c586c; }
.landing-page .format-notes article { background:#e3ebff; }
.landing-page .format-notes article:nth-child(2) { background:#e9f3d3; }
.landing-page .format-notes h3 { font-size:28px; font-weight:750; }
.landing-page .course-excerpt { border:1px solid #e0e5ed; border-radius:24px; }
.landing-page .course-excerpt-title { max-width:330px; font-size:23px; line-height:1.2; letter-spacing:-.025em; }
.landing-page .tools-section { border-radius:32px; background:#101318; }
.landing-page .tools-grid article:nth-child(2) { background:#e8f2d8; }
.landing-page .tools-grid article:nth-child(3) { background:#e4ecff; }
.landing-page .tools-grid article strong { font-weight:750; }
.landing-page .tools-grid article p { color:#4f5d70; }
.landing-page .product-compare { padding-block:70px; }
.landing-page .product-compare .section-heading { max-width:850px; }
.landing-page .product-compare h2 { max-width:800px; }
.landing-page .product-compare-grid article { border:1px solid #dfe5ef; border-radius:26px; }
.landing-page .product-compare-grid .product-compare-paid { border-color:#c7d5ff; background:#e1eaff; }
.landing-page .product-compare-grid .eyebrow { font-size:12px; }

/* The purchase decision is a distinct chapter, with the actual price first. */
.landing-page .pricing-section { padding-block:68px 54px; border-radius:32px; background:#101722; color:#fff; }
.landing-page .pricing-heading { align-items:center; margin-bottom:34px; }
.landing-page .pricing-heading h2 { color:#fff; font-size:52px; }
.landing-page .pricing-heading>p { max-width:425px; color:#c3cedd; font-size:13px; }
.landing-page .price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:stretch; }
.landing-page .price-card,.landing-page .price-card:first-child,.landing-page .price-card-plus { padding:32px; border:1px solid transparent; border-radius:28px; background:var(--blue); color:#fff; overflow:hidden; box-shadow:none; transition:transform .25s,border-color .25s; }
.landing-page .price-card-plus { background:#fff; color:#141a25; }
.landing-page .price-card[data-studio-glow]:hover { border-color:#9fb8ff; }
.landing-page .price-top,.landing-page .price-card-plus .price-top { min-height:51px; align-items:start; gap:16px; border:0; padding:0; color:#e0e9ff; font-size:12px; font-weight:600; }
.landing-page .price-card-plus .price-top { color:#4d5b70; }
.landing-page .plan-kicker { display:inline-block; margin-top:5px; max-width:230px; line-height:1.5; }
.landing-page .plan-symbol { display:grid; place-items:center; width:48px; height:48px; border-radius:13px; flex:none; background:#ffffff1c; color:#fff; }
.landing-page .plan-symbol svg { width:31px; height:31px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s; }
.landing-page .price-card-plus .plan-symbol { background:var(--lime); color:#233119; }
.landing-page .price-card h3 { margin:14px 0 13px; font-size:clamp(28px,2.75vw,38px); line-height:1.12; font-weight:800; letter-spacing:-.045em; }
.landing-page .price-card .plan-description { min-height:44px; max-width:420px; margin:0; color:#e0e8ff; font-size:13px; line-height:1.65; }
.landing-page .price-card-plus .plan-description { color:#526075; }
.landing-page .price-card .price { margin-top:22px; color:#fff; font-size:86px; font-weight:800; line-height:1; letter-spacing:-.065em; white-space:nowrap; font-variant-numeric:lining-nums tabular-nums; }
.landing-page .price-card-plus .price { color:#141a25; }
.landing-page .price-card .price>span { font-size:.55em; font-weight:600; margin-left:4px; }
.landing-page .price-card .price>s { display:block; width:max-content; font-size:23px; letter-spacing:-.02em; color:#ccd9ff; margin-bottom:6px; }
.landing-page .price-card-plus .price>s { color:#67748a; }
.landing-page .price-card .payment-note { margin-top:12px; color:#dce6ff; font-size:11px; }
.landing-page .price-card-plus .payment-note { color:#5a6679; }
.landing-page .course-review-count { min-height:76px; height:auto; gap:16px; padding:16px 18px; margin:25px 0; color:#fff; background:#ffffff13; border:1px solid #ffffff30; border-radius:15px; }
.landing-page .course-review-count>b { font-size:43px; font-weight:750; }
.landing-page .course-review-count>span { color:#edf2ff; font-size:12px; max-width:none; line-height:1.5; }
.landing-page .course-review-count>i { display:none; }
.landing-page .price-card-plus .course-review-count { background:#f1f6e6; border-color:#e2edce; color:#23311a; }
.landing-page .price-card-plus .course-review-count>span { color:#3d512d; }
.landing-page .price-card .plan-features { color:#f1f5ff; font-size:13px; gap:14px; margin-bottom:28px; }
.landing-page .price-card-plus .plan-features { color:#3f4c61; }
.landing-page .price-card .plan-features li::before { background:#ffffff24; color:#fff; }
.landing-page .price-card-plus .plan-features li::before { background:#ecf3dd; color:#305a1e; }
.landing-page .price-card .plan-button { min-height:54px; margin-top:auto; border:0; border-radius:12px; background:#fff; color:#1646cf; font-size:14px; }
.landing-page .price-card-plus .plan-button { background:var(--lime); color:#1b2814; }
.landing-page .price-card .plan-button:hover { background:#edf2ff; color:#1646cf; transform:translateY(-2px); }
.landing-page .price-card-plus .plan-button:hover { background:#c9f34e; color:#1b2814; }
.landing-page .price-card .plan-bottom { color:#e0e9ff; margin-top:14px; font-size:11px; }
.landing-page .price-card-plus .plan-bottom { color:#59677b; }
.landing-page .pricing-format-note { margin-top:26px; padding:22px 0; border-bottom:1px solid #ffffff20; }
.landing-page .pricing-format-note,.landing-page .pricing-format-note strong,.landing-page .pricing-footnotes { color:#c1ccdd; }
.landing-page .pricing-format-note strong { font-size:14px; font-weight:600; }
.landing-page .pricing-footnotes .text-button { color:#dce6fa; }
.landing-page .pricing-section .bespoke-offer { margin-top:30px; padding:24px 26px; background:#ffffff05; border:1px solid #ffffff20; border-radius:19px; }
.landing-page .pricing-section .bespoke-copy>span,.landing-page .pricing-section .bespoke-copy p { color:#a6b3c7; }
.landing-page .pricing-section .bespoke-copy h3,.landing-page .pricing-section .bespoke-price { color:#d5deeb; }
.landing-page .pricing-section .bespoke-action>a { color:#c5d1e3; border-color:#667690; }
.landing-page .guarantee-section { padding-block:40px 25px; }
.landing-page .guarantee-card { background:#e8f0da; border:1px solid #dbe6c8; border-radius:26px; }
.landing-page .guarantee-icon { background:#d1e5b0; color:#305320; border-radius:15px; }
.landing-page .guarantee-footer { border-color:#cbd8b5; }
.landing-page .faq-section { max-width:1180px; display:grid; grid-template-columns:300px minmax(0,1fr); gap:65px; padding-block:55px 70px; }
.landing-page .faq-heading,.landing-page .faq-heading h2 { text-align:left; }
.landing-page .faq-heading .eyebrow { display:none; }
.landing-page .faq-list { background:transparent; border-radius:0; display:grid; gap:10px; }
.landing-page .faq-list details { background:#fff; border:1px solid #e1e5ed; border-radius:15px; }
.landing-page .faq-list details[open] { background:#e6edff; border-color:#c4d3ff; }
.landing-page .faq-list details:last-child { border:1px solid #e1e5ed; }
.landing-page .faq-list summary { font-size:14px; padding:20px 23px; }
.landing-page .faq-list details>p { padding:0 48px 22px 23px; }

@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .landing-page .task-card:hover,.landing-page .price-card:hover { transform:translateY(-4px); }
  .landing-page .task-card-main:hover .task-browser { transform:translateY(-4px) rotate(-2deg); }
  .landing-page .task-card-design:hover .task-swatches i:first-child { transform:translateX(-3px) rotate(-20deg); }
  .landing-page .task-card-design:hover .task-swatches i:nth-child(3) { transform:translateX(3px) rotate(20deg); }
  .landing-page .price-card:hover .plan-symbol svg { transform:translateY(-2px); }
}
@media(max-width:1100px){
  .landing-page .desktop-nav { gap:14px; font-size:10px; }
  .landing-page .hero--assembly .hero-inner { padding:38px 28px; gap:18px; }
  .landing-page .hero--assembly h1 { font-size:44px; }
  .landing-page .tasks-grid { grid-template-columns:1.3fr 1fr 1fr; gap:14px; }
  .landing-page .task-card { padding:26px 22px; }
  .landing-page .task-card-main { padding-bottom:0; }
  .landing-page .task-card h3 { font-size:22px; }
  .landing-page .task-swatches i { width:55px; }
  .landing-page .task-swatches i:nth-child(2) { left:33px; }
  .landing-page .task-swatches i:nth-child(3) { left:66px; }
  .landing-page .task-swatches>span { font-size:42px; }
  .landing-page .task-browser-title { font-size:19px; }
  .landing-page .price-card,.landing-page .price-card:first-child,.landing-page .price-card-plus { padding:27px; }
  .landing-page .price-card .price { font-size:76px; }
  .landing-page .price-card h3 { font-size:30px; }
  .landing-page .faq-section { grid-template-columns:250px minmax(0,1fr); gap:35px; }
}
@media(max-width:760px){
  .landing-page .hero--assembly .hero-inner { width:calc(100% - 24px); padding:29px 20px 25px; border-radius:24px; margin-top:5px; gap:12px; }
  .landing-page .hero--assembly h1 { font-size:clamp(34px,7.4vw,48px); line-height:1.07; }
  .landing-page .hero--assembly .hero-meta { font-size:9px; gap:8px; }
  .landing-page .hero--assembly .hero-meta>span:first-child { padding:6px 8px; }
  .landing-page .hero--assembly .hero-copy { font-size:13px; }
  .landing-page .hero--assembly .hero-footnote { font-size:10px; display:grid; gap:10px; }
  .landing-page .blue-hero-art { width:min(100%,330px); margin-inline:auto; }
  .landing-page .hero--assembly .hero-assembly>figcaption { margin-top:0; }
  .landing-page .tasks-section { padding-block:44px 15px; }
  .landing-page .tasks-heading { display:block; margin-bottom:22px; }
  .landing-page .tasks-heading h2 { font-size:34px; }
  .landing-page .tasks-heading>p { margin-top:15px; font-size:13px; }
  .landing-page .tasks-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .landing-page .task-card { min-height:310px; padding:23px 18px; border-radius:23px; }
  .landing-page .task-card-main { grid-column:1/-1; min-height:335px; padding:26px 25px 0; }
  .landing-page .task-card h3 { font-size:22px; }
  .landing-page .task-card p { font-size:12px; margin-top:12px; }
  .landing-page .task-browser { width:min(100%,330px); margin:23px auto -15px; }
  .landing-page .task-browser-title { font-size:25px; }
  .landing-page .task-browser-picture { width:30%; }
  .landing-page .task-swatches { height:120px; margin-bottom:18px; }
  .landing-page .task-swatches i { width:44px; height:67px; border-width:2px; }
  .landing-page .task-swatches i:nth-child(2) { left:26px; }
  .landing-page .task-swatches i:nth-child(3) { left:52px; }
  .landing-page .task-swatches>span { right:0; bottom:3px; font-size:35px; }
  .landing-page .task-publish-art,.landing-page .task-publish-art svg { height:112px; width:120px; max-width:100%; }
  .landing-page .studio-rail { padding-block:28px 45px; }
  .landing-page .studio-rail-caption { font-size:25px; }
  .landing-page .studio-rail-head { flex-direction:column; gap:14px; }
  .landing-page .wow-projects,.landing-page .tools-section,.landing-page .pricing-section { border-radius:24px; }
  .landing-page .wow-heading h2 { font-size:36px; }
  .landing-page .lessons { grid-template-columns:minmax(0,1fr); gap:12px; }
  .landing-page .lessons summary { min-height:0; padding:22px 54px 22px 22px; display:grid; grid-template-columns:45px minmax(0,1fr); gap:17px; align-items:start; }
  .landing-page .lessons .lesson-number { width:45px; height:45px; margin-bottom:0; font-size:23px; }
  .landing-page .lessons .lesson-title { font-size:18px; }
  .landing-page .lessons .lesson-title small { font-size:11px; }
  .landing-page .lessons .accordion-sign { right:17px; top:28px; }
  .landing-page .lessons .lesson-body { padding:0 22px 22px; font-size:12px; }
  .landing-page .format-intro h2 { font-size:34px; }
  .landing-page .format-notes h3 { font-size:26px; }
  .landing-page .course-excerpt-title { font-size:21px; }
  .landing-page .tools-heading h2 { font-size:34px; }
  .landing-page .tools-grid { grid-template-columns:minmax(0,1fr); }
  .landing-page .tools-grid article,.landing-page .tools-grid article:nth-child(2),.landing-page .tools-grid article:nth-child(3),.landing-page .tools-grid article:nth-child(4) { padding:25px; border-radius:22px; }
  .landing-page .tools-grid .tool-card-head { flex-direction:row; align-items:center; gap:14px; margin-bottom:18px; }
  .landing-page .tools-grid article strong { font-size:21px; }
  .landing-page .tools-grid article p { font-size:13px; }
  .landing-page .product-compare { padding-block:48px; }
  .landing-page .product-compare h2 { font-size:33px; }
  .landing-page .product-compare-grid article,.landing-page .product-compare-grid .product-compare-paid { padding:25px; border-radius:23px; }
  .landing-page .pricing-section { padding-block:46px 35px; }
  .landing-page .pricing-heading { margin-bottom:25px; }
  .landing-page .pricing-heading h2 { font-size:40px; }
  .landing-page .pricing-heading>p { font-size:13px; }
  .landing-page .price-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .landing-page .price-card,.landing-page .price-card:first-child,.landing-page .price-card-plus { padding:25px; border-radius:24px; }
  .landing-page .price-card h3 { font-size:31px; }
  .landing-page .price-card .price { font-size:73px; }
  .landing-page .price-card .plan-description { min-height:0; }
  .landing-page .price-top { min-height:45px; }
  .landing-page .plan-symbol { width:42px; height:42px; border-radius:11px; }
  .landing-page .plan-symbol svg { width:28px; height:28px; }
  .landing-page .plan-kicker { max-width:200px; font-size:11px; }
  .landing-page .course-review-count { padding:14px; margin:23px 0; }
  .landing-page .course-review-count>b { font-size:40px; }
  .landing-page .course-review-count>span { font-size:11px; }
  .landing-page .price-card .plan-features { font-size:13px; gap:13px; }
  .landing-page .price-card .plan-button { font-size:13px; }
  .landing-page .pricing-format-note strong { font-size:13px; }
  .landing-page .pricing-footnotes p { font-size:12px; }
  .landing-page .pricing-section .bespoke-offer { padding:22px; margin-top:25px; }
  .landing-page .guarantee-section { padding-block:26px 15px; }
  .landing-page .guarantee-card { padding:26px; border-radius:23px; }
  .landing-page .faq-section { display:block; padding-block:35px 50px; }
  .landing-page .faq-heading { margin-bottom:25px; }
  .landing-page .faq-heading h2 { font-size:34px; }
  .landing-page .faq-list summary { font-size:13px; padding:18px; }
  .landing-page .faq-list details>p { padding:0 20px 20px 18px; }
}
@media(max-width:600px){
  .landing-page .tasks-grid { grid-template-columns:minmax(0,1fr); }
  .landing-page .task-card:not(.task-card-main) { min-height:270px; }
  .landing-page .task-swatches { width:180px; height:110px; }
  .landing-page .task-card h3 { font-size:25px; }
}
@media(max-width:380px){
  .landing-page .hero--assembly .hero-inner { padding-inline:18px; }
  .landing-page .hero--assembly h1 { font-size:32px; }
  .landing-page .hero--assembly .hero-meta { flex-wrap:wrap; }
  .landing-page .tasks-grid { grid-template-columns:minmax(0,1fr); }
  .landing-page .task-card:not(.task-card-main) { min-height:270px; }
  .landing-page .task-swatches { width:160px; }
  .landing-page .task-card h3 { font-size:25px; }
  .landing-page .price-card,.landing-page .price-card:first-child,.landing-page .price-card-plus { padding:23px; }
  .landing-page .price-card h3 { font-size:27px; }
  .landing-page .price-card .price { font-size:64px; }
  .landing-page .payment-note { line-height:1.6; }
}
@media(prefers-reduced-motion:reduce){
  .landing-page .task-card,.landing-page .task-browser,.landing-page .task-swatches i,.landing-page .price-card,.landing-page .plan-symbol svg { transition:none; }
}

/* The showcase has its own light stage. Even the dark RITUAL example has
   a visible edge, rather than disappearing into the surrounding section. */
.landing-page .wow-projects { background:#e5edff; color:#151b27; border:1px solid #d1ddf7; }
.landing-page .wow-heading h2 { color:#101722; }
.landing-page .wow-heading .eyebrow { color:#2350b6; }
.landing-page .wow-heading>p { color:#4e607d; }
.landing-page .wow-project-tabs button { background:#fff; color:#4a5c79; border:1px solid #ccd8f1; }
.landing-page .wow-project-tabs button[aria-selected=true] { border:1px solid #2158f4; background:#2158f4; color:#fff; }
.landing-page .wow-project-panel { gap:30px; padding:20px; border:1px solid #cdd9f3; border-radius:26px; background:#fff; box-shadow:0 8px 28px #173a7b08; }
.landing-page .wow-preview { border:1px solid #dde4f0; border-radius:17px; }
.landing-page .wow-project-copy { padding:9px 12px 9px 0; color:#151b27; }
.landing-page .wow-project-kicker { color:#536580; }
.landing-page .wow-project-copy>p { color:#4f6079; }
.landing-page .wow-project-copy .wow-name-forma { color:#2158f4; }
.landing-page .wow-try { padding:16px; background:#f0f6e6; border:1px solid #e2ebd2; border-radius:13px; }
.landing-page .wow-try>span { color:#466529; }
.landing-page .wow-try p { color:#4d603c; }
.landing-page .wow-try strong { color:#23341c; }
.landing-page .wow-features li { color:#4d607b; background:#f5f7fc; border-color:#dbe3f1; border-radius:7px; }
.landing-page .wow-project-copy .text-button,.landing-page .wow-note .text-button { color:#1746cb; }
.landing-page .wow-open { background:#2158f4; color:#fff; border:1px solid #ffffff60; border-radius:9px; }
.landing-page .wow-note { border-color:#c3d1eb; }
.landing-page .wow-note p { color:#526480; }
@media(max-width:1000px){
  .landing-page .wow-project-panel { padding:16px; gap:22px; }
  .landing-page .wow-project-copy { padding-right:0; }
}
@media(max-width:720px){
  .landing-page .wow-project-panel { padding:13px; border-radius:21px; gap:22px; }
  .landing-page .wow-project-copy { padding:0 8px 10px; }
  .landing-page .wow-preview { border-radius:12px; }
  .landing-page .wow-try { padding:14px; }
}
@media print{
  .landing-page { border-top:0; background:#fff; }
  .landing-page .wow-projects,.landing-page .tools-section,.landing-page .site-footer { background:#fff; color:#111; }
}
