/* Feature-list explicit colour override */
.feature-list li { color: #2C2A26 !important; }

/* Lucide icon sizing helpers */
.icon-badge { width: 0.6em; height: 0.6em; fill: currentColor; vertical-align: middle; margin-right: 0.25em; }
.icon-star  { width: 0.85em; height: 0.85em; fill: currentColor; vertical-align: middle; }

/* Page-specific layout and component styles */
.project-page { display: block; }
.page-header--golden-visa { padding-bottom: 4.5rem; }
.page-header--golden-visa .t-heading { font-weight: 400; }
.page-header--golden-visa .t-body { max-width: 700px; margin-left: auto; margin-right: auto; }
.page-header--golden-visa .kpi-strip--hero { margin: 2.75rem auto 0; max-width: 1000px; }
.page-header--golden-visa .kpi-strip--hero .kpi-card { background: rgba(255,255,255,0.06); border-color: rgba(212,196,160,0.25); }
.page-header--golden-visa .kpi-strip--hero .kpi-card__value { color: var(--gold-on-dark, var(--gold)); }
.page-header--golden-visa .kpi-strip--hero .kpi-card__label { color: var(--stone); }
.gv-hero-actions { margin-top: 2.5rem; display: flex; justify-content: center; }
.page-header--golden-visa .btn-primary--hero { background: var(--gold); color: var(--night); border-color: var(--gold); font-weight: 500; margin-top: 0; }
.page-header--golden-visa .btn-primary--hero:hover { background: var(--gold-light); border-color: var(--gold-light); }

/* ===== Hero: Atmospheric Athens-skyline backdrop ===== */
.page-header--golden-visa {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.page-header--golden-visa > * { position: relative; z-index: 2; }
.page-header--golden-visa::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 65% 50% at 82% 18%, rgba(196,160,100,0.34) 0%, rgba(196,160,100,0.10) 42%, transparent 75%),
        radial-gradient(ellipse 50% 40% at 15% 85%, rgba(212,196,160,0.20) 0%, transparent 68%);
    z-index: 0;
    pointer-events: none;
}
.gv-hero-skyline {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    width: 100%;
    height: 36%;
    z-index: 1;
    opacity: 0.32;
    pointer-events: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 420' preserveAspectRatio='xMidYMax slice'><g fill='none' stroke='%23C4A064' stroke-width='1.2' stroke-linejoin='round' stroke-linecap='round' opacity='0.95'><path d='M0 420 L0 360 L40 360 L50 340 L70 340 L80 320 L100 320 L100 360 L140 360 L140 340 L170 340 L180 310 L220 310 L230 340 L260 340 L260 370 L300 370 L300 330 L330 330 L340 300 L360 300 L370 280 L390 280 L400 270 L420 265 L440 270 L450 280 L470 280 L480 300 L500 300 L500 340 L540 340 L540 370 L580 370 L580 345 L620 345 L620 320 L650 320 L660 295 L680 295 L690 270 L720 270 L730 245 L760 245 L770 220 L790 220 L800 200 L820 200 L830 180 L850 180 L860 160 L870 150 L880 155 L890 165 L900 155 L910 145 L930 150 L940 175 L960 175 L970 200 L990 200 L1000 220 L1020 225 L1030 245 L1060 245 L1070 270 L1100 270 L1110 295 L1140 295 L1150 320 L1180 320 L1180 345 L1220 345 L1220 370 L1260 370 L1270 340 L1300 340 L1300 310 L1340 310 L1350 335 L1380 335 L1390 360 L1430 360 L1430 335 L1470 335 L1480 310 L1510 310 L1510 350 L1550 350 L1560 330 L1600 330 L1600 420 Z'/><path d='M720 245 L720 190 L735 190 L735 175 L760 175 L760 195 L775 195 L775 245' opacity='0.6'/><circle cx='747' cy='180' r='4' opacity='0.5'/><path d='M900 155 L900 130 L915 130 L915 118 L930 118 L930 135 L945 135 L945 155' opacity='0.6'/><path d='M1000 220 L1020 200 L1045 215 L1045 220' opacity='0.5'/></g></svg>");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 100%;
}
@media (max-width: 768px) {
    .gv-hero-skyline { height: 28%; opacity: 0.24; }
    .page-header--golden-visa::before {
        background:
            radial-gradient(ellipse 85% 40% at 80% 12%, rgba(196,160,100,0.26) 0%, transparent 68%),
            radial-gradient(ellipse 75% 32% at 20% 88%, rgba(212,196,160,0.16) 0%, transparent 62%);
    }
}
/* ===== /Hero skyline ===== */

/* ===== Projects section: Mosaic gallery (3 cols desktop / 2 cols tablet / 1 col mobile) ===== */
.gv-static-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.gv-listing-card-link--spaced { margin-bottom: 0; }
.gv-listing-card {
    height: 100%;
    background: rgba(255,255,255,0.015);
}
.gv-listing-card__grid {
    display: flex !important;
    flex-direction: column;
    min-height: 0 !important;
    height: 100%;
}
.gv-listing-card__body {
    padding: 1.5rem 1.5rem 1.75rem !important;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.gv-listing-card__badge {
    font-size: 0.68rem !important;
    letter-spacing: 0.14em !important;
    margin-bottom: 0.75rem !important;
}
.gv-listing-card__title {
    font-size: 1.4rem !important;
    margin-bottom: 0.6rem !important;
}
.gv-listing-card__desc {
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1.1rem !important;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.gv-listing-card__stats {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 0.5rem !important;
    padding-top: 1rem !important;
}
.gv-listing-card__stat-label { font-size: 0.62rem !important; margin-bottom: 0.2rem !important; }
.gv-listing-card__stat-value { font-size: 0.78rem !important; }
.gv-listing-card__cta-wrap { margin-top: 1rem; }
.gv-listing-card__cta { font-size: 0.68rem !important; }
@media (max-width: 1024px) {
    .gv-static-cards { grid-template-columns: repeat(2, 1fr); }
}
/* ===== /Projects mosaic ===== */
.gv-index-cta { padding: 5rem 3rem; }
.gv-mid-cta .t-heading { color: var(--white); font-size: clamp(1.8rem, 3vw, 2.5rem); max-width: 620px; margin: 0 auto 1rem; }
.gv-mid-cta .t-body { max-width: 680px; margin: 0 auto; }
.programme-overview-image { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.section-intro-spaced { margin-bottom: var(--space-12); }
.text-gold { color: var(--gold); }
.gv-listing-card-link { text-decoration: none; display: block; }
.gv-listing-card-link--spaced { margin-bottom: 3rem; }
.gv-listing-card {
    border: 1px solid rgba(196,160,100,0.3);
    border-radius: 4px;
    overflow: hidden;
    transition: border-color 0.3s ease, transform 0.3s ease;
}
.gv-listing-card__image { width: 100%; height: auto; object-fit: cover; aspect-ratio: 16/10; }
.gv-listing-card__badge {
    font-size: 0.78rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--gold);
    display: block;
    margin-bottom: 1rem;
}
.gv-listing-card__title {
    font-family: var(--serif);
    font-size: 2rem;
    font-weight: 400;
    color: var(--white);
    margin-bottom: 0.8rem;
    line-height: 1.2;
}
.gv-listing-card__desc {
    font-family: var(--sans);
    font-size: 0.95rem;
    color: var(--stone);
    line-height: 1.7;
    margin-bottom: 1.5rem;
}
.gv-listing-card__stats {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--stone);
}
.gv-listing-card__stat-label {
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--warm-gray);
    display: block;
    margin-bottom: 0.3rem;
}
.gv-listing-card__stat-value { font-size: 0.9rem; color: var(--stone); }
.gv-listing-card__stat-value--white { color: var(--white); }
.gv-listing-card__stat-value--gold { color: var(--gold-dark); }
.gv-listing-card__cta {
    font-family: var(--sans);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    border-bottom: 1px solid var(--gold);
    padding-bottom: 2px;
}
.faq-item[open] .faq-question::after {
    transform: rotate(90deg);
}
.faq-question {
    cursor: pointer;
    font-family: var(--serif);
    font-size: 1.15rem;
    font-weight: 400;
    position: relative;
    padding-right: 2rem;
}
.faq-question::after {
    content: '▸';
    position: absolute;
    right: 0;
    color: var(--gold);
    transition: transform 0.2s;
    font-size: 1.2rem;
}
.cta-copy { margin: 0 auto 2rem; text-align: center; max-width: 500px; }
.footer-link--gold { color: var(--gold); }
.card--featured { border: 2px solid var(--gold); position: relative; }
.threshold-card .card-divider { background: var(--gold); }
.threshold-card h3 { color: var(--gold); }

/* Project card grid responsive */
@media (max-width: 768px) {
    .gv-static-cards { grid-template-columns: 1fr; gap: 1rem; }
    .gv-listing-card-link--spaced { margin-bottom: 0; }
    .gv-listing-card__image { aspect-ratio: 16/9; min-height: auto; }
    .gv-listing-card__body { padding: 1.2rem 1.4rem 1.4rem; }
    .gv-listing-card__badge { margin-bottom: 0.5rem; font-size: 0.7rem; }
    .gv-listing-card__title { font-size: 1.4rem; margin-bottom: 0.4rem; }
    .gv-listing-card__desc { font-size: 0.88rem; line-height: 1.6; margin-bottom: 1rem; }
    .gv-listing-card__stats { gap: 0.8rem; padding-top: 1rem; }
    .gv-listing-card__stats > div { padding: 0.4rem; }
    .gv-listing-card__cta-wrap { margin-top: 1rem; }
}
