/* ============================================================================
   Foundry Space — Premium Layer
   Layered ON TOP of custom.css + enhanced.css. Overrides typography, depth,
   color, glass, gradient sheen, micro-interactions for a richer editorial feel.
   ============================================================================ */

/* ---------- Geist — premium sans + mono for numerals/labels ---------- */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Geist+Mono:wght@100..900&display=swap');

/* ---------- Premium tokens ---------- */
:root{
    /* Override the template's default font so Geist cascades site-wide */
    --default-font  : "Geist", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --p-mono        : "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

    --p-gold        : #D4691F;
    --p-gold-soft   : #FAB079;
    --p-gold-deep   : #8B3D0D;
    --p-cream       : #F7F1EA;
    --p-ink         : #0F0F0F;
    --p-ink-soft    : #2A2A2A;
    --p-fog         : #EDEEF0;
    --p-line        : rgba(15, 15, 15, 0.10);
    --p-line-strong : rgba(15, 15, 15, 0.18);
    --p-line-dark   : rgba(255, 255, 255, 0.10);

    /* Layered elevation — premium feel comes from soft + tight stacked shadows */
    --p-elev-1 : 0 1px 2px rgba(15, 15, 15, .04), 0 4px 14px rgba(15, 15, 15, .05);
    --p-elev-2 : 0 2px 4px rgba(15, 15, 15, .05), 0 10px 28px rgba(15, 15, 15, .08), 0 24px 48px rgba(15, 15, 15, .06);
    --p-elev-3 : 0 4px 8px rgba(15, 15, 15, .06), 0 18px 40px rgba(15, 15, 15, .12), 0 36px 72px rgba(15, 15, 15, .10);
    --p-elev-4 : 0 6px 12px rgba(15, 15, 15, .08), 0 28px 60px rgba(15, 15, 15, .18), 0 56px 112px rgba(15, 15, 15, .14);
    --p-glow-accent : 0 8px 28px rgba(244, 124, 43, .35), 0 2px 6px rgba(244, 124, 43, .25);
    --p-glow-gold   : 0 8px 28px rgba(212, 105, 31, .28);
    --p-glow-ink    : 0 12px 36px rgba(15, 15, 15, .28), 0 2px 6px rgba(15, 15, 15, .14);

    --p-ease    : cubic-bezier(0.22, 1, 0.36, 1);
    --p-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --p-spring  : cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ---------- Global typographic polish ---------- */
body{
    font-family: var(--default-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "kern", "ss01", "ss03", "ss06", "cv11";
    font-optical-sizing: auto;
    background: var(--bg-color);
    font-weight: 400;
    letter-spacing: -0.005em;
}

/* Form controls don't inherit fonts in some browsers — pin them explicitly */
input, textarea, select, button, optgroup{
    font-family: var(--default-font);
    font-feature-settings: "kern", "ss01";
}

/* ---------- Premium weight scale ----------
   100  ExtraLight  — large display only
   200  ExtraLight  — counters / stat numerals
   300  Light       — ALL headings (h1–h6), site-wide
   400  Regular     — body / paragraphs
   500  Medium      — nav, buttons
   600  SemiBold    — strong, prices, CTAs
   700  Bold        — reserved (rare)
   ----------------------------------------- */

p{ font-weight: 400; letter-spacing: -0.005em; }
strong, b{ font-weight: 600; }
em, i{ font-style: italic; }

a{ font-weight: inherit; }

nav, .navbar, .main-menu, .header-btn{ font-weight: 500; }

/* Footer / small text */
small, .small, .text-small{ font-weight: 400; letter-spacing: 0.005em; }

/* Lists keep body weight */
ul li, ol li{ font-weight: 400; }

/* Card body copy */
.about-body-item p,
.approach-item-content p,
.service-item-body p,
.team-card-body p,
.pricing-body ul li,
.testimonial-item p,
.post-item p,
.core-value-card p{
    font-weight: 400;
    letter-spacing: -0.003em;
}

/* Card titles — same light weight as every other heading */
.about-body-item h3,
.approach-item-content h3,
.service-item-body h3,
.team-card-body h3,
.pricing-body h3,
.why-choose-item-content h3,
.core-value-card h3,
.post-item h3,
.post-item h2,
.testimonial-item h3,
.hero-info-content h3,
.working-hours-header h3{
    font-weight: 300;
    letter-spacing: -0.02em;
}

/* Page-header banner, footer widget titles, blog article body headings */
.page-header-box h1,
.footer-col > h3,
.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6{
    font-weight: 300;
}

/* Buttons — medium with tighter tracking */
.btn-default, .readmore-btn, button{
    font-weight: 500;
    letter-spacing: -0.005em;
}

/* Section labels / pills / tags / chips use Geist Mono */
.section-sub-title h3,
.section-title h3,
.hero-info-list ul li,
.project-item-tag,
.section-footer-text p span,
.tag, .badge,
.blog-meta, .post-meta,
.post-date, .blog-date{
    font-family: var(--p-mono);
}

/* Subtle, premium body texture (very faint grain — only on light sections) */
body::before{
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.06  0 0 0 0 0.17  0 0 0 0 0.2  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    opacity: 0.035;
    mix-blend-mode: multiply;
}

/* Refined paragraph rhythm */
p{ line-height: 1.7em; font-weight: 400; }

/* Headings: tight, light-weight Geist for that editorial premium feel */
h1, h2, h3, h4, h5, h6{
    color: var(--primary-color);
    font-family: "Geist", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-weight: 300;
    font-feature-settings: "ss01", "ss03", "ss06", "kern";
    font-optical-sizing: auto;
}

.section-title h1,
.section-title h2,
.hero-content .section-title h1,
.text-effect{
    font-family: "Geist", system-ui, sans-serif;
    font-weight: 300;
    letter-spacing: -0.035em;
    line-height: 1.04em;
}
.section-title h1{ font-size: clamp(48px, 5.4vw, 78px); font-weight: 300; }
.section-title h2{ font-size: clamp(38px, 4vw, 62px); font-weight: 300; }

/* Italic accent fragments via <em> */
.section-title h1 em,
.section-title h2 em,
.section-title h1 .italic,
.section-title h2 .italic{
    font-style: italic;
    font-weight: 200;
    color: var(--p-gold);
}

/* ---------- Premium section badge ---------- */
.section-sub-title h3,
.section-title h3{
    background: linear-gradient(135deg, rgba(223,243,158,0.18) 0%, rgba(201,168,124,0.10) 100%);
    border: 1px solid var(--p-line-strong);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 9px 18px 9px 34px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-family: "Geist Mono", "Geist", monospace;
    font-size: 11px;
    font-weight: 500;
    color: var(--primary-color);
    box-shadow: var(--p-elev-1);
}
.section-sub-title h3::before,
.section-title h3::before{
    width: 7px; height: 7px;
    background: var(--p-gold);
    box-shadow: 0 0 0 4px rgba(201,168,124,0.18), 0 0 12px rgba(201,168,124,0.45);
    animation: pPulseGold 2.4s ease-in-out infinite;
}
.dark-section .section-sub-title h3,
.dark-section .section-title h3{
    background: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(223,243,158,0.05));
    border-color: var(--p-line-dark);
    color: var(--white-color);
}
@keyframes pPulseGold{
    0%, 100% { box-shadow: 0 0 0 4px rgba(201,168,124,0.18), 0 0 8px rgba(201,168,124,0.35); }
    50%      { box-shadow: 0 0 0 6px rgba(201,168,124,0.10), 0 0 18px rgba(201,168,124,0.55); }
}

/* ---------- Premium buttons (overrides .btn-default) ---------- */
.btn-default{
    background: linear-gradient(135deg, #FCE0C5 0%, #F47C2B 45%, #D4691F 100%);
    color: var(--primary-color);
    padding: 19px 62px 19px 24px;
    border-radius: 100px;
    font-weight: 500;
    letter-spacing: 0.01em;
    box-shadow:
        var(--p-glow-accent),
        inset 0 1px 0 rgba(255,255,255,0.55),
        inset 0 -2px 0 rgba(16,43,50,0.06);
    transition: transform 0.55s var(--p-ease),
                box-shadow 0.55s var(--p-ease),
                padding 0.45s var(--p-ease);
    overflow: hidden;
}
.btn-default::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,0.55) 50%, transparent 65%);
    transform: translateX(-120%);
    transition: transform 0.85s var(--p-ease-out);
    pointer-events: none;
    z-index: 0;
}
.btn-default:hover{
    transform: translateY(-3px);
    box-shadow:
        0 14px 38px rgba(223,243,158,0.55),
        0 4px 10px rgba(223,243,158,0.35),
        inset 0 1px 0 rgba(255,255,255,0.6),
        inset 0 -2px 0 rgba(16,43,50,0.08);
    padding: 19px 24px 19px 62px;
}
.btn-default:hover::after{ transform: translateX(120%); }
.btn-default::before{
    box-shadow: 0 2px 6px rgba(16,43,50,0.25);
    border-radius: 100px;
    width: 42px; height: 42px;
}

.btn-default.btn-highlighted{
    background: linear-gradient(135deg, #2A2A2A 0%, #0F0F0F 55%, #050505 100%);
    color: var(--white-color);
    box-shadow:
        var(--p-glow-ink),
        inset 0 1px 0 rgba(255,255,255,0.10),
        inset 0 -1px 0 rgba(0,0,0,0.25);
}
.btn-default.btn-highlighted:hover{
    box-shadow:
        0 18px 44px rgba(16,43,50,0.35),
        0 6px 14px rgba(16,43,50,0.20),
        inset 0 1px 0 rgba(255,255,255,0.14);
}

.hero-btn .btn-default.btn-highlighted{
    background: linear-gradient(135deg, #FFFFFF 0%, #F4F5F1 100%);
    color: var(--primary-color);
    box-shadow: 0 12px 36px rgba(255,255,255,0.18), inset 0 1px 0 rgba(255,255,255,0.9);
}

.readmore-btn{
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: color 0.35s var(--p-ease), padding 0.4s var(--p-ease);
}
.readmore-btn:hover{ padding-right: 38px; }

/* ---------- Sticky header ---------- */
/* Full-width bar pinned to the top on every page. It stays flat and fully
   transparent while it sits over the hero, then fades in a blurred background
   once the page is scrolled (.active) so the nav stays readable over content. */
header.main-header{ margin: 0; }
header.main-header .header-sticky{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: background 0.35s var(--p-ease),
                box-shadow 0.35s var(--p-ease),
                -webkit-backdrop-filter 0.35s var(--p-ease),
                backdrop-filter 0.35s var(--p-ease);
}
header.main-header .header-sticky.active{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    border: none;
    border-bottom: 1px solid rgba(16, 43, 50, 0.06);
    border-radius: 0 !important;
    background: rgba(247, 247, 247, 0.85);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    backdrop-filter: blur(20px) saturate(160%);
    box-shadow: 0 6px 24px rgba(16, 43, 50, 0.06);
}
.navbar{ padding: 14px 22px; }
.navbar-brand img{ filter: drop-shadow(0 2px 6px rgba(16,43,50,0.08)); }

/* Nav links: refined underline animation */
.main-menu ul li a{
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.005em;
    color: var(--primary-color);
    position: relative;
}
.main-menu > .nav-menu-wrapper ul > li > a::after{
    content: "";
    position: absolute;
    left: 10px; right: 10px;
    bottom: 8px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--p-gold), transparent);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.5s var(--p-ease);
}
.main-menu > .nav-menu-wrapper ul > li > a:hover::after,
.main-menu > .nav-menu-wrapper ul > li.active > a::after{
    transform: scaleX(1);
    transform-origin: left center;
}

/* Header contact button — clean, balanced pill (no icon chip) */
.header-btn .btn-default{
    padding: 13px 30px;
    font-size: 14px;
    letter-spacing: 0.02em;
}
.header-btn .btn-default::before{ display: none; }
.header-btn .btn-default:hover{ padding: 13px 30px; }

/* ---------- Section wrapper polish ---------- */
.bg-section{
    box-shadow: var(--p-elev-1);
}

/* ---------- Hero ---------- */
.hero{ isolation: isolate; }
.hero-content{
    background-image:
        radial-gradient(circle at 18% 22%, rgba(223,243,158,0.08), transparent 45%),
        radial-gradient(circle at 82% 78%, rgba(201,168,124,0.06), transparent 50%),
        url('../images/hero-content-bg.png');
    background-size: auto, auto, 100% auto;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.04),
        0 30px 60px rgba(16,43,50,0.20);
    position: relative;
}
.hero-content::after{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 20px;
    pointer-events: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");
    opacity: 0.06;
    mix-blend-mode: overlay;
}
.hero-content > *{ position: relative; z-index: 1; }

.hero-content .section-title h1{
    color: var(--white-color);
    font-family: "Geist", system-ui, sans-serif;
    font-weight: 300;
    font-size: clamp(48px, 5.6vw, 88px);
    letter-spacing: -0.04em;
    line-height: 1.01em;
}
.hero-content .section-title h1 img{
    border: 2px solid rgba(255,255,255,0.18);
    box-shadow: 0 12px 32px rgba(0,0,0,0.35), inset 0 0 0 1px rgba(255,255,255,0.06);
    transform: translateY(-4px);
}

.hero-content .section-title h3{
    background: linear-gradient(135deg, rgba(223,243,158,0.10), rgba(201,168,124,0.06));
    border: 1px solid rgba(255,255,255,0.12);
    color: var(--white-color);
}

.hero-img figure{
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--p-elev-4);
    position: relative;
}
.hero-img figure::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(155deg, rgba(255,255,255,0.10) 0%, transparent 35%, transparent 65%, rgba(16,43,50,0.25) 100%);
    pointer-events: none;
    border-radius: 22px;
}

.google-rating-box{
    background: rgba(16, 43, 50, 0.32);
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow:
        0 22px 60px rgba(0,0,0,0.35),
        inset 0 1px 0 rgba(255,255,255,0.18);
    border-radius: 24px;
    backdrop-filter: saturate(180%) blur(28px);
    -webkit-backdrop-filter: saturate(180%) blur(28px);
}
.satisfy-client-image.add-more{
    background: linear-gradient(135deg, var(--accent-color), var(--p-gold-soft));
    box-shadow: 0 4px 12px rgba(201,168,124,0.35);
}

/* Hero info cards — premium glass + depth */
.hero-info-item.box-1,
.hero-info-office-item.box-2,
.hero-info-item.box-3{
    box-shadow: var(--p-elev-2);
    border: 1px solid var(--p-line);
}
.hero-info-item.box-1{ border-color: transparent; box-shadow: var(--p-elev-3), inset 0 0 0 1px rgba(255,255,255,0.06); }
.hero-info-item.box-3{
    background: linear-gradient(135deg, #FCDFBE 0%, #F47C2B 50%, #E0691A 100%);
}
.hero-info-content h2{
    font-family: "Geist", system-ui, sans-serif;
    font-weight: 250;
    letter-spacing: -0.05em;
    font-size: 52px;
    font-feature-settings: "tnum", "ss01";
}
.video-play-button a{
    background: linear-gradient(135deg, #FCE0C5, #F47C2B 50%, #D4691F);
    box-shadow: var(--p-glow-accent), inset 0 1px 0 rgba(255,255,255,0.5);
}

/* ---------- Marquee — editorial italic ---------- */
.marquee-band{
    background: linear-gradient(180deg, #0A0A0A 0%, #0F0F0F 50%, #0A0A0A 100%);
    border-top: 1px solid rgba(255,255,255,0.06);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    padding: 38px 0;
    position: relative;
}
.marquee-band::before,
.marquee-band::after{
    content: "";
    position: absolute;
    top: 0; bottom: 0;
    width: 180px;
    z-index: 2;
    pointer-events: none;
}
.marquee-band::before{ left: 0; background: linear-gradient(90deg, var(--primary-color), transparent); }
.marquee-band::after { right: 0; background: linear-gradient(-90deg, var(--primary-color), transparent); }
.marquee-band.light{
    background: linear-gradient(180deg, #F5EFE6 0%, #FFFFFF 50%, #F5EFE6 100%);
}
.marquee-band.light::before{ background: linear-gradient(90deg, #F5EFE6, transparent); }
.marquee-band.light::after { background: linear-gradient(-90deg, #F5EFE6, transparent); }
.marquee-item{
    font-family: "Geist", system-ui, sans-serif;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.marquee-dot{
    background: var(--accent-color) !important;
    box-shadow: 0 0 14px rgba(244,124,43,0.55);
    width: 10px; height: 10px;
}

/* ---------- About us ---------- */
.about-us-content .section-title h2{
    color: var(--primary-color);
}
.about-body-item{
    transition: transform 0.5s var(--p-ease), box-shadow 0.5s var(--p-ease), background 0.5s var(--p-ease);
}
.about-body-item .icon-box{
    background: linear-gradient(135deg, var(--accent-color), var(--p-gold-soft));
    box-shadow: 0 6px 18px rgba(201,168,124,0.25);
}

/* ---------- Service cards ---------- */
.service-item{
    box-shadow: var(--p-elev-2);
    transition: transform 0.6s var(--p-ease), box-shadow 0.6s var(--p-ease);
}
.service-item:hover{
    transform: translateY(-10px);
    box-shadow: var(--p-elev-4);
}
.service-image figure::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(16,43,50,0.45) 70%, rgba(16,43,50,0.92) 100%);
    z-index: 1;
    pointer-events: none;
    border-radius: 20px;
}
.service-item-body h3{
    font-family: "Geist", system-ui, sans-serif;
    font-weight: 500;
    font-size: 22px;
    letter-spacing: -0.02em;
}

/* ---------- Why choose ---------- */
.why-choose-box-1,
.why-choose-box-2,
.why-choose-box-3,
.why-choose-box-4{
    box-shadow: var(--p-elev-2);
    transition: transform 0.6s var(--p-ease), box-shadow 0.6s var(--p-ease);
}
.why-choose-box-1:hover,
.why-choose-box-2:hover,
.why-choose-box-3:hover,
.why-choose-box-4:hover{
    transform: translateY(-8px);
    box-shadow: var(--p-elev-3);
}
.why-choose-box-1{
    background: linear-gradient(160deg, #2A2A2A 0%, #0F0F0F 100%);
    border: 1px solid rgba(255,255,255,0.06);
}

/* ---------- Pricing ---------- */
.pricing-item{
    background: var(--white-color);
    border: 1px solid var(--p-line);
    box-shadow: var(--p-elev-1);
    transition: transform 0.55s var(--p-ease), box-shadow 0.55s var(--p-ease), border-color 0.4s ease;
    position: relative;
    overflow: hidden;
}
.pricing-item::before{
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--p-gold), transparent);
    opacity: 0;
    transition: opacity 0.5s ease;
}
.pricing-item:hover{
    transform: translateY(-12px);
    box-shadow: var(--p-elev-3);
    border-color: var(--p-gold-soft);
}
.pricing-item:hover::before{ opacity: 1; }
.pricing-item.highlighted-box{
    background: linear-gradient(160deg, #FCE0C5 0%, #F47C2B 50%, #E0691A 100%);
    border-color: transparent;
    box-shadow: var(--p-elev-3);
    transform: translateY(-6px);
}
.pricing-item.highlighted-box::after{
    content: "MOST POPULAR";
    position: absolute;
    top: 18px; right: -42px;
    background: var(--p-ink);
    color: var(--accent-color);
    padding: 6px 50px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.18em;
    transform: rotate(35deg);
    z-index: 2;
    box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}
.pricing-price h2{
    font-family: "Geist", system-ui, sans-serif;
    font-weight: 250;
    letter-spacing: -0.05em;
    font-size: 60px;
    margin-bottom: 6px;
    font-feature-settings: "tnum", "ss01";
}
.pricing-price sub{
    font-family: "Geist Mono", "Geist", monospace;
    color: var(--text-color);
    font-size: 13px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

/* ---------- Contact / forms ---------- */
.contact-us-form input,
.contact-us-form textarea,
.form-control{
    border-radius: 14px !important;
    border: 1px solid var(--p-line-strong) !important;
    padding: 16px 20px !important;
    font-size: 15px;
    transition: border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease;
    background: rgba(255,255,255,0.5) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.contact-us-form input:focus,
.contact-us-form textarea:focus,
.form-control:focus{
    border-color: var(--p-gold) !important;
    box-shadow: 0 0 0 4px rgba(201,168,124,0.14), 0 8px 24px rgba(16,43,50,0.08) !important;
    outline: none;
}

/* ---------- Testimonials ---------- */
.testimonial-item,
.testimonial-box,
.our-testimonial-item{
    box-shadow: var(--p-elev-2);
    border: 1px solid var(--p-line);
    border-radius: 20px;
    transition: transform 0.55s var(--p-ease), box-shadow 0.55s var(--p-ease);
}
.testimonial-item:hover{
    transform: translateY(-6px);
    box-shadow: var(--p-elev-3);
}

/* ---------- FAQ ---------- */
.accordion-item,
.faq-item,
.our-faqs .accordion-item{
    border: 1px solid var(--p-line) !important;
    border-radius: 14px !important;
    overflow: hidden;
    background: var(--white-color) !important;
    transition: box-shadow 0.4s ease, transform 0.4s ease, border-color 0.4s ease;
    margin-bottom: 14px !important;
}
.accordion-item:hover,
.faq-item:hover{
    box-shadow: var(--p-elev-2);
    border-color: var(--p-gold-soft) !important;
}
.accordion-button,
.faq-question{ font-weight: 500 !important; }

/* ---------- Blog cards — editorial / premium ---------- */
.our-blog{
    background:
        radial-gradient(1100px 520px at 92% -10%, rgba(201,168,124,0.07), transparent 60%),
        radial-gradient(900px 480px at 0% 110%, rgba(223,243,158,0.06), transparent 60%),
        var(--bg-color);
}
.our-blog .section-row{ margin-bottom: 16px; }
.our-blog .section-title-content p{
    color: var(--p-ink-soft);
    max-width: 52ch;
}

.our-blog .post-item-list{ gap: 28px; }
.our-blog .post-item-list .post-item{ width: calc(25% - 21px); }

.post-item,
.blog-item,
.our-blog .post-item{
    position: relative;
    background: var(--white-color);
    border: 1px solid var(--p-line);
    border-radius: 22px;
    padding: 14px 14px 6px;
    overflow: hidden;
    box-shadow: var(--p-elev-1);
    transition:
        transform 0.55s var(--p-ease),
        box-shadow 0.55s var(--p-ease),
        border-color 0.55s var(--p-ease);
    isolation: isolate;
}

/* Hairline gold sheen on top edge */
.our-blog .post-item::before{
    content: "";
    position: absolute;
    top: 0; left: 14%; right: 14%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--p-gold-soft), transparent);
    opacity: 0;
    transition: opacity 0.5s var(--p-ease);
    z-index: 2;
}
.our-blog .post-item:hover::before{ opacity: 0.9; }

.post-item:hover,
.blog-item:hover,
.our-blog .post-item:hover{
    transform: translateY(-10px);
    box-shadow: var(--p-elev-3);
    border-color: var(--p-gold-soft);
}

/* Featured image — refined frame */
.our-blog .post-featured-image{
    margin-bottom: 22px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}
.our-blog .post-featured-image a{
    border-radius: 16px;
    position: relative;
    display: block;
}
.our-blog .post-featured-image img{
    aspect-ratio: 4 / 3;
    transition: transform 1.1s var(--p-ease);
    filter: saturate(1.02);
}
.our-blog .post-item:hover .post-featured-image img{
    transform: scale(1.06);
}
/* Soft bottom gradient for category-chip legibility + inner hairline */
.our-blog .post-featured-image::after{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(10,31,37,0) 55%, rgba(10,31,37,0.32) 100%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
    pointer-events: none;
    z-index: 1;
}

/* Premium category chip */
.our-blog .post-item-tags{
    top: 16px;
    left: 16px;
    z-index: 3;
}
.our-blog .post-item-tags a{
    font-family: var(--p-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    background: rgba(255,255,255,0.86);
    color: var(--p-ink);
    border: 1px solid rgba(255,255,255,0.6);
    box-shadow:
        0 1px 2px rgba(16,43,50,0.10),
        0 8px 22px rgba(16,43,50,0.10);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    padding: 7px 14px 7px 26px;
    border-radius: 999px;
    position: relative;
    transition: transform 0.4s var(--p-ease), background 0.4s var(--p-ease), color 0.4s var(--p-ease);
}
.our-blog .post-item-tags a::before{
    content: "";
    position: absolute;
    top: 50%; left: 12px;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--p-gold);
    box-shadow: 0 0 0 3px rgba(201,168,124,0.20);
    transform: translateY(-50%);
}
.our-blog .post-item:hover .post-item-tags a{
    transform: translateY(-2px);
    background: var(--p-ink);
    color: var(--p-cream);
    border-color: rgba(255,255,255,0.18);
}

/* Card body */
.our-blog .post-item-body{ padding: 4px 8px 14px; }

/* Editorial meta line */
.our-blog .post-item-meta{
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--p-mono);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--p-ink-soft);
    opacity: 0.78;
    margin-bottom: 12px;
}
.our-blog .post-meta-dot{
    width: 3px; height: 3px;
    border-radius: 50%;
    background: var(--p-gold);
    box-shadow: 0 0 0 2px rgba(201,168,124,0.18);
}

.our-blog .post-item-content{
    border-bottom: 1px solid var(--p-line);
    margin-bottom: 18px;
    padding-bottom: 18px;
}
.our-blog .post-item-content h2{
    font-family: "Geist", system-ui, sans-serif;
    font-size: 22px;
    line-height: 1.28em;
    font-weight: 400;
    letter-spacing: -0.018em;
    color: var(--p-ink);
}
.our-blog .post-item-content h2 a{
    background-image: linear-gradient(var(--p-gold), var(--p-gold));
    background-repeat: no-repeat;
    background-size: 0% 1px;
    background-position: 0 100%;
    transition: background-size 0.55s var(--p-ease), color 0.4s var(--p-ease);
}
.our-blog .post-item:hover .post-item-content h2 a{
    color: var(--p-gold-deep);
    background-size: 100% 1px;
}

/* Read more — animated arrow */
.our-blog .post-item-btn{ padding: 0 2px; }
.our-blog .post-item-btn .readmore-btn{
    font-family: var(--p-mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--p-ink);
    padding-right: 34px;
    position: relative;
}
.our-blog .post-item-btn .readmore-btn::before{
    background-image: none;
    background: transparent;
    width: 22px; height: 1px;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    background-color: var(--p-ink);
    transition: width 0.4s var(--p-ease), background-color 0.4s var(--p-ease);
}
.our-blog .post-item-btn .readmore-btn::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 8px; height: 8px;
    border-top: 1px solid var(--p-ink);
    border-right: 1px solid var(--p-ink);
    transform: translateY(-50%) rotate(45deg);
    transition: right 0.4s var(--p-ease), border-color 0.4s var(--p-ease);
}
.our-blog .post-item:hover .readmore-btn,
.our-blog .post-item-btn .readmore-btn:hover{
    color: var(--p-gold-deep);
}
.our-blog .post-item:hover .readmore-btn::before{
    width: 32px;
    background-color: var(--p-gold-deep);
}
.our-blog .post-item:hover .readmore-btn::after{
    right: -4px;
    border-color: var(--p-gold-deep);
}

/* Section footer CTA — editorial rule + label */
.our-blog-footer{
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 64px;
    padding: 0 8px;
}
.our-blog-footer-rule{
    flex: 1 1 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--p-line-strong), transparent);
}
.our-blog-footer-link{
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: var(--p-mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--p-ink);
    padding: 12px 22px;
    border: 1px solid var(--p-line-strong);
    border-radius: 999px;
    background: rgba(255,255,255,0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition:
        color 0.4s var(--p-ease),
        border-color 0.4s var(--p-ease),
        background 0.4s var(--p-ease),
        transform 0.4s var(--p-ease),
        box-shadow 0.4s var(--p-ease);
}
.our-blog-footer-link i{
    width: 22px; height: 8px;
    position: relative;
    display: inline-block;
}
.our-blog-footer-link i::before{
    content: "";
    position: absolute;
    top: 50%; left: 0;
    width: 100%; height: 1px;
    background: currentColor;
    transform: translateY(-50%);
    transition: width 0.4s var(--p-ease);
}
.our-blog-footer-link i::after{
    content: "";
    position: absolute;
    top: 50%; right: 0;
    width: 6px; height: 6px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: right 0.4s var(--p-ease);
}
.our-blog-footer-link:hover{
    color: var(--p-gold-deep);
    border-color: var(--p-gold-soft);
    background: var(--white-color);
    transform: translateY(-2px);
    box-shadow: var(--p-elev-2);
}
.our-blog-footer-link:hover i::after{ right: -4px; }

/* Responsive — keep premium feel down to mobile */
@media (max-width: 1199px){
    .our-blog .post-item-list .post-item{ width: calc(50% - 14px); }
}
@media (max-width: 767px){
    .our-blog .post-item-list .post-item{ width: 100%; }
    .our-blog .post-item-content h2{ font-size: 20px; }
    .our-blog-footer{ gap: 16px; margin-top: 48px; }
    .our-blog-footer-link{ padding: 10px 18px; font-size: 11px; }
}

/* ---------- Footer ---------- */
footer,
.footer-section,
.main-footer{
    background: linear-gradient(180deg, #0A0A0A 0%, #0F0F0F 50%, #060606 100%);
    position: relative;
    overflow: hidden;
}
footer::before{
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, var(--p-gold-soft), transparent);
    opacity: 0.4;
}
footer .footer-content,
footer h3,
footer h4{ color: var(--white-color); }
footer a{ transition: color 0.3s ease, transform 0.3s ease; }
footer a:hover{ color: var(--p-gold-soft) !important; }

/* ---------- Counters / numerals ---------- */
.counter,
.achievement-stat-item h2,
.approach-counter-item h2,
.hero-info-content h2,
.about-counter-num,
.about-counter h2{
    font-family: "Geist", system-ui, sans-serif;
    font-weight: 250;
    letter-spacing: -0.05em;
    font-feature-settings: "tnum", "ss01";
}

/* ---------- Premium scrollbar ---------- */
::-webkit-scrollbar{ width: 10px; }
::-webkit-scrollbar-track{ background: var(--primary-color); }
::-webkit-scrollbar-thumb{
    background: linear-gradient(180deg, var(--accent-color), var(--p-gold-soft));
    border-radius: 10px;
    border: 2px solid var(--primary-color);
}
::-webkit-scrollbar-thumb:hover{
    background: linear-gradient(180deg, var(--p-gold-soft), var(--accent-color));
}

/* ---------- Scroll progress bar — refined ---------- */
.scroll-progress-bar{
    height: 3px;
    background: linear-gradient(90deg, var(--accent-color) 0%, var(--p-gold-soft) 50%, var(--accent-color) 100%);
    box-shadow: 0 0 16px rgba(223,243,158,0.55), 0 0 32px rgba(201,168,124,0.35);
}

/* ---------- Cursor follower — refined ---------- */
.cursor-follower{
    width: 14px; height: 14px;
    background: var(--p-gold);
    mix-blend-mode: difference;
    box-shadow: 0 0 24px rgba(201,168,124,0.4);
}
.cursor-follower.is-hover{
    width: 56px; height: 56px;
    background: var(--accent-color);
    opacity: 0.35;
}

/* ---------- Back to top — refined ring ---------- */
.back-to-top{
    background: rgba(16,43,50,0.85);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(223,243,158,0.18);
    box-shadow: var(--p-elev-3);
    width: 60px; height: 60px;
}
.back-to-top:hover{
    background: var(--accent-color);
    border-color: transparent;
    box-shadow: var(--p-glow-accent), var(--p-elev-3);
}

/* ---------- Section nav dots — refined ---------- */
.section-nav-dot{
    width: 10px; height: 10px;
    background: rgba(16,43,50,0.20);
}
.section-nav-dot.active{
    background: var(--p-gold);
    box-shadow: 0 0 0 4px rgba(201,168,124,0.18), 0 0 12px rgba(201,168,124,0.55);
    transform: scale(1.4);
}

/* ---------- Approach section depth ---------- */
.approach-item{
    box-shadow: var(--p-elev-1);
    border: 1px solid var(--p-line);
}
.approach-item:hover{
    box-shadow: var(--p-elev-3);
}
.approach-item .icon-box{
    background: linear-gradient(135deg, var(--accent-color), var(--p-gold-soft));
    box-shadow: 0 6px 18px rgba(201,168,124,0.25);
}
.approach-counter-box{
    background: rgba(10, 31, 37, 0.72);
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: 0 30px 70px rgba(0,0,0,0.45);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}
.approach-counter-item h2{ color: var(--p-gold-soft); }
.approach-counter-item p{ color: rgba(255,255,255,0.92); }
.approach-counter-item::before{ background: rgba(255,255,255,0.18); }

/* ---------- Core values — glass ---------- */
.core-value-card{
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.10);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.core-value-card:hover{
    background: rgba(255,255,255,0.06);
    border-color: var(--p-gold-soft);
    box-shadow: 0 30px 60px rgba(0,0,0,0.35);
}
.core-value-icon{
    background: linear-gradient(135deg, var(--accent-color), var(--p-gold-soft));
    box-shadow: 0 8px 22px rgba(201,168,124,0.35);
}
.core-value-num{
    font-family: "Geist Mono", "Geist", monospace;
    font-weight: 200;
    color: rgba(223,243,158,0.10);
    font-size: 88px;
    letter-spacing: -0.04em;
}

/* ---------- Team cards ---------- */
.team-card{
    box-shadow: var(--p-elev-1);
    border: 1px solid var(--p-line);
}
.team-card:hover{ box-shadow: var(--p-elev-3); }
.team-card-body h3{
    font-family: "Geist", system-ui, sans-serif;
    font-weight: 500;
    letter-spacing: -0.02em;
    font-size: 22px;
}

/* ---------- Achievements ---------- */
.our-achievements{
    background: radial-gradient(circle at 20% 20%, #2A2A2A 0%, #0F0F0F 50%, #060606 100%);
}
.achievement-stat-item h2{
    background: linear-gradient(180deg, var(--accent-color), var(--p-gold-soft));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: 72px;
}

/* ---------- Image refinements ---------- */
figure img{ transition: transform 1.2s var(--p-ease), filter 0.6s ease; }

/* Refined image hover wash */
.image-anime:after{
    background: linear-gradient(135deg, rgba(255,255,255,0.35), rgba(201,168,124,0.18));
}

/* ---------- Preloader — refined ---------- */
.preloader{
    background: radial-gradient(circle at center, #2A2A2A 0%, #0F0F0F 50%, #060606 100%);
}
.loading{
    border-color: transparent var(--accent-color) transparent var(--p-gold-soft);
    border-width: 2px;
    box-shadow: 0 0 60px rgba(223,243,158,0.18);
}

/* ---------- Misc polish ---------- */
.contact-us-circle a img{
    filter: drop-shadow(0 8px 24px rgba(16,43,50,0.18));
}

/* Improve any plain background sections */
.our-services,
.our-pricing,
.about-us,
.our-team,
.our-blog,
.our-testimonial,
.our-faqs,
.contact-us,
.our-projects,
.case-study,
.how-it-works,
.intro-video,
.what-we-do{
    position: relative;
}

/* Soft top divider for sections */
.our-services::before,
.about-us::before,
.our-pricing::before,
.our-team::before,
.our-blog::before,
.our-testimonial::before,
.our-faqs::before,
.how-it-works::before,
.what-we-do::before{
    content: "";
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--p-gold), transparent);
    opacity: 0.5;
}

/* Refined card body text */
.about-body-item h3,
.approach-item-content h3,
.team-card-body h3,
.service-item-body h3,
.why-choose-item-content h3{
    letter-spacing: -0.01em;
}

/* ---------- Reduce motion ---------- */
@media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ---------- Selection ---------- */
::selection{
    background: var(--p-gold);
    color: var(--white-color);
}

/* ---------- Premium 3D tilt utility (used by premium.js) ---------- */
.p-tilt{
    transform-style: preserve-3d;
    transition: transform 0.4s var(--p-ease);
    will-change: transform;
}

/* ---------- Magnetic wrap improvements ---------- */
.magnetic-wrap{ display: inline-block; will-change: transform; transition: transform 0.25s var(--p-ease); }
