/* Research in practice: a question, its evidence and a usable measure. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-visual{padding-top:0;min-width:0}
.hero-detail{max-width:470px}
.practice-intro{max-width:530px;margin:0 0 25px auto}
.practice-intro h2{font-size:25px;line-height:1.2;letter-spacing:-.035em;margin-bottom:12px}
.practice-intro p{font-size:13px;line-height:1.7;color:#b9c7bd;max-width:470px;margin:0}
.research-practice{scroll-margin-top:25px}
.research-practice .workbench-top{font-size:10px;letter-spacing:.09em;padding:16px 23px}
.research-practice .sample-label{font-size:9px;letter-spacing:0;font-weight:400;color:#53664d;background:#e6eddd;border-color:#c0ceba}
.research-practice .mode-tabs{margin-top:16px}
.research-practice .mode-tabs button{font-size:12px;padding:9px 5px}
.research-question{padding:20px 24px 15px}
.research-question .small-label{font-size:9px;color:#53664d;letter-spacing:.08em;margin-bottom:10px}
.research-question h3{font-size:24px;line-height:1.2;letter-spacing:-.035em}
.research-source{padding:0 24px 18px}
.research-source blockquote{font-family:var(--serif);font-size:19px;line-height:1.6;letter-spacing:-.012em;margin:0}
.research-source mark{color:inherit;background:transparent;border-bottom:1px dotted #9aac90;padding:1px 0;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.research-source mark.is-active{background:var(--lime);border-color:#7b946c;box-shadow:0 0 0 2px var(--lime)}
.research-coding{margin:0 22px 17px;background:var(--white);border:1px solid #ced8c8;border-radius:4px;overflow:hidden}
.coding-heading{padding:12px 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.coding-heading .small-label{font-size:9px;letter-spacing:.09em;color:#53664d}
.coding-heading>span:last-child{font-size:10px;color:#66765e;line-height:1.4;text-align:right}
.research-code{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:transparent;border-top:1px solid #e0e7d9;padding:11px 14px;color:var(--ink);font-size:12px;line-height:1.5;text-align:left}
.research-code>span{display:flex;align-items:center;gap:10px}
.research-code i{font-style:normal;color:#71816a;font-size:9px;font-variant-numeric:tabular-nums}
.research-code b{font-weight:500;color:#44633b;display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:11px}
.research-code b>span{opacity:.45}
.research-code:hover,.research-code.is-active{background:#edf3e5}
.research-code.is-active{box-shadow:inset 3px 0 #617d4e}
.research-code.is-active b>span{opacity:1}
.research-code:focus-visible,.image-codes button:focus-visible{outline-offset:-3px}
.research-use{margin:0 22px 0;border-left:2px solid #708d56;padding:1px 13px}
.research-use .small-label{font-size:9px;letter-spacing:.09em;color:#53664d;margin-bottom:5px}
.research-use p{font-size:17px;line-height:1.45;font-weight:500;letter-spacing:-.02em;margin:0}
.research-interpretation{margin:16px 24px 0;padding-bottom:17px}
.research-interpretation summary{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;line-height:1.5;color:#53664d;cursor:pointer;list-style:none;padding:5px 0}
.research-interpretation summary::-webkit-details-marker{display:none}
.research-interpretation summary::after{content:'+';font-size:19px;line-height:1}
.research-interpretation[open] summary::after{content:'−'}
.research-interpretation p{font-size:12px;line-height:1.75;color:#53664d;margin:10px 0 0}
.research-practice .workbench-footer{display:block;font-size:10px;line-height:1.6;letter-spacing:0;padding:12px 24px;color:#53664d}
.hero-visual .visual-caption{max-width:530px;margin:18px 0 0 auto;font-size:11px;line-height:1.6;color:#b9c7bd}
.hero-visual .visual-caption>span{max-width:none;text-align:left}
.visual-caption br{display:none}
.source-format{font-family:var(--font);font-size:10px;line-height:1.5;letter-spacing:.025em;color:#53664d;margin:0 0 8px}
.shelf-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.shelf-comparison figure{margin:0;min-width:0}
.shelf-comparison figcaption{font-size:11px;line-height:1.4;font-weight:500;margin-bottom:8px;display:flex;flex-direction:column;gap:2px}
.shelf-comparison figcaption span{font-size:9px;font-weight:400;color:#53664d}
.shelf-label{height:196px;background:#fffef9;border:1px solid #c2ccba;border-bottom:5px solid #b6c0aa;box-shadow:0 4px 8px #253d2708;padding:12px 14px;position:relative;display:flex;flex-direction:column;align-items:start}
.shelf-brand{font-size:9px;letter-spacing:.16em;color:#69725b;line-height:1.3}
.shelf-label>strong{font-size:17px;font-weight:500;letter-spacing:-.025em;line-height:1.3;margin-top:5px}
.shelf-label>small{font-size:10px;color:#6d7564}
.shelf-standard{display:flex;flex-direction:column;margin-top:15px}
.shelf-standard b,.shelf-offer{font-size:33px;font-weight:600;letter-spacing:-.045em;line-height:1.2}
.shelf-standard span{font-size:8px;color:#66735a}
.shelf-regular{font-size:10px;color:#53664d;margin-top:8px}
.shelf-member{margin-top:5px;padding:4px 6px 5px;background:#e4edce;display:flex;flex-direction:column;width:100%}
.shelf-condition{font-size:8px;letter-spacing:.07em;line-height:1.6;align-self:start}
.shelf-offer{display:block;align-self:start;font-size:29px;white-space:nowrap}
.shelf-offer small{font-size:8px;letter-spacing:0;font-weight:400}
.shelf-label [data-support].is-active{outline:2px solid #4e7240;outline-offset:2px;background:#d9ef9c}
.shelf-barcode{height:9px;width:60px;background:repeating-linear-gradient(90deg,#6b7460 0,#6b7460 1px,transparent 1px,transparent 3px,#6b7460 3px,#6b7460 5px,transparent 5px,transparent 7px);margin-top:auto}
.shelf-note{margin:9px 0 0;font-size:9px}
.image-codes{border-collapse:collapse;width:100%;font-size:11px;line-height:1.5}
.image-codes th,.image-codes td{padding:10px 12px;text-align:left;border-top:1px solid #e0e7d9;font-weight:400}
.image-codes thead th{font-size:9px;color:#53664d}
.image-codes tbody th{width:50%;padding:0}
.image-codes button{background:transparent;width:100%;padding:11px 12px;text-align:left;font-size:11px;line-height:1.5;color:var(--ink)}
.image-codes button span{margin-left:5px;color:#637a56}
.image-codes tbody tr.is-active{background:#edf3e5}
.image-codes tbody tr.is-active th{box-shadow:inset 3px 0 #617d4e}
.image-codes td{color:#44633b;white-space:nowrap}
.task-description{font-size:12px;line-height:1.55;margin-bottom:10px}
.task-description b{font-weight:500;margin-right:8px;color:#53664d}
.task-storyboard{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.task-storyboard li{margin:0;min-width:0}
.task-frame{height:111px;border:1px solid #c3ceba;border-radius:3px;background:var(--white);padding:7px 6px;display:flex;flex-direction:column;align-items:stretch;gap:7px}
.frame-top{font-size:8px;line-height:1.2;border-bottom:1px solid #dae3d1;padding-bottom:5px;color:#5e7053}
.frame-item{display:flex;gap:5px;align-items:center;margin-top:3px}
.frame-item>i{background:#d4dfc8;width:12px;height:22px;border:1px solid #b8c8a9;flex-shrink:0}
.frame-item>span{font-size:7px;line-height:1.4}
.frame-item small{display:block;font-size:6px;color:#657b58}
.frame-control{font-size:6px;line-height:1.3;text-align:center;color:#fffef9;background:#3f5c3c;padding:5px 2px;border-radius:2px;margin-top:auto}
.frame-heading{font-size:8px;line-height:1.3}
.frame-line{width:90%;height:3px;background:#d4dfc8;display:block}
.frame-line.short{width:60%}
.frame-check{color:#4e7240;font-size:21px;line-height:1;text-align:center;margin-top:3px}
.saved .frame-heading,.frame-sub{text-align:center}
.frame-sub{font-size:7px;color:#5e7053;line-height:1.3}
.frame-event{display:block;font-size:9px;line-height:1.4;margin-top:7px}
.frame-event i{font-size:8px;font-style:normal;color:#6d7e60;display:block;margin-bottom:2px}
.task-storyboard li.is-active .task-frame{outline:2px solid #627f4f;outline-offset:1px;background:#edf3e5}
.task-storyboard li.is-active .frame-event{color:#3b612c;font-weight:600}
@media(prefers-reduced-motion:no-preference){
  .research-source mark,.research-code,.shelf-label [data-support],.task-frame{transition:background .18s ease,outline-color .18s ease}
  .practice-reveal .research-source{animation:practice-enter .25s ease both}
  .practice-reveal .research-coding{animation:practice-enter .3s .1s ease both}
  .practice-reveal .research-use{animation:practice-enter .3s .18s ease both}
  @keyframes practice-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
}
@media(min-width:1600px){.research-practice{max-width:530px}.hero-description{font-size:21px}.hero-detail{font-size:14px}}
@media(max-width:1100px) and (min-width:851px){.hero-grid{gap:40px;grid-template-columns:.95fr 1.05fr}.hero-actions{flex-wrap:wrap;gap:12px 20px}.research-code{font-size:11px;padding:11px 12px}.research-code b{font-size:10px}.research-code>span{gap:7px}.coding-heading>span:last-child{max-width:110px}.practice-intro h2{font-size:23px}}
@media(max-width:850px){.practice-intro{max-width:none;margin-left:0}.research-practice{max-width:none}.hero-visual .visual-caption{max-width:none;margin-left:0}.hero-description{max-width:580px}.hero-grid{gap:45px}}
@media(max-width:620px){
  .hero-visual{padding:0}
  .hero-description{font-size:18px}
  .hero-detail{font-size:12px;line-height:1.8}
  .practice-intro{margin-bottom:21px}
  .practice-intro h2{font-size:25px;line-height:1.2}
  .practice-intro p{font-size:12px}
  .research-practice .workbench-top{font-size:9px;padding:15px;gap:6px}
  .research-practice .sample-label{font-size:8px;padding:3px 5px}
  .research-practice .mode-tabs{margin:14px 14px 0}
  .research-practice .mode-tabs button{font-size:12px}
  .research-question{padding:19px 18px 15px}
  .research-question .small-label{font-size:8px;letter-spacing:.06em}
  .research-question h3{font-size:23px;line-height:1.2}
  .research-source{padding:0 18px 17px}
  .research-source blockquote{font-size:18px;line-height:1.65}
  .research-coding{margin:0 14px 17px}
  .coding-heading{padding:11px 11px 9px;gap:10px}
  .coding-heading .small-label{font-size:8px}
  .coding-heading>span:last-child{font-size:9px;max-width:140px}
  .research-code{font-size:11px;padding:11px 10px;gap:7px}
  .research-code>span{gap:7px}
  .research-code i{font-size:8px}
  .research-code b{font-size:10px;gap:5px}
  .research-use{margin:0 17px;padding:1px 11px}
  .research-use p{font-size:16px;line-height:1.5}
  .research-interpretation{margin:15px 18px 0;padding-bottom:15px}
  .research-practice .workbench-footer{padding:12px 18px;font-size:10px}
  .hero-visual .visual-caption{font-size:10px;margin-top:17px}
  .visual-caption br{display:block}
  .shelf-comparison{gap:10px}
  .shelf-label{padding:12px 10px;height:193px}
  .shelf-label>strong{font-size:16px}
  .shelf-standard b{font-size:31px}
  .shelf-offer{font-size:27px}
  .image-codes th,.image-codes td{padding:9px 9px;font-size:10px}
  .image-codes button{padding:10px 10px;font-size:10px}
  .image-codes thead th{font-size:8px}
  .task-storyboard{grid-template-columns:1fr 1fr;gap:12px 15px}
  .task-frame{height:118px;padding:9px 10px;gap:8px}
  .frame-top{font-size:9px}
  .frame-item>i{width:18px;height:26px}
  .frame-item>span,.frame-heading{font-size:9px}
  .frame-item small,.frame-sub{font-size:8px}
  .frame-control{font-size:8px;padding:5px}
  .frame-event{font-size:10px;display:flex;gap:7px;align-items:baseline}
  .frame-event i{margin:0}
}

/* The service overview uses research contributions; format tabs remain examples. */
.service-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.service-preview-grid .modality-card{display:flex;flex-direction:column;align-items:start}
.service-preview-grid .small-label{margin:0 0 21px;font-size:9px}
.service-preview-grid h3{font-size:28px;line-height:1.3;letter-spacing:-.03em;margin-bottom:17px}
.service-preview-grid p{font-size:14px;line-height:1.85}
.service-preview-grid .preview-formats{font-size:10px;line-height:1.9;padding-top:19px;margin-top:auto;margin-bottom:20px;color:#59724e}
.service-preview-grid .text-link{font-size:11px;gap:17px;padding:6px 0}
@media(max-width:850px){.service-preview-grid{grid-template-columns:1fr;gap:30px}.service-preview-grid .modality-card{padding-top:23px}.service-preview-grid h3{font-size:27px}.service-preview-grid p{max-width:650px}.service-preview-grid .preview-formats{margin-top:0;padding-top:16px}}
@media(max-width:620px){.service-preview-grid{gap:29px}.service-preview-grid .small-label{font-size:8px;margin-bottom:16px}.service-preview-grid h3{font-size:25px;margin-bottom:14px}.service-preview-grid p{font-size:13px;line-height:1.9}.service-preview-grid .preview-formats{font-size:9px}.service-preview-grid .text-link{padding:9px 0}}
