:root{--ink:#102b4a;--muted:#617487;--teal:#0878c9;--teal2:#20a9df;--pale:#eaf4fb;--line:#dce6ee;--paper:#f7fafc;--white:#fff;--gold:#f2c36b;--shadow:0 24px 70px rgba(16,43,63,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 44px));margin:auto}
header{height:82px;display:flex;align-items:center;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,232,232,.75)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;font-weight:800}.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.brand-lockup img{display:block;width:218px;height:auto;max-height:53px;object-fit:contain;object-position:left center}.brand-lockup small{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#0878c9;font-weight:850;padding-left:3px}.links{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:650;color:#526879}.links a:hover{color:var(--teal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:13px 21px;font-size:13px;font-weight:750;cursor:pointer;transition:.2s}.btn-primary{background:var(--teal);color:white;box-shadow:0 9px 22px rgba(22,166,154,.22)}.btn-primary:hover{background:#118d84;transform:translateY(-2px)}.btn-light{background:#fff;color:var(--ink);border:1px solid var(--line)}.menu{display:none;background:none;border:0;font-size:25px;color:var(--ink)}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 20%,rgba(32,169,223,.16),transparent 33%),linear-gradient(120deg,#f4f9fd 0%,#edf6fc 55%,#f8fbfd 100%);padding:86px 0 78px}.hero:before{content:"";position:absolute;width:570px;height:570px;border:1px solid rgba(8,120,201,.12);border-radius:50%;right:-170px;top:-260px;box-shadow:0 0 0 45px rgba(8,120,201,.025),0 0 0 90px rgba(8,120,201,.02)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:54px;position:relative}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#0878c9;text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:850}.dot{width:7px;height:7px;border-radius:50%;background:var(--teal)}h1{font-size:clamp(42px,5.2vw,66px);line-height:1.04;letter-spacing:-2.8px;margin:20px 0 20px;font-weight:820;max-width:620px}h1 em{font-style:normal;color:var(--teal)}.lead{font-size:18px;line-height:1.7;color:#587082;max-width:530px;margin:0 0 29px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.micro{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px;color:#708391;font-size:11px;font-weight:650}.micro span{display:flex;align-items:center;gap:7px}.check{color:var(--teal);font-weight:900}
.dashboard{position:relative;background:#fff;border:1px solid rgba(205,224,222,.9);border-radius:21px;padding:18px;box-shadow:var(--shadow);transform:rotate(1.2deg)}.dash-top{display:flex;justify-content:space-between;align-items:center;padding:2px 3px 17px;border-bottom:1px solid #edf1f2}.dash-title{font-weight:800;font-size:13px}.dash-sub{font-size:10px;color:#8798a3}.userdot{width:30px;height:30px;border-radius:50%;background:#e5f5f1;color:#0878c9;display:grid;place-items:center;font-size:11px;font-weight:800}.dash-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:17px 0}.stat{padding:14px;border-radius:12px;background:#f7faf9}.stat label{display:block;color:#84949d;font-size:9px;font-weight:700}.stat strong{font-size:23px;letter-spacing:-1px;display:block;margin-top:3px}.stat small{color:#1b9b8f;font-size:9px;font-weight:700}.dash-section{font-size:11px;font-weight:800;margin:6px 0 10px}.activity{display:flex;align-items:center;gap:10px;padding:10px 3px;border-top:1px solid #eef2f2}.activity-icon{width:32px;height:32px;border-radius:10px;background:#eaf4fb;display:grid;place-items:center;color:#0878c9;font-size:14px}.activity b{font-size:10px;display:block}.activity small{font-size:9px;color:#83939d}.status{margin-left:auto;border-radius:99px;padding:4px 8px;background:#fff4dd;color:#a87820;font-size:8px;font-weight:800}.status.ok{background:#e4f6ef;color:#178467}.floating{position:absolute;right:-22px;bottom:37px;background:#102f43;color:#fff;border-radius:13px;padding:13px 17px;box-shadow:0 14px 30px #102f4333;font-size:10px}.floating b{display:block;font-size:13px;margin-top:2px}.floating span{color:#a8dcd3}
.trust{padding:27px 0;border-bottom:1px solid var(--line)}.trust-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.trust p{font-size:11px;color:#81919b;font-weight:750;letter-spacing:1.2px;text-transform:uppercase;margin:0}.audiences{display:flex;gap:28px;flex-wrap:wrap;color:#5f7483;font-size:12px;font-weight:700}.audiences span{display:flex;align-items:center;gap:8px}
section{padding:88px 0}.section-head{text-align:center;max-width:700px;margin:0 auto 43px}.kicker{color:#0878c9;text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:850}.section-head h2{font-size:clamp(30px,3.8vw,43px);line-height:1.12;letter-spacing:-1.6px;margin:13px 0}.section-head p{color:var(--muted);font-size:15px;margin:0}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.feature{padding:26px 25px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:.2s}.feature:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(16,43,63,.07);border-color:#b8d6e9}.feature-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:var(--pale);color:#0878c9;font-size:20px;margin-bottom:18px}.feature h3{font-size:16px;margin:0 0 8px;letter-spacing:-.3px}.feature p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}
.platform{background:#102b3f;color:#fff;position:relative;overflow:hidden}.platform:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;border:1px solid #ffffff12;right:-210px;top:-220px;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff05}.platform .section-head{position:relative;z-index:1}.platform .section-head p{color:#b4c6d0}.platform .kicker{color:#72d6c4}.platform .section-head h2{color:#fff}.platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;z-index:1}.platform-card{border:1px solid #ffffff1b;background:#ffffff09;border-radius:17px;padding:25px;display:flex;gap:17px}.platform-card .feature-icon{background:#173e62;color:#65c5ef;flex:none}.platform-card h3{font-size:15px;margin:2px 0 6px}.platform-card p{font-size:12px;color:#b6c7d0;margin:0;line-height:1.65}
.audience-section{background:var(--paper)}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.audience{background:white;border:1px solid var(--line);border-radius:15px;padding:23px 19px}.audience .emoji{font-size:24px}.audience h3{font-size:14px;margin:13px 0 6px}.audience p{font-size:12px;color:var(--muted);margin:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}.step{position:relative;padding-top:13px}.step:before{counter-increment:step;content:"0" counter(step);display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#eaf4fb;color:#0878c9;font-size:12px;font-weight:850;margin-bottom:17px}.step h3{font-size:15px;margin:0 0 7px}.step p{font-size:12px;color:var(--muted);margin:0}.step:not(:last-child):after{content:"";position:absolute;top:32px;left:54px;right:-8px;border-top:1px dashed #bfd8d4}
.flexible{background:#f1f7fc}.flex-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.flex-copy h2{font-size:clamp(31px,4vw,44px);letter-spacing:-1.7px;line-height:1.1;margin:14px 0}.flex-copy p{color:var(--muted);font-size:14px}.pill-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}.pill{padding:8px 13px;border-radius:99px;background:#fff;border:1px solid #d9e9e5;color:#4c6977;font-size:11px;font-weight:700}.future-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:27px;box-shadow:0 16px 42px rgba(16,43,63,.06)}.future-row{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #edf2f1}.future-row:last-child{border:0}.future-row .feature-icon{margin:0;width:38px;height:38px;font-size:17px}.future-row b{font-size:12px;display:block}.future-row small{font-size:10px;color:#82929a}
.contact{background:linear-gradient(125deg,#e9f7f3,#f5faf9);padding:78px 0}.contact-box{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact h2{font-size:clamp(30px,4vw,42px);letter-spacing:-1.5px;margin:9px 0}.contact p{color:var(--muted);font-size:14px;margin:0;max-width:590px}
footer{background:#0d2537;color:#d6e2e7;padding:32px 0}footer .brand-lockup img{background:#fff;border-radius:5px;padding:3px}footer .brand-lockup small{color:#83c9ed}.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.foot .brand{color:white}.foot .brand small{color:#9aadb8}.foot p{font-size:10px;color:#91a6b2;margin:0}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:48px}.hero-copy{max-width:680px}.dashboard{max-width:590px;width:100%;margin:auto}.features{grid-template-columns:repeat(2,1fr)}.audience-grid{grid-template-columns:repeat(2,1fr)}.flex-grid{gap:30px}}
@media(max-width:650px){.brand-lockup img{width:184px;max-height:45px}.brand-lockup small{font-size:8px;letter-spacing:2px}header{height:70px}.wrap{width:min(100% - 32px,1160px)}.links{display:none;position:absolute;left:0;right:0;top:70px;background:white;padding:20px 24px 25px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:17px}.links.open{display:flex}.links .btn{width:100%}.menu{display:block}.nav>.btn{display:none}.hero{padding:62px 0 54px}.hero-grid{gap:39px}h1{font-size:44px;letter-spacing:-2px}.lead{font-size:16px}.dashboard{padding:13px}.floating{right:-7px;bottom:18px}section{padding:67px 0}.features,.platform-grid,.flex-grid{grid-template-columns:1fr}.audience-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr;row-gap:28px}.step:nth-child(2):after{display:none}.contact-box{align-items:flex-start;flex-direction:column}.trust-inner{align-items:flex-start}.audiences{gap:15px}.section-head{margin-bottom:31px}}
@media(max-width:390px){.audience-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%}.micro{gap:10px}}

/* =========================================================
   DIGITAL RÄKNING – DARK THEME
   Gemensam mörk design för samtliga sidor.
   ========================================================= */
:root{
  color-scheme:dark;
  --ink:#f1f5f9;
  --muted:#a9b8c7;
  --teal:#0878c9;
  --teal2:#20a9df;
  --pale:#172d40;
  --line:#2b3b4a;
  --paper:#17232e;
  --white:#1b2733;
  --gold:#f2c36b;
  --shadow:0 24px 70px rgba(0,0,0,.28);
}
body{color:var(--ink);background:#111820}
header{background:rgba(17,24,32,.94);border-bottom:1px solid rgba(148,170,190,.18)}
.brand-lockup img{width:218px;max-height:58px;object-fit:contain}
.brand-lockup small{color:#9acff0}
.links{color:#c1ccd6}
.links a:hover{color:#45b9f0}
.btn-primary{background:#0878c9;color:#fff;box-shadow:0 9px 24px rgba(8,120,201,.22)}
.btn-primary:hover{background:#1293e6}
.btn-light{background:#1b2733;color:#edf4fa;border-color:#3a4c5c}
.menu{color:#edf4fa}
.hero{background:radial-gradient(ellipse at 80% 20%,rgba(32,169,223,.16),transparent 34%),linear-gradient(120deg,#111820 0%,#142432 58%,#111b25 100%)}
.hero:before{border-color:rgba(32,169,223,.16);box-shadow:0 0 0 45px rgba(8,120,201,.035),0 0 0 90px rgba(8,120,201,.025)}
.eyebrow,.kicker{color:#42b7f1}
.dot{background:#20a9df}
h1{color:#f4f7fb}
h1 em{color:#20a9df}
.lead{color:#b3c2cf}
.micro{color:#91a4b4}
.check{color:#35c58a}
.dashboard{background:#1b2733;border-color:#34495a;box-shadow:0 24px 70px rgba(0,0,0,.34)}
.dash-top{border-bottom-color:#344554}
.dash-sub,.activity small{color:#9aabba}
.userdot{background:#123b55;color:#54c5f4}
.stat{background:#223342}
.stat label{color:#a4b4c2}
.stat strong{color:#f2f6fa}
.stat small{color:#43c99b}
.activity{border-top-color:#344554}
.activity-icon{background:#173c56;color:#5cc8f5}
.status{background:#4a3920;color:#f2c36b}
.status.ok{background:#153d35;color:#65d5ad}
.floating{background:#0c3149;color:#f4f8fb}
.floating span{color:#65c9f2}
.trust{border-bottom-color:var(--line)}
.trust p{color:#91a4b4}
.audiences{color:#c0ccd6}
section{background:#111820}
.section-head h2,.feature h3,.audience h3,.step h3,.flex-copy h2{color:#f1f5f9}
.section-head p{color:var(--muted)}
.feature{background:#1b2733;border-color:#304252}
.feature:hover{box-shadow:0 16px 38px rgba(0,0,0,.24);border-color:#23658b}
.feature-icon{background:#173b54;color:#5bc5f3}
.feature p,.audience p,.step p{color:#a9b8c7}
.platform{background:#0c1c29}
.platform .kicker{color:#55c4f2}
.platform .section-head p{color:#b1c1ce}
.platform-card{background:#142b3b;border-color:#2b4659}
.platform-card .feature-icon{background:#173e62;color:#65c5ef}
.platform-card p{color:#b6c7d0}
.audience-section{background:#15212c}
.audience{background:#1b2a37;border-color:#304252}
.steps .step:before{background:#173b54;color:#5bc5f3}
.step:not(:last-child):after{border-top-color:#40596c}
.flexible{background:#15232f}
.flex-copy p{color:#b0bfcc}
.pill{background:#1d3343;border-color:#385165;color:#c4d2dc}
.future-card{background:#1b2a37;border-color:#34495a;box-shadow:0 16px 42px rgba(0,0,0,.22)}
.future-row{border-bottom-color:#344554}
.future-row small{color:#9aabba}
.contact{background:linear-gradient(125deg,#142d3d,#17232e)}
.contact p{color:#b1c0cc}
footer{background:#0b141c;color:#d6e2e7;border-top:1px solid #253847}
footer .brand-lockup img{background:transparent;border-radius:0;padding:0}
footer .brand-lockup small{color:#9acff0}
.foot p{color:#91a6b2}
@media(max-width:650px){
 .links{background:#111b25;border-bottom-color:#304252}
 .brand-lockup img{width:184px;max-height:49px}
}

/* Mobilmeny – kontrast och klickyta i mörkt tema */
@media (max-width:650px) {
  .nav { position: relative; }
  .links {
    z-index: 1000;
    background: #111820 !important;
    color: #f1f5f9 !important;
    box-shadow: 0 14px 28px rgba(0,0,0,.32);
  }
  .links a { color: #dce6ef; padding: 8px 2px; }
  .links a:hover, .links a:focus-visible { color: #45b9f0; }
  .links .btn { text-align: center; padding: 13px 20px; }
  .menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid #304252;
    border-radius: 10px;
    cursor: pointer;
    position: relative;
    z-index: 1001;
    line-height: 1;
  }
}

/* Verkliga plattformsskärmbilder – gemensamma komponenter */
.hero-product-visual { min-width:0; align-self:center; }
.hero-product-visual img {
  display:block; width:100%; height:auto; object-fit:contain;
  border-radius:22px; border:1px solid rgba(140,180,210,.25);
  box-shadow:0 24px 65px rgba(0,0,0,.34);
}
.product-preview,.product-gallery { padding:76px 0; background:#131f2a; }
.product-preview .section-head,.product-gallery .section-head { max-width:760px; }
.preview-grid { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:28px; align-items:start; }
.gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.screen-figure {
  min-width:0; margin:0; padding:12px; border-radius:18px;
  background:#1b2936; border:1px solid #304252;
  box-shadow:0 14px 38px rgba(0,0,0,.2);
}
.screen-figure img {
  display:block; width:100%; height:auto; border-radius:10px;
  background:#101820;
}
.screen-figure figcaption {
  padding:12px 5px 3px; color:#c1cfdb; font-size:13px; line-height:1.5;
}
.screen-phone { max-width:260px; justify-self:center; }
@media(max-width:900px) {
  .preview-grid { grid-template-columns:minmax(0,1fr) 220px; gap:18px; }
  .screen-phone { max-width:220px; }
}
@media(max-width:650px) {
  .hero-product-visual img { border-radius:14px; }
  .product-preview,.product-gallery { padding:55px 0; }
  .preview-grid,.gallery-grid { grid-template-columns:1fr; }
  .screen-phone { max-width:230px; }
  .screen-figure { padding:9px; }
}

/* =========================================================
   CONTACT & FOOTER REFINEMENT – DIGITAL RÄKNING
   ========================================================= */
:root {
  --dr-bg:#0e1720;
  --dr-panel:#172532;
  --dr-panel-2:#1d3040;
  --dr-blue:#0878c9;
  --dr-cyan:#38b7f2;
  --dr-text:#f2f6fa;
  --dr-muted:#b1c0cc;
}
body { background:var(--dr-bg); color:var(--dr-text); }
header {
  background:rgba(14,23,32,.94);
  border-bottom:1px solid rgba(137,169,194,.18);
  backdrop-filter:blur(14px);
}
.links a { transition:color .18s ease, opacity .18s ease; }
.links a:not(.btn):hover { color:var(--dr-cyan); }
.btn-primary {
  background:linear-gradient(135deg,#0878c9,#1599df);
  box-shadow:0 10px 26px rgba(8,120,201,.25);
}
.btn-primary:hover { background:linear-gradient(135deg,#0b8ce4,#28afea); }
.contact-hero {
  position:relative; overflow:hidden;
  padding:clamp(76px,9vw,132px) 0;
  background:
    radial-gradient(ellipse at 85% 40%,rgba(8,120,201,.22),transparent 38%),
    radial-gradient(ellipse at 10% 0%,rgba(56,183,242,.10),transparent 34%),
    linear-gradient(135deg,#101c27 0%,#142635 55%,#101923 100%);
}
.contact-hero:before {
  content:""; position:absolute; width:620px; height:620px;
  border:1px solid rgba(56,183,242,.12); border-radius:50%;
  right:-260px; top:-260px; pointer-events:none;
  box-shadow:0 0 0 48px rgba(56,183,242,.025),0 0 0 96px rgba(56,183,242,.018);
}
.contact-layout {
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.75fr);
  gap:clamp(44px,8vw,110px); align-items:center;
}
.contact-copy { max-width:700px; }
.contact-copy h1 {
  margin:18px 0 24px; font-size:clamp(48px,6vw,76px);
  line-height:1.02; letter-spacing:-.055em; color:#f5f8fb;
}
.contact-copy h1 em { color:var(--dr-cyan); font-style:normal; }
.contact-copy .lead { max-width:650px; color:#d2dee8; font-size:clamp(18px,2vw,21px); line-height:1.6; }
.contact-copy > p:not(.lead) { max-width:610px; color:var(--dr-muted); line-height:1.75; }
.contact-points { display:grid; gap:13px; margin-top:32px; color:#d8e4ed; font-size:14px; }
.contact-points span { display:flex; align-items:center; gap:11px; }
.contact-points b {
  display:inline-grid; place-items:center; width:23px; height:23px;
  border-radius:50%; background:rgba(34,197,136,.15); color:#48d6a0;
}
.contact-card {
  padding:clamp(27px,4vw,42px); border-radius:25px;
  background:linear-gradient(155deg,rgba(31,49,64,.98),rgba(20,34,46,.98));
  border:1px solid rgba(119,161,190,.28);
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.contact-card-icon {
  display:grid; place-items:center; width:54px; height:54px;
  border-radius:17px; margin-bottom:24px;
  background:linear-gradient(135deg,#0878c9,#20a9df);
  color:white; font-size:25px; box-shadow:0 10px 25px rgba(8,120,201,.24);
}
.contact-card .kicker { color:#54c3f6; }
.contact-card h2 { font-size:clamp(27px,3vw,35px); margin:12px 0; color:#f4f8fb; }
.contact-card p { color:#b4c4d1; line-height:1.7; }
.contact-address {
  display:block; margin:26px 0 22px; font-size:clamp(20px,2.4vw,26px);
  font-weight:800; color:#5bc5f5; text-decoration:none;
  overflow-wrap:anywhere; transition:color .2s ease;
}
.contact-address:hover { color:#a1e2ff; text-decoration:underline; }
.contact-send { width:100%; padding:16px 22px; }
.contact-card-note {
  display:flex; align-items:center; gap:9px; margin-top:22px;
  padding-top:18px; border-top:1px solid rgba(137,169,194,.18);
  color:#91a7b8; font-size:12px;
}
.status-dot { width:8px; height:8px; border-radius:50%; background:#36c58c; box-shadow:0 0 0 4px rgba(54,197,140,.12); }
.contact-next { padding:58px 0; background:#111e29; border-top:1px solid rgba(137,169,194,.12); }
.contact-next-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.contact-next h2 { margin:9px 0; font-size:clamp(25px,3vw,34px); }
.contact-next p { margin:0; color:var(--dr-muted); }
.contact-next .btn-light { flex-shrink:0; background:#1c3040; border-color:#38536a; color:#edf5fb; }
footer {
  padding:34px 0; background:#0a121a;
  border-top:1px solid rgba(137,169,194,.18);
}
.footer-main {
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:30px;
}
.footer-brand .brand-lockup img { width:220px; max-height:62px; object-fit:contain; }
.footer-contact { display:grid; gap:6px; text-align:center; }
.footer-label { color:#93a8b8; font-size:12px; }
.footer-contact a { color:#55c4f5; font-weight:750; text-decoration:none; font-size:17px; }
.footer-contact a:hover { text-decoration:underline; color:#a1e2ff; }
.footer-meta { text-align:right; color:#879baa; font-size:12px; line-height:1.8; }
.footer-slogan { color:#c5d2dc; letter-spacing:.13em; font-size:10px; }
@media(max-width:850px) {
 .contact-layout { grid-template-columns:1fr; gap:42px; max-width:700px; }
 .contact-card { max-width:560px; }
 .footer-main { grid-template-columns:1fr 1fr; }
 .footer-contact { grid-column:1/-1; grid-row:2; text-align:left; }
 .footer-meta { text-align:right; }
}
@media(max-width:600px) {
 .contact-hero { padding:66px 0 58px; }
 .contact-copy h1 { font-size:48px; }
 .contact-card { border-radius:20px; }
 .contact-next-inner { align-items:flex-start; flex-direction:column; }
 .footer-main { grid-template-columns:1fr; gap:20px; }
 .footer-contact { grid-column:auto; grid-row:auto; text-align:left; }
 .footer-meta { text-align:left; }
 .footer-brand .brand-lockup img { width:190px; }
}

/* Gallery symmetry: equal visual stages for landscape and portrait product captures */
.product-gallery .gallery-grid {
  align-items:stretch;
  grid-auto-rows:1fr;
  gap:26px;
}
.product-gallery .screen-figure {
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  padding:14px;
}
.product-gallery .screen-figure img {
  width:100%;
  height:clamp(340px,38vw,500px);
  flex:0 0 auto;
  object-fit:contain;
  object-position:center;
  background:#111c26;
  border:1px solid rgba(126,163,190,.12);
  border-radius:12px;
}
.product-gallery .screen-figure.screen-portrait img {
  width:min(100%,260px);
  align-self:center;
}
.product-gallery .screen-figure figcaption {
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:14px;
  padding:13px 8px 2px;
}
@media(max-width:900px) {
  .product-gallery .screen-figure img { height:420px; }
}
@media(max-width:650px) {
  .product-gallery .gallery-grid { gap:18px; }
  .product-gallery .screen-figure { padding:10px; }
  .product-gallery .screen-figure img { height:460px; }
  .product-gallery .screen-figure.screen-portrait img { width:min(100%,240px); }
  .product-gallery .screen-figure figcaption { min-height:42px; }
}

/* Homepage preview: balanced composition (desktop first, two mobile views below) */
.product-preview .preview-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.product-preview .preview-grid .screen-wide {
  grid-column:1 / -1;
  width:100%;
}
.product-preview .preview-grid .screen-wide img {
  width:100%;
  height:clamp(300px,42vw,500px);
  object-fit:contain;
  object-position:center;
  background:#111c26;
}
.product-preview .preview-grid .screen-phone {
  width:100%;
  max-width:340px;
  justify-self:center;
  display:flex;
  flex-direction:column;
}
.product-preview .preview-grid .screen-phone img {
  width:100%;
  height:clamp(380px,46vw,500px);
  object-fit:contain;
  object-position:center top;
  background:#111c26;
}
.product-preview .preview-grid .screen-figure figcaption {
  min-height:44px;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}
@media(max-width:900px) {
  .product-preview .preview-grid { gap:18px; }
  .product-preview .preview-grid .screen-wide img { height:420px; }
  .product-preview .preview-grid .screen-phone img { height:440px; }
}
@media(max-width:650px) {
  .product-preview .preview-grid { grid-template-columns:1fr; gap:18px; }
  .product-preview .preview-grid .screen-wide { grid-column:auto; }
  .product-preview .preview-grid .screen-wide img { height:auto; max-height:none; }
  .product-preview .preview-grid .screen-phone { max-width:260px; }
  .product-preview .preview-grid .screen-phone img { height:460px; }
}

/* Expanded product galleries – consistent card rhythm for all supplied screens */
.showcase-section { padding:72px 0; }
.showcase-section:nth-of-type(even) { background:rgba(255,255,255,.018); }
.showcase-section .section-head { max-width:820px; margin-bottom:30px; }
.feature-gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.feature-gallery .screen-figure {
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  margin:0;
  padding:12px;
  border:1px solid rgba(140,180,210,.22);
  border-radius:16px;
  background:#1a2936;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.feature-gallery .screen-figure img {
  display:block;
  width:100%;
  height:280px;
  object-fit:contain;
  object-position:center;
  border-radius:9px;
  background:#0e1720;
}
.feature-gallery .screen-figure figcaption {
  min-height:48px;
  display:flex;
  align-items:center;
  padding:12px 4px 2px;
  color:#d6e3ee;
  font-size:13px;
  line-height:1.45;
}
.feature-gallery-home { grid-template-columns:repeat(3,minmax(0,1fr)); }
.center-action { display:flex; justify-content:center; margin-top:30px; }
@media(max-width:1000px) {
  .feature-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feature-gallery .screen-figure img { height:260px; }
}
@media(max-width:650px) {
  .showcase-section { padding:48px 0; }
  .feature-gallery,.feature-gallery-home { grid-template-columns:1fr; gap:16px; }
  .feature-gallery .screen-figure img { height:auto; max-height:440px; }
  .feature-gallery .screen-figure figcaption { min-height:40px; }
}

/* Confidentiality-first product previews */
.product-teaser { padding:68px 0; }
.teaser-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.92fr);
  gap:42px;
  align-items:center;
}
.teaser-copy { max-width:620px; }
.teaser-copy h2 { margin:12px 0 16px; }
.teaser-copy p { max-width:58ch; color:var(--muted,#a9bdce); line-height:1.75; }
.teaser-visual {
  margin:0;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(130,180,215,.24);
  background:#172634;
  box-shadow:0 18px 42px rgba(0,0,0,.2);
}
.teaser-visual img {
  display:block;
  width:100%;
  max-height:340px;
  object-fit:contain;
  border-radius:10px;
  background:#0d1822;
}
.teaser-visual figcaption {
  padding:12px 4px 2px;
  color:#a9c1d4;
  font-size:12px;
  letter-spacing:.02em;
}
.product-preview .product-teaser { padding:20px 0 8px; }
@media(max-width:760px) {
  .product-teaser { padding:46px 0; }
  .teaser-grid { grid-template-columns:1fr; gap:24px; }
  .teaser-visual img { max-height:300px; }
}

/* Product imagery: crisp member views, selective crops for internal workspaces */
.product-shot { margin:0; min-width:0; padding:12px; border-radius:17px;
  background:#182936; border:1px solid rgba(130,180,215,.22);
  box-shadow:0 14px 34px rgba(0,0,0,.18); }
.product-shot figcaption { color:#b9cbd8; font-size:13px; line-height:1.45;
  padding:12px 4px 2px; min-height:42px; }
.shot-frame { overflow:hidden; border-radius:10px; background:#0c1721;
  display:flex; align-items:center; justify-content:center; }
.shot-frame img { display:block; width:100%; height:auto; object-fit:contain; }
.member-shot-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px; align-items:stretch; }
.member-shot-grid > :nth-child(3):last-child { grid-column:1 / -1; width:min(72%, 760px); justify-self:center; }
.member-shot-grid .full-shot .shot-frame img { max-height:460px; object-fit:contain; }
.member-shot-grid .phone-shot { max-width:330px; justify-self:center; width:100%; }
.member-shot-grid .phone-shot .shot-frame { height:460px; }
.member-shot-grid .phone-shot .shot-frame img { height:100%; width:auto; max-width:100%; object-fit:contain; }
.member-shot-grid .cropped-shot .shot-frame { height:290px; }
.member-shot-grid .cropped-shot .shot-frame img { width:150%; max-width:none; height:100%; object-fit:cover;
  object-position:left center; transform:translateX(-5%); }
.feature-shot-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.feature-shot-grid .cropped-wide .shot-frame { height:330px; }
.feature-shot-grid .cropped-wide .shot-frame img { height:100%; width:145%; max-width:none;
  object-fit:cover; object-position:left center; }
.feature-shot-grid .full-shot .shot-frame img { max-height:330px; object-fit:contain; }
@media(max-width:760px) {
 .member-shot-grid,.feature-shot-grid { grid-template-columns:1fr; }
 .member-shot-grid > :nth-child(3):last-child { grid-column:auto; width:100%; }
 .member-shot-grid .phone-shot { max-width:270px; }
 .member-shot-grid .phone-shot .shot-frame { height:430px; }
 .member-shot-grid .cropped-shot .shot-frame { height:230px; }
 .feature-shot-grid .cropped-wide .shot-frame { height:250px; }
}
