/* Inner pages extend the approved homepage's Inter, royal blue and restrained cards. */
:root{--inner-blue:#0c2d60;--inner-royal:#0847d3;--inner-ink:#17365f;--inner-muted:#526b89;--inner-wash:#f2f6fb}
.inner-page{color:var(--inner-ink);background:#fff}
.inner-page .site-header{background:var(--inner-blue)}
.inner-page .site-logo,.inner-page .desktop-nav,.inner-page .header-actions{position:relative;z-index:2}
.inner-page .site-footer{background:var(--inner-blue)}
.inner-page .footer-grid{padding-bottom:22px}
.inner-page .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;align-content:start}
.inner-page .footer-links h2{grid-column:1/-1}
.inner-page .footer-brand a{display:inline-block}

.inner-intro{background:var(--inner-blue);color:#fff;overflow:hidden}
.inner-page:not(.about-page) .inner-intro{padding-top:110px}
.inner-intro-grid{display:grid;grid-template-columns:minmax(0,1fr);min-height:310px;padding-top:38px;padding-bottom:76px}
.inner-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#c1d3ed;font-size:12px;font-weight:600;line-height:1.5}
.inner-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.inner-breadcrumb [aria-current]{color:#fff}
.crumb-separator{opacity:.5}
.inner-intro-copy{max-width:820px;padding-top:44px}
.inner-kicker{margin:0 0 16px;color:#a9cfff;font-size:12px;font-weight:700;letter-spacing:.07em}
.inner-intro h1{max-width:850px;margin:0;font-size:clamp(2.7rem,5.2vw,5.2rem);font-weight:700;letter-spacing:-.025em;line-height:1.07;text-wrap:balance}
.inner-lead{max-width:680px;margin:24px 0 0;color:#d5e4f7;font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.68;letter-spacing:0}
.inner-section{padding:clamp(68px,7.5vw,116px) 0}
.inner-section-muted{background:var(--inner-wash)}
.inner-section-title{margin:0 0 34px;color:var(--inner-blue);font-size:clamp(2rem,3.8vw,3.55rem);font-weight:700;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}
.inner-section>.page-container>.inner-button{margin-top:32px}
.inner-prose{max-width:1010px;color:#315272;font-size:16px;line-height:1.85}
.inner-prose p{margin:0 0 20px}
.inner-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(35px,5vw,90px);max-width:none}
.inner-two-col>div{min-width:0}
.inner-two-col>p{max-width:660px}

.inner-button{display:inline-flex;min-width:220px;min-height:54px;align-items:center;justify-content:space-between;gap:28px;padding:6px 8px 6px 22px;border:1px solid #a5bbd6;border-radius:8px;background:transparent;color:var(--inner-blue);font-size:13px;font-weight:700;line-height:1.25;letter-spacing:.01em;transition:background .2s,border-color .2s,transform .2s}
.inner-button img{width:37px;height:37px;padding:10px;border:1px solid #90add0;border-radius:50%;filter:invert(18%) sepia(47%) saturate(1229%) hue-rotate(181deg) brightness(82%)}
.inner-button:hover{background:#e8f0fa;border-color:var(--inner-blue);transform:translateY(-2px)}
.inner-button-light{border-color:rgba(255,255,255,.58);color:#fff}
.inner-button-light img{border-color:rgba(255,255,255,.75);filter:brightness(0) invert(1)}
.inner-button-light:hover{background:rgba(255,255,255,.1);border-color:#fff}

.inner-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.inner-card-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.inner-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:16px;background:#fff;color:var(--inner-blue);box-shadow:0 7px 28px rgba(11,39,78,.075);transition:transform .24s,box-shadow .24s}
.inner-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(11,39,78,.13)}
.inner-card:focus-visible{outline:3px solid #78bcff;outline-offset:4px}
.inner-card-visual{aspect-ratio:1.42;overflow:hidden;background:#e4eaf1}
.inner-card-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.inner-card:hover .inner-card-visual img{transform:scale(1.035)}
.inner-card-grid-compact .inner-card-visual{aspect-ratio:1.6}
.inner-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:25px 25px 22px}
.inner-card-eyebrow{color:#577da8;font-size:11px;font-weight:700;letter-spacing:.045em;line-height:1.4}
.inner-card h3{margin:6px 0 9px;font-size:clamp(1.18rem,1.55vw,1.55rem);font-weight:700;line-height:1.3;letter-spacing:-.015em}
.inner-card p{margin:0 0 22px;color:#526e8b;font-size:14px;line-height:1.62}
.inner-card-action{display:inline-flex;align-items:center;gap:12px;margin-top:auto;padding-top:18px;color:var(--inner-royal);font-size:13px;font-weight:700}
.inner-card-action img{width:13px;height:13px;filter:invert(22%) sepia(96%) saturate(3425%) hue-rotate(213deg) brightness(88%)}

.inner-cta{padding:72px 0;background:var(--inner-blue);color:#fff}
.inner-cta-row{display:flex;align-items:center;justify-content:space-between;gap:48px}
.inner-cta .inner-kicker{margin-bottom:12px}
.inner-cta h2{max-width:700px;margin:0;color:#fff;font-size:clamp(2rem,3vw,3rem);font-weight:700;letter-spacing:-.025em;line-height:1.18}
.inner-cta p:not(.inner-kicker){max-width:630px;margin:16px 0 0;color:#c9dbef;font-size:15px;line-height:1.7}
.inner-cta .inner-button{flex:none}
.inner-empty-note{max-width:790px;padding:30px 34px;border-left:3px solid var(--inner-royal);border-radius:0 12px 12px 0;background:#fff;color:#385877}
.inner-empty-note p{margin:0 0 22px;line-height:1.75}
.inner-data-note{max-width:950px;margin:0 0 27px;color:#54708c;font-size:14px;line-height:1.7}

.inner-feature-row{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}
.inner-feature-row p{max-width:480px;margin:0 0 27px;color:#385877;font-size:18px;line-height:1.75}
.inner-feature-row>img{width:100%;max-height:450px;object-fit:cover;border-radius:16px}
.inner-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.inner-media-grid figure,.inner-product-gallery figure,.inner-project-photo{margin:0;overflow:hidden;border-radius:15px;background:#e9eef4}
.inner-media-grid img{display:block;width:100%;height:360px;object-fit:cover}
.inner-product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:36px}
.inner-product-gallery img{display:block;width:100%;max-height:570px;aspect-ratio:1.15;object-fit:contain;background:#edf1f5}
.inner-project-photo img{display:block;width:100%;max-height:800px;object-fit:contain;background:#e8edf4}
.inner-specs{max-width:900px;margin:0 0 30px;border-top:1px solid #cbd8e5}
.inner-specs>div{display:grid;grid-template-columns:36% 1fr;gap:20px;padding:17px 0;border-bottom:1px solid #cbd8e5}
.inner-specs dt{font-weight:700;color:var(--inner-blue)}
.inner-specs dd{margin:0;color:#3c5977}
.inner-product-details{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);align-items:start;gap:clamp(42px,5vw,84px)}
.inner-product-specs-copy{min-width:0}
.inner-product-specs-copy .inner-specs{max-width:none}
.inner-product-specs-copy .inner-data-note{max-width:900px}
.inner-product-photo{display:flex;align-items:center;justify-content:center;min-width:0;min-height:470px;margin:10px 0 0}
.inner-product-photo img{display:block;width:100%;max-height:560px;object-fit:contain}
.inner-product-photo--single-locker{height:560px;overflow:hidden}
.inner-product-photo--single-locker img{transform:scale(1.7)}

.inner-certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.inner-certificate{display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:var(--inner-wash);color:var(--inner-blue);transition:transform .2s}
.inner-certificate:hover{transform:translateY(-3px)}
.inner-certificate>span{display:block;background:#fff}
.inner-certificate img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain}
.inner-certificate strong{padding:17px 18px 4px;font-size:15px}
.inner-certificate small{padding:0 18px 17px;color:var(--inner-royal);font-size:12px;font-weight:700}

.inner-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.inner-contact-grid>div{min-height:180px;padding:28px;border-radius:15px;background:var(--inner-wash)}
.inner-contact-grid span{font-size:12px;font-weight:700;color:#617e9f}
.inner-contact-grid h2{margin:18px 0 0;font-size:clamp(17px,1.55vw,21px);line-height:1.5;overflow-wrap:anywhere}
.inner-contact-grid h2 p{margin:0;font-size:inherit;font-weight:600}
.inner-contact-grid a:hover{text-decoration:underline;text-underline-offset:4px}
.inner-contact-tip{max-width:770px;margin-top:48px}
.inner-contact-tip h3{margin:0 0 14px;font-size:25px}
.inner-contact-tip p{color:#476582;line-height:1.8}
.inner-contact-tip .inner-button{margin-top:12px}
.inner-job-list{border-top:1px solid #d4deea}
.inner-job{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 4px;border-bottom:1px solid #d4deea}
.inner-job span{color:#6682a1;font-size:12px}
.inner-job h3{margin:5px 0;font-size:25px;letter-spacing:-.015em}
.inner-job p{margin:0;color:#57708b;font-size:14px}
.inner-job>a{font-size:14px;font-weight:700;color:var(--inner-royal)}

.inner-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:clamp(35px,6vw,100px)}
.inner-article-prose{min-width:0;max-width:800px;color:#35516e;font-size:16px;line-height:1.85}
.inner-article-prose h2{margin:2.2em 0 .6em;color:var(--inner-blue);font-size:clamp(1.55rem,2.3vw,2.3rem);line-height:1.28;letter-spacing:-.015em}
.inner-article-prose h2:first-child{margin-top:0}
.inner-article-prose h3{margin:1.7em 0 .55em;color:var(--inner-blue);font-size:1.35rem;line-height:1.35}
.inner-article-prose p{margin:0 0 1.3em}
.inner-article-prose ul,.inner-article-prose ol{padding-left:1.5em;margin:0 0 1.5em}
.inner-article-prose li{padding-left:.3em;margin-bottom:.5em}
.inner-article-aside{position:sticky;top:30px;display:flex;flex-direction:column;gap:16px;padding:25px;border-radius:14px;background:var(--inner-wash);font-size:14px}
.inner-article-aside strong{font-size:16px;color:var(--inner-blue)}
.inner-article-aside a{color:var(--inner-royal);font-weight:700}
.inner-article-aside p{margin:10px 0 0;color:#607b99;font-size:12px;line-height:1.65}
.inner-table-wrap{max-width:100%;overflow-x:auto;margin:25px 0}
.inner-table-wrap table{border-collapse:collapse;min-width:480px;width:100%}
.inner-table-wrap td,.inner-table-wrap th{padding:12px;border-bottom:1px solid #cfdce9;text-align:left}

@media(max-width:1180px){
  .inner-card-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .inner-product-details{grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:36px}
  .inner-product-photo{min-height:360px}
  .inner-card-grid,.inner-card-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inner-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inner-article-layout{grid-template-columns:minmax(0,1fr)}
  .inner-article-aside{position:static;max-width:800px}
}
@media(max-width:700px){
  .inner-product-details{grid-template-columns:1fr;gap:38px}
  .inner-product-photo{min-height:0;margin:0}
  .inner-product-photo img{max-height:440px}
  .inner-product-photo--single-locker{height:440px}
  .inner-page:not(.about-page) .inner-intro{padding-top:84px}
  .inner-intro-grid{display:flex;flex-direction:column;min-height:0;padding-top:25px;padding-bottom:53px}
  .inner-intro-copy{padding-top:37px}
  .inner-intro h1{font-size:clamp(2.25rem,10vw,3.5rem)}
  .inner-lead{margin-top:18px;font-size:16px}
  .inner-section{padding:64px 0}
  .inner-two-col,.inner-feature-row,.inner-card-grid,.inner-card-grid-compact,.inner-media-grid,.inner-contact-grid{grid-template-columns:1fr}
  .inner-card-visual{aspect-ratio:1.5}
  .inner-card-content{padding:24px}
  .inner-feature-row>img{max-height:360px}
  .inner-cta{padding:63px 0}
  .inner-cta-row{align-items:flex-start;flex-direction:column;gap:30px}
  .inner-cta .inner-button{width:100%}
  .inner-media-grid img{height:auto;max-height:440px}
  .inner-product-gallery{grid-template-columns:1fr}
  .inner-product-gallery img{max-height:440px}
  .inner-certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .inner-contact-grid>div{min-height:140px}
  .inner-job{align-items:flex-start;flex-direction:column}
  .inner-page .footer-links{grid-template-columns:1fr}
}
@media(max-width:470px){
  .inner-certificate-grid{grid-template-columns:1fr}
  .inner-specs>div{grid-template-columns:1fr;gap:4px}
  .inner-empty-note{padding:23px}
}
