/* ==========================================================================
   TrialCurrent shared stylesheet — loaded LAST on every page.
   One source of truth for: type scale, header, footer, buttons, long-form
   (security/legal) text and the screenshot lightbox.
   Fonts are the locally hosted Manrope (headings) and Source Sans 3 (body).
   ========================================================================== */

/* 1. Tokens ------------------------------------------------------------- */
:root{
  --midnight:#11182A;--violet:#6D5CE7;--cyan:#22D3C5;--mist:#F5F7FA;--slate:#596579;
  --coral:#EF6A67;--white:#fff;--line:#E1E5ED;--deep-violet:#5B4BD0;
  --font-heading:'Manrope',Arial,sans-serif;
  --font-body:'Source Sans 3',Arial,sans-serif;
  --heading:var(--font-heading);--body:var(--font-body);

  /* Type scale. Headings are fluid between 390px and 1100px wide so they
     shrink smoothly instead of jumping at breakpoints. */
  --fs-hero:clamp(38px,4.8vw,66px);                 /* home hero: 66 max, 38 on phones */
  --fs-h1-feature:clamp(34px,25.2px + 2.254vw,50px); /* feature pages: 50 / 34 */
  --fs-h1-legal:clamp(30px,26.7px + .845vw,36px);    /* security + legal titles: 36 / 30 */
  --fs-h2-section:clamp(32px,27.6px + 1.127vw,40px); /* major marketing sections: 40 / 32 */
  --fs-h3-sub:clamp(22px,19.8px + .563vw,26px);      /* feature subsections: 26 / 22 */
  --fs-card:20px;                                    /* compact card headings */
  --fs-legal-h2:clamp(22px,20.9px + .282vw,24px);    /* legal section headings: 24 / 22 */
  --fs-legal-h3:20px;                                /* legal subsections */
  --fs-lede:clamp(18px,16.9px + .282vw,20px);        /* intro paragraphs: 20 / 18 */
  --fs-body:18px;                                    /* body copy, FAQ answers */
  --fs-compact:16px;                                 /* supporting copy, tables */
  --fs-nav:16px;
  --fs-btn:18px;
  --fs-label:14px;                                   /* labels, captions, metadata */

  --lh-display:1.1;--lh-heading:1.3;--lh-body:1.6;--lh-compact:1.55;
  --ls-display:-.035em;--ls-h2:-.03em;--ls-h3:-.02em;--ls-card:-.01em;
  --ls-label:.08em;
}

/* 2. Base --------------------------------------------------------------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;color:var(--midnight);background:#fff;font:400 var(--fs-body)/1.55 var(--font-body);-webkit-font-smoothing:antialiased;text-size-adjust:100%}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;border-radius:4px}
.wrap{width:min(1200px,calc(100% - 80px));margin:auto}
.skip{position:fixed;left:16px;top:-80px;z-index:100;background:#fff;padding:12px;color:var(--midnight);font-size:var(--fs-nav);font-weight:600}
.skip:focus{top:10px}
.ir-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* 3. Labels, buttons, links -------------------------------------------- */
.eyebrow{font-family:var(--font-body);font-size:var(--fs-label);font-weight:600;line-height:1.4;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--deep-violet)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:12px 24px;background:var(--violet);color:#fff;border:1px solid transparent;border-radius:5px;font:600 var(--fs-btn)/1.2 var(--font-body);text-align:center;transition:background .18s,transform .18s}
.btn:hover{background:var(--deep-violet);transform:translateY(-2px)}
.btn svg,.text-link svg{width:18px;height:18px;flex-shrink:0}
.text-link{display:inline-flex;align-items:center;gap:12px;font:600 var(--fs-btn)/1.3 var(--font-body)}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}

/* 4. Logo (design unchanged) ------------------------------------------- */
.logo{font:700 25px/1 var(--font-heading);letter-spacing:-1.2px;white-space:nowrap}
.logo-mark{display:inline-block;height:.92em;width:auto;margin-right:.3em;vertical-align:-.1em}
.logo span{color:var(--violet)}
.logo sup{font:10px var(--font-body);vertical-align:top;position:relative;top:1px;margin-left:3px;letter-spacing:0}

/* 5. Utility bar + header ---------------------------------------------- */
.utility{background:var(--midnight);color:#CED3E0;font-size:var(--fs-label);line-height:1.4}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px}
.utility a{color:#fff}
.utility a:hover{text-decoration:underline;text-underline-offset:3px}
.utility-links{display:flex;gap:24px}
.site-header{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 #11182A0E}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.nav-links{display:flex;align-items:center;gap:30px;font:500 var(--fs-nav)/1.3 var(--font-body);margin-left:auto}
.nav-links>a:hover{color:var(--deep-violet)}
.nav .btn{min-height:48px;padding:10px 22px;font-size:var(--fs-btn)}
.menu-button{display:none;background:transparent;border:1px solid #B9C0CE;border-radius:5px;padding:10px 16px;min-height:44px;color:var(--midnight);font:600 var(--fs-nav)/1.2 var(--font-body)}

/* 6. Footer -------------------------------------------------------------- */
.footer{background:var(--midnight);color:#AAB4C8;padding:48px 0 28px;font-size:var(--fs-compact);line-height:var(--lh-compact)}
.footer-top{display:flex;justify-content:space-between;align-items:start;gap:40px}
.footer .logo{color:#fff;font-size:23px}
.footer .logo span{color:#A99CFF}
.footer-brand p{font-size:var(--fs-compact);line-height:1.6;margin-top:16px;max-width:320px}
.footer-brand p a{text-decoration:underline;text-underline-offset:3px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:end;gap:12px 28px;color:#D4D9E4;font:400 var(--fs-nav)/1.4 var(--font-body);padding-top:5px;max-width:720px}
.footer-links a{padding:4px 0}
.footer-links a:hover,.footer-legal a:hover,.footer-resources a:hover,.footer-brand p a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-resources{border-top:1px solid #ffffff22;margin-top:38px;padding-top:24px}
.footer-resources h2{color:#fff;font:600 var(--fs-compact)/1.3 var(--font-heading);letter-spacing:0;margin:0}
.footer-resources p{font-size:var(--fs-compact);line-height:1.6;margin:6px 0 0;color:#AAB4C8}
.footer-resources ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 28px}
.footer-resources li{margin:0;padding:0;border:0;display:block;font-size:var(--fs-compact);line-height:1.5;color:#D4D9E4}
.footer-resources li a{display:inline-block;padding:4px 0;color:#D4D9E4}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 25px;font-size:var(--fs-label);line-height:1.5;border-top:1px solid #ffffff22;margin-top:38px;padding-top:20px;color:#AAB4C8}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 23px}
.footer-legal a{padding:2px 0;color:#D4D9E4}
.footer .tm-notice,.tm-notice{font-size:var(--fs-label);line-height:1.5;color:#AAB4C8;margin-top:14px}
.footer-claim{color:#D4D9E4}
.prototype-label{font-size:var(--fs-label);color:#8E99AE}

/* 7. Marketing type roles ------------------------------------------------ */
/* Display headlines */
.hero h1{font-size:var(--fs-hero);font-weight:600;line-height:var(--lh-display);letter-spacing:-.04em}
.page-hero h1{font-size:var(--fs-h1-feature);font-weight:600;line-height:1.12;letter-spacing:var(--ls-display)}
/* Major section headings */
.section-head h2,.intelligence h2,.trust h2,.closing h2{font-size:var(--fs-h2-section);font-weight:600;line-height:1.2;letter-spacing:var(--ls-h2)}
/* Feature subsection headings */
.cap h3,.cap h2,.walk li h3,.preview-panel h3,.partners h2{font-size:var(--fs-h3-sub);font-weight:600;line-height:1.28;letter-spacing:var(--ls-h3)}
/* Compact card headings */
.feature h3,.who-card h3,.works h3,.supporting h3,.trust-item h3,.page-related h2{font-size:var(--fs-card);font-weight:600;line-height:1.3;letter-spacing:var(--ls-card)}
.faq summary{font-size:var(--fs-card);font-weight:600;line-height:1.3;letter-spacing:var(--ls-card)}
.tower-title{font-size:var(--fs-compact);font-weight:700;line-height:1.3}

/* Introductory paragraphs */
.hero-copy>p,.page-hero h1+p{font-size:var(--fs-lede);line-height:var(--lh-body);font-weight:400}
/* Primary body copy */
.section-head>p,.map .section-head p:not(.eyebrow),.cap p,.walk li p,.faq .a,.faq .a p,.intelligence-intro,.trust p:not(.eyebrow),.works .lead,.partners p{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:400}
.tab{font-size:var(--fs-body);font-weight:500;line-height:1.35}
.tab[aria-selected=true]{font-weight:600}
/* Compact supporting copy */
.feature p,.who-card p,.who-roles,.works li,.supporting p,.preview-panel>p,.trust-item p,.row-copy,.digest-item strong{font-size:var(--fs-compact);line-height:var(--lh-compact)}
.trust-item p{font-size:var(--fs-compact)!important}
.row-copy,.digest-item strong{font-weight:600}
/* Labels, captions, metadata */
.badge,.visual-label,.row-copy small,.row-time,.feature-number,.illustration-note,.panel-kicker,.panel-note,.tab-caption,.digest-item small,.supporting h3 span,.journey-label,.journey li,.closing-action p,.caps-note,figcaption,.hero-note{font-size:var(--fs-label)!important;line-height:1.45}
.visual-label{letter-spacing:var(--ls-label)}
.hero .eyebrow,.page-hero .eyebrow,.closing .eyebrow{font-size:var(--fs-label)}
.page-hero .eyebrow{line-height:1.4;letter-spacing:var(--ls-label);margin-bottom:20px}
.caps-note{color:var(--slate)}
.supporting h3 span{font-weight:500}
.journey li:last-child{font-weight:600}

/* Page-hero rule scoped so it cannot reach labels or button rows */
.page-hero p.eyebrow{font-size:var(--fs-label);line-height:1.4;color:var(--cyan)}

/* FAQ spacing for the larger text */
.faq summary{padding:20px 24px}
.faq .a{padding:0 24px 24px}

/* 8. Mobile navigation --------------------------------------------------- */
@media(max-width:1100px){.nav{gap:20px}.nav-links{gap:22px}}
@media(max-width:960px){
  .nav{min-height:74px;gap:12px}
  .nav>.btn{display:none}
  .menu-button{display:inline-flex;align-items:center}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:12px 20px 20px;box-shadow:0 15px 20px #11182A12;border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;font-size:var(--fs-nav)}
  .nav-links.open{display:flex}
  .nav-links a{padding:14px 12px;min-height:48px;display:flex;align-items:center}
}
@media(max-width:760px){
  html{scroll-padding-top:88px}
  .wrap{width:calc(100% - 40px)}
  .utility .wrap{justify-content:center}
  .utility .byline{display:none}
  .footer-top{flex-direction:column;gap:26px}
  .footer-links{justify-content:start;gap:8px 22px}
  .footer-bottom{flex-direction:column;gap:12px;margin-top:30px}
  .footer-resources ul{flex-direction:column;gap:4px}
  .footer-resources li{white-space:normal}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* 9. Security + legal long-form pages ----------------------------------- */
body.legal{font-size:var(--fs-body);line-height:var(--lh-body)}
body.legal .lead{background:var(--mist);border-bottom:1px solid var(--line);padding:56px 0 48px}
body.legal .lead .in{width:min(780px,calc(100% - 40px));margin:0 auto}
body.legal .lead .eyebrow{color:var(--deep-violet)}
body.legal .lead h1{color:var(--midnight);font-size:var(--fs-h1-legal);font-weight:600;line-height:1.15;letter-spacing:var(--ls-h2);margin-top:10px}
body.legal .lead .upd{color:var(--slate);font-size:var(--fs-label);line-height:1.5;margin-top:14px}
body.legal .lead .tm-notice{color:var(--slate);margin-top:12px}
body.legal .legal-body{width:min(780px,calc(100% - 40px));margin:0 auto;padding:48px 0 72px}
body.legal .legal-body h2{font-size:var(--fs-legal-h2);font-weight:600;line-height:1.3;letter-spacing:var(--ls-h3);color:var(--midnight);margin:44px 0 12px;scroll-margin-top:100px}
body.legal .legal-body>h2:first-child{margin-top:0}
body.legal .legal-body h3{font-size:var(--fs-legal-h3);font-weight:600;line-height:1.3;letter-spacing:var(--ls-card);color:var(--midnight);margin:28px 0 8px}
body.legal .legal-body p{color:#3D4759;font-size:var(--fs-body);line-height:var(--lh-body);margin:0 0 16px;max-width:70ch}
body.legal .legal-body ul,body.legal .legal-body ol{margin:0 0 18px;padding:0 0 0 24px;color:#3D4759;max-width:70ch}
body.legal .legal-body li{font-size:var(--fs-body);line-height:var(--lh-body);margin-bottom:8px}
body.legal .legal-body strong{font-weight:600;color:var(--midnight)}
body.legal .legal-body a{color:var(--deep-violet);text-decoration:underline;text-underline-offset:3px}
body.legal .legal-body a:hover{color:var(--midnight)}
body.legal .legal-body table{width:100%;border-collapse:collapse;margin:16px 0 24px;font-size:var(--fs-compact);line-height:1.5}
body.legal .legal-body th{text-align:left;font:600 var(--fs-label)/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.05em;color:#4A5568;border-bottom:2px solid var(--line);padding:10px 14px 10px 0}
body.legal .legal-body td{border-bottom:1px solid var(--line);padding:12px 14px 12px 0;color:#3D4759;vertical-align:top;font-size:var(--fs-compact)}
body.legal .legal-body .callout{background:var(--mist);border:1px solid var(--line);border-left:3px solid var(--violet);border-radius:4px;padding:16px 20px;margin:20px 0;font-size:var(--fs-compact);line-height:1.55;color:var(--midnight)}
body.legal .legal-body .callout p{font-size:var(--fs-compact);color:var(--midnight);margin-bottom:8px}
body.legal .legal-body .callout p:last-child{margin-bottom:0}
@media(max-width:760px){
  body.legal .lead{padding:40px 0 36px}
  body.legal .legal-body{padding:36px 0 56px}
  body.legal .legal-body table{display:block;overflow-x:auto}
}

/* 10. Screenshot lightbox ------------------------------------------------ */
a.zoom{position:relative;display:block;cursor:zoom-in}
a.zoom .zoom-hint{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:rgba(17,24,42,.86);color:#fff;font:600 var(--fs-label)/1 var(--font-body);pointer-events:none;opacity:0;transition:opacity .15s}
a.zoom .zoom-hint svg{width:16px;height:16px}
a.zoom:hover .zoom-hint,a.zoom:focus-visible .zoom-hint{opacity:1}
@media(hover:none){a.zoom .zoom-hint{opacity:1}}
a.zoom:focus-visible{outline-offset:-3px}
html.lb-open{overflow:hidden}
.lightbox{padding:0;border:0;border-radius:12px;background:#fff;color:var(--midnight);width:min(1400px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);box-shadow:0 24px 80px #0009;overflow:hidden}
.lightbox[open]{display:flex;flex-direction:column}
.lightbox::backdrop{background:rgba(17,24,42,.84)}
.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 12px 12px 20px;border-bottom:1px solid var(--line);background:#fff}
.lb-title{font:600 var(--fs-compact)/1.3 var(--font-heading);margin:0;min-width:0}
.lb-close{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;padding:8px 16px;background:var(--violet);color:#fff;border:0;border-radius:6px;font:600 var(--fs-compact)/1 var(--font-body)}
.lb-close:hover{background:var(--deep-violet)}
.lb-close svg{width:16px;height:16px}
.lb-scroll{overflow:auto;background:#EEF1F6;flex:1 1 auto;min-height:120px;overscroll-behavior:contain}
.lb-img{display:block;margin:0 auto;width:auto;height:auto;max-width:100%;background:#fff}
.lb-caption{margin:0;padding:10px 20px;border-top:1px solid var(--line);font-size:var(--fs-label);line-height:1.45;color:var(--slate);background:#fff}
.lb-caption:empty{display:none}
@media(max-width:760px){
  .lightbox{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:10px}
  .lb-img{max-width:none}
}

/* 11. Trademark symbol — deliberately small, not part of the type scale */
.tm{font-size:.42em;line-height:0;vertical-align:super;position:relative;top:-.15em;margin-left:.06em;font-weight:600;letter-spacing:0;opacity:.75}
