/* Navigation control, shared by both palettes. */
.header-controls{justify-self:end;display:flex;align-items:center;gap:12px}
.header-controls .header-cta{justify-self:auto;color:#fff}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:91px;height:43px;padding:0 12px;border:1px solid rgba(207,225,244,.42);border-radius:999px;background:rgba(8,20,32,.45);color:#f4f8fc;font:700 12px/1 var(--font-head);letter-spacing:.01em;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}
.theme-toggle:hover{transform:translateY(-2px);border-color:#8abfff;background:rgba(34,69,105,.72)}
.theme-toggle:focus-visible{outline:3px solid #4b94ff;outline-offset:3px}
.theme-icon{width:18px;height:18px;flex:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-icon-moon{display:none}
@media(max-width:1100px){.header-controls{gap:16px}.theme-toggle{min-width:101px;height:47px;padding:0 15px;font-size:13px}.theme-icon{width:19px;height:19px}}
@media(max-width:480px){.theme-toggle{min-width:105px;height:46px;padding:0 13px;font-size:13px}.theme-icon{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}

/* Light palette. The photographic hero and the phone's own screen retain their intended contrast. */
:root[data-theme="light"]{color-scheme:light;--ink:#f7f9fc;--ink-2:#eef3f8;--ink-3:#e3ebf3;--white:#17283b;--muted:#52677b;--line:rgba(26,56,85,.17)}
:root[data-theme="light"] body{background:#f7f9fc;color:#17283b}
:root[data-theme="light"] .site-header{background:transparent;border-bottom-color:transparent;box-shadow:none;backdrop-filter:none}
:root[data-theme="light"] .site-header.scrolled,
:root[data-theme="light"] body.menu-open .site-header{background:rgba(249,251,254,.95);border-bottom-color:#d5e1ec;box-shadow:0 5px 24px rgba(32,67,100,.09);backdrop-filter:blur(20px)}
:root[data-theme="light"] .desktop-nav a{color:#f2f4f7}
:root[data-theme="light"] .desktop-nav a:hover{color:#fff}
:root[data-theme="light"] .site-header.scrolled .desktop-nav a{color:#283d52}
:root[data-theme="light"] .site-header.scrolled .desktop-nav a:hover{color:#0867f9}
:root[data-theme="light"] .theme-toggle{background:rgba(8,20,32,.56);border-color:rgba(207,225,244,.42);color:#f4f8fc}
:root[data-theme="light"] .theme-toggle:hover{background:rgba(34,69,105,.72);border-color:#8abfff}
:root[data-theme="light"] .site-header.scrolled .theme-toggle,
:root[data-theme="light"] body.menu-open .theme-toggle{background:#e8f0fa;border-color:#c4d5e7;color:#183c64}
:root[data-theme="light"] .site-header.scrolled .theme-toggle:hover,
:root[data-theme="light"] body.menu-open .theme-toggle:hover{background:#dceafa;border-color:#7bace2}
:root[data-theme="light"] .theme-icon-sun{display:none}
:root[data-theme="light"] .theme-icon-moon{display:block}
:root[data-theme="light"] .menu-toggle span{background:#f4f8fc}
:root[data-theme="light"] .site-header.scrolled .menu-toggle span,
:root[data-theme="light"] body.menu-open .menu-toggle span{background:#17283b}
:root[data-theme="light"] .mobile-nav{background:#f7f9fc;color:#17283b}
:root[data-theme="light"] .mobile-nav-cta{color:#075ed6}
:root[data-theme="light"] .hero{color:#fff}
:root[data-theme="light"] .hero .btn-outline:hover{color:#17283b}
:root[data-theme="light"] .hero .scroll-cue{color:#fff}

:root[data-theme="light"] .services{background:#f4f7fb}
:root[data-theme="light"] .section-intro{color:#53677a}
:root[data-theme="light"] .service-card{background:#fff;border-color:#d7e2ec;box-shadow:0 10px 27px rgba(29,63,97,.045)}
:root[data-theme="light"] .service-card:hover{border-color:#87b3e4;box-shadow:0 20px 38px rgba(29,63,97,.11)}
:root[data-theme="light"] .service-heading .service-icon-wrap{background:#edf5ff;border-color:#c4daef}
:root[data-theme="light"] .service-card h3 span{color:#62768a}
:root[data-theme="light"] .service-card p{color:#526578}
:root[data-theme="light"] .service-bottom{border-color:#dce5ee}
:root[data-theme="light"] .price-tag{color:#17283b}
:root[data-theme="light"] .service-bottom a{color:#075dcf}
:root[data-theme="light"] .service-bottom a:hover{color:#123f73}

:root[data-theme="light"] .reviews-section{background:#eaf1f8;color:#17283b}
:root[data-theme="light"] .reviews-section:before{background:radial-gradient(ellipse 72% 58% at 82% 22%,rgba(73,142,216,.12),transparent 78%)}
:root[data-theme="light"] .review-card{background:linear-gradient(155deg,#fff,#f8fbff);border-color:#cedce9;box-shadow:0 12px 30px rgba(30,64,99,.06)}
:root[data-theme="light"] .review-platform,
:root[data-theme="light"] .review-quote,
:root[data-theme="light"] .review-person strong{color:#17283b}
:root[data-theme="light"] .review-date,
:root[data-theme="light"] .review-person span,
:root[data-theme="light"] .review-example{color:#5b7185}
:root[data-theme="light"] .review-card-bottom{border-color:#dbe5ee}
:root[data-theme="light"] .review-quote:before{color:#397dbb}
:root[data-theme="light"] .reviews-dot{background:#91a9bf}
:root[data-theme="light"] .reviews-dot[aria-current="page"]{background:#0867f9}
:root[data-theme="light"] .reviews-arrow{color:#183d63;border-color:#a9bfd4}
:root[data-theme="light"] .reviews-arrow:hover:not(:disabled),
:root[data-theme="light"] .reviews-arrow:focus-visible{color:#fff}

:root[data-theme="light"] .team-section{background:#f7f9fc}
:root[data-theme="light"] .team-section:before{background:radial-gradient(circle at 92% 12%,rgba(66,137,208,.1),transparent 36%)}
:root[data-theme="light"] .team-card{background:#fff;border-color:#d4e0eb;box-shadow:0 12px 28px rgba(28,60,92,.055)}
:root[data-theme="light"] .team-card:hover{border-color:#83add7;box-shadow:0 22px 40px rgba(28,60,92,.13)}
:root[data-theme="light"] .team-card p{color:#52687b}

:root[data-theme="light"] .faq{background:#edf3f9}
:root[data-theme="light"] .faq-list,
:root[data-theme="light"] .faq-list details{border-color:#cbd9e6}
:root[data-theme="light"] .faq-answer{color:#52687b}
:root[data-theme="light"] .faq-list summary i{border-color:#8da5b9}
:root[data-theme="light"] .faq-list summary i:before,
:root[data-theme="light"] .faq-list summary i:after{background:#39576f}
:root[data-theme="light"] .faq-list details[open] summary i:before,
:root[data-theme="light"] .faq-list details[open] summary i:after{background:#fff}

:root[data-theme="light"] .footer{background:#e6eff7;color:#17283b}
:root[data-theme="light"] .footer:before{background:radial-gradient(ellipse 65% 55% at 78% 15%,rgba(63,139,213,.1),transparent 75%)}
:root[data-theme="light"] .footer-card:not(.footer-location-card){background:linear-gradient(145deg,#fff,#f8fbff);border-color:#cedde9;box-shadow:0 10px 26px rgba(29,62,94,.055)}
:root[data-theme="light"] .footer-card-icon{background:#eaf3ff;border-color:#bcd3ed;color:#1269c5}
:root[data-theme="light"] .footer-card-label{color:#32699e}
:root[data-theme="light"] .footer-contact-link>span:first-child,
:root[data-theme="light"] .footer-hours-copy>.footer-weekdays{color:#52687b}
:root[data-theme="light"] .footer-bottom{border-color:#c5d5e4;color:#5b7084}
:root[data-theme="light"] .footer-legal a{color:#264b70}
:root[data-theme="light"] .footer-open-status[data-state="open"]{color:#137b4d;background:#e7f8ed}
:root[data-theme="light"] .footer-open-status[data-state="closing"]{color:#9c5b09;background:#fff2dd}
:root[data-theme="light"] .footer-open-status[data-state="closed"]{color:#b33b42;background:#ffedf0}

/* The scroll controlled scene has a light backdrop while the phone UI keeps its own palette. */
:root[data-theme="light"] .tsn-portal-host{color:#172f42}
:root[data-theme="light"] .tsn-portal{background:#dfeef1}
:root[data-theme="light"] .tsn-portal__stage{background:#eaf4f5}
:root[data-theme="light"] .tsn-portal__stage:before{opacity:1;background:radial-gradient(circle at 75% 48%,rgba(126,194,206,.36),transparent 42%),linear-gradient(125deg,#f4f9fa,#dceef1 67%,#e8f3f5)}
:root[data-theme="light"] .tsn-portal__stage:after{opacity:.22;background-image:linear-gradient(90deg,rgba(34,97,112,.16) 1px,transparent 1px)}
:root[data-theme="light"] .tsn-portal__glow{background:radial-gradient(circle,rgba(70,164,171,.22),rgba(77,146,199,.1) 38%,transparent 69%)}
:root[data-theme="light"] .tsn-portal__orbital{border-color:rgba(45,123,135,.22)}
:root[data-theme="light"] .tsn-portal__orbital--two{border-color:rgba(49,119,165,.18)}
:root[data-theme="light"] .tsn-portal__features{border-color:#a3c5c9}
:root[data-theme="light"] .tsn-portal__feature{border-color:rgba(53,132,139,.4)}
:root[data-theme="light"] .tsn-portal__feature p{color:#526e73}
:root[data-theme="light"] .tsn-portal__feature-meter{background:#a4c8cc75}
