/* Raffi keeps its own app palette, wordmark and native-alpha mascot. */
.localized-site { height:auto; min-height:100svh; overflow-x:clip; overflow-y:auto; }
.localized-site[data-page="home"] { background:#fffdf9; }
.localized-header { position:relative; z-index:50; display:flex; align-items:center; justify-content:space-between; min-height:88px; padding:12px 32px; gap:20px; }
.localized-site[data-page="home"] .localized-header { position:absolute; inset:0 0 auto; background:transparent; }
.localized-brand { display:block; flex:none; width:124px; height:62px; }
.localized-brand img { width:100%; height:100%; object-fit:contain; }
.header-actions { display:flex; align-items:center; gap:28px; }
.header-actions > a { color:#425246; font-size:14px; font-weight:750; text-decoration:none; }
.header-actions > a:hover { color:#147c37; }
.language-menu { position:relative; }
.language-menu summary { display:flex; align-items:center; gap:8px; padding:10px 0 10px 8px; cursor:pointer; list-style:none; color:#425246; font-size:14px; font-weight:650; }
.language-menu summary::-webkit-details-marker { display:none; }
.language-menu summary svg { width:19px; height:19px; flex:none; }
.language-menu summary::after { content:""; width:5px; height:5px; margin-left:2px; border-bottom:1.5px solid; border-right:1.5px solid; transform:rotate(45deg) translateY(-2px); }
.language-menu nav { position:absolute; right:0; top:calc(100% + 8px); display:grid; grid-template-columns:repeat(2,minmax(120px,1fr)); width:min(350px,calc(100vw - 32px)); max-height:65vh; overflow:auto; gap:3px; padding:10px; border:1px solid #e5e9e1; border-radius:17px; background:#fff; box-shadow:0 14px 35px #203d2220; }
.language-menu nav a { padding:11px; border-radius:9px; color:#435446; font-size:14px; text-decoration:none; }
.language-menu nav a:hover,.language-menu nav a[aria-current] { background:#eef7e9; }
.language-suggestion { padding:10px 20px; text-align:center; background:#eaf7ed; }
.language-suggestion[hidden] { display:none; }
.language-suggestion a { color:#147c37; font-size:14px; font-weight:700; text-underline-offset:3px; }
.localized-site[data-page="home"] .language-suggestion { display:none; }
.localized-site .hero { position:relative; width:100%; height:auto; min-height:660px; max-width:none; padding:25px max(30px,calc((100% - 1160px)/2)); grid-template-columns:minmax(0,1fr) minmax(0,1.06fr); gap:38px; overflow:hidden; background:radial-gradient(ellipse at 18% 58%,#e3f5d5 0,transparent 44%),radial-gradient(ellipse at 90% 30%,#fff2c9 0,transparent 48%),#fffdf9; }
.localized-site[data-page="home"] .hero { min-height:748px; padding-top:113px; }
.localized-site .hero::after { content:""; position:absolute; z-index:0; inset:0; opacity:.07; pointer-events:none; background:url('/assets/onboarding-pattern.jpeg') center/370px 800px; mask-image:linear-gradient(#000,transparent); }
.localized-site .mascot-stage { position:relative; height:610px; width:100%; align-self:end; z-index:1; }
.localized-site .mascot-lockup { width:min(420px,96%); max-height:none; bottom:-50px; }
.localized-site .soft-orbit { border-color:#3b924524; }
.localized-site .hero-copy { padding:24px 0 38px; max-width:580px; }
.localized-site .eyebrow { font-size:11px; line-height:1.5; letter-spacing:.12em; }
.localized-site .hero h1 { font-size:clamp(44px,4.8vw,66px); line-height:1.04; overflow-wrap:anywhere; }
.localized-site .hero h1 span { display:block; margin-top:8px; }
.hero-description { margin:26px auto; max-width:530px; color:#526054; font-size:18px; font-weight:500; line-height:1.65; }
.localized-download { display:inline-flex; align-items:center; justify-content:center; gap:14px; max-width:100%; padding:16px 23px; border:1px solid #152019; border-radius:14px; background:#152019; color:#fff !important; font-size:15px; font-weight:750; line-height:1.4; text-decoration:none; box-shadow:0 8px 18px -12px #15201977; }
.localized-download:hover { background:#29432d; }
.device-note { margin:12px 0 0; color:#687369; font-size:12px; }
.localized-site .press-card { min-height:94px; margin:25px auto 0; padding:9px 12px 0; max-width:440px; }
.localized-site .press-quote { min-height:38px; margin:0; color:#5e715d; font-size:14px; font-weight:600; line-height:1.55; }
.localized-site .press-dots { margin-top:13px; }
.localized-site .press-dot { width:6px; height:6px; }
.localized-site .press-dot.active { width:18px; background:#398c45; }
.localized-content { background:#fff; }
.localized-section { width:min(1060px,calc(100% - 48px)); margin:0 auto; padding:65px 0; scroll-margin-top:24px; }
.localized-section + .localized-section { border-top:1px solid #e5e9e1; }
.localized-section h2 { margin:0 0 22px; color:#1d2f20; font-size:clamp(30px,3.7vw,43px); font-weight:800; letter-spacing:-.035em; line-height:1.15; }
.localized-section h3 { margin:0 0 12px; font-size:22px; line-height:1.3; }
.localized-section p { color:#536356; font-size:17px; line-height:1.7; }
.localized-section a { color:#216d37; text-underline-offset:4px; font-weight:750; }
.raffi-faq { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); gap:75px; align-items:start; }
.raffi-faq > div:first-child > p { max-width:310px; margin:0 0 22px; }
.raffi-faq details { padding:24px 0; border-bottom:1px solid #e1e8df; }
.raffi-faq details:first-child { padding-top:0; }
.raffi-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font-size:18px; font-weight:750; line-height:1.4; }
.raffi-faq summary::-webkit-details-marker { display:none; }
.raffi-faq summary svg { flex:none; width:27px; height:27px; padding:5px; fill:none; stroke:#56825e; stroke-width:1.7; border:1px solid #cddfca; border-radius:50%; }
.raffi-faq details[open] summary svg { transform:rotate(180deg); }
.raffi-faq details p { margin:16px 0 0; padding-right:30px; font-size:16px; }
.localized-cta { margin-block:10px 50px; padding:52px 26px; border:1px solid #e6ecd8; border-radius:27px; text-align:center; background:radial-gradient(ellipse at 85% 100%,#eef2d8,transparent 65%),#f4f9ee; }
.localized-cta h2 { max-width:760px; margin-inline:auto; }
.localized-cta > p { margin-bottom:25px; }
.localized-footer { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; padding:30px 20px; background:#fffdf9; border-top:1px solid #e5e9e1; }
.localized-footer a { color:#58665a; font-size:13px; font-weight:650; }
.localized-footer p { flex-basis:100%; margin:0; color:#69766b; font-size:12px; text-align:center; }
.support-main { min-height:65vh; background:#fff; }
.support-heading { padding-bottom:25px; }
.localized-eyebrow { margin-bottom:15px; color:#23783b !important; font-size:12px !important; font-weight:800; letter-spacing:.1em; }
.support-heading h1 { margin:0; font-size:clamp(36px,5vw,58px); line-height:1.1; }
.contact-email { display:inline-block; font-size:clamp(17px,2vw,23px); overflow-wrap:anywhere; }
.localized-section .english-note { margin-top:24px; font-size:14px; }
.localized-site a:focus-visible,.localized-site summary:focus-visible,.localized-site button:focus-visible { outline:3px solid #398c45; outline-offset:5px; }
.blog-page { background:#fff; }
@media(max-width:860px) {
 .localized-site[data-page="home"] .hero { min-height:0; padding-top:101px; }
 .localized-site .hero { display:flex; flex-direction:column; gap:0; padding:25px 20px 0; min-height:0; }
 .localized-site .hero-copy { order:-1; height:auto; padding:15px 0 5px; }
 .localized-site .hero h1 { font-size:clamp(42px,8vw,61px); }
 .localized-site .mascot-stage { position:relative; inset:auto; height:355px; width:100%; margin:10px auto 0; }
 .localized-site .mascot-lockup { width:min(330px,80vw); bottom:-95px; }
 .localized-site .hero-description { max-width:540px; font-size:17px; }
 .raffi-faq { grid-template-columns:1fr; gap:30px; }
 .raffi-faq > div:first-child > p { max-width:500px; margin-bottom:15px; }
 .localized-header { min-height:76px; padding:10px 22px; }
 .localized-brand { width:107px; height:54px; }
 .header-actions { gap:18px; }
 .header-actions > a { font-size:13px; }
}
@media(max-width:520px) {
 .localized-site[data-page="home"] .hero { padding-top:97px; }
 .localized-header { min-height:72px; padding:9px 17px; gap:10px; }
 .header-actions { gap:16px; }
 .header-faq { display:none; }
 .language-name { display:none; }
 .language-menu summary { padding-left:0; }
 .localized-site .hero { padding-inline:18px; }
 .localized-site .hero-copy { padding-top:10px; }
 .localized-site .eyebrow { font-size:9px; letter-spacing:.1em; }
 .localized-site .hero h1 { font-size:clamp(39px,10.4vw,52px); }
 .hero-description { margin-block:23px; font-size:16px !important; }
 .localized-site .press-card { display:none; }
 .localized-site .mascot-stage { height:305px; }
 .localized-site .mascot-lockup { width:280px; bottom:-80px; }
 .localized-section { width:calc(100% - 36px); padding-block:42px; }
 .localized-section h2 { font-size:31px; }
 .raffi-faq summary { font-size:17px; }
 .raffi-faq details p { padding-right:0; }
 .localized-cta { padding:36px 22px; margin-bottom:36px; }
}
@media(prefers-reduced-motion:reduce) { .localized-site .mascot-animation { display:none !important; } .localized-site .mascot-fallback { display:block !important; } }
