/* Shared presentation contract. Original case-study frames and listing grids stay owned by the template. */
.quality-guide{width:90%;max-width:1120px;margin:-24px auto 48px;color:inherit;position:relative;z-index:2;font-size:15px;line-height:1.55}
.quality-guide-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #aab3ad;padding-top:18px}
.quality-guide-head>span{font-size:11px;letter-spacing:.1em;font-weight:600}.quality-guide nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.quality-guide a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;color:inherit;font-size:14px}
.quality-media-note{font-size:13px;line-height:1.6;margin:12px 0 20px;max-width:80em;color:#4d5b56}
.quality-guide details{border:1px solid #bdc5bf;border-radius:14px;background:#f6f8f4;padding:0 22px;scroll-margin-top:100px}
.quality-guide summary{padding:16px 0;min-height:48px;box-sizing:border-box;cursor:pointer;font-size:16px;font-weight:500;line-height:1.5}
.quality-guide .quality-roles{font-size:13px;letter-spacing:.02em;margin:8px 0 20px}
.quality-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:decimal-leading-zero;list-style-position:inside;padding:0;margin:20px 0 28px}
.quality-steps li::marker{font-size:12px;color:#617568}.quality-steps h3{font-size:22px;font-weight:500;margin:10px 0}.quality-steps p{font-size:15px;margin:0;line-height:1.55}
.quality-scope{border-top:1px solid #bdc5bf;padding:20px 0}.quality-scope h3{font-size:18px;font-weight:500;margin:0 0 12px}.quality-scope ul{padding-left:20px;margin:0}.quality-scope li{padding:4px 0}.quality-scope>p{font-size:13px;line-height:1.6;color:#4d5b56;margin:16px 0 0}
[data-theme=dark] .quality-guide details{background:#101712;border-color:#45574b}[data-theme=dark] .quality-media-note,[data-theme=dark] .quality-scope>p{color:#bacbc0}
.quality-product-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;padding:40px 0}
.quality-product-names a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #aeb8b0;min-height:64px;font-size:clamp(18px,2.5vw,34px);font-weight:500;letter-spacing:-.035em}.quality-product-names span{font-size:22px}
/* Never rely on tiny cqw text to make a card fit. */
.entry-card:not(.catalog-card) .entry-name,.sp-entry-brand{font-size:clamp(16px,4.3cqw,24px)}
.entry-card:not(.catalog-card) .entry-heading small{font-size:11px;line-height:1.4;letter-spacing:.07em;margin-top:clamp(10px,4cqw,20px)}
.entry-card:not(.catalog-card) .entry-heading>strong{font-size:clamp(23px,9cqw,46px)}
.entry-card:not(.catalog-card) .entry-detail{font-size:13px;line-height:1.4;max-width:86%}
.entry-service-tags span,.entry-nutrition-label{font-size:12px}.entry-campus-tabs span{font-size:12px;padding:5px 8px}
.entry-campus-tabs{top:42%;gap:5px}.entry-card.entry-campus .entry-art{top:53%}
.entry-campus .entry-detail{background:#f3f0e8ed;border-radius:999px;padding:6px 10px;bottom:5%;left:5%;max-width:90%;width:max-content}
.entry-cinema .entry-detail{left:8%;max-width:84%;font-size:13px}.entry-cinema-line{left:8%;right:8%;bottom:10%}
.entry-card .sp-entry{gap:0}.sp-entry-label{font-size:11px;letter-spacing:.06em;margin-top:clamp(10px,3cqw,18px)}
.sp-entry-copy{font-size:clamp(13px,3.3cqw,17px);line-height:1.45;margin:12px 0}.sp-entry-modules>span{font-size:13px;padding:7px 0;line-height:1.3}.sp-entry-modules i{font-size:11px}
.sp-entry-audience{font-size:11px;letter-spacing:.03em;line-height:1.3;margin-top:9px}.sp-entry-modules{gap:0;margin:0 0 12px}
.catalog-card .entry-heading small{font-size:11px}.catalog-card .entry-detail{font-size:13px}
@container(max-width:320px){
 .entry-card:not(.catalog-card) .entry-heading>strong{font-size:clamp(23px,8.7cqw,28px)}
 .entry-card:not(.catalog-card) .entry-detail{font-size:12px}
 .entry-service-tags{display:none}.entry-nutrition-label{font-size:11px;padding:6px 8px}.entry-orbit{top:36%}
 .entry-campus-tabs{top:43%}.entry-campus-tabs span{font-size:11px;padding:4px 5px}.entry-card.entry-campus .entry-art{top:56%}
 .entry-card.entry-store-pos .sp-entry{padding:5cqw}
 .sp-entry-title{font-size:clamp(24px,9cqw,30px);margin-top:8px}
 .sp-entry-copy{font-size:13px;margin:8px 0}.sp-entry-copy br{display:none}
 .sp-entry-modules{display:none}.sp-entry-audience{display:none}.sp-entry-label{margin-top:10px}
 .entry-card .cb-card-enquiry{margin-top:auto;padding:10px}
}
/* One focus and hit-area baseline across existing viewer implementations. */
[data-quality-project] button,.quality-viewer button{min-width:44px;min-height:44px;box-sizing:border-box;cursor:pointer}
.cb-tophead-details a[href^="#"],.rl-intro-meta a,.pp-contact-actions a,.cn-fallback a,.cn-fallback button{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
.rl-scene-caption button,.pp-gallery-stage>button,.pp-admin-caption button,.cn-zoom-hint{background:transparent;color:inherit;border:1px solid currentColor;border-radius:999px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;min-height:44px}
.cn-fallback[hidden]{display:none}
.cn-zoom-hint{margin-top:14px;opacity:1;font-size:14px;display:inline-flex;align-items:center;text-align:left}
.quality-guide :focus-visible,[data-quality-project] :focus-visible,.quality-viewer :focus-visible,.quality-product-names :focus-visible{outline:3px solid #a57728;outline-offset:4px}
.quality-enlarge{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#15291f;border:1px solid #7d8b80;border-radius:99px;padding:10px 16px;font:500 14px/1.4 Arial,sans-serif;margin-top:14px;min-height:44px}
.cb-preview .quality-enlarge{position:absolute;right:20px;bottom:20px;z-index:8;margin:0;background:#fffef8}
.quality-viewer{width:min(96vw,1600px);height:92dvh;max-width:none;max-height:92dvh;border:1px solid #627365;border-radius:18px;padding:0;background:#101713;color:#fff;overflow:hidden}
.quality-viewer::backdrop{background:#000c}.quality-viewer-head{display:flex;gap:10px;align-items:center;padding:12px 16px}.quality-viewer-head h2{font-size:15px;line-height:1.4;font-weight:500;flex:1;margin:0}.quality-viewer button{border:1px solid #91a095;border-radius:24px;padding:10px 16px;font-size:14px;line-height:1.4;background:#18271f;color:#fff}
.quality-viewer-stage{height:calc(100% - 115px);overflow:auto;overscroll-behavior:contain;background:#eaf0e9;padding:10px;box-sizing:border-box;display:block}.quality-viewer-stage img{display:block;max-width:none;margin:auto;object-fit:contain}.quality-viewer>p{font-size:12px;line-height:1.4;padding:8px 16px;margin:0}
.quality-gallery-button{position:relative}.quality-guide,.quality-scope,[id^=quality-]{scroll-margin-top:96px}
@media(max-width:767px){.quality-guide{margin:-10px auto 32px}.quality-guide-head{align-items:flex-start;gap:8px}.quality-guide nav{gap:4px 18px}.quality-guide details{padding:0 16px}.quality-steps{grid-template-columns:1fr;gap:20px}.quality-product-names{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quality-product-names a{font-size:18px}.quality-viewer-head{flex-wrap:wrap;padding:10px}.quality-viewer-head h2{flex-basis:100%;font-size:14px}.quality-viewer-stage{height:calc(100% - 155px)}.quality-viewer>p{font-size:11px}.cb-preview .quality-enlarge{right:12px;bottom:12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.cb-tophead-title span,.cb-tophead-header span,.cb-overview-header span{transform:none!important;opacity:1!important}.cb-card,.cb-preview-media,.cb-splitshow-preview-media{opacity:1!important;transform:none!important;transition:none!important}}
/* Flex sizing keeps the note and controls visible even when a long title wraps. */
.quality-viewer[open]{display:flex;flex-direction:column}.quality-viewer-head,.quality-viewer>p{flex-shrink:0}.quality-viewer-stage{height:auto;min-height:0;flex:1}
@media(prefers-reduced-motion:reduce){.cb-entrylist-item,.cb-summary-card{opacity:1!important;transform:none!important;transition:none!important}}
