:root{
    --primary:#0f948b;
    --primary-hover:#0b7d76;
    --primary-dark:#087068;
    --primary-light:#36c6bb;
    --primary-soft:#eaf8f6;
    --primary-soft-2:#dff5f2;
    --navy:#0b3047;
    --navy-2:#08293d;
    --navy-dark:#061f30;
    --navy-deep:#041927;
    --text:#162b3b;
    --text-soft:#5f7180;
    --muted:#8494a1;
    --page:#f6f9fa;
    --surface:#ffffff;
    --surface-soft:#f7fafb;
    --border:#dce6ea;
    --border-light:#edf2f4;
    --success:#159b61;
    --heading:"Space Grotesk",sans-serif;
    --font:"DM Sans",sans-serif;
    --container:1220px;
    --header-height:82px;
    --radius-sm:12px;
    --radius:18px;
    --radius-lg:26px;
    --shadow-sm:0 12px 30px rgba(8,41,61,.06);
    --shadow:0 24px 60px rgba(8,41,61,.10);
    --transition:180ms ease;
}

/* =========================================================
   RESET
========================================================= */

*,
*::before,
*::after{
    box-sizing:border-box;
}

*{
    margin:0;
    padding:0;
}

html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
}

body{
    width:100%;
    min-height:100vh;
    overflow-x:hidden;
    background:#fff;
    color:var(--text);
    font-family:var(--font);
    font-size:16px;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body.menu-open{
    overflow:hidden;
}

button,
input,
textarea,
select{
    font:inherit;
}

button{
    border:0;
}

button,
a{
    -webkit-tap-highlight-color:transparent;
}

a{
    color:inherit;
    text-decoration:none;
}

img{
    display:block;
    max-width:100%;
}

.site-page{
    width:100%;
    overflow:hidden;
}

.site-container{
    width:min(calc(100% - 48px),var(--container));
    margin-inline:auto;
}

/* =========================================================
   HEADER
========================================================= */

.site-header{
    position:fixed;
    top:0;
    right:0;
    left:0;
    z-index:1000;
    height:var(--header-height);
    border-bottom:1px solid rgba(255,255,255,.07);
    background:rgba(5,28,43,.82);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    transition:
        height .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.site-header.is-scrolled{
    height:72px;
    background:rgba(5,28,43,.98);
    border-color:rgba(255,255,255,.08);
    box-shadow:0 12px 35px rgba(0,0,0,.13);
}

.site-nav-container{
    display:flex;
    width:min(calc(100% - 48px),var(--container));
    height:100%;
    margin-inline:auto;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

/* =========================================================
   BRAND
========================================================= */

.site-brand{
    display:flex;
    width:178px;
    flex:0 0 178px;
    align-items:center;
}

.site-brand img{
    width:100%;
    max-height:58px;
    object-fit:contain;
    object-position:left center;
}

/* =========================================================
   NAVIGATION
========================================================= */

.site-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:21px;
}

.site-nav-link{
    position:relative;
    display:inline-flex;
    align-items:center;
    padding:10px 0;
    color:rgba(255,255,255,.66);
    font-size:12px;
    font-weight:600;
    white-space:nowrap;
    transition:color var(--transition);
}

.site-nav-link::after{
    position:absolute;
    right:0;
    bottom:3px;
    left:0;
    height:2px;
    border-radius:999px;
    background:var(--primary-light);
    content:"";
    transform:scaleX(0);
    transform-origin:center;
    transition:transform var(--transition);
}

.site-nav-link:hover,
.site-nav-link.is-active{
    color:#fff;
}

.site-nav-link:hover::after,
.site-nav-link.is-active::after{
    transform:scaleX(1);
}

/* =========================================================
   NAV ACTIONS
========================================================= */

.site-nav-actions{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:9px;
}

.site-login-link{
    display:inline-flex;
    min-height:43px;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 11px;
    color:rgba(255,255,255,.76);
    font-size:11px;
    font-weight:700;
    transition:color var(--transition);
}

.site-login-link:hover{
    color:#fff;
}

.site-agent-button{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 17px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:11px;
    background:linear-gradient(135deg,#18a99f,var(--primary-dark));
    color:#fff;
    font-size:11px;
    font-weight:700;
    transition:
        transform var(--transition),
        box-shadow var(--transition);
}

.site-agent-button:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(15,148,139,.24);
}

.site-agent-button i{
    font-size:9px;
}

.site-menu-button{
    display:none;
    width:43px;
    height:43px;
    place-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:11px;
    background:rgba(255,255,255,.06);
    color:#fff;
    cursor:pointer;
    font-size:16px;
}

.site-mobile-overlay{
    position:fixed;
    inset:0;
    z-index:900;
    background:rgba(3,18,28,.68);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:
        opacity .22s ease,
        visibility .22s ease;
}

.site-mobile-overlay.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

/* =========================================================
   HERO
========================================================= */

.hero-section{
    position:relative;
    min-height:790px;
    overflow:hidden;
    padding-top:var(--header-height);
    background:
        radial-gradient(
            circle at 7% 18%,
            rgba(37,188,178,.15),
            transparent 28%
        ),
        radial-gradient(
            circle at 91% 19%,
            rgba(22,130,191,.11),
            transparent 29%
        ),
        linear-gradient(
            135deg,
            #051d2d 0%,
            #082b41 57%,
            #0d3c58 100%
        );
    color:#fff;
}

.hero-section::before{
    position:absolute;
    top:100px;
    left:-170px;
    width:410px;
    height:410px;
    border:1px solid rgba(87,211,201,.07);
    border-radius:50%;
    content:"";
    pointer-events:none;
}

.hero-section::after{
    position:absolute;
    right:-180px;
    bottom:-180px;
    width:500px;
    height:500px;
    border:1px solid rgba(255,255,255,.04);
    border-radius:50%;
    content:"";
    pointer-events:none;
}

.hero-decoration{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
}

.hero-decoration-one{
    top:105px;
    right:10%;
    width:270px;
    height:270px;
    background:rgba(39,185,175,.035);
    filter:blur(3px);
}

.hero-decoration-two{
    right:15%;
    bottom:40px;
    width:140px;
    height:140px;
    background:rgba(15,148,139,.035);
    filter:blur(4px);
}

/* =========================================================
   HERO LAYOUT
========================================================= */

.hero-container{
    position:relative;
    z-index:2;
    display:grid;
    min-height:708px;
    grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
    align-items:center;
    gap:65px;
    padding-top:55px;
    padding-bottom:70px;
}

.hero-main{
    min-width:0;
    max-width:760px;
}

.hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:24px;
    padding:8px 13px;
    border:1px solid rgba(76,211,201,.19);
    border-radius:999px;
    background:rgba(15,148,139,.11);
    color:#73ddd5;
    font-size:10px;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.hero-eyebrow span{
    display:grid;
    width:25px;
    height:25px;
    place-items:center;
    border-radius:7px;
    background:rgba(255,255,255,.07);
    font-size:9px;
}

.hero-main h1{
    max-width:760px;
    color:#fff;
    font-family:var(--heading);
    font-size:clamp(54px,5vw,73px);
    font-weight:700;
    letter-spacing:-.055em;
    line-height:1.02;
}

.hero-main h1 span{
    display:block;
    margin-top:7px;
    background:linear-gradient(90deg,#5ddbd1,#1ebcb0);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero-description{
    max-width:700px;
    margin-top:27px;
    color:rgba(255,255,255,.77);
    font-size:16px;
    line-height:1.75;
}

.hero-description strong{
    color:#fff;
    font-weight:700;
}

.hero-secondary-description{
    max-width:700px;
    margin-top:12px;
    color:rgba(255,255,255,.55);
    font-size:14px;
    line-height:1.72;
}

/* =========================================================
   HERO BUTTONS
========================================================= */

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    margin-top:30px;
}

.button{
    display:inline-flex;
    min-height:52px;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 20px;
    border-radius:12px;
    font-size:12px;
    font-weight:700;
    transition:
        transform var(--transition),
        background var(--transition),
        border-color var(--transition),
        box-shadow var(--transition),
        color var(--transition);
}

.button:hover{
    transform:translateY(-2px);
}

.button-primary{
    background:linear-gradient(135deg,#18aaa0,#08726b);
    box-shadow:0 14px 30px rgba(15,148,139,.22);
    color:#fff;
}

.button-primary:hover{
    box-shadow:0 18px 34px rgba(15,148,139,.29);
}

.button-light{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
}

.button-light:hover{
    background:rgba(255,255,255,.12);
}

.button-whatsapp{
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.04);
    color:#fff;
}

.button-whatsapp i{
    color:#60d68b;
    font-size:17px;
}

.button-whatsapp:hover{
    border-color:rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
}

.button-outline-dark{
    border:1px solid var(--border);
    background:#fff;
    color:var(--navy);
}

.button-outline-dark:hover{
    border-color:#b8d7d3;
    background:var(--primary-soft);
}

/* =========================================================
   HERO META
========================================================= */

.hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:12px 19px;
    margin-top:25px;
    color:rgba(255,255,255,.57);
    font-size:10px;
    font-weight:500;
}

.hero-meta span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.hero-meta i{
    color:#4ed1c7;
    font-size:9px;
}

/* =========================================================
   HERO BUSINESS CARD
========================================================= */

.hero-business-card{
    position:relative;
    min-width:0;
    padding:27px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:22px;
    background:rgba(255,255,255,.075);
    box-shadow:0 25px 70px rgba(0,0,0,.15);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.hero-business-card::before{
    position:absolute;
    top:0;
    right:30px;
    left:30px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        transparent,
        var(--primary-light),
        transparent
    );
    content:"";
}

.business-card-top{
    display:flex;
    align-items:center;
    gap:13px;
    padding-bottom:21px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.business-card-icon{
    display:grid;
    width:49px;
    height:49px;
    flex:0 0 49px;
    place-items:center;
    border-radius:14px;
    background:rgba(63,207,196,.13);
    color:#67dacf;
    font-size:16px;
}

.business-card-top > div{
    min-width:0;
}

.business-card-top small{
    color:#60d6cd;
    font-size:8px;
    font-weight:700;
    letter-spacing:.13em;
}

.business-card-top h2{
    margin-top:4px;
    color:#fff;
    font-family:var(--heading);
    font-size:20px;
    font-weight:700;
}

.business-card-intro{
    margin-top:19px;
    color:rgba(255,255,255,.72);
    font-size:13px;
    line-height:1.65;
}

.business-summary-list{
    display:grid;
    gap:9px;
    margin-top:18px;
}

.business-summary-item{
    display:flex;
    min-width:0;
    align-items:flex-start;
    gap:11px;
    padding:13px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:13px;
    background:rgba(255,255,255,.035);
}

.business-summary-item > span{
    display:grid;
    width:37px;
    height:37px;
    flex:0 0 37px;
    place-items:center;
    border-radius:10px;
    background:rgba(15,148,139,.15);
    color:#5dd7ce;
    font-size:12px;
}

.business-summary-item > div{
    display:flex;
    min-width:0;
    flex-direction:column;
}

.business-summary-item small{
    color:rgba(255,255,255,.36);
    font-size:8px;
    text-transform:uppercase;
}

.business-summary-item strong{
    margin-top:2px;
    color:#fff;
    font-size:11px;
    font-weight:700;
}

.business-summary-item p{
    margin-top:3px;
    color:rgba(255,255,255,.45);
    font-size:9px;
    line-height:1.45;
}

.business-card-contact{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:18px;
    padding-top:17px;
    border-top:1px solid rgba(255,255,255,.08);
}

.business-card-contact > span{
    color:rgba(255,255,255,.43);
    font-size:9px;
}

.business-card-contact a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#70ddd5;
    font-size:10px;
    font-weight:700;
}

.business-card-contact a i{
    color:#5fda8b;
    font-size:14px;
}

/* =========================================================
   GLOBAL SECTION
========================================================= */

.section{
    position:relative;
    padding:100px 0;
}

.section-label{
    display:inline-block;
    margin-bottom:12px;
    color:var(--primary);
    font-size:10px;
    font-weight:700;
    letter-spacing:.14em;
}

.section-heading{
    max-width:680px;
    margin-bottom:44px;
}

.section-heading-center{
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}

.section-heading h2,
.business-heading h2,
.about-content h2,
.faq-intro h2,
.contact-copy h2{
    color:var(--navy);
    font-family:var(--heading);
    font-size:clamp(37px,4vw,52px);
    font-weight:700;
    letter-spacing:-.045em;
    line-height:1.08;
}

.section-heading p,
.business-heading > p,
.about-content > p,
.faq-intro > p,
.contact-copy > p{
    margin-top:15px;
    color:var(--text-soft);
    font-size:15px;
    line-height:1.75;
}

/* =========================================================
   BUSINESS / WHAT WE DO
========================================================= */

.business-section{
    background:#fff;
}

.business-heading{
    max-width:820px;
    margin-bottom:45px;
}

.business-heading h2{
    max-width:780px;
}

.business-heading > p{
    max-width:760px;
    font-size:17px;
}

.business-services-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:17px;
}

.business-service-card{
    position:relative;
    min-width:0;
    min-height:350px;
    padding:29px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:20px;
    background:#fff;
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.business-service-card:hover{
    transform:translateY(-4px);
    border-color:#c9e3df;
    box-shadow:0 22px 48px rgba(8,41,61,.08);
}

.business-service-card.primary-card{
    border-color:#cbe6e2;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(15,148,139,.10),
            transparent 36%
        ),
        #fff;
}

.business-service-icon{
    display:grid;
    width:52px;
    height:52px;
    place-items:center;
    border-radius:15px;
    background:var(--primary-soft);
    color:var(--primary);
    font-size:18px;
}

.card-eyebrow{
    display:block;
    margin-top:25px;
    color:var(--primary);
    font-size:8px;
    font-weight:700;
    letter-spacing:.12em;
}

.business-service-card h3{
    margin-top:6px;
    color:var(--navy);
    font-family:var(--heading);
    font-size:22px;
    font-weight:700;
}

.business-service-card p{
    margin-top:13px;
    color:var(--text-soft);
    font-size:13px;
    line-height:1.72;
}

.network-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:23px;
}

.network-list span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:7px 10px;
    border-radius:999px;
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-size:9px;
    font-weight:700;
}

.network-list i{
    font-size:7px;
}

.card-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:24px;
    color:var(--primary);
    font-size:11px;
    font-weight:700;
}

.card-link i{
    font-size:8px;
    transition:transform var(--transition);
}

.card-link:hover i{
    transform:translateX(4px);
}

.business-clarity-strip{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-top:19px;
    padding:23px;
    border:1px solid #cfe8e4;
    border-radius:17px;
    background:#f0faf8;
}

.clarity-icon{
    display:grid;
    width:43px;
    height:43px;
    flex:0 0 43px;
    place-items:center;
    border-radius:12px;
    background:#fff;
    color:var(--primary);
    font-size:14px;
}

.clarity-copy{
    min-width:0;
}

.clarity-copy strong{
    color:var(--navy);
    font-family:var(--heading);
    font-size:14px;
    font-weight:700;
}

.clarity-copy p{
    margin-top:4px;
    color:var(--text-soft);
    font-size:12px;
    line-height:1.7;
}

/* =========================================================
   PROCESS
========================================================= */

.process-section{
    background:var(--page);
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.process-card{
    position:relative;
    min-width:0;
    min-height:280px;
    padding:25px;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
    transition:
        transform var(--transition),
        border-color var(--transition);
}

.process-card:hover{
    transform:translateY(-3px);
    border-color:#cfe4e1;
}

.process-number{
    position:absolute;
    top:22px;
    right:22px;
    color:#d8e4e8;
    font-family:var(--heading);
    font-size:24px;
    font-weight:700;
}

.process-icon{
    display:grid;
    width:49px;
    height:49px;
    place-items:center;
    border-radius:14px;
    background:var(--primary-soft);
    color:var(--primary);
    font-size:16px;
}

.process-card h3{
    margin-top:32px;
    color:var(--navy);
    font-family:var(--heading);
    font-size:18px;
    font-weight:700;
}

.process-card p{
    margin-top:10px;
    color:var(--text-soft);
    font-size:12px;
    line-height:1.7;
}

.process-action{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-top:18px;
    padding:20px 23px;
    border:1px solid var(--border);
    border-radius:16px;
    background:#fff;
}

.process-action > div{
    display:flex;
    min-width:0;
    flex-direction:column;
}

.process-action small{
    color:var(--primary);
    font-size:8px;
    font-weight:700;
    letter-spacing:.12em;
}

.process-action strong{
    margin-top:4px;
    color:var(--navy);
    font-family:var(--heading);
    font-size:15px;
}

/* =========================================================
   ABOUT
========================================================= */

.about-section{
    background:#fff;
}

.about-container{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    align-items:center;
    gap:75px;
}

.about-content{
    max-width:590px;
}

.about-content > p + p{
    margin-top:13px;
}

.about-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:29px;
}

.about-card-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.about-info-card{
    display:flex;
    min-width:0;
    min-height:180px;
    flex-direction:column;
    padding:20px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--surface-soft);
    transition:
        transform var(--transition),
        border-color var(--transition),
        background var(--transition);
}

.about-info-card:hover{
    transform:translateY(-2px);
    border-color:#cfe4e1;
    background:#fff;
}

.about-info-card > span{
    display:grid;
    width:43px;
    height:43px;
    place-items:center;
    border-radius:12px;
    background:var(--primary-soft);
    color:var(--primary);
    font-size:14px;
}

.about-info-card small{
    margin-top:20px;
    color:var(--muted);
    font-size:8px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.about-info-card strong{
    margin-top:5px;
    color:var(--navy);
    font-family:var(--heading);
    font-size:13px;
    font-weight:700;
    line-height:1.4;
    overflow-wrap:anywhere;
}

.about-info-card p,
.about-info-card a{
    margin-top:6px;
    color:var(--text-soft);
    font-size:9px;
    line-height:1.5;
}

.about-info-card a{
    width:max-content;
    max-width:100%;
    color:var(--primary);
    font-weight:700;
}

.about-email-card strong{
    font-family:var(--font);
    font-size:11px;
}

/* =========================================================
   FAQ
========================================================= */

.faq-section{
    background:var(--page);
}

.faq-container{
    display:grid;
    grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);
    align-items:start;
    gap:75px;
}

.faq-intro{
    position:sticky;
    top:110px;
}

.faq-contact{
    display:flex;
    margin-top:27px;
    flex-direction:column;
    gap:6px;
}

.faq-contact span{
    color:var(--muted);
    font-size:10px;
}

.faq-contact a{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-size:11px;
    font-weight:700;
}

.faq-contact a i{
    font-size:8px;
}

.faq-list{
    display:grid;
    gap:9px;
}

.faq-item{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
}

.faq-question{
    display:flex;
    width:100%;
    min-height:72px;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:0 19px;
    background:#fff;
    color:var(--navy);
    cursor:pointer;
    text-align:left;
    font-size:13px;
    font-weight:700;
}

.faq-question > span{
    flex:1;
}

.faq-question i{
    display:grid;
    width:31px;
    height:31px;
    flex:0 0 31px;
    place-items:center;
    border-radius:9px;
    background:var(--surface-soft);
    color:var(--primary);
    font-size:8px;
    transition:
        transform .22s ease,
        background .22s ease;
}

.faq-item.is-open .faq-question i{
    transform:rotate(45deg);
    background:var(--primary-soft);
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
}

.faq-answer > div{
    padding:0 19px 19px;
    color:var(--text-soft);
    font-size:12px;
    line-height:1.72;
}

.faq-answer strong{
    color:var(--navy);
}

/* =========================================================
   POLICIES
========================================================= */

.policies-section{
    background:#fff;
}

.policy-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:17px;
}

.policy-card{
    min-width:0;
    padding:29px;
    border:1px solid var(--border);
    border-radius:19px;
    background:#fff;
}

.policy-card-header{
    display:flex;
    align-items:center;
    gap:14px;
    padding-bottom:21px;
    border-bottom:1px solid var(--border-light);
}

.policy-card-header > span{
    display:grid;
    width:48px;
    height:48px;
    flex:0 0 48px;
    place-items:center;
    border-radius:14px;
    background:var(--primary-soft);
    color:var(--primary);
    font-size:15px;
}

.policy-card-header > div{
    display:flex;
    min-width:0;
    flex-direction:column;
}

.policy-card-header small{
    color:var(--muted);
    font-size:8px;
    font-weight:700;
    letter-spacing:.12em;
}

.policy-card-header h3{
    margin-top:4px;
    color:var(--navy);
    font-family:var(--heading);
    font-size:20px;
    font-weight:700;
    line-height:1.3;
}

.policy-content{
    padding-top:21px;
}

.policy-content > p{
    color:var(--text-soft);
    font-size:12px;
    line-height:1.7;
}

.policy-content ul{
    display:grid;
    gap:12px;
    margin-top:18px;
    padding-left:20px;
}

.policy-content li{
    padding-left:4px;
    color:var(--text-soft);
    font-size:11px;
    line-height:1.65;
}

.policy-content li::marker{
    color:var(--primary);
}

.policy-notice{
    display:flex;
    align-items:flex-start;
    gap:13px;
    margin-top:17px;
    padding:19px;
    border:1px solid #d8e9e6;
    border-radius:15px;
    background:#f0faf8;
}

.policy-notice > span{
    display:grid;
    width:35px;
    height:35px;
    flex:0 0 35px;
    place-items:center;
    border-radius:10px;
    background:#fff;
    color:var(--primary);
    font-size:11px;
}

.policy-notice p{
    color:var(--text-soft);
    font-size:11px;
    line-height:1.7;
}

.policy-notice a{
    color:var(--primary);
    font-weight:700;
}

/* =========================================================
   CONTACT
========================================================= */

.contact-section{
    background:var(--page);
}

.contact-shell{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:65px;
    padding:55px;
    overflow:hidden;
    border-radius:24px;
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(35,190,179,.12),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #061f30,
            #0a354e
        );
    color:#fff;
}

.contact-copy{
    max-width:530px;
}

.contact-copy .section-label{
    color:#59d9cf;
}

.contact-copy h2{
    color:#fff;
}

.contact-copy > p{
    color:rgba(255,255,255,.56);
}

.contact-business-summary{
    display:grid;
    gap:7px;
    margin-top:23px;
}

.contact-business-summary span{
    color:rgba(255,255,255,.44);
    font-size:10px;
}

.contact-business-summary strong{
    margin-left:4px;
    color:#fff;
    font-weight:700;
}

.button-whatsapp-large{
    margin-top:27px;
    background:#fff;
    color:var(--navy);
}

.button-whatsapp-large i{
    color:#1ba55c;
    font-size:18px;
}

.button-whatsapp-large:hover{
    background:#f1fffc;
}

.contact-details{
    display:grid;
    gap:9px;
}

.contact-item{
    display:flex;
    min-width:0;
    align-items:center;
    gap:12px;
    padding:14px 15px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:13px;
    background:rgba(255,255,255,.045);
    transition:
        background var(--transition),
        border-color var(--transition),
        transform var(--transition);
}

a.contact-item:hover{
    transform:translateY(-1px);
    border-color:rgba(89,216,206,.20);
    background:rgba(255,255,255,.07);
}

.contact-item > span{
    display:grid;
    width:41px;
    height:41px;
    flex:0 0 41px;
    place-items:center;
    border-radius:11px;
    background:rgba(15,148,139,.15);
    color:#5ad8ce;
    font-size:13px;
}

.contact-item > div{
    display:flex;
    min-width:0;
    flex:1;
    flex-direction:column;
}

.contact-item small{
    color:rgba(255,255,255,.40);
    font-size:8px;
}

.contact-item strong{
    margin-top:3px;
    color:#fff;
    font-size:11px;
    font-weight:700;
    overflow-wrap:anywhere;
}

.contact-item p{
    margin-top:3px;
    color:rgba(255,255,255,.44);
    font-size:8px;
}

.contact-item > i{
    color:rgba(255,255,255,.30);
    font-size:8px;
}

/* =========================================================
   FOOTER
========================================================= */

.site-footer{
    background:#041824;
    color:#fff;
}

.footer-business-description{
    display:flex;
    align-items:center;
    gap:15px;
    padding:24px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.footer-business-icon{
    display:grid;
    width:43px;
    height:43px;
    flex:0 0 43px;
    place-items:center;
    border-radius:12px;
    background:rgba(15,148,139,.15);
    color:#58d4ca;
    font-size:14px;
}

.footer-business-description > div{
    display:flex;
    min-width:0;
    flex-direction:column;
}

.footer-business-description small{
    color:#50cfc5;
    font-size:8px;
    font-weight:700;
    letter-spacing:.12em;
}

.footer-business-description strong{
    margin-top:4px;
    color:rgba(255,255,255,.76);
    font-size:11px;
    font-weight:600;
    line-height:1.5;
}

.footer-main{
    display:grid;
    grid-template-columns:1.5fr .72fr .72fr .85fr 1fr;
    gap:42px;
    padding:55px 0 45px;
}

.footer-brand > a{
    display:flex;
    width:170px;
}

.footer-brand img{
    width:100%;
    object-fit:contain;
}

.footer-brand > p{
    max-width:330px;
    margin-top:17px;
    color:rgba(255,255,255,.43);
    font-size:11px;
    line-height:1.7;
}

.footer-contact-mini{
    display:flex;
    margin-top:18px;
    flex-direction:column;
    gap:7px;
}

.footer-contact-mini a{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    gap:7px;
    color:rgba(255,255,255,.57);
    font-size:9px;
    overflow-wrap:anywhere;
    transition:color var(--transition);
}

.footer-contact-mini a:hover{
    color:#fff;
}

.footer-contact-mini i{
    width:13px;
    color:#50cec4;
    text-align:center;
}

.footer-column{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:11px;
}

.footer-column strong{
    margin-bottom:3px;
    color:#fff;
    font-family:var(--heading);
    font-size:12px;
    font-weight:700;
}

.footer-column a,
.footer-column span{
    width:max-content;
    max-width:100%;
    color:rgba(255,255,255,.45);
    font-size:9px;
    line-height:1.55;
    overflow-wrap:anywhere;
    transition:color var(--transition);
}

.footer-column a:hover{
    color:#5ed9cf;
}

.footer-bottom{
    display:flex;
    min-height:72px;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    border-top:1px solid rgba(255,255,255,.06);
    color:rgba(255,255,255,.38);
    font-size:9px;
}

.footer-powered{
    display:flex;
    align-items:center;
    gap:6px;
}

.footer-powered span{
    color:rgba(255,255,255,.34);
}

.footer-powered a{
    display:inline-flex;
    align-items:center;
}

.footer-powered strong{
    color:rgba(255,255,255,.78);
    font-weight:600;
    transition:color var(--transition);
}

.footer-powered a:hover strong{
    color:#5ed9cf;
}

/* =========================================================
   WHATSAPP FLOAT
========================================================= */

.whatsapp-float{
    position:fixed;
    right:22px;
    bottom:80px;
    z-index:750;
    display:flex;
    min-height:46px;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 16px;
    border-radius:999px;
    background:#1fa75f;
    box-shadow:0 13px 30px rgba(14,93,52,.22);
    color:#fff;
    font-size:10px;
    font-weight:700;
    transition:
        transform var(--transition),
        box-shadow var(--transition);
}

.whatsapp-float i{
    font-size:18px;
}

.whatsapp-float:hover{
    transform:translateY(-2px);
    box-shadow:0 17px 35px rgba(14,93,52,.29);
}

/* =========================================================
   SCROLL TOP
========================================================= */

.scroll-top{
    position:fixed;
    right:22px;
    bottom:23px;
    z-index:750;
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border-radius:12px;
    background:var(--navy);
    box-shadow:0 10px 25px rgba(8,41,61,.18);
    color:#fff;
    cursor:pointer;
    font-size:10px;
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease,
        background .2s ease;
}

.scroll-top.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.scroll-top:hover{
    background:var(--primary);
}

/* =========================================================
   REVEAL
========================================================= */

.reveal{
    opacity:0;
    transform:translateY(20px);
    transition:
        opacity .6s cubic-bezier(.22,.61,.36,1),
        transform .6s cubic-bezier(.22,.61,.36,1);
}

.reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

/* =========================================================
   1100PX
========================================================= */

@media(max-width:1100px){

    :root{
        --container:960px;
    }

    .site-nav{
        gap:14px;
    }

    .site-nav-link{
        font-size:10px;
    }

    .site-brand{
        width:150px;
        flex-basis:150px;
    }

    .site-login-link{
        display:none;
    }

    .site-agent-button{
        padding:0 13px;
        font-size:9px;
    }

    .hero-container{
        grid-template-columns:minmax(0,1fr) 380px;
        gap:45px;
    }

    .hero-main h1{
        font-size:58px;
    }

    .hero-business-card{
        padding:23px;
    }

    .process-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .about-container{
        gap:50px;
    }

    .faq-container{
        gap:50px;
    }

    .contact-shell{
        gap:45px;
        padding:45px;
    }

    .footer-main{
        grid-template-columns:1.45fr repeat(3,1fr);
    }

    .footer-column:last-child{
        grid-column:2/5;
    }
}

/* =========================================================
   920PX
========================================================= */

@media(max-width:920px){

    :root{
        --header-height:72px;
    }

    .site-nav-container{
        width:min(calc(100% - 32px),var(--container));
    }

    .site-brand{
        width:145px;
        flex-basis:145px;
    }

    .site-nav{
        position:fixed;
        top:0;
        right:0;
        z-index:1100;
        display:flex;
        width:min(330px,86vw);
        height:100vh;
        height:100dvh;
        align-items:stretch;
        justify-content:flex-start;
        flex-direction:column;
        gap:3px;
        padding:95px 20px 30px;
        background:#061f30;
        box-shadow:-22px 0 50px rgba(0,0,0,.22);
        transform:translateX(105%);
        transition:transform .27s cubic-bezier(.4,0,.2,1);
    }

    .site-nav.is-open{
        transform:translateX(0);
    }

    .site-nav-link{
        display:flex;
        min-height:49px;
        align-items:center;
        padding:0 13px;
        border-radius:10px;
        color:rgba(255,255,255,.68);
        font-size:13px;
    }

    .site-nav-link::after{
        display:none;
    }

    .site-nav-link:hover,
    .site-nav-link.is-active{
        background:rgba(15,148,139,.13);
        color:#fff;
    }

    .site-menu-button{
        position:relative;
        z-index:1200;
        display:grid;
    }

    .hero-section{
        min-height:auto;
    }

    .hero-container{
        min-height:auto;
        grid-template-columns:1fr;
        gap:35px;
        padding-top:90px;
        padding-bottom:70px;
    }

    .hero-main{
        max-width:780px;
    }

    .hero-main h1{
        font-size:64px;
    }

    .hero-business-card{
        max-width:650px;
    }

    .business-services-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .business-services-grid > :first-child{
        grid-column:1/-1;
    }

    .about-container,
    .faq-container,
    .contact-shell{
        grid-template-columns:1fr;
    }

    .about-content,
    .faq-intro,
    .contact-copy{
        max-width:680px;
    }

    .faq-intro{
        position:static;
    }

    .contact-shell{
        gap:40px;
    }

    .contact-details{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .footer-main{
        grid-template-columns:1.4fr repeat(2,1fr);
    }

    .footer-column:last-child{
        grid-column:auto;
    }
}

/* =========================================================
   680PX / MOBILE
========================================================= */

@media(max-width:680px){

    .site-container{
        width:calc(100% - 28px);
    }

    .site-nav-container{
        width:calc(100% - 24px);
    }

    .site-brand{
        width:136px;
        flex-basis:136px;
    }

    .site-agent-button{
        min-height:40px;
        padding:0 11px;
        font-size:9px;
    }

    .site-agent-button span{
        display:none;
    }

    .site-agent-button::before{
        content:"Become Agent";
    }

    /* HERO */

    .hero-container{
        padding-top:90px;
        padding-bottom:58px;
    }

    .hero-eyebrow{
        margin-bottom:20px;
        padding:7px 10px;
        font-size:8px;
    }

    .hero-eyebrow span{
        width:23px;
        height:23px;
    }

    .hero-main h1{
        font-size:clamp(42px,11vw,56px);
        line-height:1.03;
    }

    .hero-description{
        margin-top:21px;
        font-size:14px;
        line-height:1.72;
    }

    .hero-secondary-description{
        font-size:12px;
        line-height:1.68;
    }

    .hero-actions{
        align-items:stretch;
        flex-direction:column;
        margin-top:25px;
    }

    .hero-actions .button{
        width:100%;
    }

    .hero-meta{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin-top:22px;
    }

    .hero-meta span{
        align-items:flex-start;
        font-size:9px;
        line-height:1.45;
    }

    .hero-meta i{
        margin-top:2px;
    }

    .hero-business-card{
        padding:20px 16px;
        border-radius:18px;
    }

    .business-card-top h2{
        font-size:17px;
    }

    .business-card-intro{
        font-size:11px;
    }

    .business-summary-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .business-summary-item{
        min-height:132px;
        flex-direction:column;
        padding:12px;
    }

    .business-summary-item strong{
        font-size:10px;
    }

    .business-summary-item p{
        font-size:8px;
    }

    .business-card-contact{
        align-items:flex-start;
        flex-direction:column;
    }

    /* GENERAL */

    .section{
        padding:76px 0;
    }

    .section-heading{
        margin-bottom:31px;
    }

    .section-heading h2,
    .business-heading h2,
    .about-content h2,
    .faq-intro h2,
    .contact-copy h2{
        font-size:33px;
    }

    .section-heading p,
    .business-heading > p,
    .about-content > p,
    .faq-intro > p,
    .contact-copy > p{
        font-size:13px;
        line-height:1.7;
    }

    /* BUSINESS */

    .business-heading{
        margin-bottom:31px;
    }

    .business-services-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .business-services-grid > :first-child{
        grid-column:auto;
    }

    .business-service-card{
        min-height:auto;
        padding:21px;
        border-radius:16px;
    }

    .business-service-icon{
        width:46px;
        height:46px;
        border-radius:13px;
        font-size:15px;
    }

    .business-service-card h3{
        font-size:19px;
    }

    .business-service-card p{
        font-size:11px;
    }

    .business-clarity-strip{
        padding:16px;
    }

    .clarity-copy strong{
        font-size:12px;
    }

    .clarity-copy p{
        font-size:10px;
    }

    /* PROCESS */

    .process-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }

    .process-card{
        min-height:230px;
        padding:17px 14px;
        border-radius:15px;
    }

    .process-number{
        top:15px;
        right:14px;
        font-size:18px;
    }

    .process-icon{
        width:42px;
        height:42px;
        border-radius:12px;
        font-size:13px;
    }

    .process-card h3{
        margin-top:23px;
        font-size:15px;
    }

    .process-card p{
        font-size:9px;
        line-height:1.62;
    }

    .process-action{
        align-items:stretch;
        flex-direction:column;
        padding:17px;
    }

    .process-action .button{
        width:100%;
    }

    /* ABOUT */

    .about-container{
        gap:38px;
    }

    .about-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .about-actions .button{
        width:100%;
    }

    .about-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }

    .about-info-card{
        min-height:160px;
        padding:15px 13px;
        border-radius:14px;
    }

    .about-info-card > span{
        width:39px;
        height:39px;
        font-size:12px;
    }

    .about-info-card small{
        margin-top:15px;
        font-size:7px;
    }

    .about-info-card strong{
        font-size:10px;
    }

    .about-info-card p,
    .about-info-card a{
        font-size:8px;
    }

    .about-email-card strong{
        font-size:8px;
    }

    /* FAQ */

    .faq-container{
        gap:34px;
    }

    .faq-question{
        min-height:65px;
        padding:0 15px;
        gap:14px;
        font-size:11px;
    }

    .faq-question i{
        width:29px;
        height:29px;
        flex-basis:29px;
    }

    .faq-answer > div{
        padding:0 15px 16px;
        font-size:10px;
    }

    /* POLICIES */

    .policy-grid{
        grid-template-columns:1fr;
    }

    .policy-card{
        padding:21px;
        border-radius:16px;
    }

    .policy-card-header h3{
        font-size:17px;
    }

    .policy-content > p{
        font-size:11px;
    }

    .policy-content li{
        font-size:10px;
    }

    .policy-notice{
        padding:15px;
    }

    /* CONTACT */

    .contact-shell{
        gap:34px;
        padding:31px 20px;
        border-radius:19px;
    }

    .contact-copy .button{
        width:100%;
    }

    .contact-details{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .contact-item{
        min-height:108px;
        align-items:flex-start;
        flex-direction:column;
        gap:9px;
        padding:12px;
        border-radius:12px;
    }

    .contact-item > span{
        width:37px;
        height:37px;
        flex-basis:37px;
    }

    .contact-item > div{
        width:100%;
    }

    .contact-item > i{
        display:none;
    }

    .contact-item small{
        font-size:7px;
    }

    .contact-item strong{
        font-size:9px;
        line-height:1.45;
    }

    /* FOOTER */

    .footer-business-description{
        align-items:flex-start;
    }

    .footer-business-description strong{
        font-size:9px;
    }

    .footer-main{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:30px 22px;
        padding:45px 0 38px;
    }

    .footer-brand{
        grid-column:1/-1;
    }

    .footer-brand > p{
        font-size:10px;
    }

    .footer-bottom{
        min-height:98px;
        align-items:flex-start;
        justify-content:center;
        flex-direction:column;
        gap:9px;
    }

    .footer-powered{
        flex-wrap:wrap;
    }

    .whatsapp-float{
        right:15px;
        bottom:75px;
    }

    .scroll-top{
        right:15px;
        bottom:20px;
    }
}

/* =========================================================
   430PX
========================================================= */

@media(max-width:430px){

    .site-brand{
        width:123px;
        flex-basis:123px;
    }

    .site-agent-button{
        display:none;
    }

    .hero-container{
        padding-top:82px;
    }

    .hero-main h1{
        font-size:39px;
    }

    .hero-description{
        font-size:13px;
    }

    .business-summary-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .business-summary-item{
        min-height:128px;
    }

    .process-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .process-card{
        min-height:225px;
    }

    .about-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .contact-details{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .footer-main{
        grid-template-columns:1fr;
        gap:27px;
    }

    .footer-brand{
        grid-column:auto;
    }

    .whatsapp-float{
        width:48px;
        height:48px;
        padding:0;
        border-radius:50%;
    }

    .whatsapp-float span{
        display:none;
    }
}

/* =========================================================
   350PX
========================================================= */

@media(max-width:350px){

    .site-container{
        width:calc(100% - 22px);
    }

    .site-nav-container{
        width:calc(100% - 20px);
    }

    .site-brand{
        width:114px;
        flex-basis:114px;
    }

    .hero-main h1{
        font-size:35px;
    }

    .hero-meta{
        grid-template-columns:1fr;
    }

    .business-summary-list{
        grid-template-columns:1fr;
    }

    .business-summary-item{
        min-height:auto;
    }

    .process-grid,
    .about-card-grid,
    .contact-details{
        grid-template-columns:1fr;
    }

    .process-card,
    .about-info-card,
    .contact-item{
        min-height:auto;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important;
    }

    .reveal{
        opacity:1!important;
        transform:none!important;
    }
}