/* IMWL-CP3A-D7-P3-P1-R1 — conversion coherence, distinct product composition and semantic court repair. */

/* One low-friction prospect action across the estate. */
.masthead nav .nav-cta {
  white-space: nowrap;
}

/* The three products form a portfolio, not a tabbed application shell. */
.app-system-showcase[data-app-layout="portfolio"] {
  display: grid;
  gap: clamp(24px, 4vw, 56px);
  border: 0;
  background: transparent;
  box-shadow: none;
}
.app-species-directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  background: color-mix(in srgb, currentColor 13%, transparent);
}
.app-species-directory a {
  display: grid;
  gap: 5px;
  min-height: 76px;
  padding: 17px 19px;
  background: var(--light-background, #f2efe7);
  color: var(--ink, #131313);
  text-decoration: none;
}
.app-species-directory a:hover,
.app-species-directory a:focus-visible {
  background: #fff;
}
.app-species-directory span {
  font-weight: 700;
}
.app-species-directory small {
  color: color-mix(in srgb, currentColor 62%, transparent);
}
.app-species-portfolio {
  display: grid;
  gap: clamp(56px, 8vw, 112px);
}
.app-species-portfolio > .app-species {
  display: block;
  min-width: 0;
  overflow: clip;
  border: 0;
  background: transparent;
}
.app-species-portfolio > .app-species + .app-species {
  padding-top: clamp(48px, 7vw, 96px);
  border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
.app-species-portfolio .supplier-workbench,
.app-species-portfolio .incident-presentation,
.app-species-portfolio .release-flow {
  min-height: clamp(580px, 61vw, 820px);
}

/* Ask: human Contact is primary; reference entry and follow-up composer are quiet utilities. */
.ask-authority-kicker {
  opacity: .7;
}
.ask-arrival__conversion--primary,
.ask-conversation__contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(255,255,255,.24);
  background: #171918;
  color: #f7f4eb;
}
.ask-arrival__conversion--primary > div,
.ask-conversation__contact > div {
  display: grid;
  gap: 5px;
}
.ask-arrival__conversion--primary span,
.ask-conversation__contact span {
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .72;
}
.ask-arrival__conversion--primary strong,
.ask-conversation__contact strong {
  font-size: clamp(1.02rem, 1.5vw, 1.25rem);
}
.ask-arrival__conversion--primary a,
.ask-conversation__contact a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  background: #f2efe7;
  color: #171918;
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}
.ask-arrival__reference-intro {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: baseline;
  margin-top: clamp(24px, 4vw, 40px);
  color: color-mix(in srgb, currentColor 70%, transparent);
}
.ask-arrival__reference-intro span {
  font-weight: 700;
}
.ask-arrival__reference-intro p {
  margin: 0;
}
.ask-composer--arrival,
.ask-composer--conversation {
  box-shadow: none;
  border-color: color-mix(in srgb, currentColor 18%, transparent);
}
.ask-composer--arrival {
  margin-top: 12px;
}
.ask-conversation__bar > div {
  display: flex;
  align-items: center;
}
.ask-conversation__contact {
  width: min(100% - 32px, 980px);
  margin: 0 auto 12px;
}
.ask-composer-dock {
  padding-top: 0;
}

/* Contact begins directly with five essentials and a two-step review. */
.contact-purpose-strip {
  padding-block: 0;
}
.contact-purpose-strip > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100% - 40px, 1180px);
  margin: 0 auto;
  border-inline: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}
.contact-purpose-strip span {
  display: flex;
  align-items: center;
  min-height: 64px;
  padding: 16px 22px;
  border-right: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  font-weight: 650;
}
.contact-purpose-strip span:last-child {
  border-right: 0;
}
.contact-stage {
  grid-template-areas: "progress progress" "brief form";
}
.contact-stage > .contact-progress {
  grid-area: progress;
  margin-bottom: clamp(12px, 2vw, 26px);
}
.contact-stage > .contact-brief {
  grid-area: brief;
}
.contact-stage > .contact-form {
  grid-area: form;
}
html[data-contact-progress="1"] .contact-review {
  display: none;
}
html[data-contact-progress="2"] .contact-form > :not(.contact-review):not(.form-status):not(.contact-honeypot) {
  display: none;
}
html[data-contact-progress="2"] .contact-review {
  display: grid;
}

/* Legacy Engineering is now a transparent bridge to Platform. */
.engineering-legacy-hero {
  min-height: min(72vh, 760px);
  display: grid;
  align-items: center;
}
.engineering-legacy-hero > div {
  width: min(100% - 40px, 1080px);
  margin: 0 auto;
}
.engineering-legacy-hero h1 {
  max-width: 820px;
  font-size: clamp(3.2rem, 8vw, 7.6rem);
  line-height: .92;
  letter-spacing: -.055em;
}
.engineering-legacy-hero .lede {
  max-width: 760px;
}
.engineering-legacy-map > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100% - 40px, 1180px);
  margin: 0 auto;
}
.engineering-legacy-map article {
  min-height: 340px;
  padding: clamp(28px, 4vw, 52px);
  border-right: 1px solid rgba(255,255,255,.16);
}
.engineering-legacy-map article:last-child {
  border-right: 0;
}
.engineering-legacy-map article > span {
  opacity: .55;
}
.engineering-legacy-map a {
  color: inherit;
}

/* Secondary estates end with an explicit return to product or Contact. */
.estate-bridge > div {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: clamp(36px, 7vw, 100px);
  align-items: end;
  width: min(100% - 40px, 1180px);
  margin: 0 auto;
}
.estate-bridge h2 {
  max-width: 780px;
}

@media (max-width: 820px) {
  .app-species-directory,
  .contact-purpose-strip > div,
  .engineering-legacy-map > div {
    grid-template-columns: 1fr;
  }
  .app-species-directory a,
  .contact-purpose-strip span,
  .engineering-legacy-map article {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  }
  .app-species-directory a:last-child,
  .contact-purpose-strip span:last-child,
  .engineering-legacy-map article:last-child {
    border-bottom: 0;
  }
  .app-species-portfolio .supplier-workbench,
  .app-species-portfolio .incident-presentation,
  .app-species-portfolio .release-flow {
    min-height: 0;
  }
  .ask-arrival__conversion--primary,
  .ask-conversation__contact,
  .estate-bridge > div {
    grid-template-columns: 1fr;
  }
  .ask-arrival__conversion--primary a,
  .ask-conversation__contact a {
    width: 100%;
  }
  .ask-arrival__reference-intro {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .contact-stage {
    grid-template-areas: "progress" "form" "brief";
  }
  .engineering-legacy-hero h1 {
    font-size: clamp(3rem, 15vw, 5.5rem);
  }
}

/* Corporate contact directory */
.contact-directory{border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.contact-directory__inner{width:min(var(--shell-max),calc(100% - 2*var(--page-pad)));margin:auto;padding:clamp(48px,6vw,78px) 0;display:grid;grid-template-columns:.42fr .58fr;gap:clamp(48px,8vw,110px);align-items:start}
.contact-directory__inner h2{margin:0 0 18px;font-size:clamp(38px,4vw,56px);line-height:1;letter-spacing:-.04em}.contact-directory__inner p{color:var(--muted);max-width:520px}
.contact-directory__channels{border-top:1px solid var(--line-light)}.contact-channel{display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line-light)}.contact-channel span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.contact-channel strong{font-size:20px;letter-spacing:-.02em}.contact-channel small{color:var(--muted);font-size:11px;text-align:right}.contact-channel:hover strong{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.contact-directory__inner{grid-template-columns:1fr;gap:30px}.contact-channel{grid-template-columns:1fr;gap:6px}.contact-channel small{text-align:left}}


/* R8 — public-estate optical convergence: Ask + policy instruments. */
.ask-page .ask-arrival__inner{max-width:1040px}
.ask-page .ask-arrival__statement{max-width:760px}
.ask-page .ask-arrival__statement h1{max-width:12ch;font-size:clamp(48px,6.2vw,84px);line-height:.96;letter-spacing:-.052em}
.ask-page .ask-arrival__lede{max-width:610px;font-size:clamp(17px,1.6vw,21px);line-height:1.48}
.ask-page .ask-arrival__conversion--primary{
  margin-top:clamp(28px,4vw,44px);padding:18px 0;border:0;border-top:1px solid rgba(20,23,21,.18);
  border-bottom:1px solid rgba(20,23,21,.18);background:transparent;color:inherit;
}
.ask-page .ask-arrival__conversion--primary span{opacity:.56}
.ask-page .ask-arrival__conversion--primary strong{font-size:1rem;font-weight:650}
.ask-page .ask-arrival__conversion--primary a{
  min-height:0;padding:0;background:transparent;color:inherit;font-size:.9rem;text-decoration:underline;text-underline-offset:4px;
}
.ask-page .ask-arrival__reference-intro{margin-top:clamp(26px,4vw,42px)}
.ask-page .ask-reference-questions{border-top:1px solid rgba(20,23,21,.12)}
.ask-page .ask-reference-questions__inner{padding-top:clamp(38px,5vw,64px);padding-bottom:clamp(42px,6vw,78px)}
.ask-page .ask-reference-questions__head{margin-bottom:clamp(24px,3vw,36px)}
.ask-page .ask-reference-questions__head strong{font-size:clamp(22px,2.4vw,32px);letter-spacing:-.035em}
.ask-page .ask-prompts--reference button{min-height:0}
.ask-page .ask-conversation__contact{
  padding:14px 0;border:0;border-top:1px solid rgba(20,23,21,.16);background:transparent;color:inherit;
}
.ask-page .ask-conversation__contact span{opacity:.54}
.ask-page .ask-conversation__contact strong{font-size:.96rem}
.ask-page .ask-conversation__contact a{min-height:0;padding:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:4px}
.ask-page .ask-composer-dock{padding-bottom:clamp(18px,3vw,30px)}

.policy-hero .legal-hero__inner{max-width:980px}
.policy-hero h1{max-width:none;font-size:clamp(52px,6.2vw,82px);line-height:.96;letter-spacing:-.05em}
.policy-hero .lede{max-width:760px;font-size:clamp(16px,1.45vw,19px);line-height:1.58}
.policy-body{grid-template-columns:minmax(170px,.25fr) minmax(0,.75fr);gap:clamp(52px,8vw,120px)}
.policy-body .legal-index{position:sticky;top:96px;align-self:start}
.policy-body .legal-index a{font-size:12px;line-height:1.35}
.policy-body .legal-content{max-width:790px}
.policy-body .legal-section{padding-block:clamp(36px,5vw,62px);border-top:1px solid var(--line-light)}
.policy-body .legal-section:first-child{padding-top:0;border-top:0}
.policy-body .legal-section .eyebrow{display:none}
.policy-body .legal-section h2{max-width:none;margin:0 0 20px;font-size:clamp(25px,2.8vw,36px);line-height:1.08;letter-spacing:-.035em}
.policy-body .legal-section p{max-width:72ch;margin:0 0 16px;font-size:15.5px;line-height:1.68;color:color-mix(in srgb,var(--ink,#131313) 78%,transparent)}
.policy-body .legal-section p:last-child{margin-bottom:0}
.policy-body .legal-section a{text-decoration-thickness:1px;text-underline-offset:3px}

@media(max-width:760px){
  .ask-page .ask-arrival__inner{padding-top:44px;padding-bottom:36px}
  .ask-page .ask-authority-kicker{margin-bottom:28px}
  .ask-page .ask-arrival__statement h1{font-size:clamp(46px,13vw,60px);max-width:8.5ch}
  .ask-page .ask-arrival__lede{font-size:17px;max-width:32ch}
  .ask-page .ask-arrival__conversion--primary{grid-template-columns:1fr;gap:8px;margin-top:28px;padding:14px 0}
  .ask-page .ask-arrival__conversion--primary a{width:auto;justify-content:flex-start}
  .ask-page .ask-arrival__reference-intro{margin-top:24px}
  .ask-page .ask-prompts--reference{grid-template-columns:1fr}
  .ask-page .ask-prompts--reference button{padding-block:18px}
  .ask-page .ask-prompts--reference button small{font-size:12px;line-height:1.4}
  .ask-page .ask-prompts-more{gap:0}
  .ask-page .ask-prompts-more>span{margin-bottom:10px}
  .ask-page .ask-prompts-more button{padding-block:12px}
  .ask-page .ask-conversation__bar{min-height:52px;padding-inline:18px}
  .ask-page .ask-conversation__contact{width:calc(100% - 36px);grid-template-columns:1fr;gap:7px;margin-bottom:4px}
  .ask-page .ask-conversation__contact a{width:auto;justify-content:flex-start}
  .ask-page .ask-composer-dock{padding-inline:18px}
  .ask-page .ask-privacy-line{font-size:10px;line-height:1.4}

  .policy-hero .legal-hero__inner{padding-top:54px;padding-bottom:44px}
  .policy-hero h1{font-size:clamp(46px,13vw,60px)}
  .policy-body{display:block}
  .policy-body .legal-index{position:static;display:flex;overflow-x:auto;gap:18px;padding:0 0 24px;margin-bottom:28px;border-bottom:1px solid var(--line-light);scrollbar-width:none}
  .policy-body .legal-index::-webkit-scrollbar{display:none}
  .policy-body .legal-index a{white-space:nowrap}
  .policy-body .legal-section{padding-block:34px}
  .policy-body .legal-section h2{font-size:27px}
  .policy-body .legal-section p{font-size:15px;line-height:1.66}
}
