/* ============================================
   Atlanta Commercial Wallpaper — style.css
   Color Palette:
     --ink-deep:    #0F1724
     --ink-shadow:  #0A111B
     --mist-soft:   #EAF1ED
     --mist-bright: #F6FAF7
     --slate-text:  #1E2A33
     --sea-glass:   #4FA38A
   ============================================ */

/* ---------- Reset & Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter','DM Sans',system-ui,-apple-system,sans-serif;color:#1E2A33;background:#F6FAF7;line-height:1.7;-webkit-font-smoothing:antialiased}
html.no-scroll,body.no-scroll{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#4FA38A;text-decoration:none;transition:opacity .25s}
a:hover{opacity:.8}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700}

/* ---------- CSS Variables ---------- */
:root{
  --ink-deep:    #0F1724;
  --ink-shadow:  #0A111B;
  --mist-soft:   #EAF1ED;
  --mist-bright: #F6FAF7;
  --slate-text:  #1E2A33;
  --sea-glass:   #4FA38A;
  --section-gap:100px;
  --container:1280px;
  --radius:10px;
}

/* ---------- Utility ---------- */
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.section-dark{background:var(--ink-deep);color:var(--mist-bright)}
.section-darker{background:var(--ink-shadow);color:var(--mist-bright)}
.section-light{background:var(--mist-soft);color:var(--slate-text)}
.section-white{background:var(--mist-bright);color:var(--slate-text)}
.text-accent{color:var(--sea-glass)}
.text-center{text-align:center}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 32px;border-radius:var(--radius);font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:none;transition:all .3s ease}
.btn-primary{background:var(--sea-glass);color:var(--ink-shadow)}
.btn.btn-primary{color:var(--ink-shadow)}
.btn-primary:hover{background:#63b69e;color:var(--ink-shadow);opacity:1}
.btn.btn-primary:hover{color:var(--ink-shadow)}
.btn-secondary{background:transparent;color:var(--sea-glass);border:2px solid var(--sea-glass)}
.btn-secondary:hover{background:var(--sea-glass);color:var(--ink-shadow);opacity:1}
.btn-tertiary{background:rgba(246,250,247,.95);color:var(--ink-deep);border:1px solid rgba(15,23,36,.1)}
.btn-tertiary:hover{background:var(--mist-bright);color:var(--ink-deep);opacity:1}
.btn-sm{height:44px;padding:0 20px;font-size:14px}

/* ---------- Top Bar ---------- */
.top-bar{background:var(--ink-shadow);color:var(--mist-bright);font-size:13px;padding:8px 0;border-bottom:1px solid rgba(79,163,138,.15)}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.top-bar a{color:var(--mist-bright);font-size:13px}
.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:20px}

/* ---------- Header ---------- */
.site-header{background:var(--ink-deep);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(79,163,138,.1)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:22px 0}
.logo{display:flex;align-items:center;gap:12px;color:var(--mist-bright);font-size:18px;font-weight:700}
.logo img{width:48px;height:48px;border-radius:6px}
.logo-sub{font-size:11px;color:var(--sea-glass);font-weight:400;display:block}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{color:var(--mist-bright);font-size:14px;font-weight:500;transition:color .25s}
.nav-links a:not(.btn):hover{color:var(--sea-glass);opacity:1}
.nav-links .btn{margin-left:8px}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.hamburger span{display:block;width:24px;height:2px;background:var(--mist-bright);margin:5px 0;transition:all .3s}

/* Mobile Nav */
.mobile-nav{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--ink-deep);z-index:2000;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.mobile-nav.active{display:flex}
.mobile-nav a{color:var(--mist-bright);font-size:20px;font-weight:600}
.mobile-nav .close-nav{position:absolute;top:20px;right:24px;background:none;border:none;color:var(--mist-bright);font-size:32px;cursor:pointer}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--ink-deep);padding:100px 0 80px;overflow:hidden;min-height:600px;display:flex;align-items:center}
.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.25}
.hero .container{position:relative;z-index:2}
.hero-subtitle{color:var(--sea-glass);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.hero h1{color:var(--mist-bright);font-size:56px;max-width:800px;margin-bottom:20px}
.hero-text{color:rgba(246,250,247,.8);font-size:18px;max-width:680px;margin-bottom:32px;line-height:1.7}
.hero-stats{display:flex;gap:40px;margin-bottom:36px;flex-wrap:wrap}
.hero-stat{text-align:center}
.hero-stat .stat-value{color:var(--sea-glass);font-size:28px;font-weight:700;display:block}
.hero-stat .stat-label{color:rgba(246,250,247,.6);font-size:13px;display:block;margin-top:4px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:40px}
.trust-badges{display:flex;gap:20px;flex-wrap:wrap}
.trust-badge{display:flex;align-items:center;gap:8px;color:rgba(246,250,247,.7);font-size:13px;font-weight:500}
.trust-badge svg{width:18px;height:18px;color:var(--sea-glass)}

/* ---------- Breadcrumb ---------- */
.breadcrumb{padding:16px 0;font-size:13px;color:rgba(246,250,247,.5)}
.breadcrumb a{color:var(--sea-glass)}
.breadcrumb span{margin:0 8px}

/* ---------- Section Spacing ---------- */
.section{padding:var(--section-gap) 0}
.section-title{font-size:42px;margin-bottom:16px}
.section-subtitle{font-size:17px;opacity:.75;max-width:700px;margin-bottom:48px;line-height:1.7}
.section-label{color:var(--sea-glass);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}

/* ---------- Cards Grid ---------- */
.cards-grid{display:grid;gap:24px}
.cards-grid-3{grid-template-columns:repeat(3,1fr)}
.cards-grid-4{grid-template-columns:repeat(4,1fr)}
.cards-grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--mist-soft);border:1px solid rgba(79,163,138,.15);border-radius:var(--radius);padding:32px;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(15,23,36,.1)}
.card-icon{margin-bottom:16px;color:var(--sea-glass);display:flex;align-items:center;justify-content:flex-start;line-height:1}
.card-icon svg{width:32px;height:32px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0}
.card h3{font-size:20px;margin-bottom:12px}
.card p{font-size:15px;line-height:1.7;opacity:.8}
.card-link{display:inline-block;margin-top:16px;color:var(--sea-glass);font-weight:600;font-size:14px}

/* Dark card variant */
.card-dark{background:rgba(79,163,138,.08);border-color:rgba(79,163,138,.15)}
.card-dark h3{color:var(--mist-bright)}
.card-dark p{color:rgba(246,250,247,.7)}

/* ---------- Split Layout ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split-reverse{direction:rtl}
.split-reverse > *{direction:ltr}
.split-image{border-radius:var(--radius);overflow:hidden}
.split-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}
.split-content h2{font-size:36px;margin-bottom:16px}
.split-content p{font-size:16px;line-height:1.8;margin-bottom:16px}
.split-content ul{margin:16px 0 24px}
.split-content ul li{padding:8px 0 8px 28px;position:relative;font-size:15px}
.split-content ul li::before{content:'';position:absolute;left:0;top:16px;width:8px;height:8px;background:var(--sea-glass);border-radius:50%}

/* ---------- Full-Cycle Workflow ---------- */
.full-cycle-panel{background:var(--mist-bright);border:1px solid rgba(15,23,36,.08);border-radius:28px;padding:40px 42px;box-shadow:0 20px 50px rgba(15,23,36,.06)}
.full-cycle-header{max-width:720px;margin:0 auto;text-align:center}
.full-cycle-header .section-title{margin-bottom:14px}
.full-cycle-intro{max-width:620px;margin:0 auto;color:rgba(30,42,51,.76);font-size:16px;line-height:1.75}
.full-cycle-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:34px 0 0;border-top:1px solid rgba(15,23,36,.08);border-bottom:1px solid rgba(15,23,36,.08)}
.full-cycle-step{padding:30px 28px 32px;min-height:220px;display:flex;flex-direction:column;justify-content:flex-start;background:transparent}
.full-cycle-step + .full-cycle-step{border-left:1px solid rgba(15,23,36,.08)}
.full-cycle-step-number{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--sea-glass);margin-bottom:18px}
.full-cycle-step h3{font-size:22px;line-height:1.22;margin-bottom:14px;color:var(--ink-deep)}
.full-cycle-step p{margin-bottom:0;font-size:15px;line-height:1.7;color:rgba(30,42,51,.72)}
.full-cycle-footer{padding-top:18px;text-align:center}
.full-cycle-note{font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(30,42,51,.72)}

/* ---------- How We Work ---------- */
.how-we-work{background:var(--mist-bright);border:1px solid rgba(15,23,36,.08);border-radius:28px;padding:40px 42px;box-shadow:0 20px 50px rgba(15,23,36,.05)}
.how-we-work-header{max-width:760px;margin-bottom:28px}
.how-we-work-header .section-title{margin-bottom:14px}
.how-we-work-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid rgba(15,23,36,.08);border-bottom:1px solid rgba(15,23,36,.08)}
.how-we-work-step{padding:28px 22px 30px;min-height:220px;background:transparent}
.how-we-work-step + .how-we-work-step{border-left:1px solid rgba(15,23,36,.08)}
.how-we-work-number{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--sea-glass);margin-bottom:16px}
.how-we-work-step h3{font-size:20px;line-height:1.28;color:var(--ink-deep);margin-bottom:12px}
.how-we-work-step p{font-size:14px;line-height:1.7;color:rgba(30,42,51,.72)}

/* ---------- Brand Strip ---------- */
.brand-strip-section{padding-top:0}
.brand-strip{padding:4px 0 10px}
.brand-strip{text-align:center}
.brand-strip-title{font-size:24px;line-height:1.25;color:var(--ink-deep);margin-bottom:18px}
.brand-strip-marquee{position:relative;overflow:hidden;border-top:1px solid rgba(15,23,36,.08);border-bottom:1px solid rgba(15,23,36,.08);padding:18px 0}
.brand-strip-marquee::before,.brand-strip-marquee::after{content:'';position:absolute;top:0;bottom:0;width:72px;z-index:1;pointer-events:none}
.brand-strip-marquee::before{left:0;background:linear-gradient(90deg,var(--mist-bright) 0%,rgba(246,250,247,0) 100%)}
.brand-strip-marquee::after{right:0;background:linear-gradient(270deg,var(--mist-bright) 0%,rgba(246,250,247,0) 100%)}
.brand-strip-track{display:flex;align-items:center;gap:56px;width:max-content;animation:brand-strip-scroll 26s linear infinite}
.brand-strip-logo{height:34px;width:auto;display:block;opacity:.72;filter:grayscale(1);transition:opacity .25s ease,filter .25s ease,transform .25s ease}
.brand-strip-logo:hover{opacity:1;filter:none;transform:translateY(-1px)}

@keyframes brand-strip-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 28px))}
}

/* ---------- Portfolio Gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery-item{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(10,17,27,.85));padding:16px;color:var(--mist-bright);font-size:13px}

/* ---------- Case Studies ---------- */
.case-studies-carousel{margin-top:10px}
.case-studies-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.case-studies-kicker{font-size:14px;line-height:1.7;color:rgba(30,42,51,.64)}
.case-studies-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.case-studies-arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(15,23,36,.1);background:var(--mist-bright);color:var(--ink-deep);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease}
.case-studies-arrow:hover{background:rgba(79,163,138,.08);border-color:rgba(79,163,138,.24)}
.case-studies-arrow:disabled{opacity:.35;cursor:default;transform:none}
.case-studies-viewport{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:6px}
.case-studies-viewport::-webkit-scrollbar{display:none}
.case-study-card{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);background:var(--mist-bright);border:1px solid rgba(15,23,36,.08);border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(15,23,36,.06)}
.case-study-media{min-height:100%;background:var(--ink-shadow)}
.case-study-media img{width:100%;height:100%;object-fit:cover}
.case-study-media-slideshow{position:relative;overflow:hidden;min-height:100%}
.case-study-media-slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease}
.case-study-media-slideshow img:first-child{position:relative}
.case-study-media-slideshow img.is-active{opacity:1}
.case-study-body{padding:30px}
.case-study-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.case-study-tag{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:rgba(79,163,138,.12);color:var(--sea-glass);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.case-study-location{font-size:13px;font-weight:600;color:rgba(30,42,51,.54);letter-spacing:.06em;text-transform:uppercase}
.case-study-card h3{font-size:30px;line-height:1.2;color:var(--ink-deep);margin-bottom:14px}
.case-study-summary{font-size:15px;line-height:1.8;color:rgba(30,42,51,.76);margin-bottom:22px}
.case-study-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}
.case-study-stat{padding:16px 14px;background:rgba(15,23,36,.03);border:1px solid rgba(15,23,36,.06);border-radius:16px}
.case-study-stat-value{display:block;font-size:24px;line-height:1;font-weight:800;color:var(--ink-deep);margin-bottom:8px}
.case-study-stat-label{display:block;font-size:12px;line-height:1.5;color:rgba(30,42,51,.58);text-transform:uppercase;letter-spacing:.08em}
.case-study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.case-study-block{padding:18px;border-radius:16px;background:rgba(79,163,138,.05);border:1px solid rgba(79,163,138,.12)}
.case-study-block h4{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-deep);margin-bottom:8px}
.case-study-block p{font-size:14px;line-height:1.7;color:rgba(30,42,51,.74)}
.case-studies-dots{display:flex;justify-content:center;gap:10px;margin-top:18px}
.case-studies-dot{width:10px;height:10px;border-radius:999px;border:none;background:rgba(15,23,36,.18);cursor:pointer;transition:width .25s ease,background .25s ease,transform .25s ease}
.case-studies-dot.is-active{width:34px;background:var(--sea-glass)}

/* ---------- Stats Row ---------- */
.stats-row{display:flex;justify-content:center;gap:60px;padding:48px 0;flex-wrap:wrap}
.stat-item{text-align:center}
.stat-item .stat-number{font-size:48px;font-weight:700;color:var(--sea-glass);display:block}
.stat-item .stat-text{font-size:14px;opacity:.7;margin-top:4px}

/* ---------- Hero Metrics ---------- */
.hero-metrics{background:linear-gradient(135deg,var(--ink-shadow) 0%,var(--ink-deep) 100%);border:1px solid rgba(79,163,138,.18);border-radius:24px;padding:40px;box-shadow:0 24px 60px rgba(10,17,27,.16);position:relative;overflow:hidden}
.hero-metrics::before{content:'';position:absolute;top:-80px;right:-60px;width:240px;height:240px;background:radial-gradient(circle,rgba(79,163,138,.22) 0%,rgba(79,163,138,0) 70%)}
.hero-metrics-header{position:relative;z-index:1;max-width:720px;margin-bottom:28px}
.hero-metrics-header h2{font-size:38px;color:var(--mist-bright);margin-bottom:12px}
.hero-metrics-header p{color:rgba(246,250,247,.7);font-size:16px;line-height:1.7}
.hero-metrics-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.hero-metric-card{background:rgba(246,250,247,.04);border:1px solid rgba(246,250,247,.08);border-radius:18px;padding:24px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);min-height:220px}
.hero-metric-value{display:block;font-size:44px;line-height:1;font-weight:800;color:var(--sea-glass);margin-bottom:18px}
.hero-metric-card h3{color:var(--mist-bright);font-size:18px;margin-bottom:10px}
.hero-metric-card p{color:rgba(246,250,247,.68);font-size:14px;line-height:1.7}

/* ---------- Project Types ---------- */
.project-types-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.project-type-card{display:block;color:inherit;background:var(--mist-bright);border:1px solid rgba(79,163,138,.16);border-radius:20px;overflow:hidden;box-shadow:0 16px 40px rgba(15,23,36,.08);transition:transform .3s,box-shadow .3s}
.project-type-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(15,23,36,.12);opacity:1}
.project-type-media{position:relative;aspect-ratio:4/3;background:var(--ink-shadow)}
.project-type-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,17,27,.08) 0%,rgba(10,17,27,.45) 100%)}
.project-type-media img{width:100%;height:100%;object-fit:cover}
.project-type-icon{position:absolute;top:16px;left:16px;z-index:1;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.28);box-shadow:0 10px 24px rgba(10,17,27,.18)}
.project-type-icon svg{width:26px;height:26px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.project-type-icon-residential{background:rgba(79,163,138,.2);color:#d7fff0}
.project-type-icon-hospitality{background:rgba(217,166,72,.22);color:#ffe9b0}
.project-type-icon-healthcare{background:rgba(190,52,52,.22);color:#ffb0b0}
.project-type-icon-retail{background:rgba(52,111,190,.22);color:#b7d3ff}
.project-type-body{padding:22px 22px 24px}
.project-type-body h3{font-size:21px;color:var(--ink-deep);margin-bottom:10px}
.project-type-body p{font-size:14px;line-height:1.7;color:rgba(30,42,51,.76)}
.project-type-link{display:inline-flex;align-items:center;margin-top:14px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sea-glass)}

/* ---------- CTA Divider ---------- */
.cta-divider-section{padding:42px 0;background:
  radial-gradient(circle at top right,rgba(79,163,138,.16),transparent 34%),
  linear-gradient(180deg,var(--mist-soft) 0%,var(--mist-bright) 100%)}
.cta-divider{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:30px 34px;border-radius:24px;background:linear-gradient(135deg,var(--ink-deep) 0%,#132536 100%);border:1px solid rgba(79,163,138,.22);box-shadow:0 24px 54px rgba(15,23,36,.14);position:relative;overflow:hidden}
.cta-divider::after{content:'';position:absolute;top:-40px;right:-30px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(79,163,138,.24) 0%,rgba(79,163,138,0) 72%)}
.cta-divider-copy{position:relative;z-index:1;max-width:720px}
.cta-divider-copy .section-label{margin-bottom:10px}
.cta-divider-copy h2{font-size:34px;line-height:1.15;color:var(--mist-bright);margin-bottom:10px}
.cta-divider-copy p:last-child{font-size:17px;line-height:1.7;color:rgba(246,250,247,.72)}
.cta-divider .btn{position:relative;z-index:1;white-space:nowrap}

/* ---------- Service Areas Grid ---------- */
.areas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.area-card{display:block;background:rgba(79,163,138,.06);border:1px solid rgba(79,163,138,.12);border-radius:var(--radius);padding:24px;transition:all .3s}
.area-card:hover{background:rgba(79,163,138,.12);transform:translateY(-2px);opacity:1}
.area-card h3{color:var(--mist-bright);font-size:18px;margin-bottom:8px}
.area-card p{color:rgba(246,250,247,.6);font-size:14px;margin-bottom:12px;line-height:1.6}
.area-card .card-link{color:var(--sea-glass);font-size:13px;font-weight:600}

/* ---------- Testimonials ---------- */
.testimonial-carousel{margin-top:12px}
.testimonial-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.testimonial-kicker{font-size:14px;line-height:1.7;color:rgba(246,250,247,.6)}
.testimonial-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.testimonial-arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(246,250,247,.12);background:rgba(246,250,247,.04);color:var(--mist-bright);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:background .25s ease,border-color .25s ease,opacity .25s ease}
.testimonial-arrow:hover{background:rgba(79,163,138,.16);border-color:rgba(79,163,138,.3)}
.testimonial-arrow:disabled{opacity:.35;cursor:default}
.testimonial-viewport{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:6px}
.testimonial-viewport::-webkit-scrollbar{display:none}
.testimonial-slide{flex:0 0 100%;scroll-snap-align:start}
.testimonial-card{max-width:920px;margin:0 auto;background:rgba(246,250,247,.04);border:1px solid rgba(246,250,247,.08);border-radius:24px;padding:44px 40px;text-align:center;box-shadow:0 20px 50px rgba(10,17,27,.18)}
.testimonial-card blockquote{font-size:24px;font-style:italic;line-height:1.75;color:var(--mist-bright);margin-bottom:24px}
.testimonial-card cite{display:block;color:var(--sea-glass);font-size:14px;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.testimonial-project{margin-top:8px;font-size:14px;line-height:1.6;color:rgba(246,250,247,.58)}
.testimonial-dots{display:flex;justify-content:center;gap:10px;margin-top:20px}
.testimonial-dot{width:10px;height:10px;border-radius:999px;border:none;background:rgba(246,250,247,.2);cursor:pointer;transition:width .25s ease,background .25s ease}
.testimonial-dot.is-active{width:34px;background:var(--sea-glass)}
.client-logos{margin-top:38px;padding-top:26px;border-top:1px solid rgba(246,250,247,.08)}
.client-logos-label{text-align:center;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,250,247,.48);margin-bottom:18px}
.client-logos-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.client-logo-mark{display:block;width:220px;max-width:100%;height:auto;opacity:.94;transition:opacity .25s ease,transform .25s ease}
.client-logo-mark:hover{opacity:1;transform:translateY(-2px)}

/* ---------- FAQ ---------- */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid rgba(79,163,138,.15);padding:20px 0}
.faq-question{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:17px;font-weight:600;color:var(--slate-text);padding-right:16px}
.faq-question::after{content:'+';font-size:24px;color:var(--sea-glass);transition:transform .3s;flex-shrink:0}
.faq-item.active .faq-question::after{content:'\2212'}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease;font-size:15px;line-height:1.8;color:rgba(30,42,51,.78)}
.faq-item.active .faq-answer{max-height:500px;padding-top:12px}

/* ---------- RFP Form ---------- */
.rfp-section{background:var(--ink-shadow);padding:var(--section-gap) 0}
.rfp-form{max-width:700px;margin:0 auto}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:14px;font-weight:600;color:var(--mist-bright);margin-bottom:8px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;background:rgba(79,163,138,.08);border:1px solid rgba(79,163,138,.2);border-radius:var(--radius);color:var(--mist-bright);font-size:15px;font-family:inherit;transition:border-color .3s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--sea-glass)}
.form-group textarea{min-height:120px;resize:vertical}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234FA38A' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.form-group select option{background:var(--ink-deep);color:var(--mist-bright)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(246,250,247,.35)}
.file-upload-area{border:2px dashed rgba(79,163,138,.3);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;transition:border-color .3s}
.file-upload-area:hover{border-color:var(--sea-glass)}
.file-upload-area p{color:rgba(246,250,247,.5);font-size:14px;margin-top:8px}
.file-upload-area input[type="file"]{display:none}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-success{display:none;text-align:center;padding:40px;color:var(--sea-glass);font-size:18px;font-weight:600}
.form-success p{margin-top:12px;color:rgba(246,250,247,.7);font-size:15px;font-weight:400}
.consent-group{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid rgba(79,163,138,.18);border-radius:var(--radius);background:rgba(79,163,138,.05)}
.consent-group input[type="checkbox"]{width:18px;height:18px;margin-top:2px;accent-color:var(--sea-glass);flex:0 0 auto}
.consent-group label{margin:0;color:rgba(246,250,247,.8);font-size:14px;font-weight:500;line-height:1.6}
.consent-group label a{color:var(--sea-glass);text-decoration:underline;text-underline-offset:2px}
.form-group.has-error .consent-group{border-color:#ff6b6b}
.newsletter-modal .modal-content{max-width:520px}
.newsletter-intro{color:rgba(246,250,247,.68);margin-bottom:24px;font-size:15px;line-height:1.7}
.error-message{color:#ff6b6b;margin-top:5px;font-size:13px}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink-shadow);color:rgba(246,250,247,.6);padding:60px 0 0;border-top:1px solid rgba(79,163,138,.1)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-col h3{color:var(--mist-bright);font-size:16px;margin-bottom:16px}
.footer-col p{font-size:14px;line-height:1.7}
.footer-col a{color:rgba(246,250,247,.6);font-size:14px;display:block;padding:4px 0;transition:color .25s}
.footer-col a:hover{color:var(--sea-glass);opacity:1}
.footer-bottom{border-top:1px solid rgba(79,163,138,.1);padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:13px}

/* ---------- Sticky CTA ---------- */
.sticky-cta{position:fixed;bottom:24px;right:24px;z-index:900;display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;max-width:min(100vw - 48px, 420px)}
.sticky-cta .btn{box-shadow:0 4px 20px rgba(15,23,36,.4)}
.sticky-call{display:none}

/* ---------- Modal ---------- */
.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(10,17,27,.85);z-index:3000;align-items:center;justify-content:center;padding:24px}
.modal-overlay.active{display:flex}
.modal-content{background:var(--ink-deep);border:1px solid rgba(79,163,138,.15);border-radius:16px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;padding:40px;position:relative}
.modal-content{-ms-overflow-style:none;scrollbar-width:none}
.modal-content::-webkit-scrollbar{width:0;height:0}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--mist-bright);font-size:28px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s}
.modal-close:hover{background:rgba(79,163,138,.15)}

/* ---------- Cookie Banner ---------- */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--ink-deep);border-top:1px solid rgba(79,163,138,.15);padding:16px 24px;z-index:5000;display:none;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cookie-banner.show{display:flex}
.cookie-banner p{color:rgba(246,250,247,.8);font-size:14px;flex:1}
.cookie-banner a{color:var(--sea-glass);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:2px}

/* ---------- Scroll Animations ---------- */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .hero h1{font-size:42px}
  .section-title{font-size:34px}
  .cards-grid-3{grid-template-columns:repeat(2,1fr)}
  .cards-grid-4{grid-template-columns:repeat(2,1fr)}
  .hero-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-divider{grid-template-columns:1fr}
  .full-cycle-panel{padding:34px 28px}
  .full-cycle-steps{grid-template-columns:1fr;border-bottom:none}
  .full-cycle-step{min-height:auto;padding:24px 0}
  .full-cycle-step + .full-cycle-step{border-left:none;border-top:1px solid rgba(15,23,36,.08)}
  .how-we-work{padding:34px 28px}
  .how-we-work-steps{grid-template-columns:1fr;border-bottom:none}
  .how-we-work-step{min-height:auto;padding:24px 0}
  .how-we-work-step + .how-we-work-step{border-left:none;border-top:1px solid rgba(15,23,36,.08)}
  .brand-strip-logo{height:30px}
  .case-studies-toolbar{align-items:flex-start;flex-direction:column}
  .case-study-card{grid-template-columns:1fr}
  .case-study-media{aspect-ratio:16/9}
  .testimonial-toolbar{align-items:flex-start;flex-direction:column}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:40px}
  .split-reverse{direction:ltr}
  .areas-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  :root{--section-gap:60px}
  .top-bar{display:none}
  .mobile-nav{
    display:flex;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity .28s ease, transform .28s ease, visibility 0s linear .28s;
  }
  .mobile-nav.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .28s ease, transform .28s ease, visibility 0s linear 0s;
  }
  .mobile-nav a,
  .mobile-nav .close-nav{
    opacity:0;
    transform:translateY(8px);
    transition:opacity .28s ease, transform .28s ease;
  }
  .mobile-nav.active a,
  .mobile-nav.active .close-nav{
    opacity:1;
    transform:translateY(0);
  }
  .top-bar-left{display:none}
  .nav-links{display:none}
  .hamburger{display:block}
  .hero{padding:60px 0;min-height:auto}
  .hero h1{font-size:32px}
  .hero-text{font-size:16px}
  .hero-stats{gap:24px}
  .hero-stat .stat-value{font-size:22px}
  .hero-metrics{padding:28px}
  .hero-metrics-header h2{font-size:30px}
  .hero-metrics-grid{grid-template-columns:1fr}
  .hero-metric-card{min-height:auto}
  .hero-metric-value{font-size:36px}
  .project-types-grid{grid-template-columns:1fr}
  .project-type-body{padding:20px}
  .cta-divider-section{padding:28px 0}
  .cta-divider{padding:26px 22px;border-radius:22px}
  .cta-divider-copy h2{font-size:26px}
  .cta-divider-copy p:last-child{font-size:15px}
  .section-title{font-size:28px}
  .cards-grid-3,.cards-grid-4,.cards-grid-2{grid-template-columns:1fr}
  .full-cycle-panel{padding:28px 22px;border-radius:22px}
  .full-cycle-intro{font-size:15px}
  .full-cycle-steps{margin-top:26px}
  .full-cycle-step{padding:22px 0}
  .full-cycle-step h3{font-size:20px}
  .full-cycle-note{font-size:13px}
  .how-we-work{padding:28px 22px;border-radius:22px}
  .how-we-work-header{margin-bottom:22px}
  .how-we-work-step h3{font-size:18px}
  .brand-strip-title{font-size:20px}
  .brand-strip-marquee::before,.brand-strip-marquee::after{width:36px}
  .brand-strip-track{gap:36px;animation-duration:22s}
  .brand-strip-logo{height:24px}
  .case-studies-toolbar{gap:14px}
  .case-studies-controls{width:100%;justify-content:flex-end}
  .case-study-body{padding:22px}
  .case-study-card h3{font-size:24px}
  .case-study-stats{grid-template-columns:1fr}
  .case-study-grid{grid-template-columns:1fr}
  .testimonial-controls{width:100%;justify-content:flex-end}
  .testimonial-card{padding:32px 24px}
  .testimonial-card blockquote{font-size:20px}
  .client-logos{margin-top:30px;padding-top:22px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .stats-row{gap:32px}
  .stat-item .stat-number{font-size:36px}
  .form-row{grid-template-columns:1fr}
  .areas-grid{grid-template-columns:1fr}
  .sticky-cta{
    bottom:16px;
    right:16px;
    left:16px;
    justify-content:stretch;
    align-items:center;
    gap:8px;
    padding:8px;
    border-radius:16px;
    background:rgba(10,17,27,.88);
    border:1px solid rgba(79,163,138,.22);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    max-width:none;
  }
  .sticky-cta .btn{
    flex:1 1 0;
    min-width:0;
    height:40px;
    padding:0 10px;
    font-size:12px;
    letter-spacing:0;
    white-space:nowrap;
  }
  .sticky-call{display:inline-flex}
  .trust-badges{gap:12px}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
}

@media(max-width:480px){
  .hero h1{font-size:26px}
  .container{padding:0 16px}
  .hero-metrics{padding:24px 20px}
  .hero-metrics-header h2{font-size:26px}
  .sticky-cta{
    gap:6px;
    padding:6px;
  }
  .sticky-cta .btn{
    height:38px;
    padding:0 8px;
    font-size:11px;
  }
}

@media(prefers-reduced-motion:reduce){
  .brand-strip-track{animation:none}
}
