picture{display:block;width:100%;height:100%}
.hero-bg picture,.page-hero-bg picture,.section-fullbleed picture{position:absolute;inset:0}
.portfolio-image picture,.service-detail-img picture,.landing-hero-image picture{display:block;width:100%;height:100%}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#0d0f0b;--color-surface:#131610;--color-surface-2:#191d15;--color-surface-3:#1f2319;--color-border:#2a2a2a;--color-border-light:#333;--color-text:#f0f0ec;--color-text-muted:#999994;--color-text-faint:#5a5a56;--color-accent:#c0a377;--color-accent-hover:#d4ba94;--color-accent-dark:#9b8256;--color-accent-glow:rgba(192,163,119,0.12);--font-display:'Cormorant Garamond',Georgia,serif;--font-body:'Inter','Helvetica Neue',sans-serif;--text-xs:clamp(0.75rem,0.7rem+0.25vw,0.875rem);--text-sm:clamp(0.875rem,0.8rem+0.35vw,1rem);--text-base:clamp(1rem,0.95rem+0.25vw,1.125rem);--text-lg:clamp(1.125rem,1rem+0.75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem+1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem+2.5vw,3.5rem);--text-3xl:clamp(2.5rem,1rem+4vw,5rem);--text-hero:clamp(3rem,0.5rem+7vw,8rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--transition-fast:180ms cubic-bezier(0.16,1,0.3,1);--transition-med:300ms cubic-bezier(0.16,1,0.3,1);--transition-slow:600ms cubic-bezier(0.16,1,0.3,1);--content-narrow:640px;--content-default:960px;--content-wide:1200px;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 16px rgba(0,0,0,0.4);--shadow-lg:0 12px 40px rgba(0,0,0,0.5)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:var(--space-16)}body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg)}img,picture,video,svg{display:block;max-width:100%;height:auto}ul[role='list'],ol[role='list']{list-style:none}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.15}p,li,figcaption{text-wrap:pretty;max-width:72ch}a,button,[role='button'],input,textarea,select{transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}::selection{background:var(--color-accent-glow);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:var(--content-wide);margin:0 auto;padding:0 var(--space-6)}.section{padding-block:clamp(var(--space-16),8vw,var(--space-32))}.center{text-align:center}.section-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}.section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:300;color:var(--color-text);margin-bottom:var(--space-6);letter-spacing:-.01em}.body-text{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-4)}.body-text.muted{color:var(--color-text-faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:var(--space-3) var(--space-8);border:1px solid transparent;border-radius:0;cursor:pointer;background:0}.btn-accent{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.btn-accent:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-outline{border-color:var(--color-border-light);color:var(--color-text)}.btn-outline:hover{border-color:var(--color-text);color:var(--color-text)}.btn-sm{padding:var(--space-2) var(--space-5);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-10);font-size:var(--text-sm)}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(13,13,13,0.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color var(--transition-med),background var(--transition-med)}.header.scrolled{border-bottom-color:var(--color-border);background:rgba(13,13,13,0.95)}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--content-wide);margin:0 auto;padding:var(--space-4) var(--space-6)}.logo{display:flex;align-items:center;text-decoration:none}.nav-list{display:flex;gap:var(--space-5);list-style:none;flex-wrap:nowrap;align-items:center}.nav-link{font-size:var(--text-xs);font-weight:400;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--color-text-muted);position:relative;padding:var(--space-1) 0;white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--color-text)}.nav-link.active::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:var(--color-accent)}.mobile-toggle{display:none;flex-direction:column;gap:5px;background:0;border:0;cursor:pointer;padding:var(--space-2)}.mobile-toggle span{display:block;width:24px;height:1.5px;background:var(--color-text);transition:var(--transition-fast)}.mobile-menu{display:none;padding:var(--space-6);border-top:1px solid var(--color-border)}.mobile-menu ul{list-style:none}.mobile-menu li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.mobile-menu a{color:var(--color-text);text-decoration:none;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase}.hide-mobile{display:inline-flex}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(13,13,13,0.6) 0%,rgba(13,13,13,0.5) 30%,rgba(13,13,13,0.45) 50%,rgba(13,13,13,0.6) 75%,rgba(13,13,13,0.95) 100%)}.hero-content{position:relative;z-index:2;text-align:center;padding:var(--space-8);max-width:800px;width:100%;box-sizing:border-box}.hero-label{font-size:var(--text-xs);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-6);text-shadow:0 2px 8px rgba(0,0,0,0.8),0 0 20px rgba(0,0,0,0.5)}.hero-title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:300;line-height:1.05;color:var(--color-text);margin-bottom:var(--space-6);letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,0,0,0.9),0 0 40px rgba(0,0,0,0.6)}.hero-subtitle{font-size:var(--text-lg);font-weight:300;color:var(--color-text-muted);margin-bottom:var(--space-8);max-width:520px;margin-inline:auto;overflow-wrap:break-word;word-wrap:break-word;text-shadow:0 2px 8px rgba(0,0,0,0.8),0 0 20px rgba(0,0,0,0.5)}.hero-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.hero-scroll-indicator{position:absolute;bottom:var(--space-8);left:50%;transform:translateX(-50%);z-index:2}.scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--color-accent),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(0.6)}50%{opacity:1;transform:scaleY(1)}}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.intro-text{max-width:520px}.intro-image{position:relative;border-radius:var(--radius-md);overflow:hidden}.intro-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-12)}.service-card{display:block;text-decoration:none;color:var(--color-text);padding:var(--space-8);border:1px solid var(--color-border);background:var(--color-surface);transition:border-color var(--transition-med),background var(--transition-med),transform var(--transition-med)}.service-card:hover{border-color:var(--color-accent);background:var(--color-surface-2);transform:translateY(-4px)}.service-icon{color:var(--color-accent);margin-bottom:var(--space-5)}.service-card h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;margin-bottom:var(--space-3);letter-spacing:.01em}.service-card p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6}.section-fullbleed{position:relative;height:70vh;min-height:480px;overflow:hidden}.section-fullbleed img{width:100%;height:100%;object-fit:cover}.fullbleed-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(13,13,13,0.6);padding:var(--space-8)}.pullquote{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;font-style:italic;text-align:center;max-width:700px;color:var(--color-text);line-height:1.4}.pullquote cite{display:block;margin-top:var(--space-6);font-size:var(--text-sm);font-style:normal;font-family:var(--font-body);color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.why-list{list-style:none;margin-top:var(--space-8);display:flex;flex-direction:column;gap:var(--space-5)}.why-list li{padding-left:var(--space-5);border-left:2px solid var(--color-accent)}.why-list strong{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-1)}.why-list span{font-size:var(--text-sm);color:var(--color-text-muted)}.why-images{border-radius:var(--radius-md);overflow:hidden}.why-images img{width:100%;aspect-ratio:4/3;object-fit:cover}.section-certs{padding-block:var(--space-12);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.certs-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-10);flex-wrap:wrap}.cert-item{text-align:center}.cert-name{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-text);letter-spacing:.1em;text-transform:uppercase}.cert-detail{font-size:var(--text-xs);color:var(--color-text-muted)}.cert-divider{width:1px;height:32px;background:var(--color-border-light)}.section-cta{text-align:center;background:var(--color-surface);border-top:1px solid var(--color-border)}.cta-content{max-width:600px;margin:0 auto}.cta-content .section-title{margin-bottom:var(--space-4)}.cta-content .body-text{margin-bottom:var(--space-8)}.footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding-block:var(--space-16);padding-bottom:80px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:var(--space-10)}.footer-tagline{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-4);line-height:1.6}.footer-col h4{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);margin-bottom:var(--space-4)}.footer-col ul{list-style:none}.footer-col li{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-2);line-height:1.5}.footer-col a{color:var(--color-text-muted);text-decoration:none}.footer-col a:hover{color:var(--color-text)}.social-links{display:flex;gap:var(--space-4);margin-top:var(--space-5)}.social-links a{color:var(--color-text-faint);transition:color var(--transition-fast)}.social-links a:hover{color:var(--color-accent)}.footer-bottom{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.footer-bottom p{font-size:var(--text-xs);color:var(--color-text-faint)}@media(max-width:900px){.intro-grid,.why-grid{grid-template-columns:1fr;gap:var(--space-8)}.services-grid{grid-template-columns:1fr;gap:var(--space-4)}.footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}.certs-bar{gap:var(--space-6)}.cert-divider{display:none}}@media(max-width:768px){.nav{display:none}.hide-mobile{display:none !important}.mobile-toggle{display:flex}.mobile-menu.open{display:block}.hero-title{font-size:var(--text-3xl)}.hero-content{padding:var(--space-4)}.footer-grid{grid-template-columns:1fr}.section-fullbleed{height:50vh;min-height:360px}.pullquote{font-size:var(--text-lg)}}@media(max-width:480px){.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{width:100%;max-width:280px}}.page-hero{position:relative;height:50vh;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:72px}.page-hero-bg{position:absolute;inset:0}.page-hero-bg img{width:100%;height:100%;object-fit:cover}.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(13,13,13,0.4),rgba(13,13,13,0.85))}.page-hero-content{position:relative;z-index:2;text-align:center}.page-hero-content h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:300;margin-bottom:var(--space-4)}.page-hero-content p{font-size:var(--text-lg);color:var(--color-text-muted);max-width:520px;margin:0 auto}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;padding-block:var(--space-16);border-bottom:1px solid var(--color-border)}.service-detail:last-child{border-bottom:0}.service-detail.reversed{direction:rtl}.service-detail.reversed>*{direction:ltr}.service-detail-img{border-radius:var(--radius-md);overflow:hidden}.service-detail-img img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-detail-text h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;margin-bottom:var(--space-4)}.service-detail-text ul{list-style:none;margin-top:var(--space-5)}.service-detail-text ul li{font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-2) 0;padding-left:var(--space-5);position:relative}.service-detail-text ul li::before{content:'';position:absolute;left:0;top:50%;width:8px;height:1px;background:var(--color-accent)}@media(max-width:900px){.service-detail{grid-template-columns:1fr}.service-detail.reversed{direction:ltr}}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.portfolio-card{position:relative;overflow:hidden;border-radius:var(--radius-md);aspect-ratio:16/10;cursor:pointer}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.portfolio-card:hover img{transform:scale(1.04)}.portfolio-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,13,13,0.8),transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-6);opacity:0;transition:opacity var(--transition-med)}.portfolio-card:hover .portfolio-card-overlay{opacity:1}.portfolio-card-overlay h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;color:var(--color-text)}.portfolio-card-overlay p{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.portfolio-card.featured{grid-column:span 2;aspect-ratio:21/9}@media(max-width:768px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card.featured{grid-column:span 1;aspect-ratio:16/10}.portfolio-card-overlay{opacity:1}}.about-hero-text{max-width:700px;margin:0 auto var(--space-16);text-align:center}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.team-card{text-align:center}.team-card-photo{width:160px;height:160px;border-radius:50%;background:var(--color-surface-2);margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border);font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-accent)}.team-card h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;margin-bottom:var(--space-1)}.team-card p{font-size:var(--text-sm);color:var(--color-text-muted)}@media(max-width:768px){.team-grid{grid-template-columns:1fr}}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}.contact-info h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;margin-bottom:var(--space-4)}.contact-info-item{margin-bottom:var(--space-6)}.contact-info-item span{display:block;font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-2)}.contact-info-item p,.contact-info-item a{font-size:var(--text-base);color:var(--color-text-muted);text-decoration:none;line-height:1.6}.contact-info-item a:hover{color:var(--color-text)}.contact-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.form-group input,.form-group textarea,.form-group select{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border-radius:0;outline:0;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-accent)}.form-group textarea{resize:vertical;min-height:140px}.form-group select{appearance:none}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(0.16,1,0.3,1),transform .8s cubic-bezier(0.16,1,0.3,1)}.fade-in.visible{opacity:1;transform:translateY(0)}.landing-hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}.landing-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;width:100%;max-width:var(--content-wide);margin:0 auto;padding:var(--space-16) var(--space-6)}.landing-hero-text h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:300;margin-bottom:var(--space-6)}.landing-hero-image{border-radius:var(--radius-md);overflow:hidden}.landing-hero-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.landing-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);text-align:center}.landing-benefit h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;margin-bottom:var(--space-2)}.landing-benefit p{font-size:var(--text-sm);color:var(--color-text-muted)}.stat-number{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:300;color:var(--color-accent);display:block;margin-bottom:var(--space-2)}@media(max-width:768px){.landing-hero-inner{grid-template-columns:1fr;padding-top:calc(var(--space-16) + 72px)}.landing-benefits{grid-template-columns:1fr}}
/* === FIX: Header nav button overflow === */
.header-inner .btn {
  align-self: center;
  white-space: nowrap;
  max-height: 36px;
  line-height: 1;
  box-sizing: border-box;
}

/* === FIX: Pullquote readability on fullbleed sections === */
.fullbleed-overlay {
  background: rgba(13,13,13,0.7);
}
.pullquote {
  font-size: var(--text-xl);
  font-weight: 400;
  text-shadow: 0 2px 12px rgba(0,0,0,0.9), 0 0 40px rgba(0,0,0,0.6);
}
.pullquote cite {
  font-size: var(--text-sm);
  font-weight: 500;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
}

/* === FIX: Footer clearance for sticky CTA === */
.footer {
  padding-bottom: 100px !important;
}

/* === PERF: Smooth image rendering === */
img {
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* === SEO/A11y: Focus improvements === */
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

/* === Cross-platform: iOS safe area handling === */
@supports (padding: env(safe-area-inset-bottom)) {
  .footer {
    padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  }
  .sticky-cta {
    padding-bottom: calc(var(--space-4) + env(safe-area-inset-bottom));
  }
}

/* === FIX: Mobile hamburger touch target === */
.mobile-toggle {
  min-width: 44px;
  min-height: 44px;
  display: none;
  align-items: center;
  justify-content: center;
}

/* === FIX: Ensure hamburger shows on mobile (must come AFTER base .mobile-toggle rule) === */
@media (max-width: 768px) {
  .mobile-toggle { display: flex !important; }
  .nav { display: none !important; }
}

/* === FIX: Hero subtitle readability across all pages === */
.hero-subtitle {
  font-weight: 400 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.9), 0 0 40px rgba(0,0,0,0.6) !important;
  color: var(--color-text) !important;
}

/* === FIX: Division switcher text size on mobile === */
@media (max-width: 768px) {
  .division-nav a,
  .division-switcher a,
  [class*="division"] .nav-link {
    font-size: 0.8rem !important;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  
  /* Blog filter bar - horizontal scroll instead of wrapping */
  .blog-filter-inner {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: var(--space-2);
    padding-bottom: var(--space-2);
  }
  .blog-filter-inner::-webkit-scrollbar {
    display: none;
  }
  .blog-filter-inner .filter-btn {
    white-space: nowrap;
    flex-shrink: 0;
  }
  
  /* Footer links - better touch targets */
  .footer-col li {
    min-height: 36px;
    display: flex;
    align-items: center;
  }
  .footer-col a {
    padding: 4px 0;
    display: inline-block;
  }
}

/* === Breadcrumb / Back bar === */
.page-breadcrumb {
  position: fixed;
  top: 72px;
  left: 0;
  right: 0;
  z-index: 90;
  background: rgba(13, 15, 11, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border);
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  font-family: var(--font-body);
  letter-spacing: 0.04em;
}
.page-breadcrumb-inner {
  max-width: var(--content-wide);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--color-text-muted);
}
.page-breadcrumb .back-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--color-accent);
  text-decoration: none;
  font-weight: 500;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: inherit;
  transition: background 0.2s ease;
}
.page-breadcrumb .back-btn:hover {
  background: rgba(192, 163, 119, 0.1);
}
.page-breadcrumb .crumbs,
.page-breadcrumb .breadcrumb-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  list-style: none;
  padding: 0;
  margin: 0;
}
.page-breadcrumb .breadcrumb-list li {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.page-breadcrumb .crumbs a,
.page-breadcrumb .breadcrumb-list a {
  color: var(--color-text-muted);
  text-decoration: none;
}
.page-breadcrumb .crumbs a:hover,
.page-breadcrumb .breadcrumb-list a:hover {
  color: var(--color-text);
}
.page-breadcrumb .crumbs .current,
.page-breadcrumb .breadcrumb-list .current {
  color: var(--color-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.page-breadcrumb .sep {
  color: var(--color-text-faint);
  flex-shrink: 0;
}
.page-breadcrumb .divider {
  width: 1px;
  height: 16px;
  background: var(--color-border);
  flex-shrink: 0;
}
/* Push page content down to account for the breadcrumb bar */
body.has-breadcrumb .page-hero,
body.has-breadcrumb .post-hero,
body.has-breadcrumb main {
  scroll-margin-top: 120px;
}
body.has-breadcrumb .page-hero {
  margin-top: 112px;
}
/* Same offset for .post-hero pages (Services hub, blog posts, location pages) so the H1 isn't clipped by the fixed breadcrumb. Added 2026-05-17. */
body.has-breadcrumb .post-hero {
  margin-top: 112px;
}
@media (max-width: 640px) {
  body.has-breadcrumb .post-hero {
    margin-top: 96px;
  }
}
/* Mobile: tighter spacing + force single-line layout */
@media (max-width: 640px) {
  .page-breadcrumb {
    padding: 0.5rem 0.75rem;
    font-size: 0.7rem;
  }
  .page-breadcrumb-inner {
    gap: 0.5rem;
    flex-wrap: nowrap;
    min-width: 0;
  }
  .page-breadcrumb .back-btn {
    flex-shrink: 0;
    padding: 0.25rem 0.4rem;
  }
  .page-breadcrumb .divider {
    flex-shrink: 0;
  }
  .page-breadcrumb .crumbs {
    gap: 0.3rem;
    flex: 1 1 auto;
    min-width: 0;
    list-style: none;
  }
  .page-breadcrumb .crumbs li {
    list-style: none;
    display: inline-flex;
    align-items: center;
    min-width: 0;
  }
  .page-breadcrumb .crumbs li.current {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  /* Hide middle crumbs on mobile, show only "Back / Home / Current" */
  .page-breadcrumb .crumbs .hide-mobile-crumb {
    display: none;
  }
}

/* === FIX: Page hero overlay readability === */
.page-hero-overlay {
  background: linear-gradient(to bottom, rgba(13,15,11,0.65) 0%, rgba(13,15,11,0.55) 35%, rgba(13,15,11,0.9) 100%) !important;
}
.page-hero-content h1 {
  text-shadow: 0 2px 14px rgba(0,0,0,0.95), 0 0 40px rgba(0,0,0,0.7);
}
.page-hero-content p {
  color: var(--color-text) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.9), 0 0 24px rgba(0,0,0,0.6);
}
.contact-form .field-error{display:none;font-size:var(--text-xs);color:#ff6b6b;letter-spacing:.04em;margin-top:2px}
.contact-form .form-group.invalid input,.contact-form .form-group.invalid select,.contact-form .form-group.invalid textarea{border-color:#ff6b6b}
.contact-form .form-group.invalid .field-error{display:block}
.contact-form .form-details{border:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-3) var(--space-4)}
.contact-form .form-details summary{font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--space-2)}
.contact-form .form-details summary::-webkit-details-marker{display:none}
.contact-form .form-details summary::before{content:'+';font-weight:400;color:var(--color-accent);font-size:1rem;line-height:1}
.contact-form .form-details[open] summary::before{content:'-'}
.contact-form .form-details summary:hover{color:var(--color-text)}

/* === Mobile-nav + breadcrumb hardening (added 2026-04-30) === */
/* Prevent default browser :visited purple on breadcrumb links */
.page-breadcrumb .crumbs a,
.page-breadcrumb .crumbs a:link,
.page-breadcrumb .crumbs a:visited,
.page-breadcrumb .crumbs a:active {
  color: var(--color-text-muted) !important;
  text-decoration: none;
}
.page-breadcrumb .crumbs a:hover,
.page-breadcrumb .crumbs a:focus {
  color: var(--color-text) !important;
  text-decoration: none;
}

/* Ensure hamburger is clearly tappable on mobile and menu opens cleanly */
@media (max-width: 768px) {
  .mobile-toggle {
    display: flex !important;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 8px;
    flex-shrink: 0;
  }
  .mobile-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--color-text);
    margin: 2px 0;
    transition: transform 200ms ease, opacity 200ms ease;
  }
  .mobile-toggle.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .mobile-toggle.open span:nth-child(2) { opacity: 0; }
  .mobile-toggle.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

  .mobile-menu {
    display: none;
    padding: var(--space-6);
    border-top: 1px solid var(--color-border);
    background: rgba(13, 13, 13, 0.98);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }
  .mobile-menu.open { display: block; }
  .mobile-menu ul { list-style: none; padding: 0; margin: 0; }
  .mobile-menu li {
    padding: 0.875rem 0;
    border-bottom: 1px solid var(--color-border);
  }
  .mobile-menu li:last-child { border-bottom: 0; }
  .mobile-menu a {
    color: var(--color-text);
    text-decoration: none;
    font-size: var(--text-sm);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    display: block;
  }
  .mobile-menu a:hover,
  .mobile-menu a:focus { color: var(--color-accent); }
  .mobile-menu .mobile-cta {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: var(--color-accent);
    color: var(--color-bg) !important;
    font-weight: 500;
  }
  /* Hide desktop nav on mobile (already declared earlier with !important) */
  .nav { display: none !important; }
}


/* === Hero text contrast hardening (added 2026-04-30) === */
/* Page hero overlays were too light on bright/midtone photos.
   Layered gradient + radial vignette gives consistent legibility. */
.page-hero-overlay {
  background: linear-gradient(
    to bottom,
    rgba(13, 15, 11, 0.78) 0%,
    rgba(13, 15, 11, 0.58) 30%,
    rgba(13, 15, 11, 0.55) 50%,
    rgba(13, 15, 11, 0.7) 75%,
    rgba(13, 15, 11, 0.95) 100%
  ) !important;
}
.page-hero-content h1,
.page-hero-content .hero-label,
.page-hero-content p {
  text-shadow:
    0 2px 14px rgba(0, 0, 0, 0.95),
    0 0 30px rgba(0, 0, 0, 0.7);
}
.page-hero-content p {
  color: var(--color-text) !important;
}

/* For pages using .post-hero (FAQ/blog top), darken the same way */
.post-hero-overlay {
  background: linear-gradient(
    to bottom,
    rgba(13, 15, 11, 0.78) 0%,
    rgba(13, 15, 11, 0.58) 35%,
    rgba(13, 15, 11, 0.95) 100%
  ) !important;
}

/* Services / Lighting / etc. body copy that sits ON TOP of page-hero
   was being eaten by the photo. Force a stronger backdrop on the inner
   content card. */
.page-hero-content {
  background: linear-gradient(
    180deg,
    rgba(13, 15, 11, 0.0) 0%,
    rgba(13, 15, 11, 0.35) 40%,
    rgba(13, 15, 11, 0.55) 100%
  );
  padding: 2rem 1.5rem !important;
  border-radius: 8px;
  max-width: 800px;
}

/* === Post-hero text legibility hardening (added 2026-04-30 v2) === */
.post-hero {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  margin-top: 0;
}
.post-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.post-hero-bg img,
.post-hero-bg picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.post-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(13, 15, 11, 0.78) 0%,
    rgba(13, 15, 11, 0.62) 35%,
    rgba(13, 15, 11, 0.95) 100%
  ) !important;
}
.post-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 4rem 0;
}
.post-hero-meta {
  margin-bottom: 1rem;
}
.post-hero-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 300;
  color: var(--color-text) !important;
  line-height: 1.1;
  margin: 0 0 1rem 0;
  letter-spacing: -0.01em;
  text-shadow: 0 2px 14px rgba(0,0,0,0.95), 0 0 30px rgba(0,0,0,0.7);
}
.post-hero-subtitle {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  color: #f0f0ec !important;
  line-height: 1.6;
  margin: 0 0 1rem 0;
  max-width: 640px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.9), 0 0 20px rgba(0,0,0,0.6);
}
.post-byline {
  font-size: 0.9rem;
  color: #c8c8c0 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
}
.post-category-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.25rem 0.75rem;
  background: rgba(192, 163, 119, 0.15);
  border: 1px solid rgba(192, 163, 119, 0.4);
  color: var(--color-accent);
  margin-right: 0.5rem;
}
.post-date {
  font-size: 0.75rem;
  color: #c0a377;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0,0,0,0.8);
}

@media (max-width: 768px) {
  .post-hero {
    min-height: 50vh;
  }
  .post-hero-content {
    padding: 3rem 0 2.5rem;
  }
  .post-hero-title {
    font-size: 1.75rem;
    line-height: 1.15;
  }
  .post-hero-subtitle {
    font-size: 1rem;
    line-height: 1.55;
  }
}

/* === Phase 1 Discoverability: Mega-footer + Unified Nav === */
.footer-grid-mega {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1.1fr;
  gap: 2.5rem;
  align-items: start;
}
.footer-grid-mega .footer-col h4 {
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #c0a377;
  margin: 0 0 1rem 0;
}
.footer-grid-mega .footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-grid-mega .footer-col li {
  margin: 0 0 0.55rem 0;
  font-size: 0.875rem;
  line-height: 1.45;
}
.footer-grid-mega .footer-col a {
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  transition: color 0.18s ease;
}
.footer-grid-mega .footer-col a:hover {
  color: #c0a377;
}
.footer-grid-mega .footer-cta {
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0.5rem 0.9rem;
  border: 1px solid #c0a377;
  color: #c0a377!important;
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.footer-social {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  margin: 1.5rem 0;
  flex-wrap: wrap;
}
.footer-social a {
  color: rgba(245, 245, 240, 0.6);
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(192, 163, 119, 0.25);
  border-radius: 50%;
}
.footer-social a:hover {
  color: #c0a377;
  border-color: #c0a377;
}
.footer-social svg {
  display: block;
}
.footer-bottom {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.footer-copy, .footer-credentials {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
  letter-spacing: 0.05em;
}
@media (max-width: 900px) {
  .footer-grid-mega {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .footer-grid-mega .footer-brand {
    grid-column: 1 / -1;
  }
}
@media (max-width: 600px) {
  .footer-grid-mega {
    grid-template-columns: 1fr;
  }
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* === FIX 20260506b: prevent logo SVG from being flex-shrunk in dense navs === */
.header-inner .logo,
.header-inner .logo svg {
  flex-shrink: 0;
}
.header-inner .nav {
  flex-shrink: 1;
}

/* === FIX 20260516: widen header for 12-item nav at sub-1920 widths === */
.header-inner {
  max-width: 1480px;
}
@media (max-width: 1280px) {
  .nav-list {
    gap: var(--space-4);
  }
  .nav-link {
    letter-spacing: 0.06em;
  }
}
