/* Shared typography and actions across public pages. Load after page styles. */
:root{
  --stt-action-radius:9px;
  --stt-action-weight:650;
}

body main h1,
body:is(.stt-home-page,.services-page,.catalog-page) main h1{font-weight:600!important}
body main h2,
body:is(.stt-home-page,.services-page,.catalog-page) main h2{font-weight:500!important}
body main h3,
body:is(.stt-home-page,.services-page,.catalog-page) main h3{font-weight:600!important}

body main :is(.company-button,.catalog-button,.contact-action,.chat-link,.back-link,.not-found a),
body .stt-expandable-quote__submit{
  border-radius:var(--stt-action-radius)!important;
  font-family:var(--font-b);
  font-weight:var(--stt-action-weight)!important;
}
body .stt-expandable-quote__submit{border-radius:14px!important}
body main .contact-action{min-height:48px;padding:11px 16px;font-size:.9rem}
body main .contact-card .contact-action--primary{border-color:var(--stt-color-navy);background:var(--stt-color-navy);color:#fff}
body main .contact-card .contact-action--primary:hover{border-color:var(--stt-color-navy-hover);background:var(--stt-color-navy-hover);color:#fff}
body main .not-found a:first-child{border-color:var(--stt-color-navy);background:var(--stt-color-navy);color:#fff}
body main .not-found a:first-child:hover{border-color:var(--stt-color-navy-hover);background:var(--stt-color-navy-hover)}

/* One Cotizar treatment on every page, following the home page's metallic ring. */
body .stt-site-header .stt-site-nav-cta{
  position:relative;isolation:isolate;overflow:hidden;min-height:42px;padding:10px 21px;
  border:0;border-radius:999px;background:rgba(7,29,63,.045);box-shadow:none;
  color:var(--stt-color-navy);font-family:var(--font-b);font-size:.88rem;font-weight:650;
  line-height:1;text-shadow:none;transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
body .stt-site-header.stt-site-header .stt-site-nav-cta::before{
  content:"";position:absolute;z-index:0;inset:0;padding:2px;border-radius:inherit;
  background:conic-gradient(from var(--stt-metal-angle),#07152d 0deg,#6fd6ff 48deg,#f7fbff 88deg,#7285a2 128deg,#225ec4 176deg,#0b1c3a 224deg,#d8f2ff 278deg,#4aa9e9 326deg,#07152d 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;animation:stt-metal-ring 3.6s linear infinite;
}
/* Keep the label above the animated mask in mobile compositing layers. */
body .stt-site-header .stt-site-nav-cta-label{
  position:relative;z-index:2;display:inline-block;color:inherit;white-space:nowrap;
}
body .stt-site-header .stt-site-nav-cta::after{content:none}
body .stt-site-header .stt-site-nav-cta:hover{border:0;background:rgba(7,29,63,.09);color:var(--stt-color-navy)}
body:is(.stt-home-page,.services-page,.catalog-page) .stt-site-header:not(.scrolled):not(.menu-open) .stt-site-nav-cta{background:transparent;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.38)}
body:is(.stt-home-page,.services-page,.catalog-page) .stt-site-header:not(.scrolled):not(.menu-open) .stt-site-nav-cta:hover{background:rgba(255,255,255,.12);color:#fff}
body:is(.stt-home-page,.services-page,.catalog-page) .stt-site-header:is(.scrolled,.menu-open) .stt-site-nav-cta{background:rgba(7,29,63,.045);color:var(--stt-color-navy);text-shadow:none}
body:is(.stt-home-page,.services-page,.catalog-page) .stt-site-header:is(.scrolled,.menu-open) .stt-site-nav-cta:hover{background:rgba(7,29,63,.09);color:var(--stt-color-navy)}

@media(prefers-color-scheme:dark){
  body main .contact-card .contact-action--primary{border-color:var(--theme-action);background:var(--theme-action);color:#fff}
  body main .contact-card .contact-action--primary:hover{border-color:var(--theme-action-hover);background:var(--theme-action-hover);color:#fff}
  body main .not-found a:first-child{border-color:var(--theme-action);background:var(--theme-action)}
  body main .not-found a:first-child:hover{border-color:var(--theme-action-hover);background:var(--theme-action-hover)}
  body .stt-site-header .stt-site-nav-cta,
  body:is(.stt-home-page,.services-page,.catalog-page) .stt-site-header:is(.scrolled,.menu-open) .stt-site-nav-cta{background:rgba(255,255,255,.055);color:#fff}
  body .stt-site-header .stt-site-nav-cta:hover,
  body:is(.stt-home-page,.services-page,.catalog-page) .stt-site-header:is(.scrolled,.menu-open) .stt-site-nav-cta:hover{background:rgba(255,255,255,.12);color:#fff}
}
@media(max-width:430px){body .stt-site-header .stt-site-nav-cta{min-height:40px;padding-inline:16px}}
@media(prefers-reduced-motion:reduce){body .stt-site-header .stt-site-nav-cta::before{animation:none}}

/* Navy Mirage migration: visual roles only. Layout, state classes and motion stay in their original stylesheets. */
:root{
 --stt-ink:var(--color-text);--stt-muted:var(--color-text-secondary);--stt-line:var(--color-border);
 --home-ink:var(--color-text);--home-muted:var(--color-text-secondary);--home-light:var(--color-surface-alt);--home-line:var(--color-border);
 --services-ink:var(--color-text);--services-muted:var(--color-text-secondary);--services-soft:var(--color-surface-alt);--services-line:var(--color-border);
 --ink:var(--color-text);--muted:var(--color-text-secondary);--line:var(--color-border);--sky:var(--color-surface-alt);--navy:var(--color-brand);
}
body,body.services-page,body.catalog-page{background:var(--color-bg);color:var(--color-text)}
body.catalog-page{--catalog-page-bg:var(--color-bg);--catalog-page-ink:var(--color-text);--catalog-brand-bg:var(--color-surface-alt);--catalog-brand-fade:transparent}
body :is(.company-section--white,.home-capabilities,.home-process,.services-worlds){background:var(--color-bg)}
body :is(.company-section--soft,.home-routes,.services-capabilities,.services-form-section){background:var(--color-surface-alt)}
body :is(.company-card,.company-step,.home-capability,.service-list article,.contact-card,.content,.notice,.not-found section){background:var(--color-surface);border-color:var(--color-border)}
body :is(.home-capability-copy h3,.home-process-step h3,.home-routes-copy li strong,.services-section-heading h2,.services-wide-heading h2,.services-process-step h3,.service-form-intro h2,.contact-card h2,.content h2){color:var(--color-text)}
body :is(.home-routes-copy li,.services-process-step>p,.service-form-intro>p,.service-form-privacy,.service-form-group legend em,.contact-card p,.content p,.content li,.catalog-supply-note,.updated){color:var(--color-text-secondary)}
body :is(.home-routes-copy ul,.home-process-step:not(:first-child),.services-process,.service-form,.contact-card span){border-color:var(--color-border)}
body .home-process-step:before{border-color:var(--color-bg);background:var(--color-brand)}
body .services-process{background:var(--color-surface-alt)}
body .services-process-line:before{background:var(--color-border)}
body .services-process-marker{background:var(--color-brand);box-shadow:0 0 0 6px var(--color-surface-alt)}
body :is(.company-kicker,.home-capability-copy span,.home-process-step b,.company-card-icon){color:var(--color-brand)}
body .company-card-icon{background:var(--color-surface-alt)}

/* Preserve transparent hero headers and every existing scroll/menu transition. */
body .stt-site-header.stt-site-header:is(.scrolled,.menu-open){background:var(--color-glass-nav);border-bottom-color:var(--color-border-glass)}
body .stt-site-header.stt-site-header:is(.scrolled,.menu-open) :is(.stt-site-brand,.stt-site-brand strong,.stt-site-nav a,.stt-site-menu-toggle){color:var(--color-text)}
body .stt-site-header.stt-site-header:is(.scrolled,.menu-open) .stt-site-nav a:hover{background:var(--color-hover-wash);color:var(--color-text)}
body .stt-site-header.stt-site-header:is(.scrolled,.menu-open) .stt-site-nav-cta{background:var(--color-hover-wash);color:var(--color-text)}
body .stt-site-header.stt-site-header:is(.scrolled,.menu-open) .stt-site-nav-cta:hover{background:var(--color-pressed-wash);color:var(--color-text)}
body .stt-site-header.stt-site-header .stt-site-nav-cta::before{background:var(--color-metal-ring)}
body:not(.stt-home-page):not(.services-page):not(.catalog-page) .stt-site-header.stt-site-header{background:var(--color-glass-nav);border-bottom-color:var(--color-border-glass)}
@media(max-width:760px){body .stt-site-header.stt-site-header.menu-open .stt-site-nav{background:var(--color-glass-menu);border-color:var(--color-border-glass)}}

/* Photographs stay intact. Tonal overlays belong to the existing photographic layers. */
body .company-hero--cinematic{background:var(--color-deep)}
body .company-hero--cinematic:after{background:var(--color-overlay-hero)}
body .services-hero:before{background:linear-gradient(180deg,rgba(11,20,32,.56),rgba(20,30,48,.47) 45%,rgba(11,20,32,.68))}
body .services-hero:after{background:radial-gradient(circle at center,transparent 12%,rgba(20,30,48,.24))}
body .catalog-hero:after{background:linear-gradient(90deg,rgba(11,20,32,.42),rgba(20,30,48,.15) 48%,transparent 82%),linear-gradient(0deg,rgba(11,20,32,.52),transparent 35%)}
body :is(.home-visual-break,.home-photo-cta,.services-hero,.catalog-hero){background-color:var(--color-deep)}
body :is(.company-hero--cinematic,.services-hero,.catalog-hero,.home-photo-cta) :is(h1,h2){color:var(--color-dark-text)}
body :is(.company-hero--cinematic .company-lead,.services-hero .company-lead,.catalog-hero-lead,.home-photo-cta-copy>p:not(.company-kicker)){color:var(--color-dark-text)}
body .home-photo-cta:after{background:linear-gradient(180deg,rgba(20,30,48,.05),rgba(11,20,32,.72))}

/* CTAs are stronger than secondary controls. Existing transforms and transition timings remain untouched. */
body :is(.company-button--primary,.catalog-button--light,.service-form-actions .company-button,.contact-action--primary,.not-found a:first-child){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
body :is(.company-button--primary,.catalog-button--light,.service-form-actions .company-button,.contact-action--primary,.not-found a:first-child):hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}
body :is(.company-button--primary,.catalog-button--light,.service-form-actions .company-button,.contact-action--primary):active{background:var(--color-primary-pressed);border-color:var(--color-primary-pressed)}
body main .contact-card .contact-action--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
body main .contact-card .contact-action--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}
body :is(.company-button--primary,.catalog-button--light,.service-form-actions .company-button):disabled{background:var(--color-disabled);color:var(--color-on-primary)}
body :is(.show-more,.show-less,.back-link,.chat-link,.quick button,.contact-card .contact-action:not(.contact-action--primary)){background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-text)}
body :is(.show-more,.show-less,.back-link,.chat-link,.quick button,.contact-card .contact-action:not(.contact-action--primary)):hover{background:var(--color-raised);border-color:var(--color-border-strong);color:var(--color-text)}
body :is(.company-button--outline,.catalog-button--outline){border-color:var(--color-dark-muted);color:var(--color-dark-text)}
body .next-step{background:linear-gradient(135deg,var(--stt-brand-navy),var(--stt-brand-steel));color:var(--color-dark-text)}

/* Product data, filters, pagination and availability retain their existing implementation. */
body .catalog-product-stage{background:var(--color-surface);border-color:var(--color-border)}
body .catalog-product-stage .category{background:var(--color-surface)}
body .catalog-product-stage .category-top{background:var(--color-dark-surface)}
body .featured-category{background:var(--color-dark-surface);border-color:var(--color-border-glass);color:var(--color-dark-text)}
body .featured-category:hover{border-color:var(--color-border-strong)}
body .catalog-products .jumpbar{background:var(--color-bg);border-bottom-color:var(--color-border)}
body .catalog-products .jumpbar a{color:var(--color-text-secondary)}
body .catalog-products .jumpbar a:is(:hover,.active){color:var(--color-text)}
body .catalog-products .jumpbar-indicator{background:var(--color-brand)}
body .catalog-products .jumpbar-hover{background:var(--color-hover-wash)}
body .catalog-product-stage .product{border-color:var(--color-border)}
body :is(.product-title,.price){color:var(--color-text)}
body :is(.product-spec,.product-description,.price small,.carousel-count,.pagination-ellipsis){color:var(--color-text-secondary)}
body :is(.availability,.purchase-conditions,.price-note){background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-text-secondary)}
body .catalog-product-stage .carousel-nav{background:var(--color-surface);border-color:var(--color-border)}
body .catalog-product-stage .carousel-nav button{border-color:var(--color-border);color:var(--color-text)}
body .catalog-product-stage .carousel-nav button:hover:not(:disabled),body .pagination-pages .pagination-page[aria-current="page"]{background:var(--color-surface-alt);color:var(--color-text)}
body .brand-showcase{border-color:var(--color-border)}
body .brand-list li{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}
body .brand-list li:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong);color:var(--color-text);box-shadow:none}

/* Solid form controls: never glass cards. */
body .services-form-section .service-form-wrap{background:var(--color-surface);border-color:var(--color-border)}
body .services-form-section .service-form-wrap:before{background-image:none}
body :is(.service-field,.service-form-group legend){color:var(--color-text)}
body .services-form-section .service-form :is(input,textarea,select){background:var(--color-surface-alt);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border)}
body .services-form-section .service-form :is(input,textarea,select)::placeholder{color:var(--color-text-secondary);opacity:1}
body .services-form-section .service-form :is(input,textarea,select):hover{background:var(--color-raised);box-shadow:inset 0 0 0 1px var(--color-border-strong)}
body .services-form-section .service-form :is(input,textarea,select):focus{background:var(--color-surface-alt);box-shadow:inset 0 0 0 1px var(--color-focus),0 0 0 3px var(--color-focus-ring)}
body .services-form-section .service-choice{background:var(--color-surface-alt);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border)}
body .services-form-section .service-choice:hover{background:var(--color-raised);box-shadow:inset 0 0 0 1px var(--color-border-strong)}
body .services-form-section .service-choice:has(input:checked){background:var(--color-selected);color:var(--color-selected-text);border-color:var(--color-brand);box-shadow:inset 0 0 0 1px var(--color-brand)}

/* Quote consumes the same roles as the rest of STT, in both themes. */
.stt-expandable-quote{
 --quote-glass:var(--color-glass-modal);--quote-surface:var(--color-surface-alt);--quote-surface-hover:var(--color-raised);--quote-surface-focus:var(--color-surface-alt);
 --quote-primary:var(--color-primary);--quote-primary-hover:var(--color-primary-hover);--quote-primary-pressed:var(--color-primary-pressed);
 --quote-primary-disabled:var(--color-brand);--quote-on-primary:var(--color-on-primary);
 --quote-text:var(--color-text);--quote-text-secondary:var(--color-text-secondary);--quote-text-tertiary:var(--color-text-secondary);--quote-link:var(--color-brand);
 --quote-border:var(--color-border-glass);--quote-border-hover:var(--color-border-strong);--quote-border-focus:var(--color-focus);--quote-focus-ring:var(--color-focus-ring);
 --quote-segment:var(--color-surface-alt);--quote-segment-active:var(--color-text);--quote-segment-text:var(--color-bg);
 --quote-disabled-surface:var(--color-surface-alt);--quote-disabled-text:var(--color-disabled);--quote-scrim:var(--color-scrim);
 --quote-error:var(--color-error);--quote-error-border:var(--color-error-border);--quote-error-ring:var(--color-error-ring);
 --quote-glass-light:var(--color-mirage-depth);--quote-elevation:inset 0 1px 0 var(--color-glass-highlight),var(--color-modal-shadow);
 --quote-hover-wash:var(--color-hover-wash);--quote-pressed-wash:var(--color-pressed-wash);
}
@media(prefers-color-scheme:dark){.stt-expandable-quote{--quote-surface:var(--color-dark-raised);--quote-segment:var(--color-deep);--quote-link:var(--color-focus)}}

/* Footer is the deep brand anchor in either theme. */
body .site-footer.site-footer--expanded{background:var(--color-deep);color:var(--color-dark-text)}
body .site-footer--expanded :is(.footer-brand-mark,.footer-column h2){color:var(--color-dark-text)}
body .site-footer--expanded :is(.footer-brand p,.footer-bottom p,.footer-legal a,.stt-cookie-preferences){color:var(--color-dark-muted)}
body .site-footer--expanded :is(.footer-page-link,.footer-social){color:var(--color-dark-text)}
body .site-footer--expanded :is(.footer-social,.footer-bottom){border-color:var(--color-border-glass)}
body .site-footer--expanded :is(.footer-page-link,.footer-legal a,.stt-cookie-preferences):hover{color:var(--color-dark-text)}
body :is(.stt-cookie-banner,.stt-cookie-preferences:not(.site-footer .stt-cookie-preferences)){border-color:var(--color-border)}
body .stt-cookie-banner{background:var(--color-glass-menu);color:var(--color-text)}
body .stt-cookie-banner :is(h2,p){color:var(--color-text)}
body .stt-cookie-banner__accept{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}

/* Remaining service highlights use dark roles even in the light environment. */
body .services-page .services-button-primary,body .services-button-primary{background:var(--color-primary);color:var(--color-on-primary)}
body .services-button-primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}
body .services-button-primary:active{background:var(--color-primary-pressed)}
body .services-capability-explorer{border-color:var(--color-dark-raised)}
body .services-capability-detail{background:var(--color-dark-surface)}
body .services-capability-detail h3{color:var(--color-dark-text)}
body .services-capability-kicker{color:var(--color-dark-muted)!important}
body .services-capability-copy>p,body .services-capability-tab{color:var(--color-dark-muted)}
body .services-capability-tab:is(:hover,.is-active){color:var(--color-dark-text)}
body .services-capability-progress{background:var(--color-dark-raised)}
body .services-capability-progress:after{background:var(--color-focus)}
body .services-world{background:var(--color-surface-alt)}
body .services-world h2{color:var(--color-text)}
body .services-world-copy>p:not(.company-kicker){color:var(--color-text-secondary)}
body .services-world-copy li{color:var(--color-text)}
body .services-world--software{background:var(--stt-brand-navy)}
body .services-world--software :is(h2,li){color:var(--color-dark-text)}
body .services-world--software .services-world-copy>p:not(.company-kicker){color:var(--color-dark-muted)}
body .services-world--software .services-world-copy ul{border-color:var(--color-border-glass)}
body .services-context{background:linear-gradient(120deg,var(--color-deep),var(--stt-brand-navy) 62%,var(--stt-brand-steel))}
body .services-context :is(h2,li,.services-context-diagram span,.services-catalog-route a){color:var(--color-dark-text)}
body .services-context-copy>p:not(.company-kicker),body .services-catalog-route p{color:var(--color-dark-muted)}
body :is(.services-context,.services-world--software,.home-photo-cta) .company-kicker{color:var(--color-dark-muted)}
body .services-context-copy li:before{background:var(--color-dark-muted)}
body .services-context-diagram span:before{border-color:var(--color-dark-muted);background:var(--stt-brand-navy)}
body .services-context-diagram i{background:var(--color-dark-muted)}
body .services-form-section .service-form-intro h2{color:var(--color-text)}
body .services-form-section :is(.service-form-intro>p,.service-form-privacy,.service-form-group legend em){color:var(--color-text-secondary)}
body .services-form-section .service-field{color:var(--color-text)}
body .services-form-section .service-form-wrap{box-shadow:0 12px 32px rgba(11,20,32,.06)}
body .company-hero--cinematic .company-eyebrow{color:var(--color-dark-text)}
body .home-visual-break:after{background:rgba(11,20,32,.13)}
@media(prefers-color-scheme:dark){body :is(.company-kicker,.home-capability-copy span,.home-process-step b,.company-card-icon){color:var(--color-focus)}}
body .featured-category:after,body .catalog-product-stage .category-top:after{background:none}
body .catalog-product-stage .category-title small{color:var(--color-dark-muted)}
body .catalog-product-stage .category-title h3{color:var(--color-dark-text)}
body .catalog-product-stage :is(.product-spec,.product-description,.price small,.availability){color:var(--color-text-secondary)}
body .catalog-product-stage .availability{background:var(--color-surface-alt);border-color:var(--color-border)}
body .catalog-product-stage :is(.show-more,.show-less){background:var(--color-surface-alt);color:var(--color-text);border-color:var(--color-border)}
body .catalog-product-stage :is(.show-more,.show-less):hover{background:var(--color-raised);color:var(--color-text);border-color:var(--color-border-strong)}
body .service-choice input{accent-color:var(--color-primary)}
body .service-form-message{background:var(--color-surface-alt);border-color:var(--color-error-border);color:var(--color-error)}
body :is(.company-button,.services-text-link,.catalog-button,.service-choice):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
body .company-button--outline:hover{background:var(--color-hover-wash);color:var(--color-dark-text)}
body .services-button-primary:disabled{background:var(--color-disabled);color:var(--color-on-primary)}
@media(max-width:760px){body .catalog-hero:after{background:linear-gradient(90deg,rgba(11,20,32,.8),rgba(20,30,48,.32) 75%),linear-gradient(0deg,rgba(11,20,32,.55),transparent 45%)}}
body .stt-home-intro{background:var(--color-bg)}
body .stt-home-intro-tagline{color:var(--color-text)}
body .site-footer--expanded .footer-social:hover{background:var(--color-dark-raised);border-color:var(--color-dark-muted);color:var(--color-dark-text)}
body .site-footer--expanded .footer-social:focus-visible{outline-color:var(--color-dark-muted)}
/* Supporting public pages share the same text and surface roles. */
:root{--blue:var(--color-brand)}
body :is(.hero,.intro){background:var(--color-surface-alt);border-color:var(--color-border)}
body :is(.hero h1,.not-found h1,.contact-card strong){color:var(--color-text)}
body :is(.hero p:last-child,.notice,.notice p,.contact-card span,.purchase-facts li){color:var(--color-text-secondary)}
body .contact-card span{background:var(--color-surface-alt);border-color:var(--color-border)}
body :is(.content section,.purchase-conditions,.contact-strip){border-color:var(--color-border)}
body .contact-strip{background:var(--color-surface-alt)}
body .next-step :is(h2,strong){color:var(--color-dark-text)}
body .next-step :is(p,aside p){color:var(--color-dark-muted)}
body .next-step aside{background:var(--color-dark-raised);border-color:var(--color-border-glass)}
body .next-step .contact-action{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
body .next-step .contact-action:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}
@media(prefers-color-scheme:dark){body :is(.eyebrow,.contact-card small,.content a){color:var(--color-focus)}}
