/* SmartersWeb Canada | 3ON official red/chrome platform & footer system v3 */
:root { --threeon-red:#f24964; --threeon-red-deep:#cf2446; --threeon-chrome:#cbd2dc; }
.footer { background: #080a0e; padding-top: clamp(44px, 5vw, 72px); }
.footer-ecosystem { max-width:1240px; margin:0 auto clamp(40px,5vw,66px); padding:clamp(20px,3.5vw,36px); display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,1.1fr); gap:clamp(20px,4vw,48px); align-items:center; border:1px solid rgba(214,34,64,.24); border-radius:24px; background:radial-gradient(circle at 5% 50%,rgba(214,34,64,.12),transparent 50%),linear-gradient(135deg, #141820, #0b0c11); }
.footer-eyebrow { color:#ff788b; font-weight:800; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; }
.footer-ecosystem h2 { margin:9px 0 12px; font-size:clamp(1.45rem,2.6vw,2.5rem); font-weight:900; letter-spacing:-.045em; line-height:1.14; text-transform:none; color:#fff; }
.footer-ecosystem p { color:#c0c7d1; font-size:.92rem; line-height:1.7; max-width:50ch; }
.footer-tool-pills { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.footer-tool-pill { min-width:0; display:flex; gap:10px; align-items:center; padding:15px 14px; border:1px solid rgba(255,255,255,.13); border-radius:13px; background:rgba(255,255,255,.035); text-decoration:none; color:#fff; font-weight:800; letter-spacing:.01em; font-size:.87rem; transition:background .2s,border-color .2s,transform .2s; }
.footer-tool-pill > i:first-child { width:19px; text-align:center; flex-shrink:0; color:#ff788b; }
.footer-tool-pill > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.footer-tool-arrow { font-size:.68rem; opacity:.55; }
.footer-tool-pill:hover, .footer-tool-pill:focus-visible { transform:translateY(-2px); border-color:rgba(235,58,87,.65); background:rgba(214,34,64,.16); }
.footer-grid { grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(0,1fr)); gap:clamp(20px,2.7vw,44px); }
.footer-brand { min-width:0; }
.footer-logo-branded img { max-width:min(100%,285px); height:auto; object-fit:contain; }
.footer-col h4 { color:#f6f7fa; letter-spacing:.13em; font-size:.76rem; }
.footer-col a { color:#bec4ce; letter-spacing:0; line-height:1.55; }
.footer-col a:hover, .footer-col a:focus-visible, .footer-bottom a:hover { color:#ff8a99; }
.footer-bottom a { color:#fff; }
.footer-social a { border-color:rgba(255,255,255,.20); color:#e4e8ec; }
.footer-social a:hover, .footer-social a:focus-visible { color:#fff; background:#c91c39; border-color:#c91c39; }
/* Platform hub + product pages: stand-alone, fast-loading and no unverified app links. */
.platforms-hero { position:relative; padding:clamp(155px,17vw,212px) 24px clamp(68px,8vw,100px); background:radial-gradient(ellipse at 78% 28%,rgba(214,34,64,.20),transparent 42%),linear-gradient(160deg,#11151c,#09090c 65%); overflow:hidden; }
.platforms-wrap { max-width:1200px; margin-inline:auto; }
.platforms-kicker { display:flex; align-items:center; gap:9px; color:#ff97a8; font-size:.78rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.platforms-kicker:before { content:''; width:26px; height:2px; background:currentColor; }
.platforms-hero h1 { margin:20px 0 24px; font-weight:900; letter-spacing:-.06em; font-size:clamp(2.75rem,7vw,5.9rem); line-height:1.02; max-width:980px; text-wrap:balance; }
.platforms-hero .platforms-lede { color:#cbd1da; font-size:clamp(1rem,1.8vw,1.23rem); line-height:1.8; max-width:760px; }
.platforms-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:27px; }
.platforms-action { border-radius:12px; padding:14px 22px; display:inline-flex; gap:10px; align-items:center; text-decoration:none; font-size:.87rem; font-weight:800; min-height:48px; }
.platforms-action-primary { color:#fff; background:#c91c39; border:1px solid #c91c39; }
.platforms-action-primary:hover, .platforms-action-primary:focus-visible { background:#a8132c; }
.platforms-action-secondary { color:#fff; border:1px solid rgba(255,255,255,.27); background:rgba(255,255,255,.035); }
.platforms-action-secondary:hover, .platforms-action-secondary:focus-visible { border-color:#f07788; }
.platforms-section { padding:clamp(60px,8vw,104px) 24px; background:#0c0e13; }
.platforms-section-header h2 { font-size:clamp(1.7rem,4vw,3rem); letter-spacing:-.04em; line-height:1.12; margin:13px 0 14px; }
.platforms-section-header p { color:#b9c0cc; max-width:720px; line-height:1.7; }
.platforms-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:36px; }
.platform-card { background:linear-gradient(155deg,#171b24,#101217); border:1px solid rgba(255,255,255,.12); border-radius:22px; padding:clamp(23px,3.5vw,36px); display:flex; flex-direction:column; min-width:0; gap:12px; }
.platform-card:hover { border-color:rgba(214,34,64,.65); }
.platform-card-head { display:flex; align-items:center; gap:17px; }
.platform-card-icon { display:flex; justify-content:center; align-items:center; width:56px; height:56px; flex-shrink:0; border-radius:16px; border:1px solid rgba(237,76,103,.4); background:rgba(214,34,64,.11); color:#ff97a8; font-size:1.36rem; }
.platform-card h3 { font-size:1.5rem; color:#fff; letter-spacing:-.03em; }
.platform-card-category { display:inline-block; color:#cbd2de; font-size:.74rem; margin-top:3px; }
.platform-card p { color:#b7bfcb; line-height:1.75; }
.platform-card-link { margin-top:auto; padding-top:10px; font-weight:800; font-size:.89rem; text-decoration:none; color:#ffa5b2; }
.platform-card-link:hover, .platform-card-link:focus-visible { color:#fff; }
.platform-detail { max-width:950px; }
.platform-detail-panel { margin-top:34px; padding:clamp(24px,4vw,44px); border:1px solid rgba(255,255,255,.15); border-radius:22px; background:#141820; }
.platform-detail-panel h2 { font-size:clamp(1.5rem,3vw,2.2rem); letter-spacing:-.025em; margin-bottom:15px; }
.platform-detail-panel p { max-width:70ch; color:#c9cfd8; line-height:1.85; }
.platform-detail-panel p+p { margin-top:15px; }
.platform-secondary-links { margin-top:20px; display:flex; flex-wrap:wrap; gap:12px; }
@media(max-width:1100px) { .footer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .footer-brand { grid-column:1/-1; } }
@media(max-width:840px) { .footer-ecosystem { grid-template-columns:1fr; } .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .footer-brand { grid-column:1/-1; } }
@media(max-width:600px) { .footer { padding-inline:18px; } .footer-ecosystem { border-radius:18px; padding:20px; } .footer-tool-pills { grid-template-columns:repeat(2,minmax(0,1fr)); } .footer-tool-pill { padding:13px 11px; } .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; } .footer-brand { grid-column:1/-1; } .footer-grid, .footer-bottom { padding-inline:0; } .footer-bottom { align-items:flex-start; } .platforms-card-grid { grid-template-columns:1fr; } }
@media(max-width:385px) { .footer-tool-pills { grid-template-columns:1fr; } .footer-tools-col { grid-column:1/-1; } }
@media(prefers-reduced-motion:reduce) { .footer-tool-pill { transition:none; } }
