/* Critical CSS for header, page menu, hero, basic grid and utilities */

:root{
    --bs-primary:#150958;
    --bs-primary-rgb:21, 9, 88;
    --bs-secondary:#BB9F55;
    --bs-secondary-rgb:187, 159, 85;
    --color-white:#ffffff;
    --color-black:#000000;
    --cnvs-primary-font:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    --cnvs-primary-menu-color:#150958;
    --cnvs-themecolor:#150958;
    --cnvs-themecolor-rgb:21, 9, 88;
    --bs-link-color:var(--bs-primary);
    --bs-link-color-rgb:var(--bs-primary-rgb);
    --cnvs-font-size-h1:	2.25rem;
    --cnvs-font-size-h2:	1.875rem;
    --cnvs-font-size-h3:	1.625rem;
    --cnvs-font-size-h4:	1.375rem;
    --cnvs-font-size-h5:	1.125rem;
    --cnvs-font-size-h6:	0.875rem;
    --emc-color-intimate: #b62a35;
    --emc-color-deepfakes: #0e86aa;
    --emc-color-private: #d08b2a;
    --emc-color-accounts: #b13b8f;
    --emc-color-default: #150958;
}

*{box-sizing:border-box}
html,body{height:100%}
html {scroll-behavior: smooth;}
body{
    margin:0;
    font-family:var(--cnvs-primary-font);
    color:#111827;
    background:#ffffff;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    font-size-adjust:0.52
}
.orbitron-bold{font-size-adjust:0.50}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* Reserve icon space before Font Awesome kit initializes to reduce CLS */
[class^="fa-"],
[class*=" fa-"]{
    display:inline-block;
    width:1em;
    min-width:1em;
    line-height:1;
    text-align:center;
}

/* Typography helpers used above the fold */
.dm-sans-bold{font-family:var(--cnvs-primary-font)!important;font-weight:700!important}
.dm-sans-semibold{font-family:var(--cnvs-primary-font)!important;font-weight:600!important}
.dm-sans-regular{font-family:var(--cnvs-primary-font)!important;font-weight:400!important}
.orbitron-bold{font-family:"Orbitron",var(--cnvs-primary-font)!important;font-weight:700!important}

/* Basic color utilities used above the fold */
.text-white{color:#fff!important}
.text-primary{color:var(--bs-primary)!important}
.text-secondary{color:var(--bs-secondary)!important}
.text-muted{color:#6b7280!important}
.bg-primary{background-color:var(--bs-primary)!important}

/* Layout containers and grid minimal subset */
.container{
    width:100%;
    padding-left:16px;
    padding-right:16px;
    margin-left:auto;
    margin-right:auto;
}
@media (min-width:576px){.container{max-width:540px}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){.container{max-width:960px}}
@media (min-width:1200px){.container{max-width:1140px}}
@media (min-width:1400px){.container{max-width:1320px}}

.row{display:flex;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}
.row>*{padding-left:12px;padding-right:12px}

.col-12{flex:0 0 auto;width:100%}
.col-6{flex:0 0 auto;width:50%}
@media (min-width:576px){
    .col-sm-6{flex:0 0 auto;width:50%}
}
@media (min-width:768px){
    .col-md-6{flex:0 0 auto;width:50%}
    .d-md-block{display:block!important}
}
@media (min-width:992px){
    .col-lg-3{flex:0 0 auto;width:25%}
    .col-lg-5{flex:0 0 auto;width:41.6666667%}
    .col-lg-6{flex:0 0 auto;width:50%}
    .col-lg-7{flex:0 0 auto;width:58.3333333%}
    .col-lg-9{flex:0 0 auto;width:75%}
}

/* Display and flex utilities used above the fold */
.d-flex{display:flex!important}
.d-block{display:block!important}
.d-none{display:none!important}
.flex-column{flex-direction:column!important}
.flex-md-row{}
@media (min-width:768px){.flex-md-row{flex-direction:row!important}}
.align-items-center{align-items:center!important}
.align-items-start{align-items:flex-start!important}
.justify-content-center{justify-content:center!important}
.justify-content-around{justify-content:space-around!important}
.flex-wrap{flex-wrap:wrap!important}
.flex-shrink-0{flex-shrink:0!important}
.flex-grow-1{flex-grow:1!important}

/* Gap utilities used above the fold */
.gap-2{gap:8px!important}
.gap-3{gap:16px!important}
.gap-4{gap:24px!important}

/* Spacing minimal subset used above the fold */
.mb-0{margin-bottom:0!important}
.mb-2{margin-bottom:8px!important}
.mb-3{margin-bottom:16px!important}
.mb-4{margin-bottom:24px!important}
.mb-5{margin-bottom:48px!important}
.mt-0{margin-top:0!important}
.mt-2{margin-top:8px!important}
.mt-4{margin-top:24px!important}


.pt-0{padding-top:0!important}
.pt-5{padding-top:48px!important}
.pb-2{padding-bottom:8px!important}
.pb-4{padding-bottom:24px!important}
.py-0{padding-top:0!important;padding-bottom:0!important}
.py-2{padding-top:8px!important;padding-bottom:8px!important}
.py-3{padding-top:16px!important;padding-bottom:16px!important}
.py-4{padding-top:24px!important;padding-bottom:24px!important}

/* Position utilities used above the fold */
.position-relative{position:relative!important}
.position-absolute{position:absolute!important}
.top-0{top:0!important}
.bottom-0{bottom:0!important}
.start-0{left:0!important}
.end-0{right:0!important}
.w-100{width:100%!important}
.h-100{height:100%!important}

/* Text alignment */
.text-center{text-align:center!important}
.text-uppercase{text-transform:uppercase!important}

/* Header critical */
#header{
    width:100%;
    z-index:1000;
}
#header .container{padding-left:16px;padding-right:16px}
#header-wrap{position:relative}
.header-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;    
}
#logo img{height:90px!important;width:auto!important}

/* Mobile menu visibility balance */
.primary-menu{display:none}
.primary-menu-trigger{display:flex;align-items:center}
@media (min-width:992px){
    .primary-menu{display:block}
    .primary-menu-trigger{display:none}
}

/* Page submenu bar */
#page-menu{
    width:100%;
    background:var(--bs-primary);
    color:#fff;
}
#page-menu .page-menu-row{display:flex;align-items:center;justify-content:center}
#page-menu .page-menu-title{line-height:1}

.page-menu-ribbon{--cnvs-page-submenu-sticky-offset:60px;max-height:40px;min-height:40px;}

/* Hero wrapper */
.ns-hero-wrap{position:relative;overflow:hidden}
.ns-hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    z-index:0;
}
.ns-hero-content{position:relative;z-index:1}

/* Content wrap baseline */
.content-wrap{position:relative}
.section{position:relative}

/* Buttons minimal */
.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    border-radius:10px;
    padding:12px 22px;
    font-weight:700;
    letter-spacing:1px;
    cursor:pointer;
    white-space:nowrap;
}
.button-rounded{border-radius:0.25rem}
.button-large{padding:14px 26px;font-size:16px}
.button-xlarge{padding:16px 28px;font-size:16px}
.ns-btn-primary{
    background-color:var(--bs-primary);
    border-color:var(--bs-primary);
    color:#fff;
}

/* Small helpers seen above the fold */
.badge{display:inline-block;padding:6px 12px;border-radius:999px;font-weight:700}
.rounded-circle{border-radius:999px}
.shadow-sm{box-shadow:0 2px 8px rgba(0,0,0,0.08)}

.container{
    width:100%;
    padding-left:16px;
    padding-right:16px;
    margin-left:auto;
    margin-right:auto;
}
@media (min-width:576px){.container{max-width:540px}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){.container{max-width:960px}}
@media (min-width:1200px){.container{max-width:1140px}}
@media (min-width:1400px){.container{max-width:1320px}}

.row{display:flex;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}
.row>*{padding-left:12px;padding-right:12px}

.col-12{flex:0 0 auto;width:100%}
.col-6{flex:0 0 auto;width:50%}

@media (min-width:576px){
    .col-sm-6{flex:0 0 auto;width:50%}
}
@media (min-width:768px){
    .col-md-4{flex:0 0 auto;width:33.3333333%}
    .col-md-6{flex:0 0 auto;width:50%}
    .col-md-8{flex:0 0 auto;width:66.6666667%}
}
@media (min-width:992px){
    .col-lg-3{flex:0 0 auto;width:25%}
    .col-lg-4{flex:0 0 auto;width:33.3333333%}
    .col-lg-5{flex:0 0 auto;width:41.6666667%}
    .col-lg-6{flex:0 0 auto;width:50%}
    .col-lg-7{flex:0 0 auto;width:58.3333333%}
    .col-lg-8{flex:0 0 auto;width:66.6666667%}
    .col-lg-9{flex:0 0 auto;width:75%}
    .col-lg-12{flex:0 0 auto;width:100%}
}


.display-1 {
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-1 {
        font-size: 5rem;
    }
}

.display-2 {
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-2 {
        font-size: 4.5rem;
    }
}

.display-3 {
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-3 {
        font-size: 4rem;
    }
}

.display-4 {
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-4 {
        font-size: 3.5rem;
    }
}

.display-5 {
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-5 {
        font-size: 3rem;
    }
}

.display-6 {
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-6 {
        font-size: 2.5rem;
    }
}


h1, .h1 {
    font-size: var(--cnvs-font-size-h1);
}

h2, .h2 {
    font-size: var(--cnvs-font-size-h2);
}

h3, .h3 {
    font-size: var(--cnvs-font-size-h3);
}

h4, .h4 {
    font-size: var(--cnvs-font-size-h4);
}

h5, .h5 {
    font-size: var(--cnvs-font-size-h5);
}

h6, .h6 {
    font-size: var(--cnvs-font-size-h6);
}



#emergency.emc-section {
    scroll-margin-top: 50px;
}

.emc-subtitle {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
}

.emc-card {
    position: relative;
    border: 1px solid #e4e7ef;
    border-radius: 12px;
    padding: 2rem 1.5rem 1.25rem;
    min-height: 270px;
}

.emc-theme-3 {
    --emc-color: var(--emc-color-private);
}

.emc-theme-2 {
    --emc-color: var(--emc-color-deepfakes);
}

.emc-theme-1 {
    --emc-color: var(--emc-color-intimate);
}

.emc-theme-4 {
    --emc-color: var(--emc-color-accounts);
}

.emc-theme-default {
    --emc-color: var(--emc-color-default);
}

.emc-price-badge {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.55rem 0.85rem;
    background: #fff;
    border-left: 1px solid #e4e7ef;
    border-bottom: 1px solid #e4e7ef;
    border-bottom-left-radius: 10px;
    text-align: right;
}

.emc-price-value {
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
}

.emc-title {
    color: var(--emc-color);
    font-size: clamp(1.15rem, 2.1vw, 1.4rem);
    line-height: 1.3;
    padding-right: 4.2rem;
}

.emc-message {
    font-size: 0.95rem;
    line-height: 1.65;
    padding-right: 4.2rem;
    margin-bottom: 1.1rem;
}

.emc-learn-more {
    color: var(--emc-color);
    font-weight: 600;
}

.emc-learn-more-icon {
    font-size: 0.9rem;
    transition: transform 0.25s ease;
}

.emc-learn-more:hover .emc-learn-more-icon {
    transform: translateX(3px);
}

.emc-cta {
    min-width: 220px;
}

.emc-icon-wrap {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100px;
    height: 100px;
    border-top-left-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.emc-icon {
    width: 78px;
    height: 78px;
}

@media (max-width: 767.98px) {
    .emc-card {
        min-height: 0;
        padding: 5.6rem 1rem 1rem;
    }

    .emc-price-badge {
        padding: 0.45rem 0.75rem;
    }

    .emc-price-value {
        font-size: 0.95rem;
    }

    .emc-title {
        padding-right: .4rem;
        font-size: 1.05rem;
        line-height: 1.35;
    }

    .emc-message {
        padding-right: .8rem;
        font-size: 0.84rem;
        line-height: 1.55;
    }

    .emc-cta {
        min-width: 100%;
    }

    .emc-icon-wrap {
        left: 0;
        top: 0;
        right: auto;
        bottom: auto;
        width: 62px;
        height: 62px;
    }

    .emc-icon {
        width: 50px;
        height: 50px;
    }
}
