/* Shared editorial layouts for Afrocurve's information and support pages. */
.info-site { background:#fbfcf9; }
.info-page { max-width:1152px; margin:auto; padding:0 32px 80px; }
.info-breadcrumb { display:flex; gap:12px; padding:28px 0 22px; font-size:13px; color:#567174; }
.info-breadcrumb a:hover { text-decoration:underline; }
.info-nav { display:flex; gap:26px; border-bottom:1px solid #d9e3de; overflow-x:auto; }
.info-nav a { flex-shrink:0; padding:14px 0 17px; font-size:14px; color:#536c6c; border-bottom:3px solid transparent; }
.info-nav a[aria-current] { color:#002f34; border-color:#00766e; font-weight:700; }
.info-hero { padding:66px 0 56px; }
.info-eyebrow { font-size:11px; font-weight:800; letter-spacing:2px; color:#39716a; margin:0 0 20px; }
.info-hero h1 { font-size:clamp(40px,5.5vw,72px); line-height:1.04; letter-spacing:-3px; font-weight:600; margin:0 0 24px; }
.info-hero h1 em { color:#287b69; font-style:normal; }
.info-lead { font-size:18px; line-height:1.65; max-width:560px; color:#526b68; margin:0 0 28px; }
.info-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:15px 22px; border-radius:8px; background:#003d3b; color:#fff; font-weight:600; font-size:14px; min-height:50px; }
.info-button:hover { background:#11665c; }
.info-text-link { display:inline-block; font-size:14px; font-weight:700; border-bottom:1px solid #96b1a6; padding-bottom:5px; }
.info-small { color:#5c726e; font-size:13px; margin-top:20px; }
.info-small a { text-decoration:underline; text-underline-offset:3px; }
.info-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0 0 56px; }
.info-card { background:white; border:1px solid #dce5df; border-radius:12px; padding:26px; transition:border-color .15s, transform .15s; }
.info-card:hover { border-color:#438876; transform:translateY(-3px); }
.info-card-number { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#edf4e8; color:#387061; font-size:12px; font-weight:700; margin-bottom:25px; }
.info-card h3 { font-size:19px; letter-spacing:-.4px; margin:0 0 12px; display:flex; justify-content:space-between; gap:12px; }
.info-card h3 span { font-size:20px; font-weight:400; }
.info-card p,.info-note p,.info-story p,.info-platforms p,.info-support p { font-size:15px; color:#526b68; line-height:1.7; }
.info-card p { margin:0; }
.info-support { display:flex; gap:30px; justify-content:space-between; align-items:center; background:#eaf1e4; border-radius:14px; padding:36px; margin-top:48px; }
.info-support .info-eyebrow { margin:0 0 12px; font-size:11px; }
.info-support h2 { font-size:28px; letter-spacing:-.8px; margin:0; }
.info-support p { margin-bottom:0; }
.info-support .info-button { flex-shrink:0; }
.info-story { display:grid; grid-template-columns:1fr 1fr; gap:66px; align-items:center; margin:0 0 56px; }
.info-story h2,.info-note h2,.info-faq h2 { font-size:36px; line-height:1.15; letter-spacing:-1.2px; margin:0 0 22px; font-weight:600; }
.info-story-art { min-height:370px; padding:36px; border-radius:14px; background:#e4ecd9; position:relative; overflow:hidden; }
.info-story-art:after { content:''; position:absolute; width:240px; height:240px; border:48px solid #bacfac; border-radius:50%; right:-100px; bottom:-75px; }
.info-story-art>span { position:relative; z-index:1; font-size:54px; font-weight:600; line-height:1.08; letter-spacing:-2px; }
.info-story-art em { font-family:Georgia,serif; font-weight:400; }
.info-art-label { font-size:9px; letter-spacing:2px; margin-top:50px; position:relative; z-index:1; }
.info-note { border-top:1px solid #dce5df; padding:36px 0 0; }
.info-note>p { max-width:750px; }
.info-policy-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:65px; align-items:start; }
.info-toc { position:sticky; top:92px; padding:24px 0; border-top:1px solid #cbd9cf; }
.info-toc>a { display:flex; gap:16px; font-size:14px; padding:11px 0; }
.info-toc>a:hover { text-decoration:underline; }
.info-toc>a span { color:#678878; font-size:12px; }
.info-toc-note { border-top:1px solid #dce5df; margin-top:24px; padding-top:24px; font-size:13px; color:#58716b; line-height:1.8; }
.info-toc-note a { font-weight:600; text-decoration:underline; }
.info-policy { border-top:1px solid #cbd9cf; }
.info-policy-section { display:grid; grid-template-columns:30px minmax(0,1fr); gap:14px; padding:30px 0; border-bottom:1px solid #dce5df; scroll-margin-top:90px; }
.info-section-number { font-size:12px; color:#638776; padding-top:7px; }
.info-policy-section h2 { font-size:24px; font-weight:600; margin:0 0 14px; letter-spacing:-.5px; }
.info-policy-section p,.info-policy-section li { color:#52645f; line-height:1.85; font-size:16px; }
.info-policy-section p { margin:0 0 12px; }
.info-policy-section p:last-child { margin-bottom:0; }
.info-policy-section a:not(.btn-teal):not(.btn-outline) { text-decoration:underline; text-underline-offset:3px; color:#176455; }
.info-platforms { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:54px; }
.info-platforms>section { position:relative; background:#fff; padding:32px; border:1px solid #dce5df; border-radius:14px; }
.info-platforms h2 { font-size:28px; margin:24px 0 8px; }
.info-platforms p { max-width:360px; margin-bottom:24px; }
.info-badge { position:absolute; right:28px; top:34px; font-size:9px; font-weight:700; letter-spacing:1px; background:#e2f3de; padding:7px 10px; border-radius:30px; }
.info-badge-muted { background:#f1eee4; color:#756c4a; }
.info-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:38px; padding-left:22px; margin-top:32px; }
.info-steps li { padding-left:8px; }
.info-steps li::marker { color:#3f7f68; font-weight:700; }
.info-help-search { max-width:600px; }
.info-help-search label { display:block; font-size:13px; font-weight:600; margin-bottom:10px; }
.info-help-search input { width:100%; padding:18px 20px; border:1px solid #b8cbc0; border-radius:8px; background:white; font-size:16px; }
.info-faq { max-width:800px; margin:0 auto; }
.info-faq details { border-bottom:1px solid #dce5df; scroll-margin-top:100px; }
.info-faq summary { cursor:pointer; font-size:18px; font-weight:600; padding:24px 32px 24px 0; position:relative; list-style:none; }
.info-faq summary::-webkit-details-marker { display:none; }
.info-faq summary:after { content:'+'; position:absolute; right:2px; font-size:24px; font-weight:400; top:18px; }
.info-faq details[open] summary:after { content:'−'; }
.info-faq details p { margin:0 30px 24px 0; line-height:1.8; color:#526b68; }
.info-faq a { text-decoration:underline; }
.info-phone-hero { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:40px; }
.info-phone-scene { position:relative; min-height:540px; display:grid; place-items:center; isolation:isolate; }
.info-orbit { position:absolute; width:430px; height:430px; max-width:100%; background:#e0ead5; border-radius:50%; z-index:-1; }
.info-phone { width:252px; background:#fff; border:7px solid #003d3b; border-radius:36px; padding:10px 14px 14px; transform:rotate(7deg); box-shadow:14px 22px 0 #003d3b12; }
.info-phone-notch { width:72px; height:14px; border-radius:20px; background:#003d3b; margin:0 auto 20px; }
.info-phone-brand { font-size:18px; font-weight:800; display:flex; justify-content:space-between; }
.info-phone h2 { font-size:26px; line-height:1.1; letter-spacing:-1px; margin:22px 0 16px; }
.info-phone-search { background:#f0f4ed; font-size:10px; padding:11px 8px; border-radius:6px; margin-bottom:18px; }
.info-phone-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 9px; }
.info-phone-grid img { width:100%; height:80px; object-fit:cover; border-radius:5px; }
.info-phone-grid b { display:block; font-size:9px; margin-top:7px; }
.info-phone-grid span { font-size:8px; color:#65726b; }
.info-phone-bottom { display:flex; justify-content:space-around; border-top:1px solid #e2e8e1; margin-top:20px; padding-top:10px; }
.info-float { position:absolute; bottom:44px; left:0; border:1px solid #d9e3d5; background:#fffef6; padding:14px 20px; border-radius:8px; font-size:13px; font-weight:600; transform:rotate(-5deg); box-shadow:0 8px 25px #003d3b0a; }
.info-page :focus-visible { outline:3px solid #008578; outline-offset:5px; }
.info-skip { position:fixed; left:16px; top:-100px; z-index:100; background:#003d3b; color:white; padding:14px; }
.info-skip:focus { top:12px; }
.info-site .site-foot { border-top:1px solid #dce5df; }
@media(max-width:760px) {
 .info-page { padding:0 20px 48px; }
 .info-nav { gap:24px; }
 .info-hero { padding:42px 0 36px; }
 .info-hero h1 { letter-spacing:-1.8px; }
 .info-lead { font-size:16px; }
 .info-cards { grid-template-columns:1fr; gap:12px; margin-bottom:36px; }
 .info-card { padding:22px; }
 .info-card-number { margin-bottom:14px; }
 .info-support { padding:26px; flex-direction:column; align-items:flex-start; gap:22px; }
 .info-support h2 { font-size:25px; }
 .info-story { grid-template-columns:1fr; gap:30px; }
 .info-story-art { min-height:320px; }
 .info-story-art>span { font-size:48px; }
 .info-policy-layout { grid-template-columns:1fr; gap:24px; }
 .info-toc { position:static; display:flex; flex-wrap:wrap; gap:4px 18px; padding:20px 0; }
 .info-toc .info-eyebrow { width:100%; margin-bottom:8px; }
 .info-toc>a { padding:6px 0; gap:6px; }
 .info-toc-note { display:none; }
 .info-policy-section { padding:26px 0; gap:8px; }
 .info-platforms { grid-template-columns:1fr; }
 .info-steps { grid-template-columns:1fr; gap:16px; }
 .info-steps p { margin:8px 0; }
 .info-phone-hero { grid-template-columns:1fr; gap:4px; }
 .info-phone-scene { min-height:510px; }
 .info-orbit { width:330px; height:330px; }
 .info-float { left:5px; bottom:26px; }
 .info-faq h2 { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) { .info-card { transition:none; } .info-card:hover { transform:none; } }
