/* Civilion inner pages - shared alignment system */
.inner-header{position:sticky;top:0;min-height:86px;padding:10px max(4%,calc((100% - 1180px)/2));background:#fff;color:#172331;box-shadow:0 3px 18px rgba(7,19,33,.07)}
.inner-header .brand img{width:176px;max-height:64px;object-fit:contain}
.inner-header .nav{margin-left:auto}
.inner-header .nav>a{color:#172331}
.inner-header .nav>a.page-active:after{transform:scaleX(1)}
.page-main{min-height:60vh;overflow:visible}
.page-main>.page-banner{min-height:430px;padding:70px 0;display:flex;align-items:center;position:relative;color:#fff;background-position:center;background-size:cover;background-repeat:no-repeat}
.page-banner .container{position:relative;z-index:1;width:100%;max-width:none;margin:0;padding-left:4%;padding-right:4%}
.page-banner-content{width:min(880px,100%);padding:30px 34px 32px;background:rgba(7,19,33,.68);border:1px solid rgba(255,255,255,.13);box-shadow:0 18px 45px rgba(0,0,0,.16);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.page-banner .eyebrow{margin:0 0 14px;color:var(--gold2);text-shadow:0 2px 8px #000}
.page-banner h1{max-width:850px;margin:0;font-size:clamp(3rem,6vw,5.7rem);line-height:.98;letter-spacing:-.055em;text-shadow:0 3px 12px rgba(0,0,0,.8)}
.page-banner h1 span{color:var(--gold2)}
.page-banner-content>p:last-child{max-width:640px;margin:24px 0 0;color:#fff;font-size:1.05rem;line-height:1.7;text-shadow:0 2px 9px #000}
.page-content{padding:84px 0;background:#f7f5ef}
.page-content>.container{width:min(1180px,92%)}
.page-content .two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.85fr);gap:72px;align-items:center}
.page-content .two-col>div:first-child{min-width:0}
.page-content .two-col h2{margin:12px 0 22px}
.page-content .two-col .lead{margin-bottom:14px}
.page-content .about-image{margin:0}
.page-content .about-image img{width:100%;height:520px;object-fit:cover}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.feature-card{display:flex;flex-direction:column;min-width:0;padding:26px;background:#fff;border:1px solid #e4e0d7;box-shadow:0 14px 35px rgba(7,19,33,.07)}
.feature-card img{width:100%;height:230px;margin:0 0 22px;display:block;object-fit:cover}
.feature-card h3{margin:0 0 10px;font-size:1.3rem;line-height:1.3}
.feature-card p{margin:0 0 14px;color:var(--muted);line-height:1.65}
.feature-card .text-link{margin-top:auto;align-self:flex-start}
.page-content .project-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);margin-bottom:28px;background:#fff;box-shadow:0 14px 40px rgba(7,19,33,.08)}
.page-content .project-image{height:500px}
.page-content .project-info{padding:48px}
.gallery-section{background:#fff}
.gallery-section .gallery-filters{margin:0 0 30px}
.page-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.page-gallery .gallery-item{width:100%;aspect-ratio:4/3;border:0;padding:0;position:relative;overflow:hidden;background:#e8e8e8}
.page-gallery .gallery-item img{width:100%;height:100%;display:block;object-fit:cover}
.page-gallery .gallery-item span{left:14px;right:14px;bottom:12px;font-size:1rem;text-shadow:0 2px 8px #000}
.page-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.inner-contact-section{padding:84px 0;background:#f2f4f6}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:64px;align-items:start}
.contact-page-info{padding:18px 0}
.contact-page-info h2{margin:12px 0 20px}
.contact-page-info>p{max-width:520px;line-height:1.7}
.contact-page-grid .contact-form{width:100%;margin:0;padding:38px;background:#fff;box-shadow:0 18px 45px rgba(7,19,33,.08)}
.contact-map{margin-top:50px}
.contact-map iframe{width:100%;height:420px;display:block;border:0}
.vision-section{min-height:auto;padding:72px 0}
.vision-section .vision-grid{margin:0}
.page-main .vision-section{position:relative;background:url('../images/night-residence.jpg?v=20260814hires') center/cover no-repeat;color:#fff}
.page-main .vision-section:before{content:"";position:absolute;inset:0;background:rgba(4,14,24,.8)}
.page-main .vision-content{position:relative;z-index:1}
.page-main .vision-card{background:rgba(7,19,33,.78)!important;border:1px solid rgba(255,255,255,.28)!important}
.page-main .vision-card h3{color:#fff!important}
.page-main .vision-label{display:block;margin-bottom:14px;color:var(--gold2)!important}

/* Clear breadcrumb photography with a natural left-side readability gradient. */
.page-main>.page-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,24,.82) 0%,rgba(4,14,24,.58) 43%,rgba(4,14,24,.08) 72%,transparent 100%);pointer-events:none}
.page-banner-content{width:min(760px,100%);padding:24px 30px 27px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.page-banner h1,.page-banner .eyebrow,.page-banner-content>p:last-child{text-shadow:0 3px 12px rgba(0,0,0,.85)}
.page-main .page-content.video-section{background:#071321;color:#fff}
.page-main .page-content.video-section .video-empty{min-height:250px;background:#020407;border-color:rgba(255,255,255,.12);color:#fff}
@media(max-width:760px){.page-main>.page-banner:before{background:linear-gradient(90deg,rgba(4,14,24,.86),rgba(4,14,24,.48) 75%,rgba(4,14,24,.18))}.page-banner-content{padding:22px 18px}}
.footer .footer-top{align-items:start}
.image-marquee{overflow:hidden;background:#081625;padding:22px 0}
.image-marquee-track{display:flex;width:max-content;gap:16px;animation:imageRun 35s linear infinite}
.image-marquee-track a{width:280px;position:relative;display:block;overflow:hidden;border-radius:3px}
.image-marquee-track img{width:280px;height:180px;display:block;object-fit:cover}
.image-marquee-track a span{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;color:#fff;font-weight:700;text-shadow:0 2px 8px #000}
.image-marquee:hover .image-marquee-track,.brand-runner:hover .brand-track{animation-play-state:paused}
.brand-runner{overflow:hidden}
.brand-track{display:flex;width:max-content;gap:18px;animation:brandRun 22s linear infinite}
.brand-chip{width:190px;height:100px;display:flex;align-items:center;justify-content:center;gap:11px;background:#fff;border:1px solid #e2e5e8;font:700 1rem Manrope}
.brand-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:var(--gold);font-size:19px}
@keyframes imageRun{to{transform:translateX(-50%)}}
@keyframes brandRun{to{transform:translateX(-50%)}}
@media(max-width:900px){
 .page-content .two-col,.page-content .project-feature,.contact-page-grid{grid-template-columns:1fr;gap:36px}
 .page-content .about-image img,.page-content .project-image{height:440px}
 .feature-grid,.page-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact-page-grid .contact-form{padding:30px}
}
@media(max-width:760px){
 .inner-header{min-height:72px;padding:8px 4%}
 .inner-header .brand img{width:145px}
 .page-main>.page-banner{min-height:350px;padding:55px 0;background-position:center}
 .page-banner h1{font-size:clamp(2.7rem,12vw,4.2rem)}
 .page-content,.inner-contact-section{padding:60px 0}
 .feature-grid,.page-gallery,.page-video-grid{grid-template-columns:1fr}
 .feature-card img{height:240px}
 .page-content .about-image img,.page-content .project-image{height:350px}
 .page-content .project-info{padding:30px 24px}
 .contact-page-grid .contact-form{padding:25px 20px}
 .vision-section .vision-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
 .page-main>.page-banner{min-height:310px}
 .page-banner h1{font-size:2.55rem}
 .page-banner-content>p:last-child{font-size:.92rem}
 .feature-card{padding:18px}
 .feature-card img{height:210px}
 .contact-map iframe{height:320px}
}

/* Compact inner-page breadcrumb/banner typography. */
.page-main>.page-banner{min-height:325px;padding:50px 0;background-position:center;background-size:cover}
.page-banner h1{max-width:760px;font-size:clamp(2.5rem,4.4vw,3.55rem);line-height:1.04;letter-spacing:-.04em}
.page-banner-content>p:last-child{max-width:590px;margin-top:16px;font-size:.95rem;line-height:1.6}
@media(max-width:760px){.page-main>.page-banner{min-height:300px;padding:44px 0}.page-banner-content{padding:24px 22px 26px;background:rgba(7,19,33,.72)}.page-banner h1{font-size:clamp(2.35rem,10vw,3.35rem)}.page-banner-content>p:last-child{font-size:.9rem;margin-top:14px}}

/* 2026-09-14: inner-page mobile navigation contrast fix. Desktop/home are unchanged. */
@media(max-width:760px){
  .site-header.inner-header .nav{
    background:#fff !important;
    color:#172331 !important;
    box-shadow:-12px 0 36px rgba(7,19,33,.16) !important;
  }
  .site-header.inner-header .nav>a,
  .site-header.inner-header.scrolled .nav>a{
    color:#172331 !important;
    opacity:1 !important;
    text-shadow:none !important;
  }
  .site-header.inner-header .nav>a.page-active{color:#a96f09 !important;}
  .site-header.inner-header .nav>a.nav-cta{background:var(--gold) !important;color:#111 !important;}
  .site-header.inner-header .menu-toggle span,
  .site-header.inner-header.scrolled .menu-toggle span{background:#172331 !important;}
  .site-header.inner-header .nav-overlay{background:rgba(7,19,33,.18) !important;}
}

/* 2026-09-14 final inner-page mobile overlay guard.
   Overlay must be invisible unless JS explicitly adds .show. */
@media(max-width:760px){
  .site-header.inner-header .nav-overlay{
    display:block !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  .site-header.inner-header .nav-overlay.show{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
}
