/*
Theme Name: Mendes Design Co
Theme URI: https://mendesdesignco.com
Author: Adriano Mendes
Description: Custom theme for Mendes Design Co — Web Design & SEO Agency
Version: 3.5
License: Private
Text Domain: mendesdesignco
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#ffffff;--bg-alt:#f5f5f5;--text:#111111;--muted:#555555;--accent:#111111;--accent-light:#333333;--border:rgba(0,0,0,0.08);--green:#059669;--green-light:#10b981}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Barlow',sans-serif;font-weight:400;line-height:1.6;overflow-x:hidden}

nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:72px;background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-logo{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;text-decoration:none;line-height:1;display:inline-flex;flex-direction:column}
.nav-logo .logo-line1{color:#111111;font-size:0.9rem;display:block;letter-spacing:0.28em}
.nav-logo .logo-line2{color:var(--accent);font-size:0.9rem;display:block;letter-spacing:0.04em;border-bottom:1.5px solid var(--accent);padding-bottom:2px}
.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none}
.nav-links a{font-family:'Barlow',sans-serif;font-weight:500;font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text);text-decoration:none;transition:color 0.2s}
.nav-links a:hover,.nav-links a.active{color:var(--green)}

.btn{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.9rem;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;padding:0.75rem 1.75rem;background:var(--accent);color:#fff;border:none;cursor:pointer;transition:background 0.2s,transform 0.15s}
.btn:hover{background:var(--accent-light);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-outline:hover{background:var(--bg-alt);border-color:var(--accent);color:var(--accent)}
.btn-primary{padding:1.15rem 2.6rem;font-size:1.05rem}
.hero .btn-primary{background:#ffffff;color:#111111}
.hero .btn-primary:hover{background:var(--green);color:#ffffff}
.hero-text-link{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.95rem;letter-spacing:0.18em;text-transform:uppercase;color:#ffffff;text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;transition:gap 0.2s,color 0.2s;border-bottom:1px solid rgba(255,255,255,0.5);padding-bottom:0.4rem}
.hero-text-link:hover{gap:0.85rem;color:var(--green);border-bottom-color:var(--green)}
.btn-sm{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;padding:0.65rem 1.25rem;background:var(--accent);color:#fff;display:inline-block;transition:background 0.2s}
.btn-sm:hover{background:var(--accent-light)}
.btn-dark{background:#111;color:var(--text);display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.9rem;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;padding:0.85rem 2rem;transition:background 0.2s;white-space:nowrap}
.btn-dark:hover{background:#222}

section{padding:6rem 5%}
.section-inner{max-width:1200px;margin:0 auto}
.section-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;display:block}
.section-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2.2rem,4.5vw,3.5rem);text-transform:uppercase;line-height:0.95;color:var(--text);margin-bottom:1.5rem}
.section-sub{font-size:1rem;color:var(--muted);max-width:540px;line-height:1.7}

.page-hero{padding:120px 5% 60px;border-bottom:1px solid var(--border);position:relative;overflow:hidden;background:var(--bg)}
.page-hero-img{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.page-hero-img img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(0.45);display:block}
.page-hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto}
.page-hero::before{display:none}
.page-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--green);display:block;margin-bottom:1rem;opacity:1;animation:none}
.page-hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(3rem,7vw,6rem);text-transform:uppercase;line-height:0.95;color:var(--text);margin-bottom:1.5rem;opacity:1;animation:none}
.page-hero h1 em{font-style:normal;color:var(--text)}
.page-hero-sub{font-size:1.05rem;color:var(--muted);max-width:560px;line-height:1.7;opacity:1;animation:none}

.final-cta{background:var(--bg-alt);padding:8rem 5%;text-align:center;position:relative;overflow:hidden}
.final-cta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(0,0,0,0.04) 0%,transparent 70%);pointer-events:none}
.final-cta .section-title{font-size:clamp(2.5rem,5vw,4.5rem);margin-bottom:1.5rem}
.final-cta .section-sub{margin:0 auto 3rem;max-width:520px}
.cta-meta{font-size:0.8rem;color:var(--muted);margin-top:1.5rem;letter-spacing:0.05em}

.site-footer{background:var(--bg);border-top:1px solid var(--border);padding:3rem 5%}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}
.footer-logo{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;text-decoration:none;line-height:1;display:inline-flex;flex-direction:column}
.footer-logo .logo-line1{color:#111111;font-size:0.9rem;display:block;letter-spacing:0.28em}
.footer-logo .logo-line2{color:var(--accent);font-size:0.9rem;display:block;letter-spacing:0.04em;border-bottom:1.5px solid var(--accent);padding-bottom:2px}
.footer-links{display:flex;gap:2rem;list-style:none}
.footer-links a{font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:var(--text)}
.footer-links a.footer-portal-link{color:var(--green);font-weight:600}
.footer-links a.footer-portal-link:hover{color:var(--green-light)}
.footer-copy{font-size:0.75rem;color:rgba(255,255,255,0.6)}

.hero{display:flex;align-items:center;padding:140px 5% 100px;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--border)}
.hero-inner{max-width:1200px;width:100%;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.hero-label{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin-bottom:1.5rem;opacity:0;animation:fadeUp 0.6s ease forwards 0.1s}
.hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(3.5rem,7vw,6.5rem);line-height:0.95;text-transform:uppercase;color:#ffffff;margin-bottom:1.5rem;opacity:0;animation:fadeUp 0.6s ease forwards 0.2s}
.hero h1 em{font-style:normal;color:var(--green) !important}
.hero-sub{font-size:1.15rem;font-weight:400;color:#ffffff;line-height:1.65;max-width:480px;margin-bottom:2.5rem;opacity:0;animation:fadeUp 0.6s ease forwards 0.35s}
.hero-sub-short{display:none}
.hero-reveal{display:contents}
.hero-scroll-mobile{display:none}
.hero-cta{display:flex;gap:1.75rem;align-items:center;flex-wrap:wrap;opacity:0;animation:fadeUp 0.6s ease forwards 0.5s}
.hero-visual{opacity:0;animation:fadeIn 1s ease forwards 0.4s}
.hero-cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.2)}
.hero-card{background:rgba(25,25,25,0.8);backdrop-filter:blur(10px);padding:2rem;position:relative}
.hero-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--green)}
.hero-card-label{font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);margin-bottom:1rem}
.hero-card-stat{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3.5rem;color:#ffffff;line-height:1;margin-bottom:0.5rem}
.hero-card-desc{font-size:0.85rem;color:rgba(255,255,255,0.75)}
.hero-scroll{display:none}
.scroll-arrow{display:block;transition:color 0.3s}
.hero-scroll:hover{color:var(--green)}

.proof-bar{background:var(--accent);padding:1rem 5%;overflow:hidden}
.proof-bar-inner{display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap}
.proof-item{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.85rem;letter-spacing:0.15em;text-transform:uppercase;color:#fff;white-space:nowrap}
.proof-dot{width:4px;height:4px;background:rgba(255,255,255,0.35);border-radius:50%}

.services-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;gap:2rem;flex-wrap:wrap}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(0,0,0,0.15);border:1px solid rgba(0,0,0,0.15)}
.service-card{background:var(--bg-alt);padding:3rem 2.5rem;position:relative;transition:background 0.3s;overflow:hidden}
.service-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s ease}
@media (hover:hover){
  .service-card:hover{background:#ededed}
  .service-card:hover::after{transform:scaleX(1)}
}
.service-number{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:4rem;color:rgba(0,0,0,0.12);line-height:1;margin-bottom:1.5rem}
.service-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.6rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text);margin-bottom:1rem}
.service-desc{font-size:0.9rem;color:var(--muted);line-height:1.7;margin-bottom:2rem}
.service-link{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;transition:gap 0.2s}
.service-link:hover{gap:0.8rem}

.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-top:4rem}
.why-item{background:var(--bg-alt);padding:3rem;position:relative}
.why-item::before{content:'';position:absolute;top:3rem;left:0;width:3px;height:2rem;background:var(--accent)}
.why-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;padding-left:1rem;opacity:1}
.why-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.4rem;text-transform:uppercase;color:var(--text);margin-bottom:0.75rem;padding-left:1rem}
.why-desc{font-size:0.9rem;color:var(--muted);line-height:1.7;padding-left:1rem}

.work-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;flex-wrap:wrap;gap:2rem}
.work-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:1px;background:var(--border)}
.work-card{background:var(--bg-alt);padding:3rem;position:relative;overflow:hidden;transition:background 0.3s}
@media (hover:hover){
  .work-card:hover{background:#555}
}
.work-card.featured{grid-row:span 2}
.work-tag{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:#fff;background:var(--accent);padding:0.2rem 0.6rem;margin-bottom:1.5rem}
.work-mockup{width:100%;height:200px;background:#383838;border:1px solid var(--border);margin-bottom:2rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.work-mockup-bar{position:absolute;top:0;left:0;right:0;height:28px;background:#1a1a1a;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 1rem;gap:0.4rem}
.mock-dot{width:7px;height:7px;border-radius:50%}
.mock-dot:nth-child(1){background:#ff5f57}
.mock-dot:nth-child(2){background:#febc2e}
.mock-dot:nth-child(3){background:#28c840}
.mock-url{flex:1;height:14px;background:var(--border);border-radius:2px;margin-left:0.5rem}
.mock-content{margin-top:28px;width:100%;height:calc(100% - 28px);display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:0.5rem}
.mock-line{height:8px;background:var(--border);border-radius:2px}
.work-client{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.6rem;text-transform:uppercase;color:var(--text);margin-bottom:0.5rem}
.work-industry{font-size:0.8rem;color:var(--muted);margin-bottom:1.5rem}
.work-result{font-size:0.85rem;color:var(--muted);line-height:1.6;padding-top:1.5rem;border-top:1px solid var(--border)}

.service-block{padding:6rem 5%;border-bottom:1px solid var(--border)}
.service-block:nth-child(even){background:var(--bg-alt)}
.service-block-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.service-tag{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:#fff;background:var(--accent);padding:0.25rem 0.7rem;margin-bottom:1.5rem}
.service-block h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3.2rem);text-transform:uppercase;line-height:0.95;color:var(--text);margin-bottom:1.25rem}
.service-block p{font-size:0.95rem;color:var(--muted);line-height:1.75;margin-bottom:2rem}
.includes-list{list-style:none;display:flex;flex-direction:column;gap:0.75rem;margin-bottom:2.5rem}
.includes-list li{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.9rem;color:var(--text);line-height:1.5}
.includes-list li::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;margin-top:0.45rem;flex-shrink:0}
.visual-card{background:var(--bg-alt);border:1px solid var(--border);padding:2.5rem;position:relative}
.service-block:nth-child(even) .visual-card{background:var(--bg)}
.visual-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent)}
.visual-card-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}
.visual-stat{display:flex;flex-direction:column;gap:1.25rem}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}
.stat-row:last-child{border-bottom:none;padding-bottom:0}
.stat-label{font-size:0.8rem;color:var(--muted)}
.stat-value{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.1rem;color:var(--text)}
.stat-value.accent{color:var(--accent)}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:4rem}
.step{background:var(--bg-alt);padding:3rem 2.5rem;position:relative}
.step-number{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:5rem;color:rgba(0,0,0,0.12);line-height:1;margin-bottom:1rem}
.step-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.5rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text);margin-bottom:0.75rem}
.step-desc{font-size:0.9rem;color:var(--muted);line-height:1.7}
.step-arrow{position:absolute;top:3rem;right:2rem;font-size:1.5rem;color:var(--accent);opacity:0.4}
.step:last-child .step-arrow{display:none}

.faq-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;flex-wrap:wrap;gap:2rem}
.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border);padding:2rem 0;cursor:pointer}
.faq-question{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.faq-q{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.2rem;text-transform:uppercase;color:var(--text)}
.faq-icon{font-size:1.2rem;color:var(--accent);flex-shrink:0;transition:transform 0.3s}
.faq-answer{font-size:0.9rem;color:var(--muted);line-height:1.75;max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding-top 0.3s}
.faq-item.open .faq-answer{max-height:300px;padding-top:1.25rem}
.faq-item.open .faq-icon{transform:rotate(45deg)}

.story{padding:6rem 5%;background:var(--bg-alt);border-bottom:1px solid var(--border)}
.story-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:5rem;align-items:start}
.story-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:1rem}
.story-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3rem);text-transform:uppercase;line-height:0.95;color:var(--text);position:sticky;top:100px}
.story-content p{font-size:1rem;color:var(--muted);line-height:1.85;margin-bottom:1.5rem}
.story-content strong{color:var(--text);font-weight:600}
.nh-callout{background:var(--bg);border-left:3px solid var(--accent);padding:2rem 2.5rem;margin:2.5rem 0}
.nh-callout-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:0.75rem}
.nh-callout p{font-size:0.95rem;color:var(--muted);line-height:1.7;margin-bottom:0!important}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.value-card{background:var(--bg);padding:3rem 2.5rem;position:relative}
.value-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s ease}
.value-card:hover::after{transform:scaleX(1)}
.value-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3.5rem;color:rgba(0,0,0,0.12);line-height:1;margin-bottom:1rem}
.value-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.3rem;text-transform:uppercase;color:var(--text);margin-bottom:0.75rem}
.value-desc{font-size:0.88rem;color:var(--muted);line-height:1.7}
.approach{padding:6rem 5%;background:var(--bg-alt);border-bottom:1px solid var(--border)}
.approach-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.approach-list{display:flex;flex-direction:column;gap:1px;background:var(--border);margin-top:3rem}
.approach-item{background:var(--bg-alt);padding:1.75rem 2rem;display:flex;gap:1.5rem;align-items:flex-start}
.approach-icon{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.1rem;color:var(--accent);flex-shrink:0;margin-top:0.1rem}
.approach-text strong{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;text-transform:uppercase;color:var(--text);margin-bottom:0.25rem}
.approach-text span{font-size:0.88rem;color:var(--muted);line-height:1.6}
.approach-right{display:flex;flex-direction:column;gap:2rem}
.approach-stat-card{background:var(--bg);border:1px solid var(--border);padding:2rem;position:relative}
.approach-stat-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent)}
.approach-stat-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3rem;color:var(--text);line-height:1;margin-bottom:0.5rem}
.approach-stat-label{font-size:0.85rem;color:var(--muted)}

.filter-bar{padding:2rem 5%;border-bottom:1px solid var(--border);background:var(--bg-alt)}
.filter-inner{max-width:1200px;margin:0 auto;display:flex;gap:0.5rem;flex-wrap:wrap}
.filter-btn{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;padding:0.6rem 1.25rem;background:transparent;color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:all 0.2s}
.filter-btn:hover{color:var(--text);border-color:var(--muted);border-color:var(--border)}
.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.projects-section{padding:5rem 5%}
.projects-inner{max-width:1200px;margin:0 auto}
.featured-project{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-bottom:1px;align-items:stretch}
.featured-img{overflow:hidden;display:block;min-height:450px;position:relative}
.featured-img img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:top center;transition:transform 0.6s ease}
.featured-project:hover .featured-img img{transform:scale(1.03)}
.featured-overlay{position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,0.6),transparent);pointer-events:none}
.featured-content{background:var(--bg-alt);padding:3.5rem;display:flex;flex-direction:column;justify-content:space-between}
.project-tags{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:2rem}
.project-tag{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:#fff;background:var(--accent);padding:0.2rem 0.6rem}
.project-tag.outline{background:transparent;color:var(--muted);border:1px solid var(--border)}
.featured-content h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(1.8rem,3vw,2.8rem);text-transform:uppercase;line-height:0.95;color:var(--text);margin-bottom:0.75rem}
.project-industry{font-size:0.85rem;color:var(--muted);margin-bottom:1.5rem}
.project-desc{font-size:0.9rem;color:var(--muted);line-height:1.7;margin-bottom:2rem;flex-grow:1}
.project-results{border-top:1px solid var(--border);padding-top:1.5rem;margin-bottom:2rem}
.project-results-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:0.75rem}
.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.result-value{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.6rem;color:var(--text);line-height:1}
.result-label{font-size:0.75rem;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.project-card{background:var(--bg-alt);overflow:hidden;cursor:pointer;transition:background 0.3s}
@media (hover:hover){
  .project-card:hover{background:#555}
  .project-card:hover .project-card-img img{transform:scale(1.05);filter:brightness(1)}
}
.project-card-img{position:relative;aspect-ratio:16/10;overflow:hidden}
.project-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;filter:brightness(0.85)}
.project-card-body{padding:2rem}
.project-card-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.3rem;text-transform:uppercase;color:var(--text);margin-bottom:0.4rem}
.project-card-industry{font-size:0.8rem;color:var(--muted);margin-bottom:1rem}
.project-card-desc{font-size:0.85rem;color:var(--muted);line-height:1.65}
.case-section{margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--border)}
.case-section.compact{margin-top:1.25rem;padding-top:1.25rem}
.case-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);margin-bottom:1rem}
.case-list{list-style:none;padding:0;margin:0}
.case-list li{position:relative;padding-left:1.5rem;font-size:0.9rem;line-height:1.6;color:var(--text);margin-bottom:0.65rem}
.case-list li::before{content:"";position:absolute;left:0;top:0.65rem;width:8px;height:1px;background:var(--green)}
.case-list.compact li{font-size:0.82rem;margin-bottom:0.5rem}
.case-process{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}
.case-process li{display:flex;gap:1rem;align-items:flex-start}
.case-step-num{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.1rem;color:var(--green);min-width:1.75rem;line-height:1.4}
.case-process li>div{display:flex;flex-direction:column;gap:0.15rem}
.case-process li strong{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.95rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text)}
.case-process li span{font-size:0.85rem;color:var(--muted);line-height:1.55}
.project-card.coming-soon{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:2.5rem;min-height:300px;border:1px dashed rgba(255,255,255,0.12);background:transparent}
.coming-soon-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:0.2rem 0.6rem;margin-bottom:1.5rem}
.coming-soon h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.3rem;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem}
.coming-soon p{font-size:0.85rem;color:var(--muted);opacity:0.7;font-style:italic}
.process-strip{background:var(--accent);padding:3rem 5%;margin-top:5rem}
.process-strip-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}
.process-strip h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(1.5rem,3vw,2.2rem);text-transform:uppercase;color:#fff;line-height:1}
.process-strip p{font-size:0.9rem;color:rgba(255,255,255,0.7);max-width:400px}

.contact-main{padding:6rem 5%}
.contact-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start}
.info-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:1rem}
.info-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2rem,3.5vw,2.8rem);text-transform:uppercase;line-height:0.95;color:var(--text);margin-bottom:1.5rem}
.info-desc{font-size:0.95rem;color:var(--muted);line-height:1.75;margin-bottom:3rem}
.contact-details{display:flex;flex-direction:column;gap:1px;background:var(--border);margin-bottom:3rem}
.contact-detail-item{background:var(--bg-alt);padding:1.5rem 2rem;display:flex;align-items:center;gap:1.25rem}
.detail-icon{font-size:1.1rem;flex-shrink:0}
.detail-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:0.2rem}
.detail-value{font-size:0.9rem;color:var(--text)}
.detail-value a{color:var(--text);text-decoration:none;transition:color 0.2s}
.detail-value a:hover{color:var(--accent)}
.service-areas{background:var(--bg-alt);border:1px solid var(--border);padding:2rem;position:relative}
.service-areas::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent)}
.areas-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.areas-list{display:flex;flex-wrap:wrap;gap:0.5rem}
.area-tag{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:0.3rem 0.75rem}
.area-tag.primary{color:var(--text);border-color:var(--muted);border-color:var(--border)}
.contact-form-wrap{background:var(--bg-alt);border:1px solid var(--border);padding:3rem;position:relative}
.contact-form-wrap::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent)}
.form-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.5rem;text-transform:uppercase;color:var(--text);margin-bottom:0.5rem}
.form-subtitle{font-size:0.85rem;color:var(--muted);margin-bottom:2.5rem}
.form-group{margin-bottom:1.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
label{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem}
input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:'Barlow',sans-serif;font-size:0.9rem;padding:0.9rem 1rem;outline:none;transition:border-color 0.2s;appearance:none;-webkit-appearance:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--muted);border-color:var(--border)}
select{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 fill='%23aaaaaa' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}
select option{background:var(--bg-alt);color:var(--text)}
textarea{resize:vertical;min-height:140px}
.form-submit{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.form-note{font-size:0.78rem;color:var(--muted)}
.btn-submit{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:0.12em;text-transform:uppercase;padding:1rem 2.5rem;background:var(--accent);color:#fff;border:none;cursor:pointer;transition:background 0.2s,transform 0.15s}
.btn-submit:hover{background:var(--accent-light);transform:translateY(-1px)}
.form-success{display:none;text-align:center;padding:3rem 2rem}
.success-icon{font-size:3rem;margin-bottom:1.5rem}
.success-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2rem;text-transform:uppercase;color:var(--text);margin-bottom:0.75rem}
.success-desc{font-size:0.9rem;color:var(--muted)}
.next-steps{background:var(--bg-alt);padding:6rem 5%;border-top:1px solid var(--border)}
.next-steps-inner{max-width:1200px;margin:0 auto}
.next-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:1rem}
.next-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3rem);text-transform:uppercase;line-height:0.95;color:var(--text);margin-bottom:3rem}
.next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.next-item{background:var(--bg-alt);padding:2.5rem}
.next-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3rem;color:rgba(0,0,0,0.12);line-height:1;margin-bottom:1rem}
.next-item-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.2rem;text-transform:uppercase;color:var(--text);margin-bottom:0.6rem}
.next-item-desc{font-size:0.88rem;color:var(--muted);line-height:1.65}

.blog-section{padding:6rem 5%}
.blog-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:start}
.featured-post{background:var(--bg-alt);border:1px solid var(--border);overflow:hidden;margin-bottom:1px;cursor:pointer;transition:background 0.3s}
@media (hover:hover){
  .featured-post:hover{background:#555}
  .featured-post:hover .featured-post-img img{transform:scale(1.03);filter:brightness(0.9)}
}
.featured-post-img{position:relative;aspect-ratio:16/7;overflow:hidden}
.featured-post-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;filter:brightness(0.8)}
.featured-post-body{padding:2.5rem}
.post-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.post-category{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:#fff;background:var(--accent);padding:0.2rem 0.6rem}
.post-date{font-size:0.78rem;color:var(--muted)}
.post-read-time{font-size:0.78rem;color:var(--muted)}
.featured-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:0.2rem 0.6rem}
.post-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(1.6rem,3vw,2.4rem);text-transform:uppercase;line-height:1;color:var(--text);margin-bottom:1rem}
.post-excerpt{font-size:0.9rem;color:var(--muted);line-height:1.75;margin-bottom:1.5rem}
.post-link{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;transition:gap 0.2s}
.post-link:hover{gap:0.8rem}
.post-list{display:flex;flex-direction:column;gap:1px;background:var(--border)}
.post-card{background:var(--bg-alt);overflow:hidden;cursor:pointer;transition:background 0.3s;display:grid;grid-template-columns:140px 1fr}
@media (hover:hover){
  .post-card:hover{background:#555}
  .post-card:hover .post-card-img img{transform:scale(1.05);filter:brightness(0.9)}
}
.post-card-img{position:relative;overflow:hidden}
.post-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;filter:brightness(0.8)}
.post-card-body{padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between}
.post-card-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.1rem;text-transform:uppercase;line-height:1.1;color:var(--text);margin-bottom:0.5rem}
.post-card-excerpt{font-size:0.8rem;color:var(--muted);line-height:1.6;margin-bottom:0.75rem}
.blog-sidebar{display:flex;flex-direction:column;gap:2rem;position:sticky;top:100px}
.sidebar-card{background:var(--bg-alt);border:1px solid var(--border);padding:2rem;position:relative}
.sidebar-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent)}
.sidebar-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}
.sidebar-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.2rem;text-transform:uppercase;color:var(--text);margin-bottom:0.75rem}
.sidebar-desc{font-size:0.85rem;color:var(--muted);line-height:1.65;margin-bottom:1.5rem}
.category-list{display:flex;flex-direction:column;gap:0.5rem}
.category-item{display:flex;justify-content:space-between;align-items:center;padding:0.75rem 0;border-bottom:1px solid var(--border);cursor:pointer}
.category-item:last-child{border-bottom:none}
.category-name{font-size:0.85rem;color:var(--muted);transition:color 0.2s}
.category-item:hover .category-name{color:var(--text)}
.category-count{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.75rem;color:var(--accent)}
.coming-soon-strip{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4rem 5%;text-align:center}
.coming-soon-strip-inner{max-width:600px;margin:0 auto}
.cs-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:1rem}
.cs-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(1.8rem,3vw,2.8rem);text-transform:uppercase;line-height:0.95;color:var(--text);margin-bottom:1rem}
.cs-desc{font-size:0.9rem;color:var(--muted);line-height:1.7}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scrollPulse{0%,100%{opacity:1}50%{opacity:0.3}}
@keyframes scrollBounce{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(8px)}
}

@media(max-width:1024px){.blog-inner{grid-template-columns:1fr}.blog-sidebar{position:static}}

@media(max-width:900px){
  /* ── LAYOUT FIXES ── */
  .hero-inner{grid-template-columns:1fr}
  .hero-visual{display:none}
  .services-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .work-grid{grid-template-columns:1fr}
  .work-card.featured{grid-row:span 1}
  .service-block-inner{grid-template-columns:1fr;gap:3rem}
  .steps{grid-template-columns:1fr}
  .story-inner{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .approach-inner{grid-template-columns:1fr}
  .featured-project{grid-template-columns:1fr}
  .project-grid{grid-template-columns:1fr}
  .contact-inner{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .next-grid{grid-template-columns:1fr}
  .process-strip-inner{flex-direction:column;align-items:flex-start}

  /* ── MOBILE NAV ── */
  .nav-links{display:none}

  /* ── PADDING — tighten everything on mobile ── */
  section{padding:1.5rem 5%}
  .page-hero{padding:80px 5% 30px;}
  .hero{padding:120px 5% 5rem;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-start}
  .hero h1{font-size:clamp(3.2rem,14vw,5rem) !important;line-height:0.95 !important;margin-bottom:1.25rem !important}
  .hero-sub{margin-bottom:1.5rem !important}

  /* Reveal-on-Scroll: progressive scroll-linked reveal */
  .hero-sub-short{display:block !important;font-size:1rem;color:rgba(255,255,255,0.85);line-height:1.55;margin-top:0.5rem;margin-bottom:0;max-width:480px}
  .hero-reveal{display:block !important;margin-top:1.5rem !important}
  .hero-reveal-item{opacity:0;transform:translateY(24px);will-change:opacity, transform}
  .hero-reveal .hero-sub{margin-top:0 !important;margin-bottom:0 !important;animation:none !important}
  .hero-reveal .hero-cta{margin-top:1.5rem !important;animation:none !important}
  .hero-scroll-mobile{display:none !important}
  .final-cta{padding:2.5rem 5%}
  .story{padding:1.5rem 5%}
  .approach{padding:1.5rem 5%}
  .service-block{padding:1.5rem 5%}
  .contact-main{padding:1.5rem 5%}
  .next-steps{padding:1.5rem 5%}
  .projects-section{padding:1.5rem 5%}
  .blog-section{padding:1.5rem 5%}
  .coming-soon-strip{padding:1.5rem 5%}
  .filter-bar{padding:1rem 5%}
  .proof-bar{padding:0.75rem 5%}
  .process-strip{padding:1.5rem 5%;margin-top:1rem}
  .site-footer{padding:1.5rem 5%}

  /* ── TIGHTER CARD/ITEM PADDING — denser mobile feel ── */
  .why-item{padding:1.75rem 1.5rem}
  .why-item::before{top:1.75rem;height:1.5rem}
  .why-grid{margin-top:2rem}
  .service-card{padding:2rem 1.5rem}
  .work-card{padding:2rem 1.5rem}
  .step{padding:2rem 1.5rem}
  .value-card{padding:2rem 1.5rem}
  /* Tighter gap between section headers and content */
  .section-header{margin-bottom:1.5rem !important}
  /* Hero card padding inside hero stats */
  .hero-card{padding:1.5rem 1.25rem !important}

  /* ── FEATURED IMAGE GAP FIX ── */
  .featured-img{min-height:280px}
  .featured-project{gap:0}

  /* ── COMING SOON CARDS — remove huge min-height ── */
  .project-card.coming-soon{min-height:160px;padding:1.5rem}

  /* ── VALUES GRID — full width ── */
  .values-grid{grid-template-columns:1fr;background:none;gap:0}
  .value-card{width:100%;border-bottom:1px solid var(--border)}

  /* ── APPROACH STAT CARDS — tighter gap ── */
  .approach-right{gap:1rem}
  .approach-stat-card{padding:1.5rem}

  /* ── ABOUT PAGE PHOTO — full width, fix overlay ── */
  .story-inner > div:first-child{position:static}
  .story-title{position:static;margin-bottom:2rem}

  /* ── SECTION TITLES — scale down on mobile ── */
  .section-title{font-size:clamp(1.8rem,6vw,2.5rem)}
  .page-hero h1{font-size:clamp(2.5rem,10vw,4rem)}
  .hero h1{font-size:clamp(2.8rem,10vw,4.5rem)}
  .final-cta .section-title{font-size:clamp(2rem,7vw,3rem)}

  /* ── WHY GRID NUMBERS — visible on mobile ── */
  .why-num{font-size:1rem}

  /* ── WORK HEADER ── */
  .work-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:2rem}
  .services-header{margin-bottom:2rem}
  .faq-header{margin-bottom:2rem}
}

@media(max-width:600px){
  .post-card{grid-template-columns:1fr}
  .post-card-img{aspect-ratio:16/7}
  .proof-bar-inner{gap:1rem}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:1rem}
  .footer-links{flex-wrap:wrap;gap:1rem}
  .hero-cta{flex-direction:column;align-items:flex-start}
  .btn{width:100%;text-align:center}
  .results-grid{grid-template-columns:1fr 1fr}
}

/* ─── WPFORMS STYLING ─── */
.wpforms-container{width:100%}
.wpforms-form .wpforms-field{margin-bottom:1.25rem}
.wpforms-form label.wpforms-field-label{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem}
.wpforms-form input[type=text],.wpforms-form input[type=email],.wpforms-form input[type=tel],.wpforms-form textarea,.wpforms-form select{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:'Barlow',sans-serif;font-size:0.9rem;padding:0.9rem 1rem;outline:none;transition:border-color 0.2s;appearance:none;-webkit-appearance:none;border-radius:0}
.wpforms-form input:focus,.wpforms-form textarea:focus,.wpforms-form select:focus{border-color:var(--accent)}
.wpforms-form textarea{min-height:140px;resize:vertical}
.wpforms-form .wpforms-submit-container{margin-top:1.5rem}
.wpforms-form .wpforms-submit{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:0.12em;text-transform:uppercase;padding:1rem 2.5rem;background:var(--accent);color:#fff;border:none;cursor:pointer;transition:background 0.2s;border-radius:0;width:100%}
.wpforms-form .wpforms-submit:hover{background:var(--accent-light)}
.wpforms-form .wpforms-field-container .wpforms-error{font-size:0.8rem;color:#e53e3e;margin-top:0.25rem}
.wpforms-confirmation-container-full{background:var(--bg-alt);border:1px solid var(--border);padding:2rem;text-align:center;font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;text-transform:uppercase;color:var(--text)}

/* ── ABOUT PAGE PHOTO GRID MOBILE ── */
@media(max-width:900px){
  .about-photo-grid{grid-template-columns:1fr !important;gap:2rem !important}
  .about-photo-grid > div:first-child{max-width:100%}
}

/* ── HAMBURGER & MOBILE MENU ── */
.nav-right{display:flex;align-items:center;gap:1rem}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px;width:36px;height:36px;z-index:101;position:relative}
.hamburger span{display:block;width:24px;height:2px;background:var(--text);transition:all 0.3s ease;transform-origin:center}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);background:var(--green)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:var(--green)}

/* ── MOBILE MENU — STYLE 4 REFINED ── */
.mobile-menu{display:none;position:fixed;top:72px;right:0;bottom:0;width:84%;max-width:420px;background:#fafafa;z-index:99;transform:translateX(110%);transition:transform 0.45s cubic-bezier(0.65,0,0.35,1);overflow:hidden;box-shadow:-20px 0 50px rgba(0,0,0,0.18);flex-direction:column}
.mobile-menu::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--green);z-index:1}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu-inner{padding:2rem 1.5rem 1.25rem 1.75rem;flex:1;overflow-y:auto}
.mobile-menu-section-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--green);margin-bottom:1.25rem;display:block;opacity:0;transform:translateY(8px)}
.mobile-menu.open .mobile-menu-section-label{animation:menuFadeUp 0.5s ease forwards 0.05s}
.mobile-menu ul{list-style:none;padding:0;margin:0}
.mobile-menu ul li{border-bottom:1px solid rgba(0,0,0,0.06);opacity:0;transform:translateX(8px)}
.mobile-menu.open ul li{animation:menuSlideRight 0.45s ease forwards}
.mobile-menu.open ul li:nth-child(1){animation-delay:0.12s}
.mobile-menu.open ul li:nth-child(2){animation-delay:0.18s}
.mobile-menu.open ul li:nth-child(3){animation-delay:0.24s}
.mobile-menu.open ul li:nth-child(4){animation-delay:0.30s}
.mobile-menu.open ul li:nth-child(5){animation-delay:0.36s}
.mobile-menu.open ul li:nth-child(6){animation-delay:0.42s}
.mobile-menu ul li a{display:flex;align-items:center;justify-content:space-between;padding:0.95rem 0;text-decoration:none;transition:padding 0.25s,color 0.25s;position:relative}
.mobile-menu ul li a .label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.4rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--text);line-height:1;transition:color 0.25s}
.mobile-menu ul li.active a .label{color:var(--green)}
.mobile-menu ul li.active a::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}
.mobile-menu-foot{padding:1.25rem 1.5rem 1.5rem 1.75rem;border-top:1px solid rgba(0,0,0,0.06);background:#fff;opacity:0;transform:translateY(8px)}
.mobile-menu.open .mobile-menu-foot{animation:menuFadeUp 0.5s ease forwards 0.5s}
.mobile-menu-foot-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--green);margin-bottom:0.5rem;display:block}
.mobile-menu-foot a{display:block;color:var(--text);text-decoration:none;font-size:0.9rem;font-weight:500;margin-bottom:0.15rem;transition:color 0.2s}
.mobile-menu-foot a:hover{color:var(--green)}
.mobile-menu-foot .meta{font-size:0.7rem;color:var(--muted);margin-top:0.5rem;letter-spacing:0.02em}
@keyframes menuFadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes menuSlideRight{to{opacity:1;transform:translateX(0)}}

/* Hover-only refinements (skipped on touch devices) */
@media (hover:hover){
  .mobile-menu ul li a:hover{padding-left:6px}
  .mobile-menu ul li a:hover .label{color:var(--green)}
}
body.menu-open{overflow:hidden}

@media(max-width:900px){
  .hamburger{display:flex}
  .mobile-menu{display:flex}
  .nav-right .btn{display:none}
}

/* ── GREEN ACCENT — decorative elements only ── */
.nav-logo .logo-line2{color:var(--green);border-bottom-color:var(--green)}
.footer-logo .logo-line2{color:var(--green);border-bottom-color:var(--green)}
.section-label{color:var(--green)}
.page-label{color:rgba(255,255,255,0.75)}
.story-label{color:var(--green)}
.info-label{color:var(--green)}
.next-label{color:var(--green)}
.areas-label{color:var(--green)}
.sidebar-label{color:var(--green)}
.cs-label{color:var(--green)}
.detail-label{color:var(--green)}
.project-results-label{color:var(--green)}
.visual-card-title{color:var(--green)}
.why-num{color:var(--green)}
.service-link{color:var(--green)}
.service-link:hover{color:var(--green-light)}
.post-link{color:var(--green)}
.post-link:hover{color:var(--green-light)}
.why-item::before{background:var(--green)}
.hero-card::before{background:var(--green)}
.visual-card::before{background:var(--green)}
.approach-stat-card::before{background:var(--green)}
.sidebar-card::before{background:var(--green)}
.nh-callout{border-left-color:var(--green)}
.nh-callout-label{color:var(--green)}
.value-card::after{background:var(--green)}
.service-card::after{background:var(--green)}
.step-arrow{color:var(--green)}
.category-count{color:var(--green)}
.post-category{background:var(--green);color:#fff}

/* ============================================================
   v1.5 PATCH — Visual fixes
   ============================================================ */

/* FIX 1: Hero labels — only force white on .page-hero with background image */
.page-hero:has(.page-hero-img) .page-label {
    opacity: 1 !important;
    animation: none !important;
    color: #ffffff !important;
}
/* Homepage hero label stays green */
.hero .hero-label {
    opacity: 1 !important;
    animation: none !important;
    color: var(--green) !important;
}
.page-hero:has(.page-hero-img) .page-hero h1,
.page-hero:has(.page-hero-img) h1,
.page-hero:has(.page-hero-img) .page-hero-sub {
    color: #ffffff !important;
}
.page-hero:has(.page-hero-img) h1 em {
    color: #ffffff !important;
}
.hero-card-label {
    color: #ffffff !important;
    opacity: 1 !important;
}
/* Pages without bg image: ensure label is green and text is dark */
.page-hero:not(:has(.page-hero-img)) .page-label {
    color: var(--green) !important;
    opacity: 1 !important;
}
.page-hero:not(:has(.page-hero-img)) h1,
.page-hero:not(:has(.page-hero-img)) h1 em {
    color: var(--text) !important;
    opacity: 1 !important;
}
.page-hero:not(:has(.page-hero-img)) .page-hero-sub {
    color: var(--muted) !important;
    opacity: 1 !important;
}

/* FIX 2: SCROLL indicator — show on desktop, hide on mobile */
@media (max-width: 900px) {
    .hero-scroll {
        display: none !important;
    }
}

/* FIX 4: Work page — remove grey gap below featured image */
.featured-img {
    line-height: 0;
    font-size: 0;
}
.featured-img img {
    display: block;
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}

/* FIX 6: Gradient removed */

/* ALL PAGE HEROES — black and white */
.page-hero-img img {
    filter: brightness(0.65) grayscale(100%) !important;
}

/* WORK SECTION — mobile stack */
.section-inner-pad { padding: 7rem 5%; }
@media (max-width: 900px) {
    .section-inner-pad { padding: 2rem 5% !important; }
    .hero-sub {
        font-size: 1.15rem !important;
        font-weight: 600 !important;
    }
    [style*="padding:3.5rem"] {
        padding: 1.5rem !important;
    }
    [style*="padding:3rem"] {
        padding: 1.5rem !important;
    }
    [style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    /* Featured Work rows: force single-column stack on mobile */
    div.home-work-row,
    .home-work-row[style*="grid-template-columns"] {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
    .home-work-row > a {
        width: 100% !important;
        display: block !important;
    }
    .home-work-row > a img {
        max-height: 280px;
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
    /* Force the inner content div to also be full width */
    .home-work-row > div {
        width: 100% !important;
        padding: 1.5rem !important;
    }
}
.hero-card-label {
    color: var(--green) !important;
    opacity: 1 !important;
}
.hero-card::before {
    background: var(--green) !important;
    width: 3px;
}

/* ── SERVICES PAGE SEO PROOF BANNER ── */
.seo-proof{background:#0f0f0f;color:#fff;border-top:3px solid var(--green);border-bottom:3px solid var(--green)}
.seo-proof-inner{max-width:1200px;margin:0 auto;padding:3.5rem 5%;display:grid;grid-template-columns:auto 1px 1fr;gap:3rem;align-items:center}
.seo-proof-stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.5rem;min-width:140px}
.seo-proof-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(4rem,8vw,6rem);line-height:0.9;color:var(--green);letter-spacing:-0.02em}
.seo-proof-num-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.6)}
.seo-proof-divider{width:1px;height:120px;background:rgba(255,255,255,0.15)}
.seo-proof-text{display:flex;flex-direction:column;gap:0.85rem}
.seo-proof-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--green)}
.seo-proof-h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.15;color:#fff;text-transform:uppercase;letter-spacing:-0.005em;margin:0;max-width:620px}
.seo-proof-link{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--green);text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;border-bottom:1px solid var(--green);padding-bottom:0.35rem;align-self:flex-start;transition:gap 0.2s;margin-top:0.5rem}
@media (hover:hover){
  .seo-proof-link:hover{gap:0.85rem;color:var(--green-light);border-bottom-color:var(--green-light)}
}

@media(max-width:900px){
  .seo-proof-inner{grid-template-columns:1fr;gap:1.5rem;padding:2.5rem 1.5rem}
  .seo-proof-divider{width:60px;height:1px;justify-self:center}
}

/* ── HOMEPAGE PROOF POINT (compact banner) ── */
.proof-point{background:#0f0f0f;color:#fff;border-top:3px solid var(--green);border-bottom:1px solid rgba(255,255,255,0.08)}
.proof-point-inner{max-width:1200px;margin:0 auto;padding:5rem 5%;display:grid;grid-template-columns:1.4fr 1fr;gap:4rem;align-items:center}
.proof-point-content{display:flex;flex-direction:column;gap:1.5rem}
.proof-point-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--green)}
.proof-point-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(1.6rem,2.8vw,2.5rem);line-height:1.05;color:#fff;text-transform:uppercase;letter-spacing:-0.01em;margin:0}
.proof-point-title em{font-style:normal;color:var(--green)}
.proof-point-desc{font-size:0.95rem;line-height:1.65;color:rgba(255,255,255,0.7);margin:0;max-width:480px}
.proof-point-link{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--green);text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;border-bottom:1px solid var(--green);padding-bottom:0.35rem;align-self:flex-start;transition:gap 0.2s}
@media (hover:hover){
  .proof-point-link:hover{gap:0.85rem;color:var(--green-light);border-bottom-color:var(--green-light)}
}
.proof-point-image{display:flex;justify-content:center;align-items:center}
.proof-point-image img{width:100%;max-width:340px;height:auto;display:block;box-shadow:0 18px 50px rgba(0,0,0,0.35);border-radius:6px}

@media(max-width:900px){
  .proof-point-inner{grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem}
  .proof-point-image{order:-1}
  .proof-point-image img{max-width:280px}
}

/* ── SERP PROOF SECTION ── */
.serp-proof{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#0f0f0f;color:#fff;border-top:3px solid var(--green);margin-top:5rem;align-items:stretch}
.serp-proof-content{padding:4rem 3.5rem;display:flex;flex-direction:column;justify-content:center}
.serp-proof-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--green);display:block;margin-bottom:1.5rem}
.serp-proof-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(1.6rem,2.5vw,2.3rem);line-height:1.1;color:#fff;margin:0 0 1.5rem;text-transform:uppercase;letter-spacing:-0.01em}
.serp-proof-title em{font-style:normal;color:var(--green)}
.serp-proof-desc{font-size:0.95rem;line-height:1.7;color:rgba(255,255,255,0.75);margin:0 0 2rem;max-width:480px}
.serp-proof-stats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;border-top:1px solid rgba(255,255,255,0.1);padding-top:2rem}
.serp-proof-stats li{display:flex;flex-direction:column;gap:0.25rem}
.serp-proof-stats strong{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.75rem;color:#fff;line-height:1;letter-spacing:-0.01em}
.serp-proof-stats span{font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.55);font-weight:500}
.serp-proof-image{background:#1a1a1a;padding:2.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;border-left:1px solid rgba(255,255,255,0.08)}
.serp-proof-image img{width:100%;max-width:420px;height:auto;display:block;box-shadow:0 20px 60px rgba(0,0,0,0.4);border-radius:6px}
.serp-proof-caption{font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.45);text-align:center;font-weight:500}

@media(max-width:900px){
  .serp-proof{grid-template-columns:1fr}
  .serp-proof-content{padding:2.5rem 1.5rem}
  .serp-proof-stats{grid-template-columns:repeat(2,1fr);gap:1.25rem;padding-top:1.5rem}
  .serp-proof-image{padding:1.5rem;border-left:none;border-top:1px solid rgba(255,255,255,0.08)}
}

/* ── PRICING SECTION ── */
.pricing-header{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}
.pricing-header .section-sub{margin:0;text-align:left}
.pricing-card{border:1px solid var(--border);background:var(--bg);overflow:hidden}
.pricing-card-top{background:#0f0f0f;color:#fff;padding:3rem 3.5rem;border-bottom:3px solid var(--green);position:relative}
.pricing-tag{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--green);display:block;margin-bottom:1rem}
.pricing-amount{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(3.5rem,7vw,5.5rem);line-height:1;color:#fff;letter-spacing:-0.02em}
.pricing-currency{font-size:0.55em;font-weight:700;color:var(--green);vertical-align:super;margin-right:0.15em;letter-spacing:0}
.pricing-meta{font-size:0.95rem;color:rgba(255,255,255,0.7);margin-top:0.75rem;font-weight:500}
.pricing-card-body{display:grid;grid-template-columns:1fr 1fr;gap:0}
.pricing-included{padding:3rem 3.5rem;border-right:1px solid var(--border)}
.pricing-included-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);margin-bottom:1.5rem}
.pricing-list{list-style:none;padding:0;margin:0}
.pricing-list li{position:relative;padding-left:1.75rem;font-size:0.95rem;line-height:1.55;color:var(--text);margin-bottom:0.85rem}
.pricing-list li::before{content:"";position:absolute;left:0;top:0.55rem;width:12px;height:2px;background:var(--green)}
.pricing-note{padding:3rem 3.5rem;background:var(--bg-alt);display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
.pricing-note p{font-size:0.92rem;line-height:1.65;color:var(--muted);margin:0}
.pricing-note p strong{color:var(--text);font-weight:700}
.pricing-note .btn{align-self:flex-start}

@media(max-width:900px){
    .pricing-header{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem}
    .pricing-card-top{padding:2rem 1.5rem}
    .pricing-card-body{grid-template-columns:1fr}
    .pricing-included{padding:2rem 1.5rem;border-right:none;border-bottom:1px solid var(--border)}
    .pricing-note{padding:2rem 1.5rem}
}
