/* ============================================================
   Kursus MMC — Redesign
   Fonts: Manrope (UI) + Fraunces (display) — AZ · EN · RU
   ============================================================ */

:root{
    --ink:        #16181d;
    --ink-soft:   #3a3f4a;
    --muted:      #6b7280;
    --line:       #e7e3db;
    --bg:         #fbf9f5;
    --bg-tint:    #f3efe7;
    --card:       #ffffff;
    --accent:     #b88746;      /* bronze / warm gold */
    --accent-deep:#9a6d31;
    --radius:     18px;
    --radius-sm:  12px;
    --shadow:     0 22px 60px -30px rgba(24,22,18,.35);
    --shadow-sm:  0 10px 30px -18px rgba(24,22,18,.4);
    --container:  1200px;
    --ease:       cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
    margin:0;
    font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.6;
    font-size:16px;
    letter-spacing:.005em;
    -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ margin:0; line-height:1.12; font-weight:700; letter-spacing:-.02em; }

.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }

/* ---- Typographic helpers ---- */
.kicker{
    display:inline-block;
    font-size:.75rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
    color:var(--accent-deep);
    margin-bottom:16px;
    position:relative; padding-left:34px;
}
.kicker::before{
    content:""; position:absolute; left:0; top:50%; width:24px; height:2px;
    background:var(--accent); transform:translateY(-50%);
}
.section-title{
    font-family:"Manrope",system-ui,sans-serif;
    font-weight:600;
    font-size:36px;
    letter-spacing:-.01em;
    color:var(--ink);
}
.section-lead{ color:var(--ink-soft); font-size:1.06rem; max-width:52ch; }

/* ---- Buttons ---- */
.btn{
    --pad:14px 26px;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:var(--pad); border-radius:999px; font-weight:600; font-size:.95rem;
    border:1px solid transparent; cursor:pointer; transition:.3s var(--ease);
    white-space:nowrap;
}
.btn-sm{ --pad:9px 18px; font-size:.85rem; }
.btn-primary{ background:var(--accent); color:#fff; box-shadow:0 12px 26px -12px rgba(184,135,70,.7); }
.btn-primary:hover{ background:var(--accent-deep); transform:translateY(-2px); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--ink); transform:translateY(-2px); }
.btn-block{ width:100%; }

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
    position:sticky; top:0; z-index:100;
    background:rgba(251,249,245,.82);
    backdrop-filter:saturate(180%) blur(14px);
    border-bottom:1px solid transparent;
    transition:.35s var(--ease);
}
.site-header.scrolled{ border-bottom-color:var(--line); box-shadow:0 6px 24px -18px rgba(0,0,0,.4); }
.header-inner{ display:flex; align-items:center; gap:24px; height:74px; }

.brand{ display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.02em; }
.brand-mark{ color:var(--accent); display:grid; place-items:center; }
.brand-text{ font-size:1.25rem; }
.brand-text em{ font-style:normal; font-weight:600; color:var(--muted); font-size:.9em; }
.brand-dot{ color:var(--accent); }

.main-nav{ display:flex; gap:6px; margin-inline:auto; }
.main-nav a{
    padding:10px 14px; border-radius:10px; font-weight:600; font-size:.92rem;
    color:var(--ink-soft); position:relative; transition:.25s var(--ease);
}
.main-nav a:hover{ color:var(--ink); background:var(--bg-tint); }

.header-actions{ display:flex; align-items:center; gap:14px; }
.lang-switch{ display:flex; gap:2px; background:var(--bg-tint); padding:4px; border-radius:999px; }
.lang-switch a{
    font-size:.72rem; font-weight:700; letter-spacing:.04em; padding:6px 10px;
    border-radius:999px; color:var(--muted); transition:.25s var(--ease);
}
.lang-switch a.is-active{ background:var(--ink); color:#fff; }
.lang-switch a:hover:not(.is-active){ color:var(--ink); }
.nav-lang-switch{ display:none; }

.nav-toggle{ display:none; width:42px; height:42px; border:1px solid var(--line); background:var(--card);
    border-radius:12px; cursor:pointer; padding:0; flex-direction:column; gap:5px; align-items:center; justify-content:center; }
.nav-toggle span{ width:18px; height:2px; background:var(--ink); border-radius:2px; transition:.3s var(--ease); }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ============================================================
   HERO
   ============================================================ */
.hero{ position:relative; overflow:hidden; padding:72px 0 0; }
.hero-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero-grid{
    position:absolute; inset:-1px;
    background-image:linear-gradient(var(--line) 1px,transparent 1px),
                     linear-gradient(90deg,var(--line) 1px,transparent 1px);
    background-size:54px 54px;
    mask-image:radial-gradient(circle at 72% 30%,#000,transparent 62%);
    opacity:.55;
}
.hero-glow{
    position:absolute; top:-160px; right:-120px; width:520px; height:520px; border-radius:50%;
    background:radial-gradient(circle,rgba(184,135,70,.22),transparent 62%);
}
.hero-inner{ position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center; padding-bottom:56px; }
.hero-copy{ max-width:38rem; }
.hero-title{
    font-family:"Manrope",system-ui,sans-serif; font-weight:600;
    font-size:clamp(2.6rem,5.4vw,4.4rem); line-height:1.04; letter-spacing:-.02em;
    margin:6px 0 20px;
}
.hero-lead{ font-size:1.15rem; color:var(--ink-soft); margin-bottom:30px; }
.hero-btns{ display:flex; gap:14px; flex-wrap:wrap; }

/* Stylised tower graphic */
.hero-panel{ position:relative; height:420px; display:grid; place-items:end center; }
.hero-tower{
    width:220px; height:100%;
    background:linear-gradient(180deg,#20242c,#12151b);
    border-radius:20px 20px 0 0;
    padding:26px 22px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px 12px;
    align-content:start; box-shadow:var(--shadow); position:relative;
}
.hero-tower::after{ content:""; position:absolute; left:-18px; right:-18px; bottom:0; height:14px;
    background:linear-gradient(180deg,#20242c,#0d0f14); border-radius:0 0 8px 8px; }
.hero-tower span{
    height:14px; border-radius:3px;
    background:linear-gradient(180deg,rgba(184,135,70,.9),rgba(184,135,70,.35));
    opacity:.85; animation:twinkle 4s var(--ease) infinite;
}
.hero-tower span:nth-child(3n){ background:linear-gradient(180deg,#3a4150,#242a34); animation-delay:.6s; }
.hero-tower span:nth-child(4n){ animation-delay:1.4s; }
.hero-tower span:nth-child(5n){ animation-delay:2.1s; }
@keyframes twinkle{ 0%,100%{opacity:.35} 45%{opacity:.95} }
.hero-badge{
    position:absolute; left:-24px; bottom:60px; background:var(--card);
    border:1px solid var(--line); border-radius:16px; padding:16px 20px; box-shadow:var(--shadow-sm);
    text-align:center;
}
.hero-badge strong{ display:block; font-family:"Manrope",system-ui,sans-serif; font-size:1.9rem; color:var(--accent-deep); line-height:1; }
.hero-badge span{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }

/* Stats bar */
.stats{
    position:relative; z-index:1;
    display:grid; grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line); background:var(--bg);
    padding:26px 24px;
}
.stat{ text-align:center; border-right:1px solid var(--line); }
.stat:last-child{ border-right:0; }
.stat b{ font-family:"Manrope",system-ui,sans-serif; font-size:2.1rem; color:var(--ink); display:inline-block; }
.stat span{ display:block; font-size:.82rem; color:var(--muted); letter-spacing:.02em; margin-top:2px; }

/* ============================================================
   SECTIONS
   ============================================================ */
.section{ padding:96px 0; }
.section--tint{ background:var(--bg-tint); }
.section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:48px; }
.section-head--center{ flex-direction:column; align-items:center; text-align:center; }
.section-lead--head{ max-width:34ch; margin-bottom:6px; }
.section-kicker{
    display:inline-flex; align-items:center; gap:10px; margin-bottom:14px;
    color:var(--accent-deep); font-size:.76rem; font-weight:800;
    letter-spacing:.14em; text-transform:uppercase;
}
.section-kicker::before{
    content:""; width:28px; height:2px; background:currentColor; border-radius:2px;
}

/* About */
.about-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.about-media{ position:relative; }
.about-frame{
    aspect-ratio:4/5; border-radius:var(--radius); position:relative; overflow:hidden;
    background:
        radial-gradient(120% 80% at 20% 0%,rgba(184,135,70,.18),transparent 55%),
        linear-gradient(160deg,#22262f,#12151b);
    box-shadow:var(--shadow);
}
.af-line{ position:absolute; background:rgba(255,255,255,.08); border-radius:4px; }
.af-1{ left:16%; bottom:0; width:22%; height:70%; background:linear-gradient(180deg,rgba(184,135,70,.5),rgba(184,135,70,.08)); }
.af-2{ left:42%; bottom:0; width:26%; height:88%; background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.02)); }
.af-3{ left:72%; bottom:0; width:18%; height:54%; background:linear-gradient(180deg,rgba(184,135,70,.35),rgba(184,135,70,.05)); }
.about-frame::after{ content:""; position:absolute; inset:0;
    background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px); background-size:100% 30px; }

.feature-list{ list-style:none; margin:32px 0 0; padding:0; display:grid; gap:22px; }
.feature-list li{ display:flex; gap:18px; align-items:flex-start; }
.feature-list i{
    font-style:normal; font-family:"Manrope",system-ui,sans-serif; font-weight:600; color:var(--accent-deep);
    font-size:1.1rem; width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center;
    border:1px solid var(--line); border-radius:12px; background:var(--card);
}
.feature-list h4{ font-size:1.05rem; margin-bottom:3px; }
.feature-list p{ margin:0; color:var(--muted); font-size:.95rem; }

/* Projects */
.project-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.project-card{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden; display:flex; flex-direction:column;
    transition:.4s var(--ease); position:relative;
}
.project-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.pc-visual{
    aspect-ratio:16/11; position:relative; background-size:cover; background-position:center;
    background-color:#1a1e26; overflow:hidden;
}
.pc-art{ position:absolute; inset:0;
    background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 42%,#181b22),#12151b);
    display:flex; align-items:flex-end; justify-content:center; gap:12px; padding:26px; }
.pc-art span{ width:16%; border-radius:4px 4px 0 0; background:rgba(255,255,255,.16); }
.pc-art span:nth-child(1){ height:46%; }
.pc-art span:nth-child(2){ height:78%; background:color-mix(in srgb,var(--accent) 65%,#fff); }
.pc-art span:nth-child(3){ height:60%; }
.pc-art span:nth-child(4){ height:88%; }
.pc-visual::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(10,12,16,.45)); }
.pc-status{
    position:absolute; top:14px; left:14px; z-index:2;
    background:rgba(251,249,245,.92); color:var(--ink); font-size:.72rem; font-weight:700;
    letter-spacing:.03em; padding:6px 12px; border-radius:999px;
}
.pc-body{ padding:24px; display:flex; flex-direction:column; flex:1; }
.pc-district{ font-size:.78rem; font-weight:600; letter-spacing:.04em; color:var(--accent-deep); text-transform:uppercase; }
.pc-title{ font-family:"Manrope",system-ui,sans-serif; font-weight:600; font-size:1.4rem; margin:6px 0 10px; }
.pc-summary{ color:var(--muted); font-size:.94rem; margin:0 0 18px; flex:1; }
.pc-meta{ display:flex; gap:26px; padding:16px 0; border-top:1px solid var(--line); margin-bottom:14px; }
.pc-meta small{ display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.pc-meta b{ font-family:"Manrope",system-ui,sans-serif; font-size:1.2rem; }
.pc-link{ display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.9rem; color:var(--ink); }
.pc-link svg{ transition:.3s var(--ease); }
.pc-link:hover{ color:var(--accent-deep); }
.pc-link:hover svg{ transform:translateX(4px); }

/* Services */
.service-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.service-card{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    padding:30px 26px; transition:.35s var(--ease);
}
.service-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-sm); }
.sc-icon{ width:56px; height:56px; border-radius:14px; display:grid; place-items:center; margin-bottom:20px;
    color:var(--accent-deep); background:linear-gradient(160deg,var(--bg-tint),#fff);
    border:1px solid var(--line); }
.service-card h3{ font-size:1.12rem; margin-bottom:8px; }
.service-card p{ margin:0; color:var(--muted); font-size:.94rem; }

/* News */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.news-card{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    padding:28px; transition:.35s var(--ease); display:flex; flex-direction:column;
}
.news-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-sm); }
.news-card-img{
    display:block; margin:-28px -28px 22px; aspect-ratio:16/10; overflow:hidden;
    border-radius:var(--radius) var(--radius) 0 0; background:var(--bg-tint);
}
.news-card-img img{ width:100%; height:100%; object-fit:cover; transition:.45s var(--ease); }
.news-card:hover .news-card-img img{ transform:scale(1.04); }
.news-card time{ font-size:.8rem; font-weight:700; color:var(--accent-deep); letter-spacing:.04em; }
.news-card h3{ font-family:"Manrope",system-ui,sans-serif; font-weight:600; font-size:1.25rem; margin:12px 0 10px; }
.news-card p{ color:var(--muted); font-size:.94rem; margin:0 0 20px; flex:1; }
.news-link{ font-weight:700; font-size:.9rem; color:var(--ink); align-self:flex-start; }
.news-link:hover{ color:var(--accent-deep); }
.news-grid--list{ grid-template-columns:1fr; gap:22px; }
.news-grid--list .news-card{
    display:grid; grid-template-columns:360px minmax(0,1fr); column-gap:28px;
    align-items:center; min-height:240px; padding:0 28px 0 0;
}
.news-grid--list .news-card-img{
    margin:0; width:360px; height:240px; min-height:0; aspect-ratio:auto;
    border-radius:var(--radius) 0 0 var(--radius);
}
.news-card-content{
    display:flex; flex-direction:column; align-items:flex-start;
    align-self:stretch; min-width:0; padding:28px 0;
}
.news-grid--list .news-card time{ margin-bottom:8px; }
.news-grid--list .news-card h3{ font-size:22px; max-width:760px; margin:0 0 10px; }
.news-grid--list .news-card p{ max-width:760px; margin:0 0 18px; }
.news-grid--list .news-card .news-link{ align-self:flex-start; margin-top:auto; }

/* Contact */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.contact-list{ list-style:none; margin:30px 0 0; padding:0; display:grid; gap:20px; }
.contact-list li{ display:flex; gap:16px; align-items:flex-start; }
.ci-ic{ width:44px; height:44px; flex:0 0 44px; border-radius:12px; display:grid; place-items:center;
    background:var(--bg-tint); color:var(--accent-deep); border:1px solid var(--line); }
.contact-list small{ display:block; font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:2px; }
.contact-list b{ font-weight:600; font-size:1rem; }
.contact-page{ padding-top:34px; }
.contact-grid--page{ grid-template-columns:1.15fr .85fr; align-items:stretch; }
.contact-list--large{ margin-top:34px; gap:18px; }
.contact-list--large li{
    background:var(--card); border:1px solid var(--line); border-radius:16px;
    padding:22px; transition:.3s var(--ease);
}
.contact-list--large li:hover{ transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.contact-list--large b,
.contact-list--large b a{ color:var(--ink); font-size:14px; }
.contact-list--large b a:hover{ color:var(--accent-deep); }
.contact-panel{
    background:var(--card); border:1px solid var(--line); border-radius:18px;
    padding:34px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;
}
.contact-panel h3{ font-size:1.45rem; margin-bottom:12px; color:var(--ink); }
.contact-panel p{ color:var(--muted); margin:0 0 26px; font-size:1rem; line-height:1.7; }
.contact-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:auto; }
.map-link{
    margin-top:34px; display:inline-flex; align-items:center; gap:8px;
    color:var(--accent-deep); font-weight:700;
}
.map-link:hover{ color:var(--ink); }
.contact-methods{
    grid-template-columns:repeat(3,1fr); margin:0 0 28px;
}
.contact-main{
    display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
    gap:28px; align-items:stretch;
}
.contact-form--page{ box-shadow:none; }
.contact-map{
    min-height:560px; border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden; background:var(--bg-tint); box-shadow:var(--shadow-sm);
}
.contact-map iframe{ width:100%; height:100%; min-height:560px; border:0; display:block; }

.contact-form{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    padding:34px; box-shadow:var(--shadow-sm);
}
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:.82rem; font-weight:600; color:var(--ink-soft); margin-bottom:7px; }
.field input,.field textarea{
    width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:var(--radius-sm);
    font:inherit; color:var(--ink); background:var(--bg); transition:.25s var(--ease); resize:vertical;
}
.field input:focus,.field textarea:focus{
    outline:none; border-color:var(--accent); background:#fff; box-shadow:0 0 0 4px rgba(184,135,70,.12);
}
.form-alert{ padding:13px 16px; border-radius:var(--radius-sm); font-size:.92rem; font-weight:600; margin-bottom:20px; }
.form-alert--ok{ background:#e8f3ec; color:#1f6b43; border:1px solid #bfe0cc; }
.form-alert--err{ background:#fbeceb; color:#a13429; border:1px solid #f0cac6; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ background:#12151b; color:#cfd3da; padding:70px 0 26px; }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1.2fr; gap:44px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.08); }
.brand--footer{ color:#fff; margin-bottom:16px; }
.brand--footer .brand-text em{ color:#8b8f98; }
.footer-brand p{ color:#9aa0aa; max-width:38ch; font-size:.95rem; }
.social{ display:flex; gap:10px; margin-top:20px; }
.social a{ width:40px; height:40px; border-radius:10px; display:grid; place-items:center; font-size:.8rem; font-weight:700;
    background:rgba(255,255,255,.06); color:#cfd3da; transition:.3s var(--ease); }
.social a:hover{ background:var(--accent); color:#fff; }
.footer-col h4{ color:#fff; font-size:.95rem; letter-spacing:.03em; margin-bottom:16px; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.footer-col a{ color:#9aa0aa; font-size:.93rem; transition:.25s var(--ease); }
.footer-col a:hover{ color:#fff; }
.footer-contact li{ color:#9aa0aa; font-size:.93rem; }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:.85rem; color:#7f858f; flex-wrap:wrap; gap:12px; }
.footer-langs{ display:flex; gap:10px; }
.footer-langs a{ color:#7f858f; font-weight:700; font-size:.78rem; }
.footer-langs a.is-active{ color:var(--accent); }

/* ============================================================
   REVEAL ANIMATION
   ============================================================ */
[data-reveal]{ opacity:0; transform:translateY(26px); transition:.7s var(--ease); }
[data-reveal].in{ opacity:1; transform:none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
    .hero-inner{ grid-template-columns:1fr; }
    .hero-panel{ display:none; }
    .about-grid{ grid-template-columns:1fr; gap:36px; }
    .about-media{ max-width:420px; }
    .project-grid{ grid-template-columns:repeat(2,1fr); }
    .news-grid{ grid-template-columns:1fr; }
    .service-grid{ grid-template-columns:repeat(2,1fr); }
    .contact-grid{ grid-template-columns:1fr; gap:36px; }
    .contact-methods{ grid-template-columns:1fr; }
    .contact-main{ grid-template-columns:1fr; }
    .contact-map,.contact-map iframe{ min-height:420px; }
    .footer-grid{ grid-template-columns:1fr 1fr; }
    .main-nav{ position:fixed; inset:74px 0 auto 0; flex-direction:column; gap:0;
        background:var(--bg); border-bottom:1px solid var(--line); padding:10px 16px 20px;
        transform:translateY(-140%); transition:.4s var(--ease); box-shadow:var(--shadow); }
    .main-nav.open{ transform:none; }
    .main-nav a,
    .site-header:not(.scrolled) .main-nav a,
    .site-header.header--solid .main-nav a{
        color:var(--ink); padding:14px 12px; border-bottom:1px solid var(--line); border-radius:0;
    }
    .site-header:not(.scrolled) .main-nav.open a,
    .site-header:not(.scrolled):not(.header--solid) .main-nav.open a{
        color:var(--ink);
    }
    .main-nav a:hover,
    .site-header:not(.scrolled) .main-nav a:hover,
    .site-header.header--solid .main-nav a:hover{ color:var(--ink); background:var(--bg-tint); }
    .header-actions .lang-switch{ display:none; }
    .nav-lang-switch{
        display:flex; align-items:center; gap:6px; width:max-content;
        margin:16px 12px 2px; padding:0; border-radius:0; background:transparent;
    }
    .nav-lang-switch a{
        display:grid; place-items:center; min-width:46px; border:0 !important; border-radius:0 !important;
        padding:4px 8px; font-size:.78rem; font-weight:800; letter-spacing:.05em;
        color:var(--muted); background:transparent;
    }
    .nav-lang-switch a.is-active{ background:#B78646; color:#fff; border-radius:8px !important; box-shadow:none; }
    .site-header:not(.scrolled) .main-nav.open .nav-lang-switch a.is-active,
    .site-header:not(.scrolled):not(.header--solid) .main-nav.open .nav-lang-switch a.is-active{
        color:#fff;
    }
    .header-inner{ justify-content:space-between; }
    .nav-toggle{ display:flex; }
}
@media (max-width:760px){
    .cta-hide,.btn-sm{ display:none; }
    .header-actions .btn-sm{ display:none; }
    .section{ padding:36px 0; }
    .section-head{ flex-direction:column; align-items:flex-start; }
    .stats{ grid-template-columns:repeat(2,1fr); gap:20px 0; }
    .stat:nth-child(2){ border-right:0; }
    .project-grid,.news-grid,.service-grid{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:1fr; gap:30px; }
}
@media (max-width:400px){
    .lang-switch a{ padding:6px 8px; }
}

@media (prefers-reduced-motion:reduce){
    *{ animation:none !important; scroll-behavior:auto; }
    [data-reveal]{ opacity:1; transform:none; }
}

/* ============================================================
   3D HERO STAGE UPGRADE
   ============================================================ */
.hero{ padding:56px 0 0; }
.hero-inner{ align-items:center; gap:48px; padding-bottom:60px; }

.hero-stage{
    position:relative;
    min-height:560px;
    border-radius:26px;
    overflow:hidden;
    background:
        radial-gradient(130% 100% at 72% 8%, #1d2632 0%, #10141b 58%, #0b0e13 100%);
    border:1px solid rgba(255,255,255,.07);
    box-shadow:
        0 50px 90px -46px rgba(8,11,16,.85),
        inset 0 1px 0 rgba(255,255,255,.06);
}
/* Blueprint overlay */
.hero-stage::before{
    content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
    background-image:
        linear-gradient(rgba(120,150,190,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120,150,190,.06) 1px, transparent 1px);
    background-size:38px 38px;
    mask-image:radial-gradient(120% 90% at 50% 20%, #000 40%, transparent 85%);
}
/* Warm floor glow */
.hero-stage::after{
    content:""; position:absolute; left:50%; bottom:-30%; z-index:0;
    width:80%; height:60%; transform:translateX(-50%);
    background:radial-gradient(ellipse at center, rgba(224,163,85,.25), transparent 65%);
    filter:blur(10px); pointer-events:none;
}
.scene{ position:absolute; inset:0; z-index:1; }
.scene canvas{ display:block; width:100%!important; height:100%!important; }

.scene-fallback{ position:absolute; inset:0; z-index:1; display:grid; place-items:end center; padding-bottom:8%; }
.has-webgl .scene-fallback{ display:none; }

/* Floating glass badges over the 3D scene */
.stage-badge{
    position:absolute; z-index:3;
    display:flex; align-items:center; gap:12px;
    padding:12px 16px; border-radius:14px;
    background:rgba(19,24,32,.62);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(10px) saturate(140%);
    box-shadow:0 18px 40px -20px rgba(0,0,0,.7);
    color:#eef1f5;
}
.stage-badge--tl{ top:22px; left:22px; }
.stage-badge--br{ bottom:22px; right:22px; }
.stage-badge strong{
    font-family:"Manrope",system-ui,sans-serif; font-size:1.7rem; line-height:1;
    color:#f2c079;
}
.stage-badge span{ font-size:.74rem; letter-spacing:.06em; color:#c3c9d2; max-width:12ch; }
.stage-badge i{
    width:9px; height:9px; border-radius:50%; background:#59c07a;
    box-shadow:0 0 0 4px rgba(89,192,122,.22);
    animation:pulse 1.8s var(--ease) infinite;
}
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 3px rgba(89,192,122,.3);} 50%{ box-shadow:0 0 0 8px rgba(89,192,122,0);} }
.stage-caption{
    position:absolute; z-index:3; left:22px; bottom:22px;
    font-size:.76rem; letter-spacing:.14em; text-transform:uppercase;
    color:rgba(220,225,232,.6);
}
.stage-badge--br ~ .stage-caption{ }

/* Old flat tower fallback restyle (only visible without WebGL) */
.scene-fallback .hero-tower{ width:210px; height:78%; }

@media (max-width:980px){
    .hero-stage{ min-height:440px; }
}
@media (max-width:760px){
    .hero-stage{ min-height:360px; border-radius:20px; }
    .stage-badge strong{ font-size:1.4rem; }
    .stage-caption{ font-size:.68rem; }
}

/* 3D tilt on project cards */
.project-card{ transform-style:preserve-3d; will-change:transform; }
.project-card .pc-visual,
.project-card .pc-body{ transition:transform .3s var(--ease); }

/* ============================================================
   CINEMATIC HERO (reference style — photoreal render + callouts)
   ============================================================ */
.site-header{ background:transparent; backdrop-filter:none; }
.site-header.scrolled{
    background:rgba(251,249,245,.9);
    backdrop-filter:saturate(180%) blur(14px);
    border-bottom-color:var(--line);
}
/* Light header text while over the dark hero */
.site-header:not(.scrolled) .brand,
.site-header:not(.scrolled) .brand-text{ color:#fff; }
.site-header:not(.scrolled) .brand-text em{ color:rgba(255,255,255,.7); }
.site-header:not(.scrolled) .brand-mark{ color:#f2c079; }
.site-header:not(.scrolled) .main-nav a{ color:rgba(255,255,255,.86); }
.site-header:not(.scrolled) .main-nav a:hover{ color:#fff; background:rgba(255,255,255,.12); }
.site-header:not(.scrolled) .lang-switch{ background:rgba(255,255,255,.16); }
.site-header:not(.scrolled) .lang-switch a{ color:rgba(255,255,255,.82); }
.site-header:not(.scrolled) .lang-switch a.is-active{ background:#fff; color:#12151b; }
.site-header:not(.scrolled) .btn-sm{ background:rgba(255,255,255,.15); color:#fff; border-color:rgba(255,255,255,.28); }
.site-header:not(.scrolled) .nav-toggle{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.28); }
.site-header:not(.scrolled) .nav-toggle span{ background:#fff; }

.hero-cine{
    position:relative;
    min-height:100vh;
    margin-top:-74px;               /* slide under the transparent header */
    display:flex;
    overflow:hidden;
    color:#fff;
}
.hero-cine-img{
    position:absolute; inset:0; z-index:0;
    background-size:cover; background-position:center right;
    transform:scale(1.04);
    animation:heroZoom 22s ease-in-out infinite alternate;
}
@keyframes heroZoom{ from{ transform:scale(1.04);} to{ transform:scale(1.12);} }
.hero-cine-shade{
    position:absolute; inset:0; z-index:1;
    background:
        linear-gradient(180deg, rgba(9,13,20,.72) 0%, rgba(9,13,20,.18) 26%, rgba(9,13,20,.12) 50%, rgba(9,13,20,.55) 78%, rgba(9,13,20,.92) 100%),
        linear-gradient(90deg, rgba(9,13,20,.55) 0%, rgba(9,13,20,.12) 45%, transparent 70%);
}
.hero-cine-inner{
    position:relative; z-index:2;
    display:flex; flex-direction:column; justify-content:flex-end;
    gap:34px;
    padding-top:118px; padding-bottom:56px;
    min-height:100vh;
}
.kicker--light{ color:#f2c079; }
.kicker--light::before{ background:#f2c079; }

/* Bottom row: marketing block (left) + numbered cards (bottom-right) */
.hero-cine-bottom{
    display:flex; justify-content:flex-end; align-items:flex-end;
    gap:40px; width:100%;
}

/* Numbered feature callouts (bottom-right, enlarged but contained) */
.feature-rail{
    display:flex; align-items:flex-start; gap:20px; flex-wrap:nowrap;
    flex:0 0 auto;
}
.frail-card{
    display:flex; flex-direction:column; align-items:flex-start;
    width:190px; margin-bottom:0;              /* eyni səviyyə — pilləli deyil */
    animation:frailIn .7s var(--ease) backwards;
    animation-delay:calc(var(--i) * .09s + .2s);
}
@keyframes frailIn{ from{ opacity:0; transform:translateY(24px);} to{ opacity:1; transform:none;} }
.frail-img{
    order:1; display:block; width:190px; height:240px;
    border-radius:15px; overflow:hidden;
    border:1px solid rgba(255,255,255,.28);
    box-shadow:0 24px 46px -18px rgba(0,0,0,.78);
    transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.frail-card:hover .frail-img{ transform:translateY(-6px) scale(1.03); box-shadow:0 26px 48px -18px rgba(0,0,0,.8); }
.frail-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.frail-meta{ order:2; margin-top:14px; display:flex; flex-direction:column; }
.frail-meta b{ font-family:"Manrope",system-ui,sans-serif; font-weight:600; font-size:1.65rem; color:#f2c079; line-height:1; }
.frail-meta em{ font-style:normal; font-size:.95rem; color:rgba(255,255,255,.9); margin-top:6px; max-width:18ch; line-height:1.35; min-height:2.7em; }
.frail-line{ order:3; width:1px; height:24px; margin:10px 0 0 3px;
    background:linear-gradient(rgba(255,255,255,.55), transparent); }

/* Bottom marketing block */
.hero-cine-foot{ max-width:none; }
.hero-cine-headline{
    font-family:"Manrope",system-ui,sans-serif; font-weight:600;
    font-size:clamp(1.6rem,3.4vw,2.7rem); line-height:1.1;
    text-transform:uppercase; letter-spacing:.005em;
    white-space:nowrap;                       /* yan-yana — bir sətir */
    margin:0 0 24px; max-width:none;
    background:linear-gradient(180deg,#f8e3ad 0%, #d3a052 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
    filter:drop-shadow(0 2px 18px rgba(0,0,0,.35));
}
.btn-ghost--light{ color:#fff; border-color:rgba(255,255,255,.45); }
.btn-ghost--light:hover{ border-color:#fff; background:rgba(255,255,255,.12); }

/* ---- Stats band (dark) ---- */
.stats-band{ background:var(--ink); color:#fff; }
.stats-band .stats{ border-top:0; background:transparent; padding:32px 24px; }
.stats-band .stat{ border-right-color:rgba(255,255,255,.12); }
.stats-band .stat b{ color:#fff; }
.stats-band .stat span{ color:rgba(255,255,255,.62); }

/* ---- Home section separation ---- */
.home-section{ position:relative; overflow:hidden; padding-top:118px; padding-bottom:118px; }
.home-projects{ padding-top:128px; padding-bottom:128px; }
.home-section::before{
    content:""; position:absolute; left:50%; top:0; width:min(1152px,calc(100% - 48px)); height:1px;
    transform:translateX(-50%); background:rgba(22,24,29,.08);
}
.home-about{
    background:
        linear-gradient(180deg,#fff 0%,var(--bg) 100%);
}
.home-about::after{
    content:""; position:absolute; inset:auto 0 0; height:90px;
    background:linear-gradient(180deg,rgba(251,249,245,0),var(--bg-tint));
    pointer-events:none;
}
.home-projects{
    background:#15181e; color:#eef1f5;
}
.home-projects::before{ background:rgba(255,255,255,.12); }
.home-projects .section-title,
.home-projects .sr-title{ color:#fff; }
.home-projects .section-kicker,
.home-projects .sr-district{ color:#f2c079; }
.home-projects .sr-summary{ color:rgba(238,241,245,.68); }
.home-projects .sr-index{
    background:linear-gradient(180deg,#f2c079 0%,rgba(242,192,121,.15) 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}
.home-projects .sr-media{ box-shadow:0 34px 80px -44px rgba(0,0,0,.8); }
.home-gallery{
    background:
        linear-gradient(180deg,var(--bg-tint) 0%,#fff 100%);
}
.home-news{
    background:#F4EFE7;
}
.home-news::after{ content:none; }
.home-news > .container{ position:relative; z-index:1; }
.home-news .news-card h3{ font-size:18px; font-weight:600; letter-spacing:0; }
.home-news .news-card p{ font-size:14px !important; }
.proj-body p,
.news-grid--list .news-card p{ font-size:14px !important; }
.section-lead,
.feature-list p,
.sr-summary,
.news-card p,
.proj-body p,
.pd-main p,
.news-detail-body p,
.contact-panel p,
.about-doc p,
.about-doc-cta{
    font-size:16px !important;
}

/* ---- 3D interactive section ---- */
.threed-head{ text-align:center; max-width:640px; margin:0 auto 40px; }
.threed-head .section-lead{ margin:14px auto 0; }

@media (max-width:860px){
    .hero-cine{ min-height:auto; }
    .hero-cine-inner{ min-height:80vh; padding-top:104px; }
    .hero-cine-bottom{ flex-direction:column; align-items:stretch; gap:24px; }
    .hero-cine-headline{ white-space:normal; }
    .feature-rail{
        flex-wrap:nowrap; overflow-x:auto; gap:16px;
        margin:6px 0; padding-bottom:8px; -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }
    .feature-rail::-webkit-scrollbar{ display:none; }
    .frail-card{ margin-bottom:0; flex:0 0 auto; width:158px; }
    .frail-img{ width:158px; height:198px; }
    .hero-cine-img{ background-position:center; }
}

/* ============================================================
   CUSTOM CURSOR (satisfying trailing brush stroke)
   ============================================================ */
html.custom-cursor,
html.custom-cursor *{ cursor:none !important; }
.cursor-canvas{
    position:fixed; inset:0; width:100vw; height:100vh;
    pointer-events:none; z-index:9998;
}

/* ============================================================
   SECTIONS REDESIGN — premium, real imagery (match hero)
   ============================================================ */

/* ---- About: real photo + floating badge ---- */
.about-media{ position:relative; }
.about-img{
    width:100%; aspect-ratio:4/5; object-fit:cover; display:block;
    border-radius:var(--radius); box-shadow:var(--shadow);
}
.about-badge{
    position:absolute; right:-20px; bottom:30px;
    background:var(--ink); color:#fff; text-align:center;
    padding:18px 24px; border-radius:16px;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 28px 56px -22px rgba(0,0,0,.55);
}
.about-badge strong{ display:block; font-size:2.1rem; font-weight:800; color:#f2c079; line-height:1; }
.about-badge span{ font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.72); }

/* ---- Projects: portrait render + title overlay ---- */
.pc-visual{ aspect-ratio:3/4; }
.pc-visual::after{
    background:linear-gradient(180deg, rgba(10,12,16,0) 34%, rgba(10,12,16,.55) 74%, rgba(8,10,14,.92) 100%);
}
.pc-overlay{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:22px; }
.pc-overlay .pc-district{
    display:block; font-size:.74rem; font-weight:700; letter-spacing:.06em;
    text-transform:uppercase; color:#f2c079;
}
.pc-overlay .pc-title{
    color:#fff; font-size:1.5rem; font-weight:700; margin:5px 0 0;
    text-shadow:0 2px 18px rgba(0,0,0,.5);
}
.project-card:hover .pc-visual::after{ opacity:1; }
.pc-body{ padding:22px 24px 24px; }
.pc-summary{ margin-top:0; }

/* ---- Services: editorial numbered rows ---- */
.service-list{ border-top:1px solid var(--line); }
.service-row{
    display:grid; grid-template-columns:56px 1.1fr 1.7fr 40px;
    align-items:center; gap:26px;
    padding:26px 8px; border-bottom:1px solid var(--line);
    transition:.35s var(--ease);
}
.sc-num{ font-size:.95rem; font-weight:700; letter-spacing:.05em; color:var(--accent-deep); }
.sc-title{ font-size:1.4rem; font-weight:700; letter-spacing:-.01em; margin:0; }
.sc-desc{ color:var(--muted); font-size:.98rem; margin:0; }
.sc-arrow{ display:grid; place-items:center; color:var(--muted); transition:.35s var(--ease); }
.service-row:hover{
    background:var(--card); border-radius:16px; border-bottom-color:transparent;
    box-shadow:var(--shadow-sm); padding-left:22px; padding-right:22px;
}
.service-row:hover .sc-title{ color:var(--accent-deep); }
.service-row:hover .sc-num{ color:var(--accent); }
.service-row:hover .sc-arrow{ color:var(--accent); transform:translateX(6px); }

/* ---- News: accent reveal ---- */
.news-card{ position:relative; overflow:hidden; }
.news-card::before{
    content:""; position:absolute; left:0; top:0; height:3px; width:0;
    background:var(--accent); transition:width .45s var(--ease);
}
.news-card:hover::before{ width:100%; }

/* ---- Responsive ---- */
@media (max-width:760px){
    .about-badge{ right:16px; bottom:16px; padding:14px 18px; }
    .about-badge strong{ font-size:1.7rem; }
    .service-row{ grid-template-columns:44px 1fr; gap:6px 16px; padding:22px 6px; }
    .sc-desc{ grid-column:1 / -1; }
    .sc-arrow{ display:none; }
}

/* Section rhythm — a touch more air + hairline separators */
    .section{ padding:36px 0; }
    .home-section{ padding-top:64px; padding-bottom:64px; }
    .home-projects{ padding-top:72px; padding-bottom:72px; }
.section--tint{ position:relative; }

/* ============================================================
   MODERN LAYOUT — marquee · immersive project rows · bento
   ============================================================ */

/* ---- Marquee strip ---- */
.marquee{
    overflow:hidden; background:var(--bg-tint);
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:20px 0;
}
.marquee-track{
    display:flex; align-items:center; width:max-content; white-space:nowrap;
    animation:marquee 30s linear infinite;
}
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee-track span{
    font-size:clamp(1.3rem,2.3vw,2rem); font-weight:800; letter-spacing:-.01em;
    text-transform:uppercase; color:var(--ink); padding:0 26px;
}
.marquee-track i{ color:var(--accent); font-style:normal; font-size:.9rem; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-33.333%);} }

/* ---- Projects: immersive alternating rows ---- */
.projects-showcase .section-head{ margin-bottom:60px; }
.showcase-list{ display:flex; flex-direction:column; gap:96px; }
.showcase-row{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.showcase-row:nth-child(even) .sr-media{ order:2; }

.sr-media{ position:relative; border-radius:24px; overflow:hidden; box-shadow:var(--shadow); }
.sr-media img{
    width:100%; height:100%; min-height:440px; max-height:580px;
    object-fit:cover; display:block;
}
.sr-status{
    position:absolute; top:18px; left:18px; display:inline-flex; align-items:center; gap:8px;
    background:rgba(12,16,21,.6); backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.15); color:#eef1f5;
    font-size:.74rem; font-weight:700; letter-spacing:.03em; padding:8px 14px; border-radius:999px;
}
.sr-status .dot{ width:7px; height:7px; border-radius:50%; background:#59c07a; box-shadow:0 0 0 4px rgba(89,192,122,.22); }

.sr-index{
    display:block; font-size:clamp(3rem,6vw,5rem); font-weight:800; line-height:.9;
    letter-spacing:-.03em; margin-bottom:16px;
    background:linear-gradient(180deg,#e9c98a 0%,rgba(233,201,138,.12) 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}
.sr-district{ font-size:.8rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--accent); }
.sr-title{ font-size:28px; font-weight:800; letter-spacing:-.02em; color:var(--ink); margin:10px 0 16px; }
.sr-summary{ color:var(--muted); font-size:1.06rem; max-width:44ch; margin:0 0 28px; }
.sr-meta{ display:flex; gap:44px; margin-bottom:30px; }
.sr-meta b{ display:block; font-size:2rem; font-weight:800; color:var(--ink); letter-spacing:-.01em; line-height:1; }
.sr-meta small{ font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-top:6px; display:block; }
.sr-link{
    display:inline-flex; align-items:center; gap:12px; font-weight:700; font-size:.95rem;
    color:#fff; background:var(--accent); padding:14px 26px; border-radius:999px;
    transition:.3s var(--ease);
}
.sr-link:hover{ background:#ecc07f; transform:translateY(-2px); gap:16px; }

/* ---- Services: bento grid ---- */
.services-section .section-head{ margin-bottom:44px; }
.service-bento{
    display:grid; gap:16px;
    grid-template-columns:1.3fr 1fr 1fr;
    grid-template-areas:"a b c" "a d d";
}
.bento-cell{
    position:relative; background:var(--card); border:1px solid var(--line);
    border-radius:22px; padding:28px 30px; min-height:200px;
    display:flex; flex-direction:column; justify-content:space-between;
    transition:.4s var(--ease); overflow:hidden;
}
.bento-cell:nth-child(1){ grid-area:a; }
.bento-cell:nth-child(2){ grid-area:b; }
.bento-cell:nth-child(3){ grid-area:c; }
.bento-cell:nth-child(4){ grid-area:d; }
.bento-cell:hover{ border-color:rgba(184,135,70,.4); transform:translateY(-4px); box-shadow:var(--shadow-sm); }
.bento-cell--feature{
    background:linear-gradient(155deg,#f6ebd7 0%,#fff 62%);
    border-color:rgba(184,135,70,.3);
}
.bc-num{ font-size:.9rem; font-weight:700; letter-spacing:.05em; color:var(--accent-deep); }
.bc-body h3{ font-size:1.3rem; margin:0 0 8px; color:var(--ink); }
.bento-cell--feature .bc-body h3{ font-size:1.75rem; }
.bc-body p{ margin:0; color:var(--muted); font-size:.96rem; max-width:34ch; }
.bc-plus{ position:absolute; top:24px; right:26px; font-size:1.5rem; color:var(--muted); transition:.4s var(--ease); }
.bento-cell:hover .bc-plus{ color:var(--accent); transform:rotate(90deg); }

/* ---- Responsive ---- */
@media (max-width:860px){
    .showcase-row{ grid-template-columns:1fr; gap:26px; }
    .showcase-row:nth-child(even) .sr-media{ order:0; }
    .sr-media img{ min-height:300px; max-height:420px; }
    .showcase-list{ gap:64px; }
    .service-bento{ grid-template-columns:1fr 1fr; grid-template-areas:"a a" "b c" "d d"; }
}
@media (max-width:560px){
    .service-bento{ grid-template-columns:1fr; grid-template-areas:"a" "b" "c" "d"; }
    .sr-meta{ gap:32px; }
}

/* ============================================================
   ABOUT PAGE (about.php)
   ============================================================ */
.about-more-btn{ margin-top:34px; }

.page-hero{ position:relative; margin-top:-74px; padding:150px 0 88px; color:#fff; overflow:hidden; }
.page-hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.05); }
.page-hero-shade{ position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(9,13,20,.82) 0%, rgba(9,13,20,.5) 55%, rgba(9,13,20,.9) 100%); }
.page-hero-inner{ position:relative; z-index:2; }
.page-back{ display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.82);
    font-weight:600; font-size:.9rem; margin-bottom:24px; transition:.25s var(--ease); }
.page-back:hover{ color:#fff; gap:12px; }
.page-title{ font-size:clamp(2.2rem,5vw,3.6rem); font-weight:800; letter-spacing:-.02em; color:#fff; margin:6px 0 16px; }
.page-lead{ color:rgba(255,255,255,.86); font-size:1.12rem; max-width:60ch; }

.mv-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.mv-card{ background:var(--card); border:1px solid var(--line); border-radius:22px; padding:40px; transition:.35s var(--ease); }
.mv-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-sm); }
.mv-card--gold{ background:linear-gradient(155deg,#f6ebd7 0%,#fff 65%); border-color:rgba(184,135,70,.3); }
.mv-mark{ display:inline-grid; place-items:center; width:50px; height:50px; border-radius:14px;
    background:var(--bg-tint); color:var(--accent-deep); font-size:1.3rem; margin-bottom:20px; }
.mv-card--gold .mv-mark{ background:#fff; }
.mv-card h3{ font-size:1.55rem; margin-bottom:12px; color:var(--ink); }
.mv-card p{ color:var(--muted); margin:0; font-size:1.02rem; }

.cta-band{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
    background:var(--ink); color:#fff; border-radius:26px; padding:52px 56px; }
.cta-band .section-title{ color:#fff; }
.cta-band .section-lead{ color:rgba(255,255,255,.75); margin-top:12px; }
.cta-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.cta-band .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.32); }
.cta-band .btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.1); }

@media (max-width:760px){
    .mv-grid{ grid-template-columns:1fr; }
    .cta-band{ padding:36px 28px; }
}

/* ============================================================
   GALLERY — bento image grid
   ============================================================ */
.gallery-grid{
    display:grid; gap:14px;
    grid-template-columns:repeat(4,1fr);
    grid-template-rows:230px 230px 230px;
    grid-template-areas:
        "a a b c"
        "a a d d"
        "e f g h";
}
.g-item{ position:relative; overflow:hidden; border-radius:16px; display:block; background:var(--bg-tint); }
.g-item:nth-child(1){ grid-area:a; }
.g-item:nth-child(2){ grid-area:b; }
.g-item:nth-child(3){ grid-area:c; }
.g-item:nth-child(4){ grid-area:d; }
.g-item:nth-child(5){ grid-area:e; }
.g-item:nth-child(6){ grid-area:f; }
.g-item:nth-child(7){ grid-area:g; }
.g-item:nth-child(8){ grid-area:h; }
.g-item img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.g-item:hover img{ transform:scale(1.08); }
.g-item::after{ content:""; position:absolute; inset:0;
    background:linear-gradient(180deg,transparent 45%,rgba(10,12,16,.7)); opacity:0; transition:.4s var(--ease); }
.g-item:hover::after{ opacity:1; }
.g-cap{ position:absolute; left:18px; bottom:16px; z-index:2; color:#fff; font-weight:700; font-size:1rem;
    opacity:0; transform:translateY(10px); transition:.4s var(--ease); text-shadow:0 2px 12px rgba(0,0,0,.7); }
.g-item:hover .g-cap{ opacity:1; transform:none; }

@media (max-width:860px){
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        grid-template-rows:auto; grid-auto-rows:190px;
        grid-template-areas:"a a" "b c" "d d" "e f" "g h";
    }
}
@media (max-width:520px){
    .gallery-grid{
        display:flex; gap:14px; overflow-x:auto; overflow-y:hidden;
        margin:0 -24px; padding:0 24px 12px; scroll-snap-type:x proximity;
        -webkit-overflow-scrolling:touch; scrollbar-width:thin;
    }
    .gallery-grid .g-item{
        flex:0 0 78vw; height:240px; border-radius:16px; scroll-snap-align:start;
    }
}

/* ============================================================
   NEWS excerpt clamp (2 lines)
   ============================================================ */
.news-card p{
    display:-webkit-box; -webkit-line-clamp:2; line-clamp:2;
    -webkit-box-orient:vertical; overflow:hidden;
}

.site-footer{ background:#fff; color:var(--ink-soft); border-top:1px solid var(--line); }
.brand--footer{ color:var(--ink); }
.brand--footer .brand-text em{ color:var(--muted); }
.footer-brand p{ color:var(--muted); }
.social a{ background:#fff; color:var(--ink-soft); border:1px solid var(--line); }
.social a svg{ display:block; }
.social a:hover{ background:var(--accent); color:#fff; border-color:var(--accent); transform:translateY(-2px); }
.footer-col h4{ color:var(--ink); }
.footer-col a{ color:var(--muted); }
.footer-col a:hover{ color:var(--ink); }
.footer-contact li{ color:var(--muted); }
.footer-grid{ border-bottom-color:var(--line); }
.footer-bottom{ color:var(--muted); }
.footer-langs a{ color:var(--muted); }
.footer-langs a.is-active{ color:var(--accent-deep); }

/* ---- Footer credit line ---- */
.footer-credit{ font-size:.85rem; color:var(--muted); }
.footer-credit a{ color:var(--accent-deep); font-weight:700; }
.footer-credit a:hover{ text-decoration:underline; }

/* ============================================================
   LEGAL / PRIVACY PAGE (privacy.php)
   ============================================================ */
.page-hero--slim{ background:linear-gradient(160deg,#1b212b 0%,#0e1217 80%); padding:138px 0 68px; }
.page-meta{ display:inline-block; margin-top:16px; font-size:.85rem; letter-spacing:.03em; color:rgba(255,255,255,.6); }
.legal .legal-block p{ max-width:80ch; }
.legal-block{ padding:28px 0; border-bottom:1px solid var(--line); }
.legal-block:last-child{ border-bottom:0; }
.legal-block h2{ font-size:1.35rem; font-weight:700; margin-bottom:10px; color:var(--ink); }
.legal-block p{ color:var(--muted); margin:0; font-size:1.04rem; line-height:1.7; }

/* ============================================================
   DETAIL PAGES — light page head + breadcrumb (no photo)
   ============================================================ */
/* Solid header on subpages (dark text over light page-head) */
.site-header.header--solid{ background:rgba(251,249,245,.92); backdrop-filter:saturate(180%) blur(14px); }
.site-header.header--solid .brand,
.site-header.header--solid .brand-text{ color:var(--ink); }
.site-header.header--solid .brand-text em{ color:var(--muted); }
.site-header.header--solid .brand-mark{ color:var(--accent); }
.site-header.header--solid .main-nav a{ color:var(--ink-soft); }
.site-header.header--solid .main-nav a:hover{ color:var(--ink); background:var(--bg-tint); }
.site-header.header--solid .lang-switch{ background:var(--bg-tint); }
.site-header.header--solid .lang-switch a{ color:var(--muted); }
.site-header.header--solid .lang-switch a.is-active{ background:var(--ink); color:#fff; }
.site-header.header--solid .nav-toggle{ background:var(--card); border-color:var(--line); }
.site-header.header--solid .nav-toggle span{ background:var(--ink); }

.page-head{ background:var(--bg); padding:52px 0 24px; }
.page-head-title{ font-size:36px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.breadcrumb{ display:flex; align-items:center; gap:9px; margin-top:14px; font-size:.9rem; color:var(--muted); }
.breadcrumb a{ color:var(--muted); transition:.2s var(--ease); }
.breadcrumb a:hover{ color:var(--accent-deep); }
.breadcrumb .sep{ color:var(--line); }
.breadcrumb .current{ color:var(--ink); font-weight:600; }
.page-head-lead{ margin:18px 0 0; color:var(--ink-soft); font-size:1.06rem; max-width:60ch; }

@media (max-width:900px){
    .breadcrumb{ display:none; }
    .page-head{ padding:30px 0 0; }
    .page-head--news{ padding-bottom:20px; }
    .page-head-title,
    .news-page-title,
    .section-title{ font-size:24px !important; line-height:1.18; }
    .pd-crumb-district,
    .page-head-meta{ font-size:.72rem; }
    .pd-h{ font-size:22px !important; margin-bottom:22px; }
    .pd-card h3{ font-size:1rem; }
    .plan-sub{ font-size:.98rem; }
}
.page-head-meta{ display:inline-block; margin-top:12px; font-size:.85rem; letter-spacing:.03em; color:var(--muted); }

/* About document — inherits .container (1200px), aligns with the page head */
.about-doc p{ color:var(--ink-soft); font-size:1.08rem; line-height:1.8; margin:0 0 20px; }
.about-doc-lead{ font-size:1.3rem !important; font-weight:600; color:var(--ink) !important; line-height:1.6 !important; margin-bottom:26px !important; }
.about-values{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:36px 0 32px; }
.av-card{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:26px 24px; transition:.35s var(--ease); }
.av-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-sm); }
.av-num{ font-family:"Manrope",sans-serif; font-weight:800; font-size:1.1rem; color:var(--accent-deep); }
.av-card h3{ font-size:1.2rem; margin:12px 0 8px; color:var(--ink); }
.av-card p{ font-size:.96rem !important; line-height:1.6 !important; color:var(--muted) !important; margin:0 !important; }
.about-doc-cta{ font-size:1.08rem; color:var(--ink-soft); margin-bottom:24px !important; }

/* News detail */
.news-detail-section{
    background:linear-gradient(180deg,var(--bg) 0%,var(--bg-tint) 100%);
    padding-top:28px;
}
.news-detail{
    width:100%; margin:0; background:var(--card); border:1px solid var(--line);
    border-radius:18px; padding:clamp(22px,3.2vw,38px); box-shadow:var(--shadow-sm);
}
.news-detail-figure{
    margin:0 0 30px; overflow:hidden; border-radius:14px; background:var(--bg-tint);
    aspect-ratio:16/9;
}
.news-detail-figure img{ width:100%; height:100%; object-fit:cover; }
.news-detail-lead{
    margin:0 0 24px; color:var(--ink); font-size:clamp(1.18rem,2vw,1.45rem);
    line-height:1.65; font-weight:600;
}
.news-detail-body p{ margin:0 0 20px; color:var(--ink-soft); font-size:1.08rem; line-height:1.85; }
.news-detail-body p:last-child{ margin-bottom:0; }
.news-back{ margin-top:30px; }

/* Legal page tweaks for light head */
.legal .legal-block:first-child{ padding-top:8px; }

@media (max-width:760px){
    .about-values{ grid-template-columns:1fr; }
    .page-head{ padding:30px 0 0; }
    .page-head--news{ padding-bottom:20px; }
    .news-detail-section{ padding-top:18px; }
    .news-grid--list .news-card{
        display:flex; padding:0 0 26px; min-height:0;
    }
    .news-grid--list .news-card-img{
        width:100%; min-height:0; aspect-ratio:16/10;
        border-radius:var(--radius) var(--radius) 0 0;
        grid-row:auto;
    }
    .news-card-content{ padding:16px 22px 0; }
    .news-grid--list .news-card time{ display:block; margin-bottom:10px; }
    .news-detail{ padding:22px 16px; }
    .news-detail-lead{ font-size:1.06rem; line-height:1.55; }
    .news-detail-body p{ font-size:.98rem; line-height:1.72; }
    .contact-form{ padding:22px 16px; }
}

/* ---- About: partners & certificates ---- */
.about-sec-lead{ margin:14px 0 30px; max-width:none; }
.partner-grid{ display:flex; gap:16px; overflow-x:auto; padding-bottom:12px; scroll-snap-type:x proximity; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
.partner-grid::-webkit-scrollbar{ height:8px; }
.partner-grid::-webkit-scrollbar-thumb{ background:var(--line); border-radius:999px; }
.partner-tile{
    position:relative; flex:0 0 auto; width:180px; aspect-ratio:4/3;
    border:1px solid var(--line); border-radius:14px; background:var(--card);
    overflow:hidden; scroll-snap-align:start; transition:.3s var(--ease);
}
.partner-tile img{ width:100%; height:100%; object-fit:cover; display:block; transition:.55s var(--ease); }
.partner-tile:hover{ border-color:rgba(184,135,70,.4); box-shadow:var(--shadow-sm); }
.partner-tile:hover img{ transform:scale(1.05); }

.cert-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cert-card{
    border:1px solid var(--line); border-radius:16px; background:var(--card);
    overflow:hidden; transition:.3s var(--ease);
}
.cert-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-sm); border-color:rgba(184,135,70,.4); }
.cert-card img{ width:100%; aspect-ratio:4/3; object-fit:cover; object-position:top; display:block; background:var(--bg-tint); }
.cert-caption{ padding:18px 18px 20px; }
.cert-card h4{ font-size:1.05rem; margin-bottom:4px; color:var(--ink); }
.cert-card span{ font-size:.85rem; color:var(--muted); letter-spacing:.03em; }

@media (max-width:860px){
    .partner-grid{ grid-template-columns:repeat(3,1fr); }
    .cert-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
    .partner-grid{ grid-template-columns:1fr; }
    .cert-grid{ grid-template-columns:1fr; }
}

/* ============================================================
   PROJECTS PAGE (projects.php) — card grid
   ============================================================ */
.proj-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.proj-card{
    background:var(--card); border:1px solid var(--line); border-radius:20px;
    overflow:hidden; display:flex; flex-direction:column; transition:.4s var(--ease);
}
.proj-card:hover{ box-shadow:var(--shadow); border-color:transparent; }
.proj-img{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--bg-tint); }
.proj-img img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.proj-status{
    position:absolute; top:14px; left:14px; display:inline-flex; align-items:center; gap:7px;
    background:rgba(12,16,21,.6); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.15);
    color:#eef1f5; font-size:.72rem; font-weight:700; letter-spacing:.03em; padding:7px 12px; border-radius:999px;
}
.proj-status .dot{ width:6px; height:6px; border-radius:50%; background:#59c07a; box-shadow:0 0 0 3px rgba(89,192,122,.22); }
.proj-body{ padding:24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.proj-district{ font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-deep); }
.proj-body h3{ font-size:18px; font-weight:600; letter-spacing:-.01em; margin:7px 0 10px; color:var(--ink); }
.proj-body p{ color:var(--muted); font-size:.96rem; margin:0 0 18px; flex:1;
    display:-webkit-box; -webkit-line-clamp:3; line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.proj-meta{ display:flex; gap:26px; padding-top:16px; border-top:1px solid var(--line); }
.proj-meta span{ font-size:.86rem; color:var(--muted); }
.proj-meta b{ display:block; font-size:1.2rem; font-weight:800; color:var(--ink); letter-spacing:-.01em; }

@media (max-width:900px){ .proj-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .proj-grid{ grid-template-columns:1fr; } }

/* ============================================================
   PROJECT DETAIL PAGE (project.php)
   ============================================================ */
.pd-crumb-district{ font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-deep); }
.page-head .pd-crumb-district{ display:block; margin-bottom:8px; }

.pd-hero-img{ position:relative; border-radius:22px; overflow:hidden; box-shadow:var(--shadow); margin-bottom:44px; }
.pd-hero-img img{ width:100%; height:clamp(240px,32vw,400px); object-fit:cover; display:block; }
.pd-status{
    position:absolute; top:18px; left:18px; display:inline-flex; align-items:center; gap:8px;
    background:rgba(12,16,21,.6); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.15);
    color:#eef1f5; font-size:.76rem; font-weight:700; padding:8px 14px; border-radius:999px;
}
.pd-status .dot{ width:7px; height:7px; border-radius:50%; background:#59c07a; box-shadow:0 0 0 4px rgba(89,192,122,.22); }

.pd-grid{ display:grid; grid-template-columns:1fr 360px; gap:48px; align-items:start; }
.pd-h{ font-size:1.5rem; font-weight:800; letter-spacing:-.01em; color:var(--ink); margin-bottom:32px; }
.pd-h--mt{ margin-top:40px; }
.pd-lead{ font-size:1.2rem; font-weight:600; color:var(--ink); line-height:1.6; margin:0 0 18px; }
.pd-main p{ color:var(--ink-soft); font-size:1.06rem; line-height:1.8; margin:0 0 18px; }

.amenity-grid{ list-style:none; margin:6px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 26px; }
.amenity-grid li{ display:flex; align-items:flex-start; gap:12px; color:var(--ink-soft); font-size:1rem; }
.amenity-grid svg{ flex:0 0 auto; margin-top:3px; color:var(--accent-deep); }

.pd-side{ position:sticky; top:96px; display:flex; flex-direction:column; gap:18px; }
.pd-card{ background:var(--card); border:1px solid var(--line); border-radius:20px; padding:26px; box-shadow:var(--shadow-sm); }
.pd-card h3{ font-size:1.15rem; margin-bottom:16px; color:var(--ink); }
.pd-facts{ list-style:none; margin:0; padding:0; }
.pd-facts li{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.pd-facts li:last-child{ border-bottom:0; }
.pd-facts span{ color:var(--muted); font-size:.92rem; }
.pd-facts b{ color:var(--ink); font-weight:700; }
.pd-contact{ list-style:none; margin:0 0 20px; padding:0; display:grid; gap:14px; }
.pd-contact small{ display:block; font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:3px; }
.pd-contact span,.pd-contact a{ color:var(--ink); font-weight:600; font-size:.98rem; }
.pd-contact a:hover{ color:var(--accent-deep); }

@media (max-width:900px){
    .pd-grid{ grid-template-columns:1fr; gap:34px; }
    .pd-side{ position:static; }
    .amenity-grid{ grid-template-columns:1fr; }
}

/* ============================================================
   BUILDING PLANS + BUILDING DETAIL
   ============================================================ */
.plans-wrap{ display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:start; margin-top:22px; }
.plan-figure{ margin:0; }
.plan-figure a{ position:relative; display:block; border-radius:18px; overflow:hidden; border:1px solid var(--line); background:#fff; }
.plan-figure img{ width:100%; height:auto; display:block; }
.plan-zoom{
    position:absolute; top:14px; right:14px; background:rgba(12,16,21,.72); color:#fff;
    font-size:.78rem; font-weight:700; padding:7px 12px; border-radius:999px; opacity:0; transition:.3s var(--ease);
}
.plan-figure a:hover .plan-zoom{ opacity:1; }
.plan-figure figcaption{ margin-top:12px; font-size:.9rem; color:var(--muted); font-weight:600; }

.plan-sub{ font-size:1.05rem; margin:0 0 14px; color:var(--ink); }
.plan-side .plan-sub:not(:first-child){ margin-top:30px; }
.apt-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.apt-list li{ display:flex; justify-content:space-between; align-items:center; gap:16px;
    background:var(--card); border:1px solid var(--line); border-radius:12px; padding:13px 18px; }
.apt-list span{ color:var(--ink-soft); font-weight:600; }
.apt-list b{ color:var(--accent-deep); font-weight:800; }

.building-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.building-card{
    display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--line);
    border-radius:14px; padding:16px 18px; transition:.3s var(--ease);
}
.building-card:hover{ border-color:var(--accent); box-shadow:var(--shadow-sm); transform:translateY(-2px); }
.bc-ico{ width:40px; height:40px; flex:0 0 auto; border-radius:10px; display:grid; place-items:center;
    background:var(--bg-tint); color:var(--accent-deep); }
.bc-t{ font-weight:700; color:var(--ink); }
.bc-arrow{ margin-left:auto; color:var(--muted); transition:.3s var(--ease); }
.building-card:hover .bc-arrow{ color:var(--accent); transform:translateX(4px); }

/* Building detail page */
.bina-grid{ display:grid; grid-template-columns:1fr 340px; gap:44px; align-items:start; }
.plan-figure--lg a{ border-radius:22px; box-shadow:var(--shadow); }
.pd-card--flush{ padding:0; overflow:hidden; }
.bina-render{ width:100%; height:auto; display:block; }

@media (max-width:900px){
    .plans-wrap{ grid-template-columns:1fr; gap:28px; }
    .bina-grid{ grid-template-columns:1fr; gap:30px; }
}

/* ============================================================
   INTERACTIVE APARTMENT PLAN VIEWER
   ============================================================ */
.apt-viewer{ display:grid; grid-template-columns:260px 1fr 250px; gap:22px; align-items:start; margin-top:22px; }
.apt-buttons{ display:flex; flex-direction:column; gap:10px; }
.apt-btn{
    text-align:left; font:inherit; font-weight:700; font-size:.98rem; color:var(--ink);
    background:var(--card); border:1px solid var(--line); border-radius:12px;
    padding:15px 18px; cursor:pointer; transition:.25s var(--ease);
}
.apt-btn:hover{ border-color:var(--accent); color:var(--accent-deep); }
.apt-btn.is-active{ background:var(--accent); color:#fff; border-color:var(--accent); box-shadow:0 12px 26px -14px rgba(184,135,70,.7); }
.apt-view{ margin:0; position:sticky; top:96px; }
.apt-view-link{
    position:relative; display:grid; place-items:center; padding:18px;
    border-radius:18px; overflow:hidden; border:1px solid var(--line); background:#fff;
    height:420px;
}
.apt-view-img{ width:min(100%,520px); height:360px; object-fit:contain; display:block; }

/* Room measurements panel */
.apt-specs{ position:sticky; top:96px; }
.apt-spec{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px; }
.spec-total{ display:flex; justify-content:space-between; align-items:baseline; gap:12px;
    padding-bottom:14px; margin-bottom:6px; border-bottom:1px solid var(--line); }
.spec-total span{ color:var(--muted); font-size:.9rem; font-weight:600; }
.spec-total b{ font-size:1.5rem; font-weight:800; color:var(--accent-deep); letter-spacing:-.01em; }
.apt-spec ul{ list-style:none; margin:0; padding:0; }
.apt-spec li{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:11px 0; border-bottom:1px solid var(--line); }
.apt-spec li:last-child{ border-bottom:0; }
.apt-spec li span{ color:var(--ink-soft); font-size:.96rem; }
.apt-spec li b{ color:var(--ink); font-weight:700; }

.building-grid--wide{ grid-template-columns:repeat(4,1fr); }
.plan-sub--mt{ margin-top:46px; }

.bina-below{ display:grid; grid-template-columns:1.4fr 1fr; gap:34px; align-items:start; margin-top:44px; }

@media (max-width:980px){
    .apt-viewer{ grid-template-columns:230px 1fr; }
    .apt-specs{ position:static; grid-column:1 / -1; }
}
@media (max-width:860px){
    .apt-viewer{ grid-template-columns:1fr; }
    .apt-buttons{ flex-direction:row; flex-wrap:wrap; }
    .apt-btn{ flex:1 1 140px; text-align:center; padding:12px 14px; font-size:.9rem; }
    .apt-view{ position:static; }
    .apt-view-link{ height:340px; }
    .apt-view-img{ width:100%; height:290px; }
    .building-grid--wide{ grid-template-columns:repeat(2,1fr); }
    .bina-below{ grid-template-columns:1fr; gap:24px; }
}

/* Multiple phones / emails in project contact */
.c-multi{ display:flex; flex-direction:column; gap:3px; }
.c-multi a{ color:var(--ink); font-weight:600; font-size:.98rem; }
.c-multi a:hover{ color:var(--accent-deep); }

/* Project detail — photo gallery grid (bento, no scroll) */
.pd-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; align-items:start; margin-top:22px; }
.pd-slide{
    padding:0; border:1px solid var(--line); border-radius:16px; overflow:hidden; aspect-ratio:3/2;
    background:var(--bg-tint); cursor:pointer; transition:.3s var(--ease);
}
.pd-slide:hover{ border-color:var(--accent); box-shadow:var(--shadow-sm); }
.pd-slide img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; background:transparent; transform:scale(1.08); }
@media (max-width:760px){
    .pd-gallery{
        display:flex; gap:14px; overflow-x:auto; overflow-y:hidden;
        margin:22px -24px 0; padding:0 24px 12px;
        scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:thin;
    }
    .pd-gallery .pd-slide{ flex:0 0 78vw; aspect-ratio:3/2; scroll-snap-align:start; }
}

/* Project documents grid */
.doc-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:22px; }
.doc-item{ padding:0; background:var(--bg-tint); border:1px solid var(--line);
    border-radius:14px; overflow:hidden; cursor:pointer; transition:.3s var(--ease); aspect-ratio:3/4; }
.doc-item:hover{ border-color:var(--accent); box-shadow:var(--shadow-sm); transform:translateY(-3px); }
.doc-item img{ width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
@media (max-width:860px){ .doc-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){
    .doc-grid{
        display:flex; gap:14px; overflow-x:auto; overflow-y:hidden;
        margin:22px -24px 0; padding:0 24px 12px;
        scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:thin;
    }
    .doc-grid .doc-item{ flex:0 0 46vw; min-width:160px; scroll-snap-align:start; }
}

.page-head-title,
.section-title{
    font-size:36px !important;
}
.pd-h{ font-size:24px !important; }
.news-page-title{ font-size:32px !important; }
.page-head-title,
.pd-h{ font-weight:700 !important; }
.home-section .section-title{ font-style:normal; font-weight:700; }

@media (max-width:900px){
    .page-head-title,
    .section-title,
    .pd-h{
        font-size:24px !important;
    }
}

.proj-body p,
.news-grid--list .news-card p,
.home-news .news-card p{
    font-size:14px !important;
}

/* Image modal / lightbox */
.img-modal{ position:fixed; inset:0; z-index:1000; display:grid; place-items:center;
    background:rgba(12,14,18,.86); backdrop-filter:blur(4px); padding:32px; }
.img-modal[hidden]{ display:none; }
.img-modal-img{ max-width:min(92vw,900px); max-height:90vh; width:auto; height:auto;
    border-radius:12px; box-shadow:0 40px 90px -30px rgba(0,0,0,.8); background:#fff; }
.img-modal-close{ position:absolute; top:22px; right:26px; width:46px; height:46px; border-radius:50%;
    border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.12); color:#fff;
    font-size:1.9rem; line-height:1; cursor:pointer; transition:.25s var(--ease); }
.img-modal-close:hover{ background:#fff; color:var(--ink); }

/* Custom uploaded logo (admin settings) */
.brand-logo{ height:54px; width:auto; max-width:210px; display:block; object-fit:contain; }
.site-header:not(.scrolled):not(.header--solid) .brand-logo{ filter:brightness(0) invert(1); }
.brand--footer .brand-logo{ height:48px; }

/* Partners infinite marquee */
.partners-marquee-wrap{
    overflow:hidden;
    mask-image:linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);
    -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);
    margin-top:32px;
}
.partners-marquee-track{
    display:flex;
    gap:20px;
    width:max-content;
    animation:partners-scroll 26s linear infinite;
}
.partners-marquee-wrap:hover .partners-marquee-track{ animation-play-state:paused; }
.partners-marquee-tile{
    flex:0 0 auto;
    width:180px;
    height:110px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px;
    transition:.3s var(--ease);
}
.partners-marquee-tile:hover{ border-color:rgba(184,135,70,.4); box-shadow:var(--shadow-sm); }
.partners-marquee-tile img{ width:100%; height:100%; object-fit:contain; display:block; }
@keyframes partners-scroll{
    0%  { transform:translateX(0); }
    100%{ transform:translateX(-50%); }
}

/* Partner carousel wrapper */
.partner-carousel{ position:relative; }
.partner-carousel .pd-arrow--prev{ left:-6px; }
.partner-carousel .pd-arrow--next{ right:-6px; }


/* Carousel arrows (partners etc.) */
.pd-arrow{
    position:absolute; top:50%; transform:translateY(-50%); z-index:3;
    width:44px; height:44px; border-radius:50%; display:grid; place-items:center;
    background:rgba(255,255,255,.96); border:1px solid var(--line); color:var(--ink);
    cursor:pointer; box-shadow:var(--shadow-sm); transition:.25s var(--ease);
}
.pd-arrow:hover{ background:var(--accent); color:#fff; border-color:var(--accent); }
.partner-carousel .pd-arrow--prev{ left:-8px; }
.partner-carousel .pd-arrow--next{ right:-8px; }
