:root{
    --bg:#0e1013;
    --bg-2:#15181d;
    --bg-3:#1a1d23;
    --surface:#1c1f25;
    --surface-2:#21252d;
    --line:#2a2e36;
    --line-strong:#3a404b;
    --text:#e7e5e1;
    --muted:#a29d96;
    --accent:#c7793a;
    --accent-2:#e5b565;
    --accent-soft:rgba(199,121,58,.12);
    --success:#8fd694;
    --danger:#ef8a7f;
    --radius:18px;
    --radius-sm:10px;
    --radius-xs:6px;
    --maxw:1200px;
    --shadow:0 22px 60px rgba(0,0,0,.34);
    --font-display:'Playfair Display', Georgia, serif;
    --font-body:'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}
main{overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none;transition:color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease}
a:hover{color:var(--accent-2)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
ul{list-style:none}

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

.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.skip-link{
    position:absolute;
    left:16px;
    top:-48px;
    background:#fff;
    color:#000;
    padding:10px 14px;
    border-radius:var(--radius-xs);
    z-index:200;
}
.skip-link:focus{top:16px}

h1,h2,h3,h4{
    color:#fff;
    font-family:var(--font-display);
    font-weight:600;
    line-height:1.15;
    letter-spacing:.02em;
}
h1{font-size:clamp(2.4rem, 5vw, 4.2rem)}
h2{font-size:clamp(1.95rem, 3.8vw, 3rem)}
h3{font-size:1.4rem}
h4{font-size:1.05rem}
p{color:var(--muted)}

.section{padding:110px 0}
.section-alt{background:var(--bg-2)}
.section-tight{padding:80px 0}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:.78rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--accent-2);
    font-weight:700;
    margin-bottom:18px;
}
.eyebrow::before{
    content:"";
    width:36px;
    height:1px;
    background:currentColor;
}

.section-head{
    max-width:720px;
    margin:0 auto 56px;
    text-align:center;
}
.section-head p{margin-top:14px}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 26px;
    border-radius:999px;
    border:1px solid transparent;
    font-size:.92rem;
    font-weight:600;
    letter-spacing:.02em;
    min-height:48px;
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:#b86d31;color:#fff;transform:translateY(-2px)}
.btn-ghost{border-color:var(--line-strong);color:#fff;background:transparent}
.btn-ghost:hover{border-color:var(--accent-2);color:var(--accent-2)}
.btn-dark{background:#12141a;color:#fff}
.btn-dark:hover{background:#060708;color:#fff}

.topbar{
    background:#0a0c0f;
    border-bottom:1px solid var(--line);
    color:var(--muted);
    font-size:.8rem;
}
.topbar-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:42px;
}
.topbar-right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    flex-wrap:wrap;
}
.topbar i{color:var(--accent-2);margin-right:6px}
.topbar-hours{white-space:nowrap}

.site-header{
    position:sticky;
    top:0;
    z-index:100;
    backdrop-filter:blur(12px);
    background:rgba(14,16,19,.92);
    border-bottom:1px solid var(--line);
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:76px;
    position:relative;
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    color:#fff;
    margin:0;
    position:relative;
    z-index:3;
}
.logo:hover{color:#fff}
.logo-img{
    height:38px;
    width:38px;
    max-width:38px;
    display:block;
    object-fit:contain;
    transform:scale(4);
    transform-origin:left center;
}
.logo-footer{margin:0}
.logo-footer .logo-img{height:38px;width:38px;max-width:38px;transform:scale(4);transform-origin:left center}
.logo-mark{
    width:46px;
    height:46px;
    border-radius:12px;
    background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);
    color:#12141a;
    display:grid;
    place-items:center;
    position:relative;
    font-family:var(--font-display);
    font-size:1.45rem;
    font-weight:700;
    flex:0 0 auto;
}
.logo-mark .dot{
    position:absolute;
    right:8px;
    bottom:8px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#12141a;
}
.logo-text{
    display:flex;
    flex-direction:column;
    gap:4px;
    line-height:1;
    font-family:var(--font-display);
    font-size:1.28rem;
    font-weight:700;
    letter-spacing:.18em;
    white-space:nowrap;
}
.logo-text small{
    font-family:var(--font-body);
    font-size:.56rem;
    font-weight:500;
    letter-spacing:.38em;
    text-transform:uppercase;
    color:var(--muted);
}

.nav-toggle{
    display:none;
    width:42px;
    height:42px;
    border:1px solid var(--line);
    border-radius:10px;
    background:transparent;
    flex:0 0 auto;
}
.nav-toggle span{
    display:block;
    width:20px;
    height:2px;
    background:#fff;
    margin:4px auto;
    transition:.2s ease;
}

.main-nav{
    display:flex;
    align-items:center;
    gap:8px;
    margin-left:auto;
}
.main-nav > a,
.nav-parent > a{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:10px 14px;
    border-radius:10px;
    color:var(--text);
    font-size:.94rem;
    font-weight:600;
}
.main-nav a.active{color:var(--accent-2)}
.main-nav > a.active,
.nav-parent > a.active{position:relative}
.main-nav > a.active::after,
.nav-parent > a.active::after{
    content:"";
    position:absolute;
    left:14px;
    right:14px;
    bottom:6px;
    height:2px;
    border-radius:999px;
    background:var(--accent-2);
}
.header-cta{margin-left:6px}

.has-dropdown{
    position:relative;
}
.nav-parent{
    display:flex;
    align-items:center;
}
.dropdown-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border:1px solid transparent;
    border-radius:10px;
    background:transparent;
    color:var(--muted);
}
.dropdown-toggle:hover{color:var(--accent-2)}
.has-dropdown.active .dropdown-toggle{color:var(--accent-2)}
.dropdown{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    min-width:250px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    background:rgba(28,31,37,.98);
    box-shadow:var(--shadow);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:.22s ease;
}
.dropdown a{
    display:block;
    padding:11px 14px;
    border-radius:8px;
    font-size:.92rem;
    color:var(--text);
}
.dropdown a:hover,
.dropdown a.active{
    background:var(--accent-soft);
    color:var(--accent-2);
}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown,
.has-dropdown.open .dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.hero{
    position:relative;
    min-height:88vh;
    overflow:hidden;
    display:flex;
    align-items:center;
    background:
        linear-gradient(114deg, rgba(14,16,19,.95) 0%, rgba(14,16,19,.62) 46%, rgba(14,16,19,.18) 100%),
        url('https://images.unsplash.com/photo-1487958449943-2429e8be8625?w=1800&q=80') center/cover;
}
.hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 78% 42%, rgba(199,121,58,.14), transparent 48%);
    pointer-events:none;
}
.hero-inner{
    position:relative;
    z-index:2;
    width:100%;
    max-width:var(--maxw);
    margin:0 auto;
    padding:84px 24px 180px;
}
.hero h1{
    max-width:760px;
    margin-bottom:24px;
}
.hero h1 em{
    font-style:italic;
    color:var(--accent-2);
    font-weight:400;
}
.hero p.lead{
    max-width:580px;
    font-size:1.08rem;
    color:#d6d2cb;
    margin-bottom:34px;
}
.hero-cta{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.hero-stats{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
    background:rgba(10,12,15,.8);
    border-top:1px solid var(--line);
    backdrop-filter:blur(10px);
}
.hero-stats-inner{
    max-width:var(--maxw);
    margin:0 auto;
    padding:26px 24px;
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:20px;
}
.stat strong{
    display:block;
    color:var(--accent-2);
    font-family:var(--font-display);
    font-size:2.2rem;
    line-height:1;
    margin-bottom:8px;
}
.stat span{
    color:var(--muted);
    font-size:.82rem;
    letter-spacing:.08em;
}

.split{
    display:grid;
    grid-template-columns:1.04fr 1fr;
    gap:70px;
    align-items:center;
}
.split-media{position:relative}
.split-media img{
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}
.badge-card{
    position:absolute;
    right:-18px;
    bottom:-18px;
    padding:22px 26px;
    border-radius:var(--radius);
    background:var(--accent);
    color:#fff;
    box-shadow:var(--shadow);
}
.badge-card strong{
    display:block;
    font-size:2.2rem;
    line-height:1;
}
.badge-card span{
    display:block;
    margin-top:6px;
    font-size:.8rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:rgba(255,255,255,.86);
}
.split-content p{font-size:1rem;margin-bottom:16px}

.values-grid,
.trust-grid,
.service-grid,
.process-grid,
.faq-grid,
.category-grid{
    display:grid;
    gap:24px;
}
.values-grid{grid-template-columns:repeat(2, minmax(0,1fr));margin-top:30px}
.trust-grid{grid-template-columns:repeat(4, minmax(0,1fr))}
.service-grid{grid-template-columns:repeat(3, minmax(0,1fr))}
.process-grid{grid-template-columns:repeat(4, minmax(0,1fr))}
.faq-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
.category-grid{grid-template-columns:repeat(3, minmax(0,1fr))}

.value,
.trust-card,
.service-card,
.process-card,
.faq-item,
.category-card,
.detail-card,
.info-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
}

.value{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:18px;
}
.value i,
.service-card i,
.process-card .num,
.trust-card i,
.info-card i{
    width:44px;
    height:44px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:var(--accent-soft);
    color:var(--accent-2);
}
.value h4{font-family:var(--font-body);margin-bottom:4px}
.value p{font-size:.9rem;margin:0}

.trust-card,
.service-card,
.process-card,
.faq-item,
.category-card,
.detail-card,
.info-card{
    padding:26px;
}
.trust-card h3,
.service-card h3,
.process-card h3,
.faq-item h3,
.category-card h3{margin:14px 0 10px}
.trust-card p,
.service-card p,
.process-card p,
.faq-item p,
.category-card p,
.detail-card p{margin:0}

.projects-grid,
.daire-grid,
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:28px;
}

.project-card,
.daire-card{
    display:flex;
    flex-direction:column;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    transition:.25s ease;
}
.project-card:hover,
.daire-card:hover{
    transform:translateY(-5px);
    border-color:rgba(229,181,101,.55);
    box-shadow:var(--shadow);
}
.project-card .img,
.daire-card .img{
    position:relative;
    overflow:hidden;
}
.project-card .img{aspect-ratio:4/3}
.daire-card .img{aspect-ratio:16/10}
.project-card .img img,
.daire-card .img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}
.project-card:hover .img img,
.daire-card:hover .img img{transform:scale(1.04)}

.badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 12px;
    border-radius:999px;
    font-size:.72rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    border:1px solid currentColor;
}
.project-card .badge,
.daire-card .badge{
    position:absolute;
    top:14px;
    left:14px;
    z-index:2;
    backdrop-filter:blur(8px);
    background:rgba(14,16,19,.78);
}
.badge.devam{color:#8fd694}
.badge.yeni{color:#e5b565}
.badge.tamamlandi{color:#c7c5c0}

.project-card .body,
.daire-card .body{
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:24px;
    flex:1;
}
.project-card .loc,
.detail-inline{
    color:var(--muted);
    font-size:.9rem;
}
.project-card .loc i,
.detail-inline i,
.contact-list i,
.daire-card .specs i{color:var(--accent);margin-right:6px}
.project-card .ozet{font-size:.95rem;flex:1}
.meta{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
    padding-top:16px;
    border-top:1px solid var(--line);
}
.meta strong{
    display:block;
    color:#fff;
    font-weight:600;
}
.meta span,
.meta div{font-size:.86rem;color:var(--muted)}
.project-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    padding-top:8px;
}

.category-card{
    position:relative;
    overflow:hidden;
}
.category-card .count{
    display:inline-flex;
    margin-top:10px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--accent-soft);
    color:var(--accent-2);
    font-size:.8rem;
}

.cta-banner,
.cta-panel{
    position:relative;
    overflow:hidden;
    border-radius:30px;
}
.cta-banner{
    padding:92px 0;
    background:
        linear-gradient(135deg, rgba(199,121,58,.94), rgba(229,181,101,.86)),
        url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?w=1600&q=80') center/cover;
}
.cta-banner .container{text-align:center}
.cta-banner h2{color:#151617;max-width:760px;margin:0 auto 18px}
.cta-banner p{color:#2a1f12;max-width:650px;margin:0 auto 28px}

.cta-panel{
    padding:38px;
    background:linear-gradient(130deg, rgba(199,121,58,.15), rgba(28,31,37,.92));
    border:1px solid rgba(229,181,101,.2);
}
.cta-panel-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.timeline{
    max-width:760px;
    margin:40px auto 0;
    padding-left:30px;
    position:relative;
}
.timeline::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:10px;
    width:2px;
    background:linear-gradient(var(--accent), var(--accent-2), transparent);
}
.timeline-item{
    position:relative;
    padding-bottom:28px;
}
.timeline-item::before{
    content:"";
    position:absolute;
    top:5px;
    left:-25px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:var(--bg);
    border:2px solid var(--accent-2);
}
.timeline-item .year{
    color:var(--accent-2);
    font-family:var(--font-display);
    font-size:1.28rem;
    margin-bottom:4px;
}

.page-head{
    padding:88px 0 60px;
    text-align:center;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 100%);
}
.page-head h1{
    max-width:14ch;
    margin:0 auto;
    overflow-wrap:anywhere;
}
.breadcrumb{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    color:var(--muted);
    margin-top:16px;
    font-size:.9rem;
}
.breadcrumb i{font-size:.72rem;color:var(--accent)}

.filter-bar{
    display:flex;
    gap:10px;
    margin-bottom:34px;
    justify-content:center;
    flex-wrap:wrap;
}
.filter-bar button{
    flex:0 0 auto;
    padding:10px 20px;
    border-radius:999px;
    border:1px solid var(--line);
    background:transparent;
    color:var(--muted);
    transition:.2s ease;
}
.filter-bar button:hover,
.filter-bar button.active{
    border-color:var(--accent);
    color:var(--accent-2);
    background:var(--accent-soft);
}

.daire-card .proje{
    color:var(--accent-2);
    font-size:.8rem;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.property-status{
    display:inline-flex;
    width:max-content;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(143,214,148,.12);
    color:var(--success);
    font-size:.78rem;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.daire-card .specs{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:10px;
    padding-top:14px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.88rem;
}

.contact-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:48px;
    align-items:start;
}
.contact-stack{
    display:grid;
    gap:18px;
}
.contact-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
}
.contact-card h4{
    display:flex;
    align-items:center;
    gap:8px;
    font-family:var(--font-body);
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--accent-2);
    margin-bottom:12px;
}
.contact-card p,
.contact-card a{font-size:1.04rem;color:#fff}
.contact-card p + p{margin-top:4px}

.contact-form{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:34px;
}
.form-row{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:16px;
    margin-bottom:16px;
}
.field{
    display:flex;
    flex-direction:column;
}
.field label{
    margin-bottom:8px;
    color:var(--muted);
    font-size:.8rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.field input,
.field select,
.field textarea{
    width:100%;
    padding:14px 16px;
    border-radius:var(--radius-sm);
    border:1px solid var(--line);
    background:var(--bg-2);
    color:#fff;
    transition:.2s ease;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
    outline:none;
    border-color:var(--accent);
    background:#11141a;
}
.field textarea{
    min-height:150px;
    resize:vertical;
}
.field-help,
.form-note{
    font-size:.88rem;
    color:var(--muted);
}
.field-error{color:var(--danger);font-size:.86rem;margin-top:8px}
.form-status{
    margin-top:18px;
    padding:14px 16px;
    border-radius:var(--radius-sm);
    font-size:.92rem;
}
.form-status.success{
    background:rgba(143,214,148,.12);
    color:var(--success);
    border:1px solid rgba(143,214,148,.22);
}
.form-status.error{
    background:rgba(239,138,127,.12);
    color:var(--danger);
    border:1px solid rgba(239,138,127,.2);
}
.honeypot{display:none}

.map-embed{
    overflow:hidden;
    border-radius:var(--radius);
    border:1px solid var(--line);
}
.map-embed iframe{
    width:100%;
    height:420px;
    border:0;
    filter:grayscale(.28) invert(.92) hue-rotate(180deg);
}
.map-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 22px;
    border-top:1px solid var(--line);
    background:var(--surface);
}

.detail-hero{
    padding:90px 0 50px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg, var(--bg-2) 0%, rgba(14,16,19,.92) 100%);
}
.detail-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
    gap:34px;
    align-items:center;
}
.detail-hero-media img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}
.detail-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:16px;
    margin:24px 0;
}
.detail-stat{
    padding:18px;
    border-radius:var(--radius-sm);
    background:var(--surface);
    border:1px solid var(--line);
}
.detail-stat strong{
    display:block;
    color:#fff;
    font-size:1.1rem;
    margin-bottom:6px;
}
.detail-stat span{color:var(--muted);font-size:.88rem}

.detail-layout{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
    gap:28px;
    align-items:start;
}
.detail-main{
    display:grid;
    gap:24px;
}
.detail-sidebar{
    display:grid;
    gap:24px;
    position:sticky;
    top:108px;
}
.feature-list{
    display:grid;
    gap:12px;
}
.feature-list li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    color:var(--muted);
}
.feature-list li i{
    color:var(--accent-2);
    margin-top:4px;
}
.gallery-grid img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:var(--radius);
    cursor:zoom-in;
    transition:transform .25s ease, filter .25s ease;
}
.gallery-grid img:hover{transform:scale(1.015);filter:brightness(1.05)}

.lightbox{
    position:fixed;
    inset:0;
    z-index:1000;
    display:none;
    align-items:center;
    justify-content:center;
    background:rgba(8,9,11,.94);
    backdrop-filter:blur(6px);
    padding:24px;
}
.lightbox.open{display:flex}
.lightbox-figure{
    position:relative;
    max-width:min(1200px,94vw);
    max-height:86vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
}
.lightbox-img{
    max-width:100%;
    max-height:82vh;
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:var(--radius-sm);
    box-shadow:var(--shadow);
    cursor:zoom-out;
}
.lightbox-caption{
    color:var(--muted);
    font-size:.9rem;
    letter-spacing:.04em;
}
.lightbox-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid var(--line-strong);
    background:rgba(21,24,29,.85);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:1.1rem;
    transition:.2s ease;
}
.lightbox-btn:hover{background:var(--accent);border-color:var(--accent)}
.lightbox-prev{left:-66px}
.lightbox-next{right:-66px}
.lightbox-close{
    position:absolute;
    top:-52px;
    right:0;
    transform:none;
}
@media (max-width:820px){
    .lightbox-prev{left:8px}
    .lightbox-next{right:8px}
    .lightbox-btn{width:42px;height:42px}
    .lightbox-close{top:-50px;right:4px}
}

.info-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:18px;
}
.info-card h4{
    margin-top:14px;
    margin-bottom:8px;
}

.site-footer{
    margin-top:0;
    padding-top:70px;
    border-top:1px solid var(--line);
    background:#08090b;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.35fr .9fr .95fr 1.15fr;
    gap:40px;
    padding-bottom:48px;
}
.foot-col h4{
    color:var(--accent-2);
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:18px;
    font-family:var(--font-body);
}
.foot-col ul li{margin-bottom:12px;color:var(--muted)}
.foot-col ul a{color:var(--muted)}
.foot-brand p{max-width:360px;margin:18px 0}
.socials{display:flex;gap:10px}
.socials a{
    width:40px;
    height:40px;
    border-radius:50%;
    border:1px solid var(--line);
    display:grid;
    place-items:center;
    color:var(--muted);
}
.socials a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.contact-list li{
    display:flex;
    gap:10px;
    align-items:flex-start;
}

.footer-bottom{
    border-top:1px solid var(--line);
    padding:20px 0;
    color:var(--muted);
    font-size:.84rem;
}
.footer-bottom .container{
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}

.text-center{text-align:center}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.mt-32{margin-top:32px}
.mt-40{margin-top:40px}
.mb-0{margin-bottom:0}

.reveal{opacity:0;transform:translateY(24px);transition:.8s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}

@media (max-width:1080px){
    .trust-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
    .process-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
    .footer-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
    .detail-layout{grid-template-columns:1fr}
    .detail-sidebar{position:static}
}

@media (max-width:960px){
    .container{padding:0 20px}
    .section{padding:88px 0}
    .topbar-left{display:none}
    .topbar-inner{justify-content:center;padding:10px 0}
    .header-inner{
        min-height:64px;
        justify-content:flex-start;
        padding-right:58px;
    }
    .logo{max-width:calc(100% - 58px)}
    .nav-toggle{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        margin-left:0;
        background:rgba(21,24,29,.95);
        border-color:var(--line-strong);
        position:absolute;
        right:20px;
        top:50%;
        transform:translateY(-50%);
        z-index:3;
    }
    .main-nav{
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:rgba(21,24,29,.98);
        border-bottom:1px solid var(--line);
        padding:14px 20px 24px;
        flex-direction:column;
        align-items:stretch;
        gap:6px;
    }
    .main-nav.open{display:flex}
    .main-nav > a,
    .nav-parent > a{
        width:100%;
        padding:13px 10px;
    }
    .main-nav > a.active::after,
    .nav-parent > a.active::after{display:none}
    .nav-parent{
        justify-content:space-between;
        width:100%;
    }
    .dropdown-toggle{
        width:42px;
        height:42px;
        border-color:var(--line);
    }
    .dropdown{
        position:static;
        min-width:0;
        max-height:0;
        padding:0 0 0 12px;
        overflow:hidden;
        opacity:1;
        visibility:visible;
        transform:none;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        transition:max-height .22s ease, padding .22s ease;
    }
    .dropdown a{
        padding:10px 12px;
        border-left:1px solid var(--line);
        border-radius:0;
    }
    .has-dropdown.open .dropdown,
    .has-dropdown.active .dropdown{
        max-height:320px;
        padding-top:8px;
    }
    .header-cta{
        width:100%;
        margin:10px 0 0;
    }
    .hero-inner{padding:72px 20px 170px}
    .split,
    .contact-grid,
    .detail-hero-grid{
        grid-template-columns:1fr;
    }
    .values-grid,
    .service-grid,
    .faq-grid,
    .category-grid,
    .projects-grid,
    .daire-grid,
    .gallery-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }
}

@media (max-width:720px){
    h1{font-size:clamp(2.1rem, 12vw, 3.3rem)}
    h2{font-size:clamp(1.75rem, 8vw, 2.4rem)}
    .logo-img{height:38px;width:38px;max-width:38px;transform:scale(2.88);transform-origin:left center}
    .logo-text{
        font-size:1.06rem;
        letter-spacing:.12em;
    }
    .logo-text small{
        font-size:.5rem;
        letter-spacing:.26em;
    }
    .hero{min-height:84vh}
    .hero h1{max-width:14ch}
    .hero p.lead{font-size:1rem}
    .hero-inner{padding:72px 20px 210px}
    .hero-stats-inner{grid-template-columns:repeat(2, minmax(0,1fr))}
    .detail-stats{grid-template-columns:1fr}
    .info-grid{grid-template-columns:1fr}
    .map-meta,
    .cta-panel-row{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media (max-width:560px){
    body{font-size:15px}
    .container{padding:0 16px}
    .section{padding:72px 0}
    .topbar-right{
        gap:10px 14px;
        justify-content:center;
        text-align:center;
    }
    .topbar-hours{display:none}
    .header-inner{
        gap:12px;
        padding-right:52px;
    }
    .logo-mark{width:40px;height:40px;font-size:1.3rem}
    .logo-img{height:34px;width:34px;max-width:34px;transform:scale(2.88);transform-origin:left center}
    .logo-text{
        font-size:.98rem;
        letter-spacing:.1em;
    }
    .logo-text small{
        font-size:.48rem;
        letter-spacing:.2em;
    }
    .nav-toggle{right:16px}
    .hero-inner{padding:62px 16px 220px}
    .hero p.lead{margin-bottom:26px}
    .section-head h2,
    .detail-card h2,
    .detail-hero h1{
        overflow-wrap:anywhere;
    }
    .hero-cta{
        flex-direction:column;
        align-items:stretch;
    }
    .hero-cta .btn{width:100%}
    .hero-stats-inner{grid-template-columns:repeat(2, minmax(0,1fr));padding:18px 16px;gap:14px}
    .stat strong{font-size:1.6rem}
    .stat span{font-size:.72rem}
    .split-media .badge-card{
        position:static;
        margin-top:16px;
    }
    .values-grid,
    .trust-grid,
    .service-grid,
    .process-grid,
    .faq-grid,
    .category-grid,
    .projects-grid,
    .daire-grid,
    .gallery-grid{
        grid-template-columns:1fr;
    }
    .filter-bar{
        justify-content:flex-start;
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:4px;
        scrollbar-width:none;
    }
    .filter-bar::-webkit-scrollbar{display:none}
    .contact-form,
    .detail-card,
    .info-card,
    .trust-card,
    .service-card,
    .process-card,
    .faq-item,
    .category-card{padding:22px}
    .form-row{grid-template-columns:1fr}
    .daire-card .specs,
    .meta{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .page-head{padding:72px 0 50px}
}
