
:root{--navy:#00305a;--blue:#004580;--red:#c5082c;--deep:#8e0401;--ink:#0d1726;--muted:#46566a;--soft:#eef2f7;--line:#d5dee8;--white:#fff;
--display:"Red Hat Display",system-ui,"Segoe UI",sans-serif;--text:"Red Hat Text",system-ui,"Segoe UI",sans-serif;color-scheme:light;
--chev:polygon(0 0,45% 0,100% 50%,45% 100%,0 100%,55% 50%);--arrow:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:130px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--white);color:var(--ink);font:17px/1.65 var(--text);overflow-x:hidden}
@media (min-width:1600px){body{font-size:18px}}
img{max-width:100%}
a{color:var(--blue)}a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.wrap{max-width:1560px;margin:0 auto;padding-left:max(clamp(20px,4vw,72px),env(safe-area-inset-left,0px));padding-right:max(clamp(20px,4vw,72px),env(safe-area-inset-right,0px))}
h1,h2,h3,h4{font-family:var(--display);margin:0;color:var(--navy);text-wrap:balance}
h2{font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:900;line-height:1.06;letter-spacing:-.01em}
h3{font-size:1.2rem;font-weight:700;line-height:1.25}
p{margin:0}
section{padding-block:clamp(60px,8vw,100px)}
.kicker{font:700 .8rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.lead{color:var(--muted);font-size:1.1rem;max-width:62ch}
.sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:40px;max-width:880px}
.sec-head.center{text-align:center;align-items:center;margin-inline:auto}
.sec-head.light h2{color:#fff}.sec-head.light .lead{color:#c3d3e4}.sec-head.light .kicker{color:#ff8a9c}
.stack{display:flex;flex-direction:column;gap:20px;align-items:flex-start;min-width:0}
.stack .sec-head{margin-bottom:0}
.stack>p{color:var(--muted)}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center}
.split.top{align-items:start}
.split>.sec-head{margin-bottom:0}

/* buttons */
.btn-arrow{display:inline-flex;align-items:center;padding:15px 38px 15px 26px;font:700 .95rem var(--display);text-decoration:none;border:0;cursor:pointer;clip-path:var(--arrow);transition:transform .15s,filter .15s}
.btn-arrow:hover{transform:translateX(3px);filter:brightness(1.08)}
.btn-arrow.red{background:var(--red);color:#fff}
.btn-arrow.blue{background:var(--blue);color:#fff}
.btn-arrow.light{background:var(--soft);color:var(--navy)}
.btn-arrow.white{background:#fff;color:var(--deep)}
.link{font:700 .95rem var(--display);text-decoration:none}
.link::after{content:"";display:inline-block;width:10px;height:10px;margin-left:8px;background:var(--red);clip-path:var(--chev)}

/* chevron list */
.chev{width:12px;height:12px;flex:none;background:var(--red);clip-path:var(--chev);margin-top:.45em}
.chev-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-weight:600;color:var(--navy)}
.chev-list li{display:flex;gap:12px;align-items:flex-start}
.chev-list.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.chev-list.light{color:#dbe6f2}.chev-list.light .chev{background:#ff8a9c}

/* header */
.topbar{background:var(--navy);color:#c3d3e4;font-size:.86rem}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding-block:7px}
.tb-r{display:flex;flex-wrap:wrap;gap:24px}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#fff;box-shadow:0 2px 16px -10px rgba(0,48,90,.5)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px;position:relative}
.brand img{height:58px;width:auto;display:block}
nav.main{display:flex;align-items:center;gap:24px;font:700 .95rem var(--display)}
nav.main>a{color:var(--ink);text-decoration:none;padding-block:6px;border-bottom:2px solid transparent}
nav.main>a.active{color:var(--red);border-bottom-color:var(--red)}
nav.main>a:hover{color:var(--red)}
nav.main .btn-arrow{color:#fff;padding:12px 34px 12px 22px;border:0}
.dd{position:relative}
.dd>a{color:var(--ink);text-decoration:none;padding-block:6px;border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:6px}
.dd>a.active{color:var(--red);border-bottom-color:var(--red)}
.dd>a:hover,.dd:hover>a{color:var(--red)}
.caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.mega{display:none;position:absolute;top:100%;left:-24px;background:#fff;box-shadow:0 24px 44px -18px rgba(0,48,90,.45);border-top:4px solid var(--red);padding:20px 22px;gap:28px;z-index:60;min-width:520px}
.mega.one{min-width:300px}
.dd:hover .mega,.dd:focus-within .mega{display:flex}
.mcol{display:flex;flex-direction:column;gap:2px;min-width:230px}
.mh{font:700 .72rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--red);padding:2px 10px 8px}
.mcol a{color:var(--ink);text-decoration:none;font:600 .92rem var(--text);padding:8px 10px;border-left:3px solid transparent}
.mcol a:hover{background:var(--soft);color:var(--red);border-left-color:var(--red)}
.mcol a.hl{color:var(--blue);font-weight:700}
.mcol a.all{margin-top:6px;color:var(--blue);font-weight:700;border-top:1px solid var(--line);padding-top:10px}
.menu-btn{display:none;background:var(--blue);color:#fff;border:0;padding:11px 18px;font:700 .9rem var(--display);clip-path:var(--arrow);padding-right:28px}
@media (max-width:1080px){
  .menu-btn{display:inline-block}
  nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:6px max(20px,env(safe-area-inset-right,0px)) 18px max(20px,env(safe-area-inset-left,0px));box-shadow:0 20px 30px -20px rgba(0,48,90,.5)}
  nav.main.open{display:flex}
  nav.main>a,.dd>a{padding:13px 0;border-bottom:1px solid var(--line);display:flex;width:100%}
  nav.main{max-height:calc(100vh - 140px);overflow-y:auto}
  .mega,.mega.one{display:flex;position:static;box-shadow:none;border:0;padding:0 0 8px 14px;min-width:0;flex-direction:column;gap:6px}
  .mcol{min-width:0}
  .mcol a{padding:7px 4px;font-weight:500}
  .caret{display:none}
  nav.main>a.active{border-bottom-color:var(--line)}
  nav.main .btn-arrow{margin-top:14px;align-self:flex-start}
  .brand img{height:46px}
}

/* hero */
.hero{position:relative;overflow:hidden;padding-block:clamp(70px,10vw,120px)}
.hero-chevs{position:absolute;inset:0 0 0 auto;width:48%}
.hero-chevs i{position:absolute;top:0;height:100%;width:100%;clip-path:polygon(22% 0,62% 0,100% 50%,62% 100%,22% 100%,60% 50%)}
.hero-chevs .c1{right:12%;background:var(--deep)}
.hero-chevs .c2{right:0;background:var(--red);opacity:.93}
.hero-chevs .c3{right:-14%;background:var(--navy) url(photos/hero.jpg) center/cover no-repeat}
.hero-copy{position:relative;max-width:min(720px,52%);display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.hero h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:900;line-height:.98;letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p{font-size:1.2rem;color:var(--muted)}
.btns{display:flex;flex-wrap:wrap;gap:14px}
@media (max-width:900px){.hero-chevs{width:70%;opacity:.12}.hero-copy{max-width:none}}

/* 4 services strip */
.svc4-wrap{padding-block:0 clamp(60px,8vw,90px)}
.svc4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.svc4-card{color:#fff;text-decoration:none;padding:30px 26px;display:flex;flex-direction:column;gap:8px;min-height:190px;transition:transform .2s}
.svc4-card:hover{transform:translateY(-4px);color:#fff}
.svc4-card strong{font:900 1.35rem var(--display)}
.svc4-card span{opacity:.88;font-size:.96rem;flex:1}
.svc4-card em{font:700 .9rem var(--display);font-style:normal;display:flex;align-items:center;gap:8px}
.svc4-card em::after{content:"";width:10px;height:10px;background:#fff;clip-path:var(--chev)}
.svc4-card.blue{background:var(--blue)}.svc4-card.red{background:var(--red)}.svc4-card.navy{background:var(--navy)}.svc4-card.deep{background:var(--deep)}

/* bands */
.navy{background:var(--navy);color:#fff}
.navy p{color:#c3d3e4}
.angle-top{clip-path:polygon(0 40px,100% 0,100% 100%,0 100%);padding-top:clamp(100px,11vw,130px)}
.soft{background:var(--soft)}
.angle-both{clip-path:polygon(0 0,100% 40px,100% 100%,0 calc(100% - 40px));padding-block:clamp(100px,11vw,130px)}
.deep{background:var(--deep);color:#fff}

/* home pieces */
.addon-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.addon-tile{background:#0b4170;padding:22px;display:flex;flex-direction:column;gap:4px;color:#fff;text-decoration:none;transition:background .2s}
.addon-tile:hover{background:#0f4f86;color:#fff}
.addon-tile strong{font:700 1.15rem var(--display)}
.addon-tile span{color:#b9cde2;font-size:.92rem}
.addon-tile.wide{grid-column:span 2;background:var(--red)}
.addon-tile.wide span{color:#ffd6dc}
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pair-card{background:#fff;padding:40px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.pair-card h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.pair-card p{color:var(--muted)}
.blue-edge{border-left:6px solid var(--blue)}.red-edge{border-left:6px solid var(--red)}
.ind-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ind{padding:30px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:700 1.15rem var(--display);color:var(--navy);text-decoration:none;transition:background .2s}
.ind:hover{background:var(--soft);color:var(--red)}
.ind.hot{background:var(--red);color:#fff}
.mvv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.mvv h3{color:#fff;font-size:1.6rem;font-weight:900;margin-bottom:10px}
.mvv p{color:#ffd6dc}

/* banner */
.banner{background:var(--navy);color:#fff;position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 36px),0 100%);padding-block:clamp(60px,8vw,96px) clamp(80px,10vw,120px)}
.banner-chevs{position:absolute;right:-60px;top:0;bottom:0;width:420px}
.banner-chevs i{position:absolute;top:0;height:100%;width:100%;clip-path:polygon(22% 0,62% 0,100% 50%,62% 100%,22% 100%,60% 50%)}
.banner-chevs i:nth-child(1){right:90px;background:var(--deep)}
.banner-chevs i:nth-child(2){right:30px;background:var(--red);opacity:.9}
.banner-chevs i:nth-child(3){right:-40px;background:var(--blue)}
.banner .wrap{position:relative;display:flex;flex-direction:column;gap:14px}
.banner h1{color:#fff;font-size:clamp(2.3rem,5vw,3.8rem);font-weight:900;line-height:1}
.banner p{color:#c3d3e4;font-size:1.15rem;max-width:640px}
.crumb{display:flex;gap:8px;font-size:.9rem;color:#9fb7cf}
.crumb a{color:#fff;text-decoration:none}
@media (max-width:760px){.banner-chevs{opacity:.25}}

/* photos */
.photo{min-height:380px;background-color:#c3d2e2;background-size:cover;background-position:center}
.chev-photo{clip-path:polygon(0 0,82% 0,100% 50%,82% 100%,0 100%,18% 50%)}

/* group cards */
.groups{display:grid;gap:20px}
.groups.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.groups.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.group{background:#fff;padding:30px;display:flex;flex-direction:column;gap:12px;border-top:4px solid var(--blue);box-shadow:0 12px 30px -24px rgba(0,48,90,.6)}
.group:nth-child(even){border-top-color:var(--red)}
.group>p{color:var(--muted);font-size:.96rem}
.group .chev-list{font-size:.95rem;gap:8px}
.soft .group{box-shadow:none}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.steps.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.step{padding:28px;background:var(--soft);display:flex;flex-direction:column;gap:8px;position:relative}
.navy .step{background:#0b4170}
.navy .step h3{color:#fff}
.step .n{font:900 2.2rem var(--display);color:var(--red);line-height:1}
.navy .step .n{color:#ff8a9c}
.step p{color:var(--muted);font-size:.95rem}
.navy .step p{color:#c3d3e4}

/* addons (M365 page) */
.addon-list{display:flex;flex-direction:column;gap:28px}
.addon{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:center;background:#0b4170;padding:40px}
.addon h3{color:#fff;font-size:1.8rem;font-weight:900}
.addon .kicker{color:#ff8a9c}
.addon .chev-list{color:#dbe6f2}.addon .chev-list .chev{background:#ff8a9c}
.addon.flip .shot{order:-1}
.shot{min-height:320px;background-color:#c3d3e4;background-size:cover;background-position:center;box-shadow:16px 16px 0 var(--red)}
.addon.flip .shot{box-shadow:-16px 16px 0 var(--red)}

/* about */
.mv2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.mv-block{display:flex;flex-direction:column;gap:14px}
.mv-block h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem)}
.mv-block .kicker{color:#ff8a9c}
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.value{padding:30px;border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;position:relative}
.value::before{content:"";width:22px;height:22px;background:var(--red);clip-path:var(--chev)}
.value:nth-child(even)::before{background:var(--blue)}
.value p{color:var(--muted);font-size:.96rem}
.facts{display:grid;grid-template-columns:auto 1fr;gap:12px 28px;margin:0;padding:30px;border-left:6px solid var(--red);background:var(--soft)}
.facts dt{font:700 .95rem var(--display);color:var(--navy)}
.facts dd{margin:0;color:var(--muted);overflow-wrap:anywhere}

/* industries */
.ind-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ind-card{padding:30px;border:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.ind-card p{color:var(--muted);font-size:.96rem;flex:1}
.ind-card.hot{background:var(--red);border-color:var(--red)}
.ind-card.hot h3{color:#fff}.ind-card.hot p{color:#ffe1e6}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags span{font:700 .75rem var(--display);padding:5px 10px;background:var(--soft);color:var(--navy)}
.ind-card.hot .tags span{background:rgba(255,255,255,.18);color:#fff}

/* picture cards */
.pcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.pcard{display:flex;flex-direction:column;background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 14px 34px -24px rgba(0,48,90,.7);overflow:hidden;transition:transform .25s,box-shadow .25s}
.pcard:hover{transform:translateY(-6px);box-shadow:0 22px 40px -22px rgba(0,48,90,.8);color:var(--ink)}
.pcard-img{display:block;aspect-ratio:16/10;max-width:100%;background-size:cover;background-position:center;position:relative;transition:transform .5s}
.pcard-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,48,90,0) 55%,rgba(0,48,90,.55));}
.pcard:hover .pcard-img{transform:scale(1.04)}
.pcard-body{display:flex;flex-direction:column;gap:8px;padding:22px 24px 24px;border-top:4px solid var(--blue);flex:1;position:relative;background:#fff}
.pcard:nth-child(even) .pcard-body{border-top-color:var(--red)}
.pcard-body strong{font:700 1.2rem var(--display);color:var(--navy)}
.pcard-desc{color:var(--muted);font-size:.96rem;flex:1}
.pcard-cta{margin-top:8px;align-self:flex-start;font:700 .9rem var(--display);color:#fff;background:var(--blue);padding:9px 30px 9px 16px;clip-path:var(--arrow);transition:background .2s}
.pcard:nth-child(even) .pcard-cta{background:var(--red)}
.pcard:hover .pcard-cta{background:var(--navy)}
@media (max-width:1080px){.pcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.pcards{grid-template-columns:1fr}}

/* intranet templates */
.intra-screen{border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,48,90,.5);background:#f4f6f9;min-width:0}
.is-bar{background:var(--blue);color:#fff;padding:12px 18px;display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:600;flex-wrap:wrap}
.is-nav{display:flex;gap:14px;color:#cfe0f1}
.is-grid{padding:16px;display:grid;grid-template-columns:1.6fr 1fr;gap:12px}
.is-hero{background:linear-gradient(135deg,var(--red),var(--deep));color:#fff;padding:18px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end}
.is-hero small{font-size:11px;opacity:.85}.is-hero strong{font:700 1.1rem var(--display)}
.is-box{background:#fff;padding:14px;display:flex;flex-direction:column;gap:6px;font-size:12px}
.is-box b{color:var(--blue)}
.is-people{flex-direction:row;align-items:center;gap:8px}
.is-people i{width:30px;height:30px;border-radius:50%;background:#dbe6f2;flex:none}.is-people i.r{background:#f3d3d9}
.is-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;text-align:center}
.is-links span{background:var(--soft);padding:8px 2px}
.tpl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tpl-card{background:#fff;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;box-shadow:0 14px 34px -24px rgba(0,48,90,.7);transition:transform .25s}
.tpl-card:hover{transform:translateY(-6px);color:var(--ink)}
.tpl-mini{display:flex;flex-direction:column;gap:8px;background:#f4f6f9;padding:14px;aspect-ratio:16/10}
.tpl-mini i{display:block;background:#fff}
.tm-bar{height:22px;flex:none}
.tm-row{display:grid;grid-template-columns:1.7fr 1fr;gap:8px;flex:1}
.tm-hero{height:100%}
.tm-side{display:flex;flex-direction:column;gap:6px}.tm-side i{flex:1}
.tm-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;height:34px;flex:none}
.tpl-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;border-top:4px solid var(--blue)}
.tpl-body strong{font:700 1.2rem var(--display);color:var(--navy)}
.tpl-body span{color:var(--muted);font-size:.95rem;flex:1}
.tpl-body em{font-style:normal;margin-top:6px;align-self:flex-start;font:700 .9rem var(--display);color:#fff;background:var(--blue);padding:8px 30px 8px 14px;clip-path:var(--arrow)}
.tpl-card:hover .tpl-body em{background:var(--red)}
.feat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.feat{background:#0b4170;padding:20px;display:flex;flex-direction:column;gap:4px}
.feat strong{font:700 1.05rem var(--display);color:#fff}.feat span{color:#b9cde2;font-size:.92rem}
.tpl-feature{display:block}
@media (max-width:1080px){.tpl-grid,.feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tpl-grid,.feat-grid,.is-grid{grid-template-columns:1fr}}

/* brands */
.brandband{background:var(--navy);color:#fff}
.brands{display:flex;flex-wrap:wrap;gap:10px}
.bbadge{border:1px solid #2d5b88;background:#0b4170;color:#fff;padding:10px 16px;font:700 .95rem var(--display);transition:background .2s,border-color .2s}
.bbadge:hover{background:var(--red);border-color:var(--red)}
.tm-note{margin-top:22px;font-size:.8rem;color:#8fa9c4}
.bgroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
.bgroup{display:flex;flex-direction:column;gap:12px;min-width:0}
.bg-title{font:900 1.25rem var(--display);color:#ff8a9c;text-decoration:none}
.bg-title:hover{color:#fff}
@media (max-width:860px){.bgroups{grid-template-columns:1fr}}

/* category pages */
.group.linked{text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.group.linked:hover{transform:translateY(-4px);box-shadow:0 18px 34px -22px rgba(0,48,90,.7)}
.group .more{margin-top:auto;font:700 .9rem var(--display);color:var(--blue);display:flex;align-items:center;gap:8px}
.group .more::after{content:"";width:10px;height:10px;background:var(--red);clip-path:var(--chev)}
.prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.prod{background:#fff;padding:26px;display:flex;gap:14px;align-items:flex-start;border-left:4px solid var(--blue)}
.prod:nth-child(even){border-left-color:var(--red)}
.prod h3{font-size:1.1rem;margin-bottom:6px}
.prod p{color:var(--muted);font-size:.95rem}
.faq details{border-bottom:1px solid var(--line);padding-block:18px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font:700 1.05rem var(--display);color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"2"}
.faq details p{color:var(--muted);margin-top:10px}
.rels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.rel{background:var(--navy);color:#fff;text-decoration:none;padding:26px;display:flex;flex-direction:column;gap:6px;transition:background .2s}
.rel:nth-child(even){background:var(--blue)}
.rel:hover{background:var(--red);color:#fff}
.rel strong{font:700 1.15rem var(--display)}
.rel span{font-size:.9rem;opacity:.85}
@media (max-width:1080px){.prods,.rels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.prods,.rels{grid-template-columns:1fr}}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
.cinfo{display:flex;flex-direction:column;gap:22px}
.ci{display:flex;flex-direction:column;gap:2px;padding-left:18px;border-left:4px solid var(--blue)}
.ci:nth-child(even){border-left-color:var(--red)}
.ci strong{font-family:var(--display);color:var(--navy)}
.ci span:not(.kicker){color:var(--muted)}
.map{min-height:240px;background-size:cover;background-position:center;display:flex;align-items:flex-end;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}
.map span{background:var(--navy);color:#fff;font:700 .9rem var(--display);padding:10px 16px}
.qform{background:var(--soft);padding:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border-top:5px solid var(--red)}
.qform h2{grid-column:1/-1;font-size:1.7rem}
.qform .full{grid-column:1/-1}
.qform label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem;color:var(--navy)}
.qform input,.qform select,.qform textarea{font:inherit;padding:12px 14px;border:1px solid #c5d2e0;background:#fff;color:var(--ink);width:100%}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.qform{position:relative}
.form-msg{background:#fff;border-left:4px solid var(--blue);padding:12px 16px}

/* cta + footer */
.cta{background:var(--red);color:#fff;padding-block:64px}
.cta .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta h2{color:#fff;font-size:clamp(1.6rem,3.2vw,2.4rem)}
footer.site{background:var(--navy);color:#c3d3e4;font-size:.95rem}
footer.site .wrap{padding-block:56px 26px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px}
.fcol{display:flex;flex-direction:column;gap:12px;min-width:0}
.flogo{height:56px;width:auto;align-self:flex-start}
.fcol h4{color:#fff;font-size:1rem}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
footer.site a{color:#c3d3e4;text-decoration:none}footer.site a:hover{color:#fff}
.legal{margin-top:40px;padding-top:18px;border-top:1px solid #1c4a78;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.85rem}

@media (max-width:1080px){.svc4,.groups.four,.ind-cards,.values,.ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps,.steps.five{grid-template-columns:repeat(2,minmax(0,1fr))}.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.split,.pair,.contact,.mv2,.addon,.groups.two{grid-template-columns:1fr}.mvv{grid-template-columns:1fr}.addon.flip .shot{order:0}.addon{padding:28px}.photo{min-height:260px}}
@media (max-width:600px){.svc4,.groups.four,.ind-cards,.values,.steps,.steps.five,.fgrid,.qform,.chev-list.two,.addon-tiles,.ind-grid{grid-template-columns:1fr}.addon-tile.wide{grid-column:auto}.qform{padding:24px}.pair-card{padding:28px}.angle-top,.angle-both{clip-path:none}}
