/* SEO v1.2: extend the existing visual system; no external assets. */
.seo-page [hidden] { display:none!important; }
.seo-page .header-inner { gap:14px; }
.seo-page .main-nav { gap:14px!important; }
.seo-page .main-nav>a { white-space:nowrap; font-size:.76rem!important; }
.seo-services { display:flex; align-items:center; position:relative; }
.seo-services>a { font-size:.76rem!important; }
.seo-services-toggle { display:grid; place-items:center; min-width:32px; min-height:40px; padding:5px; background:transparent; color:var(--gold-light); border:0; cursor:pointer; }
.seo-services-menu { position:absolute; left:0; top:100%; z-index:30; width:305px; padding:10px; margin:0; background:#06152a; border:1px solid var(--line); list-style:none; box-shadow:var(--shadow); }
.seo-services-menu a { display:block; padding:11px!important; font-size:.8rem!important; }
.seo-services-menu a::after { display:none; }
.seo-services-menu a:hover,.seo-services-menu a:focus-visible { background:#102942; }
.seo-separated { border-top:1px solid var(--line); margin-top:6px; padding-top:6px; }
.seo-page a:focus-visible,.seo-page button:focus-visible,.seo-page summary:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.seo-breadcrumb { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; color:var(--muted); font-size:.78rem; }
.seo-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.seo-flow { display:flex; flex-wrap:wrap; align-items:stretch; gap:16px; padding:0; margin:28px 0; list-style:none; }
.seo-flow li { position:relative; flex:1 1 145px; min-width:0; padding:20px; border:1px solid var(--line); color:#e6edf4; background:#07182c; font-size:.78rem; font-weight:600; line-height:1.6; overflow-wrap:anywhere; }
.seo-flow li:not(:last-child)::after { content:'→'; position:absolute; right:-14px; top:calc(50% - 12px); color:var(--gold-light); }
.seo-list { padding-left:22px; color:#c5d0dc; line-height:1.85; }
.seo-list li { margin:8px 0; }
.seo-page .lp-section>.container>p { max-width:850px; color:#c5d0dc; line-height:1.8; }
.seo-cards { grid-template-columns:repeat(3,minmax(0,1fr)); background:transparent; }
.seo-cards .lp-card { min-height:0; border:1px solid var(--line); }
.seo-cards .lp-card h3 { margin-top:0; }
.seo-cards a { display:block; margin-top:22px; color:var(--gold-light); text-decoration:underline; text-underline-offset:4px; }
.seo-page .lp-section>.container>p a,.seo-list a { color:var(--gold-light); text-decoration:underline; text-underline-offset:4px; }
.seo-faq { max-width:900px; }
.seo-faq details { padding:22px 0; border-bottom:1px solid var(--line); }
.seo-faq summary { cursor:pointer; color:#eef3f7; font-weight:600; }
.seo-faq p { color:var(--muted); line-height:1.8; margin:18px 0 0; }
.seo-footer { display:grid; grid-template-columns:1fr 1fr 1.2fr 1fr; gap:30px; padding-block:60px; }
.seo-footer>div { min-width:0; }
.seo-footer h2 { font-family:var(--sans); font-size:.76rem; color:var(--gold-light); text-transform:uppercase; letter-spacing:.06em; margin:0 0 22px; }
.seo-footer a { display:block; margin:10px 0; color:#c9d3de; font-size:.78rem; overflow-wrap:anywhere; }
.seo-footer p { color:var(--muted); font-size:.78rem; line-height:1.85; }
.seo-footer a:hover { color:var(--gold-light); }
.seo-forecast { margin:0; padding:28px; border:1px solid var(--line); background:#07182c; }
.seo-forecast figcaption,.seo-forecast>p { color:var(--muted); font-size:.83rem; line-height:1.7; }
.seo-weeks { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:10px; align-items:end; margin:30px 0; }
.seo-week { display:flex; flex-direction:column; justify-content:flex-end; height:245px; gap:12px; text-align:center; font-size:.76rem; }
.seo-bar { display:flex; align-items:flex-start; justify-content:center; padding-top:8px; background:linear-gradient(var(--gold-light),#bd8130); color:#15110a; }
.seo-bar-48 { height:192px; }.seo-bar-42 { height:168px; }.seo-bar-35 { height:140px; }.seo-bar-28 { height:112px; }.seo-bar-24 { height:96px; }.seo-bar-18 { height:72px; }.seo-bar-15 { height:60px; }.seo-bar-22 { height:88px; }.seo-bar-30 { height:120px; }.seo-bar-36 { height:144px; }.seo-bar-40 { height:160px; }.seo-bar-46 { height:184px; }
.seo-empty { grid-column:1/-1; text-align:left; }
.seo-empty h2 { font-size:clamp(2rem,4vw,3rem); }
.seo-page .contact-aside h2 { font-size:1.7rem; }
@media(min-width:1251px) { .seo-page .brand-name { font-size:.78rem; }.seo-page .header-cta { font-size:.67rem; padding:10px; } }
@media(max-width:1250px) {
 .seo-page .nav-toggle { display:block; margin-left:auto; }
 .seo-page .header-cta { display:none; }
 .seo-page .main-nav { display:none; position:absolute; top:100%; left:0; right:0; max-height:none; margin:0; padding:10px 0; overflow:visible; background:#06152a; }
 .seo-page .main-nav.open { display:block; max-height:calc(100dvh - 69px); overflow-y:auto; border-bottom:1px solid var(--line); }
 .seo-page .main-nav>a { display:block; padding:13px 20px; }
 .seo-page .main-nav a::after { display:none; }
 .seo-services { display:grid; grid-template-columns:1fr 52px; }
 .seo-services>a { padding:13px 20px!important; }
 .seo-services-menu { grid-column:1/-1; position:static; width:auto; padding:0 16px; margin:0 20px; box-shadow:none; border:0; border-left:1px solid var(--gold); }
 .seo-services-toggle { min-height:44px; }
}
@media(max-width:900px) { .seo-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.seo-footer { grid-template-columns:repeat(2,minmax(0,1fr)); }.seo-weeks { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media(max-width:600px) {
 .seo-flow { flex-direction:column; gap:20px; }
 .seo-flow li { flex:auto; padding:16px 20px; }
 .seo-flow li:not(:last-child)::after { content:'↓'; top:auto; bottom:-21px; left:50%; right:auto; }
 .seo-cards,.seo-footer { grid-template-columns:1fr; }
 .seo-page .lp-hero h1 { font-size:clamp(2.35rem,10vw,3.5rem); overflow-wrap:break-word; }
 .seo-breadcrumb { line-height:1.7; }
 .seo-forecast { padding:16px; }
 .seo-weeks { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .seo-page .lp-actions .button { letter-spacing:.025em; font-size:.8rem; }
 .seo-page .reference-cta p { overflow-wrap:anywhere; }
}
