/* ===========================================================
   Security Harbor — delat stilark för hela marketing-sajten.
   Apples typografi och sektionsrytm, men med produktens egen
   mint/petrol i stället för Apples blå.

   Täcker både den nya startsidans klasser (.sec, .shot, .term …)
   och de befintliga sidornas (.section, .card, .showcase-*,
   .release-*), så att innehåll och data-i18n kan behållas som det är.
   =========================================================== */

:root{
  --ink:        #1d1d1f;
  --dim:        #6e6e73;
  --surface:    #ffffff;
  --surface-alt:#f1f6f5;          /* mint-tonad ljusgrå */
  --dark:       #0c1a21;          /* produktkortens botten */
  --dark-soft:  #12242d;
  --teal:       #0a7f6c;          /* accent: länkar och knappar */
  --teal-hover: #0b9a82;
  --teal-dim:   #4fb3a0;
  --hairline:   #d6e2df;
  --amber-bg:   #fff8e8;
  --amber-line: #e8d7ab;
  --amber-ink:  #6b5a2e;
  --muted:      #6e6e73;          /* bakåtkompatibel alias */

  --nav-h: 44px;
  --gap: 12px;
  --ease: cubic-bezier(.28,.11,.32,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  background:var(--surface);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",
              'Inter',"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.47059;letter-spacing:-.022em;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
code,kbd,samp{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace}

/* ---------- Nav (delad av alla sidor) ---------- */
.site{
  position:sticky;top:0;z-index:9999;height:var(--nav-h);display:block;
  background:rgba(248,252,251,.72);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.07);
}
.site.open{background:rgba(248,252,251,.985)}
.site .nav{
  max-width:1024px;height:100%;margin:0 auto;padding:0 22px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.brand{display:flex;align-items:center;gap:7px;flex:0 0 auto;
       font-size:14px;font-weight:600;letter-spacing:-.01em}
.brand-mark{display:flex;align-items:center}
.brand-mark img{width:19px;height:19px;border-radius:4px}
.nav-links{display:flex;align-items:center;flex:1 1 auto;justify-content:flex-end;gap:2px}
.nav-links > a{font-size:12px;line-height:1;color:rgba(29,29,31,.88);padding:8px 10px;
               transition:color .2s var(--ease);white-space:nowrap}
.nav-links > a:hover{color:#000}
.nav-links > a.active{color:var(--teal);font-weight:500}
.nav-links .btn-sm{font-size:12px;padding:0 13px;min-height:28px}

.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;
            width:44px;height:44px;margin-right:-11px;background:none;border:0;
            cursor:pointer;flex:0 0 auto}
.nav-toggle span{display:block;width:17px;height:1.5px;background:var(--ink);
                 border-radius:2px;transition:transform .3s var(--ease)}
.site.open .nav-toggle span:first-child{transform:translateY(3.25px) rotate(45deg)}
.site.open .nav-toggle span:last-child{transform:translateY(-3.25px) rotate(-45deg)}

/* Språkväxlaren som i18n.js monterar */
.lang-switch{display:flex;gap:2px;margin-left:6px}
.lang-switch button{
  font:inherit;font-size:11px;letter-spacing:.05em;cursor:pointer;
  background:none;border:1px solid var(--hairline);color:var(--dim);
  border-radius:999px;padding:4px 9px;transition:all .2s var(--ease);
}
.lang-switch button:hover{color:var(--ink);border-color:var(--teal)}
.lang-switch button[aria-pressed="true"],
.lang-switch button.active{background:var(--teal);border-color:var(--teal);color:#fff}

/* ---------- Sektioner ---------- */
.sec,.section{
  position:relative;overflow:hidden;text-align:center;
  padding:clamp(56px,6.5vw,88px) 22px;
}
.sec--alt,.section--alt{background:var(--surface-alt)}
.sec--dark,.section--dark{background:var(--dark);color:#eef5f3}
.inner{max-width:1024px;margin:0 auto}
.section > *{max-width:1024px;margin-left:auto;margin-right:auto}

/* Aurora-bakgrund */
.aurora{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
        object-position:center 60%;z-index:0;pointer-events:none}
.sec--aurora::after,.section--aurora::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.38) 44%,
             rgba(255,255,255,.52) 78%,rgba(255,255,255,.88) 100%);
}
.sec--aurora > .inner,.section--aurora > *{position:relative;z-index:2}

/* ---------- Typografi ---------- */
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:500;
         letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.sec--dark .eyebrow,.section--dark .eyebrow{color:var(--teal-dim)}

h1{font-size:clamp(34px,5.2vw,60px);line-height:1.06;font-weight:600;
   letter-spacing:-.018em;margin-top:14px;text-wrap:balance}
h2,.section-title{font-size:clamp(28px,3.9vw,46px);line-height:1.08;font-weight:600;
   letter-spacing:-.016em;text-wrap:balance;margin:0}
h3{font-size:18px;font-weight:600;letter-spacing:-.012em}

.lead,.section-lead{
  font-size:clamp(17px,1.95vw,21px);line-height:1.42;color:var(--dim);
  margin:14px auto 0;max-width:62ch;text-wrap:balance;
}
.sec--dark .lead,.section--dark .section-lead{color:#9fb3b0}

/* ---------- Knappar och länkar ---------- */
.links{display:flex;flex-wrap:wrap;gap:0 28px;justify-content:center;margin-top:10px}
.cta{font-size:clamp(16px,1.6vw,19px);color:var(--teal);
     display:inline-flex;align-items:center;min-height:44px}
.cta:hover{text-decoration:underline}
.cta::after{content:"\00a0\203A"}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;
     background:var(--teal);color:#fff;font-size:16px;padding:0 22px;
     border-radius:980px;transition:background .2s var(--ease);border:1px solid transparent}
.btn:hover{background:var(--teal-hover)}
.btn-primary{background:var(--teal);color:#fff}
.btn-ghost{background:transparent;color:var(--teal);border-color:var(--hairline)}
.btn-ghost:hover{background:rgba(10,127,108,.07);border-color:var(--teal)}
.btn-sm{min-height:32px;font-size:14px;padding:0 16px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:22px}

/* ---------- Produktbilder som svävar ---------- */
.shot{margin:38px auto 0;max-width:900px;border-radius:14px;overflow:hidden;
      box-shadow:0 26px 70px rgba(12,26,33,.3),0 2px 8px rgba(12,26,33,.12)}
.shot img{width:100%}
.badge-card{margin:34px auto 0;width:min(100%,300px);border-radius:18px;overflow:hidden;
            box-shadow:0 22px 56px rgba(12,26,33,.26)}

/* ---------- Varningsremsa ---------- */
.notice{background:var(--amber-bg);border-top:1px solid var(--amber-line);
        border-bottom:1px solid var(--amber-line);padding:18px 22px;text-align:center}
.notice p{max-width:76ch;margin:0 auto;font-size:14.5px;line-height:1.5;color:var(--amber-ink)}
.notice strong{color:#4d4015}

/* ---------- Terminal ---------- */
.term{max-width:860px;margin:30px auto 0;background:var(--dark);border-radius:12px;
      padding:20px 22px;text-align:left;box-shadow:0 18px 44px rgba(12,26,33,.24)}
.term code{font-size:13.5px;line-height:1.9;color:#d8ece7;display:block;letter-spacing:0;
           white-space:pre-wrap;overflow-wrap:anywhere}
.term .p{color:var(--teal-dim)}
.term .c{color:#7d938f}

/* ---------- Arkitekturkedja ---------- */
.chain{display:flex;align-items:stretch;justify-content:center;gap:10px;
       flex-wrap:wrap;margin-top:34px}
.chain-step{flex:1 1 200px;max-width:235px;background:var(--surface);
            border:1px solid var(--hairline);border-radius:14px;padding:20px 18px;text-align:left}
.sec--dark .chain-step{background:var(--dark-soft);border-color:#1e3a44}
.chain-step h3{font-size:15.5px}
.chain-step p{font-size:13.5px;line-height:1.45;color:var(--dim);margin-top:6px}
.sec--dark .chain-step p{color:#9fb3b0}
.chain-arrow{display:flex;align-items:center;color:var(--teal-dim);font-size:19px}

/* ---------- Kortrutnät (nytt + .grid på pentest.html) ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);
      margin-top:38px;text-align:left}
.card{background:var(--surface);border:1px solid var(--hairline);
      border-radius:16px;padding:24px 22px}
.sec--alt .card,.section--alt .card{background:var(--surface)}
.card .tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;
           color:var(--teal);background:rgba(10,127,108,.09);
           border-radius:999px;padding:4px 9px;display:inline-block}
.card .tag--wait{color:#9a7b2e;background:rgba(154,123,46,.1)}
.card h3{margin-top:12px}
.card > h3:first-child{margin-top:0}
.card p{font-size:14.5px;line-height:1.5;color:var(--dim);margin-top:7px}
.card ul{margin-top:10px;padding-left:18px}
.card li{font-size:14.5px;line-height:1.55;color:var(--dim);margin-bottom:7px}
.card li strong{color:var(--ink);font-weight:600}
.card em{font-style:italic}

/* pentest.html har tvåkolumnsrutnät med långa listor */
.section .grid:has(> .card:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}

/* ---------- Siffror ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-top:36px}
.stat b{display:block;font-size:clamp(30px,3.6vw,44px);font-weight:600;
        letter-spacing:-.02em;color:var(--teal)}
.sec--dark .stat b{color:var(--teal-dim)}
.stat span{display:block;font-size:13.5px;color:var(--dim);margin-top:4px}
.sec--dark .stat span{color:#9fb3b0}

/* ---------- Skärmdumpssidan ---------- */
.jump-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}
.jump-nav a{font-size:13px;color:var(--teal);border:1px solid var(--hairline);
            background:var(--surface);border-radius:999px;padding:8px 15px;
            transition:all .2s var(--ease)}
.jump-nav a:hover{border-color:var(--teal);background:rgba(10,127,108,.06)}

.showcase-grid{display:flex;flex-direction:column;gap:clamp(44px,6vw,78px);margin-top:44px}
.showcase-card{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,3.5vw,48px);
               align-items:center;text-align:left}
.showcase-card.reverse{direction:rtl}
.showcase-card.reverse > *{direction:ltr}
.showcase-img-wrap{border-radius:14px;overflow:hidden;
                   box-shadow:0 22px 56px rgba(12,26,33,.26),0 2px 8px rgba(12,26,33,.1);
                   cursor:zoom-in}
.showcase-img-wrap img{width:100%}
.showcase-tag{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.14em;
              text-transform:uppercase;color:var(--teal)}
.showcase-content h2,.showcase-content h3{font-size:clamp(23px,2.6vw,31px);
              line-height:1.12;font-weight:600;letter-spacing:-.014em;margin-top:9px}
.showcase-desc{font-size:16px;line-height:1.5;color:var(--dim);margin-top:11px}
.showcase-features{margin-top:14px;padding-left:18px}
.showcase-features li{font-size:14.5px;line-height:1.55;color:var(--dim);margin-bottom:6px}
.showcase-zoom-hint{font-size:12.5px;color:var(--dim);margin-top:10px;opacity:.8}

.lightbox-modal{position:fixed;inset:0;z-index:10000;background:rgba(8,16,20,.9);
                backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
                display:none;align-items:center;justify-content:center;padding:28px}
.lightbox-modal.open,.lightbox-modal[style*="flex"]{display:flex}
.lightbox-content{max-width:94vw;max-height:92vh;border-radius:10px;
                  box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lightbox-close{position:absolute;top:18px;right:22px;font-size:30px;line-height:1;
                color:#fff;background:none;border:0;cursor:pointer;opacity:.8}
.lightbox-close:hover{opacity:1}

/* ---------- Nyhetssidan ---------- */
.release{background:var(--surface);border:1px solid var(--hairline);border-radius:16px;
         padding:22px 24px;margin-top:var(--gap);text-align:left}
.release-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.release-version{font-size:19px;font-weight:600;letter-spacing:-.012em}
.release-date{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--dim)}
.release-latest{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;
                background:var(--teal);color:#fff;border-radius:999px;padding:4px 10px}
.release ul{padding-left:18px;margin-top:8px}
.release li{font-size:14.5px;line-height:1.6;color:var(--dim);margin-bottom:6px}
.release li strong{color:var(--ink);font-weight:600}
.tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;
     border-radius:999px;padding:3px 9px;display:inline-block;
     color:var(--teal);background:rgba(10,127,108,.09)}

/* ---------- Footer ---------- */
footer{background:var(--surface-alt);color:var(--dim);font-size:12px;line-height:1.5;
       padding:40px 22px 24px;border-top:1px solid var(--hairline);text-align:left}
.foot-cols{max-width:1024px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);
           gap:26px;padding-bottom:20px;border-bottom:1px solid var(--hairline)}
.foot-cols h4{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:9px}
.foot-cols ul{list-style:none}
.foot-cols li{margin-bottom:8px}
.foot-cols a:hover{color:var(--ink);text-decoration:underline}
.foot-base{max-width:1024px;margin:0 auto;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 16px}
footer a{color:var(--teal)}

/* ---------- Responsivt ---------- */
@media (max-width:900px){
  .grid,.section .grid:has(> .card:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .showcase-card,.showcase-card.reverse{grid-template-columns:1fr;direction:ltr}
}
@media (max-width:833px){
  .nav-toggle{display:flex}
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;
    align-items:stretch;justify-content:flex-start;gap:0;
    background:rgba(248,252,251,.985);
    backdrop-filter:saturate(180%) blur(20px);
    -webkit-backdrop-filter:saturate(180%) blur(20px);
    padding:0 22px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;
    transition:max-height .4s var(--ease),opacity .3s var(--ease);
  }
  .site.open .nav-links{max-height:calc(100vh - var(--nav-h));opacity:1;pointer-events:auto;
                        overflow-y:auto;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:16px}
  .nav-links > a{font-size:17px;padding:15px 0;border-bottom:1px solid rgba(0,0,0,.07)}
  .nav-links .btn,.nav-links .btn-sm{margin-top:12px;min-height:44px;font-size:16px}
  .lang-switch{margin:14px 0 0}
  .chain-arrow{display:none}
  .chain-step{max-width:none}
  .foot-cols{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .grid,.section .grid:has(> .card:nth-child(2):last-child){grid-template-columns:1fr}
  .sec,.section{padding-left:16px;padding-right:16px}
  .foot-cols{grid-template-columns:1fr}
}

/* ---------- Rörelse ---------- */
.reveal{opacity:0;transform:translateY(20px);
        transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
