/* SUMU — sumusecure.com
   Layout mirrors the original securedns.tech (Framer) build; palette & type follow the SUMU brand kit. */
:root{
  --navy:#202060;          /* SUMU primary navy (was #2B4A6F) */
  --navy-deep:#16164A;     /* dark bands (was #1A2840) */
  --navy-black:#0B0B24;    /* hero gradient end (was #0D1117) */
  --orange:#F08030;        /* SUMU orange (was #FF6B35) */
  --orange-hot:#F05020;    /* SUMU red-orange, hovers */
  --accent:#70B0C0;        /* SUMU teal-blue (was #4A9ECC) */
  --lavender:#9AA0C8;
  --ink:#14142B;           /* headings */
  --body:#3D3D52;          /* body copy */
  --text:#26263A;
  --offwhite:#F5F3EF;
  --muted-dark:#D8DAE6;
  --line:#EEF0F7;
  --card-shadow:0 4px 20px rgba(112,176,192,.35);
  --heading:"Poppins",system-ui,sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--body);font:400 16px/1.6 var(--sans);letter-spacing:-.02em;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--heading);color:var(--ink);margin:0;font-weight:700}
p{margin:0}
.wrap{max-width:1192px;margin:0 auto;padding:0 24px}

/* ---------- header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#fff;height:108px;display:flex;align-items:center;border-bottom:1px solid transparent;transition:border-color .2s,height .2s}
.site-header.scrolled{border-bottom-color:var(--line);height:84px}
.site-header .bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.brand img{height:52px;width:auto}
.nav{display:flex;gap:20px;align-items:center}
.nav a{font:500 15px/30px var(--sans);color:var(--navy);letter-spacing:-.01em;padding:5px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.menu-btn{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--navy)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-black) 100%);color:var(--offwhite);text-align:center;padding:110px 24px}
.hero.home{padding:148px 24px 150px}
.hero::before{content:"";position:absolute;inset:-25% -22%;background:url(img/hero-orbs.svg) center/cover no-repeat;pointer-events:none}
.hero > *{position:relative}
.hero h1{color:var(--offwhite);font-size:64px;line-height:1.2;letter-spacing:-.04em;max-width:800px;margin:0 auto}
.hero.home h1{max-width:640px;margin-top:58px}
.hero .lede{color:var(--muted-dark);max-width:786px;margin:24px auto 0}
.hero.home .lede{margin-top:48px}
.hero .btns{justify-content:center;margin-top:56px}

.eyebrow{display:block;font:600 14px/1.4 var(--sans);letter-spacing:.5em;text-transform:uppercase;color:var(--orange);margin-bottom:24px}
.hero .eyebrow{letter-spacing:.5em}

/* ---------- buttons ---------- */
.btns{display:flex;gap:24px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-width:150px;height:40px;padding:0 18px;border-radius:12px;font:700 16px/1 var(--sans);letter-spacing:0;transition:background .2s,transform .2s,color .2s}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-hot);transform:translateY(-1px)}
.btn-ghost{color:var(--accent)}
.btn-ghost:hover{color:#fff;background:rgba(112,176,192,.16)}
.light .btn-ghost:hover{color:var(--navy);background:rgba(112,176,192,.14)}

/* ---------- generic sections ---------- */
.section{padding:80px 0}
.h2{font-size:48px;line-height:1.2;letter-spacing:-.04em}
.h3{font-size:36px;line-height:1.2;letter-spacing:-.04em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split .copy{max-width:420px}
.split.wide-copy .copy{max-width:576px}
.copy .h2{margin-bottom:32px}
.copy p + p{margin-top:24px}
.media img{width:100%;max-width:480px;aspect-ratio:1/1;object-fit:cover;border-radius:20px}
.media.sm img{max-width:350px}
.media.right{justify-self:end}
.checks{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:5px}
.checks li{display:flex;gap:10px;align-items:center}
.checks svg{flex:none;width:24px;height:24px;stroke:var(--accent);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.center{text-align:center}
.center .lede{max-width:560px;margin:16px auto 0}

/* overlay band (image + 90% navy) */
.overlay-band{position:relative;color:var(--offwhite);overflow:hidden}
.overlay-band .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.overlay-band::after{content:"";position:absolute;inset:0;background:rgba(32,32,96,.9)}
.overlay-band .wrap{position:relative;z-index:1;padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:380px 480px;justify-content:center;gap:50px;align-items:start}
.overlay-band .h2{color:var(--offwhite)}
.overlay-band p{padding-top:67px}

/* dark centered band */
.dark-band{background:var(--navy-deep);color:var(--offwhite);text-align:center;padding:100px 24px}
.dark-band .h2{color:#fff;max-width:921px;margin:0 auto}
.dark-band p{max-width:658px;margin:24px auto 0}
.dark-band .btns{justify-content:center;margin-top:56px}

/* CTA band */
.cta{background:var(--navy);color:var(--offwhite);text-align:center;padding:100px 24px}
.cta .h2{color:#fff}
.cta p{max-width:658px;margin:24px auto 0}
.cta .btns{justify-content:center;margin-top:56px}
.cta.light{background:#fff;color:var(--body)}
.cta.light .h2{color:var(--ink)}

/* how it works */
.demo-grid{display:grid;grid-template-columns:repeat(2,398px);justify-content:center;gap:80px;margin-top:64px}
.demo-grid .h3{margin-bottom:26px}
.demo-grid img{width:398px;height:398px;object-fit:contain}

/* cards (features / defense) */
.cards{display:grid;grid-template-columns:repeat(3,360px);justify-content:center;gap:50px;margin-top:40px}
.card{background:#fff;border-radius:20px;box-shadow:var(--card-shadow);padding:11px 20px 30px;text-align:center;transition:transform .25s}
.card:hover{transform:translateY(-4px)}
.card img{width:287px;height:287px;object-fit:cover;border-radius:12px;margin:0 auto 10px}
.card h3{font-size:26px;line-height:1.2;letter-spacing:-.04em;color:var(--navy);margin-bottom:10px}
.card p{color:var(--text)}

/* sticky split (use cases / team) */
.sticky-split{display:grid;grid-template-columns:1fr 1fr;position:relative}
.sticky-split .left{position:relative}
.sticky-split .left .inner{position:sticky;top:108px;min-height:calc(100vh - 108px);max-height:896px;display:flex;flex-direction:column;justify-content:center;padding:0 140px}
.sticky-split .left .inner::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(112,176,192,.22) 1.2px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 95%);mask-image:linear-gradient(90deg,#000 0%,transparent 95%);pointer-events:none}
.sticky-split .left .inner > *{position:relative}
.sticky-split .right{display:flex;flex-direction:column;align-items:center;gap:300px;padding:150px 0 220px}
.uc-section{background:linear-gradient(180deg,#14142B 0%,var(--navy-deep) 86%)}
.uc-section .h2{color:#fff}
.uc-section .left p{color:var(--offwhite)}
.uc-card{width:430px;min-height:496px;background:var(--navy);border-radius:12px;box-shadow:0 4px 20px var(--accent);padding:55px;display:flex;flex-direction:column;justify-content:flex-end}
.uc-card .ic{width:72px;height:72px;border-radius:16px;background:rgba(112,176,192,.14);display:grid;place-items:center;margin-bottom:auto}
.uc-card .ic svg{width:36px;height:36px;stroke:var(--accent);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.uc-card h3{font:400 32px/1 var(--heading);color:#F3F4F6;letter-spacing:-.03em;margin-bottom:24px}
.uc-card p{font-size:22px;line-height:1.2;color:var(--muted-dark);letter-spacing:-.01em}

.alt-dark{background:var(--navy-deep);color:var(--offwhite)}
.alt-dark .h2{color:#fff}

/* team */
.team-section .right{gap:300px}
.person{width:430px;background:#fff;border-radius:12px;box-shadow:0 4px 20px var(--accent);padding:40px}
.person .ph{display:block;width:150px;height:150px;margin:0 auto 25px;border-radius:50%;overflow:hidden}
.person .ph img{width:100%;height:100%;object-fit:cover}
.person h3,.advisor h3{font-size:28px;letter-spacing:-.04em;text-align:center;line-height:1.2}
.person .role,.advisor .role{font:600 14px/1.4 var(--sans);letter-spacing:.5em;text-transform:uppercase;color:var(--orange);text-align:center;margin:20px 0}
.person p a,.advisor p a{color:var(--orange)}
.person p a:hover{text-decoration:underline}
.advisors{display:grid;grid-template-columns:repeat(4,1fr);gap:60px;margin-top:80px;align-items:start}
.advisor .ph{display:block;width:150px;height:150px;margin:0 auto 25px;border-radius:50%;overflow:hidden}
.advisor .ph img{width:100%;height:100%;object-fit:cover}
.advisor p{text-align:center}

/* partners */
.logo-tile{width:100%;max-width:480px;aspect-ratio:1/1;border-radius:20px;background:#fff;box-shadow:var(--card-shadow);display:grid;place-items:center;padding:56px}
.logo-tile img{max-height:100%;object-fit:contain}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:80px;padding-bottom:80px}
.contact-lead{text-align:center}
.contact-lead .h2{margin-bottom:24px}
.contact-card{display:inline-block;text-align:left;margin-top:60px}
.contact-card .h3{margin-bottom:10px}
.contact-card p{margin-top:8px}
.contact-card a{color:var(--navy);border-bottom:1px solid var(--accent)}
form.contact{background:#fff;padding:60px 75px;display:grid;gap:18px;max-width:560px;justify-self:center;width:100%}
form.contact label{display:grid;gap:8px;font:500 12px/1.2 var(--sans);color:var(--navy);letter-spacing:0}
form.contact input,form.contact select,form.contact textarea{font:400 15px/1.4 var(--sans);color:var(--ink);border:1px solid transparent;border-radius:10px;background:rgba(112,176,192,.12);padding:12px 14px;width:100%;outline:none;transition:border-color .2s,background .2s}
form.contact input:focus,form.contact select:focus,form.contact textarea:focus{border-color:var(--accent);background:rgba(112,176,192,.06)}
form.contact textarea{min-height:100px;resize:vertical}
form.contact button{justify-self:center;margin-top:8px;height:42px;padding:0 28px;border:0;border-radius:10px;background:var(--navy);color:#fff;font:600 14px/1 var(--sans);cursor:pointer;transition:background .2s}
form.contact button:hover{background:var(--orange)}
.form-note{font-size:14px;text-align:center;color:var(--navy);min-height:1.4em}
.hp{position:absolute;left:-9999px}

/* footer */
.site-footer{background:#fff;padding:55px 0 40px}
.foot{display:grid;grid-template-columns:auto 116px 140px 1fr;gap:40px;align-items:start;max-width:1040px;margin:0 auto;padding:0 24px}
.foot .logo img{width:260px}
.foot h4{font-size:26px;line-height:1.2;letter-spacing:-.04em;color:var(--navy);margin-bottom:8px;white-space:nowrap}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.foot li,.foot li a{font:400 15px/18px var(--sans);color:var(--text);letter-spacing:-.01em}
.foot li a:hover,.foot li a[aria-current="page"]{color:var(--accent)}
.foot .li-icon{display:inline-flex;margin-top:6px;color:var(--navy)}
.foot .li-icon svg{width:36px;height:36px}
.copyright{text-align:center;margin-top:60px;color:var(--text)}

/* reveal-on-scroll */
.js .reveal:not(.in){transform:translateY(18px)}
.reveal{transition:transform .7s ease}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .cards{grid-template-columns:repeat(auto-fit,minmax(280px,360px))}
  .sticky-split .left .inner{padding:0 60px}
  .advisors{grid-template-columns:repeat(2,1fr)}
  .foot{grid-template-columns:1fr 1fr 1fr;row-gap:32px}
  .foot .logo{grid-column:1/-1}
}
@media (max-width:900px){
  .site-header{height:76px}.site-header.scrolled{height:68px}
  .brand img{height:40px}
  .menu-btn{display:block}
  .nav{position:fixed;top:76px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 16px 20px;border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;pointer-events:none;transition:.2s}
  .nav.open{opacity:1;transform:none;pointer-events:auto}
  .nav a{width:100%;padding:10px 4px;font-size:17px}
  .hero,.hero.home{padding:80px 16px}
  .hero h1{font-size:40px}
  .hero.home h1{margin-top:28px}
  .hero.home .lede{margin-top:28px}
  .eyebrow,.hero .eyebrow{letter-spacing:.3em}
  .wrap{padding:0 16px}
  .section{padding:56px 0}
  .h2{font-size:34px}
  .h3{font-size:28px}
  .split{grid-template-columns:1fr;gap:36px}
  .split .copy{max-width:none}
  .split .media{order:2;justify-self:center}
  .media.right{justify-self:center}
  .overlay-band .wrap{grid-template-columns:1fr;gap:16px;padding-top:80px;padding-bottom:80px}
  .overlay-band p{padding-top:0}
  .demo-grid{grid-template-columns:1fr;gap:40px;justify-items:center}
  .demo-grid img{width:100%;max-width:398px;height:auto}
  .cards{grid-template-columns:1fr;justify-items:center}
  .card{max-width:360px}
  .card img{width:100%;height:auto;aspect-ratio:1/1}
  .sticky-split{grid-template-columns:1fr}
  .sticky-split .left .inner{position:relative;top:0;min-height:0;padding:64px 16px 0}
  .sticky-split .right{gap:28px;padding:40px 16px 64px}
  .uc-card,.person{width:100%;max-width:430px}
  .uc-card{min-height:380px;padding:36px}
  .person{padding:32px 24px}
  .person .role,.advisor .role{letter-spacing:.3em}
  .advisors{grid-template-columns:1fr;gap:48px}
  .dark-band,.cta{padding:72px 16px}
  .contact-grid{grid-template-columns:1fr;padding-top:56px;padding-bottom:56px}
  form.contact{padding:24px 0}
  .foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .foot .brandcol,.foot > div:last-child{grid-column:1/-1}
  .foot h4{white-space:normal;font-size:22px}
  .foot .logo img{width:200px}
}
.patent-no{font:600 14px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted-dark)}
.dark-band p.patent-no{margin-top:20px}
.patent-no a{color:var(--orange);border-bottom:1px solid currentColor}
.ext-link{margin-top:24px}
.ext-link a{font-weight:600;color:var(--navy);border-bottom:1px solid var(--accent)}
.ext-link a:hover{color:var(--orange)}
a.logo-tile{transition:transform .25s}
a.logo-tile:hover{transform:translateY(-4px)}
.uc-card .uc-art{width:200px;height:170px;object-fit:contain;margin:0 auto auto}
@media (max-width:900px){.uc-card .uc-art{width:170px;height:140px;margin-bottom:24px}}
