/*
 * ALOR unified inner-page system
 * Loaded after page-specific styles to keep every subpage on one visual rhythm.
 */
:root{
  --inner-green:#0a3029;--inner-deep:#071f1a;--inner-lime:#c6d936;
  --inner-paper:#f4f5f1;--inner-ink:#111915;--inner-muted:#66716c;
  --inner-width:1240px;--inner-radius:24px;
  --inner-shadow:0 24px 65px rgba(10,48,41,.11);
}
body{font-family:Inter,Arial,sans-serif;background:var(--inner-paper);color:var(--inner-ink)}
body main{background:var(--inner-paper)}
body main h1,body main h2,body main h3{font-family:Inter,Arial,sans-serif}

/* One hero silhouette, alignment and typographic scale. */
.companies-page .companies-hero,.press-page .press-hero,.gallery-page .gallery-hero,
.blog-page .blog-hero,.contact-page .contact-hero,.projects-page .projects-hero,
.corporate-page .corp-hero,.corporate-page .docs-hero{
  width:100%;max-width:none;height:560px;min-height:560px;margin:0;padding:0;
  border-radius:0 0 30px 30px;
  overflow:hidden;position:relative;background:var(--inner-green);color:#fff;
}
.companies-page .companies-hero,.gallery-page .gallery-hero{
  padding:60px max(40px,calc((100% - var(--inner-width))/2));
}
.inner-hero__image{
  position:absolute;z-index:0;inset:0;width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:center;display:block;
}
.inner-hero__overlay{
  position:absolute;z-index:1;inset:0;
  background:linear-gradient(90deg,#061d19ef 0,#08241ec7 43%,#071a1645 78%),
             linear-gradient(0deg,#0617138c,transparent 55%);
  pointer-events:none;
}
.companies-page .inner-hero__image{object-position:center 52%}
.gallery-page .inner-hero__image{object-position:center 48%}
.documents-page .inner-hero__image{object-position:center 42%}
.companies-page .hero-copy,.companies-page .hero-orbit,.companies-page .scroll-cue,
.gallery-page .gallery-hero__copy,.gallery-page .gallery-scroll,
.corporate-page .docs-hero__copy,.corporate-page .docs-hero__seal,
.corporate-page .docs-hero__lines{z-index:2}
.gallery-page .gallery-hero__collage{display:none}
.companies-page .companies-hero:before{z-index:2}
.press-page .press-hero__content,.blog-page .blog-hero__inner,
.contact-page .contact-hero__content,.projects-page .projects-hero__content,
.corporate-page .corp-hero__copy,.corporate-page .docs-hero__copy{
  left:max(40px,calc((100% - var(--inner-width))/2));top:50%;
  transform:translateY(-50%);max-width:780px;
}
.companies-page .hero-copy h1,.gallery-page .gallery-hero h1,.press-page .press-hero h1,
.blog-page .blog-hero h1,.contact-page .contact-hero h1,.projects-page .projects-hero h1,
.corporate-page .corp-hero h1,.corporate-page .docs-hero h1{
  font:600 clamp(54px,4.5vw,70px)/1.02 Inter,sans-serif;
  letter-spacing:-3.6px;margin:20px 0 24px;
}
.companies-page .hero-copy h1 em,.gallery-page .gallery-hero h1 em,
.blog-page .blog-hero h1 em,.contact-page .contact-hero h1 em,
.projects-page .projects-hero h1 em,.corporate-page .corp-hero h1 em,
.corporate-page .docs-hero h1 em{font-weight:300;color:#d2ded9}
.companies-page .hero-copy p,.gallery-page .gallery-hero p,.press-page .press-hero p,
.blog-page .blog-hero p,.contact-page .contact-hero p,.projects-page .projects-hero p,
.corporate-page .corp-hero p,.corporate-page .docs-hero p{
  max-width:570px;margin:0;color:#c6d2cd;font-size:15px;line-height:1.75;
}

/* Shared section width, title scale and vertical rhythm. */
.company-intro>span,.press-lead span,.blog-intro>div>span,.projects-intro>div>span,
.about-story__copy>span,.about-strength__head>span,.about-manifesto span,
.docs-intro span,.gallery-toolbar>div>span,.contact-form__intro>span{
  color:var(--inner-green);font-size:10px;font-weight:800;letter-spacing:2.7px;
}
.press-lead,.blog-intro,.projects-intro,.about-story,.about-manifesto,.docs-intro,
.gallery-toolbar,.contact-form-section,.company-story,.press-featured,.press-list,
.blog-feature,.blog-archive,.project-list,.completed-grid,.gallery-grid,.docs-grid{
  width:min(var(--inner-width),calc(100% - 48px));
}
.press-lead,.blog-intro,.projects-intro,.docs-intro{
  margin-inline:auto;padding:110px 0 78px;grid-template-columns:1fr 1fr;
  gap:90px;align-items:end;
}
.press-lead h2,.blog-intro h2,.projects-intro h2,.docs-intro h2,
.company-intro h2,.gallery-toolbar h2,.contact-form__intro h2{
  font:600 clamp(38px,3.2vw,48px)/1.08 Inter,sans-serif;letter-spacing:-2px;
}
.press-lead>p,.blog-intro__right>p,.projects-intro>div:last-child>p,.docs-intro>p{
  color:var(--inner-muted);font-size:15px;line-height:1.8;
}

/* Shared surface geometry for editorial and project cards. */
.company-panel,.press-featured,.blog-feature,.project-entry,.completed-card,.doc-card,
.press-card,.blog-card,.contact-form-section{
  border:1px solid rgba(10,48,41,.08);border-radius:var(--inner-radius);
  overflow:hidden;box-shadow:var(--inner-shadow);
}
.company-panel,.project-entry{margin-bottom:28px}
.company-visual,.featured-image,.blog-feature__image,.project-entry__image,
.completed-card>button,.doc-card__preview,.press-card__image,.blog-card__image,.gallery-item{
  background:#dfe5df;isolation:isolate;
}
.company-visual img,.featured-image img,.blog-feature__image img,.project-entry__image img,
.completed-card>button img,.press-card__image img,.blog-card__image img,.gallery-item img{
  transition:transform .65s ease,filter .65s ease;
}
.company-panel:hover img,.press-featured:hover img,.blog-feature:hover img,.project-entry:hover img,
.completed-card:hover img,.press-card:hover img,.blog-card:hover img,.gallery-item:hover img{
  transform:scale(1.035);filter:saturate(.92);
}

/* One button language across all page types. */
.company-content>a,.featured-copy>a,.press-card__body>a,.blog-read,.project-next a,
.about-doc-cta>a,.docs-note>a,.doc-card__body a,.blog-newsletter>a,
.contact-form button,.contact-map__label a{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;width:max-content;
  min-height:45px;padding:13px 20px;border:0;border-radius:999px;
  background:var(--inner-lime);color:var(--inner-deep)!important;
  font:800 10px/1 Inter,sans-serif;letter-spacing:.55px;text-decoration:none;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.company-content>a:hover,.featured-copy>a:hover,.press-card__body>a:hover,.blog-read:hover,
.project-next a:hover,.about-doc-cta>a:hover,.docs-note>a:hover,.doc-card__body a:hover,
.blog-newsletter>a:hover,.contact-form button:hover,.contact-map__label a:hover{
  transform:translateY(-2px);background:#d8e958;
  box-shadow:0 12px 26px rgba(7,31,26,.16);
}

/* Filters and switches are one shared component. */
.blog-filters,.gallery-filters,.project-switch{display:flex;gap:8px;flex-wrap:wrap}
.blog-filters button,.gallery-filters button,.project-switch a{
  min-height:40px;padding:10px 17px;border:1px solid #d4dbd5;border-radius:999px;
  background:transparent;color:#52615b;font:800 9px Inter,sans-serif;
  cursor:pointer;transition:.2s;
}
.blog-filters button.active,.gallery-filters button.active,.project-switch a.active,
.blog-filters button:hover,.gallery-filters button:hover,.project-switch a:hover{
  border-color:var(--inner-green);background:var(--inner-green);color:#fff;
}

/* Closing blocks share the same green/lime composition. */
.ecosystem,.project-next{background:var(--inner-green);color:#fff}
.about-doc-cta,.docs-note,.blog-newsletter{
  border-radius:var(--inner-radius);background:var(--inner-lime);
  box-shadow:var(--inner-shadow);
}

/* Compact, high-contrast CTA banners shared by corporate and blog pages. */
body .about-doc-cta,
body .docs-note,
body .blog-newsletter{
  width:min(var(--inner-width),calc(100% - 48px));
  height:190px;
  min-height:0;
  margin-left:auto;
  margin-right:auto;
  padding:38px 44px;
  margin-bottom:52px;
  border:1px solid #b9ce25;
  border-radius:22px;
  box-shadow:0 18px 42px rgba(10,48,41,.13);
}
body .about-doc-cta,
body .blog-newsletter{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
body .docs-note{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
}
body .about-doc-cta h2,
body .docs-note h2,
body .blog-newsletter h2{
  font:600 34px/1.08 Inter,sans-serif;
  letter-spacing:-1.5px;
  margin-top:9px;
  margin-bottom:0;
}
body .about-doc-cta span,
body .docs-note span,
body .blog-newsletter span{
  font:800 9px/1 Inter,sans-serif;
  letter-spacing:2.4px;
}
body .about-doc-cta>a,
body .docs-note>a,
body .blog-newsletter>a{
  min-width:190px;
  min-height:52px;
  padding:0 23px;
  border:2px solid var(--inner-deep);
  border-radius:999px;
  background:var(--inner-deep);
  color:#fff!important;
  box-shadow:0 12px 26px rgba(7,31,26,.2);
  font-size:10px;
  letter-spacing:.65px;
}
body .about-doc-cta>a i,
body .docs-note>a i,
body .blog-newsletter>a i{
  margin-left:auto;
  color:var(--inner-lime);
  font-size:12px;
}
body .about-doc-cta>a:hover,
body .docs-note>a:hover,
body .blog-newsletter>a:hover{
  border-color:#16463c;
  background:#16463c;
  color:#fff!important;
  transform:translateY(-2px);
}
.corporate-page .about-manifesto{
  padding-top:88px;
  padding-bottom:68px;
}
.corporate-page .docs-grid{margin-bottom:78px}
.blog-page .blog-archive{margin-bottom:78px}
body main a:focus-visible,body main button:focus-visible,body main input:focus-visible,
body main select:focus-visible,body main textarea:focus-visible{
  outline:3px solid var(--inner-lime);outline-offset:3px;
}

@media(max-width:800px){
  .companies-page .companies-hero,.press-page .press-hero,.gallery-page .gallery-hero,
  .blog-page .blog-hero,.contact-page .contact-hero,.projects-page .projects-hero,
  .corporate-page .corp-hero,.corporate-page .docs-hero{
    width:100%;height:510px;min-height:510px;margin:0;border-radius:0 0 24px 24px;
  }
  .companies-page .companies-hero,.gallery-page .gallery-hero{padding:50px 22px}
  .inner-hero__image{object-position:center}
  .press-page .press-hero__content,.blog-page .blog-hero__inner,
  .contact-page .contact-hero__content,.projects-page .projects-hero__content,
  .corporate-page .corp-hero__copy,.corporate-page .docs-hero__copy{left:22px;right:22px}
  .companies-page .hero-copy h1,.gallery-page .gallery-hero h1,.press-page .press-hero h1,
  .blog-page .blog-hero h1,.contact-page .contact-hero h1,.projects-page .projects-hero h1,
  .corporate-page .corp-hero h1,.corporate-page .docs-hero h1{
    font-size:42px;line-height:1.04;letter-spacing:-2px;
  }
  .press-lead,.blog-intro,.projects-intro,.docs-intro{padding:78px 0 55px;gap:32px}
  .press-lead h2,.blog-intro h2,.projects-intro h2,.docs-intro h2,
  .company-intro h2,.gallery-toolbar h2,.contact-form__intro h2{
    font-size:35px;letter-spacing:-1.5px;
  }
  body .about-doc-cta,
  body .docs-note,
  body .blog-newsletter{
    width:calc(100% - 30px);
    height:auto;
    min-height:170px;
    margin-bottom:44px;
    padding:30px 27px;
    display:flex;
    gap:25px;
  }
  body .about-doc-cta>a,
  body .docs-note>a,
  body .blog-newsletter>a{
    flex:0 0 auto;
    min-width:175px;
  }
  .nav>a.is-current:after,.nav-dropdown.is-current>.nav-dropdown__trigger:after{
    left:0;bottom:8px;transform:none;
  }
}
@media(max-width:600px){
  .corporate-page .about-manifesto{padding:68px 0 50px}
  body .about-doc-cta,
  body .docs-note,
  body .blog-newsletter{
    min-height:0;
    margin-bottom:36px;
    padding:28px 24px;
    display:block;
    border-radius:19px;
  }
  body .about-doc-cta h2,
  body .docs-note h2,
  body .blog-newsletter h2{
    font-size:28px;
    line-height:1.1;
    margin-bottom:24px;
  }
  body .about-doc-cta>a,
  body .docs-note>a,
  body .blog-newsletter>a{
    width:100%;
    min-width:0;
    min-height:50px;
    justify-content:flex-start;
  }
  body .docs-note>i{margin-bottom:18px}
}
@media(prefers-reduced-motion:reduce){
  body *,body *:before,body *:after{
    scroll-behavior:auto!important;transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}
