:root{
    --bg:#050506;
    --bg2:#0b0b0d;
    --panel:#101012;
    --panel2:#17171a;
    --field:#09090b;
    --text:#f7f7f7;
    --muted:#c8c8c8;
    --red:#cf1828;
    --red2:#8f0e18;
    --line:rgba(255,255,255,.14);
    --line2:rgba(207,24,40,.44);
    --shadow:0 20px 80px rgba(0,0,0,.55);
    --radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit}

.wrap{width:min(1360px,calc(100% - 96px));margin:0 auto}

.topbar{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    padding:18px 0;
    background:rgba(5,5,6,0);
    border-bottom:1px solid rgba(255,255,255,0);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;
    transition:
        background .28s ease,
        border-color .28s ease,
        backdrop-filter .28s ease,
        -webkit-backdrop-filter .28s ease,
        box-shadow .28s ease,
        padding .28s ease;
}

.nav{
    width:min(1520px,calc(100% - 120px));
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

.logo{
    display:flex;
    align-items:center;
    text-decoration:none;
    width:clamp(190px,13vw,255px);
    min-height:auto;
    transition:width .28s ease, transform .28s ease;
}

.logo img{
    width:100%;
    height:auto;
    display:block;
    object-fit:contain;
    object-position:left center;
    filter:drop-shadow(0 12px 22px rgba(0,0,0,.65));
}

.links{
    display:flex;
    gap:32px;
    align-items:center;
    justify-content:flex-end;
    font-weight:950;
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-left:auto;
    transition:transform .28s ease, opacity .28s ease;
}

.links a{text-decoration:none;color:#fff;opacity:.94}
.links a:hover{opacity:1;color:#fff}

body.scrolled .topbar{
    padding:10px 0;
    background:rgba(5,5,6,.78);
    border-bottom-color:rgba(255,255,255,.12);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    box-shadow:0 14px 34px rgba(0,0,0,.28);
}

body.scrolled .logo{
    width:clamp(170px,11.5vw,225px);
}

body.scrolled .links{
    transform:translateY(-1px);
}


.hero{
    min-height:92vh;
    position:relative;
    display:flex;
    align-items:center;
    isolation:isolate;
    overflow:hidden;
    background:#111;
    border-bottom:1px solid var(--line2);
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.72) 32%,rgba(0,0,0,.25) 58%,rgba(0,0,0,.38) 100%),url("hero-pss-sdg.jpg");
    background-size:cover;
    background-position:center;
    z-index:-2;
}

.hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:38%;
    background:linear-gradient(0deg,var(--bg),rgba(7,7,7,0));
    z-index:-1;
}

.hero-copy{
    padding-top:110px;
    padding-bottom:82px;
    padding-left:clamp(52px,5.2vw,96px);
    max-width:none;
    text-align:left;
}

.hero-copy > *{max-width:580px}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 14px;
    border:1px solid rgba(255,255,255,.26);
    border-radius:999px;
    background:rgba(0,0,0,.44);
    backdrop-filter:blur(10px);
    font-size:.78rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.1em;
    box-shadow:0 12px 34px rgba(0,0,0,.24);
}

.dot{width:9px;height:9px;background:var(--red);border-radius:50%;box-shadow:0 0 18px var(--red)}

h1{
    font-size:clamp(2.75rem,4.55vw,5.35rem);
    line-height:.92;
    margin:22px 0 20px;
    text-transform:uppercase;
    letter-spacing:-.055em;
    text-wrap:balance;
    text-shadow:0 8px 24px rgba(0,0,0,.45);
}

h1 span{color:#fff}

.hero-copy p{
    font-size:clamp(1rem,1.18vw,1.16rem);
    color:#f3f3f3;
    max-width:560px;
    text-shadow:0 2px 12px rgba(0,0,0,.75);
}

.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 22px;
    border-radius:999px;
    text-decoration:none;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.07em;
    border:1px solid transparent;
}

.btn.primary{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;box-shadow:0 14px 40px rgba(197,22,36,.36)}
.btn.ghost{border-color:rgba(255,255,255,.32);background:rgba(0,0,0,.34);backdrop-filter:blur(8px)}

section{padding:76px 0}
.section-head{max-width:780px;margin-bottom:34px}
.section-head.centered{text-align:center;margin-left:auto;margin-right:auto}
.kicker{color:#ff5b66;text-transform:uppercase;font-size:.82rem;letter-spacing:.14em;font-weight:950}
h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;margin:10px 0 14px;letter-spacing:-.04em}
.lead{font-size:1.1rem;color:var(--muted)}
.notice{background:linear-gradient(135deg,rgba(197,22,36,.16),rgba(255,255,255,.06));border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 14px 40px rgba(0,0,0,.24)}
.card h3{margin:0 0 8px;font-size:1.1rem}
.card p{margin:0;color:var(--muted)}

#interest{
    background:radial-gradient(circle at 7% 15%,rgba(207,24,40,.22),transparent 32%),linear-gradient(180deg,#09090a,#050505);
    border-top:1px solid rgba(207,24,40,.28);
    border-bottom:1px solid rgba(207,24,40,.25);
}

.interest-layout{display:grid;grid-template-columns:.78fr 1.72fr;gap:28px;align-items:start}
.form-intro{position:sticky;top:24px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03));border:1px solid var(--line);border-left:3px solid var(--red);border-radius:var(--radius);padding:26px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.intro-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(207,24,40,.55);border-radius:16px;background:rgba(207,24,40,.12);font-weight:950;color:#fff;margin-bottom:18px}
.form-intro h3{margin:0 0 10px;font-size:1.55rem;line-height:1.1;text-transform:uppercase}
.form-intro p{color:var(--muted);margin:0 0 18px}
.ticks{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ticks li{display:flex;gap:10px;align-items:center;color:#eee}
.ticks li::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--red);border-radius:50%;color:#ff5663;font-weight:950;font-size:.78rem}

.form-card{background:linear-gradient(180deg,rgba(19,19,22,.98),rgba(7,7,8,.99));color:var(--text);border:1px solid rgba(255,255,255,.13);border-top:1px solid rgba(207,24,40,.62);border-radius:28px;padding:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.form-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(207,24,40,.08),transparent 28%,rgba(255,255,255,.025))}
.form-card form{position:relative}
form{display:grid;gap:18px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:grid;gap:8px;font-weight:850;color:#efefef}
.field span,.group-label{font-size:.83rem;letter-spacing:.02em;color:#d8d8dc;font-weight:850}
.field b{color:#ff5d67}

input,select,textarea{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:15px 15px;font:inherit;background:linear-gradient(180deg,rgba(9,9,11,.92),rgba(3,3,4,.92));color:#fff;outline:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.34),0 10px 22px rgba(0,0,0,.18);transition:border-color .18s,box-shadow .18s,background .18s}
input::placeholder,textarea::placeholder{color:#8f8f96}
input:focus,select:focus,textarea:focus{border-color:rgba(207,24,40,.85);box-shadow:0 0 0 3px rgba(207,24,40,.18),0 12px 28px rgba(0,0,0,.26)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%),linear-gradient(180deg,rgba(9,9,11,.92),rgba(3,3,4,.92));background-position:calc(100% - 20px) 54%,calc(100% - 14px) 54%,0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;padding-right:42px}
select option{background:#101010;color:#fff}
textarea{min-height:120px;resize:vertical}
.full{grid-column:1/-1}
.hint{font-size:.88rem;color:#b9b9b9;font-weight:650;margin:0}
.option-group{display:grid;gap:10px}
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.check{display:flex;gap:10px;align-items:center;font-weight:800;color:#e7e7e7;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.11);border-radius:14px;padding:12px 13px;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.check:hover{border-color:rgba(207,24,40,.45);background:rgba(207,24,40,.08)}
.check input{appearance:none;width:22px;height:22px;flex:0 0 22px;border:1px solid rgba(255,255,255,.28);border-radius:7px;background:#050506;display:grid;place-items:center;margin:0;padding:0;box-shadow:inset 0 0 0 2px rgba(0,0,0,.22)}
.check input::before{content:"";width:11px;height:7px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg) scale(0);transition:transform .14s}
.check input:checked{background:linear-gradient(135deg,var(--red),var(--red2));border-color:rgba(255,255,255,.22)}
.check input:checked::before{transform:rotate(-45deg) scale(1)}
.check span{line-height:1.25}
.submit{border:0;cursor:pointer;justify-self:end;border-radius:12px;padding-left:34px;padding-right:34px}
.status{padding:16px;border-radius:14px;margin-bottom:20px;font-weight:800}
.status.ok{background:rgba(37,170,82,.16);color:#83ffad;border:1px solid rgba(37,170,82,.34)}
.status.err{background:rgba(207,24,40,.16);color:#ff9198;border:1px solid rgba(207,24,40,.34)}


/* FAQ accordion */
.faq-section{
    background:
        radial-gradient(circle at 92% 8%,rgba(207,24,40,.12),transparent 28%),
        linear-gradient(180deg,#070708,#050506);
}

.faq-list{
    max-width:920px;
    margin:0 auto;
    display:grid;
    gap:14px;
}

.faq-item{
    background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));
    border:1px solid rgba(255,255,255,.13);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 14px 38px rgba(0,0,0,.24);
}

.faq-item[open]{
    border-color:rgba(207,24,40,.48);
    background:
        linear-gradient(135deg,rgba(207,24,40,.11),transparent 38%),
        linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.032));
}

.faq-item summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:20px 22px;
    color:#fff;
    font-size:1.04rem;
    line-height:1.25;
    font-weight:950;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.faq-item summary::-webkit-details-marker{
    display:none;
}

.faq-item summary:hover{
    background:rgba(207,24,40,.08);
}

.faq-chevron{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    color:#fff;
    background:rgba(0,0,0,.28);
    transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.faq-item[open] .faq-chevron{
    transform:rotate(180deg);
    background:linear-gradient(135deg,var(--red),var(--red2));
    border-color:rgba(255,255,255,.18);
}

.faq-answer{
    padding:0 22px 22px;
    color:var(--muted);
    border-top:1px solid rgba(255,255,255,.08);
}

.faq-answer p{
    margin:16px 0 0;
    max-width:780px;
}

.footer{border-top:1px solid var(--line);padding:34px 0;color:#aaa}
.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.mini{font-size:.9rem;color:#aaa}

@media(max-width:1180px){
    .wrap{width:min(100% - 72px,1360px)}
    .nav{width:min(100% - 72px,1360px)}
    .logo{width:220px}
    body.scrolled .logo{width:200px}
    .hero-copy{padding-left:clamp(40px,4vw,68px)}
    h1{font-size:clamp(2.65rem,5vw,4.6rem)}
}

@media(max-width:980px){
    .interest-layout{grid-template-columns:1fr}
    .form-intro{position:static}
    .logo{width:205px}
    body.scrolled .logo{width:185px}
    .links{gap:16px;font-size:.78rem}
}

@media(max-width:820px){
    .wrap{width:min(100% - 36px,1360px)}
    .nav{width:min(100% - 36px,1360px)}
    .topbar{position:fixed;padding:12px 0}
    body.scrolled .topbar{padding:8px 0}
    .links{display:none}
    .logo{width:180px}
    body.scrolled .logo{width:165px}
    .hero{min-height:86vh}
    .hero::before{background-position:61% center}
    .hero-copy{padding-top:104px;padding-bottom:72px;padding-left:0}
    h1{font-size:clamp(2.65rem,13vw,4.2rem)}
    .grid,.form-grid,.checks{grid-template-columns:1fr}
    section{padding:54px 0}
    .submit{justify-self:stretch}
}


/* Sticky header anchor offset */
#vision,#services,#interest,#faq{scroll-margin-top:96px}


/* Language switch */
.lang-switch{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-left:4px;
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    background:rgba(0,0,0,.22);
    color:#fff;
    font-weight:950;
    font-size:.82rem;
    line-height:1;
    text-decoration:none;
    letter-spacing:.04em;
    text-transform:uppercase;
    transition:background .22s ease,border-color .22s ease,transform .22s ease;
}
.lang-switch:hover{
    background:rgba(207,24,40,.16);
    border-color:rgba(207,24,40,.55);
    transform:translateY(-1px);
}
.lang-switch .lang-muted{
    opacity:.72;
}
.lang-switch .lang-active{
    color:#fff;
}
@media(max-width:820px){
    .lang-switch{
        margin-left:auto;
        font-size:.78rem;
        padding:7px 9px;
    }
}
