/* Detailed pages share the home typography, navigation and motion preference. */
.detail-page{padding-top:calc(var(--header-height) + var(--preview-height))}
.detail-page h1,.detail-page h2,.detail-page h3{text-wrap:balance;letter-spacing:-.04em}
.detail-page h1{font-size:clamp(38px,4.6vw,62px);line-height:1.27;font-weight:800;white-space:pre-line}
.detail-page h2{font-size:clamp(28px,3.2vw,42px);line-height:1.35;font-weight:800}
.detail-page h3{font-size:23px;line-height:1.5;font-weight:750}
.detail-page p{font-size:17px;line-height:1.85;color:var(--sub)}
.detail-page .eyebrow{font-size:13px;font-weight:750;color:var(--blue);letter-spacing:.04em;line-height:1.5;margin-bottom:20px}
.detail-hero{padding:40px 0 0;background:linear-gradient(145deg,#fff 44%,#f2f7fc)}
.detail-breadcrumb{display:flex;gap:12px;color:var(--sub);font-size:13px}
.detail-breadcrumb a:hover{color:var(--blue)}
.detail-hero-body{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:64px;align-items:center;padding:64px 0 58px}
.detail-intro{max-width:650px;margin-top:24px}
.detail-hero-art{position:relative;height:240px;border:1px solid #dce6f0;border-radius:50%;display:grid;place-content:center;background:#fff9}
.detail-hero-art>span{position:absolute;top:12px;left:4px;font:500 13px var(--mono);color:var(--blue);background:#fff;padding:4px 10px}
.detail-hero-art img{width:156px;height:auto}
.detail-hero-art small{text-align:center;font:500 10px var(--mono);letter-spacing:.18em;color:var(--sub);margin-top:22px}
.motion .detail-hero-art img{animation:detail-symbol-in 1.3s var(--ease) both}
@keyframes detail-symbol-in{from{opacity:0;transform:translateY(20px) rotate(-7deg)}to{opacity:1;transform:none}}
.detail-jumps{display:flex;flex-wrap:wrap;gap:0 24px;border-top:1px solid var(--line);padding:14px 0 20px}
.detail-jumps a{display:flex;align-items:center;gap:8px;padding:12px 0;min-height:44px;font-size:12px;font-weight:600;color:var(--ink-2);max-width:100%}
.detail-jumps span{font:11px var(--mono);color:var(--blue)}
.detail-jumps b{font-size:16px;font-weight:400;color:var(--blue)}
.detail-jumps a:hover{color:var(--blue)}
.detail-content{padding-bottom:64px}
.detail-section{padding:88px 0;border-bottom:1px solid var(--line)}
.detail-section:last-child{border-bottom:0}
.detail-section-head{max-width:720px;margin-bottom:38px}
.detail-section-head p:not(.eyebrow){margin-top:18px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.detail-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:72px}
.detail-feature>*{min-width:0}
.detail-feature .detail-section-head{margin-bottom:0}
.detail-feature h2+p,.detail-feature h3+p{margin-top:20px}
.detail-feature p+p{margin-top:14px}
.detail-card{padding:30px;background:var(--gray);border:1px solid transparent;border-radius:22px;min-width:0}
.detail-card p{font-size:15px;line-height:1.85;margin-top:14px}
.detail-card h3{font-size:21px}
.detail-card-number{display:block;font:500 13px var(--mono);color:var(--blue);margin-bottom:32px}
.detail-card a:not(.detail-button):not(.certificate-link){display:inline-block;color:var(--blue);font-size:15px;font-weight:650;margin-top:22px;line-height:1.6}
.detail-card a:hover{text-decoration:underline;text-underline-offset:4px}
.detail-band{background:var(--blue-soft);padding:40px;border-radius:24px;border:0}
.detail-section.detail-band{margin:72px 0 0;padding:48px}
.detail-band .detail-card{background:#fff}
.detail-band>h3{margin-bottom:24px}
.detail-list{margin-top:24px;line-height:1.85;font-size:16px;color:var(--ink-2)}
ul.detail-list li{position:relative;padding-left:17px;margin:12px 0}
ul.detail-list li::before{content:"";position:absolute;left:0;top:12px;width:4px;height:4px;background:var(--blue);border-radius:50%}
dl.detail-list>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid #dbe3ec}
dl.detail-list dt{font-size:14px;color:var(--sub)}
dl.detail-list dd{margin:0;overflow-wrap:anywhere}
.detail-timeline{margin-top:36px}
.detail-timeline li{display:grid;grid-template-columns:160px minmax(0,1fr);gap:30px;padding:28px 0;border-top:1px solid var(--line)}
.detail-timeline time,.detail-timeline>li>span{font:600 20px var(--mono);color:var(--blue);padding-top:4px}
.detail-timeline h3{font-size:22px}
.detail-timeline p{margin-top:10px;font-size:16px}
.detail-proof{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:#eef2f6;border-radius:20px;min-width:0}
.detail-proof img{width:auto!important;max-width:min(100%,220px)!important;height:auto!important;max-height:410px;object-fit:contain;box-shadow:0 12px 28px #152a4114}
.detail-proof .certificate-link{max-width:100%}
.detail-proof .certificate-link img{max-height:290px;max-width:min(100%,200px)!important}
.detail-proof figcaption{font-size:12px;color:var(--sub);line-height:1.7;text-align:center}
.detail-card .detail-proof{padding:0 0 24px;background:transparent;border-radius:0}
.detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;align-items:center}
.detail-tags>span{display:inline-block;background:#e6eef8;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;color:#42607e}
.detail-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:12px;background:var(--ink);color:#fff;font-weight:650;font-size:15px;line-height:1.6;margin-top:24px;max-width:100%;text-align:center;transition:background .2s,transform .2s}
.detail-button:hover{background:#273f60;transform:translateY(-2px)}
.detail-button.secondary{background:#edf0f4;color:var(--ink)}
.detail-button.secondary:hover{background:#dfe6ef}
.detail-button+.detail-button{margin-left:8px}
.detail-button:disabled{opacity:.5;cursor:default}
.detail-cta{text-align:center;background:var(--navy);border-radius:28px;margin:56px 0 16px;padding:64px 40px;color:#fff}
.detail-cta h2{max-width:800px;margin:auto}
.detail-cta p{color:#b9c8dc;max-width:740px;margin:20px auto 0}
.detail-cta .eyebrow{color:#8cc6ff;margin-bottom:20px}
.detail-cta .detail-button{background:#fff;color:var(--ink)}
.detail-cta .detail-button.secondary{background:#ffffff14;color:#fff;border:1px solid #ffffff38}
.detail-note{font-size:14px!important;background:var(--gray);padding:20px 24px;border-radius:14px;margin-top:24px}
.detail-page address{font-size:20px;line-height:1.7;font-style:normal;margin:24px 0}
.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.detail-actions .detail-button{margin:0}
.detail-actions .detail-button+.detail-button{margin-left:0}
.detail-reading{padding:26px 30px;margin-top:28px;border-left:3px solid var(--blue);background:var(--blue-soft);border-radius:0 18px 18px 0}
.detail-reading p+p{margin-top:12px}
.detail-reading a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.detail-definition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.detail-definition>div{padding:24px;border-radius:18px;background:var(--gray)}
.detail-definition dt{font-size:18px;font-weight:700;margin-bottom:12px}
.detail-definition dd{margin:0;color:var(--sub);font-size:15px;line-height:1.8}
@media(max-width:640px){.detail-actions{gap:10px}.detail-actions .detail-button{flex:1 1 140px}.detail-definition{grid-template-columns:1fr}.detail-reading{padding:22px}}
/* Search, native disclosure and email preparation remain ordinary HTML controls. */
#faq-search{display:block;width:100%;max-width:700px;margin:12px 0 16px;border:1px solid #c8d6e5;border-radius:12px;background:#fff;padding:17px 18px;font:inherit;min-height:56px}
.detail-page label{display:block;font-size:14px;font-weight:650;color:var(--ink-2)}
.faq-filters{margin:18px 0}
.faq-filters button{padding:10px 16px;min-height:44px;background:#fff;border:1px solid #d5dfeb;border-radius:24px;font-size:14px}
.faq-filters button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
#faq-count{font-size:14px;margin-top:16px}
.faq-item,.news-article{border-bottom:1px solid var(--line);padding:0 4px}
.faq-item:first-of-type,.news-article:first-of-type{border-top:1px solid var(--line)}
.faq-item summary,.news-article summary{position:relative;list-style:none;cursor:pointer;padding:26px 42px 26px 0;line-height:1.6;font-size:19px;font-weight:700}
.faq-item summary::-webkit-details-marker,.news-article summary::-webkit-details-marker{display:none}
.faq-item summary::after,.news-article summary::after{content:"+";position:absolute;right:5px;top:26px;font-size:24px;font-weight:400;color:var(--blue)}
.faq-item[open] summary::after,.news-article[open] summary::after{content:"−"}
.faq-item[open] summary,.news-article[open] summary{color:var(--blue)}
.faq-item>div,.faq-item>p,.news-article>div{padding:0 32px 30px 0;max-width:900px;line-height:1.9;color:var(--sub)}
.faq-item p+p,.news-article p+p{margin-top:12px}
.faq-item a,.news-article>div>a{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.news-article>div>a{display:inline-block;font-size:14px;margin:18px 24px 0 0}
.news-article summary .detail-tags{margin:0 0 12px;font-size:12px;font-weight:500;color:var(--sub)}
.news-article summary h3{font-size:23px}
#faq-empty{padding:32px 0}
@media(max-width:960px){
.detail-hero-body{grid-template-columns:minmax(0,1fr) 180px;gap:32px}
.detail-hero-art{height:180px}.detail-hero-art img{width:110px}
.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-feature{gap:32px}.detail-card{padding:26px}.detail-band{padding:30px}
}
@media(max-width:640px){
.detail-hero{padding-top:26px}.detail-hero-body{grid-template-columns:1fr;padding:40px 0 36px;gap:0}.detail-hero-art{display:none}
.detail-page h1{font-size:34px;line-height:1.35}.detail-page h2{font-size:28px}.detail-page h3{font-size:21px}
.detail-page p{font-size:16px;line-height:1.85}.detail-page .eyebrow{font-size:12px;margin-bottom:16px}
.detail-intro{margin-top:20px}.detail-jumps{gap:0 18px}.detail-jumps a{font-size:11px}
.detail-section{padding:56px 0}.detail-section-head{margin-bottom:28px}
.detail-grid,.detail-grid.two,.detail-feature{grid-template-columns:1fr;gap:18px}
.detail-feature{gap:30px}.detail-card{padding:26px}.detail-card-number{margin-bottom:24px}
.detail-band{padding:26px}.detail-section.detail-band{padding:28px 22px;margin-top:48px}
.detail-section.detail-cta{padding:40px 24px;margin:40px 0 0;border-radius:22px}
.detail-button{font-size:14px;padding:12px 18px}.detail-cta .detail-button{display:flex;width:100%}
.detail-cta .detail-button+.detail-button{margin-left:0;margin-top:12px}
.detail-timeline li{grid-template-columns:1fr;gap:12px;padding:24px 0}.detail-timeline time{font-size:17px}
.detail-list{font-size:15px}dl.detail-list>div{grid-template-columns:82px minmax(0,1fr);gap:12px}
.faq-item summary,.news-article summary{font-size:17px;padding:22px 32px 22px 0}
.news-article summary h3{font-size:19px}.faq-item>div,.faq-item>p,.news-article>div{padding-right:0}
.detail-content{padding-bottom:32px}.detail-proof{padding:22px}
}
@media(prefers-reduced-motion:reduce){.detail-hero-art img{animation:none!important}.detail-button{transition:none}.detail-button:hover{transform:none}}

/* Numbers occupy their own column; headings and explanations share one text column. */
.detail-checklist li{grid-template-columns:56px minmax(0,1fr);align-items:start;gap:24px}
.detail-checklist>li>.detail-card-number{margin-bottom:0;font-size:18px;padding-top:5px}
.detail-checklist li>div{min-width:0;max-width:820px}
/* Clip the baked-in dark corners of app screenshots, keeping all screen content. */
.detail-app-proof img{border-radius:8% / 3.7%;background:#fff}
.office-location{align-items:center;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr)}
.office-photo{width:min(100%,300px);margin:0 auto}
.office-photo img{display:block;width:auto;max-width:100%;max-height:610px;height:auto;margin:auto;border-radius:22px;box-shadow:0 16px 40px #1a355718}
.office-photo figcaption{display:flex;flex-direction:column;gap:6px;padding:18px 4px 0;font-size:13px;line-height:1.7;color:var(--sub)}
.office-photo figcaption strong{font-size:15px;color:var(--ink)}
.office-visit{margin-top:30px;padding:26px}
.office-visit h3{font-size:19px}
.office-visit .detail-list{margin-top:14px;font-size:14px}
.office-visit .eyebrow{margin-bottom:10px}
@media(max-width:640px){
  .detail-checklist li{grid-template-columns:30px minmax(0,1fr);gap:16px}
  .detail-checklist>li>.detail-card-number{font-size:15px;padding-top:5px}
  .office-location{grid-template-columns:1fr;gap:32px}
  .office-photo{width:min(100%,280px)}
}

/* Videos load only after a visitor presses play; source links work without JS. */
.detail-media-heading{margin:48px 0 28px}
.detail-media-heading h3+p{margin-top:12px}
.detail-video{margin-top:26px;min-width:0}
.detail-video-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:var(--navy);isolation:isolate}
.detail-video .detail-video-poster,.detail-card .detail-video a.detail-video-poster{position:relative;display:block;width:100%;height:100%;margin:0;overflow:hidden;background:linear-gradient(125deg,#10365f,#091a31);color:#fff;text-decoration:none}
.detail-video-poster::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,#051526e6);pointer-events:none}
.video-brand{position:absolute;top:18px;left:18px;right:18px;z-index:2;display:flex;justify-content:space-between;font:600 9px var(--mono);letter-spacing:.12em;color:#b9d9ff}
.video-brand b{font-weight:500;color:#f3aa6b}
.video-orbit{position:absolute;width:58%;aspect-ratio:1;right:-12%;top:-40%;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 0 0 28px #ffffff06,0 0 0 56px #ffffff04}
.video-play{position:absolute;top:43%;left:50%;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding-left:3px;border-radius:50%;background:#fff;color:var(--blue);font-size:15px;box-shadow:0 6px 24px #0003;transform:translate(-50%,-50%);transition:scale .2s}
.detail-video-poster:hover .video-play{scale:1.1}
.video-poster-title{position:absolute;left:18px;right:18px;bottom:26px;z-index:2;font-size:15px;font-weight:750;line-height:1.5;letter-spacing:-.03em}
.video-poster-action{position:absolute;left:18px;bottom:11px;z-index:2;font-size:9px;color:#c5d7ed}
.detail-video-stage>iframe{display:block;width:100%;height:100%;border:0;position:absolute;inset:0;background:#000}
.detail-video-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;min-height:44px;padding-top:6px}
.detail-video .detail-video-caption>a,.detail-card .detail-video .detail-video-caption>a,.detail-video-close{font-size:12px;font-weight:600;line-height:1.5;color:var(--sub);margin:0;min-height:36px;display:inline-flex;align-items:center}
.detail-video .detail-video-caption>a:hover,.detail-video-close:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.detail-video .detail-video-close{padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:8px}
.detail-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:620px;margin:0 auto}
.detail-video-grid .detail-video{margin-top:0}
.detail-video.is-portrait .detail-video-stage{aspect-ratio:9/16}
.is-portrait .detail-video-poster{background:linear-gradient(150deg,#0c2442,#236cb1)}
.video-demo-screen{position:absolute;display:block;width:72%;height:auto;left:14%;top:16%;border-radius:8% / 3.7%;transform:rotate(-5deg);box-shadow:0 16px 30px #0003}
.is-portrait .video-brand{top:22px;left:22px;right:22px;font-size:11px}
.is-portrait .video-play{width:58px;height:58px;font-size:18px;top:48%}
.is-portrait .video-poster-title{left:22px;right:22px;bottom:54px;font-size:23px;line-height:1.45}
.is-portrait .video-poster-action{left:22px;bottom:30px;font-size:12px}
#consulting>.detail-video{max-width:720px;margin:26px auto 0}
#consulting .video-brand{font-size:12px;top:26px;left:28px;right:28px}
#consulting .video-play{width:64px;height:64px;font-size:20px}
#consulting .video-poster-title{font-size:clamp(18px,3vw,30px);left:28px;bottom:52px}
#consulting .video-poster-action{font-size:12px;left:28px;bottom:30px}
@media(max-width:640px){
  .detail-video-grid{grid-template-columns:1fr;max-width:290px;gap:24px}
  .detail-media-heading{margin-top:36px}
  #consulting .video-brand{font-size:9px;top:16px;left:18px;right:18px}
  #consulting .video-play{width:40px;height:40px;font-size:14px;top:39%}
  #consulting .video-poster-title{font-size:17px;left:18px;bottom:28px}
  #consulting .video-poster-action{font-size:9px;left:18px;bottom:12px}
}
.detail-video-stage:focus-within{outline:3px solid var(--blue);outline-offset:4px}
