/* === PARALLAX TRIANGLES === */
.advisory-triangles {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.tri { position: absolute; }

/*  24 triangles, scale 0–0.02 white
 *  Far  (6): 0.003–0.005 → pure bg     | slow
 *  Mid  (8): 0.007–0.011 → 0.002       | moderate
 *  Near (10): 0.014–0.02 → 0.003–0.004 | fast
 */

/* ---- FAR ---- */
.tri-1{width:260px;height:230px;clip-path:polygon(44% 0%,56% 2%,48% 100%);background:linear-gradient(155deg,rgba(255,255,255,.005) 0%,rgba(10,11,14,0) 75%);top:6%;left:2%;transform:translateY(calc(var(--scroll-y,0)*-.04px)) rotate(12deg) scale(1.12)}
.tri-2{width:300px;height:260px;clip-path:polygon(0% 72%,100% 78%,60% 100%);background:linear-gradient(210deg,rgba(255,255,255,.004) 0%,rgba(10,11,14,0) 70%);top:50%;right:0%;transform:translateY(calc(var(--scroll-y,0)*-.03px)) rotate(-52deg) scale(1.15)}
.tri-3{width:220px;height:200px;clip-path:polygon(0% 2%,98% 48%,8% 88%);background:linear-gradient(180deg,rgba(255,255,255,.004) 0%,rgba(10,11,14,0) 68%);top:28%;left:48%;transform:translateY(calc(var(--scroll-y,0)*-.035px)) rotate(165deg)}
.tri-4{width:240px;height:210px;clip-path:polygon(35% 0%,100% 20%,65% 100%);background:linear-gradient(130deg,rgba(255,255,255,.003) 0%,rgba(10,11,14,0) 72%);top:75%;left:60%;transform:translateY(calc(var(--scroll-y,0)*-.032px)) rotate(-120deg) scale(1.1)}
.tri-5{width:270px;height:240px;clip-path:polygon(20% 0%,80% 10%,50% 100%);background:linear-gradient(190deg,rgba(255,255,255,.005) 0%,rgba(10,11,14,0) 65%);top:15%;right:8%;transform:translateY(calc(var(--scroll-y,0)*-.038px)) rotate(88deg)}
.tri-6{width:200px;height:180px;clip-path:polygon(0% 30%,95% 0%,70% 100%);background:linear-gradient(240deg,rgba(255,255,255,.005) 0%,rgba(10,11,14,0) 70%);top:90%;left:25%;transform:translateY(calc(var(--scroll-y,0)*-.028px)) rotate(-200deg) scale(1.13)}

/* ---- MID ---- */
.tri-7{width:130px;height:120px;clip-path:polygon(47% 0%,53% 3%,32% 100%);background:linear-gradient(140deg,rgba(255,255,255,.011) 0%,rgba(255,255,255,.002) 75%);top:16%;left:70%;transform:translateY(calc(var(--scroll-y,0)*-.09px)) rotate(-78deg) scale(1.1)}
.tri-8{width:150px;height:135px;clip-path:polygon(52% 12%,100% 100%,0% 95%);background:linear-gradient(225deg,rgba(255,255,255,.009) 0%,rgba(255,255,255,.002) 70%);top:65%;left:10%;transform:translateY(calc(var(--scroll-y,0)*-.07px)) rotate(102deg) scale(1.13)}
.tri-9{width:110px;height:105px;clip-path:polygon(0% 0%,100% 38%,88% 100%);background:linear-gradient(165deg,rgba(255,255,255,.010) 0%,rgba(255,255,255,.002) 72%);top:40%;right:15%;transform:translateY(calc(var(--scroll-y,0)*-.08px)) rotate(-142deg)}
.tri-10{width:120px;height:110px;clip-path:polygon(12% 0%,100% 18%,42% 100%);background:linear-gradient(195deg,rgba(255,255,255,.008) 0%,rgba(255,255,255,.002) 78%);top:82%;left:52%;transform:translateY(calc(var(--scroll-y,0)*-.075px)) rotate(215deg) scale(1.1)}
.tri-11{width:100px;height:90px;clip-path:polygon(0% 50%,100% 0%,85% 100%);background:linear-gradient(150deg,rgba(255,255,255,.011) 0%,rgba(255,255,255,.002) 74%);top:5%;left:25%;transform:translateY(calc(var(--scroll-y,0)*-.085px)) rotate(-30deg)}
.tri-12{width:140px;height:125px;clip-path:polygon(40% 0%,100% 70%,0% 100%);background:linear-gradient(200deg,rgba(255,255,255,.007) 0%,rgba(255,255,255,.002) 76%);top:55%;left:35%;transform:translateY(calc(var(--scroll-y,0)*-.065px)) rotate(178deg) scale(1.12)}
.tri-13{width:115px;height:100px;clip-path:polygon(60% 0%,95% 85%,5% 100%);background:linear-gradient(170deg,rgba(255,255,255,.009) 0%,rgba(255,255,255,.002) 72%);top:35%;left:5%;transform:translateY(calc(var(--scroll-y,0)*-.078px)) rotate(-250deg)}
.tri-14{width:125px;height:115px;clip-path:polygon(0% 10%,100% 0%,55% 100%);background:linear-gradient(185deg,rgba(255,255,255,.008) 0%,rgba(255,255,255,.002) 75%);top:70%;right:5%;transform:translateY(calc(var(--scroll-y,0)*-.072px)) rotate(55deg) scale(1.1)}

/* ---- NEAR ---- */
.tri-15{width:60px;height:55px;clip-path:polygon(46% 0%,54% 2%,37% 100%);background:linear-gradient(170deg,rgba(255,255,255,.020) 0%,rgba(255,255,255,.004) 80%);top:12%;left:33%;transform:translateY(calc(var(--scroll-y,0)*-.16px)) rotate(-22deg) scale(1.14)}
.tri-16{width:48px;height:44px;clip-path:polygon(52% 0%,100% 100%,0% 82%);background:linear-gradient(190deg,rgba(255,255,255,.018) 0%,rgba(255,255,255,.004) 75%);top:76%;right:18%;transform:translateY(calc(var(--scroll-y,0)*-.14px)) rotate(148deg)}
.tri-17{width:42px;height:38px;clip-path:polygon(0% 0%,100% 58%,18% 100%);background:linear-gradient(145deg,rgba(255,255,255,.020) 0%,rgba(255,255,255,.004) 78%);top:46%;left:6%;transform:translateY(calc(var(--scroll-y,0)*-.18px)) rotate(-175deg) scale(1.12)}
.tri-18{width:38px;height:32px;clip-path:polygon(0% 58%,100% 42%,72% 100%);background:linear-gradient(205deg,rgba(255,255,255,.016) 0%,rgba(255,255,255,.003) 82%);top:3%;right:28%;transform:translateY(calc(var(--scroll-y,0)*-.2px)) rotate(68deg) scale(1.15)}
.tri-19{width:52px;height:48px;clip-path:polygon(32% 0%,72% 8%,12% 100%);background:linear-gradient(160deg,rgba(255,255,255,.017) 0%,rgba(255,255,255,.003) 76%);top:60%;left:40%;transform:translateY(calc(var(--scroll-y,0)*-.15px)) rotate(-115deg)}
.tri-20{width:44px;height:40px;clip-path:polygon(0% 15%,100% 0%,60% 100%);background:linear-gradient(135deg,rgba(255,255,255,.020) 0%,rgba(255,255,255,.004) 78%);top:25%;right:10%;transform:translateY(calc(var(--scroll-y,0)*-.17px)) rotate(240deg) scale(1.1)}
.tri-21{width:35px;height:30px;clip-path:polygon(50% 0%,100% 100%,0% 70%);background:linear-gradient(215deg,rgba(255,255,255,.015) 0%,rgba(255,255,255,.003) 80%);top:88%;left:15%;transform:translateY(calc(var(--scroll-y,0)*-.19px)) rotate(-60deg)}
.tri-22{width:55px;height:50px;clip-path:polygon(10% 0%,90% 30%,45% 100%);background:linear-gradient(175deg,rgba(255,255,255,.018) 0%,rgba(255,255,255,.004) 77%);top:38%;left:82%;transform:translateY(calc(var(--scroll-y,0)*-.155px)) rotate(310deg) scale(1.12)}
.tri-23{width:40px;height:36px;clip-path:polygon(0% 0%,100% 25%,30% 100%);background:linear-gradient(145deg,rgba(255,255,255,.016) 0%,rgba(255,255,255,.003) 79%);top:52%;right:35%;transform:translateY(calc(var(--scroll-y,0)*-.165px)) rotate(-290deg)}
.tri-24{width:46px;height:42px;clip-path:polygon(70% 0%,100% 80%,0% 100%);background:linear-gradient(200deg,rgba(255,255,255,.017) 0%,rgba(255,255,255,.003) 74%);top:95%;left:70%;transform:translateY(calc(var(--scroll-y,0)*-.145px)) rotate(130deg) scale(1.13)}

/* === PAGE LAYOUT === */
.advisory-page {
    position: relative;
    z-index: 1;
    padding-bottom: var(--space-2xl);
}

/* === HERO === */
.advisory-hero {
    padding: calc(var(--space-2xl) + 100px) 0 var(--space-xl);
    text-align: center;
}

.advisory-hero .hero-eyebrow {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: var(--space-md);
}

.advisory-hero h1 {
    font-size: clamp(36px, 6vw, 56px);
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.1;
    margin-bottom: var(--space-lg);
    letter-spacing: -0.02em;
}

.advisory-hero .hero-sub {
    font-size: 18px;
    color: var(--text-secondary);
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.7;
}

/* === BODY CONTENT === */
.advisory-body {
    max-width: 760px;
    margin: 0 auto;
    padding: var(--space-xl) 0;
}

.advisory-intro p {
    font-size: 16px;
    color: var(--text-secondary);
    line-height: 1.75;
    margin-bottom: var(--space-md);
}

.section-label {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-top: var(--space-xl);
    margin-bottom: var(--space-md);
}

/* === TOPICS GRID === */
.topics-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: var(--space-lg);
}

.topic-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    font-size: 14px;
    color: var(--text-secondary);
    transition: border-color 0.2s ease;
}

.topic-card:hover {
    border-color: var(--accent);
}

.topic-icon {
    font-size: 16px;
    color: var(--accent);
    flex-shrink: 0;
    width: 20px;
    text-align: center;
}

/* === HOW IT WORKS === */
.how-text {
    font-size: 16px;
    color: var(--text-secondary);
    line-height: 1.75;
    max-width: 640px;
}

/* === TESTIMONIALS MARQUEE === */
.testimonials-section {
    padding: var(--space-md) 0;
    margin-top: var(--space-md);
}

.marquee-wrap {
    overflow: hidden;
    margin-top: var(--space-md);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.marquee-track {
    display: flex;
    gap: 20px;
    width: max-content;
    animation: marqueeScroll 40s linear infinite;
}

.marquee-wrap:hover .marquee-track {
    animation-play-state: paused;
}

@keyframes marqueeScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.review-card {
    flex-shrink: 0;
    width: 320px;
    padding: 24px;
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: border-color 0.2s ease;
}

.review-card:hover {
    border-color: var(--accent);
}

.review-text {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.65;
    font-style: italic;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.review-author {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: auto;
}

.review-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

.review-company {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-muted);
    letter-spacing: 0.02em;
}

.review-stars {
    font-size: 12px;
    color: var(--cta);
    letter-spacing: 2px;
}

/* === APPLICATION FORM === */
.advisory-form-section {
    max-width: 760px;
    margin: 0 auto;
    padding-top: var(--space-xl);
    border-top: 1px solid var(--border);
}

.form-intro {
    font-size: 15px;
    color: var(--text-secondary);
    margin-bottom: var(--space-lg);
    line-height: 1.6;
}

.form-msg {
    padding: 12px 16px;
    border-radius: var(--radius);
    font-size: 14px;
    margin-bottom: var(--space-md);
}
.form-msg--ok { background: rgba(37,185,154,0.1); color: #25b99a; border: 1px solid rgba(37,185,154,0.2); }
.form-msg--err { background: rgba(210,86,39,0.1); color: #d25627; border: 1px solid rgba(210,86,39,0.2); }

.advisory-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.form-fieldset {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: var(--space-md) var(--space-md) var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.fieldset-label {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent);
    padding: 0 8px;
    margin-left: 8px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-group label {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.form-group label .req { color: var(--cta); }
.form-group label small { text-transform: none; letter-spacing: normal; opacity: 0.6; }

.form-group input,
.form-group textarea,
.form-group select {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 12px 14px;
    font-size: 14px;
    color: var(--text-primary);
    font-family: inherit;
    transition: border-color 0.2s ease;
    outline: none;
}

.form-group select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A0AAB5' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: var(--text-muted);
    opacity: 0.5;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    border-color: var(--accent);
}

.form-group textarea {
    resize: vertical;
    min-height: 80px;
}

.checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.check-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 6px 10px;
    border-radius: var(--radius);
    transition: background 0.15s ease;
    text-transform: none;
    letter-spacing: normal;
}

.check-label:hover {
    background: rgba(255,255,255,0.03);
}

.check-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--accent);
    cursor: pointer;
    flex-shrink: 0;
}

.advisory-form .btn-primary {
    align-self: flex-start;
}

.form-privacy {
    font-size: 12px;
    color: var(--text-muted);
    opacity: 0.6;
    margin-top: calc(var(--space-md) * -0.5);
}

/* === CTA === */
.advisory-cta {
    max-width: 760px;
    margin: 0 auto;
    padding: var(--space-lg) 0;
    text-align: center;
}

/* === RESPONSIVE === */
@media (max-width: 640px) {
    .advisory-hero {
        padding-top: calc(var(--space-xl) + 56px);
        padding-bottom: var(--space-lg);
    }

    .advisory-hero h1 {
        font-size: clamp(28px, 7vw, 48px);
    }

    .advisory-body {
        padding: var(--space-lg) 0;
    }

    .topics-grid {
        grid-template-columns: 1fr;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .checkbox-grid {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .advisory-form .btn-primary {
        width: 100%;
    }

    .review-card {
        width: 280px;
    }

    .tri-1, .tri-2, .tri-3, .tri-4, .tri-5, .tri-6 {
        display: none;
    }

    /* --- iOS Safari: prevent auto-zoom on input focus --- */
    .form-group input,
    .form-group textarea,
    .form-group select {
        font-size: 16px;
    }

    /* --- Tighter form spacing on mobile --- */
    .advisory-form {
        gap: var(--space-md);
    }

    .form-fieldset {
        padding: 16px;
        gap: var(--space-sm);
    }

    .fieldset-label {
        font-size: 10px;
    }

    /* --- Legible labels --- */
    .form-group label {
        font-size: 12px;
    }

    /* --- Touch-friendly inputs (44px minimum) --- */
    .form-group input,
    .form-group select {
        min-height: 44px;
    }

    .form-group textarea {
        min-height: 60px;
    }

    /* --- Checkbox touch targets: 44px tap area --- */
    .check-label {
        padding: 10px 12px;
        font-size: 14px;
        min-height: 44px;
    }

    .check-label input[type="checkbox"] {
        width: 18px;
        height: 18px;
    }

    /* --- Advisory intro text --- */
    .advisory-intro p {
        font-size: 15px;
    }

    .advisory-cta {
        padding: var(--space-md) 0;
    }
}
