/* Shared V2 interactions and inner pages. Approved home-v2.css stays intact. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
.nav a[aria-current="page"]{color:#fff}
.nav a[aria-current="page"]::after{right:0}
.v2-inner .page-hero{padding:88px 0 48px}
.v2-inner .container{width:min(calc(100% - 48px),var(--max))}
.v2-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px}
.v2-page-art{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:30px;border:1px solid var(--line)}
.v2-inner h1{font-size:clamp(48px,6vw,88px);letter-spacing:-.055em;line-height:1.02;margin:18px 0 28px;overflow-wrap:break-word}
.v2-inner h2{font-size:clamp(30px,3.5vw,48px);letter-spacing:-.035em;line-height:1.12}
.v2-inner h3{font-size:24px;line-height:1.22;letter-spacing:-.025em;margin:12px 0 18px}
.v2-inner p,.v2-inner li{color:var(--muted);line-height:1.65}
.v2-inner .lead{font-size:clamp(18px,1.7vw,23px)}
.v2-inner .section{padding:56px 0}
.v2-inner .section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.v2-inner .section-heading h2{margin:0}
.v2-inner .eyebrow,.v2-consultant .eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.v2-inner .feature-grid,.v2-inner .service-grid,.v2-inner .price-list,.v2-inner .article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.v2-inner .feature-card,.v2-inner .service-card,.v2-inner .article-card,.v2-inner .contact-card,.v2-consultant .contact-card{padding:32px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#091722,#050a10);min-width:0}
.v2-inner .service-card{display:flex;flex-direction:column;scroll-margin-top:100px}
.v2-inner .service-card .card-actions{margin-top:auto;padding-top:20px}
.service-facts{margin:12px 0 24px}.service-facts>div{padding:14px 0;border-bottom:1px solid var(--line)}
.service-facts dt{font-size:12px;color:var(--muted);margin-bottom:5px}.service-facts dd{margin:0;line-height:1.5}
.v2-inner .card-actions,.v2-inner .about-teaser{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.v2-inner .button,.v2-consultant .button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:14px 24px;border:1px solid rgba(100,232,255,.3);border-radius:16px;background:linear-gradient(120deg,#0f83d8,#20b8ec);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.v2-inner .button-secondary,.v2-consultant .button-secondary{background:rgba(100,232,255,.07)}
.v2-inner .button:hover,.v2-consultant .button:hover{filter:brightness(1.15)}
.v2-inner .price-controls{display:grid;gap:20px}.search-field{display:grid;gap:8px}.search-field small{color:var(--muted)}
.filter-row{display:flex;flex-wrap:wrap;gap:10px}.filter-button{padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#09141e;color:var(--muted);font:inherit;cursor:pointer}
.filter-button.active{color:var(--cyan);border-color:var(--cyan);background:rgba(100,232,255,.07)}
.v2-inner input,.v2-inner select,.v2-inner textarea,.v2-consultant input,.v2-consultant select,.v2-consultant textarea{width:100%;max-width:100%;padding:16px;border:1px solid var(--line);border-radius:14px;background:#040b11;color:#f4f8ff;font:inherit;line-height:1.5}
.v2-inner textarea,.v2-consultant textarea{resize:vertical}
.contact-form{display:grid;gap:20px;margin-top:28px}.contact-form label{display:grid;gap:9px;line-height:1.5}.contact-form .consent-row{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--muted)}
.contact-form .consent-row input{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:#20b8ec}
.contact-form .consent-row a{text-decoration:underline}.contact-form small{font-size:13px;color:var(--muted)}
.form-status{line-height:1.55;color:var(--cyan);overflow-wrap:anywhere}.form-status:empty{margin:0}
.direct-contacts{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;overflow-wrap:anywhere}.direct-contacts a{text-decoration:underline}
.v2-inner .narrow,.v2-inner .narrow-wide,.v2-inner .article-body{max-width:900px}.v2-inner .visual{margin:0}.v2-inner .visual img{width:100%;border-radius:28px}
.v2-inner .hero-grid{width:min(calc(100% - 48px),var(--max));padding:0;gap:48px}
.v2-inner .section-index{display:none}.v2-inner .split-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.v2-inner .article-body a,.v2-inner .legal-content a{color:var(--cyan);text-decoration:underline}
.v2-consultant{position:relative;z-index:3;margin-top:34px}
.v2-consultant h2{font-size:clamp(28px,4vw,42px);margin:12px 0}.v2-consultant p{line-height:1.6;color:var(--muted)}
.chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.chat-head>div{min-width:0}.chat-head button{flex-shrink:0}
.chat-log{max-height:460px;overflow:auto;display:grid;gap:14px;margin:24px 0}.chat-message{padding:18px;border:1px solid var(--line);border-radius:18px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;background:#09141e}.chat-message-user{background:rgba(100,232,255,.08)}
.chat-quick-prompts{display:flex;flex-wrap:wrap;gap:8px}.chat-quick-prompt{border:1px solid var(--line);border-radius:12px;background:#09141e;color:var(--muted);padding:10px;font:inherit;cursor:pointer}
.chat-composer{display:grid;gap:14px;margin-top:24px}.v2-consultant button:disabled,.message-actions button:disabled{opacity:.6;cursor:wait}
@media(max-width:960px){.v2-inner .container{width:calc(100% - 28px)}.v2-inner .page-hero{padding:52px 0 24px}.v2-page-grid,.v2-inner .hero-grid,.v2-inner .split-heading{grid-template-columns:1fr;gap:28px}.v2-inner .feature-grid,.v2-inner .service-grid,.v2-inner .price-list,.v2-inner .article-grid{grid-template-columns:1fr}.v2-inner .section{padding:36px 0}.v2-inner .feature-card,.v2-inner .service-card,.v2-inner .article-card,.v2-inner .contact-card,.v2-consultant .contact-card{padding:22px}.v2-inner .section-heading{align-items:flex-start;flex-direction:column}.chat-head{flex-direction:column}.v2-inner h1{font-size:clamp(42px,10vw,68px)}.v2-inner .footer{margin-top:32px}}
/* The approved mobile grid allowed its portrait's intrinsic width to clip hero copy. */
@media(max-width:960px){body:not(.v2-inner) .hero-grid{grid-template-columns:minmax(0,1fr)}}
