/* Viroopa Technologies · light mountain direction · v2.0
   Design values: the shared source of layout, colour and type settings. */
:root {
  --white:#fff; --mist:#f8fafd; --ice:#eef5fb; --cats:#f3f7fc;
  --ink:#172d42; --muted:#54677a; --quiet:#5e7285; --line:#dfe7ee;
  --navy:#16364d; --navy-light:#244960; --blue:#236eaf; --focus:#256caf;
  --serif:"Times New Roman",Georgia,serif; --sans:Arial,Helvetica,sans-serif;
  --content:84rem; --header-content:84rem; --gutter:4rem;
  --h1:4.5rem; --h2:3.5rem; --button-radius:999px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a,button,summary{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
button,a,summary{touch-action:manipulation}
button[hidden],[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
svg{display:block;flex:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
::selection{background:#d7eafb;color:var(--ink)}
.container{width:min(var(--content),calc(100% - 2*var(--gutter)));margin-inline:auto}
.icon{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{font:600 .65625rem/1rem var(--sans);letter-spacing:.125rem;text-transform:uppercase;color:var(--quiet)}
.body-copy{font:400 1.0625rem/1.6 var(--sans);color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;z-index:100;left:1.5rem;top:1rem;transform:translateY(-180%);background:#fff;color:var(--ink);padding:.75rem 1rem;border:1px solid var(--line);border-radius:.625rem}
.skip-link:focus{transform:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.875rem;min-height:3.125rem;padding:.875rem 1.5rem;border:1px solid rgba(255,255,255,.32);border-radius:var(--button-radius);font:500 .875rem/1.25rem var(--sans);text-decoration:none;color:white;background:linear-gradient(145deg,var(--navy-light),var(--navy));box-shadow:0 5px 16px #17364d1a;transition:background .16s,transform .16s,box-shadow .16s}
.btn .icon{transition:transform .16s}
.btn:hover{background:linear-gradient(145deg,#315e7b,#254f6b);transform:translateY(-1px);box-shadow:0 7px 18px #17364d22}
.btn:hover .arrow{transform:translateX(2px)}
.btn:active{transform:none;box-shadow:0 2px 7px #17364d1a}
.btn-secondary{background:#ffffffd6;color:var(--ink);border-color:#879aac;box-shadow:none}
.btn-secondary:hover{background:var(--ice);box-shadow:none;border-color:#647f96}
.btn-telegram{background:linear-gradient(105deg,#1678b7,#236eb2);gap:.6875rem}
.btn-telegram:hover{background:linear-gradient(105deg,#1879b4,#1d5f9b)}
.btn-telegram .telegram-disc{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:#ffffff17;margin:-.35rem 0 -.35rem -.35rem}
.btn-telegram .icon{width:1.25rem;height:1.25rem}
.text-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--blue);font:.75rem/1.125rem var(--sans);text-underline-offset:3px;min-height:1.5rem}
.text-link .icon{width:.875rem;height:.875rem}
.text-link:hover{color:var(--navy)}
/* Header */
.site-header{position:relative;z-index:20;background:var(--white)}
.header-inner{width:min(var(--header-content),calc(100% - 2*var(--gutter)));margin-inline:auto;min-height:5.5rem;display:flex;align-items:center;gap:1.875rem}
.brand{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink);flex:none}
.brand-name{font:400 1.5625rem/1.625rem var(--serif);letter-spacing:.2625rem}
.brand-sub{font:600 .5rem/.75rem var(--sans);letter-spacing:.15625rem;margin-top:3px}
.header-brand{margin-right:auto}
.desktop-nav{display:flex;align-items:center;gap:1.625rem}
.desktop-nav a{display:flex;align-items:center;min-height:2.625rem;font:.875rem/1.25rem var(--sans);text-decoration:none;color:var(--muted);white-space:nowrap}
.desktop-nav a:hover{text-decoration:underline;color:var(--ink);text-underline-offset:5px}
.header-actions{display:flex;align-items:center;gap:1.25rem}
.language-switch{display:flex;align-items:center;position:relative;isolation:isolate;width:5.125rem;min-height:2.75rem;gap:0;padding:0 3px;flex:none}
.language-switch::before{content:"";position:absolute;left:0;right:0;height:2.125rem;top:50%;transform:translateY(-50%);background:#f0f3f6;border-radius:999px;z-index:-2}
.language-switch a{position:relative;display:flex;align-items:center;justify-content:center;flex:1;align-self:stretch;font:600 .6875rem/1rem var(--sans);text-decoration:none;color:var(--quiet);border-radius:999px}
.language-switch a[aria-current="page"]{color:var(--ink)}
.language-switch a[aria-current="page"]::before{content:"";position:absolute;height:1.75rem;inset-inline:0;top:50%;transform:translateY(-50%);background:#fff;border-radius:999px;box-shadow:0 2px 6px #29435b0d;z-index:-1}
.language-switch a:hover{color:var(--blue)}
.header-contact{min-height:2.625rem;padding:.625rem 1.125rem;font-size:.75rem;gap:.625rem;white-space:nowrap}
.header-contact .icon{width:1rem;height:1rem}
.mobile-menu{display:none}
/* Composition revision v2: the reference is a continuous illustrated page,
   not a row of small assets separated by empty panels. */
/* Hero */
.hero{position:relative;isolation:isolate;min-height:39.5rem;background:linear-gradient(115deg,#fff 12%,#fafbfd 49%,#eaf2fa 100%);overflow:clip}
.hero-wrap{position:relative;z-index:2;padding-top:4rem;padding-bottom:5.25rem;pointer-events:none}
.hero-copy{width:41.75rem;max-width:52%;pointer-events:auto}
.hero h1{font-size:var(--h1);line-height:1.025;letter-spacing:-.15rem;margin-top:1.25rem}
.heading-line{display:block}
.hero-copy>.body-copy{max-width:30rem;margin-top:1.625rem;font-size:1.125rem;line-height:1.6}
.hero-actions{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap;margin-top:1.625rem}
.hero-visual{position:absolute;inset:0 0 0 auto;width:73%;z-index:0;pointer-events:none}
.hero-visual img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:64% bottom}
.hero-wash{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#fff 0%,#fffffffc 21%,#ffffffe8 33%,#ffffff75 43%,#ffffff0a 57%,transparent 64%)}
.hero-note{position:absolute;right:max(4rem,calc((100% - 84rem)/2));top:4.625rem;width:6.5rem;z-index:3;font:500 .625rem/1rem var(--sans);letter-spacing:.12rem;color:var(--quiet)}
.hero-note::after{content:"";display:block;width:1px;height:2rem;background:#abc2d6;margin-top:1rem}
/* About: compact text and three equal, visible principles. */
.about{padding-block:3.5rem;background:linear-gradient(100deg,#fff,#fcfdff);border-bottom:1px solid #eaf0f5}
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3.5rem;align-items:center}
.about h2{font-size:2.875rem;line-height:1.04;letter-spacing:-.07rem;margin-top:1.125rem}
.about h2 .heading-line{display:inline}
.about-grid>div>.body-copy{margin-top:1rem;max-width:29rem;font-size:1rem;line-height:1.6}
.about-principles{min-width:0}
.principles{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0}
.principles li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:0 1.25rem;min-width:0;border-left:1px solid var(--line)}
.principles .icon{width:2rem;height:2rem;color:#3b536e;stroke-width:1.4;margin-bottom:1.25rem}
.principles h3{font:500 .9375rem/1.35 var(--sans);color:var(--ink)}
.principles p{font:.8125rem/1.5 var(--sans);color:var(--quiet);margin-top:.5rem;max-width:10rem}
/* OM VPN: one strong object, with short factual annotations beside it. */
.product{padding-block:2.25rem;background:radial-gradient(ellipse at 55% 60%,#dceaf6 0%,#eef5fb 32%,#f8fbfe 68%,#fff 100%);overflow:clip}
.product-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.18fr) minmax(0,.76fr);gap:1.75rem;align-items:center}
.product-copy{position:relative;z-index:2;padding-block:2.5rem}
.product h2{font-size:var(--h2);line-height:1.06;letter-spacing:-.1rem;margin-top:1.25rem}
.product-copy>.body-copy{max-width:25rem;margin-top:1.375rem}
.product-actions{margin-top:1.5rem}
.action-note{font:.75rem/1.25rem var(--sans);color:var(--quiet);margin-top:.625rem}
.vpn-art{position:relative;min-width:0;height:32.5rem;isolation:isolate}
.vpn-halo{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 51% 61%,#aacce72e,transparent 66%)}
.vpn-orbits{position:absolute;inset:-2% -19%;width:138%;height:104%;pointer-events:none;overflow:visible}
.vpn-orbits>g:first-child{opacity:.62}
.vpn-disk{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100%,400px);aspect-ratio:1;border:1px solid #fffffff2;border-radius:50%;background:radial-gradient(circle at 30% 17%,#fff 0%,#ffffffed 37%,#e7f2fcdd 72%,#c7dfefbb 100%);box-shadow:inset 0 2px 4px #fff,inset -7px -12px 26px #a8c8df24,0 25px 55px #365d7a18,0 3px 8px #365d7a08;display:flex;align-items:center;justify-content:center;flex-direction:column}
.vpn-disk::before{content:"";position:absolute;inset:10px;border:1px solid #ffffffa6;border-radius:50%;pointer-events:none}
.vpn-logo{width:62%;height:auto;aspect-ratio:1;object-fit:contain;margin-top:-10px;filter:drop-shadow(0 5px 10px #edba1620)}
.vpn-wordmark{font:400 34px/40px var(--sans);letter-spacing:2.4px;color:#a95b00;margin-top:8px}
.vpn-tagline{font:400 10px/16px var(--sans);letter-spacing:2px;color:#945100;margin-top:3px}
.product-details{display:grid;gap:2.25rem;position:relative;z-index:2;padding-left:.75rem}
.product-fact{display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:1.125rem;align-items:start}
.product-fact>.icon{width:1.75rem;height:1.75rem;stroke-width:1.4;color:#334d68;margin-top:3px}
.product-fact h3{font:500 .9375rem/1.4 var(--sans)}
.product-fact p{font:.875rem/1.55 var(--sans);color:var(--muted);margin-top:.5rem}
/* Cats: copy and art are one composition; cards create the foreground. */
.research{position:relative;isolation:isolate;overflow:clip;padding-top:3.5rem;padding-bottom:2.5rem;background:radial-gradient(ellipse at 66% 21%,#e1efff 0%,#eef5fc 45%,#f5f8fc 79%,#fbfcfe 100%)}
.research .container{position:relative}
.section-top{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;position:relative;z-index:4}
.research-stage{position:relative;min-height:33rem;margin-top:2.25rem;isolation:isolate}
.research-content{width:27.5rem;max-width:39%;position:relative;z-index:3;padding-top:.75rem}
.research-heading>.eyebrow{font-size:.625rem}
.research h2{font-size:var(--h2);line-height:1.045;letter-spacing:-.105rem;margin-top:1.125rem}
.research h2 .heading-line{display:inline}
.research-copy{margin-top:1.375rem;max-width:24rem}
.research-copy .body-copy{font-size:1.0625rem;line-height:1.55}
.research-copy p+p{margin-top:.875rem}
.research-copy .btn{margin-top:1.625rem}
.cats-figure{position:absolute;z-index:1;top:3rem;left:26%;width:102%;max-width:none;margin:0;pointer-events:none}
.cats-figure picture{display:block;mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 87%,transparent 100%);mask-composite:intersect}
.cats-figure img{width:100%;height:auto;max-width:none}
.research-cards{position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:-1.25rem}
.research-card{position:relative;display:flex;align-items:center;gap:1.25rem;min-height:7rem;padding:1.5rem 1.75rem;border:1px solid #ffffffed;border-radius:.875rem;background:linear-gradient(125deg,#fffffff5,#ffffffb3);box-shadow:0 9px 27px #59799708;backdrop-filter:blur(10px)}
.card-index{font:400 2.5rem/1 var(--serif);letter-spacing:-.04rem;color:#526c88;flex:none;align-self:flex-start;padding-top:.125rem}
.research-card h3{font:400 1.5rem/1.15 var(--serif);letter-spacing:-.02rem}
.research-card p{font:.8125rem/1.4 var(--sans);color:var(--muted);margin-top:.5rem}
.research-card>.icon{width:1.5rem;height:1.5rem;color:#567898;opacity:.65;margin-left:auto}
.research-foot{position:relative;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-top:1.375rem}
.research-caption,.research-scope{font:.75rem/1.5 var(--sans);color:var(--quiet)}
.research-scope{text-align:right;max-width:25rem}
/* Contact */
.contact{position:relative;isolation:isolate;overflow:clip;padding-block:3.75rem;background:linear-gradient(110deg,#fff 20%,#fafcff 100%)}
.contact-grid{position:relative;z-index:3;display:grid;grid-template-columns:9rem minmax(0,42rem);gap:2.5rem}
.contact-eyebrow{margin-top:.5rem}
.contact-copy{min-width:0}
.contact h2{font-size:3.125rem;line-height:1.07;letter-spacing:-.09rem}
.contact-copy>.body-copy{margin-top:1.125rem;max-width:34rem}
.contact-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.75rem}
.contact-handle-row{display:flex;align-items:center;gap:.25rem}
.contact-handle{font:.9375rem/1.375rem var(--sans);text-decoration:none}
.contact-handle:hover{text-decoration:underline;color:var(--blue)}
.copy-contact{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;background:transparent;color:var(--muted);border-radius:.75rem}
.copy-contact:hover{background:var(--ice);color:var(--ink)}
.copy-contact .icon{width:1.0625rem;height:1.0625rem}
.copy-status{font:.75rem/1.125rem var(--sans);min-height:1.125rem;margin-top:.625rem;color:var(--muted);max-width:32rem}
.contact-art{position:absolute;right:0;bottom:0;width:40rem;max-width:53%;opacity:.72;z-index:0;pointer-events:none}
.contact-wash{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#fff 5%,#fff 45%,#ffffff99 66%,#ffffff18 100%)}
.contact-note{position:absolute;top:4.25rem;right:max(3.5rem,calc((100% - 84rem)/2));font:500 .625rem/1rem var(--sans);letter-spacing:.1rem;color:var(--quiet);z-index:2;padding-left:1.125rem;border-left:1px solid #cddce9}
/* Footer */
.site-footer{padding-block:2.75rem;background:linear-gradient(120deg,#fff,#fafcff);border-top:1px solid #e7edf3}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.footer-brand .brand-name{font-size:1.4375rem;line-height:1.625rem;letter-spacing:.225rem}
.footer-brand .brand-sub{font-size:.4375rem;line-height:.625rem}
.footer-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.625rem 1.75rem}
.footer-nav a{font:.8125rem/1.25rem var(--sans);text-decoration:none;min-height:1.5rem;display:flex;align-items:center}
.footer-nav a:hover{color:var(--blue);text-decoration:underline}
.footer-meta{text-align:right}
.footer-domains{display:flex;justify-content:flex-end;gap:.875rem;font:.8125rem/1.25rem var(--sans);color:var(--muted)}
.footer-domains a{text-decoration:none}
.footer-domains a:hover{text-decoration:underline}
.copyright{font:.75rem/1.125rem var(--sans);color:var(--quiet);margin-top:.875rem}
/* Responsive composition: real reflow, not a smaller screenshot. */
@media(min-width:1700px){
 :root{--content:92rem;--header-content:92rem;--h1:4.875rem;--h2:3.75rem}
 .hero{min-height:42rem}.hero-wrap{padding-top:4.75rem}.hero-copy{width:44rem}
 .hero-note{right:calc((100% - 92rem)/2 + 1rem)}
 .product{padding-block:3rem}.vpn-disk{width:min(100%,440px)}.vpn-art{height:34rem}
 .research-content{width:29rem}.research-stage{min-height:36rem}.cats-figure{top:2.5rem}
}
@media(max-width:1200px){
 :root{--h1:3.875rem;--h2:3rem;--gutter:2.5rem}
 .header-inner{gap:1.25rem}.desktop-nav{gap:1.25rem}.header-actions{gap:.875rem}
 .hero{min-height:36rem}.hero-copy{max-width:58%;width:37rem}.hero-wrap{padding-top:3.5rem;padding-bottom:4.5rem}
 .hero-note{right:2.5rem;font-size:.5625rem}
 .about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:2rem}
 .about h2{font-size:2.5rem}.principles li{padding-inline:.875rem}
 .product-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2.5rem}
 .product-details{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:0 0 1.75rem}
 .vpn-art{height:28rem}.vpn-disk{width:min(93%,360px)}
 .research-content{max-width:43%;width:27rem}.research-stage{min-height:36rem}
 .cats-figure{left:34%;top:6rem;width:114%}
 .research-card{padding:1.25rem;gap:.875rem}.research-card>.icon{display:none}
 .contact-grid{grid-template-columns:7rem minmax(0,37rem);gap:2rem}.contact h2{font-size:2.875rem}
 .contact-note{right:2rem;font-size:.5625rem}
}
@media(max-width:1060px){
 .header-inner{min-height:4.75rem;gap:1rem}
 .desktop-nav,.header-contact{display:none}.header-actions{gap:.625rem}
 .mobile-menu{display:block}
 .mobile-menu summary{list-style:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:50%;cursor:pointer;background:#fff;color:var(--ink)}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary .icon{width:1.25rem;height:1.25rem}
 .mobile-menu .close-icon{display:none}.mobile-menu[open] .menu-icon{display:none}.mobile-menu[open] .close-icon{display:block}
 .mobile-panel{position:absolute;z-index:40;top:calc(100% + .5rem);right:var(--gutter);left:var(--gutter);padding:1rem;background:#fff;border:1px solid #edf1f5;border-radius:1.25rem;box-shadow:0 16px 48px #1939551f}
 .mobile-panel nav{display:flex;flex-direction:column}
 .mobile-panel nav>a{display:flex;align-items:center;min-height:2.875rem;text-decoration:none;font:1rem/1.5rem var(--sans);border-bottom:1px solid var(--line)}
 .mobile-panel nav>a:hover{color:var(--blue)}.mobile-panel>.btn{width:100%;margin-top:1rem}
 .hero-note{display:none}.hero h1{font-size:3.5rem}.hero-copy{max-width:65%;width:35rem}
 .hero-wash{background:linear-gradient(90deg,#fff 0%,#fffffff2 34%,#ffffff70 59%,#ffffff0a 78%,transparent)}
 .hero-copy>.body-copy{max-width:28rem;font-size:1.0625rem}
 .about{padding-block:3rem}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1.5rem}
 .principles li{padding-inline:.75rem}.principles h3{font-size:.8125rem}.principles p{font-size:.75rem}
 .research-content{width:26rem;max-width:46%}.research h2{font-size:2.875rem}
 .cats-figure{top:8rem;left:31%;width:123%}
 .research-stage{min-height:36.5rem}
 .research-card h3{font-size:1.3125rem}.card-index{font-size:2.125rem}
 .contact-note{display:none}.contact-art{max-width:57%}
 .footer-inner{flex-wrap:wrap}.footer-meta{margin-left:auto}
}
@media(max-width:800px){
 :root{--gutter:2rem;--h1:3.375rem;--h2:2.875rem}
 .hero-copy{max-width:75%}.hero h1{font-size:3.375rem}.hero-visual{width:88%}
 .about-grid{grid-template-columns:1fr}.about-grid>div>.body-copy{max-width:38rem}
 .about-principles{margin-top:1rem}.principles li:first-child{border-left:0}
 .principles h3{font-size:.9375rem}.principles p{font-size:.8125rem;max-width:11rem}
 .product-grid{gap:1.5rem}.vpn-art{height:25rem}.vpn-disk{width:min(96%,310px)}
 .vpn-wordmark{font-size:29px;line-height:34px}.vpn-tagline{font-size:8px;letter-spacing:1.6px}
 .product-details{gap:1.25rem}.product-fact{gap:.75rem;grid-template-columns:1.5rem 1fr}.product-fact>.icon{width:1.5rem;height:1.5rem}
 .product-fact h3{font-size:.875rem}.product-fact p{font-size:.8125rem}
 .research-content{max-width:49%}.research-stage{min-height:32rem}.research h2{font-size:2.5rem}
 .research-copy .body-copy{font-size:1rem}.cats-figure{left:44%;top:9.5rem;width:110%}
 .research-cards{gap:.625rem}.research-card{padding:1.25rem .875rem;gap:.75rem;align-items:flex-start}
 .card-index{font-size:1.75rem}.research-card h3{font-size:1.1875rem}.research-card p{font-size:.75rem}
 .research-foot{display:block}.research-scope{text-align:left;margin-top:.5rem;max-width:none}
 .contact-grid{grid-template-columns:1fr;gap:1.25rem}.contact-eyebrow .heading-line{display:inline}
 .contact-copy{max-width:38rem}.contact-wash{background:linear-gradient(90deg,#fff 10%,#ffffffe3 57%,#ffffff77)}
}
@media(max-width:700px){
 :root{--gutter:1.5rem;--h1:2.9375rem;--h2:2.625rem}
 body{font-size:1rem}.body-copy{font-size:1rem;line-height:1.6}
 .header-inner{min-height:4.75rem;gap:.75rem}
 .brand-name{font-size:1.375rem;line-height:1.5rem;letter-spacing:.21875rem}
 .brand-sub{font-size:.4375rem;line-height:.625rem;letter-spacing:.125rem}
 .eyebrow{font-size:.625rem;line-height:1rem;letter-spacing:.1rem}
 .btn{padding:.875rem 1.125rem;gap:.75rem;min-height:3.125rem;font-size:.8125rem}
 .hero{min-height:0;background:linear-gradient(#fff 52%,#eaf2fa);}
 .hero-wrap{padding-top:2.25rem;padding-bottom:0}
 .hero-copy{width:auto;max-width:none}.hero h1{font-size:var(--h1);line-height:1.045;letter-spacing:-.09rem;margin-top:1.125rem}
 .hero .heading-line{display:inline}
 .hero-copy>.body-copy{font-size:1rem;line-height:1.6;max-width:32rem;margin-top:1.375rem}
 .hero-actions{margin-top:1.5rem;gap:.75rem}
 .hero-wash{display:none}
 .hero-visual{position:relative;width:100%;height:auto;aspect-ratio:1.5;inset:auto;margin-top:.375rem;overflow:clip}
 .hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(#fff 0%,#ffffffa3 8%,transparent 31%);pointer-events:none}
 .hero-visual img{width:125%;height:100%;margin-left:-25%;object-fit:cover;object-position:right bottom}
 .about{padding-block:2.75rem}.about-grid{gap:1.75rem}.about h2{font-size:2.5rem;line-height:1.07;max-width:28rem}
 .about-grid>div>.body-copy{font-size:1rem;margin-top:1.125rem}
 .about-principles{margin-top:0}.principles li{padding:0 .625rem}.principles .icon{width:1.75rem;height:1.75rem;margin-bottom:.875rem}
 .principles h3{font-size:.8125rem}.principles p{font-size:.75rem;line-height:1.45;margin-top:.375rem}
 .product{padding-top:2.875rem;padding-bottom:2.75rem}
 .product-grid{display:block}.product-copy{padding:0}.product h2{font-size:var(--h2);line-height:1.06;letter-spacing:-.0625rem;margin-top:1.25rem}
 .product-copy>.body-copy{max-width:32rem}.product-actions{margin-top:1.375rem}
 .vpn-art{height:23rem;max-width:29rem;margin:.875rem auto .625rem}
 .vpn-disk{width:min(89%,320px)}.vpn-logo{width:61%}.vpn-wordmark{font-size:30px;line-height:36px;margin-top:7px}.vpn-tagline{font-size:8px;line-height:13px;letter-spacing:1.6px}
 .vpn-orbits{inset:0 -12%;width:124%;height:100%}
 .product-details{display:grid;grid-template-columns:1fr;gap:1.25rem;padding:0}
 .product-fact{grid-template-columns:1.75rem minmax(0,1fr);gap:1rem;padding-top:1.25rem;border-top:1px solid #dce7f1}
 .product-fact:first-child{padding-top:0;border-top:0}.product-fact>.icon{width:1.625rem;height:1.625rem}
 .product-fact h3{font-size:.9375rem}.product-fact p{font-size:.875rem;margin-top:.25rem}
 .research{padding-top:2.875rem;padding-bottom:2.5rem}
 .section-top{align-items:flex-start;flex-wrap:wrap;gap:.5rem}.section-top>.text-link{font-size:.75rem}
 .research-stage{min-height:0;margin-top:1.75rem;display:flex;flex-direction:column}
 .research-content{width:auto;max-width:none;padding:0}.research-heading>.eyebrow{font-size:.625rem}
 .research h2{font-size:var(--h2);line-height:1.06;letter-spacing:-.07rem;max-width:30rem}
 .research-copy{margin-top:1.25rem;max-width:32rem}.research-copy .body-copy{font-size:1rem;line-height:1.6}
 .research-copy .btn{margin-top:1.375rem}
 .cats-figure{position:relative;top:auto;left:auto;width:calc(100% + 2*var(--gutter));margin:1.5rem calc(-1*var(--gutter)) 0;max-width:none}
 .cats-figure img{width:100%;height:auto;aspect-ratio:1180/682;object-fit:contain}
 .research-cards{grid-template-columns:1fr;gap:.625rem;margin-top:.25rem}
 .research-card{min-height:5.5rem;padding:1.25rem;gap:1.25rem;border-radius:.875rem;align-items:center}
 .card-index{font-size:2.125rem;align-self:center;padding:0}.research-card h3{font-size:1.5rem}.research-card p{font-size:.8125rem;margin-top:.25rem}
 .research-card>.icon{display:block;width:1.5rem;height:1.5rem}
 .research-foot{margin-top:1.125rem}.research-caption,.research-scope{font-size:.75rem}
 .contact{padding-top:2.75rem;padding-bottom:2.5rem}.contact-grid{gap:1.25rem}.contact h2{font-size:2.5rem;line-height:1.08;letter-spacing:-.0625rem;max-width:28rem}
 .contact-copy>.body-copy{margin-top:1.125rem}.contact-actions{align-items:flex-start;flex-direction:column;gap:.875rem;margin-top:1.5rem}
 .contact-art{width:26rem;max-width:100%;opacity:.38}.contact-wash{background:linear-gradient(120deg,#fff 24%,#ffffffba 72%,#ffffff45)}
 .site-footer{padding:2.25rem 0 2rem}.footer-inner{flex-direction:column;align-items:flex-start;gap:1.5rem}
 .footer-nav{gap:.75rem 1.5rem}.footer-meta{text-align:left;margin:0}.footer-domains{justify-content:flex-start}.copyright{margin-top:.625rem}
}
@media(max-width:360px){
 :root{--gutter:1.25rem;--h1:2.625rem;--h2:2.375rem}
 .header-inner{min-height:4.5rem;gap:.5rem}.brand-name{font-size:1.25rem;line-height:1.375rem}.header-actions{gap:.375rem}.language-switch{width:4.75rem}
 .eyebrow{font-size:.5625rem;letter-spacing:.09rem}.hero-actions{align-items:stretch;flex-direction:column}.hero h1{letter-spacing:-.075rem}
 .principles li{padding-inline:.375rem}.principles h3{font-size:.75rem}.principles p{font-size:.6875rem}
 .vpn-art{height:20rem}.vpn-disk{width:min(90%,278px)}.vpn-wordmark{font-size:26px;line-height:32px}
 .contact h2{font-size:2.375rem}
}
/* The content can grow when a visitor enlarges text. */
.header-inner,.header-actions,.desktop-nav{flex-wrap:wrap}
.header-inner{padding-block:.5rem}.header-actions{max-width:100%}
.btn{max-width:100%}.btn,.body-copy,h1,h2,h3,.product-fact p,.principles p{overflow-wrap:anywhere}
.contact-handle-row{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.btn:hover,.btn:hover .arrow{transform:none}}
@media print{.mobile-menu,.copy-contact,.language-switch,.header-contact{display:none!important}.hero{min-height:0}.hero-wrap{padding-block:2rem}.site-header,.about,.product,.research,.contact{break-inside:avoid}.btn{box-shadow:none}.body-copy{color:#333}}
/* Intrinsic sizing under enlarged text; do not hide accidental page overflow. */
.research-cards{min-width:0}.research-card,.research-card>div{min-width:0}
.research-card p{overflow-wrap:anywhere}
.footer-nav,.footer-meta{min-width:0;max-width:100%}
.footer-domains{flex-wrap:wrap}
@media(max-width:700px){
 .research-cards{grid-template-columns:minmax(0,1fr)}
 .research-card{padding-inline:min(1.25rem,5vw);gap:min(1.25rem,4vw)}
}
