/* Shared content rhythm. Product illustrations retain their own dimensions. */
:root{--content-rule:#2b3037;--content-secondary:#adb6c2;--content-gap:clamp(24px,3vw,40px);--content-section:clamp(44px,6vw,80px)}
main{min-width:0}
main :is(.grid,.threegrid,.riskgrid,.grid2,.grid3)>*{min-width:0}
main :is(.sectionhead,.contactband,.end)>*{min-width:0}
main :is(.card,.industry-card):not(:has(.art,.contour,canvas,video,iframe)){min-height:0;height:auto}
main.wrap :is(.grid,.threegrid,.riskgrid){align-items:stretch}
main.wrap .card:not(:has(.art)) {padding:24px;background:#090b0e;border-color:var(--content-rule);border-radius:12px}
main.wrap .card:not(:has(.art)) h3{font-size:18px;line-height:1.35;margin:12px 0 9px}
main.wrap .card:not(:has(.art)) p{font-size:14px;line-height:1.7;max-width:58ch;color:var(--content-secondary)}
main.wrap .card:not(:has(.art)) footer{padding:16px 0 0;margin:0;font-size:11px;line-height:1.6;max-width:65ch;border:0;background:none;color:#a3afbe}
main.wrap .threegrid>article.card{background:none;border:0;border-top:1px solid var(--content-rule);border-radius:0;padding:22px 0}
main.wrap .threegrid>article.card:before{display:none}
main.wrap .sectionhead{gap:var(--content-gap);align-items:start}
main.wrap .sectionhead h2{max-width:24ch;text-wrap:balance}
main.wrap .sectionhead p{font-size:15px;line-height:1.7;color:var(--content-secondary);max-width:44ch}
main.wrap .recordsection>p{max-width:70ch;font-size:15px;line-height:1.75;color:var(--content-secondary)}
main.wrap .claimnote{max-width:90ch;line-height:1.7}
main.wrap :is(.end,.contactband){display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:48px;border-top:1px solid var(--content-rule)}
main.wrap :is(.end,.contactband) h2{font-size:clamp(25px,2.7vw,36px);max-width:30ch;margin:0 0 12px;line-height:1.2}
main.wrap :is(.end,.contactband) p{max-width:65ch;color:var(--content-secondary);font-size:14px;line-height:1.7;margin:0}
main.wrap :is(.end,.contactband)>.btn{flex:0 0 auto}
main.wrap :is(.btn,button:not(.ex-film button)):focus-visible{outline:2px solid #d1e7fb;outline-offset:4px}
@media(max-width:1000px) and (min-width:701px){main.wrap .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 main.wrap :is(.grid,.threegrid,.riskgrid){grid-template-columns:minmax(0,1fr);gap:20px}
 main.wrap .card.big{grid-column:auto}
 main.wrap .sectionhead{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:26px}
 main.wrap .sectionhead p{max-width:60ch}
 main.wrap .card:not(:has(.art)){padding:22px}
 main.wrap .threegrid>article.card{padding:20px 0}
 main.wrap :is(.end,.contactband){align-items:flex-start;flex-direction:column;gap:22px;padding-block:36px}
 main.wrap .actions{flex-wrap:wrap}
 main.wrap .btn{min-height:44px}
 main.wrap :is(.recordsection,.ex-outcome-section,.ex-residency){padding-block:44px}
 main.wrap h2{overflow-wrap:break-word}
}
/* Exedro: one focused product story, from understanding to reviewed action. */
.ex-ai-page{max-width:1220px}
.ex-ai-page>section{padding-block:var(--content-section);border-top:1px solid var(--content-rule)}
.ex-ai-page .ex-ai-hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:64px;max-width:none;border:0;padding-block:72px}
.ex-ai-page .ex-ai-hero h1{font-size:clamp(44px,5vw,68px);line-height:1.06;letter-spacing:-.04em;margin:23px 0}
.ex-ai-page .ex-ai-hero h1 span{color:#bfd0df}
.ex-ai-page .ex-ai-hero .ex-subheadline{font-size:21px;line-height:1.5;max-width:30ch;margin:0 0 18px}
.ex-ai-page .ex-ai-hero .ex-support{font-size:15px;line-height:1.75;max-width:54ch}
.ex-ai-page .ex-ai-hero .ex-support br{display:none}
.ex-ai-page .ex-caption{font-size:11px;color:#a7b4c2;line-height:1.65;margin-top:16px}
.ex-ai-page .ex-primary{background:#e3edf6;color:#111b25;border-color:#e3edf6}
.ex-ai-featured{display:block;text-align:left;width:100%;border-radius:18px;border:1px solid #31404e;padding:28px;background:linear-gradient(155deg,#192632,#0b1118 75%);color:#ecf3fa;cursor:pointer;box-shadow:0 18px 40px -28px #000a;transition:border-color .2s,transform .2s}
.ex-ai-featured:hover{border-color:#8198ad;transform:translateY(-2px)}
.ex-ai-featured:focus-visible{outline:2px solid #cfe9ff;outline-offset:5px}
.ex-featured-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#9eb2c5}.ex-featured-top .exedro-brand{font-size:18px;color:#e9f2fa}
.ex-featured-title{display:block;font-size:24px;letter-spacing:-.025em;line-height:1.25;margin:25px 0 28px}
.ex-preview-finding{display:block;border-top:1px solid #3b4d5d;padding:18px 0}
.ex-preview-finding>span{display:block;font-size:11px;color:#c9b99b;margin-bottom:9px}.ex-preview-finding strong{display:block;font-size:15px;line-height:1.4;font-weight:500}.ex-preview-finding small{display:block;font-size:11px;line-height:1.6;color:#aebfd0;margin-top:6px}
.ex-preview-response{display:flex;gap:12px;align-items:center;border-block:1px solid #304352;padding:17px 0;font-size:13px}.ex-preview-response svg{width:23px;height:23px}.ex-preview-response small{display:block;font-size:11px;color:#afc3d4;margin-top:4px}.ex-preview-response>span:last-child{margin-left:auto;font-size:18px}
.ex-featured-play{display:flex;align-items:center;gap:12px;margin-top:24px;font-size:13px;font-weight:500}.ex-featured-play>span{font-size:23px;color:#d5e8f8}.ex-featured-caption{display:block;font-size:10px;color:#9fb0c0;margin-top:12px}
.ex-ai-page .ex-ai-journey>.eyebrow{margin:0}
.ex-ai-page .ex-journey-grid{gap:40px;margin:24px 0 28px}
.ex-ai-page .ex-journey-grid h2{font-size:23px;margin:14px 0 12px;line-height:1.2;max-width:17ch}
.ex-ai-page .ex-journey-grid p{font-size:14px;line-height:1.75;margin:0;color:var(--content-secondary)}
.ex-capability-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:36px}
.ex-capability-group>h3{font-size:19px;line-height:1.35;font-weight:500;letter-spacing:-.025em;margin:0 0 22px}
.ex-capability-group details{border-top:1px solid var(--content-rule)}
.ex-capability-group details:last-child{border-bottom:1px solid var(--content-rule)}
.ex-capability-group summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;min-height:58px;padding:15px 0;font-size:14px;line-height:1.5;color:#c5d2de}
.ex-capability-group summary::-webkit-details-marker{display:none}.ex-capability-group summary:after{content:'+';font-size:20px;font-weight:300;color:#a7bacd}.ex-capability-group details[open] summary:after{content:'−'}.ex-capability-group details[open] summary{color:#f2f6fa}
.ex-capability-group details p{font-size:14px;line-height:1.7;margin:0 0 20px;color:var(--content-secondary)}
.ex-ai-page .ex-residency{grid-template-columns:1.1fr 1fr;gap:80px}
.ex-ai-page .ex-residency h2{font-size:34px;line-height:1.15;max-width:20ch}
.ex-ai-page .ex-residency p{font-size:14px;line-height:1.75}
.ex-ai-page .ex-outcome-list>div{padding:20px 0;margin:0;border-bottom:1px solid var(--content-rule)}
.ex-ai-page .ex-outcome-list>div:first-child{padding-top:0}
.ex-ai-page .ex-outcome-list strong{font-size:17px;font-weight:500}.ex-ai-page .ex-outcome-list p{margin:8px 0 0}
.ex-ai-page .ex-ai-faq{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:80px}
.ex-ai-faq>.eyebrow{grid-column:1}.ex-ai-faq>h2{grid-column:1;grid-row:2/6;margin-top:0;font-size:34px}
.ex-ai-faq>details{grid-column:2;padding:17px 0}.ex-ai-faq>details:first-of-type{grid-row:1/3}.ex-ai-faq summary{font-size:16px;line-height:1.5}.ex-ai-faq p{font-size:14px;line-height:1.75;max-width:62ch}
@media(max-width:1000px){.ex-ai-page .ex-ai-hero{gap:32px}.ex-ai-featured{padding:24px}.ex-featured-title{font-size:22px}.ex-capability-groups{gap:24px}.ex-ai-page .ex-residency,.ex-ai-page .ex-ai-faq{column-gap:40px}}
@media(max-width:760px){
 .ex-ai-page .ex-ai-hero{grid-template-columns:1fr;padding-block:40px;gap:30px}
 .ex-ai-page .ex-ai-hero h1{font-size:48px}.ex-ai-page .ex-ai-hero .ex-subheadline{font-size:20px}
 .ex-ai-featured{padding:24px;max-width:540px}
 .ex-ai-page .ex-journey-grid{grid-template-columns:1fr;gap:24px;margin-block:24px}
 .ex-ai-page .ex-journey-grid>div{padding-bottom:24px;border-bottom:1px solid var(--content-rule)}
 .ex-ai-page .ex-journey-grid h2{max-width:none;font-size:23px;margin-block:8px}
 .ex-capability-groups{grid-template-columns:1fr;gap:30px}.ex-capability-group>h3{margin-bottom:14px}
 .ex-ai-page .ex-residency{grid-template-columns:1fr;gap:32px}.ex-ai-page .ex-residency h2{font-size:30px}
 .ex-ai-page .ex-ai-faq{display:block}.ex-ai-faq>h2{font-size:30px;margin:12px 0 24px}
}
@media(prefers-reduced-motion:reduce){.ex-ai-featured{transition:none;transform:none}}

/* Unequal text lengths must not force every sibling into the tallest box. */
main :is(.grid3,.riskgrid){align-items:start}
main .press-boilerplate{grid-template-columns:1fr;gap:0;margin-top:32px}
main .press-boilerplate>.card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:24px 0;background:none;border:0;border-top:1px solid var(--content-rule);border-radius:0;box-shadow:none;transform:none}
main .press-boilerplate>.card p{max-width:74ch;margin:0;font-size:15px;line-height:1.75}
main .press-boilerplate>.card .k{margin:3px 0 0}
.ex-ai-hero-copy>.eyebrow .exedro-brand{font:500 23px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;text-transform:none;letter-spacing:-.03em;color:#eaf2fa}
@media(max-width:700px){main .press-boilerplate>.card{grid-template-columns:1fr;gap:12px;padding-block:22px}}
main .press-boilerplate .copy-btn{grid-column:2;justify-self:start;margin:0}
@media(max-width:700px){main .press-boilerplate .copy-btn{grid-column:1}}

/* One consultation action at the close of a page. */
body:has(main .contactband) .footer-actions .btn.primary{display:none}

/* Film cover: original footage, live typography, one clear invitation. */
#film .sectionhead h2{max-width:24ch}
.film-stage{position:relative;isolation:isolate}
.film-cover{position:absolute;inset:0;width:100%;border:0;border-radius:0;text-align:left;color:#f5f5f2;cursor:pointer;background:linear-gradient(90deg,rgba(4,5,7,.96) 0%,rgba(4,5,7,.84) 30%,rgba(4,5,7,.20) 68%,rgba(4,5,7,.08) 100%),url('/media/film/beyond-memory-poster.jpg') 75% center/cover no-repeat;padding:clamp(24px,5vw,72px);font:inherit}
.film-cover[hidden]{display:none}
.film-cover-copy{display:flex;flex-direction:column;align-items:flex-start;max-width:650px}
.film-cover-label{font:10px/1.4 ui-monospace,monospace;letter-spacing:.18em;color:#c2c8d0;margin-bottom:26px}
.film-cover strong{font-size:clamp(28px,4.2vw,58px);font-weight:500;line-height:1.08;letter-spacing:-.045em}
.film-cover-sub{font-size:clamp(13px,1.3vw,17px);color:#c7cbd1;margin-top:20px}
.film-play{display:flex;align-items:center;gap:16px;margin-top:32px;font-size:15px;font-weight:500}
.film-play small{display:block;font-size:11px;color:#b9c0cb;font-weight:400;margin-top:4px}
.film-play-icon{display:grid;place-items:center;width:52px;height:52px;padding-left:3px;border:1px solid #b7bdc7;border-radius:50%;background:#ffffff0b;font-size:15px;transition:background .2s,color .2s}
.film-cover:hover .film-play-icon{background:#eef1f5;color:#10151b}
.film-cover:focus-visible{outline:3px solid #b5d7fa;outline-offset:-5px}
@media(max-width:700px){#film .film-stage video{aspect-ratio:4/5;object-fit:contain}.film-cover{background-position:61% center;background-image:linear-gradient(0deg,rgba(4,5,7,.97),rgba(4,5,7,.62) 55%,rgba(4,5,7,.12)),url('/media/film/beyond-memory-poster.jpg');display:flex;align-items:flex-end}.film-cover strong{font-size:36px}.film-cover-label{margin-bottom:20px}.film-cover-sub{max-width:23ch;line-height:1.5}.film-play{margin-top:25px}#film .filmmeta{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.film-play-icon{transition:none}}
