/* Enterprise: clear results, defined work, and the people who do it.
   Page-scoped so the Blueprint and About keep their own layouts. */
.enterprise-page { --enterprise-inset:clamp(1.5rem,3vw,2.5rem); }
.enterprise-page .ac-proof { display:flex; flex-direction:column; gap:0; border:0; }
.enterprise-proof-heading { margin-bottom:1.5rem; }
.enterprise-page .ac-case-notes { order:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; width:100%; }
.enterprise-page .ac-case-notes article { display:flex; flex-direction:column; align-items:flex-start; padding:var(--enterprise-inset); border:1px solid var(--line); border-radius:10px; background:#fff; }
.enterprise-page .ac-case-notes article:first-child { background:var(--green); border-color:var(--green); color:white; }
.enterprise-page .ac-client-name { font-size:.875rem; line-height:1.5; letter-spacing:0; }
.enterprise-page .ac-case-notes h2 { font-size:clamp(1.5rem,2.5vw,2.125rem); line-height:1.25; letter-spacing:-.035em; margin:1.75rem 0 1rem; max-width:20ch; text-wrap:pretty; }
.enterprise-page .ac-case-notes h2 strong { font-size:clamp(4rem,7vw,6rem); font-weight:700; line-height:1; margin:0 0 .5rem; letter-spacing:-.065em; }
.enterprise-page .ac-case-notes h2 span { display:block; font-size:1.5rem; letter-spacing:-.02em; }
.enterprise-page .ac-case-notes article>p:not(.ac-client-name) { margin-bottom:1.5rem; max-width:40ch; line-height:1.6; }
.enterprise-page .ac-case-notes .ac-text-link { margin-top:auto; min-height:44px; font-size:.9375rem; text-decoration:none; width:100%; border-top:1px solid var(--line); padding-top:1rem; justify-content:space-between; }
.enterprise-page .ac-case-notes .ac-text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.enterprise-page .ac-case-notes article:first-child p { color:#d4e4dc; }
.enterprise-page .ac-case-notes article:first-child .ac-text-link { color:white; border-color:#436d60; }
.enterprise-page .ac-case-notes article:first-child .ac-text-link>span[aria-hidden] { color:var(--gold); }
.enterprise-page .ac-client-quote { order:2; width:100%; margin-top:2rem; padding:0 0 0 1.5rem; border-left:3px solid var(--gold); }
.enterprise-page .ac-client-quote blockquote { margin:0; max-width:66ch; }
.enterprise-page .ac-client-quote blockquote p { font-size:clamp(1.125rem,1.8vw,1.5rem); line-height:1.6; font-weight:500; letter-spacing:-.02em; }
.enterprise-page .ac-client-quote figcaption { border:0; padding:0; margin-top:.75rem; font-size:.875rem; color:var(--muted); }
.enterprise-page .ac-proof-note { order:3; font-size:.8125rem; margin-top:1.5rem; }

/* A six-cell service index with one shared border rhythm. */
.enterprise-page .service-focus { padding-top:0; }
.enterprise-page .service-focus h2 { margin:0 0 2rem; }
.enterprise-page .focus-grid { gap:1px; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--line); margin:0; }
.enterprise-page .focus-grid article { border:0; background:#fff; padding:var(--enterprise-inset); min-width:0; position:relative; }
.enterprise-page .focus-grid h3 { font-size:clamp(1.125rem,1.8vw,1.375rem); max-width:25ch; letter-spacing:-.025em; line-height:1.35; }
.enterprise-page .focus-grid p { font-size:1rem; line-height:1.65; margin-top:.875rem; max-width:46ch; }

/* A connected path, with supporting outputs available when wanted. */
.enterprise-page .enterprise-process-heading { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:2rem; align-items:end; max-width:none; }
.enterprise-page .enterprise-process-heading h2 { font-size:clamp(2rem,3.4vw,3rem); line-height:1.15; max-width:22ch; }
.enterprise-page .enterprise-process-heading>p { margin:0; max-width:36ch; font-size:1.0625rem; }
.enterprise-page .enterprise-phases { gap:1.25rem; margin-top:2.75rem; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.enterprise-page .enterprise-phases>li { display:block; position:relative; border:1px solid #b8cec2; border-radius:10px; padding:1.5rem; background:#f8fbf9; }
.enterprise-page .enterprise-phases>li:not(:last-child)::after { content:'→'; position:absolute; right:-1.375rem; top:2.15rem; width:1.5rem; text-align:center; color:var(--green); background:var(--sage); font-size:1.125rem; z-index:1; }
.enterprise-phase-top { display:flex; align-items:center; gap:1rem; }
.enterprise-phase-number { display:grid; place-items:center; width:2.75rem; height:2.75rem; flex:none; border:1px solid #a9c2b4; border-radius:50%; font-size:.9375rem; font-weight:700; color:var(--green); }
.enterprise-page .enterprise-phase-top .eyebrow { font-size:.875rem; color:var(--green); letter-spacing:.07em; }
.enterprise-phase-top .eyebrow>span { display:block; margin-top:.125rem; font-size:.875rem; font-weight:400; text-transform:none; letter-spacing:0; color:var(--muted); }
.enterprise-page .enterprise-phases h3 { font-size:1.375rem; line-height:1.3; text-wrap:pretty; margin:1.5rem 0 .75rem; }
.enterprise-page .enterprise-phases>li>p { font-size:1rem; line-height:1.65; min-height:7rem; }
.enterprise-phase-details { margin-top:1.5rem; border-top:1px solid #c7d7ce; }
.enterprise-phase-details summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0 0; min-height:44px; font-size:.9375rem; font-weight:700; cursor:pointer; }
.enterprise-phase-details summary::-webkit-details-marker { display:none; }
.enterprise-phase-details summary>span { font-size:1.375rem; font-weight:400; transition:transform .18s ease; }
.enterprise-phase-details[open] summary>span { transform:rotate(45deg); }
.enterprise-phase-details[open] summary { padding-bottom:.25rem; }
.enterprise-page .enterprise-phase-details ul { padding-left:1.1rem; }
.enterprise-page .enterprise-phase-details ul li { font-size:.9375rem; }
.enterprise-page .enterprise-phase-details .phase-note { font-size:.875rem; }

/* Let the portraits be portraits, not tiny badges beside dense copy. */
.enterprise-page .ac-team-intro { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,5rem); border:0; align-items:center; }
.enterprise-page .ac-team-intro h2 { font-size:clamp(2rem,3.4vw,3rem); line-height:1.15; max-width:20ch; }
.enterprise-page .ac-team-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.enterprise-page .ac-team-preview article { display:block; padding:0; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff; }
.enterprise-page .ac-team-preview img { width:100%; height:auto; aspect-ratio:1.12; object-fit:cover; object-position:50% 15%; border-radius:0; }
.enterprise-page .ac-team-preview article>div { padding:1.125rem; }
.enterprise-page .ac-team-preview h3 { font-size:1.125rem; text-wrap:pretty; }
.enterprise-page .ac-team-preview article p { font-size:.875rem; line-height:1.5; margin-top:.4rem; }
.enterprise-page .ac-team-preview>p { grid-column:1/-1; margin:.25rem 0 0; padding-left:1rem; border-left:2px solid var(--gold); }

/* A generous form column, with a quieter heading and clear field groups. */
.enterprise-page .session-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.enterprise-page .session h2 { font-size:clamp(2rem,3.7vw,3.125rem); line-height:1.18; max-width:17ch; margin:0; }
.enterprise-page .session-copy>p { font-size:1.0625rem; max-width:40ch; color:#c9dbd2; }
.enterprise-page .request-card { background:#fff; border:1px solid #c7d6ce; border-radius:10px; padding:clamp(1.5rem,3vw,2.5rem); box-shadow:0 12px 35px #05261f20; }
.enterprise-page .request-card>.form-heading { display:flex; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:1.25rem; align-items:center; }
.enterprise-page .request-card>.form-heading>h3 { font-size:1.375rem; line-height:1.4; }
.enterprise-page .form-heading>span { font-size:.8125rem; white-space:nowrap; }
.enterprise-page .request-card>.form-heading>#step-count { max-width:none; width:auto; white-space:nowrap; text-align:left; }
.enterprise-page .required-label { float:none; font-size:.8125rem; font-weight:400; margin-left:.4rem; }
.enterprise-page .form-step>label { margin:1.25rem 0 .5rem; font-size:.9375rem; }
.enterprise-page .form-step>label:first-child { margin-top:0; }
.enterprise-page .form-step input:not([type=checkbox]),.enterprise-page .form-step textarea,.enterprise-page .form-step select { border:1px solid #8fa69a; border-radius:6px; padding:.875rem 1rem; font-size:1rem; background:#fcfdfc; }
.enterprise-page .form-step textarea { min-height:9rem; }
.enterprise-page .form-step input::placeholder,.enterprise-page .form-step textarea::placeholder { font-size:1rem; color:#697e72; }
.enterprise-page .form-button { margin-top:.75rem; min-height:54px; }
.enterprise-page .form-privacy { font-size:.875rem; margin-top:1.25rem; line-height:1.6; padding-top:1.25rem; border-top:1px solid var(--line); }
.enterprise-page :is(.ac-text-link,summary):focus-visible { outline:3px solid #a17825; outline-offset:5px; border-radius:2px; }

/* At tablet widths, stop squeezing the form and bios into half a screen. */
@media(max-width:1000px) {
  .enterprise-page .enterprise-process-heading { grid-template-columns:1fr; gap:1rem; }
  .enterprise-page .enterprise-process-heading>p { max-width:none; }
  .enterprise-page .enterprise-phases { grid-template-columns:1fr; gap:1.25rem; }
  .enterprise-page .enterprise-phases>li { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:0 2rem; padding:1.5rem; }
  .enterprise-phase-top { grid-column:1; grid-row:1; }
  .enterprise-page .enterprise-phases h3 { grid-column:1; grid-row:2; margin:.875rem 0 0; }
  .enterprise-page .enterprise-phases>li>p { grid-column:2; grid-row:1/3; min-height:0; margin:0; }
  .enterprise-phase-details { grid-column:1/-1; }
  .enterprise-page .enterprise-phases>li:not(:last-child)::after { content:'↓'; left:calc(50% - .75rem); right:auto; top:auto; bottom:-1.4rem; line-height:1.5rem; }
  .enterprise-page .ac-team-intro { grid-template-columns:1fr; gap:2rem; }
  .enterprise-page .ac-team-intro h2 { max-width:24ch; }
  .enterprise-page .ac-team-intro .enterprise-team-copy>p:not(.eyebrow) { max-width:65ch; }
  .enterprise-page .ac-team-preview img { aspect-ratio:1.2; }
  .enterprise-page .session-grid { grid-template-columns:1fr; gap:2rem; max-width:800px; }
  .enterprise-page .session h2 { max-width:none; }
  .enterprise-page .session-copy>p { max-width:62ch; margin-top:1rem; }
}
@media(max-width:600px) {
  .enterprise-page .ac-case-notes,.enterprise-page .focus-grid { grid-template-columns:1fr; }
  .enterprise-page .ac-case-notes h2 { max-width:22ch; margin-top:1.25rem; }
  .enterprise-page .ac-client-quote { padding-left:1rem; }
  .enterprise-page .enterprise-phases>li { display:block; }
  .enterprise-page .enterprise-phases h3 { margin:1.25rem 0 .75rem; }
  .enterprise-page .ac-team-preview { grid-template-columns:1fr; }
  .enterprise-page .ac-team-preview article { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:center; }
  .enterprise-page .ac-team-preview img { width:110px; height:100%; min-height:140px; aspect-ratio:auto; }
  .enterprise-page .ac-team-preview article>div { padding:1rem; }
  .enterprise-page .ac-team-preview>p { margin-top:.5rem; }
  .enterprise-page .request-card { padding:1.25rem; }
  .enterprise-page .field-pair { grid-template-columns:1fr; }
  .enterprise-page .request-card>.form-heading { flex-direction:column; align-items:flex-start; gap:.5rem; }
  .enterprise-page .focus-areas { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .enterprise-phase-details summary>span { transition:none; }
}
@media print {
  .enterprise-phase-details>ul,.enterprise-phase-details>p { display:block!important; }
}
