
:root{
  --navy:#081d37;--navy2:#0d2e5e;--blue:#1e4fbf;--teal:#0e9aa7;--ink:#15202b;
  --muted:#64707c;--line:#dfe6ec;--soft:#f3f6f8;--ice:#eef7f7;--white:#fff;
  --amber:#f1a33c;--shadow:0 22px 70px rgba(8,29,55,.12);--r:18px;--max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid #7dd6df;outline-offset:3px}
.shell{max-width:var(--max);margin:auto;padding:0 28px}
header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,45,75,.08)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content;background:none;border:0;cursor:pointer;padding:0}
.brand-logo{width:34px;height:34px;object-fit:contain}
.wordmark{font-family:Michroma,Inter,sans-serif;letter-spacing:.06em;font-size:17px;color:var(--navy2)}
.navlinks{display:flex;align-items:center;gap:3px}
.navlinks>button,.navitem{border:0;background:none;color:#324252;padding:10px 10px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600}
.navlinks>button:hover,.navlinks>button.active,.navitem:hover{background:#edf3f8;color:var(--navy2)}
.dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;left:0;top:42px;width:310px;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px}
.dropdown:not(.nav-dismissed):hover .dropdown-menu,.dropdown:not(.nav-dismissed):focus-within .dropdown-menu,.dropdown.nav-open .dropdown-menu{display:grid}
.dropdown-menu button{border:0;background:#fff;text-align:left;padding:12px;border-radius:10px;cursor:pointer;color:#273a4a;font-weight:800}
.dropdown-menu button:hover{background:var(--soft)}
.dropdown-menu small{display:block;color:#75828d;font-weight:400;margin-top:2px;line-height:1.35}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--navy2);color:#fff;border:1px solid var(--navy2);padding:12px 17px;border-radius:999px;font-weight:700;font-size:13px;cursor:pointer;transition:.2s}
.cta:hover{background:#153b73;transform:translateY(-1px)} .cta.light{background:#fff;color:var(--navy2);border-color:#fff}
.cta.ghost{background:transparent;color:var(--navy2);border-color:#aab9c6}
.mobile-menu{display:none;border:0;background:#edf3f8;border-radius:10px;width:44px;height:44px;font-size:20px;color:var(--navy2)}
.nav-panel{display:none}
.view{display:none}.view.active{display:block}
.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--teal)}
h1,h2,h3,h4{font-family:Manrope,Inter,sans-serif;line-height:1.05;margin:0;color:var(--navy)}
h1{font-size:clamp(43px,5.4vw,70px);letter-spacing:-.045em}
h2{font-size:clamp(31px,4vw,50px);letter-spacing:-.035em}
h3{font-size:21px;letter-spacing:-.02em}
p{margin:0;color:#43505d}
.section{padding:94px 0} .section.soft{background:var(--soft)} .section.dark{background:var(--navy);color:#fff}
.dark h2,.dark h3,.dark h4{color:#fff} .dark p{color:#c8d4df}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}
.section-head p{max-width:585px}
.hero{min-height:690px;background:linear-gradient(115deg,#071a31 0%,#0a2343 58%,#123d68 100%);color:#fff;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 78% 30%,rgba(14,154,167,.18),transparent 28%),radial-gradient(circle at 15% 80%,rgba(30,79,191,.25),transparent 30%)}
.hero .shell{min-height:690px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:58px;position:relative;z-index:2;padding-top:44px;padding-bottom:58px}
.hero .eyebrow{color:#78d9e0} .hero h1{color:#fff;max-width:730px} .hero .lede{font-size:18px;line-height:1.6;color:#cfdae6;max-width:675px;margin-top:24px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.trustline{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);display:flex;gap:28px;flex-wrap:wrap;color:#bbcad8;font-size:12px}
.trustline b{color:#fff;font-size:16px;display:block;margin-bottom:1px}
.hero-visual{height:540px;position:relative}
.hero-photo{position:absolute;inset:0 0 45px 40px;border-radius:28px;overflow:hidden;background:#142c45;box-shadow:0 40px 90px rgba(0,0,0,.32)}
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.91) contrast(1.03)}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,19,35,.03),rgba(3,19,35,.42))}
.control-card{position:absolute;left:0;bottom:0;background:#fff;color:var(--ink);width:330px;padding:22px;border-radius:18px;box-shadow:var(--shadow);z-index:4}
.control-card .kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);font-weight:800}
.control-card strong{display:block;color:var(--navy);font-family:Manrope;font-size:21px;margin:7px 0}
.signal{display:flex;align-items:center;gap:9px;font-size:13px;color:#5e6b77;margin-top:12px}
.signal i{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 6px rgba(14,154,167,.12)}
.route-overlay{position:absolute;inset:24px;pointer-events:none;z-index:3;opacity:.9}
.route-overlay svg{width:100%;height:100%} .route-path{fill:none;stroke:#76e3e8;stroke-width:2;stroke-dasharray:7 8;animation:dash 18s linear infinite} .route-node{fill:#fff;stroke:#0e9aa7;stroke-width:3}
@keyframes dash{to{stroke-dashoffset:-160}}
.audience-strip{border-bottom:1px solid var(--line);background:#fff}
.audience-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:17px 0;font-size:12px;color:#566471}
.audience-row b{color:var(--navy)} .pill{border:1px solid var(--line);border-radius:999px;padding:7px 11px;background:#fff}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.problem-card{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:#fff;min-height:280px;position:relative;overflow:hidden;transition:.25s;cursor:pointer}
.problem-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c5d5e2}
.problem-card .num{font-family:Manrope;font-size:58px;color:#dce8ef;position:absolute;right:20px;top:6px;font-weight:800}
.problem-card .icon{width:46px;height:46px;border-radius:14px;background:#edf5f7;display:grid;place-items:center;color:var(--teal);font-weight:900;margin-bottom:38px}
.problem-card p{font-size:14px;margin-top:12px} .problem-card .more{margin-top:20px;font-size:13px;color:var(--blue);font-weight:800}
.outcomes{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.outcome{padding:26px 23px;border-right:1px solid var(--line)} .outcome:last-child{border-right:0}
.outcome b{display:block;font-family:Manrope;color:var(--navy);font-size:17px} .outcome span{display:block;font-size:12px;color:#6c7984;margin-top:6px}
.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.specialty-card{background:#fff;border-radius:22px;overflow:hidden;border:1px solid var(--line);transition:.25s}
.specialty-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.specialty-img{height:225px;background:#dbe4eb;overflow:hidden;position:relative} .specialty-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.specialty-card:hover img{transform:scale(1.035)} .specialty-img .tag{position:absolute;left:18px;bottom:16px;background:rgba(7,26,49,.86);color:#fff;padding:8px 11px;border-radius:999px;font-size:10px;font-weight:700;backdrop-filter:blur(8px)}
.specialty-body{padding:24px} .specialty-body p{font-size:14px;margin:12px 0 18px} .text-link{color:var(--blue);font-weight:800;font-size:13px;border:0;background:none;padding:0;cursor:pointer}
.system-panel{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:center}
.system-copy .quote{font-size:18px;color:#4a5865;margin:24px 0 28px;border-left:3px solid var(--teal);padding-left:20px}
.loop{position:relative;min-height:480px;display:grid;place-items:center}
.loop-core{width:180px;height:180px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;text-align:center;padding:20px;position:relative;z-index:3;box-shadow:0 22px 60px rgba(8,29,55,.2)}
.loop-core b{font-family:Manrope;font-size:20px} .loop-ring{position:absolute;width:390px;height:390px;border-radius:50%;border:1px solid #bbcad5}
.loop-ring:after{content:"";position:absolute;inset:35px;border-radius:50%;border:1px dashed #bdd3d5}
.loop-item{position:absolute;width:155px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 12px 35px rgba(17,49,76,.08);z-index:4}
.loop-item b{color:var(--navy);font-family:Manrope} .loop-item span{display:block;color:#6a7783;font-size:12px;margin-top:4px}
.l1{top:16px;left:50%;transform:translateX(-50%)} .l2{right:0;top:50%;transform:translateY(-50%)} .l3{bottom:14px;left:50%;transform:translateX(-50%)} .l4{left:0;top:50%;transform:translateY(-50%)}
.insight-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border-radius:24px;overflow:hidden;background:#07192f;box-shadow:var(--shadow)}
.insight-image{min-height:420px;overflow:hidden} .insight-image img{width:100%;height:100%;object-fit:cover}
.insight-copy{padding:46px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.insight-copy h3{color:#fff;font-size:31px;margin:12px 0 14px} .insight-copy p{color:#c8d6e2} .insight-copy .eyebrow{color:#79dce1}
.mini-insights{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.mini-insight{border:1px solid var(--line);border-radius:17px;padding:22px;background:#fff}
.mini-insight h3{font-size:18px;margin:9px 0 9px} .mini-insight p{font-size:13px}
.review-box{margin-top:14px;padding:11px 13px;background:#eef7f7;border-left:3px solid var(--teal);font-size:12px;color:#3c5960}
.review-box b{color:#0a6972}
.metrics{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.14);border-radius:20px;overflow:hidden;margin-top:42px}
.metric{padding:28px 20px;border-right:1px solid rgba(255,255,255,.12)} .metric:last-child{border:0}
.metric b{display:block;color:#fff;font-family:Manrope;font-size:30px} .metric span{color:#b8c8d7;font-size:11px;display:block;margin-top:5px}
.product-strip{border:1px solid var(--line);border-radius:22px;display:grid;grid-template-columns:1fr .72fr;align-items:center;overflow:hidden;background:#fff}
.product-copy{padding:38px} .product-copy p{margin-top:14px;max-width:650px}
.product-img{height:370px;background:#eef3f7;display:grid;place-items:center;overflow:hidden} .product-img img{width:100%;height:100%;object-fit:contain;padding:14px}
.faq-list{display:grid;gap:10px;max-width:980px}
details.faq{border:1px solid var(--line);border-radius:15px;background:#fff;padding:0 18px}
details.faq summary{list-style:none;cursor:pointer;padding:18px 34px 18px 0;font-weight:800;color:var(--navy);position:relative}
details.faq summary::-webkit-details-marker{display:none} details.faq summary:after{content:"+";position:absolute;right:0;color:var(--teal);font-size:22px}
details.faq[open] summary:after{content:"−"} details.faq p{padding:0 0 18px;font-size:14px;max-width:850px}
.contact{background:linear-gradient(135deg,#07192e,#0c315a);padding:86px 0;color:#fff}
.contact h2,.contact h1{color:#fff} .contact-grid{display:grid;grid-template-columns:1fr .78fr;gap:70px;align-items:start}
.contact p{color:#c7d4df;margin-top:18px} .contact-form{background:#fff;border-radius:22px;padding:26px;box-shadow:0 30px 70px rgba(0,0,0,.18)}
.field{display:grid;gap:7px;margin-bottom:12px} .field label{font-size:11px;color:#52616f;font-weight:700}
.field input,.field textarea,.field select{border:1px solid #d9e2e8;border-radius:11px;padding:12px;background:#fff;color:#1c2b37;width:100%} .field textarea{min-height:100px;resize:vertical}
.page-hero{padding:82px 0 60px;background:linear-gradient(135deg,#f2f6f8,#fff)}
.page-hero-grid{display:grid;grid-template-columns:1fr .82fr;gap:52px;align-items:center} .page-hero .lede{font-size:18px;margin-top:20px;max-width:690px}
.page-photo{height:430px;border-radius:24px;overflow:hidden;background:#dce6eb;position:relative;box-shadow:var(--shadow)} .page-photo img{width:100%;height:100%;object-fit:cover}
.page-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,29,55,.32))}
.question-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.question{padding:23px;border-radius:17px;background:#fff;border:1px solid var(--line)} .question h3{font-size:19px} .question p{font-size:13px;margin-top:8px}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:34px;position:relative}
.flow:before{content:"";height:2px;background:#c7d8e2;position:absolute;top:25px;left:9%;right:9%;z-index:0}
.flow-step{position:relative;z-index:1;text-align:center} .flow-step i{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#fff;border:2px solid var(--teal);margin:0 auto 14px;font-style:normal;font-weight:900;color:var(--navy)}
.flow-step b{font-family:Manrope;color:var(--navy);font-size:13px;display:block} .flow-step span{font-size:11px;color:#71808c;display:block;margin-top:5px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.service-card{border:1px solid var(--line);border-radius:17px;padding:23px;background:#fff}
.service-card .num{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-weight:900;margin-bottom:12px}
.service-card p{font-size:13px;margin-top:8px} .service-card .what{margin-top:13px;border-top:1px solid var(--line);padding-top:11px;font-size:11px;color:#667681}
.standards{margin-top:28px;padding:18px;border-radius:14px;background:#07192f;color:#fff;text-align:center;font-family:Manrope;letter-spacing:.03em}
.standards small{display:block;font-family:Inter;color:#b9c9d7;margin-top:5px}
.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.entry{border:1px solid var(--line);border-radius:17px;padding:22px;background:#fff} .entry h3{font-size:18px} .entry p{font-size:13px;margin-top:8px}
.obs-hero{background:#07192f;color:#fff;padding:88px 0} .obs-hero h1{color:#fff} .obs-hero p{color:#c7d4df;font-size:18px;max-width:760px;margin-top:20px}
.obs-list{display:grid;gap:14px} .obs-item{display:grid;grid-template-columns:170px 1fr auto;gap:22px;align-items:start;border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}
.obs-item .meta{font-size:10px;color:var(--teal);text-transform:uppercase;letter-spacing:.12em;font-weight:900} .obs-item h3{font-size:19px;margin-bottom:8px} .obs-item p{font-size:13px} .source{font-size:11px;color:var(--blue);font-weight:800;white-space:nowrap}
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px} .exp-copy{padding:36px;border:1px solid var(--line);border-radius:22px} .exp-copy p{margin-top:18px}
.exp-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;min-height:460px} .exp-mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:18px;background:#dce4e8} .exp-mosaic figure:first-child{grid-row:span 2}
.exp-mosaic img{width:100%;height:100%;object-fit:cover} .exp-mosaic figcaption{position:absolute;left:14px;bottom:12px;background:rgba(7,26,49,.84);color:#fff;padding:7px 10px;border-radius:999px;font-size:10px}
.context-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px} .context{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px} .context h3{font-size:17px} .context p{font-size:12px;margin-top:7px}
.product-page{display:grid;grid-template-columns:.86fr 1.14fr;gap:50px;align-items:center} .product-large{background:#f0f3f6;border-radius:24px;min-height:570px;display:grid;place-items:center;overflow:hidden} .product-large img{max-height:555px;object-fit:contain;padding:18px}
.use-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px} .use{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:12px;color:#455460}
.footer{background:#051526;color:#aec0d0;padding:42px 0 26px} .footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:30px} .footer .wordmark{color:#fff}
.footer h4{color:#fff;font-size:13px;margin-bottom:12px} .footer a{display:block;font-size:12px;margin:7px 0;color:#b7c7d4} .footer a:hover{color:#fff}
.footer small{display:block;margin-top:10px;max-width:350px} .footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:18px;font-size:10px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:980px){
 .navlinks{display:none} .mobile-menu{display:grid;place-items:center} .header-cta{display:none}
 .nav-panel{position:fixed;top:76px;left:15px;right:15px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow);display:none;z-index:99}
 .nav-panel.open{display:grid} .nav-panel button{border:0;background:#fff;text-align:left;padding:13px;border-radius:10px;color:var(--navy);font-weight:700}
 .hero .shell,.system-panel,.insight-feature,.product-strip,.contact-grid,.page-hero-grid,.product-page,.exp-grid{grid-template-columns:1fr}
 .hero{min-height:auto} .hero .shell{min-height:auto} .hero-visual{height:440px} .problem-grid,.specialty-grid,.service-grid,.entry-grid,.context-grid{grid-template-columns:1fr 1fr}
 .outcomes{grid-template-columns:1fr 1fr} .outcome:nth-child(2){border-right:0} .outcome:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .metrics{grid-template-columns:1fr 1fr} .metric:nth-child(2n){border-right:0} .flow{grid-template-columns:1fr} .flow:before{display:none} .flow-step{display:grid;grid-template-columns:60px 1fr;text-align:left;align-items:center} .flow-step i{margin:0}
 .question-grid,.mini-insights{grid-template-columns:1fr} .obs-item{grid-template-columns:1fr} .source{white-space:normal}
}
@media(max-width:640px){
 .shell{padding:0 18px} .nav{height:66px} .wordmark{font-size:15px} .nav-panel{top:66px} .section{padding:68px 0}
 .hero .shell{padding-top:44px;padding-bottom:48px} .hero-visual{height:370px} .hero-photo{inset:0 0 60px 18px} .control-card{width:280px}
 .problem-grid,.specialty-grid,.service-grid,.entry-grid,.context-grid,.outcomes,.metrics,.use-grid{grid-template-columns:1fr}
 .outcome,.metric{border-right:0} .outcome{border-bottom:1px solid var(--line)} .section-head{display:block} .section-head p{margin-top:16px}
 .loop{transform:scale(.78);margin:-45px -70px} .page-photo{height:300px} .exp-mosaic{grid-template-columns:1fr;grid-template-rows:repeat(3,210px)} .exp-mosaic figure:first-child{grid-row:auto}
 .footer-grid{grid-template-columns:1fr 1fr} .footer-grid>div:first-child{grid-column:span 2}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* V8.4 refinements */
.lang-switch{display:flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:999px;padding:3px;background:#fff;margin-left:2px}
.lang-switch .globe{width:24px;height:24px;display:grid;place-items:center;color:var(--navy2);font-size:14px}
.lang-switch button{border:0;background:transparent;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:800;color:#6b7883;cursor:pointer}
.lang-switch button.active{background:var(--navy2);color:#fff}
.lang-switch button:hover{background:#edf3f8;color:var(--navy2)}
.lang-switch button.active:hover{background:var(--navy2);color:#fff}
.photo-pair{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-top:28px}
.photo-card{position:relative;border-radius:20px;overflow:hidden;min-height:320px;background:#dbe4eb;box-shadow:var(--shadow)}
.photo-card img{width:100%;height:100%;object-fit:cover}
.photo-card .photo-label{position:absolute;left:16px;bottom:15px;background:rgba(7,26,49,.84);color:#fff;padding:8px 11px;border-radius:999px;font-size:10px;font-weight:800;backdrop-filter:blur(8px)}
.alert-overlay{position:absolute;right:18px;top:18px;background:rgba(255,255,255,.96);border-radius:16px;padding:15px 16px;width:205px;box-shadow:0 16px 40px rgba(8,29,55,.18)}
.alert-overlay b{display:block;color:#a52b23;font-family:Manrope;font-size:14px}.alert-overlay span{display:block;font-size:11px;color:#63717c;margin-top:4px}
.alert-dot{display:inline-block;width:9px;height:9px;background:#d83a2e;border-radius:50%;margin-right:6px;box-shadow:0 0 0 6px rgba(216,58,46,.12)}
.orbit-v2{position:relative;min-height:560px;border-radius:32px;overflow:hidden;background:
 radial-gradient(circle at 50% 50%,rgba(14,154,167,.13),transparent 28%),
 linear-gradient(145deg,#f7fafc,#eaf1f5);border:1px solid #d8e3ea}
.orbit-v2:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid #b8cad6;left:50%;top:50%;transform:translate(-50%,-50%)}
.orbit-v2:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:1px dashed #a8cfd2;left:50%;top:50%;transform:translate(-50%,-50%);animation:spin 34s linear infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;display:grid;place-items:center;text-align:center;color:#fff;background:radial-gradient(circle at 35% 30%,#174e81,#081d37 68%);box-shadow:0 28px 70px rgba(8,29,55,.28);z-index:3}
.orbit-center b{font-family:Manrope;font-size:22px}.orbit-center span{display:block;font-size:11px;color:#c6d5e2;margin-top:5px}
.orbit-node{position:absolute;width:185px;border:1px solid #d4e0e7;background:rgba(255,255,255,.96);border-radius:18px;padding:16px;box-shadow:0 16px 35px rgba(8,29,55,.08);z-index:4}
.orbit-node .stepno{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#0e9aa7;color:#fff;font-weight:900;font-size:11px;margin-bottom:13px}
.orbit-node b{font-family:Manrope;color:var(--navy);display:block;font-size:16px}.orbit-node span{font-size:11px;color:#687783;display:block;margin-top:4px}
.orbit-node.n1{top:28px;left:50%;transform:translateX(-50%)} .orbit-node.n2{right:25px;top:50%;transform:translateY(-50%)} .orbit-node.n3{bottom:28px;left:50%;transform:translateX(-50%)} .orbit-node.n4{left:25px;top:50%;transform:translateY(-50%)}
.orbit-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:#0e9aa7;box-shadow:0 0 0 8px rgba(14,154,167,.12);z-index:2}
.orbit-dot.d1{left:50%;top:88px;transform:translateX(-50%)} .orbit-dot.d2{right:83px;top:50%;transform:translateY(-50%)} .orbit-dot.d3{left:50%;bottom:88px;transform:translateX(-50%)} .orbit-dot.d4{left:83px;top:50%;transform:translateY(-50%)}
.faq-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.faq-section-title{margin:55px 0 20px}
.service-faq{margin-top:54px}
.service-faq .faq-list{max-width:none}
.media-split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.media-split.reverse .media-copy{order:2}.media-split.reverse .media-visual{order:1}
.media-visual{position:relative;border-radius:22px;overflow:hidden;min-height:390px;background:#dce5ea;box-shadow:var(--shadow)}
.media-visual img{width:100%;height:100%;object-fit:cover}
.media-copy p{margin-top:15px}
.media-copy .cta{margin-top:22px}
.obs-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.obs-card-v2{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;display:flex;flex-direction:column;min-height:480px}
.obs-card-v2.featured{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.obs-img{height:175px;overflow:hidden;background:#dde6eb}
.obs-card-v2.featured .obs-img{height:100%}
.obs-img img{width:100%;height:100%;object-fit:cover}
.obs-copy-v2{padding:20px;display:flex;flex-direction:column;flex:1}
.obs-meta-v2{font-size:10px;color:var(--teal);text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.obs-copy-v2 h3{font-size:18px;margin:10px 0 9px}
.obs-copy-v2 p{font-size:12px}
.obs-copy-v2 .review-box{margin-top:auto}
.obs-source{font-size:11px;color:var(--blue);font-weight:800;margin-top:14px}
.achievements-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.achievement{border:1px solid var(--line);border-radius:17px;padding:21px;background:#fff}
.achievement b{font-family:Manrope;color:var(--navy2);font-size:27px;display:block}.achievement p{font-size:12px;margin-top:7px}
.exp-wide{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.exp-wide-card{border:1px solid var(--line);border-radius:18px;padding:23px;background:#fff}.exp-wide-card h3{font-size:19px}.exp-wide-card p{font-size:13px;margin-top:8px}
.zoom-wrap{position:relative;cursor:zoom-in}.zoom-badge{position:absolute;right:16px;bottom:16px;background:rgba(7,26,49,.86);color:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800}
.zoom-modal{position:fixed;inset:0;background:rgba(3,12,22,.88);display:none;align-items:center;justify-content:center;z-index:200;padding:24px}
.zoom-modal.open{display:flex}.zoom-modal img{max-width:min(920px,92vw);max-height:90vh;object-fit:contain;border-radius:18px;box-shadow:0 40px 100px rgba(0,0,0,.4)}
.zoom-modal button{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:24px;cursor:pointer}
.section-kicker{font-size:12px;font-weight:800;color:var(--teal);letter-spacing:.06em;text-transform:uppercase}
.inline-note{padding:14px 16px;border-left:3px solid var(--teal);background:#eef7f7;border-radius:0 12px 12px 0;font-size:12px;color:#3f5960;margin-top:18px}
@media(max-width:980px){
 .lang-switch{margin-left:auto}.photo-pair,.media-split,.obs-card-v2.featured,.exp-wide{grid-template-columns:1fr}
 .obs-grid-v2{grid-template-columns:1fr 1fr}.obs-card-v2.featured{grid-column:span 2}
 .achievements-grid{grid-template-columns:1fr 1fr}.faq-columns{grid-template-columns:1fr}
}
@media(max-width:640px){
 .orbit-v2{min-height:760px}.orbit-v2:before{width:320px;height:320px}.orbit-v2:after{width:245px;height:245px}.orbit-center{width:155px;height:155px}
 .orbit-node{width:160px}.orbit-node.n1{top:22px}.orbit-node.n2{right:9px;top:35%;transform:none}.orbit-node.n3{bottom:22px}.orbit-node.n4{left:9px;top:60%;transform:none}
 .orbit-dot{display:none}.obs-grid-v2,.achievements-grid{grid-template-columns:1fr}.obs-card-v2.featured{grid-column:auto}.photo-pair{grid-template-columns:1fr}
 .media-split.reverse .media-copy,.media-split.reverse .media-visual{order:initial}.lang-switch .globe{display:none}
}

/* SUNERGEO V1.2.1 — navegador: deja visible el encabezado al editar en WordPress.
   Sin la barra de WordPress, la posición visual permanece exactamente igual. */
@media (min-width:783px){body.admin-bar header{top:32px}}
@media (min-width:601px) and (max-width:782px){body.admin-bar header{top:46px}}
@media (max-width:600px){body.admin-bar header{top:0}}

/* SUNERGEO V1.2.2 — identidad uniforme y rutas legales; no altera distribución de secciones. */
.brand .wordmark, .footer .wordmark {
  font-family: Michroma, Inter, sans-serif;
  font-weight: 700;
  font-synthesis: weight;
  letter-spacing: .06em;
  line-height: 1.25;
}
.footer .wordmark {display: inline-block;}
.footer-legal-links {margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.15);}
.footer .footer-legal-links a {margin: 7px 0;}
.contact-privacy-note {font-size: 11px; line-height: 1.55; margin: 10px 0 0; color: #60758b;}
.contact-privacy-note a {color: var(--navy2); text-decoration: underline; text-underline-offset: 2px;}
/* Standalone legal pages display the same corporate identity without modifying REV5 homepage. */
.legal-main {min-height: 63vh; background: var(--soft); padding: 70px 0 96px;}
.legal-card {max-width: 900px; margin:auto; padding: clamp(24px, 5vw, 60px); background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow: 0 10px 30px rgba(8,29,55,.05);}
.legal-card h1 {font-size:clamp(32px,4.2vw,52px);margin:14px 0 26px;}
.legal-card .entry-content {font-size:15px;line-height:1.8;}
.legal-card .entry-content h2 {font-size:26px;margin:28px 0 14px;}
.legal-card .entry-content h3 {font-size:20px;margin:25px 0 12px;}
.legal-card .entry-content p {margin:0 0 16px;}
.legal-card .entry-content ul {margin:0 0 16px;padding-left:26px;}
.legal-page-nav {display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;}
.legal-page-nav .brand {text-decoration:none;}
.legal-back {color:var(--navy2);font-size:13px;font-weight:700;}
.legal-footer {background:#051526;color:#b7c7d4;padding:27px 0;font-size:12px;}
.legal-footer .shell {display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;}
.legal-footer .wordmark{color:white;}
.legal-footer a {color:#b7c7d4;text-decoration:underline;text-underline-offset:3px;}
@media (max-width:600px) {.legal-main{padding:38px 0 70px;}.legal-page-nav{min-height:66px;}.legal-card{padding:22px;}}


/* V1.2.3 — wordmark uniforme entre cabecera, pie y paginas legales.
   Se mantienen isotipo, Michroma e identidad aprobada. */
header .brand .wordmark, .footer .wordmark,
.legal-page-nav .wordmark, .legal-footer .wordmark {
  font-family: Michroma, Inter, sans-serif;
  font-size: 16px;
  font-weight: 700;
  font-synthesis: weight;
  letter-spacing: .06em;
  line-height: 1.25;
  text-transform: none;
}
.footer .wordmark, .legal-footer .wordmark {color: #fff;}
@media(max-width:640px) {
  header .brand .wordmark, .footer .wordmark,
  .legal-page-nav .wordmark, .legal-footer .wordmark {font-size: 15px;}
}
.legal-pending-note {border-left:4px solid var(--teal);background:var(--ice);border-radius:8px;padding:16px 18px;margin:24px 0;}
.legal-pending-note p {margin:0;}
.legal-pending-meta {font-size:13px;color:var(--muted);}

/* V1.2.4: bilingual legal controls only; REV5 site layout unchanged. */
.sun-legal-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.sun-legal-languages{display:flex;gap:8px;font-size:12px;font-weight:700}
.sun-legal-languages a{border:1px solid #dae2e7;padding:5px 8px;border-radius:5px;text-decoration:none;color:#14314d}
.sun-legal-languages a[aria-current="page"]{background:#073254;color:white}
.sun-legal-draft{font-size:12px;color:#7a4a00;background:#fff8e5;padding:12px;border-radius:6px}
@media(max-width:600px){.sun-legal-controls{gap:9px}.sun-legal-languages a{padding:4px 6px}}

/* SUNERGEO V1.2.5 — full REV5 navigation on legal pages only. */
.legal-site-header .navlinks>a{display:inline-flex;align-items:center;border:0;background:transparent;color:#324252;padding:10px;border-radius:10px;font-size:13px;font-weight:600;white-space:nowrap}
.legal-site-header .navlinks>a:hover,.legal-site-header .navlinks>a:focus-visible{background:#edf3f8;color:var(--navy2)}
.legal-site-header .dropdown-menu a{display:block;text-align:left;padding:12px;border-radius:10px;color:#273a4a;font-size:13px;font-weight:800}
.legal-site-header .dropdown-menu a:hover,.legal-site-header .dropdown-menu a:focus-visible{background:var(--soft)}
.legal-site-header .lang-switch a{border-radius:999px;padding:6px 8px;font-size:11px;font-weight:800;color:#6b7883;text-decoration:none}
.legal-site-header .lang-switch a.active{background:var(--navy2);color:#fff}
.legal-site-header .lang-switch a:not(.active):hover{background:#edf3f8;color:var(--navy2)}
.legal-site-header .nav-panel a{display:block;border:0;background:#fff;text-align:left;padding:13px;border-radius:10px;color:var(--navy);font-weight:700;text-decoration:none}
.legal-site-header .nav-panel a:hover{background:var(--soft)}
@media(max-width:980px){.legal-site-header .nav-panel{position:fixed;left:15px;right:15px;top:76px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:10px;z-index:99;display:none}.legal-site-header .nav-panel.open{display:grid}}
@media(max-width:640px){.legal-site-header .nav{gap:10px}.legal-site-header .lang-switch{margin-left:auto}.legal-site-header .nav-panel{top:66px}}

/* SUNERGEO V1.2.6 — audit-only correction: at medium widths the legal navigation must collapse before it overflows. Homepage styling is unchanged. */
@media (min-width:981px) and (max-width:1080px){
  .legal-site-header .navlinks{display:none}
  .legal-site-header .mobile-menu{display:grid;place-items:center}
  .legal-site-header .header-cta{display:none}
  .legal-site-header .nav-panel{position:fixed;left:15px;right:15px;top:76px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:10px;z-index:99;display:none}
  .legal-site-header .nav-panel.open{display:grid}
}

/* V1.2.8 — precision-led motion, respectful of REV5 palette. */
.interactive-specialty{cursor:pointer;position:relative;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}
.interactive-specialty:focus-visible{outline:3px solid #099baa;outline-offset:4px}
.interactive-specialty:hover,.interactive-specialty:focus-visible{border-color:#a5d0d4;box-shadow:0 20px 48px rgba(8,29,55,.14);transform:translateY(-5px)}
.interactive-specialty .specialty-img img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.interactive-specialty:hover .specialty-img img,.interactive-specialty:focus-visible .specialty-img img{transform:scale(1.055)}
.orbit-center{isolation:isolate;border:1px solid rgba(123,218,230,.44);box-shadow:0 23px 64px rgba(8,29,55,.28),inset 0 0 35px rgba(52,165,196,.11)}
.orbit-center:before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(20,155,175,.42);box-shadow:0 0 30px rgba(15,162,181,.11);pointer-events:none}
.orbit-center:after{content:"";position:absolute;inset:9px;border-radius:50%;border:1px dashed rgba(115,223,228,.28);pointer-events:none;animation:sunergeo-core-turn 60s linear infinite}
.orbit-center>div{position:relative;z-index:1}
@keyframes sunergeo-core-turn{to{transform:rotate(360deg)}}
.orbit-v2 .orbit-dot{box-shadow:0 0 0 5px rgba(13,161,173,.08),0 0 16px rgba(13,161,173,.28)}
/* Compact mobile method: avoid all overlapping absolute radial nodes. */
@media(max-width:640px){
 .orbit-v2{min-height:0!important;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:24px 18px!important;overflow:visible}
 .orbit-v2:before,.orbit-v2:after,.orbit-v2 .orbit-dot{display:none!important}
 .orbit-center{position:relative!important;top:auto!important;left:auto!important;transform:none!important;order:0;width:166px!important;height:166px!important;margin:12px auto 22px!important;flex:none}
 .orbit-node,.orbit-node.n1,.orbit-node.n2,.orbit-node.n3,.orbit-node.n4{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:none!important;display:grid;grid-template-columns:34px 1fr;column-gap:12px;align-items:start;min-height:90px;padding:15px 16px}
 .orbit-node .stepno{grid-row:span 2;margin:1px 0 0!important}
 .orbit-node b{font-size:15px}
 .orbit-node span{grid-column:2;font-size:12px}
 .orbit-node.n1{order:1}.orbit-node.n2{order:2}.orbit-node.n4{order:3}.orbit-node.n3{order:4}
}
@media(prefers-reduced-motion:reduce){.orbit-center:after{animation:none!important}.interactive-specialty,.interactive-specialty .specialty-img img{transition:none!important}}


/* V1.2.9 — stronger but restrained command-center visual. No content/photo changes. */
.orbit-v2{box-shadow:inset 0 0 80px rgba(16,109,143,.055)}
.orbit-center{
  background:radial-gradient(circle at 28% 18%,#246e9d 0%,#123f6a 28%,#0a2a4a 54%,#07182f 88%);
  border:1px solid rgba(153,231,240,.58);
  box-shadow:0 24px 67px rgba(8,29,55,.32),inset 0 2px 5px rgba(189,242,247,.22),inset 0 -24px 42px rgba(3,17,37,.3),0 0 0 5px rgba(10,150,173,.07);
}
.orbit-center::before{
  inset:-16px;border:0;border-radius:50%;
  background:conic-gradient(from 20deg,rgba(132,235,240,.98),rgba(132,235,240,.08) 17%,transparent 29%,rgba(20,166,196,.70) 48%,rgba(132,235,240,.98) 51%,rgba(132,235,240,.07) 69%,transparent 83%,rgba(132,235,240,.98));
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));
  box-shadow:none;animation:sunergeo-core-turn 21s linear infinite;
}
.orbit-center::after{
  inset:10px;border:1px solid rgba(153,234,241,.42);border-radius:50%;
  box-shadow:inset 0 0 20px rgba(26,165,195,.08),0 0 22px rgba(14,171,192,.12);
  animation:sunergeo-core-breathe 4.5s ease-in-out infinite;
}
.orbit-center img{filter:drop-shadow(0 2px 9px rgba(82,210,235,.32))}
.orbit-v2 .orbit-dot{box-shadow:0 0 0 5px rgba(13,161,173,.12),0 0 17px rgba(13,161,173,.42);animation:sunergeo-dot-pulse 3.4s ease-in-out infinite}
.orbit-v2 .orbit-dot.d2{animation-delay:-.85s}.orbit-v2 .orbit-dot.d3{animation-delay:-1.7s}.orbit-v2 .orbit-dot.d4{animation-delay:-2.55s}
.route-overlay .route-node{filter:drop-shadow(0 0 6px rgba(114,233,238,.48));animation:sunergeo-route-beacon 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.route-overlay .route-node:nth-of-type(2){animation-delay:-1.05s}.route-overlay .route-node:nth-of-type(3){animation-delay:-2.1s}
@keyframes sunergeo-core-breathe{0%,100%{opacity:.72;box-shadow:inset 0 0 20px rgba(26,165,195,.08),0 0 16px rgba(14,171,192,.08)}50%{opacity:1;box-shadow:inset 0 0 27px rgba(26,165,195,.16),0 0 27px rgba(14,171,192,.18)}}
@keyframes sunergeo-dot-pulse{0%,100%{box-shadow:0 0 0 4px rgba(13,161,173,.09),0 0 10px rgba(13,161,173,.24)}50%{box-shadow:0 0 0 11px rgba(13,161,173,.045),0 0 21px rgba(13,161,173,.48)}}
@keyframes sunergeo-route-beacon{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.33);opacity:1}}
/* Radial nodes require sufficient width; under this breakpoint use a clear sequence. */
@media (max-width:760px){
 .orbit-v2{min-height:0!important;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:24px 18px!important;overflow:visible}
 .orbit-v2::before,.orbit-v2::after,.orbit-v2 .orbit-dot{display:none!important}
 .orbit-center{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;transform:none!important;order:0;width:166px!important;height:166px!important;flex:none;margin:12px auto 22px!important}
 .orbit-node,.orbit-node.n1,.orbit-node.n2,.orbit-node.n3,.orbit-node.n4{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:none!important;display:grid;grid-template-columns:34px 1fr;column-gap:12px;align-items:start;min-height:90px;padding:15px 16px}
 .orbit-node .stepno{grid-row:span 2;margin:1px 0 0!important}
 .orbit-node b{font-size:15px}
 .orbit-node span{grid-column:2;font-size:12px}
 .orbit-node.n1{order:1}.orbit-node.n2{order:2}.orbit-node.n4{order:3}.orbit-node.n3{order:4}
}
@media (prefers-reduced-motion:reduce){
 .orbit-center::before,.orbit-center::after,.orbit-v2 .orbit-dot,.route-overlay .route-node{animation:none!important}
}


/* V1.2.10 — Method diagram: preserve circle in wide desktop, prevent
   wordmark overflow and collisions in portrait/landscape mobile. */
/* Brand lockup is kept inside the core at EVERY breakpoint. */
.orbit-center > div{
  width:100%;max-width:100%;min-width:0;padding:0 13px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.orbit-center > div > img{
  width:76px!important;max-width:56%;height:auto!important;max-height:70px;
  object-fit:contain;margin:0 auto 7px!important;
}
.orbit-center > div > b{
  display:block;max-width:100%;white-space:nowrap;
  font-family:Michroma,Inter,sans-serif!important;
  font-size:clamp(12px,1.2vw,16px)!important;
  letter-spacing:0!important;line-height:1.3;
}
.orbit-center > div > span{font-size:10px;line-height:1.35;margin-top:5px;}

/* On compact screens there isn't room for the radial cards and core together.
   Keep the core as a focal element; use cards underneath, chronologically. */
@media(max-width:1210px){
  .system-panel{grid-template-columns:minmax(0,1fr);}
  .orbit-v2{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;align-items:stretch;
    min-height:0!important;padding:28px 24px 26px!important;
    overflow:visible;
  }
  .orbit-v2::before,.orbit-v2::after,.orbit-v2 .orbit-dot{display:none!important;}
  .orbit-v2 .orbit-center{
    position:relative!important;
    top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
    inset:auto!important;transform:none!important;
    grid-column:1 / -1;order:0;
    width:186px!important;height:186px!important;
    margin:16px auto 28px!important;
    justify-self:center;align-self:center;flex:none;
  }
  .orbit-v2 .orbit-node,
  .orbit-v2 .orbit-node.n1,.orbit-v2 .orbit-node.n2,
  .orbit-v2 .orbit-node.n3,.orbit-v2 .orbit-node.n4{
    position:relative!important;
    top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
    inset:auto!important;transform:none!important;
    grid-column:auto;
    width:100%!important;max-width:none!important;min-width:0;
    min-height:106px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    column-gap:12px;align-content:start;align-items:start;
    padding:17px 18px;
  }
  .orbit-v2 .orbit-node .stepno{grid-row:1 / span 2;margin:0!important;}
  .orbit-v2 .orbit-node b{font-size:15px;line-height:1.3;}
  .orbit-v2 .orbit-node span{grid-column:2;font-size:12px;line-height:1.45;margin-top:5px;}
  .orbit-v2 .orbit-node.n1{order:1;}
  .orbit-v2 .orbit-node.n2{order:2;}
  .orbit-v2 .orbit-node.n4{order:3;}
  .orbit-v2 .orbit-node.n3{order:4;}
}
/* Narrow / portrait mobile: one readable column, no positioning overlaps. */
@media(max-width:600px){
  .orbit-v2{grid-template-columns:minmax(0,1fr)!important;gap:12px;padding:25px 16px!important;}
  .orbit-v2 .orbit-center{
    width:166px!important;height:166px!important;margin:12px auto 27px!important;
  }
  .orbit-v2 .orbit-center > div > img{width:67px!important;margin-bottom:6px!important;}
  .orbit-v2 .orbit-node,.orbit-v2 .orbit-node.n1,.orbit-v2 .orbit-node.n2,
  .orbit-v2 .orbit-node.n3,.orbit-v2 .orbit-node.n4{min-height:90px;padding:15px 14px;}
}


/* V1.2.11 — Inicio: visualización ambiental de señales sobre la fotografía
   aprobada. Es movimiento DECORATIVO, no telemetría ni estado operativo real.
   SVG escala con el contenedor, sin tocar la imagen o layout. */
.route-overlay .route-stream{
  fill:none;stroke:#d6ffff;stroke-width:3.5;stroke-linecap:round;
  stroke-dasharray:68 932;stroke-dashoffset:0;
  filter:drop-shadow(0 0 5px rgba(147,249,251,.76));
  animation:sunergeo-hero-stream 12s linear infinite;
}
.route-overlay .route-halo{
  fill:rgba(108,232,240,.035);stroke:rgba(137,245,246,.64);
  stroke-width:1.4;transform-box:fill-box;transform-origin:center;
  animation:sunergeo-hero-halo 4.8s ease-in-out infinite;
}
.route-overlay .route-halo:nth-of-type(2){animation-delay:-1.6s}
.route-overlay .route-halo:nth-of-type(3){animation-delay:-3.2s}
.control-card .signal i{animation:sunergeo-control-signal 4.8s ease-in-out infinite}
@keyframes sunergeo-hero-stream{to{stroke-dashoffset:-1000}}
@keyframes sunergeo-hero-halo{
  0%,100%{opacity:.28;transform:scale(.82)}
  50%{opacity:.76;transform:scale(1.3)}
}
@keyframes sunergeo-control-signal{
  0%,100%{box-shadow:0 0 0 5px rgba(14,154,167,.10)}
  50%{box-shadow:0 0 0 9px rgba(14,154,167,.04),0 0 13px rgba(14,154,167,.26)}
}
@media(prefers-reduced-motion:reduce){
  .route-overlay .route-stream,.route-overlay .route-halo,.control-card .signal i{
    animation:none!important;
  }
  .route-overlay .route-stream{stroke-dasharray:none;opacity:.26;stroke-width:1.3}
  .route-overlay .route-halo{opacity:.35;transform:none}
}


/* V1.2.12 — Inicio: señal perceptible sobre la ruta ORIGINAL + iluminación
   ambiental. No representa datos en vivo. La imagen, copys y posiciones no cambian. */
/* Dejar la línea punteada original visible: el overlay anterior era demasiado opaco. */
.route-overlay .route-path{stroke:#79e8ef;stroke-width:2.1;stroke-dasharray:7 8;opacity:.96;animation:dash 13s linear infinite}
.route-overlay .route-stream{stroke:#d5feff;stroke-width:2.5;stroke-dasharray:34 966;opacity:.65;filter:drop-shadow(0 0 5px rgba(141,251,254,.92));animation:sunergeo-hero-stream 7s linear infinite}
.route-overlay .route-tracker{pointer-events:none}
.route-overlay .route-tracker-aura{fill:#8cfcff;opacity:.8}
.route-overlay .route-tracker-ring{fill:rgba(126,241,249,.17);stroke:#affcff;stroke-width:1.35}
.route-overlay .route-tracker-point{fill:#ffffff;stroke:#43dae4;stroke-width:2.2;filter:drop-shadow(0 0 6px rgba(116,249,255,.96))}
.route-overlay .route-halo-first{animation-delay:0s}
.route-overlay .route-halo-second{animation-delay:-1.4s}
.route-overlay .route-halo-third{animation-delay:-2.8s}
/* Un destello fotográfico sutil. Ya existe un degradado oscuro que mantiene contraste. */
.hero-photo{isolation:isolate}
.hero-photo img{animation:sunergeo-photo-breathe 16s ease-in-out infinite alternate;will-change:transform}
.hero-photo::before{
  content:"";position:absolute;z-index:1;inset:-20% -45%;pointer-events:none;
  background:linear-gradient(108deg,transparent 42%,rgba(134,237,249,.13) 49%,transparent 56%);
  transform:translateX(-84%);animation:sunergeo-photo-sweep 13s ease-in-out infinite;
}
.hero-photo::after{z-index:2}
@keyframes sunergeo-photo-breathe{from{transform:scale(1)}to{transform:scale(1.021)}}
@keyframes sunergeo-photo-sweep{0%,13%{transform:translateX(-85%)}62%,100%{transform:translateX(85%)}}
@media(max-width:760px){
  /* Para móvil conservar el marcador, pero no el barrido continuo de foto. */
  .hero-photo::before{display:none}
  .hero-photo img{animation:none;will-change:auto}
}
@media(prefers-reduced-motion:reduce){
  .hero-photo::before{animation:none!important;display:none!important}
  .hero-photo img{animation:none!important;will-change:auto}
  .route-overlay .route-tracker{display:none!important}
  .route-overlay .route-path{animation:none!important}
  .route-overlay .route-stream{animation:none!important;opacity:0!important}
  .route-overlay .route-halo{animation:none!important}
}


/* SUNERGEO V1.2.13 — Motion language. Same photography, copy, layouts & links.
   Purpose: visual metaphor for flow and coordination, NOT real-time telemetry. */
/* Sky → active warehouse docks, following existing SVG lines. */
.route-overlay .route-path{stroke-width:1.9;stroke:#83dee6;opacity:.82;stroke-dasharray:5 8}
.route-overlay .route-stream{opacity:.38;stroke-width:1.8;filter:none}
.route-overlay .route-tracker{will-change:transform}
.route-overlay .route-tracker-point{filter:drop-shadow(0 0 5px #95faff)}
/* One discreet signal circling the approved SUNERGEO center in both method views. */
.orbit-center .sunergeo-core-orbit{
  position:absolute;inset:-15px;border-radius:50%;pointer-events:none;
  border:1px solid rgba(59,178,198,.26);z-index:2;
  animation:sunergeo-orbit-beacon 12s linear infinite;
}
.orbit-center .sunergeo-core-orbit:after{
  content:"";position:absolute;top:-4px;left:calc(50% - 5px);width:10px;height:10px;
  border-radius:50%;background:#e9ffff;border:2px solid #16adbf;
  box-shadow:0 0 0 6px rgba(74,215,229,.13),0 0 17px rgba(62,218,236,.83);
}
@keyframes sunergeo-orbit-beacon{to{transform:rotate(360deg)}}
/* A quiet pulse through the existing 5-step compliance line. Desktop only. */
@media(min-width:981px){
  .flow::after{
    content:"";position:absolute;z-index:2;top:20px;left:9%;width:11px;height:11px;
    border-radius:50%;background:#fff;border:2px solid #18a6b6;
    box-shadow:0 0 0 5px rgba(25,171,184,.10),0 0 12px rgba(17,168,186,.56);
    animation:sunergeo-flow-progress 14s ease-in-out infinite;
    pointer-events:none;
  }
  @keyframes sunergeo-flow-progress{
    0%,4%{left:9%;opacity:0}8%{opacity:.95}92%{opacity:.95}96%,100%{left:91%;opacity:0}
  }
}
/* Experience: gentle sky-to-operations signal, restrained against the sunset. */
#view-experience .page-photo{isolation:isolate}
#view-experience .page-photo .sunergeo-experience-route{
  position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;
  overflow:visible;opacity:.78;
}
.sunergeo-experience-route path{
  fill:none;stroke:#abf2f1;stroke-width:1.8;stroke-dasharray:5 11;
  stroke-linecap:round;filter:drop-shadow(0 0 2px rgba(10,84,105,.6));
}
.sunergeo-experience-route .exp-route-anchor{
  fill:#edffff;stroke:#109bab;stroke-width:2;
}
.sunergeo-experience-route .exp-route-ring{
  fill:rgba(119,223,231,.15);stroke:#c7ffff;stroke-width:1.3;
}
.sunergeo-experience-route .exp-route-core{
  fill:#fff;stroke:#36bed0;stroke-width:1.4;
  filter:drop-shadow(0 0 5px #86f1fa);
}
/* Usable microinteractions, never distracting continuous loops on cards. */
.specialty-card.interactive-specialty{transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease}
.interactive-specialty:hover,.interactive-specialty:focus-visible{
  box-shadow:0 18px 42px rgba(8,29,55,.14),0 0 0 1px rgba(23,167,185,.18);
}
.achievement{transition:border-color .3s,box-shadow .3s,transform .3s}
.achievement:hover{transform:translateY(-3px);border-color:#bddbe1;box-shadow:0 12px 30px rgba(8,29,55,.085)}
.achievement.sunergeo-reveal{animation:sunergeo-reveal-up .65s ease-out both}
@keyframes sunergeo-reveal-up{from{opacity:.35;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){.flow::after{display:none!important}}
@media(prefers-reduced-motion:reduce){
  .orbit-center .sunergeo-core-orbit,.flow::after,.achievement.sunergeo-reveal{animation:none!important}
  .achievement,.specialty-card.interactive-specialty{transition:none!important}
  .sunergeo-experience-route .exp-route-tracker,.route-overlay .route-tracker{display:none!important}
}

/* V1.2.14 — deliberate motion, robust across browsers. No aesthetic redesign. */
/* Native SMIL moves the beacon. Do not layer will-change or competing CSS transforms. */
.route-overlay .route-tracker,
.sunergeo-experience-route .exp-route-tracker,
.sunergeo-security-route .security-route-tracker{will-change:auto;pointer-events:none}
#view-security .page-photo{isolation:isolate}
#view-security .page-photo .sunergeo-security-route{
  position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:.68;
}
.sunergeo-security-route .security-route-path{
  fill:none;stroke:#a3e5ea;stroke-width:1.85;stroke-dasharray:5 10;stroke-linecap:round;
  filter:drop-shadow(0 0 2px rgba(13,111,127,.3));
}
.sunergeo-security-route .security-route-node{
  fill:#edffff;stroke:#1399a9;stroke-width:1.8;
}
.sunergeo-security-route .security-route-ring{
  fill:rgba(155,244,248,.15);stroke:#b9f7fc;stroke-width:1.2;
}
.sunergeo-security-route .security-route-core{
  fill:#fff;stroke:#28b5c8;stroke-width:1.65;
  filter:drop-shadow(0 0 4px rgba(93,230,240,.65));
}
/* Subtle response on Claims cards (interaction, not continuous movement). */
#view-claims .service-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
@media(hover:hover){
  #view-claims .service-card:hover{transform:translateY(-3px);box-shadow:0 12px 29px rgba(9,42,65,.07);border-color:rgba(35,166,184,.33)}
}
@media(prefers-reduced-motion:reduce){
  .sunergeo-security-route .security-route-tracker{display:none!important}
  #view-claims .service-card{transition:none!important}
  #view-claims .service-card:hover{transform:none!important}
}

/* V1.2.14 — cleaner first impression. Keep approved REV5 assets and message. */
@media (min-width:981px){
  #view-home .hero .shell{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(34px,4vw,60px);min-height:650px;padding-top:56px;padding-bottom:64px}
  #view-home .hero h1{font-size:clamp(43px,4.1vw,59px);line-height:1.11;letter-spacing:-.039em;max-width:680px}
  #view-home .hero .lede{font-size:16px;line-height:1.68;max-width:575px;margin-top:24px}
  #view-home .hero-actions{margin-top:27px}
  #view-home .trustline{margin-top:28px;padding-top:17px;gap:22px}
  #view-home .trustline b{font-size:14px}
  #view-home .hero-visual{height:505px}
  #view-home .control-card{left:12px;bottom:0;width:285px;padding:16px 18px;border-radius:17px;box-shadow:0 17px 43px rgba(1,24,48,.15)}
  #view-home .control-card strong{font-size:18px;margin:6px 0;line-height:1.26}
  #view-home .control-card p[style]{font-size:12px!important;line-height:1.55}
  #view-home .control-card .signal{margin-top:7px;font-size:11px}
}
@media (min-width:981px) and (max-width:1200px){
  #view-home .hero .shell{gap:30px}
  #view-home .hero h1{font-size:clamp(41px,4.1vw,49px)}
}
@media (max-width:980px){
  #view-home .hero .shell{row-gap:32px}
  #view-home .hero h1{font-size:clamp(41px,5.7vw,55px);line-height:1.11;letter-spacing:-.037em}
  #view-home .hero .lede{font-size:16px;line-height:1.65;max-width:600px;margin-top:21px}
  #view-home .hero-actions{margin-top:22px}
  #view-home .trustline{margin-top:23px}
  #view-home .control-card{width:288px;padding:16px 18px}
  #view-home .control-card strong{font-size:18px}
  #view-home .control-card p[style]{font-size:12px!important;line-height:1.5}
}
@media (max-width:640px){
  #view-home .hero .shell{padding-top:34px;row-gap:26px}
  #view-home .hero h1{font-size:clamp(36px,9vw,46px);line-height:1.12}
  #view-home .hero .lede{font-size:15px}
  #view-home .hero-visual{height:365px}
  #view-home .control-card{width:min(270px,83%);padding:14px 16px}
  #view-home .control-card .signal{margin-top:6px;font-size:11px}
}

@media (max-width:640px){#view-home .hero .trustline{display:none}}
