/*
Theme Name: LingoLearno 1.4.4
Theme URI: https://www.lingolearno.com
Author: Riomono, LLC
Description: A production-ready classic WordPress theme for the LingoLearno mobile app, built from the approved website handoff package.
Version: 1.4.4
License: GNU General Public License v2 or later
Text Domain: lingolearno
*/
:root { --navy:#131a69; --navy-deep:#090e45; --ink:#161b35; --muted:#5d6282; --paper:#fff; --cream:#f7f6fb; --ruby:#e91939; --gold:#ffc51b; --cyan:#10a9d7; --mint:#19ad65; --line:#dfe1ed; --shadow:0 16px 45px rgba(9,14,69,.14); --radius:22px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid var(--gold); outline-offset:4px; border-radius:4px; }
img,video { max-width:100%; height:auto; display:block; }
.site-header { position:relative; z-index:10; background:var(--navy-deep); color:#fff; }
.top-strip { background:var(--gold); color:var(--navy-deep); text-align:center; padding:5px 12px; font-size:.72rem; line-height:1.2; font-weight:800; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.nav-wrap { max-width:1200px; min-height:88px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.brand { display:inline-flex; align-items:center; color:#fff; text-decoration:none; }
.brand img { width:205px; height:auto; object-fit:contain; }
.primary-nav ul { list-style:none; padding:0; margin:0; display:flex; align-items:center; gap:3px; }
.primary-nav a { display:block; padding:9px 13px; color:#fff; font-weight:700; font-size:.94rem; text-decoration:none; border-radius:8px; }
.primary-nav a:hover, .primary-nav .current-menu-item a, .primary-nav a[aria-current="page"] { color:var(--gold); }
.menu-toggle { display:none; border:1px solid rgba(255,255,255,.32); background:transparent; color:#fff; padding:8px 10px; border-radius:8px; font:inherit; font-weight:700; }
.container { width:min(1200px, calc(100% - 48px)); margin-inline:auto; }
.hero { color:#fff; background:radial-gradient(circle at 72% 22%, rgba(23,169,215,.26), transparent 25%), radial-gradient(circle at 87% 70%, rgba(233,25,57,.18), transparent 23%), linear-gradient(135deg, var(--navy-deep), var(--navy)); overflow:hidden; }
.hero-grid { min-height:650px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:34px; }
.eyebrow { margin:0 0 17px; color:var(--gold); font-size:.8rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
h1 { max-width:690px; margin:0; font-size:clamp(2.9rem, 5vw, 5.4rem); letter-spacing:-.02em; line-height:1.12; }
.hero h1 { letter-spacing:.008em; word-spacing:.02em; }
.hero h1 strong { display:inline; margin-top:0; color:var(--gold); font-style:normal; }
.hero-copy { max-width:550px; margin:34px 0 30px; font-size:1.12rem; color:rgba(255,255,255,.86); }
.actions { display:flex; flex-wrap:wrap; gap:13px; align-items:center; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:11px 21px; border-radius:8px; border:2px solid transparent; font-weight:850; text-decoration:none; transition:transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 10px 25px rgba(0,0,0,.18); }
.button--gold { color:var(--navy-deep); background:var(--gold); }
.button--line { color:#fff; border-color:rgba(255,255,255,.55); }
.button--ruby { color:#fff; background:var(--ruby); }
.hero-note { display:block; margin-top:15px; color:rgba(255,255,255,.68); font-size:.82rem; }
.hero-visual { height:100%; position:relative; display:flex; align-items:flex-end; justify-content:center; }
.hero-visual:before { content:""; position:absolute; width:430px; height:430px; bottom:-70px; border:1px solid rgba(255,255,255,.14); border-radius:50%; }
.phone-frame { width:min(305px, 78%); padding:10px; position:relative; z-index:1; background:#171717; border:5px solid #30313a; border-radius:36px 36px 0 0; box-shadow:0 26px 45px rgba(0,0,0,.4); overflow:hidden; }
.phone-frame img { width:100%; border-radius:22px 22px 0 0; }
.verified { display:inline-flex; align-items:center; gap:7px; margin-top:27px; font-size:.82rem; color:rgba(255,255,255,.72); }
.verified i { width:9px; height:9px; background:var(--mint); border-radius:50%; }
.section { padding:92px 0; }
.section--white { background:#fff; }
.section--navy { color:#fff; background:var(--navy-deep); }
.section--cream { background:var(--cream); }
.section-heading { max-width:740px; margin-bottom:40px; }
.section-heading h2, .page-hero h1 { margin:0; font-size:clamp(2rem, 4vw, 3.4rem); line-height:1.05; letter-spacing:-.05em; }
.section-heading p { max-width:620px; color:var(--muted); font-size:1.06rem; }
.section--navy .section-heading p { color:rgba(255,255,255,.78); }
.kicker { margin:0 0 11px; color:var(--ruby); font-size:.78rem; text-transform:uppercase; font-weight:900; letter-spacing:.12em; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feature-card { padding:28px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 6px 16px rgba(30,31,80,.04); }
.feature-card .number { display:flex; align-items:center; justify-content:center; height:42px; width:42px; margin-bottom:21px; color:var(--navy-deep); background:var(--gold); border-radius:50%; font-weight:900; }
.feature-card h3 { margin:0 0 9px; font-size:1.28rem; line-height:1.2; }
.feature-card p { margin:0; color:var(--muted); }
.showcase { display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:clamp(40px,7vw,100px); }
.showcase + .showcase { margin-top:100px; }
.showcase--reverse .showcase-media { order:2; }
.showcase-media { position:relative; min-height:500px; display:grid; place-items:center; }
.showcase-media:before { content:""; position:absolute; width:84%; aspect-ratio:1; background:linear-gradient(135deg, rgba(255,197,27,.32), rgba(16,169,215,.18)); border-radius:36px; transform:rotate(-6deg); }
.showcase--reverse .showcase-media:before { background:linear-gradient(135deg, rgba(233,25,57,.17), rgba(255,197,27,.27)); transform:rotate(6deg); }
.shot-card { position:relative; z-index:1; width:min(300px, 80%); padding:8px; background:#0b104d; border-radius:29px; box-shadow:var(--shadow); }
.shot-card img { border-radius:22px; }
.shot-label { position:absolute; z-index:2; max-width:190px; bottom:39px; right:2%; padding:14px 16px; background:#fff; border-radius:12px; box-shadow:var(--shadow); font-size:.88rem; font-weight:800; line-height:1.25; }
.shot-label--interactive { color:var(--navy-deep); border:0; cursor:pointer; text-align:left; font:inherit; }
.correction-demo { position:absolute; z-index:2; inset:0; margin:0; padding:0; color:var(--ink); background:transparent; border:0; border-radius:0; box-shadow:none; pointer-events:none; }
.correction-demo summary { position:absolute; z-index:7; left:11.1%; top:55.4%; width:10%; height:3%; margin:0; padding:0; border:3px solid var(--gold); border-radius:4px; background:rgba(255,197,27,.16); cursor:pointer; list-style:none; transform:translateY(-50%); pointer-events:auto; }
.correction-demo summary::-webkit-details-marker { display:none; }
.correction-demo summary:hover { background:rgba(255,197,27,.38); }
.correction-demo summary:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.correction-demo summary span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.correction-demo mark { padding:0 3px; color:var(--ink); background:rgba(255,197,27,.55); border-bottom:3px solid var(--gold); }
.correction-demo p { margin:0; padding:0 17px 16px; font-size:.88rem; line-height:1.35; }
.correction-demo .correction-popover { position:absolute; z-index:8; left:18%; top:39%; width:230px; padding:15px 17px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); font-size:.88rem; line-height:1.35; pointer-events:auto; }
.correction-hint { position:absolute; z-index:3; right:calc(100% + 16px); top:40%; width:180px; margin:0; padding:13px 15px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); text-align:left; font-size:.84rem; line-height:1.35; }
.showcase--reverse .shot-label { right:auto; left:2%; }
.showcase--reverse .showcase-media { display:flex; align-items:center; justify-content:center; gap:18px; }
.showcase--reverse .correction-hint { position:relative; left:auto; right:auto; top:auto; order:-1; flex:0 0 180px; }
.showcase-content h2 { margin:0 0 17px; font-size:clamp(2rem, 3.3vw, 3.2rem); line-height:1.05; letter-spacing:-.045em; }
.showcase-content p { color:var(--muted); font-size:1.06rem; }
.check-list { list-style:none; padding:0; margin:24px 0 0; }
.check-list li { position:relative; padding:0 0 14px 31px; color:var(--ink); font-weight:650; }
.check-list li:before { content:"✓"; position:absolute; left:0; top:1px; width:20px; height:20px; display:grid; place-items:center; color:#fff; background:var(--mint); border-radius:50%; font-size:.73rem; }
.video-grid { display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:50px; }
.video-wrap { overflow:hidden; background:#060936; border:1px solid rgba(255,255,255,.16); border-radius:20px; box-shadow:var(--shadow); }
.video-wrap video { width:100%; aspect-ratio:9 / 16; max-height:510px; object-fit:contain; margin:auto; }
.video-info h2 { margin:0 0 17px; font-size:clamp(2rem,3vw,3.1rem); line-height:1.05; letter-spacing:-.05em; }
.video-info p { color:rgba(255,255,255,.8); }
.transcript { margin-top:20px; padding:0; border:1px solid rgba(255,255,255,.25); border-radius:10px; }
.transcript summary { cursor:pointer; padding:14px 16px; font-weight:800; }
.transcript div { padding:0 16px 16px; color:rgba(255,255,255,.78); font-size:.93rem; }
.cta-band { padding:66px 0; color:#fff; background:linear-gradient(112deg, var(--ruby), #f44350); }
.cta-grid { display:flex; gap:35px; align-items:center; justify-content:space-between; }
.cta-grid h2 { max-width:690px; margin:0; font-size:clamp(2rem,4vw,3.4rem); line-height:1; letter-spacing:-.055em; }
.cta-grid p { margin:13px 0 0; color:rgba(255,255,255,.9); }
.cta-band .button--gold { white-space:nowrap; }
.page-hero { padding:87px 0 65px; color:#fff; background:linear-gradient(135deg, var(--navy-deep), var(--navy)); }
.page-hero .page-intro { max-width:700px; margin:20px 0 0; color:rgba(255,255,255,.82); font-size:1.1rem; }
.page-content { max-width:920px; margin:0 auto; padding:70px 0 100px; }
.notice { margin:0 0 42px; padding:20px 23px; border-left:5px solid var(--gold); border-radius:0 10px 10px 0; background:#fff8dc; color:#50400a; }
.notice strong { color:#352b05; }
.prose h2 { margin:43px 0 16px; font-size:1.78rem; line-height:1.15; letter-spacing:-.03em; }
.prose h3 { margin:30px 0 12px; font-size:1.28rem; }
.prose p { margin:0 0 18px; color:#313651; }
.prose ul, .prose ol { margin:0 0 19px; padding-left:23px; color:#313651; }
.prose li { margin:7px 0; }
.prose table { width:100%; margin:24px 0 29px; border-collapse:collapse; overflow:hidden; border:1px solid var(--line); border-radius:10px; font-size:.93rem; }
.prose th { text-align:left; padding:13px 15px; color:#fff; background:var(--navy); }
.prose td { padding:13px 15px; vertical-align:top; color:#30354d; border-top:1px solid var(--line); }
.prose tr:nth-child(even) td { background:#fafafe; }
.prose .contact-box { padding:24px; border-radius:14px; color:#fff; background:var(--navy); }
.prose .contact-box p { color:#fff; margin:4px 0; }
.download-cards { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:40px; }
.download-card { padding:36px; min-height:270px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 8px 25px rgba(25,25,76,.06); }
.download-card svg { width:42px; height:42px; margin-bottom:21px; fill:var(--navy); }
.download-card h2 { margin:0 0 10px; font-size:1.65rem; }
.download-card p { color:var(--muted); }
.disabled-button { display:inline-flex; margin-top:14px; padding:10px 14px; color:#797d91; border:1px solid #c8cad5; border-radius:8px; background:#f3f4f7; font-weight:800; cursor:not-allowed; }
.download-fineprint { max-width:620px; margin-top:44px; color:var(--muted); }
.site-footer { color:rgba(255,255,255,.76); background:#070a31; }
.footer-main { display:grid; grid-template-columns:1.2fr .7fr .9fr; gap:35px; padding:54px 0 40px; }
.footer-main p { max-width:350px; font-size:.92rem; }
.footer-title { margin:0 0 12px; color:#fff; font-size:.9rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin-bottom:7px; }
.footer-links a { color:rgba(255,255,255,.78); text-decoration:none; }
.footer-links a:hover { color:var(--gold); }
.footer-bottom { padding:18px 0; border-top:1px solid rgba(255,255,255,.15); font-size:.79rem; }
@media (max-width: 780px) { .nav-wrap { min-height:86px; padding:0 20px; } .menu-toggle { display:block; } .primary-nav { display:none; position:absolute; top:100%; right:16px; left:16px; padding:10px; background:#0b104d; border:1px solid rgba(255,255,255,.18); box-shadow:var(--shadow); } .primary-nav.is-open { display:block; } .primary-nav ul { display:block; } .primary-nav a { padding:11px 13px; } .hero-grid { min-height:unset; grid-template-columns:1fr; gap:30px; padding-top:38px; } .hero-visual { min-height:365px; } .hero-visual:before { width:350px; height:350px; bottom:-25px; } .phone-frame { width:237px; } .feature-grid, .download-cards { grid-template-columns:1fr; } .showcase, .video-grid { grid-template-columns:1fr; gap:32px; } .showcase + .showcase { margin-top:70px; } .showcase--reverse .showcase-media { order:0; } .showcase-media { min-height:400px; } .correction-demo .correction-popover { left:8%; right:auto; top:51%; width:84%; } .correction-hint { position:static; width:min(300px, 80%); margin:14px auto 0; } .cta-grid { display:block; } .cta-grid .actions { margin-top:24px; } .footer-main { grid-template-columns:1fr; gap:25px; } .section { padding:70px 0; } .page-hero { padding:66px 0 50px; } .page-content { padding:48px 0 74px; } .prose table { display:block; overflow-x:auto; } }
@media (max-width: 440px) { .container { width:min(100% - 32px, 1200px); } h1 { font-size:2.9rem; } .hero-copy { font-size:1rem; } .button { width:100%; } .actions { display:grid; } .showcase-media { min-height:350px; } .shot-label { padding:11px; font-size:.76rem; } }
