/* Secure Geometry / Swiss Security — shared child-theme design system. */
@font-face{font-family:Sora;src:url('../fonts/sora-variable.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:Geist;src:url('../fonts/geist-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('../fonts/geist-mono-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ts-font-display:Sora,system-ui,sans-serif;--ts-font:Geist,system-ui,sans-serif;--ts-font-main:Geist,system-ui,sans-serif;--ts-font-code:'Geist Mono',monospace;--ts-graphite-950:#0b111b;--ts-graphite-900:#141e2b;--ts-color-primary:#141e2b;--ts-color-accent:#ed5909;--ts-color-text:#243346;--ts-color-text-muted:#596b80;--ts-text-muted:#596b80;--ts-line:#dce1e5;--ts-warm:#faf9f6;--ts-signal:#ed5909;--ts-container-max:1300px;--ts-container-pad:clamp(1.25rem,4vw,2.5rem);--ts-radius:4px;--ts-duration:260ms;--ts-ease:cubic-bezier(.2,.7,.2,1)}
body.telecomsecurity-theme{font-family:var(--ts-font);color:var(--ts-color-text);line-height:1.65}
.telecomsecurity-theme :is(h1,h2,h3,h4,h5,h6){font-family:var(--ts-font-display);letter-spacing:-.035em;line-height:1.18;text-wrap:balance;overflow-wrap:break-word}
.telecomsecurity-theme h1{font-weight:700}.telecomsecurity-theme h2{font-weight:650}.telecomsecurity-theme h3{font-weight:600}
.telecomsecurity-theme :is(.ts-btn,.ts-header-menu>li>a,.ts-mega-links>li>a,.ts-mega-all,button,input[type=submit],.wp-block-button__link){font-family:var(--ts-font-display);font-weight:550}
.telecomsecurity-theme :is(.ts-section-tag,.ts-hero__badge,.ts-chapter-tag,.ts-service-flow-num,.ts-sticky-meta,.ts-method-card__num,.ts-mega-number,.ts-mega-overlay-number,.ts-code){font-family:var(--ts-font-code);font-weight:500;letter-spacing:.075em;font-variant-numeric:tabular-nums}
.ts-container{box-sizing:border-box;width:100%;max-width:var(--ts-container-max);margin-inline:auto;padding-inline:var(--ts-container-pad)}
.ts-geometry{display:block;flex-shrink:0;pointer-events:none}
.ts-geometry :is(path,circle,rect){vector-effect:non-scaling-stroke}
.ts-corners{position:relative}
.ts-corners::after{content:'';position:absolute;inset:12px;z-index:3;pointer-events:none;background:linear-gradient(currentColor,currentColor) top left/22px 1px no-repeat,linear-gradient(currentColor,currentColor) top left/1px 22px no-repeat,linear-gradient(currentColor,currentColor) bottom right/22px 1px no-repeat,linear-gradient(currentColor,currentColor) bottom right/1px 22px no-repeat;opacity:.5}
/* Hero searchlight: a restrained torch beam sweeping only the visual column. */
.ts-hero__container{height:100%;display:flex;align-items:center;padding-top:clamp(88px,9vh,118px)}
.ts-hero__layout{position:relative;display:grid;grid-template-columns:minmax(0,57fr) minmax(420px,43fr);align-items:center;gap:clamp(28px,4vw,64px);width:100%}
.ts-hero__content-box{position:relative;z-index:2;width:100%;max-width:none}
.ts-hero.is-searchlight-pending .ts-hero__content-box{opacity:0;visibility:hidden;transform:translateY(10px);filter:blur(2px);pointer-events:none}
.ts-hero.is-searchlight-revealing .ts-hero__content-box{visibility:visible;pointer-events:none;animation:ts-hero-copy-enter 500ms cubic-bezier(.2,.72,.2,1) both}
.ts-hero:is(.is-searchlight-copy-ready,.is-searchlight-ready) .ts-hero__content-box{opacity:1;visibility:visible;transform:none;filter:none;pointer-events:auto}
.ts-hero__visual{position:relative;z-index:1;display:grid;place-items:center;min-width:0;transform:translateX(3%);isolation:isolate}
.ts-hero-searchlight{position:relative;width:clamp(480px,43vw,760px);max-width:none;aspect-ratio:1.16;overflow:visible;pointer-events:none}
.ts-searchlight__scanner{position:absolute;inset:0;transform:rotate(-9deg) translateY(-2%);transform-origin:92% 50%;animation:ts-searchlight-scan 15s cubic-bezier(.45,.05,.55,.95) 80ms infinite both;animation-play-state:paused}
.ts-searchlight__falloff,.ts-searchlight__beam{position:absolute;inset:7% -4% 7% -32%;display:block;transform:translateZ(0);transform-origin:94% 50%;clip-path:polygon(104% 46%,104% 54%,-4% 96%,-4% 4%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 9%,#000 24%,#000 84%,rgba(0,0,0,.36) 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 9%,#000 24%,#000 84%,rgba(0,0,0,.36) 94%,transparent 100%);mix-blend-mode:screen}
.ts-searchlight__falloff{background:linear-gradient(90deg,rgba(116,185,237,.055) 0%,rgba(136,201,248,.18) 55%,rgba(228,243,255,.42) 100%);filter:blur(28px);opacity:0;transform:translateZ(0) scaleX(.012);transform-origin:96% 50%}
.ts-searchlight__beam{inset:17% -3% 17% -27%;clip-path:polygon(104% 47.5%,104% 52.5%,-4% 82%,-4% 18%);background:linear-gradient(90deg,rgba(153,209,248,.065) 0%,rgba(183,225,253,.22) 52%,rgba(249,253,255,.7) 100%);filter:blur(13px);opacity:0;transform:translateZ(0) scaleX(.012);transform-origin:96% 50%}
.ts-searchlight__hotspot{position:absolute;left:-34%;top:50%;display:block;width:68%;aspect-ratio:1.6;transform:translateY(-50%) scale(.74);border-radius:50%;background:radial-gradient(ellipse,rgba(224,242,255,.42) 0%,rgba(150,209,249,.17) 42%,transparent 74%);filter:blur(20px);mix-blend-mode:screen;opacity:0}
.ts-searchlight__source{position:absolute;right:1%;top:50%;display:block;width:168px;aspect-ratio:1;transform:translate(50%,-50%) scale(.66);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.92) 0 2%,rgba(224,242,255,.5) 7%,rgba(148,206,247,.18) 28%,rgba(96,170,226,.055) 52%,transparent 72%);filter:blur(10px);mix-blend-mode:screen;opacity:0}
.ts-hero.is-searchlight-ignited .ts-searchlight__source{animation:ts-searchlight-source-on 320ms cubic-bezier(.16,1,.3,1) both}
.ts-hero.is-searchlight-ignited .ts-searchlight__falloff{animation:ts-searchlight-grow-falloff 900ms cubic-bezier(.22,.78,.2,1) 80ms both}
.ts-hero.is-searchlight-ignited .ts-searchlight__beam{animation:ts-searchlight-grow-beam 820ms cubic-bezier(.22,.78,.2,1) 120ms both}
.ts-hero.is-searchlight-ignited .ts-searchlight__hotspot{animation:ts-searchlight-land 330ms ease-out 620ms both}
.ts-hero.is-searchlight-ready.is-geometry-visible .ts-searchlight__scanner{animation-play-state:running;will-change:transform}
@keyframes ts-searchlight-source-on{0%{opacity:0;transform:translate(50%,-50%) scale(.66);filter:blur(10px)}72%{opacity:1;transform:translate(50%,-50%) scale(1.035);filter:blur(5px)}100%{opacity:.96;transform:translate(50%,-50%) scale(1);filter:blur(6px)}}
@keyframes ts-searchlight-grow-falloff{0%{opacity:0;transform:translateZ(0) scaleX(.012)}24%{opacity:.48}100%{opacity:.84;transform:translateZ(0) scaleX(1)}}
@keyframes ts-searchlight-grow-beam{0%{opacity:0;transform:translateZ(0) scaleX(.012)}20%{opacity:.68}100%{opacity:.94;transform:translateZ(0) scaleX(1)}}
@keyframes ts-searchlight-land{0%{opacity:0;transform:translateY(-50%) scale(.74);filter:blur(20px)}100%{opacity:.9;transform:translateY(-50%) scale(1);filter:blur(15px)}}
@keyframes ts-hero-copy-enter{0%{opacity:0;transform:translateY(10px);filter:blur(2px)}100%{opacity:1;transform:none;filter:none}}
@keyframes ts-searchlight-scan{0%,100%{transform:rotate(-9deg) translateY(-2%)}27%{transform:rotate(5deg) translateY(1%)}52%{transform:rotate(-2deg) translateY(-1%)}76%{transform:rotate(8deg) translateY(2%)}}
.ts-hero__content-box.ts-corners::after{inset:-28px;opacity:.24;background-size:20px 1px,1px 20px,20px 1px,1px 20px}

.ts-hero__badge{border-radius:var(--ts-radius);box-shadow:none;background:rgba(11,17,27,.28)}
.ts-hero__title{letter-spacing:-.04em!important}
.ts-hero__description{font-weight:400;max-width:64ch}
.ts-btn--hero{box-shadow:none;border-radius:var(--ts-radius)}
.ts-intro__editorial{border-top:1px solid var(--ts-line);padding-top:28px}
.ts-service-symbol{width:36px;height:36px;color:var(--ts-text-muted);transition:color var(--ts-duration)}
.ts-service-flow-item.is-active .ts-service-symbol{color:var(--ts-signal)}
.ts-service-flow-item .ts-service-symbol path{stroke-dasharray:240;stroke-dashoffset:110;transition:stroke-dashoffset 900ms var(--ts-ease)}
.ts-service-flow-item.is-active .ts-service-symbol path{stroke-dashoffset:0}
.ts-services-sticky-frame{color:white;border-radius:var(--ts-radius)}
.ts-sticky-meta{border-radius:2px;box-shadow:none}
.ts-method-card{border-radius:var(--ts-radius);box-shadow:none!important}
.ts-method-card__heading{position:relative}
.ts-method-node{width:22px;height:22px;color:#8190a0;margin-bottom:12px}
.ts-method-node path:first-child{stroke-dasharray:180;stroke-dashoffset:90;transition:stroke-dashoffset 600ms var(--ts-ease),color 260ms}
.ts-method-card:is(.is-active,.is-complete) .ts-method-node{color:var(--ts-signal)}
.ts-method-card:is(.is-active,.is-complete) .ts-method-node path:first-child{stroke-dashoffset:0}
.ts-method-card:is(.is-active,.is-complete) .ts-method-card__num{color:#b64200}
.ts-method__signal-rail{border-radius:0}
.ts-partner-card{border-radius:2px;box-shadow:none;position:relative}
.ts-partner-card::after{content:'';position:absolute;top:10px;left:10px;width:5px;height:5px;border:1px solid #87919b;border-radius:50%;pointer-events:none}
.ts-partner-card:hover::after{border-color:var(--ts-signal)}
.ts-partner-card__logo{filter:none!important;opacity:1!important}
.ts-contact-hub__wrapper{position:relative;isolation:isolate;overflow:hidden}
.ts-cta-perimeter{position:absolute;width:470px;height:470px;left:20%;top:0;color:#d5dce1;opacity:.48;z-index:-1}
.ts-mega-symbol{position:absolute;right:26px;top:26px;z-index:2;color:white;padding:12px;background:#141e2bb3;border-radius:2px}
.ts-mega-symbol .ts-geometry{width:42px;height:42px}
.ts-mega-symbol [hidden]{display:none}
.ts-mega-links>li>a[data-preview-active=true]{background:transparent}
/* Footer: identity, direct contact, navigation and legal close in three clear levels. */
.ts-footer{position:relative;isolation:isolate;overflow:hidden;width:100%;padding:80px 0 18px;background:#111b28;color:#e5eaf0;border-radius:0;font-size:15px}
.ts-footer__watermark{position:absolute;z-index:0;top:110px;left:-180px;width:clamp(420px,38vw,620px);aspect-ratio:1;opacity:.07;pointer-events:none;user-select:none}
.ts-footer__watermark-image{display:block;width:100%;height:100%;object-fit:contain}
.ts-footer__container{position:relative;z-index:1;width:100%;max-width:var(--ts-container-max);padding-inline:var(--ts-container-pad)}
.ts-footer__perimeter{position:absolute;top:-52px;right:0;left:0;height:1px;background:#ffffff20;transform-origin:left}
.ts-footer__perimeter span{position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--ts-signal)}
.ts-footer__main{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:clamp(100px,8vw,140px);align-items:start;margin-bottom:44px}
.ts-footer__identity,.ts-footer__contacts{min-width:0}
.ts-footer__brand{display:inline-flex;align-items:center;gap:18px;max-width:100%;min-height:68px;color:#f7f9fb;text-decoration:none}
.ts-footer__logo{display:block;flex-shrink:0;width:auto;height:68px;max-width:290px;object-fit:contain}
.ts-footer__brand-name{font:500 clamp(20px,1.55vw,23px)/1.25 var(--ts-font-display);letter-spacing:.015em}
.ts-footer__brand-name strong{font-weight:750}
.ts-footer__brand.has-horizontal-logo .ts-footer__brand-name{display:none}
.ts-footer .ts-footer__heading{max-width:15ch;margin:26px 0 18px;color:#f7f9fb;font:650 clamp(38px,3vw,46px)/1.1 var(--ts-font-display);letter-spacing:-.035em;text-wrap:balance}
.ts-footer__tagline{max-width:50ch;margin:0 0 22px;color:#bac5d0;font-size:16px;line-height:1.7}
.ts-footer .ts-footer__contact-title{margin:0 0 12px;color:#c6d0da;font:500 12px/1.5 var(--ts-font-code);letter-spacing:.1em;text-transform:uppercase}
.ts-footer__contact-list{margin:0;font-style:normal}
.ts-footer__contact-row{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) 24px;align-items:center;gap:18px;min-height:76px;padding:18px 0;border-bottom:1px solid #ffffff24;color:#e5eaf0;text-decoration:none}
.ts-footer__contact-row:first-child{border-top:1px solid #ffffff24}
.ts-footer__contact-label{color:#aebdcb;font:500 12px/1.5 var(--ts-font-code);letter-spacing:.065em;text-transform:uppercase;transition:color 300ms ease}
.ts-footer__contact-copy{display:block;min-width:0;transition:transform 300ms var(--ts-ease)}
.ts-footer__value{display:block;font:500 clamp(20px,1.55vw,24px)/1.22 var(--ts-font);letter-spacing:-.02em;overflow-wrap:anywhere;transition:color 300ms ease}
.ts-footer__arrow{justify-self:end;color:#aebdcb;font-size:22px;transition:transform 300ms var(--ts-ease),color 300ms ease}
.ts-footer__contact-row--phones .ts-footer__contact-copy{grid-column:2/4}
.ts-footer__phone-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.ts-footer__phone-item{position:relative;display:grid;gap:3px;min-width:0;padding:10px 28px 10px 0;color:#e5eaf0;text-decoration:none;border-bottom:1px solid #ffffff14}
.ts-footer__phone-kind{color:#8f9eae;font:600 9px/1.4 var(--ts-font-code);letter-spacing:.09em;text-transform:uppercase;transition:color 260ms ease}
.ts-footer__phone-arrow{position:absolute;right:2px;bottom:11px;color:#aebdcb;font-size:16px;transition:transform 280ms var(--ts-ease),color 260ms ease}
.ts-footer__credentials{display:grid;grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr);gap:clamp(42px,6vw,86px);align-items:center;padding:30px 0 32px;border-top:1px solid #ffffff24}
.ts-footer__credentials-heading{min-width:0}
.ts-footer__credentials-kicker{margin:0 0 10px;color:#ff8a4b;font:600 10px/1.4 var(--ts-font-code);letter-spacing:.11em;text-transform:uppercase}
.ts-footer .ts-footer__credentials-heading h2{max-width:13ch;margin:0;color:#f7f9fb;font:640 clamp(25px,2.25vw,34px)/1.08 var(--ts-font-display);letter-spacing:-.03em;text-wrap:balance}
.ts-footer__credentials-heading>p:last-child{max-width:34ch;margin:15px 0 0;color:#9fabb8;font-size:13px;line-height:1.6}
.ts-footer__credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.ts-footer__credential-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-width:0;min-height:156px;padding:22px 24px;overflow:hidden;border:1px solid #ffffff20;color:#f7f9fb;text-decoration:none;transition:transform 320ms var(--ts-ease),border-color 260ms ease,box-shadow 320ms ease}
.ts-footer__credential-card--swisscom{background:#f5f7f9;color:#111b28}
.ts-footer__credential-card--iso{background:#172332}
.ts-footer__credential-copy{display:grid;gap:7px;min-width:0}
.ts-footer__credential-label{color:#aebdcb;font:600 9px/1.4 var(--ts-font-code);letter-spacing:.11em;text-transform:uppercase}
.ts-footer__credential-card--swisscom .ts-footer__credential-label{color:#637184}
.ts-footer__credential-copy strong{font:630 clamp(20px,1.65vw,25px)/1.12 var(--ts-font-display);letter-spacing:-.025em}
.ts-footer__credential-copy small{max-width:22ch;color:#aebdcb;font-size:11px;line-height:1.45}
.ts-footer__credential-logo{display:block;width:auto;max-width:100%;object-fit:contain;transition:transform 360ms var(--ts-ease)}
.ts-footer__credential-logo--swisscom{width:clamp(105px,9vw,138px);max-height:106px}
.ts-footer__credential-logo--iso{width:clamp(82px,7vw,106px);max-height:112px}
.ts-footer__credential-arrow{position:absolute;right:14px;top:12px;color:#687789;font-size:15px;transition:color 260ms ease,transform 280ms var(--ts-ease)}
.ts-footer__navigation{border-top:1px solid #ffffff24;padding:14px 0}
.ts-footer__menu{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 32px;list-style:none;margin:0;padding:0}
.ts-footer__menu li{margin:0;padding:0;list-style:none}
.ts-footer__menu a{position:relative;display:inline-flex;align-items:center;min-height:42px;color:#c4ced8;text-decoration:none;font-size:15px;transition:color 300ms ease}
.ts-footer__menu a::after{content:'';position:absolute;bottom:7px;left:0;width:12px;height:1px;background:var(--ts-signal);transform:scaleX(0);transform-origin:left;transition:transform 300ms var(--ts-ease)}
.ts-footer__legal{display:flex;justify-content:space-between;align-items:center;gap:14px 28px;border-top:1px solid #ffffff24;margin:0;padding-top:16px;color:#aeb9c6;font-size:12px;line-height:1.55}
.ts-footer__legal p{margin:0}
.ts-footer__legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}
.ts-footer__legal-links a{color:#c4ced8;text-decoration:none;transition:color 300ms ease}
.ts-footer__admin-link{white-space:nowrap}
.ts-footer a:focus-visible{outline:2px solid #ff8a4b;outline-offset:4px}
@media(hover:hover) and (pointer:fine){
 .ts-footer a.ts-footer__contact-row:hover .ts-footer__contact-copy{transform:translateX(4px)}
 .ts-footer a.ts-footer__contact-row:hover .ts-footer__value,.ts-footer__menu a:hover,.ts-footer__legal-links a:hover{color:#fff}
 .ts-footer a.ts-footer__contact-row:hover .ts-footer__contact-label,.ts-footer a.ts-footer__contact-row:hover .ts-footer__arrow{color:#ff8a4b}
 .ts-footer a.ts-footer__contact-row:hover .ts-footer__arrow{transform:translate(3px,-3px)}
 .ts-footer a.ts-footer__phone-item:hover :is(.ts-footer__phone-kind,.ts-footer__phone-arrow){color:#ff8a4b}
 .ts-footer a.ts-footer__phone-item:hover .ts-footer__value{color:#fff}
 .ts-footer a.ts-footer__phone-item:hover .ts-footer__phone-arrow{transform:translate(2px,-2px)}
 .ts-footer a.ts-footer__credential-card:hover{transform:translateY(-3px);border-color:#ffffff52;box-shadow:0 16px 36px #00000026}
 .ts-footer a.ts-footer__credential-card:hover .ts-footer__credential-logo{transform:scale(1.035)}
 .ts-footer a.ts-footer__credential-card:hover .ts-footer__credential-arrow{color:#ed5909;transform:translate(2px,-2px)}
 .ts-footer__menu a:hover::after{transform:scaleX(1)}
}
.ts-footer.is-motion-ready:not(.is-revealed) :is(.ts-footer__identity,.ts-footer__contact-row){opacity:0;transform:translateY(8px)}
.ts-footer.is-motion-ready:not(.is-revealed) :is(.ts-footer__credentials,.ts-footer__navigation,.ts-footer__legal){opacity:0}
.ts-footer.is-motion-ready:not(.is-revealed) .ts-footer__perimeter{transform:scaleX(0)}
.ts-footer.is-revealed :is(.ts-footer__identity,.ts-footer__contact-row){opacity:1;transform:none;transition:opacity 320ms ease,transform 380ms var(--ts-ease)}
.ts-footer.is-revealed .ts-footer__contact-row:nth-child(1){transition-delay:50ms}
.ts-footer.is-revealed .ts-footer__contact-row:nth-child(2){transition-delay:100ms}
.ts-footer.is-revealed .ts-footer__contact-row:nth-child(3){transition-delay:150ms}
.ts-footer.is-revealed :is(.ts-footer__credentials,.ts-footer__navigation,.ts-footer__legal){opacity:1;transition:opacity 320ms ease 180ms}
.ts-footer.is-revealed .ts-footer__perimeter{transform:scaleX(1);transition:transform 420ms var(--ts-ease)}
@media(max-width:1100px){
 .ts-footer{padding-top:72px}
 .ts-footer__perimeter{top:-46px}
 .ts-footer__main{gap:60px;grid-template-columns:minmax(0,42fr) minmax(0,58fr);margin-bottom:44px}
 .ts-footer__brand{gap:15px;min-height:58px}
 .ts-footer__logo{height:58px;max-width:250px}
 .ts-footer__brand-name{font-size:19px}
 .ts-footer .ts-footer__heading{font-size:38px}
 .ts-footer__contact-row{grid-template-columns:78px minmax(0,1fr) 18px;gap:15px;min-height:74px;padding-block:18px}
 .ts-footer__value{font-size:21px}
 .ts-footer__menu{justify-content:flex-start;gap:0 34px}
 .ts-footer__legal{flex-wrap:wrap}
}
@media(max-width:900px){
 .ts-footer{padding-top:68px}
 .ts-footer__perimeter{top:-42px}
 .ts-footer__main{grid-template-columns:1fr;gap:44px;margin-bottom:42px}
 .ts-footer__identity{max-width:620px}
 .ts-footer .ts-footer__heading{max-width:18ch}
 .ts-footer__contact-row{grid-template-columns:96px minmax(0,1fr) 20px;gap:20px}
 .ts-footer__value{font-size:22px}
 .ts-footer__credentials{grid-template-columns:1fr;gap:28px}
 .ts-footer .ts-footer__credentials-heading h2{max-width:18ch}
}
@media(max-width:767px){
 .ts-footer{padding:60px 0 20px}
 .ts-footer__perimeter{top:-36px}
 .ts-footer__main{grid-template-columns:1fr;gap:44px;margin-bottom:38px}
 .ts-footer .ts-footer__heading{font-size:34px;max-width:17ch;margin:22px 0 16px}
 .ts-footer__brand{gap:14px;min-height:56px}
 .ts-footer__brand-name{font-size:17px}
 .ts-footer__logo{height:56px;max-width:240px}
 .ts-footer__tagline{font-size:15px;line-height:1.65;margin-bottom:20px}
 .ts-footer .ts-footer__contact-title{margin-bottom:10px}
 .ts-footer__contact-row{grid-template-columns:minmax(0,1fr) 20px;gap:8px 14px;min-height:0;padding-block:18px}
 .ts-footer__contact-label{grid-column:1;font-size:12px}
 .ts-footer__contact-copy{grid-column:1}
 .ts-footer__arrow{grid-column:2;grid-row:1/3}
 .ts-footer__value{font-size:20px}
 .ts-footer__contact-row--phones .ts-footer__contact-copy{grid-column:1/3}
 .ts-footer__phone-list{grid-template-columns:1fr;gap:4px}
 .ts-footer__phone-item{padding-block:9px}
 .ts-footer__watermark{top:150px;left:-130px;width:360px}
 .ts-footer__credentials{gap:22px;padding-block:24px 28px}
 .ts-footer__credential-grid{grid-template-columns:1fr;gap:12px}
 .ts-footer__credential-card{min-height:138px;padding:20px 22px}
 .ts-footer__credential-logo--swisscom{width:min(34vw,124px);max-height:92px}
 .ts-footer__credential-logo--iso{width:min(28vw,94px);max-height:98px}
 .ts-footer__navigation{padding-block:14px}
 .ts-footer__menu{justify-content:flex-start;gap:0 24px}
 .ts-footer__menu a{font-size:15px}
 .ts-footer__legal{align-items:flex-start;flex-direction:column;font-size:13px;gap:8px;padding-top:16px}
 .ts-footer__legal-links{gap:0 18px}
 .ts-footer__legal-links a{display:inline-flex;align-items:center;min-height:44px}
}
@media(prefers-reduced-motion:reduce){
 .ts-footer *, .ts-footer *::after{transition:none!important}
 .ts-footer:is(.is-motion-ready,.is-revealed) :is(.ts-footer__perimeter,.ts-footer__identity,.ts-footer__contact-row,.ts-footer__credentials,.ts-footer__navigation,.ts-footer__legal){opacity:1;transform:none}
 .ts-footer a.ts-footer__contact-row:hover :is(.ts-footer__contact-copy,.ts-footer__arrow){transform:none}
}
/* Shared internal-page composition: native content stays inside entry-content. */
.ts-page{padding:clamp(48px,7vw,100px) var(--ts-container-pad) 80px;min-height:60vh}
.ts-page-heading{position:relative;padding:0 0 44px;border-bottom:1px solid var(--ts-line);margin-bottom:48px}
.ts-page-heading h1{font-size:clamp(32px,4.4vw,64px);max-width:1050px;margin:18px 0 0;color:var(--ts-graphite-950)}
.ts-page-heading>.ts-geometry{color:var(--ts-signal);width:44px;height:44px}
.ts-code{font-size:12px;color:#a43d00}
.ts-page-lead{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.ts-page .entry-content{font-size:18px;max-width:72ch;overflow-wrap:anywhere}
.ts-legal-page{max-width:1180px}
.ts-legal-page .ts-page-heading{margin-bottom:56px}
.ts-legal-page .entry-content{max-width:78ch;font-size:17px;line-height:1.75}
.ts-legal-page .entry-content .ts-legal-meta{margin:0 0 30px;color:var(--ts-color-text-muted);font-size:14px}
.ts-legal-page .entry-content h2{margin:48px 0 14px;color:var(--ts-graphite-950);font-size:clamp(24px,2.5vw,32px);letter-spacing:-.025em}
.ts-legal-page .entry-content :is(p,ul){margin-top:0;margin-bottom:18px}
.ts-legal-page .entry-content li+li{margin-top:8px}
.ts-legal-page .entry-content a{color:#9f3900;text-underline-offset:3px}
.ts-legal-page .entry-content code{font-family:var(--ts-font-code);font-size:.88em}
.ts-page .entry-content h2{font-size:clamp(24px,2.5vw,36px);margin-top:40px}
.ts-page .entry-content> :first-child{margin-top:0}
.ts-page-photo{margin:0;position:relative;color:white;overflow:hidden;border-radius:var(--ts-radius)}
.ts-page-photo img{display:block;width:100%;height:clamp(340px,48vw,660px);object-fit:cover}
.ts-page-nav{margin-top:80px;padding-top:32px;border-top:1px solid var(--ts-line)}
.ts-page-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.ts-page-nav a{display:flex;gap:20px;align-items:center;min-height:64px;padding:16px 0;border-bottom:1px solid var(--ts-line);text-decoration:none;color:var(--ts-color-text)}
.ts-page-nav a:hover{color:#b64200}
.ts-page-nav .ts-geometry{width:26px;height:26px;margin-left:auto;color:var(--ts-signal)}
.ts-page-link{font-family:var(--ts-font-display);display:inline-flex;gap:20px;align-items:center;min-height:44px;color:var(--ts-color-primary);text-decoration:none;border-bottom:1px solid var(--ts-signal);margin-top:24px}
.ts-page-link span{transition:transform var(--ts-duration)}.ts-page-link:hover span{transform:translateX(4px)}
.ts-page :is(input:not([type=checkbox]):not([type=radio]),textarea,select){font-family:var(--ts-font);border:1px solid #8998a7;border-radius:2px;max-width:100%;padding:12px;min-height:44px}
.ts-page :is(a,button,input,textarea,select):focus-visible{outline:2px solid #b64200;outline-offset:4px}
.ts-page .wp-block-gallery{gap:24px}.ts-page .wp-block-gallery img{border-radius:2px;transition:transform 500ms var(--ts-ease)}
.ts-page .wp-block-gallery figure{overflow:hidden;position:relative}.ts-page .wp-block-gallery figure:hover img{transform:scale(1.025)}
@media(max-width:1199px){.ts-hero__layout{grid-template-columns:minmax(0,58fr) minmax(360px,42fr);gap:20px}.ts-hero-searchlight{width:min(54vw,620px);opacity:.62}.ts-page-lead{gap:32px}.ts-mega-symbol{display:none}}
@media(min-width:768px) and (max-width:1023px){.ts-hero__layout{display:block}.ts-hero__content-box{max-width:74%}.ts-hero__visual{position:absolute;right:-8%;top:50%;width:min(56vw,520px);transform:translateY(-50%);opacity:.42}.ts-hero-searchlight{width:100%}}
@media(max-width:767px){.ts-hero__container{padding-top:76px}.ts-hero__layout{display:block}.ts-hero__content-box{max-width:100%}.ts-hero__visual{position:absolute;z-index:0;left:50%;top:50%;width:100vw;transform:translate(-50%,-47%);opacity:.2}.ts-hero-searchlight{width:108vw}.ts-searchlight__hotspot{display:none}.ts-searchlight__falloff{filter:blur(18px)}.ts-hero__content-box.ts-corners::after,.ts-cta-perimeter{display:none}.ts-page-lead,.ts-page-nav ul{grid-template-columns:1fr}.ts-page-photo img{height:380px}.ts-page .entry-content{font-size:17px}.ts-page-heading{margin-bottom:32px;padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.ts-geometry *{animation:none!important;stroke-dashoffset:0!important;transition:none!important}.ts-page *{transition:none!important}.ts-service-symbol path{stroke-dashoffset:0!important}}

.ts-contact-details{font-style:normal;border-top:1px solid var(--ts-line);padding-top:32px;margin-top:40px;font-size:20px}.ts-contact-details>.ts-geometry{color:var(--ts-signal);width:32px;height:32px}.ts-contact-details a{color:var(--ts-color-primary)}
.ts-privacy{display:flex;align-items:start;gap:12px}.ts-privacy::after{content:"";width:16px;height:18px;border:1px solid currentColor;border-radius:8px 8px 2px 2px;flex-shrink:0}

/* Keep at most the background video and perimeter moving in the hero. */
.ts-hero .ts-signal-pulse,.ts-hero .ts-hero__scroll-line,.ts-hero .ts-hero__video{animation:none}
.ts-mega-visual.ts-corners::after{color:white}
.ts-intro__facts.is-motion-ready:not(.is-revealed) .ts-intro-fact{opacity:0;transform:translateY(12px)}
.ts-intro__facts.is-revealed .ts-intro-fact{opacity:1;transform:none;transition:opacity 360ms ease,transform 460ms var(--ts-ease)}
.ts-intro__facts.is-revealed [data-proof-step="2"]{transition-delay:80ms}
.ts-intro__facts.is-revealed [data-proof-step="3"]{transition-delay:160ms}
@media(prefers-reduced-motion:reduce){.ts-intro__facts .ts-intro-fact{opacity:1!important;transform:none!important;transition:none!important}}
.ts-btn--hero{background:#bb4300}.ts-btn--hero:hover{background:#9c3900}
.ts-services-page{max-width:var(--ts-container-max);padding-bottom:clamp(88px,9vw,136px)}
.ts-services-page .entry-content{max-width:100%}
.ts-services-page .ts-page-heading{margin-bottom:42px}
.ts-services-index{list-style:none;padding:0;columns:2;column-gap:clamp(28px,5vw,76px)}
.ts-services-index li{position:relative;break-inside:avoid;margin:0;border-bottom:1px solid var(--ts-line)}
.ts-services-index a{position:relative;display:flex;align-items:baseline;gap:10px;min-height:48px;padding:11px 28px 11px 0;color:var(--ts-color-text);text-decoration:none;transition:color 280ms ease}
.ts-services-index a::before{content:'';position:absolute;left:0;bottom:-1px;width:36px;height:1px;background:var(--ts-signal);opacity:0;transform:scaleX(.2);transform-origin:left;transition:opacity 280ms ease,transform 280ms ease}
.ts-services-index a::after{content:'↗';position:absolute;right:2px;top:50%;color:var(--ts-signal);font-size:14px;opacity:0;transform:translate(-4px,-50%);transition:opacity 280ms ease,transform 280ms ease}
.ts-services-index a .ts-code{flex:0 0 auto;transition:color 260ms ease}
.ts-services-index__title{min-width:0;transition:transform 280ms ease}
.ts-service-title--single-line{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;text-wrap:nowrap!important}
@media(hover:hover){.ts-services-index a:hover{color:var(--ts-graphite-950)}.ts-services-index a:hover .ts-code{color:var(--ts-signal)}.ts-services-index a:hover .ts-services-index__title{transform:translateX(4px)}.ts-services-index a:hover::before{opacity:1;transform:scaleX(1)}.ts-services-index a:hover::after{opacity:1;transform:translate(0,-50%)}}
.ts-services-index a:focus-visible{outline:2px solid #b64200;outline-offset:3px}.ts-services-index a:focus-visible .ts-services-index__title{transform:translateX(4px)}.ts-services-index a:focus-visible::before,.ts-services-index a:focus-visible::after{opacity:1}.ts-services-index a:focus-visible::before{transform:scaleX(1)}.ts-services-index a:focus-visible::after{transform:translate(0,-50%)}
.ts-services-index a[aria-current=true]{color:var(--ts-graphite-950)}
.ts-services-index a[aria-current=true] .ts-code{color:var(--ts-signal)}
.ts-services-index a[aria-current=true]::before{opacity:1;transform:scaleX(1)}

/* Services archive: one controlled, server-rendered visualizer. */
.ts-service-viewer{position:relative;margin-top:clamp(72px,8vw,112px);border-top:1px solid var(--ts-line);border-bottom:1px solid var(--ts-line);scroll-margin-top:clamp(88px,9vw,124px)}
.ts-service-viewer.is-targeted{animation:ts-viewer-target 1s ease-out}
@keyframes ts-viewer-target{0%,100%{border-top-color:var(--ts-line)}20%{border-top-color:var(--ts-signal)}}
.ts-service-viewer__panels{display:grid}
.ts-service-viewer__panel{grid-area:1/1;min-width:0;background:var(--ts-warm)}
.ts-service-viewer__panel[hidden]{display:none}
.ts-service-viewer__media{display:block;width:100%;height:clamp(270px,21vw,320px);margin:0;overflow:hidden;background:#e5e8e9;border-radius:2px 2px 0 0}
.ts-service-viewer__image,.ts-service-viewer__media .ts-service-placeholder{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--ts-media-position,50% 50%)}
.ts-service-viewer__info{display:grid;grid-template-columns:minmax(72px,10fr) minmax(0,52fr) minmax(260px,38fr);gap:clamp(24px,2.2vw,34px);align-items:start;min-height:224px;box-sizing:border-box;padding:clamp(44px,3.4vw,50px) clamp(32px,3.2vw,48px) clamp(48px,3.8vw,58px)}
.ts-service-viewer__number{margin:7px 0 0;color:#9f3900;font:550 12px/1.5 var(--ts-font-code);letter-spacing:.08em;white-space:nowrap}
.ts-service-viewer__title{margin:0;color:var(--ts-graphite-950);font:650 clamp(42px,3.4vw,54px)/1.02 var(--ts-font-display);letter-spacing:-.045em;text-wrap:balance;overflow-wrap:break-word}
.ts-service-viewer__title.is-long-title{font-size:clamp(32px,2.5vw,40px);line-height:1.04;letter-spacing:-.035em}
.ts-service-viewer__title.ts-service-title--single-line{font-size:clamp(34px,3vw,48px)}
.ts-service-viewer__copy{max-width:56ch;min-width:0;color:var(--ts-color-text-muted);font-size:16px;line-height:1.65}
.ts-service-viewer__copy p{margin:0}.ts-service-viewer__copy .ts-page-link{position:relative;margin-top:22px;color:var(--ts-graphite-950);border-bottom:0}
.ts-service-viewer__copy .ts-page-link::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--ts-signal);transform-origin:left;transition:right 300ms ease}
@media(hover:hover){.ts-service-viewer__copy .ts-page-link:hover::after{right:-6px}.ts-service-viewer__copy .ts-page-link:hover span{transform:translateX(5px)}}
.ts-service-viewer__copy .ts-page-link:focus-visible{outline:2px solid #b64200;outline-offset:4px}.ts-service-viewer__copy .ts-page-link:focus-visible::after{right:-6px}

@media(max-width:1023px){
 .ts-services-index a{padding-right:52px}
 .ts-service-viewer__media{height:clamp(260px,30vw,290px)}
 .ts-service-viewer__info{grid-template-columns:80px minmax(0,1fr);gap:22px 30px;min-height:292px;padding:38px 72px 44px 28px}
 .ts-service-viewer__title{font-size:clamp(38px,5vw,46px)}
 .ts-service-viewer__title.is-long-title{font-size:clamp(32px,4.2vw,38px)}
 .ts-service-viewer__title.ts-service-title--single-line{font-size:clamp(30px,4.6vw,40px)}
 .ts-service-viewer__copy{grid-column:2;max-width:64ch}
}
@media(max-width:767px){
 .ts-services-index{columns:1}
 .ts-services-index a{padding-right:24px}
 .ts-service-viewer{margin-top:64px;scroll-margin-top:88px}
 .ts-service-viewer__media{height:auto;aspect-ratio:4/3}
 .ts-services-page .ts-page-heading{margin-bottom:30px}
 .ts-service-viewer__info{display:block;min-height:390px;padding:36px 24px 44px}
 .ts-service-viewer__number{margin:0 0 12px}
 .ts-service-viewer__title{font-size:clamp(30px,8.4vw,36px)}
 .ts-service-viewer__title.is-long-title{font-size:clamp(28px,7.4vw,34px);line-height:1.08}
 .ts-service-viewer__title.ts-service-title--single-line{font-size:clamp(24px,7vw,32px)}
 .ts-service-viewer__copy{margin-top:20px;font-size:16px}
 .ts-service-viewer__copy .ts-page-link{min-height:44px;margin-top:18px}
}

.ts-contact-hub__card{border-radius:var(--ts-radius);box-shadow:none;border:1px solid var(--ts-line)}

@media(prefers-reduced-motion:reduce){.ts-hero-searchlight{opacity:.9;filter:none;animation:none!important}.ts-searchlight__scanner{animation:none!important;transform:rotate(-3deg)}.ts-searchlight__falloff,.ts-searchlight__beam,.ts-searchlight__hotspot,.ts-searchlight__source{transition:none!important;animation:none!important}.ts-searchlight__falloff{opacity:.84;transform:translateZ(0) scaleX(1)}.ts-searchlight__beam{opacity:.94;transform:translateZ(0) scaleX(1)}.ts-searchlight__hotspot{opacity:.9;transform:translateY(-50%) scale(1);filter:blur(15px)}.ts-searchlight__source{opacity:.96;transform:translate(50%,-50%) scale(1);filter:blur(6px)}}
@media(prefers-reduced-motion:reduce){.ts-service-viewer.is-targeted{animation:none!important}}
.ts-footer__credentials:not(:has(.ts-footer__credentials-heading)){grid-template-columns:1fr}.ts-footer__credential-card--training{background:#fff;color:#111b28}.ts-footer__credential-card--training .ts-footer__credential-label,.ts-footer__credential-card--training .ts-footer__credential-copy small{color:#637184}.ts-footer__credential-logo--training{width:clamp(84px,7.5vw,110px);max-height:110px}
@media(min-width:1101px){.ts-footer__credential-grid.has-training{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1100px){.ts-footer__credential-grid.has-training{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-footer__credential-grid.has-training>.ts-footer__credential-card--training{grid-column:1/-1}}
@media(max-width:767px){.ts-footer__credential-logo--training{width:min(26vw,92px)}}

/* Servizi: elenco completo (titolo, testo, immagine, link) al posto del visualizzatore a schede */
.ts-service-viewer.is-list{border-bottom:0}.ts-service-viewer.is-list .ts-service-viewer__panels{gap:clamp(40px,5vw,72px)}.ts-service-viewer.is-list .ts-service-viewer__panel{grid-area:auto;scroll-margin-top:120px}
