/* Page composition only. Colors, type, controls and surfaces are inherited from ENGRAM. */
.site-brand>img { width:26px; height:26px; flex-shrink:0; }
.light-section .overline { color:#14120f80; }
.opening-watch { display:inline-flex; align-items:center; gap:13px; }
.opening-copy h1 { font-size:clamp(58px,7.6vw,118px); }
.surface-mark { margin-bottom:20px; }
.surface-content .surface-mark+h2 { margin-top:0; }
.opening-product { height:550px; }
.case-benefit { max-width:480px; font-size:15px; line-height:1.65; border-top:1px solid #14120f26; padding-top:20px; }
.case-steps dd { margin:0; }
[hidden] { display:none !important; }
.answer-copy { font-size:18px; line-height:1.65; color:var(--ink2); }
.source-details { margin-top:24px; }
.source-details summary { display:flex; justify-content:space-between; gap:15px; cursor:pointer; font-size:12px; color:var(--ink2); padding:12px 0; border-bottom:1px solid var(--hair); list-style:none; }
.source-details summary::-webkit-details-marker { display:none; }
.source-details summary span { color:var(--accent); white-space:nowrap; }
.source-details blockquote { margin:18px 0 0; }
summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.doctor-check { margin-top:20px; font-size:12px; }
.doctor-how>.overline,.doctor-privacy>.overline,.doctor-final>.overline { display:block; margin-bottom:26px; }
.ai-boundary>.doctor-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; margin-top:65px; max-width:none; }
.doctor-steps article { border-top:1px solid var(--hair); padding-top:22px; }
.doctor-steps .detail-label { color:var(--ink3); }
.doctor-steps h3 { font-size:25px; font-weight:500; line-height:1.2; letter-spacing:-.03em; margin:23px 0 18px; }
.doctor-steps p { color:var(--ink2); font-size:15px; line-height:1.7; }
.ai-boundary>.doctor-privacy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8%; margin-top:65px; max-width:none; }
.doctor-privacy-grid article { border-top:1px solid #14120f26; padding-top:23px; }
.doctor-privacy-grid .detail-label { color:var(--accent); }
.doctor-privacy-grid h3 { font-size:clamp(28px,3vw,40px); line-height:1.16; font-weight:500; letter-spacing:-.035em; margin:22px 0; }
.doctor-privacy-grid p { max-width:470px; font-size:16px; line-height:1.7; color:#14120fad; margin-top:15px; }
.doctor-privacy .section-bottom { align-items:flex-start; border-top:1px solid #14120f26; padding-top:25px; }
.doctor-privacy .section-bottom>p { max-width:500px; }
.doctor-privacy .editorial-link { flex-shrink:0; }
.doctor-faq { padding:95px max(5%,calc((100vw - 1240px)/2)); }
.doctor-faq .section-heading { margin-bottom:40px; }
.doctor-faq details { border-top:1px solid #14120f26; }
.doctor-faq details:last-child { border-bottom:1px solid #14120f26; }
.doctor-faq summary { font-size:19px; line-height:1.4; padding:24px 35px 24px 0; cursor:pointer; position:relative; list-style:none; }
.doctor-faq summary::-webkit-details-marker { display:none; }
.doctor-faq summary::after { content:'+'; position:absolute; right:2px; top:22px; color:var(--accent); font-size:25px; }
.doctor-faq details[open] summary::after { content:'−'; }
.doctor-faq details>p { max-width:850px; font-size:16px; line-height:1.75; padding-bottom:28px; color:#14120fad; }
.doctor-final { padding:100px max(5%,calc((100vw - 1240px)/2)); }
.doctor-final>p { max-width:650px; font-size:18px; line-height:1.7; color:var(--ink2); margin:26px 0; }
.doctor-final .caps-button { gap:25px; }
.product-footer .doctor-legal { flex-basis:100%; margin-top:0; }
.product-footer nav { flex-wrap:wrap; min-width:0; max-width:100%; }
.pricing-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.platform-note a { color:var(--ink2); text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1000px) {
  .site-nav nav { gap:16px; }
  .ai-boundary>.doctor-steps { gap:24px; }
  .doctor-privacy .section-bottom { flex-direction:column; gap:20px; }
}
@media(max-width:760px) {
  .opening-copy h1 { font-size:10.8vw; line-height:1.07; }
  .opening-product { height:440px; }
  .opening-description { max-width:440px; }
  .opening-description br { display:none; }
  .opening-actions { gap:16px; }
  .role-list[data-slot=tabs-list] { overflow-x:auto; scrollbar-width:thin; margin:32px 0; }
  .role-list [data-slot=tabs-trigger] { white-space:nowrap; padding:16px 12px; font-size:14px; }
  .ai-boundary>.doctor-steps,.ai-boundary>.doctor-privacy-grid { grid-template-columns:1fr; gap:32px; margin-top:40px; }
  .doctor-steps h3 { font-size:25px; margin:18px 0 12px; }
  .doctor-privacy-grid h3 { font-size:30px; }
  .doctor-faq,.doctor-final { padding:65px 6%; }
  .doctor-faq summary { font-size:17px; padding-top:21px; padding-bottom:21px; }
  .doctor-faq details>p { font-size:15px; }
  .doctor-final>p { font-size:16px; }
  .pricing-cards { grid-template-columns:1fr; }
  .doctor-legal { font-size:10px; line-height:1.7; }
  .case-detail { scroll-margin-top:110px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
