:root{
    --bg:#ffffff;
    --soft:#f7f9fc;
    --soft-2:#f1f5ff;
    --text:#0f172a;
    --muted:#64748b;
    --border:#e2e8f0;
    --blue:#0582ca;
    --cyan:#3db4f0;
    --radius:16px;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--text);background:#fff;line-height:1.6}
.container{max-width:1120px;margin:0 auto;padding:0 20px}
html{scroll-behavior:smooth}
a{color:inherit;text-decoration:none}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:#fff;font-weight:700}
.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff;position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(-120%)} .btn-primary:hover::after{animation:sheen .9s ease}
@keyframes sheen{to{transform:translateX(120%)}}

/* --- HEADER --- */

header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.1) blur(10px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{display:flex;align-items:center;gap:10px;font-weight:900}
.logo img{width:64px;}
nav a {
    position: relative;
    margin-left: 12px;
    font-size: 14px;
    padding: 6px 10px;
    text-decoration: none;
    color: inherit;
}

nav a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--cyan);
    transition: width 0.3s ease;
}

nav a:hover::after {
    width: 100%;
}

nav a.active::after {
    width: 100%;
}

@media (max-width: 860px){
    .nav{align-items:flex-start;gap:12px;flex-wrap:wrap}
    nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}
    nav a{margin-left:0}
}


/* --- HERO --- */

section{padding:64px 0}

.hero{position:relative;background:linear-gradient(180deg,#f8fbff,#fff)}
.hero::before{content:"";position:absolute;inset:-10% -10% auto -10%;height:360px;background:radial-gradient(1200px 280px at 18% 35%, rgba(14,165,233,.22), rgba(37,99,235,.18) 35%, transparent 60%);filter:blur(18px)}
.badge{display:inline-block;font-size:12px;font-weight:800;color:#0b4660;border:1px solid rgba(14,165,233,.35);border-radius:999px;padding:6px 10px;background:rgba(14,165,233,.08)}
.hero-grid{display:grid;gap:28px;align-items:center} @media(min-width:960px){.hero-grid{grid-template-columns:1.05fr 1fr;gap:48px}}
.hero { position: relative; z-index: 0; }
.hero::before { z-index: 0; pointer-events: none; }
.app-hero { position: relative; z-index: 2; }
.ut-device { z-index: 3; }

.app-hero { display:flex; justify-content:center; }
.ut-device{
    position:relative;
    width:min(349px,92%);
    margin:0 auto;
    border:1px solid #e2e8f0;
    border-radius:42px;
    background:#000;
    overflow:hidden;
    box-shadow:0 10px 28px rgba(37,99,235,.12);
}
.ut-topbar{
    position:absolute; top:10px; left:35%;
    width:30%; height:28px; background:#000;
    border-radius:12px;
    z-index:3;
}

.ut-screen{
    position: relative !important;
    width: 100% !important;
    height: 0 !important;
    aspect-ratio: 1080 / 2340;
    padding-top: 216.6667%;
    background: #000 !important;
    overflow: hidden !important;
}

.ut-slides{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    will-change: transform;
}

.ut-slide{
    position:absolute !important;
    inset:0 !important;
    width:100% !important; height:100% !important;
    opacity:0 !important; z-index:0 !important;
    transition:opacity .5s ease !important;
    pointer-events:none !important;
}
.ut-slide.active{
    opacity:1 !important; z-index:1 !important;
    pointer-events:auto !important;
}
.ut-slide img{
    display:block; width:100%; height:100%;
    object-fit:cover; background:#000;
    will-change: transform, opacity;
}

.ut-slide.active img{
    animation: ut-kenburns 6s ease-in-out both;
}
@keyframes ut-kenburns{
    0% { transform: scale(1) translateZ(0); }
    100%{ transform: scale(1.06) translateZ(0); }
}

.app-hero{ position:relative; z-index:2; }
.ut-device{ z-index:3; }

.ut-arrow:hover{ transform: translateY(-1px); box-shadow: 0 6px 16px rgba(37,99,235,.18); transition: .2s; }

.ut-slides { will-change: transform; }

.ut-arrows{
    position:absolute; inset:30px;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 6px; z-index:4; pointer-events:none;
}
.ut-arrow{
    pointer-events:auto; cursor:pointer; user-select:none;
    display:grid; place-items:center;
    width:34px; height:64px; border-radius:10px;
    background:rgba(255,255,255,.92);
    border:1px solid #e2e8f0;
    color: var(--cyan);
    font-size: 24px;
    font-weight: 100;
    line-height: 1;
}

.ut-dots{
    position:absolute; left:0; right:0; bottom:-20px;
    display:flex; justify-content:center; gap:10px; z-index:4;
}

.ut-dots .dot{ width:8px; height:8px; border-radius:999px; background:#dbeafe; }
.ut-dots .dot.active{
    background:#2563eb;
    animation: ut-dot 1.2s ease-in-out infinite;
}
@keyframes ut-dot{
    0%,100%{ transform:scale(1); }
    50%{ transform:scale(1.25); }
}

#ut-carousel:not(.is-fade){ --i: 0; }

#ut-carousel:not(.is-fade) .ut-slides{
    display:flex !important;
    width:100% !important;
    height:100% !important;
    transform: translateX(calc(-100% * var(--i, 0))) !important;
    transition: transform .6s ease !important;
    will-change: transform;
}

#ut-carousel:not(.is-fade) .ut-slide{
    position: relative !important;
    inset: auto !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    z-index: auto !important;
    pointer-events: auto !important;
}

#ut-carousel:not(.is-fade) .ut-slide img{
    object-fit: cover;
}
#ut-carousel:not(.is-fade) .ut-slide.active img{
    animation: ut-kenburns 6s ease-in-out both;
}

@media (prefers-reduced-motion: reduce){
    #ut-carousel:not(.is-fade) .ut-slides{ transition: none !important; }
    .ut-slide.active img{ animation: none !important; }
}

.hero{ isolation:isolate; }

.ai-bg{
    position:absolute; inset:-2px; z-index:1;
    width:100%; height:100%;
    pointer-events:none; display:block;
    opacity:.95; filter:saturate(1.03);
    transform: translateZ(0);
}

@media (prefers-reduced-motion: reduce){
    .ai-bg{ opacity:.7; }
}

.app-hero, .app-hero * {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}


h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:.5rem 0 1rem;font-weight:900}
h1 .accent{background:linear-gradient(90deg,var(--blue),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--muted)}


/* --- FEATURES --- */


.section--features{position:relative;background:
        radial-gradient(900px 200px at 20% 0%, rgba(14,165,233,.10), transparent 60%),
        radial-gradient(900px 200px at 80% 100%, rgba(37,99,235,.10), transparent 60%),
        #fff;}
.section--features .grid{display:grid;gap:16px}
@media(min-width:960px){
    .section--features .grid{grid-template-columns:1.2fr .8fr}
}
.features-left{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{border:1px solid var(--border);border-radius:14px;background:#fff;padding:16px; transition: background-color .3s ease, transform .2s ease;
}
.card:hover{ transform: translateY(-2px);  box-shadow: 0 4px 12px rgba(0,0,0,0.05);}
.card--gradient{position:relative;background:linear-gradient(180deg,#fff,#f7fbff)}
.card--gradient::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    padding: 1px;
    background: rgba(61,180,240,.2);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
    opacity: .6;
    border: 1px solid var(--cyan);
}
.card--gradient h3{
    margin-top: 0;
}
.feature-row{display:flex;gap:12px}
.emoji{font-size:20px;line-height:1}

.section--how{position:relative;background:var(--soft)}
.section--how::before{content:"";position:absolute;left:0;right:0;top:-40px;height:40px;background:linear-gradient( to bottom right, transparent 49%, var(--soft) 50% )}
.timeline{position:relative;display:grid;gap:24px}
.timeline::before{content:"";position:absolute;left:18px;top:0;bottom:0;width:2px;background:linear-gradient(var(--blue),var(--cyan))}
.step{position:relative;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin-left:40px}
.step .num{position:absolute;left:-40px;top:16px;width:32px;height:32px;border-radius:999px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan));font-weight:900}
@media(min-width:960px){
    .timeline{grid-template-columns:1fr 1fr;gap:28px}
    .timeline::before{left:50%;transform:translateX(-50%)}
    .step{margin-left:0}
    .step:nth-child(odd){grid-column:1;margin-right:40px}
    .step:nth-child(even){grid-column:2;margin-left:40px}
    .step .num{left:auto;right:-40px}
}


/* --- SCREENS --- */


.section--screens{position:relative;background:
        linear-gradient(0deg,transparent 24%, rgba(226,232,240,.35) 25%, rgba(226,232,240,.35) 26%, transparent 27%, transparent 74%, rgba(226,232,240,.35) 75%, rgba(226,232,240,.35) 76%, transparent 77%),
        linear-gradient(90deg,transparent 24%, rgba(226,232,240,.35) 25%, rgba(226,232,240,.35) 26%, transparent 27%, transparent 74%, rgba(226,232,240,.35) 75%, rgba(226,232,240,.35) 76%, transparent 77%);
    background-size:48px 48px}
.screens-grid{display:grid;gap:16px}
@media(min-width:920px){.screens-grid{grid-template-columns:.79fr .8fr}}
.screen-big,.screen-sm{border:1px solid var(--border);border-radius:42px;overflow:hidden;background:#fff;box-shadow:0 0 0 2px #fff, 0 16px 36px rgba(37,99,235,.12);}
.screen-sm-wrap{display:grid;gap:16px;}
.screen-big img,.screen-sm img{display:block;width:100%;height:auto}


/* --- DLA KOGO --- */


.section--audience{
    position: relative;
    padding: 64px 0;
    background:
            radial-gradient(700px 220px at 12% 8%, rgba(14,165,233,.10), transparent 60%),
            radial-gradient(700px 220px at 88% 92%, rgba(37,99,235,.08), transparent 60%),
            #fff;
}
.section--audience .section-title .eyebrow{
    background: rgba(14,165,233,.10);
    border: 1px solid rgba(14,165,233,.25);
}

.audience-grid{
    display: grid;
    gap: 16px;
}
@media (min-width: 960px){
    .audience-grid{
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 1fr;
    }
}

.persona-card{
    position: relative;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
    padding: 18px;
    box-shadow: 0 10px 30px rgba(37,99,235,.08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.persona-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(37,99,235,.14);
    border-color: #c7d2fe;
}
.persona-card.highlight{
    background:
            linear-gradient(180deg,#fff, #f7fbff);
    border-color: #bfdbfe;
}

.persona-head{
    display: flex; align-items: center; gap: 12px; margin-bottom: 8px;
}
.persona-head h3{
    font-size: 18px; margin: 0;
}

.avatar{
    --size: 42px;
    width: var(--size); height: var(--size);
    border-radius: 12px;
    display: grid; place-items: center;
    font-weight: 900; font-size: 12px; letter-spacing: .04em;
    color: #0b316e;
    background: linear-gradient(135deg,#e0f2fe,#dbeafe);
    border: 2px solid #3b82f6;
    box-shadow: inset 0 0 20px rgba(59,130,246,.18), 0 6px 16px rgba(37,99,235,.12);
}


/* --- CASE STUDY --- */


#audience.section--audience{
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #fff !important;
}
#audience.section--audience > .container{
    position: relative;
    z-index: 3;
}

#audience.section--audience::before{
    content:"";
    position:absolute; inset:-12% -6%;
    z-index: 0; pointer-events:none;
    background:
            radial-gradient(60% 40% at 15% 22%, rgba(61,180,240,.28), transparent 70%),
            radial-gradient(55% 40% at 85% 78%, rgba(99,102,241,.24), transparent 72%);
    filter: blur(28px);
    opacity: .95;
}

#audience.section--audience::after{
    content:"";
    position:absolute; left:-20%; right:-20%; top:-30%; height:150%;
    z-index: 1; pointer-events:none;
    background: linear-gradient(90deg,
    rgba(3,105,161,.00) 0%,
    rgba(3,105,161,.14) 18%,
    rgba(56,189,248,.32) 50%,
    rgba(99,102,241,.18) 82%,
    rgba(99,102,241,.00) 100%);
    clip-path: polygon(50% 53%, 71% 34%, 100% 28%, 100% 100%, 0 100%, 0 74%, 23% 63%);
    filter: blur(26px);
    transform: rotate(8deg) translateX(0);
    animation: audSlide 20s ease-in-out infinite alternate;
}

@keyframes audSlide{
    0%   { transform: rotate(0deg) translateX(0); }
    100% { transform: rotate(0deg) translateX(-8%); }
}

@media (prefers-reduced-motion: reduce){
    #audience.section--audience::after{ animation:none; }
}

/* --- LOCAL SEO --- */

.section--local{
    position:relative;
    background:
            radial-gradient(700px 220px at 15% 20%, rgba(14,165,233,.12), transparent 65%),
            radial-gradient(700px 220px at 85% 80%, rgba(37,99,235,.09), transparent 65%),
            #fff;
}
.local-grid{
    display:grid;
    gap:16px;
}
@media (min-width: 900px){
    .local-grid{grid-template-columns:repeat(4,1fr)}
}
.local-card{
    display:block;
    min-height:190px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 26px rgba(37,99,235,.08);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.local-card:hover{
    transform:translateY(-2px);
    border-color:#bfdbfe;
    box-shadow:0 16px 38px rgba(37,99,235,.13);
}
.local-card span{
    display:inline-block;
    margin-bottom:10px;
    padding:5px 9px;
    border-radius:999px;
    background:rgba(14,165,233,.08);
    border:1px solid rgba(14,165,233,.22);
    color:var(--cyan);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.local-card strong{
    display:block;
    font-size:18px;
    line-height:1.25;
}
.local-card.highlight{
    background:linear-gradient(180deg,#fff,#f7fbff);
    border-color:#bfdbfe;
}
.local-hero{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    padding:74px 0 62px;
    background:
            radial-gradient(900px 260px at 20% 10%, rgba(14,165,233,.18), transparent 64%),
            radial-gradient(760px 260px at 84% 16%, rgba(37,99,235,.12), transparent 64%),
            #fff;
}
.local-hero .container{position:relative;z-index:2}
.local-hero .lead{
    max-width:780px;
    color:var(--muted);
    font-size:18px;
}
.local-hero h1{max-width:850px}
.local-section{
    padding:58px 0;
    background:#fff;
}
.local-section.alt{
    background:#f6f7fb;
}
.idea-grid{
    display:grid;
    gap:16px;
}
@media (min-width: 900px){
    .idea-grid{grid-template-columns:repeat(3,1fr)}
}
.idea-card{
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    padding:18px;
}
.idea-card h3{margin-top:0}
.nearby-links{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:center;
}
.nearby-links a{
    border:1px solid var(--border);
    border-radius:999px;
    padding:8px 12px;
    background:#fff;
    font-weight:700;
}
.nearby-links a:hover{
    border-color:#bfdbfe;
    box-shadow:0 8px 22px rgba(37,99,235,.10);
}


/* --- INVEST --- */


.section--invest{position:relative;background:linear-gradient(180deg,#fff,#f6f7fb)}
.invest{display:grid;gap:16px}
@media(min-width:960px){.invest{grid-template-columns:repeat(3,1fr)}}
.invest .card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px}
.tag{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;background:#eff6ff;color:var(--cyan);border:1px solid #bfdbfe;margin-bottom:6px}
.section--invest { position: relative; overflow: hidden; }

.section--invest { position: relative; overflow: hidden; }
.section--invest .container { position: relative; z-index: 2; }

.invest-canvas{
    position:absolute; left:0; right:0; bottom:0;
    height:220px;
    z-index:1;                /* tło */
    pointer-events:none;
    opacity:.95;
}
.invest-canvas canvas{
    width:100%; height:100%; display:block;
}

/* --- INVESTOR PAGE --- */

.investor-hero{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    padding:78px 0 70px;
    background:
            radial-gradient(820px 260px at 18% 8%, rgba(14,165,233,.18), transparent 62%),
            radial-gradient(760px 260px at 85% 18%, rgba(37,99,235,.12), transparent 64%),
            #fff;
}
.investor-hero::after{
    content:"";
    position:absolute; left:0; right:0; bottom:0;
    height:160px;
    background:linear-gradient(180deg, transparent, #f6f7fb);
    z-index:0;
    pointer-events:none;
}
.investor-hero .container{position:relative;z-index:2}
.investor-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:999px;
    border:1px solid rgba(14,165,233,.25);
    background:rgba(14,165,233,.08);
    color:var(--cyan);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.investor-hero h1{
    max-width:820px;
}
.investor-hero .lead{
    max-width:760px;
    font-size:18px;
    color:var(--muted);
}
.investor-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
.investor-metrics{
    display:grid;
    gap:14px;
    margin-top:30px;
}
@media (min-width: 860px){
    .investor-metrics{grid-template-columns:repeat(4,1fr)}
}
.metric-card{
    border:1px solid var(--border);
    border-radius:14px;
    background:rgba(255,255,255,.88);
    padding:16px;
    box-shadow:0 10px 26px rgba(37,99,235,.08);
}
.metric-card strong{
    display:block;
    font-size:24px;
    line-height:1.15;
}
.metric-card span{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-size:14px;
}
.investor-section{
    padding:58px 0;
    background:#fff;
}
.investor-section.alt{
    background:#f6f7fb;
}
.investor-grid{
    display:grid;
    gap:16px;
}
@media (min-width: 920px){
    .investor-grid.two{grid-template-columns:1fr 1fr}
    .investor-grid.three{grid-template-columns:repeat(3,1fr)}
}
.thesis-card{
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    padding:18px;
}
.thesis-card h3{margin-top:0}
.data-list{
    display:grid;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}
.data-list li{
    display:grid;
    gap:4px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
}
.data-list strong{color:var(--text)}
.investor-note{
    margin-top:16px;
    color:var(--muted);
    font-size:14px;
}

.section--cta {
    position: relative;
    padding: 64px 0;
    background:
            radial-gradient(600px 220px at 50% 0%, rgba(14,165,233,.18), transparent 60%),
            #fff;
    text-align: center;
}

.section--cta h2 {
    font-size: clamp(26px, 4vw, 38px);
    margin: 0 0 0.4rem;
}

.section--cta .muted {
    max-width: 60ch;
    margin: 0 auto 24px;
    color: #64748b;
}

.section--cta .wave {
    position: absolute;
    left: 0;
    right: 0;
    top: -1px;
    height: 40px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 80" preserveAspectRatio="none"><path fill="%23ffffff" d="M0,64L60,64C120,64,240,64,360,69.3C480,75,600,85,720,80C840,75,960,53,1080,48C1200,43,1320,53,1380,58.7L1440,64L1440,0L1380,0C1320,0,1200,0,1080,0C960,0,840,0,720,0C600,0,480,0,360,0C240,0,120,0,60,0L0,0Z"/></svg>') no-repeat center/100% 100%;
}

.store-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 12px;
}

.store-btn {
    transition: transform .2s ease, box-shadow .2s ease;
}

.store-btn img {
    display: block;
    height: 50px;
    width: auto;
}

.store-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(37,99,235,.18);
}

.store-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.25) 50%, transparent 100%);
    transform: translateX(-120%);
}

.store-btn:hover::after {
    animation: sheen .9s ease;
}

@keyframes sheen {
    to { transform: translateX(120%); }
}

.center{text-align:center}
.section-title{margin-bottom:22px;text-align:center}
.section-title .eyebrow{display:inline-block; font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.25);padding:10px 30px;border-radius:999px;}
h2{font-size:clamp(26px,4vw,38px);margin:.2rem 0 .4rem}
.list{margin:0;padding-left:18px}

.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}


/* --- FAQ --- */


.section--faq{padding:56px 0; background:
        radial-gradient(700px 220px at 10% 10%, rgba(14,165,233,.10), transparent 60%),
        radial-gradient(700px 220px at 90% 90%, rgba(37,99,235,.08), transparent 60%),
        #fff;}
.faq-title{text-align:center; margin-bottom:22px}
.faq-title .eyebrow{display:inline-block; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--cyan); background:rgba(14,165,233,.08); border:1px solid rgba(14,165,233,.25); padding:10px 30px; border-radius:999px}
.faq-list{display:grid; gap:12px; max-width:900px; margin:0 auto}
.faq-item{border:1px solid #e2e8f0; border-radius:14px; background:#fff; overflow:hidden; transition:box-shadow .25s ease, border-color .25s ease}
.faq-item[open]{box-shadow:0 10px 30px rgba(37,99,235,.10); border-color:#c7d2fe}
.faq-item summary{display:flex; align-items:center; gap:12px; padding:14px 16px; cursor:pointer; list-style:none; font-weight:700}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .q{flex:1}
.faq-item .chev{width:22px; height:22px; border-radius:6px; border:1px solid #dbeafe; background:linear-gradient(135deg,#2563eb,#0ea5e9); -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"white\" d=\"M7 10l5 5 5-5\"/></svg>') center/16px 16px no-repeat; mask:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"white\" d=\"M7 10l5 5 5-5\"/></svg>') center/16px 16px no-repeat; }
.faq-item[open] .chev{transform:rotate(180deg); transition:transform .25s ease}
.faq-item .a{padding:0 16px 16px; color:#64748b; line-height:1.7}
.faq-item .a{display:grid; grid-template-rows:0fr; transition:grid-template-rows .25s ease}
.faq-item[open] .a{grid-template-rows:1fr}
.faq-item .a > *{min-height:0}
@media (prefers-reduced-motion: reduce){
    .faq-item .a{transition:none}
    .faq-item[open] .chev{transition:none}
}


/* --- FOOTER --- */


.footer{
    background: var(--soft-2);
    border-top: 1px solid var(--border);
    color: var(--text);
}
.footer .footer-content{
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px 20px 36px;
    display: grid;
    gap: 22px;
}

@media (min-width: 980px){
    .footer .footer-content{
        grid-template-columns: 1.1fr .9fr .8fr .8fr;
        align-items: start;
    }
}

.foundation-details{
    display: grid;
    gap: 8px;
}
.foundation-details img{
    width: 200px;
    height: auto;
    display: block;
    filter: drop-shadow(0 2px 10px rgba(37,99,235,.06));
    margin-bottom: 8px;
}
.foundation-details .bold{ font-size: 14px; font-weight: 600; }
.foundation-details .thin{ font-size: 14px; color: var(--muted); font-weight: 100; }

.menu-subpages p{
    margin: 0 0 6px;
    font-size: 12px;
    letter-spacing: .08em;
    font-weight: 800;
    text-transform: uppercase;
    display: inline-block;
    color: var(--cyan);
    background: rgba(14,165,233,.08);
    border: 1px solid rgba(14,165,233,.25);
    border-radius: 999px;
    padding: 6px 10px;
}
.menu-subpages .links{ display: grid; gap: 20px; }
.menu-subpages ul{
    list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px;
}
.menu-subpages li a{
    display: inline-block;
    padding: 4px 0;
    color: inherit;
    text-decoration: none;
    position: relative;
}
.menu-subpages li a::after{
    content:"";
    position:absolute; left:0; bottom:-1px;
    width:0; height:2px; background: var(--cyan);
    transition: width .25s ease;
}
.menu-subpages li a:hover::after{ width:100%; }

.contact-details ul,
.legal-docs ul{
    list-style:none; margin:0; padding:0; display:grid; gap:8px;
}
.contact-details i{ margin-right:8px; color: var(--cyan); }
.contact-details .mailto-link{
    display: inline-flex; align-items: center; gap: 8px;
    padding: 4px 0;
    border-radius: 8px;
}
.contact-details .mailto-link:hover{ text-decoration: underline; }

.legal-docs a{
    color: var(--muted);
    text-decoration: none;
    position: relative;
    padding: 4px 0;
}
.legal-docs a:hover{ color: var(--text); }

.gold-line{
    border: 0; height: 2px;
    background: linear-gradient(90deg, var(--blue), var(--cyan));
    opacity: .8; border-radius: 999px;
}
.legal-line{
    border: 0; height: 1px;
    background: linear-gradient(90deg, transparent, var(--border), transparent);
    margin: 6px 0 0;
}

.follow-us{
    display: flex; gap: 14px; align-items: center; flex-wrap: wrap;
}
.follow-us a{
    width: 54px; height: 54px;
    display: grid; place-items: center;
    border-radius: 99px;
    border: 1px solid var(--border);
    background: #fff;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.follow-us a i{ color: var(--cyan); }
.follow-us a:hover{
    transform: translateY(-2px);
    border-color: #c7d2fe;
    box-shadow: 0 8px 22px rgba(37,99,235,.12);
}

@media (max-width: 979px){
    .menu-subpages{ order: 3; }
    .follow-us{ order: 4; }
    .legal-docs{ order: 5; }
    .legal-line{ margin-top: 6px; }
}


/* --- COOKIE --- */


#cookieConsentDialog{
    position: fixed; inset: 0; z-index: 9999;
    display: grid; place-items: center;
    pointer-events: none;
}

#cookieConsentDialog .cookieOverlay{
    position: absolute; inset: 0;
    background: radial-gradient(1200px 600px at 20% 10%, rgba(61,180,240,.18), rgba(99,102,241,.10) 35%, transparent 70%),
    rgba(15,23,42,.55);
    backdrop-filter: blur(6px) saturate(1.05);
    opacity: 0; transition: opacity .25s ease;
    pointer-events: none;
}

#cookieConsentDialog .cookieDialog{
    position: relative; z-index: 2;
    width: min(720px, 92vw);
    margin: 24px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: linear-gradient(180deg,#fff,#f7fbff);
    box-shadow: 0 18px 50px rgba(37,99,235,.18), 0 0 0 2px #fff inset;
    transition: transform .28s ease, opacity .28s ease, box-shadow .2s ease;
    pointer-events: none;
    opacity: 0;
    transform: translateY(6px) scale(.98);
}

#cookieConsentDialog.is-open .cookieOverlay{
    pointer-events: auto;
    opacity: 1;
}

#cookieConsentDialog.is-open .cookieDialog{
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0) scale(1);
}

#cookieConsentDialog .cookieIn{ padding: 20px; }
#cookieConsentDialog .cookieBox{ padding: 6px; }

#cookieConsentDialog h2{
    margin: 0 0 6px; font-size: clamp(18px,3.4vw,22px);
}
#cookieConsentDialog p{ margin: 0 0 12px; color: var(--muted); }

#cookieConsentDialog table{
    width: 100%; border-collapse: separate; border-spacing: 0;
    background: #fff; border: 1px solid var(--border);
    border-radius: 12px; overflow: hidden; margin-top: 10px;
}
#cookieConsentDialog td{
    padding: 14px; vertical-align: middle;
    border-top: 1px solid var(--border);
}
#cookieConsentDialog tr:first-child td{ border-top: 0; }
#cookieConsentDialog td:first-child{ width: 100%; }
#cookieConsentDialog b{ color: var(--text); }

#cookieDialog_buttonbar{
    display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; margin-top: 16px;
}
.cookieNoticeButton{
    appearance: none; border: 1px solid var(--border);
    background: #fff; color: var(--text);
    padding: 10px 14px; border-radius: 12px; font-weight: 800; cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
}
.cookieNoticeButton:hover{ transform: translateY(-1px); box-shadow: 0 6px 16px rgba(37,99,235,.10); }
.cookieNoticeButton.gray{ }
.cookieNoticeButton.green{
    background: linear-gradient(135deg,var(--blue),var(--cyan));
    border-color: var(--blue); color: #fff; position: relative; overflow: hidden;
}
.cookieNoticeButton.green::after{
    content:""; position:absolute; inset:0;
    background: linear-gradient(120deg,transparent 0%, rgba(255,255,255,.25) 50%, transparent 100%);
    transform: translateX(-120%);
}
.cookieNoticeButton.green:hover::after{ animation: sheen .9s ease; }

.cookieClose{
    position: absolute; top: -5px; right: 12px;
    width: 36px; height: 36px; display: grid; place-items: center;
    border-radius: 10px; border: 1px solid var(--border); background:#fff; color: var(--muted);
    text-decoration: none; font-size: 16px; line-height: 1;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.cookieClose:hover{ transform: translateY(-1px); box-shadow: 0 6px 16px rgba(37,99,235,.12); border-color:#c7d2fe; }

.switch{ position: relative; display: inline-block; width: 54px; height: 30px; }
.switch input{ opacity:0; width:0; height:0; }
.checkboxSlider{
    position:absolute; inset:0; cursor:pointer;
    background:#e2e8f0; border:1px solid var(--border); border-radius:999px;
    transition: background .2s ease, border-color .2s ease;
}
.checkboxSlider::before{
    content:""; position:absolute; height:22px; width:22px; left:4px; top:50%;
    transform: translateY(-50%); background:#fff; border-radius:999px;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
    transition: left .2s ease;
}
.switch input:checked + .checkboxSlider{
    background: linear-gradient(135deg,var(--blue),var(--cyan)); border-color: var(--blue);
}
.switch input:checked + .checkboxSlider::before{ left: 28px; }
.switch input:disabled + .checkboxSlider{
    opacity:.7; cursor: not-allowed;
}

#cookieConsentDialog .cookieBox a{
    color: var(--cyan); text-decoration: none; position:relative; font-weight: 600;
}
#cookieConsentDialog .cookieBox a::after{
    content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background: var(--cyan); transition: width .25s ease;
}
#cookieConsentDialog .cookieBox a:hover::after{ width:100%; }

#cookieConsentDialog.is-open .cookieOverlay{ opacity: 1; }
#cookieConsentDialog.is-open .cookieDialog{ opacity: 1; transform: translateY(0) scale(1); }

@media (max-width: 560px){
    #cookieConsentDialog .cookieIn{ padding: 14px; }
    #cookieConsentDialog .cookieDialog{ border-radius: 16px; }
    #cookieConsentDialog table{ font-size: 14px; }
}

#cookieConsentDialog a:focus,
#cookieConsentDialog button:focus,
#cookieConsentDialog .cookieNoticeButton:focus,
#cookieConsentDialog .cookieClose:focus{
    outline: 2px solid var(--cyan); outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce){
    #cookieConsentDialog .cookieOverlay,
    #cookieConsentDialog .cookieDialog{ transition: none; }
}

#cookieConsentDialog .cookieBox a{
    color: var(--cyan); text-decoration: none; position:relative; font-weight: 600;
}
#cookieConsentDialog .cookieBox a::after{
    content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background: var(--cyan); transition: width .25s ease;
}
#cookieConsentDialog .cookieBox a:hover::after{ width:100%; }

#cookieConsentDialog.is-open .cookieOverlay{ opacity: 1; }
#cookieConsentDialog.is-open .cookieDialog{ opacity: 1; transform: translateY(0) scale(1); }

@media (max-width: 560px){
    #cookieConsentDialog .cookieIn{ padding: 14px; }
    #cookieConsentDialog .cookieDialog{ border-radius: 16px; }
    #cookieConsentDialog table{ font-size: 14px; }
}

#cookieConsentDialog a:focus,
#cookieConsentDialog button:focus,
#cookieConsentDialog .cookieNoticeButton:focus,
#cookieConsentDialog .cookieClose:focus{
    outline: 2px solid var(--cyan); outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce){
    #cookieConsentDialog .cookieOverlay,
    #cookieConsentDialog .cookieDialog{ transition: none; }
}
