/* Public homepage only. All palettes consume the existing semantic registry. */
.public-layout h1:focus{outline:none}
.public-layout section:focus,.public-layout article:focus{outline:3px solid var(--focus);outline-offset:4px}
.public-layout{width:100%;max-width:none;padding:0}.public-navigation[hidden],.primary-nav[hidden]{display:none}
.public-navigation{border-top:1px solid color-mix(in srgb,var(--header-text) 18%,transparent)}
.public-links{display:flex;align-items:center;gap:28px;padding-block:9px}.public-links a,.public-menu-group>summary{font-family:'LP Live Inter',Inter,system-ui,sans-serif;font-size:14px;font-weight:900;line-height:1;min-height:28px;display:flex;align-items:center;color:var(--header-text);text-decoration:none}.public-links a:hover,.public-menu-group>summary:hover{color:var(--nav-active)}.public-start-link{padding:8px 14px;border:1px solid var(--button);border-radius:8px;background:var(--button);color:var(--button-text)!important;font-weight:900!important}.public-start-link:hover{background:var(--button-hover);border-color:var(--button-hover)}.public-menu-group{position:relative}.public-menu-group>summary{list-style:none;cursor:pointer;gap:7px}.public-menu-group>summary::-webkit-details-marker{display:none}.public-menu-group>summary::after{content:'⌄';font-size:.75rem;transition:transform .15s}.public-menu-group[open]>summary::after{transform:rotate(180deg)}.public-menu-submenu{position:absolute;z-index:20;top:calc(100% + 8px);left:-12px;display:grid;min-width:180px;gap:2px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 12px 28px var(--shadow)}.public-menu-group:not([open]) .public-menu-submenu{display:none}.public-menu-submenu a{font-family:'LP Live Inter',Inter,system-ui,sans-serif;font-size:14px;font-weight:900;line-height:1.2;min-height:36px;padding:7px 10px;border-radius:7px;color:var(--text)}.public-menu-submenu a:hover{background:var(--soft);color:var(--text)}
.public-menu-button{display:none}.home-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:72px;align-items:center;padding-block:40px 64px}.home-hero .lp-app-banner{width:100%;margin:0 0 30px}
.home-hero h1{font-size:clamp(42px,4.5vw,64px);font-weight:700;line-height:1.04;letter-spacing:-2.4px;margin:16px 0 24px}.home-hero h1 em{font-style:normal;color:var(--selection)}
.home-intro{font-size:1.125rem;line-height:1.7;max-width:460px;color:var(--muted)}.home-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:28px}.home-text-link{font-weight:700;font-size:.875rem;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:5px}.home-text-link:hover{text-decoration-color:currentColor;color:var(--selection)}
.home-entry-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.home-entry-card{display:flex;align-items:center;gap:14px;min-height:108px;padding:18px 20px;border:1px solid var(--border);border-radius:16px;background:var(--surface);transition:transform .15s,box-shadow .15s,border-color .15s}.home-entry-card:hover{transform:translateY(-2px);border-color:var(--selection);box-shadow:0 8px 22px var(--shadow)}.home-entry-card-primary{border:2px solid var(--selection)}.home-entry-icon{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:12px;background:var(--soft);color:var(--selection);font:700 25px/1 'Playfair Display',Georgia,serif}.home-entry-card strong{display:block;font:700 21px/1.15 'Playfair Display',Georgia,serif;color:var(--text)}.home-entry-card small{display:block;margin-top:5px;color:var(--muted);font-size:.8rem;line-height:1.35}.home-entry-arrow{margin-left:auto;color:var(--button);font-size:22px}
.home-small{font-size:.75rem;line-height:1.7;color:var(--muted);margin-top:18px}.home-hero-art{margin:0}.home-hero-art img{display:block;width:100%;height:auto;border-radius:100px 18px 18px 18px;box-shadow:12px 12px 0 var(--soft)}
.public-layout h2{text-align:left;font-size:34px;font-weight:700;line-height:1.2;margin:10px 0 20px}.public-layout h3{font-family:'Playfair Display',Georgia,serif;font-size:26px;font-weight:700;line-height:1.25;margin:0 0 12px}.public-layout p{line-height:1.7}.public-layout .eyebrow{line-height:1.5}.public-layout .button{font-weight:900;letter-spacing:.2px}
.home-path{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-block:1px solid var(--border);padding-block:44px}.home-path p:not(.eyebrow){color:var(--muted)}.home-steps{margin:0;padding:0;list-style:none;display:grid;gap:22px}.home-steps li{display:flex;gap:22px;align-items:flex-start}.home-steps li>span{font-family:'Playfair Display',Georgia,serif;font-size:30px;color:var(--selection);line-height:1.3}.home-steps h3{font:700 1rem Inter,Arial,sans-serif;margin:4px 0}.home-steps p{margin:0;font-size:.875rem}
.home-discover{padding-block:60px}.home-section-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.home-format-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.home-format{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface);scroll-margin-top:24px}.home-format>img{display:block;width:100%;height:325px;object-fit:cover}.home-series-image{object-position:50% 56%}.home-format-copy{padding:28px}.home-format-copy p:not(.eyebrow){color:var(--muted);font-size:.9375rem}.home-status{border-left:3px solid var(--border);padding:8px 12px;font-size:.8125rem!important;background:var(--soft);color:var(--text)!important}.home-available{border-left-color:var(--success)}
.home-book{display:grid;grid-template-columns:280px 1fr;gap:72px;align-items:center;padding:36px 64px;background:var(--soft);border-radius:18px;scroll-margin-top:24px}.home-book figure{margin:0}.home-book img{width:100%;height:auto;display:block;border-radius:8px}.home-book p{max-width:550px}.home-teacher{display:grid;grid-template-columns:210px 1fr;gap:48px;align-items:center;padding-block:64px;scroll-margin-top:24px}.home-teacher>img{width:210px;height:210px;object-fit:cover;border-radius:50%}.home-teacher p{max-width:620px}.home-start{border-block:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:36px}.home-start h2{margin-bottom:10px}.home-start p{margin-bottom:0}.home-footer{padding-block:32px;display:flex;gap:32px;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--muted)}.home-footer>a:first-child{font-weight:700;color:var(--text)}.home-footer>a>span{display:block;font-weight:400}.home-footer p{max-width:390px}
.skip-public{position:fixed;z-index:20;top:-100px;left:16px;padding:12px;background:var(--surface);color:var(--text)}.skip-public:focus{top:12px}
.home-format>img{object-fit:contain;background:var(--soft)}
.public-layout a,.public-navigation a{transition:transform .15s,background-color .15s,color .15s}.public-layout .button:hover{transform:translateY(-2px)}.public-layout .button:active{transform:translateY(1px)}
@media(max-width:800px){.home-hero{gap:32px}.public-links{gap:23px}.home-path{gap:32px}.home-book{gap:32px;padding:32px;grid-template-columns:210px 1fr}.home-format>img{height:260px}.home-footer{flex-wrap:wrap}}
@media(max-width:600px){.public-menu-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;color:var(--header-text);font:600 .875rem Inter,Arial,sans-serif;padding:14px 0;min-height:48px}.public-menu-button span{font-size:18px}.public-links{display:none;flex-direction:column;align-items:stretch;gap:0;padding:0 0 12px}.public-links.is-open{display:flex}.public-links a{min-height:44px;padding-block:8px}.home-hero{grid-template-columns:1fr;gap:26px;padding-block:32px 36px}.home-hero .lp-app-banner{margin-bottom:26px}.home-hero h1{font-size:41px;letter-spacing:-1px;margin:14px 0 18px}.home-intro{font-size:1rem;margin-block:0 18px}.home-actions{gap:12px;margin-top:22px}.home-small{margin:12px 0 0}.home-hero-art{width:100%;max-width:340px;margin:auto}.home-hero-art img{border-radius:64px 14px 14px 14px;box-shadow:6px 6px 0 var(--soft)}.public-layout h2{font-size:29px}.home-path{grid-template-columns:1fr;gap:24px;padding-block:28px}.home-path h2 br{display:none}.home-steps{gap:18px}.home-discover{padding-block:36px}.home-section-heading{display:block;margin-bottom:20px}.home-section-heading h2{margin-bottom:8px}.home-format-grid{grid-template-columns:1fr;gap:24px}.home-format>img{height:300px}.home-format-copy{padding:23px}.home-book{grid-template-columns:1fr;padding:24px;gap:24px}.home-book figure{width:180px;margin:auto}.home-teacher{grid-template-columns:1fr;gap:24px;padding-block:36px}.home-teacher>img{width:144px;height:144px}.home-start{flex-direction:column;align-items:flex-start;padding-block:28px}.home-footer{display:block;padding-block:24px}.home-footer p{margin-block:18px}}
.public-menu-group>summary{padding-block:8px}.public-menu-submenu a{padding-block:7px}
@media(max-width:600px){.public-menu-submenu{position:static;min-width:0;padding:4px 0 8px 14px;border:0;border-left:2px solid var(--border);border-radius:0;background:transparent;box-shadow:none}.public-menu-submenu a{min-height:40px;padding:7px 10px}}
.home-entry-choices{margin-top:28px}
@media(max-width:600px){.home-entry-choices{grid-template-columns:1fr;gap:12px;margin-top:22px}.home-entry-card{min-height:92px;padding:15px}.home-entry-card strong{font-size:19px}}
.home-hero{padding-bottom:24px}.home-hero h1{font-size:clamp(48px,5vw,72px);line-height:1.02;letter-spacing:-2.8px}.home-intro{font-size:1.25rem;line-height:1.6;max-width:500px}.home-entry-choices{margin-top:14px;gap:16px}.home-entry-card{min-height:124px;padding:22px 24px;gap:16px;border-radius:18px;box-shadow:0 9px 20px var(--shadow)}.home-entry-card:hover{transform:translateY(-4px);box-shadow:0 13px 26px var(--shadow)}.home-entry-card-primary{background:var(--selected);border:2px solid var(--selection)}.home-entry-card:not(.home-entry-card-primary){background:var(--soft);border:2px solid var(--button-border)}.home-entry-icon{flex-basis:52px;width:52px;height:52px;border-radius:15px}.home-entry-card-primary .home-entry-icon{background:var(--button);color:var(--button-text)}.home-entry-card:not(.home-entry-card-primary) .home-entry-icon{background:var(--surface);color:var(--selection)}.home-entry-icon svg{width:29px;height:29px}.home-entry-card strong{font-size:24px}.home-entry-card small{margin-top:6px;font-size:.9rem}.home-entry-arrow{display:grid;flex:0 0 36px;width:36px;height:36px;margin-left:auto;place-items:center;border-radius:50%;background:var(--button);color:var(--button-text);font-size:22px;line-height:1}.home-path{border-top:0}
.home-hero .eyebrow{font-size:.75rem;letter-spacing:1.8px}
@media(max-width:600px){.home-hero{padding-bottom:18px}.home-hero h1{font-size:46px;letter-spacing:-1.6px}.home-intro{font-size:1.1rem}.home-entry-choices{margin-top:12px}.home-entry-card{min-height:104px;padding:17px}.home-entry-card strong{font-size:21px}}

/* Homepage discovery mirrors the approved method section: one image anchors the story and the available formats remain visible as cards. */
.home-discover-intro{max-width:620px;margin:0;color:var(--muted)}
.home-discover-layout{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:34px;align-items:stretch}
.home-discover-art{margin:0;align-self:start;min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--soft)}
.home-discover-art img{display:block;width:100%;height:auto;min-height:0;object-fit:contain;object-position:50% 56%}
.home-format-grid-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.home-format-card{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 28px;gap:13px;align-items:center;min-height:126px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.home-format-card:hover{transform:translateY(-3px);border-color:var(--selection);box-shadow:0 10px 22px var(--shadow)}
.home-format-card:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.home-format-card img{display:block;width:72px;height:72px;object-fit:cover;border-radius:12px;background:var(--soft);border:1px solid var(--border)}
.home-format-card strong{display:block;font:700 1.3rem/1.1 'Playfair Display',Georgia,serif;color:var(--text)}
.home-format-card small{display:block;margin-top:5px;color:var(--muted);font-size:.78rem;line-height:1.35}
.home-format-card b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--button);color:var(--button-text);font-size:18px;line-height:1}
.home-format-card-last{grid-column:auto}
@media(max-width:800px){.home-discover-layout{grid-template-columns:1fr}.home-discover-art img{min-height:0;max-height:none}.home-format-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-discover-layout{gap:22px}.home-discover-art img{min-height:0;max-height:none}.home-format-grid-cards{grid-template-columns:1fr;gap:12px}.home-format-card{grid-template-columns:64px minmax(0,1fr) 28px;min-height:102px;padding:13px}.home-format-card img{width:64px;height:64px}.home-format-card strong{font-size:1.16rem}.home-format-card small{font-size:.78rem}.home-format-card-last{grid-column:auto}}

/* Match the reference composition: compact two-column cards beside the image. */
.public-layout .home-format-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.home-format-card{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto 1fr;gap:10px;min-height:158px;padding:17px;border-radius:12px}
.home-format-card img{grid-column:1;grid-row:1;width:56px;height:56px;border-radius:10px}
.home-format-card b{grid-column:2;grid-row:1;justify-self:end;align-self:start}
.home-format-card span{grid-column:1/-1;grid-row:2;align-self:start}
.home-format-card strong{font-size:1.22rem}
.home-format-card small{font-size:.82rem}
.home-format-card:nth-child(1){background:color-mix(in srgb,var(--soft) 72%,#f5c95d 28%)}
.home-format-card:nth-child(2){background:color-mix(in srgb,var(--soft) 68%,#8ed9ef 32%)}
.home-format-card:nth-child(3){background:color-mix(in srgb,var(--soft) 72%,#9bd18a 28%)}
.home-format-card:nth-child(4){background:color-mix(in srgb,var(--soft) 74%,#f0c49c 26%)}
.home-format-card:nth-child(5){background:color-mix(in srgb,var(--soft) 72%,#9ed9cc 28%)}
.home-format-card:nth-child(6){background:color-mix(in srgb,var(--soft) 72%,#d6c4e9 28%)}
.home-format-card:nth-child(7){background:color-mix(in srgb,var(--soft) 72%,#c9dcae 28%)}
.home-format-card:nth-child(8){background:color-mix(in srgb,var(--soft) 72%,#f0c49c 28%)}
@media(max-width:600px){.public-layout .home-format-grid-cards{grid-template-columns:1fr !important}.home-format-card{grid-template-columns:64px minmax(0,1fr) 28px;grid-template-rows:auto;min-height:102px;padding:13px}.home-format-card img{grid-column:1;grid-row:1;width:64px;height:64px}.home-format-card b{grid-column:3;grid-row:1}.home-format-card span{grid-column:2;grid-row:1;align-self:center}.home-format-card-last{grid-column:auto}}

/* Scale the method section to the Live reference: the image and card area share the width. */
.home-discover-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.home-discover .home-section-heading h2{font-size:clamp(40px,3.8vw,48px);line-height:1.08}
.home-format-card{min-height:170px;padding:18px}
.home-format-card strong{font-size:1.48rem}
.home-format-card small{font-size:.94rem;line-height:1.4}
@media(max-width:800px){.home-discover-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:600px){.home-discover .home-section-heading h2{font-size:34px}.home-format-card{min-height:102px;padding:13px}.home-format-card strong{font-size:1.16rem}.home-format-card small{font-size:.78rem}}
/* Give Classic menu highlights a clear warm contrast without changing layout. */
:root[data-theme="classic"] .public-menu-submenu a:is(:hover,:focus-visible,[aria-current="page"]){background:#f3d28a;color:#073f4b}
:root[data-theme="classic"] .public-menu-group>summary:is(:hover,:focus-visible),
:root[data-theme="classic"] .public-menu-group[open]>summary{color:#a83213}

/* Portugal: red Guided Journey against the green navigation bar. */
:root[data-theme="portugal"] .public-start-link{--button:#c8102e;--button-hover:#a70d26;--button-text:#fff}

/* Native Android drawer, independent of the browser navigation layout. */
.lp-android .public-menu-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;background:transparent;border:0;color:var(--header-text)}
.apk-menu-open{overflow:hidden}
.lp-android .apk-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(86vw,360px);height:100dvh;max-width:none;max-height:none;box-sizing:border-box;border:0;border-right:1px solid var(--border);border-radius:0;padding:24px;background:var(--surface);color:var(--text);overflow-y:auto;box-shadow:12px 0 40px #0003}
.lp-android .apk-drawer[open]{animation:apk-slide .2s ease-out}
.lp-android .apk-drawer::backdrop{background:#0008}
.lp-android .apk-drawer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;font-size:20px}
.lp-android .apk-drawer-heading button{width:44px;height:44px;border:1px solid var(--border);border-radius:8px;background:var(--soft);color:var(--text);font-size:26px}
.lp-android .apk-drawer .public-links{display:flex!important;flex-direction:column;align-items:stretch;gap:12px;padding:0}
.lp-android .apk-drawer .public-menu-group>summary{color:var(--text);min-height:48px;justify-content:space-between}
.lp-android .apk-drawer .public-menu-submenu{position:static;box-shadow:none;border:0;padding:0 0 8px 12px;min-width:0;background:transparent}
.lp-android .apk-drawer .public-links a{min-height:44px;line-height:1.3}
@keyframes apk-slide{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.lp-android .apk-drawer[open]{animation:none}}

@media(max-width:600px){.public-menu-button{width:48px;margin-left:auto;justify-content:center}}
.lp-android .public-menu-button{width:48px;margin-left:auto;justify-content:center}

.lp-android .apk-menu-section h2{font:700 12px/1.4 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:12px 0 4px}
.lp-android .apk-drawer .public-menu-submenu{display:grid;padding:0;gap:0}
.lp-android .apk-drawer .public-menu-submenu a{font-weight:600;min-height:40px;padding:8px 10px}
.lp-android .apk-drawer .public-links{gap:4px}
.lp-android .apk-drawer-heading{margin-bottom:12px}

/* APK: theme selector and hamburger share the row below the logo. */
.lp-android .apk-navigation-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px}
.lp-android .apk-navigation-row .theme-picker{position:relative;flex:none;margin:0}
.lp-android .apk-navigation-row .theme-switch{min-width:44px;min-height:44px}
.lp-android .apk-navigation-row .theme-menu{left:0;right:auto;z-index:50}
.lp-android .header-main{height:auto;min-height:82px;box-sizing:border-box;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px}
@media(max-width:600px){.lp-android .header-main{min-height:70px}}

/* Shared website and Android quick navigation. */
body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.quick-navigation{position:fixed;z-index:40;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(440px,calc(100% - 24px));box-sizing:border-box;padding:8px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 10px 32px var(--shadow);gap:4px}
.quick-navigation a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:50px;border-radius:14px;color:var(--muted);text-decoration:none;font:700 11px/1.3 'LP Live Inter',Inter,Arial,sans-serif}
.quick-navigation svg{width:21px;height:21px}
.quick-navigation a:hover{background:var(--soft);color:var(--text)}
.quick-navigation a[aria-current="page"]{background:var(--selected);color:var(--selection)}
.quick-navigation a:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.classroom-route .quick-navigation{display:none}
body.classroom-route{padding-bottom:0}
@media(max-width:400px){.quick-navigation a{font-size:10px}}
