/* Full-site layouts, shared with the approved homepage. */
[hidden]{display:none!important}
main{min-height:40vh}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px 14px;font-size:var(--text-small);color:var(--muted);margin:0 0 35px;line-height:1.7}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.site-header nav a[aria-current=page]{color:var(--brand-blue);text-decoration:underline;text-underline-offset:8px}
.site-header nav{gap:22px}
.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 32px;max-width:670px}
.footer-top{align-items:start;gap:60px}
.reading{max-width:900px}
.content-bottom{padding-bottom:90px}
.subsection{padding-top:72px;scroll-margin-top:125px}
.subsection>h2{margin:14px 0 25px}
.subsection>p:not(.eyebrow){max-width:45em;margin-bottom:25px}
.section-more{margin:26px auto;text-align:right}
.button.primary{background:var(--brand-blue);color:white;border:1px solid var(--brand-blue)}
.button.secondary{background:white;color:var(--brand-blue);border:1px solid var(--brand-blue)}
button.button:hover{background:#dceaff;color:var(--deep)}
.supporting{font-size:var(--text-small);color:var(--muted);line-height:1.8}
.catalog-list{display:grid;gap:35px}
.catalog-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--paper)}
.catalog-card>img{width:100%;height:100%;min-height:380px;object-fit:cover}
.catalog-card>div{padding:38px}
.catalog-card h2{font-size:var(--text-h2-mobile);margin:9px 0 20px}
.catalog-card .text-link{margin-top:25px;width:100%}
.catalog-card .eyebrow{color:var(--muted)}
.accessory-panel{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;background:var(--paper);padding:35px;align-items:center}
.accessory-panel h3{margin-bottom:18px}
.accessory-panel .text-link{margin-top:18px}
.product-intro{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}
.product-intro>img{width:100%;height:440px;object-fit:cover}
.product-intro h2{text-wrap:balance;font-size:var(--text-h2-mobile);margin-bottom:22px}
.product-intro .text-link{margin-top:15px}
.use-list{list-style:none;margin:26px 0 0;padding:0}
.use-list li{padding:9px 0 9px 25px;position:relative;border-bottom:1px solid var(--line);font-size:var(--text-small)}
.use-list li:before{content:'✓';position:absolute;left:0;color:var(--brand-blue)}
.jump-nav{display:flex;gap:25px;flex-wrap:wrap;padding:23px 0;border-block:1px solid var(--line);margin-top:40px;font-size:var(--text-small)}
.jump-nav a{text-decoration:underline;text-underline-offset:5px;min-height:36px;display:flex;align-items:center}
.feature-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.feature-panels article{background:var(--paper);padding:28px}
.feature-panels h3{font-size:var(--text-h3);margin-bottom:16px}
.feature-panels p{font-size:var(--text-body);line-height:1.85}
.mechanism{background:var(--paper);padding:40px;margin-top:50px}
.mechanism h2{font-size:var(--text-h2-mobile);margin:14px 0 22px}
.mechanism-images{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}
figure{margin:0}
.mechanism-images img{width:100%;height:240px;object-fit:cover}
figcaption{font-size:var(--text-small);margin-top:12px}
.table-scroll{max-width:100%}
.table-scroll table caption{text-align:left;padding:16px;background:var(--deep);color:white;font-weight:600}
.table-scroll table{min-width:760px}
.table-scroll th{vertical-align:top}
.consult-box{margin-top:70px;padding:36px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:30px}
.consult-box h2{font-size:var(--text-h3);margin-bottom:15px}
.consult-box p{font-size:var(--text-small)}
.consult-box .button{flex-shrink:0}
.video-player{border:1px solid var(--line);padding-bottom:22px}
.video-player h3{font-size:var(--text-h3);padding:22px 22px 0}
.video-player>.text-link{margin:10px 22px 0;font-size:var(--text-small);gap:10px}
.video-load{width:100%;aspect-ratio:16/9;background:var(--deep);color:white;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;font-size:var(--text-small)}
.video-load>span:first-child{border:1px solid #c5dcfa;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;font-size:22px}
.video-player iframe{border:0;width:100%;aspect-ratio:16/9;display:block}
.filter-buttons{display:flex;flex-wrap:wrap;gap:12px}
.filter-buttons button{padding:12px 22px;border:1px solid var(--line);background:white;min-height:48px;font-size:var(--text-small)}
.filter-buttons button[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:white}
.results-count{font-size:var(--text-small);color:var(--muted);margin:25px 0 35px}
.case-index{row-gap:55px}
.download-item{padding:35px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:40px;scroll-margin-top:125px}
.download-item:last-child{border-bottom:1px solid var(--line)}
.download-item h2{font-size:var(--text-h2-mobile);margin:12px 0}
.download-item .supporting{display:block;margin-top:10px}
.download-actions{display:flex;flex-direction:column;min-width:210px;align-items:stretch}
.faq-category{margin-bottom:55px}
.faq-category h2{font-size:var(--text-h2-mobile);margin-bottom:25px}
.company-message{border-top:1px solid var(--line);padding-top:35px}
.company-message h2{margin:20px 0 30px}
.company-message>p:not(.eyebrow){margin:0 0 25px}
.company-message+.subsection{padding-top:45px}
.news-controls{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding:25px 0;font-size:var(--text-small)}
.news-controls select{max-width:220px}
.news-controls>span{margin-left:auto;color:var(--muted)}
.news-archive{padding-bottom:0}
.article-pagination{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);padding:25px 0;margin-top:45px}
.article-pagination .text-link{font-size:var(--text-small)}
.article-copy{line-height:1.85!important}
.article-copy p{line-height:1.85}
.policy-body h2{font-size:var(--text-h3);margin:38px 0 20px}
.contact-phone{padding:28px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:32px}
.contact-phone h2{font-size:var(--text-h3);margin-bottom:10px}
.contact-phone p{font-size:var(--text-small)}
.contact-phone>a{font-family:Arial,sans-serif;font-size:var(--text-h2-mobile);font-weight:600;white-space:nowrap}
.notice{padding:18px 22px;background:#f3f6fa;border-left:3px solid var(--brand-blue);font-size:var(--text-small);margin:25px 0}
.form-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:32px 0 38px}
.form-steps li{padding:18px;text-align:center;font-size:var(--text-small);color:var(--muted)}
.form-steps li[aria-current]{color:var(--brand-blue);font-weight:600;border-bottom:3px solid var(--brand-blue)}
.form-field{margin-bottom:28px}
.form-field>label{display:block;font-weight:600;margin-bottom:10px}
.form-field>label>span{font-size:var(--text-small);font-weight:400;color:var(--muted);margin-left:15px}
input,textarea,select{font:inherit;font-size:var(--text-body);color:var(--ink);border:1px solid #8399af;background:#fff;border-radius:3px;padding:13px 15px;width:100%;max-width:100%}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9cbbdf;outline-offset:2px}
textarea{resize:vertical;min-height:170px}
.form-field .supporting{margin:0 0 12px}
input[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #a52c29}
.consent{display:flex;align-items:start;gap:14px;margin:30px 0;cursor:pointer}
.consent input{width:24px;height:24px;flex-shrink:0;margin:5px 0;accent-color:var(--brand-blue)}
.consent a{text-decoration:underline;text-underline-offset:4px}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;gap:20px;flex-wrap:wrap;margin:30px 0 20px}
button:disabled{opacity:.55;cursor:not-allowed}
#form-errors{background:#fff5f3;border:1px solid #a52c29;color:#7f211f;padding:20px;margin-bottom:30px}
#form-errors a{text-decoration:underline}
#confirmation dd{overflow-wrap:anywhere;white-space:pre-wrap}
#confirmation dt{font-size:var(--text-small)}
#form-complete{padding:40px 0}
#form-complete p{margin:25px 0}
@media(max-width:1100px){.feature-panels{gap:18px}.feature-panels article{padding:22px}.consult-box{display:block}.consult-box .button{margin-top:25px}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.catalog-card{grid-template-columns:1fr}.catalog-card>img{height:320px;min-height:0}.product-intro{grid-template-columns:1fr}.product-intro>img{height:350px}.feature-panels{grid-template-columns:1fr}.feature-panels article{padding:28px}.video-grid{grid-template-columns:1fr}.mechanism-images{grid-template-columns:1fr}.contact-phone{display:block}.contact-phone>a{display:inline-block;margin-top:20px}.download-item{align-items:start}.footer-top{flex-direction:column;gap:35px}}
@media(max-width:600px){.content-bottom{padding-bottom:60px}.page-heading{padding-bottom:32px}.breadcrumbs{font-size:var(--text-small);margin-bottom:25px;gap:7px 10px}.catalog-card>img{height:230px}.catalog-card>div{padding:24px}.accessory-panel{grid-template-columns:1fr;padding:24px;gap:25px}.accessory-panel img{max-width:200px}.product-intro{gap:28px}.product-intro>img{height:260px}.product-intro h2{text-wrap:balance;font-size:var(--text-h2-mobile)}.jump-nav{gap:12px 24px}.subsection{padding-top:52px}.mechanism{padding:25px;margin-top:35px}.mechanism-images img{height:210px}.consult-box{padding:25px;margin-top:45px}.consult-box .button{width:100%;gap:15px}.download-item{flex-direction:column;gap:24px}.download-actions{width:100%}.filter-buttons{gap:10px}.filter-buttons button{padding:12px 15px}.case-index{gap:42px}.contact-phone{padding:24px}.contact-phone>a{font-size:var(--text-h2-mobile)}.form-steps li{padding:16px 8px}.form-actions .button{width:100%;justify-content:center}.footer-links{grid-template-columns:1fr 1fr;gap:18px 25px}.footer-top{display:flex}.article-pagination{gap:12px}.table-scroll table{min-width:700px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.article-copy a:not(.button){color:var(--brand-blue);text-decoration:underline;text-underline-offset:4px}
.external-mark{display:inline;margin-left:.25em;white-space:nowrap}

/* Headings wrap at editorial phrase boundaries, not balanced character counts. */
.article-heading h1{text-wrap:wrap}
.title-line{display:block}
.title-unit{display:inline-block;white-space:nowrap}
.article-copy .button{text-decoration:none}
.event-button:link,.event-button:visited{color:#fff;background:var(--deep)}
.event-button:hover,.event-button:focus-visible{color:var(--deep);background:var(--accent)}

/* Case detail pages: preserve original image ratios and readable captions. */
.case-detail{scroll-margin-top:120px}
.case-detail-intro{max-width:50em;margin:0 0 32px;line-height:1.9}
.case-detail .event-details{max-width:1000px;margin-bottom:36px}
.case-detail-photos{display:grid;gap:36px;max-width:1000px}
.case-detail-photos figure{margin:0;min-width:0}
.case-detail-photos img{display:block;width:100%;height:auto;border-radius:4px}
.case-detail-photos figcaption{font-size:18px;line-height:1.7;padding-top:12px;color:var(--muted,#526072)}
