:root {
    --cap-red: #e30613;
    --cap-red-dark: #b9000b;
    --cap-black: #151515;
    --cap-bg: #f3f4f6;
    --cap-border: #dfe2e7;
    --cap-green: #138a4b;
    --cap-orange: #d66a00;
    --cap-muted: #69707d;
}

.cap-app, .cap-app * { box-sizing: border-box; }
.cap-app { width: min(980px, calc(100% - 24px)); margin: 28px auto 60px; color: var(--cap-black); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.45; }
.cap-hero { background: var(--cap-black); color: #fff; padding: 34px; border-radius: 18px; margin-bottom: 18px; box-shadow: 0 12px 35px rgba(0,0,0,.12); }
.cap-hero-small { padding: 26px 30px; }
.cap-hero h1 { color: #fff; font-size: clamp(28px, 5vw, 46px); line-height: 1.08; margin: 5px 0 8px; }
.cap-hero p { margin: 0; color: #d5d8de; }
.cap-kicker { color: #ff5661; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cap-card, .cap-section, .cap-submit-card, .cap-report { background: #fff; border: 1px solid var(--cap-border); border-radius: 16px; padding: 26px; margin: 18px 0; box-shadow: 0 7px 24px rgba(20,25,35,.06); }
.cap-card h2, .cap-section > h2 { margin: 0 0 20px; font-size: 24px; }
.cap-app label { display: block; font-weight: 700; }
.cap-app input[type="text"], .cap-app input[type="date"], .cap-app input[type="email"], .cap-app select, .cap-app textarea { width: 100%; margin-top: 7px; padding: 13px 14px; border: 1px solid #bfc5ce; border-radius: 9px; background: #fff; color: #111; font: inherit; }
.cap-app textarea { resize: vertical; }
.cap-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 18px; border: 0; border-radius: 9px; background: var(--cap-black); color: #fff !important; font-weight: 800; text-decoration: none !important; cursor: pointer; }
.cap-button:hover { filter: brightness(1.12); }
.cap-button:disabled { opacity: .65; cursor: wait; }
.cap-button-primary { background: var(--cap-red); }
.cap-button-secondary { background: #eceef2; color: var(--cap-black) !important; }
.cap-button-large { width: 100%; min-height: 56px; font-size: 17px; }
.cap-start-form { display: grid; gap: 18px; }
.cap-location-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
#cap-location-status { color: var(--cap-muted); font-size: 14px; }
.cap-admin-link { text-align: center; }
.cap-question { border-top: 1px solid var(--cap-border); padding: 24px 0; }
.cap-question:first-of-type { border-top: 0; padding-top: 0; }
.cap-question-title { display: flex; gap: 12px; align-items: flex-start; }
.cap-question-title > span { flex: 0 0 29px; height: 29px; display: grid; place-items: center; background: #f0f1f3; border-radius: 50%; font-size: 13px; font-weight: 800; }
.cap-question h3 { margin: 2px 0 0; font-size: 18px; line-height: 1.35; }
.cap-help { color: var(--cap-muted); margin: 8px 0 0 41px; }
.cap-answer-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 18px 0 0 41px; }
.cap-choice { position: relative; }
.cap-choice input { position: absolute; opacity: 0; pointer-events: none; }
.cap-choice span { display: flex; min-height: 46px; justify-content: center; align-items: center; padding: 9px 8px; border: 2px solid var(--cap-border); border-radius: 9px; font-size: 14px; text-align: center; cursor: pointer; }
.cap-choice input:checked + span { border-color: var(--cap-black); background: var(--cap-black); color: #fff; }
.cap-choice-yes input:checked + span { border-color: var(--cap-green); background: var(--cap-green); }
.cap-choice-no input:checked + span { border-color: var(--cap-red); background: var(--cap-red); }
.cap-choice-na input:checked + span { border-color: #687386; background: #687386; }
.cap-defect-fields { margin: 15px 0 0 41px; padding: 18px; background: #fff5f5; border-left: 4px solid var(--cap-red); border-radius: 8px; }
.cap-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 14px 0; }
.cap-defect-fields em { color: var(--cap-red); font-style: normal; font-size: 12px; }
.cap-unanswered { outline: 3px solid var(--cap-orange); outline-offset: 8px; border-radius: 4px; }
.cap-open-defects { border-left: 5px solid var(--cap-orange); }
.cap-old-defect { display: grid; gap: 4px; border-top: 1px solid var(--cap-border); padding: 13px 0; }
.cap-old-defect:first-of-type { border-top: 0; }
.cap-old-defect span { color: var(--cap-muted); }
.cap-submit-card { position: sticky; bottom: 10px; z-index: 5; border-color: #f4bbc0; }
.cap-submit-card p { margin-top: 0; }
.cap-login { max-width: 520px; margin: 100px auto; text-align: center; }
.cap-report-head { display: flex; justify-content: space-between; gap: 25px; align-items: flex-start; border-bottom: 4px solid var(--cap-red); padding-bottom: 20px; }
.cap-report-head h1 { margin: 5px 0; font-size: 34px; }
.cap-report-head p { margin: 0; color: var(--cap-muted); }
.cap-report-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 20px 0; }
.cap-report-meta > div { background: var(--cap-bg); border-radius: 9px; padding: 12px; }
.cap-report-meta span { display: block; color: var(--cap-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.cap-report-meta strong { display: block; margin-top: 4px; }
.cap-report-category { margin: 28px 0 10px; font-size: 21px; }
.cap-report-item { border: 1px solid var(--cap-border); border-left: 5px solid var(--cap-green); border-radius: 8px; padding: 15px; margin: 10px 0; break-inside: avoid; }
.cap-report-item.cap-result-no { border-left-color: var(--cap-red); background: #fffafa; }
.cap-report-item.cap-result-na { border-left-color: #89919e; }
.cap-report-question { display: flex; gap: 12px; align-items: flex-start; }
.cap-result-label { min-width: 86px; border-radius: 20px; padding: 3px 9px; background: #e4f5eb; color: #0d713d; font-size: 12px; font-weight: 800; text-align: center; }
.cap-result-no .cap-result-label { background: #ffe4e6; color: #b5000b; }
.cap-result-na .cap-result-label { background: #eceef1; color: #555d69; }
.cap-report-item > p { margin: 12px 0 0 98px; }
.cap-report-photo { margin: 14px 0 0 98px; }
.cap-report-photo img { max-width: 480px; width: 100%; height: auto; border-radius: 8px; }
.cap-report-footer { margin-top: 28px; padding-top: 15px; border-top: 1px solid var(--cap-border); color: var(--cap-muted); font-size: 12px; }

/* Completion and signatures */
.cap-completion-section > label { margin-bottom: 22px; }
.cap-signature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cap-signature-card { padding: 17px; border: 1px solid var(--cap-border); border-radius: 12px; background: #faf8f3; }
.cap-signature-heading { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.cap-signature-heading strong, .cap-signature-heading span { display: block; }
.cap-signature-heading span { margin-top: 2px; color: var(--cap-muted); font-size: 13px; }
.cap-signature-clear { padding: 5px 9px; border: 1px solid #c9cdd3; border-radius: 7px; background: #fff; color: var(--cap-black); font-weight: 700; cursor: pointer; }
.cap-signature-pad { display: block; width: 100%; height: 150px; border: 2px dashed #aeb4bd; border-radius: 9px; background: #fff; cursor: crosshair; touch-action: none; }
.cap-signature-card small { display: block; margin-top: 8px; color: var(--cap-muted); }

/* Management report */
.cap-report { padding: 0; border: 0; background: transparent; box-shadow: none; }
.cap-report-toolbar { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.cap-report-summary-page, .cap-report-details { background: #fff; border: 1px solid var(--cap-border); border-radius: 16px; padding: 32px; box-shadow: 0 7px 24px rgba(20,25,35,.06); }
.cap-report-cover-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; border-bottom: 2px solid var(--cap-black); }
.cap-report-brand { display: flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 900; letter-spacing: -.03em; }
.cap-report-brand strong { color: var(--cap-red); }
.cap-report-brandmark { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #ffbd38; color: var(--cap-red); border: 3px solid #d97920; font-size: 11px; }
.cap-report-number { color: var(--cap-muted); font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.cap-report-title-row { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: end; padding: 25px 0 20px; }
.cap-report-title-row h1 { margin: 5px 0 2px; font-size: 31px; line-height: 1.08; }
.cap-report-title-row p { margin: 0; color: var(--cap-muted); }
.cap-grade-box { min-width: 145px; padding: 12px 15px; border-radius: 11px; background: var(--cap-red); color: #fff; }
.cap-grade-box span, .cap-grade-box strong { display: block; }
.cap-grade-box span { font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cap-grade-box strong { margin-top: 3px; font-size: 18px; }
.cap-report-identity-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--cap-border); border-radius: 11px; overflow: hidden; }
.cap-report-identity-grid > div { min-height: 69px; padding: 11px 12px; border-right: 1px solid var(--cap-border); border-bottom: 1px solid var(--cap-border); }
.cap-report-identity-grid > div:nth-child(4n) { border-right: 0; }
.cap-report-identity-grid > div:nth-last-child(-n+4) { border-bottom: 0; }
.cap-report-identity-grid span, .cap-report-notes > span, .cap-report-signatures span { display: block; color: var(--cap-muted); font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.cap-report-identity-grid strong { display: block; margin-top: 5px; font-size: 12px; line-height: 1.25; }
.cap-score-section { display: grid; grid-template-columns: 145px 1fr; gap: 20px; align-items: center; margin-top: 20px; padding: 19px; border-radius: 13px; background: #17120f; color: #fff; }
.cap-score-copy > span { color: #ff8188; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cap-score-copy h2 { margin: 2px 0 0; color: #fff; font-size: 39px; line-height: 1; }
.cap-score-copy p { margin: 6px 0 0; color: #ddd5cf; font-size: 12px; }
.cap-score-rings { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.cap-score-ring { aspect-ratio: 1; display: grid; place-items: center; padding: 7px; border-radius: 50%; background: conic-gradient(var(--ring-color, #e30613) calc(var(--score) * 1%), #3b3633 0); }
.cap-score-ring > div { width: 100%; height: 100%; display: grid; align-content: center; justify-items: center; padding: 5px; border-radius: 50%; background: #17120f; text-align: center; }
.cap-score-ring strong { font-size: 17px; line-height: 1; }
.cap-score-ring span { max-width: 78px; margin-top: 4px; color: #d6cfca; font-size: 8px; line-height: 1.1; }
.cap-score-standards { --ring-color: #ffbd38; }
.cap-score-hygiene { --ring-color: #35a768; }
.cap-score-documents { --ring-color: #6f9ee8; }
.cap-report-notes { min-height: 82px; margin-top: 18px; padding: 14px 16px; border: 1px solid var(--cap-border); border-radius: 11px; background: #faf8f3; }
.cap-report-notes p { margin: 7px 0 0; font-size: 12px; line-height: 1.4; }
.cap-report-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.cap-report-signatures > div { padding-top: 10px; border-top: 1px solid #9fa5ae; }
.cap-signature-image { height: 56px; display: flex; align-items: center; margin: 3px 0; }
.cap-signature-image img { max-width: 190px; max-height: 54px; width: auto; height: auto; object-fit: contain; }
.cap-report-signatures strong { font-size: 11px; }
.cap-report-details { margin-top: 18px; }
.cap-detail-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding-bottom: 14px; border-bottom: 3px solid var(--cap-red); }
.cap-detail-head h1 { margin: 3px 0 0; font-size: 28px; }
.cap-detail-head > div:last-child { color: var(--cap-muted); font-size: 12px; font-weight: 700; }
.cap-detail-item { display: grid; grid-template-columns: 25px 1fr auto; gap: 9px; align-items: start; margin: 6px 0; padding: 9px; border: 1px solid var(--cap-border); border-left: 4px solid var(--cap-green); border-radius: 7px; break-inside: avoid; }
.cap-detail-item.cap-result-no { border-left-color: var(--cap-red); background: #fff8f8; }
.cap-detail-item.cap-result-na { border-left-color: #89919e; }
.cap-detail-index { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: #eff0f2; font-size: 10px; font-weight: 900; }
.cap-detail-question { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.cap-detail-question strong { font-size: 12px; line-height: 1.3; }
.cap-detail-content p { margin: 5px 0 0; color: #565d68; font-size: 10px; }
.cap-detail-photo img { width: 90px; height: 64px; border-radius: 5px; object-fit: cover; }

/* Pizza landing page */
body.cap-storecheck-landing { margin: 0; overflow-x: hidden; background: #f7ead3; }
body.cap-storecheck-landing .wp-site-blocks > header,
body.cap-storecheck-landing .wp-site-blocks > footer,
body.cap-storecheck-landing header.wp-block-template-part,
body.cap-storecheck-landing footer.wp-block-template-part,
body.cap-storecheck-landing .site-header,
body.cap-storecheck-landing .site-footer,
body.cap-storecheck-landing #masthead,
body.cap-storecheck-landing #colophon,
body.cap-storecheck-landing .entry-header,
body.cap-storecheck-landing .wp-block-post-title { display: none !important; }
body.cap-storecheck-landing .wp-site-blocks,
body.cap-storecheck-landing main:not(.cap-landing-main),
body.cap-storecheck-landing .site-main,
body.cap-storecheck-landing .entry-content,
body.cap-storecheck-landing .wp-block-post-content { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }

.cap-landing, .cap-landing * { box-sizing: border-box; }
.cap-landing { --cream:#f7ead3; --ink:#17120f; --tomato:#df2b1f; --cheese:#ffba35; --basil:#1f7440; position: relative; width: 100vw !important; max-width: none !important; min-height: 100vh; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; overflow: hidden; background: var(--cream); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.cap-landing-grain { position: absolute; inset: 0; opacity: .14; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); mix-blend-mode: multiply; }
.cap-landing-nav { position: relative; z-index: 4; width: min(1440px, calc(100% - 80px)); height: 92px; margin: auto; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(23,18,15,.16); }
.cap-landing-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink) !important; text-decoration: none !important; font-size: 17px; font-weight: 900; letter-spacing: -.035em; }
.cap-landing-brand strong { color: var(--tomato); }
.cap-mini-pizza { position: relative; width: 36px; height: 36px; display: inline-block; border-radius: 50%; border: 5px solid #d17a26; background: var(--cheese); box-shadow: inset 0 0 0 2px var(--tomato); transform: rotate(-10deg); }
.cap-mini-pizza:before, .cap-mini-pizza:after, .cap-mini-pizza i { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--tomato); }
.cap-mini-pizza:before { left:5px; top:5px; }
.cap-mini-pizza:after { right:4px; bottom:5px; }
.cap-mini-pizza i { right:5px; top:3px; }
.cap-mini-pizza b { position:absolute; left:50%; top:0; bottom:0; width:2px; background:#d88718; transform:rotate(28deg); opacity:.65; }
.cap-pilot-badge { display: inline-flex; align-items:center; min-height:32px; padding:5px 13px; border:1px solid var(--ink); border-radius:999px; font-size:12px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.cap-landing-main { position: relative; z-index: 2; width: min(1440px, calc(100% - 80px)); min-height: calc(100vh - 146px); margin: auto; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 40px; padding: 38px 0 72px; }
.cap-landing-copy { position: relative; z-index: 3; max-width: 690px; }
.cap-eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; font-size: 13px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.cap-eyebrow span { width: 36px; height: 8px; border-radius: 9px; background: var(--tomato); transform: skewX(-24deg); }
.cap-landing-copy h1 { margin: 0; color: var(--ink); font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(66px, 6vw, 105px); font-weight: 900; letter-spacing: -.045em; line-height: .84; text-transform: uppercase; }
.cap-landing-copy h1 em { position: relative; display: inline-block; color: var(--tomato); font-style: normal; transform: rotate(-2deg); }
.cap-landing-copy h1 em:after { content:""; position:absolute; left:1%; right:-1%; bottom:-8px; height:9px; border-radius:50%; background:var(--tomato); transform:skewX(-20deg); opacity:.8; }
.cap-landing-copy > p { max-width: 590px; margin: 28px 0 26px; font-size: clamp(17px, 1.25vw, 20px); line-height: 1.5; color: #51453d; }
.cap-login-button { display:inline-flex; align-items:center; justify-content:space-between; gap:55px; min-width:290px; min-height:68px; padding:10px 12px 10px 28px; border:3px solid var(--ink); border-radius:999px; background:var(--tomato); color:#fff !important; text-decoration:none !important; font-size:20px; font-weight:900; box-shadow:8px 8px 0 var(--ink); transition:transform .18s ease, box-shadow .18s ease; }
.cap-login-button i { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:var(--cream); color:var(--ink); font-size:25px; font-style:normal; }
.cap-login-button:hover { transform:translate(4px,4px); box-shadow:4px 4px 0 var(--ink); }
.cap-landing-note { display:flex; align-items:center; gap:8px; margin:20px 0 0 15px; color:#6b5b51; font-size:13px; font-weight:700; }
.cap-landing-note span { color:var(--basil); font-size:16px; }
.cap-pizza-stage { position: relative; min-height: 590px; display: grid; place-items: center; }
.cap-pizza-glow { position:absolute; width:620px; height:620px; border-radius:50%; background:var(--cheese); opacity:.31; filter:blur(4px); }
.cap-pizza-glow:before, .cap-pizza-glow:after { content:""; position:absolute; border:2px dashed rgba(23,18,15,.2); border-radius:50%; }
.cap-pizza-glow:before { inset:-34px; }
.cap-pizza-glow:after { inset:-75px; }
.cap-pizza-art { position:relative; z-index:1; width:min(620px, 44vw); height:auto; animation:capPizzaFloat 5s ease-in-out infinite; }
@keyframes capPizzaFloat { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-13px) rotate(1.5deg)} }
.cap-float-card { position:absolute; z-index:3; display:flex; align-items:center; gap:10px; padding:13px 18px; border:2px solid var(--ink); border-radius:14px; background:#fff9eb; box-shadow:6px 6px 0 var(--ink); transform:rotate(-3deg); }
.cap-float-card strong { color:var(--tomato); font-size:27px; line-height:1; }
.cap-float-card span { font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.cap-float-one { left:0; top:24%; }
.cap-float-two { right:1%; bottom:23%; transform:rotate(3deg); }
.cap-float-three { left:7%; bottom:13%; transform:rotate(2deg); }
.cap-float-three .cap-checkmark { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--basil); color:#fff; font-size:17px; }
.cap-landing-marquee { position:absolute; z-index:5; left:-2%; right:-2%; bottom:0; height:54px; display:flex; align-items:center; overflow:hidden; background:var(--ink); color:var(--cream); border-top:4px solid var(--tomato); transform:rotate(-.7deg); }
.cap-landing-marquee div { width:max-content; white-space:nowrap; font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size:23px; letter-spacing:.08em; word-spacing:.28em; animation:capMarquee 24s linear infinite; }
.cap-landing-marquee span { color:var(--cheese); }
@keyframes capMarquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

@media (max-width: 700px) {
    .cap-app { width: min(100% - 14px, 980px); margin-top: 8px; }
    .cap-hero, .cap-card, .cap-section, .cap-submit-card, .cap-report { border-radius: 11px; padding: 19px; }
    .cap-answer-options { margin-left: 0; grid-template-columns: 1fr; }
    .cap-choice span { justify-content: flex-start; padding-left: 15px; }
    .cap-defect-fields { margin-left: 0; }
    .cap-field-grid { grid-template-columns: 1fr; }
    .cap-report-head { display: block; }
    .cap-print-button { margin-top: 15px; }
    .cap-report-meta { grid-template-columns: 1fr 1fr; }
    .cap-report-question { display: grid; }
    .cap-result-label { width: max-content; }
    .cap-report-item > p, .cap-report-photo { margin-left: 0; }
    .cap-signature-grid, .cap-report-signatures { grid-template-columns: 1fr; }
    .cap-report-summary-page, .cap-report-details { padding: 18px; border-radius: 11px; }
    .cap-report-title-row { grid-template-columns: 1fr; }
    .cap-grade-box { min-width: 0; }
    .cap-report-identity-grid { grid-template-columns: 1fr 1fr; }
    .cap-report-identity-grid > div, .cap-report-identity-grid > div:nth-child(4n), .cap-report-identity-grid > div:nth-last-child(-n+4) { border-right: 1px solid var(--cap-border); border-bottom: 1px solid var(--cap-border); }
    .cap-report-identity-grid > div:nth-child(2n) { border-right: 0; }
    .cap-report-identity-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
    .cap-score-section { grid-template-columns: 1fr; }
    .cap-score-rings { grid-template-columns: 1fr 1fr; }
    .cap-detail-head, .cap-detail-question { display: block; }
    .cap-detail-item { grid-template-columns: 25px 1fr; }
    .cap-detail-photo { grid-column: 2; }
    .cap-landing-nav { width:calc(100% - 34px); height:72px; }
    .cap-landing-brand { font-size:14px; }
    .cap-mini-pizza { width:31px; height:31px; }
    .cap-pilot-badge { font-size:10px; min-height:27px; padding:3px 9px; }
    .cap-landing-main { width:calc(100% - 34px); min-height:auto; display:flex; flex-direction:column; gap:12px; padding:44px 0 104px; }
    .cap-landing-copy { width:100%; }
    .cap-eyebrow { font-size:11px; margin-bottom:16px; }
    .cap-landing-copy h1 { font-size:clamp(55px, 17vw, 78px); }
    .cap-landing-copy > p { margin:27px 0 25px; font-size:16px; }
    .cap-login-button { width:100%; min-width:0; min-height:62px; }
    .cap-pizza-stage { width:100%; min-height:390px; margin-top:8px; }
    .cap-pizza-glow { width:350px; height:350px; }
    .cap-pizza-art { width:min(390px, 105vw); }
    .cap-float-card { padding:9px 12px; box-shadow:4px 4px 0 var(--ink); }
    .cap-float-card strong { font-size:21px; }
    .cap-float-card span { font-size:10px; }
    .cap-float-one { left:-4px; top:18%; }
    .cap-float-two { right:-3px; bottom:19%; }
    .cap-float-three { left:6px; bottom:6%; }
    .cap-landing-marquee { height:45px; }
    .cap-landing-marquee div { font-size:18px; }
}

@media (min-width: 701px) and (max-width: 1100px) {
    .cap-landing-nav, .cap-landing-main { width:calc(100% - 48px); }
    .cap-landing-main { grid-template-columns:1fr 1fr; }
    .cap-pizza-stage { min-height:560px; }
    .cap-pizza-glow { width:470px; height:470px; }
    .cap-pizza-art { width:min(520px, 50vw); }
    .cap-float-card { padding:10px 13px; }
}

@media (prefers-reduced-motion: reduce) {
    .cap-pizza-art, .cap-landing-marquee div { animation:none; }
}

/* UI refresh */
.cap-app { width: min(1080px, calc(100% - 32px)); color: #181818; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.cap-appbar { position: relative; z-index: 8; min-height: 66px; display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding: 9px 16px; border: 1px solid rgba(22,22,22,.09); border-radius: 17px; background: rgba(255,255,255,.92); box-shadow: 0 12px 40px rgba(24,18,13,.07); }
.cap-appbar > a { display: inline-flex; align-items: center; gap: 10px; color: #17120f !important; text-decoration: none !important; }
.cap-appbar img { width: 50px; height: 36px; object-fit: contain; }
.cap-appbar a > span, .cap-appbar a strong, .cap-appbar a small { display: block; }
.cap-appbar a strong { font-size: 14px; letter-spacing: .08em; }
.cap-appbar a small { margin-top: 1px; color: #77716d; font-size: 9px; letter-spacing: .04em; }
.cap-appbar-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: #f1eee8; color: #5d5751; font-size: 11px; font-weight: 800; }
.cap-appbar-status i { width: 7px; height: 7px; border-radius: 50%; background: #1d9651; box-shadow: 0 0 0 4px rgba(29,150,81,.11); }
.cap-hero { position: relative; overflow: hidden; padding: 39px; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; background: radial-gradient(circle at 86% 18%, rgba(227,6,19,.33), transparent 34%), linear-gradient(135deg, #17120f 0%, #25201d 100%); box-shadow: 0 18px 50px rgba(23,18,15,.17); }
.cap-hero::after { content: ""; position: absolute; width: 250px; height: 250px; right: -85px; bottom: -150px; border: 34px solid rgba(255,255,255,.035); border-radius: 50%; }
.cap-hero-small { padding: 30px 34px; }
.cap-hero h1 { max-width: 850px; letter-spacing: -.045em; }
.cap-card, .cap-section, .cap-submit-card { border-color: rgba(23,18,15,.09); border-radius: 21px; box-shadow: 0 12px 40px rgba(28,22,17,.055); }
.cap-check-form > .cap-section { content-visibility: auto; contain-intrinsic-size: auto 800px; }
.cap-card h2, .cap-section > h2 { letter-spacing: -.025em; }
.cap-app input[type="text"], .cap-app input[type="date"], .cap-app input[type="email"], .cap-app select, .cap-app textarea { min-height: 50px; border-color: #d7d2ca; border-radius: 12px; background: #fcfbf9; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.cap-app input:focus, .cap-app select:focus, .cap-app textarea:focus { outline: none; border-color: var(--cap-red); background: #fff; box-shadow: 0 0 0 4px rgba(227,6,19,.1); }
.cap-app input[type="file"] { width: 100%; margin-top: 8px; padding: 10px; border: 1px dashed #cfc8bd; border-radius: 11px; background: #fff; }
.cap-button { min-height: 48px; border-radius: 12px; transition: transform .16s ease, box-shadow .16s ease, filter .16s ease; }
.cap-button:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(23,18,15,.14); }
.cap-button:focus-visible, .cap-choice input:focus-visible + span, .cap-signature-clear:focus-visible, .cap-login-button:focus-visible { outline: 3px solid #ffbd38; outline-offset: 3px; }
.cap-button-primary { background: linear-gradient(135deg, #e30613, #bd0010); }
.cap-question { padding: 27px 0; }
.cap-question-title > span { background: #f3efe8; color: #5e574f; }
.cap-choice span { min-height: 50px; border-color: #e0dbd3; border-radius: 12px; background: #fcfbf9; font-weight: 800; transition: transform .16s ease, background .16s ease, border-color .16s ease; }
.cap-choice span:hover { transform: translateY(-1px); border-color: #aaa39a; }
.cap-defect-fields { padding: 20px; border-left: 0; border: 1px solid #ffc9cd; border-radius: 14px; background: #fff5f5; }
.cap-submit-card { bottom: 14px; padding: 18px; background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.cap-check-progress { position: relative; z-index: 2; max-width: 620px; margin-top: 21px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: rgba(255,255,255,.065); }
.cap-check-progress > div { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 8px; color: #dad5d1; font-size: 11px; }
.cap-check-progress > div span { font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.cap-check-progress > div strong { color: #fff; }
.cap-check-progress > i { height: 7px; display: block; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.14); }
.cap-check-progress > i b { width: 0; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #e30613, #ffbd38); transition: width .28s ease; }
.cap-check-progress.is-complete > i b { background: #35a768; }
.cap-signature-card { border-color: #ded8cf; border-radius: 15px; background: #fbf9f5; }
.cap-signature-pad { border-color: #c8c1b7; border-radius: 12px; }
.cap-report-brand img { width: 42px; height: 30px; object-fit: contain; }
.cap-report-brand > span, .cap-report-brand small { display: block; }
.cap-report-brand small { color: var(--cap-muted); font-size: 8px; font-weight: 700; letter-spacing: .05em; }

/* Landing page v2 */
body.cap-storecheck-landing { background: #0b0b0d; }
.cap-landing-v2 { --cream:#f7f2e9; --ink:#0e0e10; --tomato:#e30613; --cheese:#ffc335; --basil:#37a866; min-height: 100svh; background: radial-gradient(circle at 74% 36%, rgba(227,6,19,.13), transparent 28%), radial-gradient(circle at 18% 85%, rgba(255,195,53,.07), transparent 28%), #0b0b0d; color: #fff; isolation: isolate; }
.cap-landing-v2::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .22; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, #000 0%, transparent 82%); }
.cap-landing-aurora { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.cap-landing-aurora i { position: absolute; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(circle, rgba(227,6,19,.17), transparent 67%); animation: capAurora 12s ease-in-out infinite alternate; }
.cap-landing-aurora i:nth-child(1) { top: -310px; right: 5%; }
.cap-landing-aurora i:nth-child(2) { width: 450px; height: 450px; left: -240px; bottom: -190px; background: radial-gradient(circle, rgba(255,195,53,.1), transparent 67%); animation-delay: -4s; }
.cap-landing-aurora i:nth-child(3) { width: 360px; height: 360px; right: 30%; bottom: -280px; background: radial-gradient(circle, rgba(55,168,102,.08), transparent 67%); animation-delay: -8s; }
@keyframes capAurora { from { transform: translate3d(-2%, -1%, 0) scale(.95); } to { transform: translate3d(4%, 3%, 0) scale(1.08); } }
.cap-landing-v2 .cap-landing-nav { width: min(1240px, calc(100% - 56px)); height: 90px; border-bottom-color: rgba(255,255,255,.1); }
.cap-landing-v2 .cap-landing-brand { gap: 12px; color: #fff !important; }
.cap-brand-logo-frame { width: 58px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: rgba(255,255,255,.06); }
.cap-brand-logo-frame img { width: 55px; height: 39px; object-fit: contain; }
.cap-product-lockup, .cap-product-lockup strong, .cap-product-lockup small { display: block; }
.cap-product-lockup strong { color: #fff; font-size: 15px; letter-spacing: .13em; }
.cap-product-lockup small { margin-top: 3px; color: #8e8d93; font-size: 9px; font-weight: 700; letter-spacing: .06em; }
.cap-nav-status { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.045); color: #aaa9af; font-size: 11px; font-weight: 800; }
.cap-nav-status span { width: 7px; height: 7px; border-radius: 50%; background: #45c579; box-shadow: 0 0 0 5px rgba(69,197,121,.1); }
.cap-landing-v2 .cap-landing-main { width: min(1240px, calc(100% - 56px)); min-height: calc(100svh - 142px); grid-template-columns: .94fr 1.06fr; gap: clamp(44px, 6vw, 100px); padding: 58px 0 96px; }
.cap-landing-v2 .cap-landing-copy { max-width: 620px; }
.cap-landing-v2 .cap-eyebrow { margin-bottom: 24px; color: #b8b6ba; font-size: 11px; letter-spacing: .16em; }
.cap-landing-v2 .cap-eyebrow span { width: 29px; height: 3px; background: var(--tomato); transform: none; }
.cap-landing-v2 .cap-landing-copy h1 { color: #fff; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: clamp(59px, 6.2vw, 94px); font-weight: 900; letter-spacing: -.065em; line-height: .91; text-transform: none; }
.cap-landing-v2 .cap-landing-copy h1 em { color: #ff3340; transform: none; }
.cap-landing-v2 .cap-landing-copy h1 em::after { display: none; }
.cap-landing-v2 .cap-landing-copy > p { max-width: 560px; margin: 28px 0 29px; color: #aaa8ae; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.62; }
.cap-landing-actions { display: flex; align-items: center; gap: 22px; }
.cap-landing-v2 .cap-login-button { min-width: 235px; min-height: 60px; gap: 32px; padding: 8px 9px 8px 21px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: linear-gradient(135deg, #ed1421, #c90010); font-size: 15px; box-shadow: 0 18px 38px rgba(227,6,19,.22); }
.cap-landing-v2 .cap-login-button i { width: 42px; height: 42px; border-radius: 11px; background: rgba(255,255,255,.13); color: #fff; font-size: 20px; }
.cap-landing-v2 .cap-login-button:hover { transform: translateY(-2px); box-shadow: 0 22px 45px rgba(227,6,19,.31); }
.cap-access-note { display: inline-flex; align-items: center; gap: 8px; color: #77767d; font-size: 11px; font-weight: 700; }
.cap-access-note i { width: 6px; height: 6px; border-radius: 50%; background: #45c579; }
.cap-landing-stats { max-width: 490px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 47px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.09); }
.cap-landing-stats > div { padding-right: 14px; }
.cap-landing-stats strong, .cap-landing-stats span { display: block; }
.cap-landing-stats strong { color: #f5f3ef; font-size: 18px; }
.cap-landing-stats span { margin-top: 3px; color: #77767d; font-size: 10px; }
.cap-operations-preview { position: relative; min-width: 0; perspective: 1200px; }
.cap-preview-glow { position: absolute; inset: 11% 4% -5% 12%; border-radius: 45%; background: radial-gradient(circle, rgba(227,6,19,.28), transparent 68%); }
.cap-preview-card { position: relative; z-index: 2; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 27px; background: linear-gradient(145deg, rgba(34,34,38,.96), rgba(15,15,17,.98)); box-shadow: 0 42px 90px rgba(0,0,0,.48); transform: rotateY(-4deg) rotateX(2deg); animation: capPreviewFloat 7s ease-in-out infinite; }
@keyframes capPreviewFloat { 0%,100% { transform: rotateY(-4deg) rotateX(2deg) translateY(0); } 50% { transform: rotateY(-2deg) rotateX(1deg) translateY(-8px); } }
.cap-preview-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(125deg, rgba(255,255,255,.06), transparent 28%); }
.cap-preview-head { min-height: 78px; display: flex; align-items: center; justify-content: space-between; padding: 15px 20px; border-bottom: 1px solid rgba(255,255,255,.08); }
.cap-preview-head > div, .cap-preview-head > div > span, .cap-preview-head strong, .cap-preview-head small { display: flex; }
.cap-preview-head > div { align-items: center; gap: 11px; }
.cap-preview-head > div > span:last-child, .cap-preview-head strong, .cap-preview-head small { display: block; }
.cap-preview-icon { width: 48px; height: 43px; align-items: center; justify-content: center; border-radius: 12px; background: #f6f1e8; }
.cap-preview-icon img { width: 45px; height: 31px; object-fit: contain; }
.cap-preview-head strong { color: #efedf0; font-size: 13px; }
.cap-preview-head small { margin-top: 3px; color: #74737a; font-size: 9px; }
.cap-live-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid rgba(69,197,121,.17); border-radius: 999px; background: rgba(69,197,121,.07); color: #68d892; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.cap-live-badge i { width: 6px; height: 6px; border-radius: 50%; background: #45c579; animation: capLive 1.8s ease infinite; }
@keyframes capLive { 50% { box-shadow: 0 0 0 5px rgba(69,197,121,.08); } }
.cap-preview-body { display: grid; grid-template-columns: .82fr 1.18fr; gap: 28px; align-items: center; padding: 31px 29px; }
.cap-main-score { text-align: center; }
.cap-main-score-ring { width: 148px; max-width: 100%; aspect-ratio: 1; display: grid; place-items: center; margin: auto; padding: 10px; border-radius: 50%; background: conic-gradient(#ec1421 0 92%, rgba(255,255,255,.08) 92%); box-shadow: 0 0 45px rgba(227,6,19,.14); }
.cap-main-score-ring > span { width: 100%; height: 100%; display: grid; place-content: center; border-radius: 50%; background: #151517; }
.cap-main-score-ring strong, .cap-main-score-ring small { display: block; }
.cap-main-score-ring strong { color: #fff; font-size: 40px; line-height: 1; letter-spacing: -.05em; }
.cap-main-score-ring small { margin-top: 3px; color: #696970; font-size: 9px; }
.cap-main-score p { margin: 13px 0 0; }
.cap-main-score p strong, .cap-main-score p span { display: block; }
.cap-main-score p strong { color: #fff; font-size: 13px; }
.cap-main-score p span { margin-top: 2px; color: #6f6e74; font-size: 9px; }
.cap-category-scores { display: grid; gap: 18px; }
.cap-category-scores > div > span { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 7px; color: #a4a2a8; font-size: 10px; }
.cap-category-scores b { color: #eeecef; }
.cap-category-scores > div > i { height: 7px; display: block; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.075); }
.cap-category-scores > div > i::after { content: ""; width: var(--value); height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #e30613, #ff5a64); box-shadow: 0 0 15px rgba(227,6,19,.24); }
.cap-preview-footer { display: flex; justify-content: space-between; align-items: center; padding: 17px 21px; border-top: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.025); }
.cap-preview-footer > div { display: flex; align-items: center; gap: 10px; }
.cap-preview-check { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: rgba(55,168,102,.12); color: #61d08b; font-weight: 900; }
.cap-preview-footer strong, .cap-preview-footer small { display: block; }
.cap-preview-footer strong { color: #d9d7db; font-size: 10px; }
.cap-preview-footer small { margin-top: 2px; color: #69686e; font-size: 8px; }
.cap-preview-arrow { color: #737178; }
.cap-floating-tag { position: absolute; z-index: 4; display: flex; align-items: center; gap: 7px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(26,26,29,.94); color: #aaa8ad; box-shadow: 0 15px 32px rgba(0,0,0,.3); font-size: 10px; font-weight: 800; backdrop-filter: blur(12px); }
.cap-floating-tag span { color: #fff; font-size: 14px; }
.cap-floating-tag-one { left: -31px; top: 20%; transform: rotate(-4deg); }
.cap-floating-tag-two { right: -21px; bottom: 19%; transform: rotate(4deg); }
.cap-floating-tag-two span { color: #58d187; }
.cap-landing-footerline { position: absolute; left: 0; right: 0; bottom: 0; min-height: 51px; display: flex; align-items: center; justify-content: center; gap: clamp(18px, 3vw, 48px); border-top: 1px solid rgba(255,255,255,.08); background: rgba(8,8,10,.78); color: #616067; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.cap-landing-footerline i { width: 4px; height: 4px; border-radius: 50%; background: #e30613; }

@media (max-width: 800px) {
    .cap-app { width: min(100% - 18px, 1080px); }
    .cap-appbar { min-height: 58px; padding: 7px 11px; border-radius: 14px; }
    .cap-appbar img { width: 43px; height: 31px; }
    .cap-appbar a small { display: none; }
    .cap-hero { padding: 26px 22px; border-radius: 19px; }
    .cap-hero h1 { font-size: clamp(28px, 9vw, 42px); }
    .cap-question { padding: 23px 0; }
    .cap-submit-card { bottom: 7px; }
    .cap-check-progress > div { display: block; }
    .cap-check-progress > div strong { display: block; margin-top: 3px; }
    .cap-landing-v2 .cap-landing-nav { width: calc(100% - 30px); height: 72px; }
    .cap-brand-logo-frame { width: 48px; height: 41px; border-radius: 11px; }
    .cap-brand-logo-frame img { width: 47px; height: 34px; }
    .cap-product-lockup strong { font-size: 12px; }
    .cap-product-lockup small { display: none; }
    .cap-nav-status { padding: 7px 9px; font-size: 9px; }
    .cap-landing-v2 .cap-landing-main { width: calc(100% - 30px); display: grid; grid-template-columns: 1fr; gap: 48px; padding: 49px 0 103px; }
    .cap-landing-v2 .cap-landing-copy h1 { font-size: clamp(51px, 15vw, 74px); }
    .cap-landing-v2 .cap-landing-copy > p { font-size: 16px; }
    .cap-landing-actions { align-items: stretch; flex-direction: column; gap: 16px; }
    .cap-landing-v2 .cap-login-button { width: 100%; min-width: 0; }
    .cap-access-note { padding-left: 5px; }
    .cap-landing-stats { margin-top: 35px; }
    .cap-preview-card { transform: none; animation: none; border-radius: 21px; }
    .cap-preview-body { grid-template-columns: 1fr; gap: 27px; padding: 27px 22px; }
    .cap-main-score-ring { width: 135px; }
    .cap-floating-tag-one { left: -5px; top: 18%; }
    .cap-floating-tag-two { right: -4px; bottom: 16%; }
    .cap-landing-footerline { gap: 12px; padding: 0 12px; font-size: 7px; letter-spacing: .1em; }
}

@media (min-width: 801px) and (max-width: 1120px) {
    .cap-landing-v2 .cap-landing-main, .cap-landing-v2 .cap-landing-nav { width: calc(100% - 44px); }
    .cap-landing-v2 .cap-landing-main { grid-template-columns: .9fr 1.1fr; gap: 48px; }
    .cap-preview-body { gap: 18px; padding: 25px 21px; }
    .cap-main-score-ring { width: 125px; }
    .cap-floating-tag-one { left: -16px; }
    .cap-floating-tag-two { right: -10px; }
}

@media (prefers-reduced-motion: reduce) {
    .cap-landing-aurora i, .cap-preview-card, .cap-live-badge i { animation: none; }
    .cap-check-progress > i b, .cap-button, .cap-choice span, .cap-login-button { transition: none; }
}

/* Storecheck workflow */
body.cap-storecheck-fill { min-height: 100%; transition: background-color .2s ease; }
body.cap-storecheck-theme-light { background: #f3f1ed !important; }
body.cap-storecheck-theme-dark { background: #09090b !important; }
body.cap-storecheck-fill .wp-site-blocks, body.cap-storecheck-fill main, body.cap-storecheck-fill .entry-content, body.cap-storecheck-fill .wp-block-post-content { background: transparent !important; }
.cap-app.cap-theme-light, .cap-app.cap-theme-dark { min-height: 100vh; padding-bottom: 50px; }
.cap-theme-dark { --cap-bg: #17171a; --cap-border: #303035; --cap-muted: #a09fa6; color: #f3f1f4; }
.cap-theme-dark .cap-appbar { border-color: #2b2b30; background: rgba(22,22,25,.94); box-shadow: 0 12px 40px rgba(0,0,0,.24); }
.cap-theme-dark .cap-appbar > a { color: #fff !important; }
.cap-theme-dark .cap-appbar a small { color: #8d8c93; }
.cap-theme-dark .cap-appbar-status { background: #29292d; color: #bbb9c0; }
.cap-theme-dark .cap-card, .cap-theme-dark .cap-section, .cap-theme-dark .cap-submit-card, .cap-theme-dark .cap-history-panel { border-color: #303035; background: #161619; color: #f2f0f3; box-shadow: 0 14px 44px rgba(0,0,0,.2); }
.cap-theme-dark h1, .cap-theme-dark h2, .cap-theme-dark h3, .cap-theme-dark label, .cap-theme-dark strong { color: #f4f2f5; }
.cap-theme-dark .cap-question { border-color: #303035; }
.cap-theme-dark .cap-question-title > span, .cap-theme-dark .cap-detail-index { background: #29292d; color: #cac8ce; }
.cap-theme-dark input[type="text"], .cap-theme-dark input[type="date"], .cap-theme-dark input[type="email"], .cap-theme-dark select, .cap-theme-dark textarea { border-color: #3b3b41; background: #101012; color: #f4f2f5; color-scheme: dark; }
.cap-theme-dark input:focus, .cap-theme-dark select:focus, .cap-theme-dark textarea:focus { border-color: #ef2835; background: #131316; }
.cap-theme-dark input[readonly] { color: #9d9ca2; background: #1d1d20; }
.cap-theme-dark .cap-signature-card, .cap-theme-dark .cap-defect-fields, .cap-theme-dark .cap-na-reason { border-color: #3a3a40; background: #1c1c20; }
.cap-theme-dark .cap-question-details-toggle { color: #bbb9c0; }

.cap-history-panel { margin: 18px 0; padding: 22px; border: 1px solid rgba(23,18,15,.09); border-radius: 21px; background: #fff; box-shadow: 0 12px 40px rgba(28,22,17,.055); }
.cap-history-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 17px; }
.cap-history-heading h2 { margin: 3px 0 0; font-size: 20px; letter-spacing: -.025em; }
.cap-history-heading > small { color: var(--cap-muted); font-size: 10px; }
.cap-history-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.cap-history-card { position: relative; min-width: 0; display: grid; grid-template-columns: 70px 1fr; gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--cap-border); border-radius: 15px; background: rgba(127,127,127,.035); color: inherit !important; text-decoration: none !important; transition: transform .17s ease, border-color .17s ease, box-shadow .17s ease; }
.cap-history-card:hover { transform: translateY(-2px); border-color: #aaa4a0; box-shadow: 0 10px 25px rgba(20,16,13,.08); }
.cap-history-card.has-critical { padding-top: 31px; border-color: rgba(227,6,19,.42); }
.cap-history-ring { width: 66px; height: 66px; display: grid; place-items: center; padding: 5px; border-radius: 50%; background: conic-gradient(var(--cap-red) calc(var(--score) * 1%), rgba(127,127,127,.18) 0); }
.cap-history-ring > span { width: 100%; height: 100%; display: grid; place-content: center; border-radius: 50%; background: #fff; text-align: center; }
.cap-theme-dark .cap-history-ring > span { background: #161619; }
.cap-history-ring strong, .cap-history-ring small { display: block; }
.cap-history-ring strong { font-size: 15px; line-height: 1; }
.cap-history-ring small { margin-top: 3px; color: var(--cap-muted); font-size: 7px; }
.cap-history-copy > strong, .cap-history-copy > span { display: block; }
.cap-history-copy > strong { font-size: 12px; }
.cap-history-copy > span { margin-top: 2px; color: var(--cap-muted); font-size: 9px; }
.cap-history-mini-scores { display: flex; gap: 5px; margin-top: 7px; }
.cap-history-mini-scores span { padding: 3px 5px; border-radius: 5px; background: rgba(127,127,127,.1); color: var(--cap-muted); font-size: 7px; }
.cap-history-mini-scores b { color: inherit; }
.cap-critical-badge { position: absolute; top: 8px; right: 8px; padding: 4px 7px; border-radius: 999px; background: #e30613; color: #fff; font-size: 8px; font-weight: 900; letter-spacing: .04em; }

.cap-check-layout { display: grid; grid-template-columns: 195px minmax(0, 1fr); gap: 18px; align-items: start; }
.cap-check-guide { position: sticky; top: 48px; z-index: 12; padding: 18px 14px; border: 1px solid var(--cap-border); border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 12px 35px rgba(28,22,17,.07); backdrop-filter: blur(15px); }
.cap-theme-dark .cap-check-guide { background: rgba(22,22,25,.94); box-shadow: 0 14px 38px rgba(0,0,0,.23); }
.cap-guide-label { display: block; margin: 0 0 13px 4px; color: var(--cap-muted); font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.cap-check-guide ol { position: relative; display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.cap-check-guide ol::before { content: ""; position: absolute; left: 13px; top: 18px; bottom: 18px; width: 1px; background: var(--cap-border); }
.cap-check-guide a { position: relative; display: grid; grid-template-columns: 27px 1fr; gap: 9px; align-items: center; min-height: 45px; padding: 5px 4px; border-radius: 10px; color: var(--cap-muted) !important; text-decoration: none !important; }
.cap-check-guide a:hover { background: rgba(127,127,127,.07); }
.cap-check-guide a i { position: relative; z-index: 2; width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid var(--cap-border); border-radius: 50%; background: #fff; color: var(--cap-muted); font-size: 9px; font-style: normal; font-weight: 900; transition: background .18s ease, color .18s ease, transform .18s ease; }
.cap-theme-dark .cap-check-guide a i { background: #161619; }
.cap-check-guide a span { font-size: 10px; font-weight: 750; line-height: 1.18; }
.cap-check-guide a.is-active { color: inherit !important; }
.cap-check-guide a.is-active i { border-color: var(--cap-red); background: var(--cap-red); color: #fff; transform: scale(1.08); box-shadow: 0 0 0 5px rgba(227,6,19,.1); }
.cap-guide-section { scroll-margin-top: 32px; }
.cap-check-form { min-width: 0; }
.cap-check-form > .cap-section:first-of-type { margin-top: 0; }
.cap-section-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.cap-section-heading > span { color: var(--cap-red); font-size: 27px; font-weight: 900; letter-spacing: -.05em; }
.cap-section-heading small, .cap-section-heading h2 { display: block; }
.cap-section-heading small { color: var(--cap-muted); font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.cap-section-heading h2 { margin: 2px 0 0; font-size: 22px; line-height: 1.08; }

.cap-rating-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; margin: 18px 0 0 41px; }
.cap-rating-control { min-width: 0; }
.cap-stars { width: min(350px, 100%); display: flex; justify-content: space-between; gap: 3px; padding: 4px 7px; border: 1px solid var(--cap-border); border-radius: 14px; background: rgba(127,127,127,.04); cursor: ew-resize; touch-action: none; user-select: none; -webkit-user-select: none; }
.cap-stars:focus-visible { outline: 3px solid #ffbd38; outline-offset: 3px; }
.cap-stars span { flex: 1; display: grid; place-items: center; color: #cbc8c2; font-size: clamp(31px, 4vw, 41px); line-height: 1; text-shadow: 0 1px 0 rgba(255,255,255,.4); transition: color .12s ease, transform .12s ease; }
.cap-theme-dark .cap-stars span { color: #3f3f44; text-shadow: none; }
.cap-stars span.is-active { color: #ffc128; transform: translateY(-1px) scale(1.04); text-shadow: 0 5px 15px rgba(255,193,40,.2); }
.cap-rating-state { display: block; margin-top: 7px; color: var(--cap-muted); font-size: 11px; font-weight: 800; }
.cap-rating-state[data-rating="1"], .cap-rating-state[data-rating="2"] { color: #d90d1a; }
.cap-rating-state[data-rating="5"] { color: var(--cap-green); }
.cap-rating-scale { display: flex; align-items: center; gap: 6px; margin-top: 5px; color: var(--cap-muted); font-size: 8px; }
.cap-rating-scale b { color: inherit; }
.cap-rating-scale i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; opacity: .5; }
.cap-na-toggle { min-height: 45px; padding: 9px 13px; border: 1px solid var(--cap-border); border-radius: 11px; background: transparent; color: var(--cap-muted); font-weight: 800; cursor: pointer; }
.cap-na-toggle:hover { border-color: #8f8b85; }
.cap-na-toggle.is-active { border-color: #6d7480; background: #6d7480; color: #fff; }
.cap-question.is-na .cap-stars { opacity: .42; }
.cap-na-reason { margin: 14px 0 0 41px; padding: 14px; border: 1px solid var(--cap-border); border-radius: 12px; background: #f7f6f3; }
.cap-question-details-toggle { margin: 13px 0 0 41px; padding: 4px 0; border: 0; background: transparent; color: #68625c; font-size: 11px; font-weight: 800; cursor: pointer; }
.cap-question-details-toggle:hover { color: var(--cap-red); }
.cap-question .cap-defect-fields { margin-top: 10px; }
.cap-question[data-rating="1"] { border-left: 3px solid var(--cap-red); padding-left: 15px; }
.cap-question[data-rating="2"] { border-left: 3px solid #ef6a27; padding-left: 15px; }

.cap-person-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 22px 0; }
.cap-person-grid label:first-child { grid-column: 1 / -1; }
.cap-signature-gate-note { margin: 0; padding: 14px; border: 1px dashed var(--cap-border); border-radius: 12px; color: var(--cap-muted); font-size: 12px; text-align: center; }
.cap-signature-actions { margin-top: 18px; }
.cap-signature-card { min-width: 0; }
.cap-signature-status { padding: 4px 7px; border-radius: 999px; background: rgba(127,127,127,.1); color: var(--cap-muted); font-size: 9px !important; font-weight: 900; }
.cap-signature-card.is-signed { border-color: rgba(19,138,75,.45); }
.cap-signature-card.is-signed .cap-signature-status { background: #def4e7; color: #0d713d; }
.cap-signature-launch { width: 100%; min-height: 126px; display: grid; grid-template-rows: 1fr auto; gap: 8px; margin-top: 8px; padding: 12px; border: 1px dashed #bdb7ae; border-radius: 12px; background: #fff; color: #25211e; cursor: pointer; }
.cap-theme-dark .cap-signature-launch { border-color: #494950; background: #101012; color: #f1eff2; }
.cap-signature-launch > span:last-child { display: flex; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 850; }
.cap-signature-launch i { font-style: normal; font-size: 15px; }
.cap-signature-preview { display: grid; place-items: center; min-height: 65px; overflow: hidden; }
.cap-signature-preview b { color: #9b958d; font-size: 27px; }
.cap-signature-preview img { max-width: 100%; max-height: 70px; object-fit: contain; }
body.cap-signature-open { overflow: hidden !important; }
.cap-signature-modal[hidden] { display: none !important; }
.cap-signature-modal { position: fixed; inset: 0; z-index: 1000000; padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)); background: #f5f2ec; color: #17120f; }
.cap-signature-modal-inner { width: 100%; height: 100%; display: grid; grid-template-rows: auto 1fr auto; gap: 10px; }
.cap-signature-modal header { min-height: 61px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 8px 10px; border-bottom: 1px solid #dcd6cd; }
.cap-signature-modal header > div { text-align: center; }
.cap-signature-modal header strong, .cap-signature-modal header span { display: block; }
.cap-signature-modal header strong { font-size: 14px; }
.cap-signature-modal header span { margin-top: 2px; color: #77716a; font-size: 10px; }
.cap-signature-cancel, .cap-signature-done, .cap-signature-modal .cap-signature-clear { min-height: 43px; padding: 8px 13px; border: 0; border-radius: 10px; font-weight: 850; cursor: pointer; }
.cap-signature-cancel { justify-self: start; background: #e7e3dc; color: #4f4a45; }
.cap-signature-cancel span { margin-right: 5px; font-size: 17px; }
.cap-signature-cancel b { color: inherit; }
.cap-signature-done { justify-self: end; background: var(--cap-red); color: #fff; box-shadow: 0 8px 20px rgba(227,6,19,.18); }
.cap-signature-surface { position: relative; min-height: 0; display: grid; place-items: center; overflow: hidden; border: 1px solid #ddd7ce; border-radius: 17px; background: #fff; }
.cap-signature-surface .cap-signature-pad { width: calc(100% - 24px); height: calc(100% - 24px); min-height: 260px; display: block; border: 0; background: transparent; touch-action: none; }
.cap-signature-guide { position: absolute; left: 6%; right: 6%; bottom: 23%; display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: end; pointer-events: none; }
.cap-signature-guide b { color: #aaa39b; font: 25px Georgia, serif; }
.cap-signature-guide i { height: 1px; margin-bottom: 5px; background: #bcb5ad; }
.cap-signature-modal footer { min-height: 49px; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.cap-signature-modal footer span { color: #77716a; font-size: 10px; }
.cap-signature-modal .cap-signature-clear { background: #e7e3dc; color: #4f4a45; }

.cap-detail-photo img { width: 145px; height: 98px; }
.cap-result-label { min-width: 118px; white-space: nowrap; }

@media (max-width: 820px) {
    .cap-check-layout { display: block; }
    .cap-check-guide { top: 0; z-index: 50; margin: 0 -2px 12px; padding: 9px 8px; border-radius: 13px; }
    .admin-bar .cap-check-guide { top: 46px; }
    .cap-guide-label { display: none; }
    .cap-check-guide ol { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
    .cap-check-guide ol::-webkit-scrollbar { display: none; }
    .cap-check-guide ol::before { display: none; }
    .cap-check-guide li { flex: 0 0 auto; scroll-snap-align: start; }
    .cap-check-guide a { width: 132px; grid-template-columns: 24px 1fr; gap: 6px; min-height: 39px; padding: 3px; }
    .cap-check-guide a i { width: 24px; height: 24px; }
    .cap-check-guide a span { font-size: 8px; }
    .cap-guide-section { scroll-margin-top: 100px; }
    .cap-history-grid { display: flex; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; }
    .cap-history-card { flex: 0 0 min(280px, 86vw); scroll-snap-align: start; }
    .cap-history-heading { display: block; }
    .cap-history-heading > small { display: block; margin-top: 4px; }
    .cap-rating-row { grid-template-columns: 1fr; margin-left: 0; }
    .cap-stars { width: 100%; }
    .cap-stars span { font-size: clamp(36px, 12vw, 52px); }
    .cap-na-toggle { width: 100%; }
    .cap-na-reason, .cap-question-details-toggle { margin-left: 0; }
    .cap-question[data-rating="1"], .cap-question[data-rating="2"] { margin-left: -8px; padding-left: 8px; }
    .cap-person-grid { grid-template-columns: 1fr; }
    .cap-person-grid label:first-child { grid-column: auto; }
    .cap-signature-modal { padding: max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left)); }
    .cap-signature-modal header { grid-template-columns: auto 1fr auto; padding: 5px; }
    .cap-signature-cancel { width: 43px; padding: 5px; }
    .cap-signature-cancel span { margin: 0; font-size: 20px; }
    .cap-signature-cancel b { display: none; }
    .cap-signature-surface .cap-signature-pad { width: calc(100% - 12px); height: calc(100% - 12px); }
    .cap-signature-modal footer span { display: none; }
    .cap-detail-photo img { width: 100%; height: auto; max-height: 230px; }
}

@media print {
    @page { size: A4 portrait; margin: 9mm; }
    html, body { background: #fff !important; }
    body > *:not(.wp-site-blocks), body > header, body > footer, body > nav, .wp-site-blocks > header, .wp-site-blocks > footer, header.wp-block-template-part, footer.wp-block-template-part, .site-header, .site-footer, .cap-appbar, .cap-report-toolbar { display: none !important; }
    .wp-site-blocks, main, .entry-content { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
    .cap-app { width: 100%; margin: 0; }
    .cap-report { box-shadow: none; border: 0; padding: 0; }
    .cap-report, .cap-report * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
    .cap-report-summary-page, .cap-report-details { border: 0; border-radius: 0; box-shadow: none; padding: 0; }
    .cap-report-summary-page { height: 277mm; overflow: hidden; break-after: page; page-break-after: always; }
    .cap-report-details { margin-top: 0; }
    .cap-report-cover-head { padding-bottom: 4mm; }
    .cap-report-title-row { padding: 5mm 0 4mm; }
    .cap-report-title-row h1 { font-size: 23pt; }
    .cap-report-identity-grid > div { min-height: 17mm; padding: 2.5mm 3mm; }
    .cap-score-section { margin-top: 4mm; padding: 4mm; }
    .cap-score-ring strong { font-size: 13pt; }
    .cap-report-notes { min-height: 20mm; margin-top: 4mm; padding: 3mm 4mm; }
    .cap-report-signatures { margin-top: 4mm; }
    .cap-signature-image { height: 14mm; }
    .cap-detail-head { padding-bottom: 3mm; }
    .cap-detail-head h1 { font-size: 19pt; }
    .cap-report-category { margin: 5mm 0 2mm; font-size: 13pt; break-after: avoid; }
    .cap-detail-item { margin: 1.5mm 0; padding: 2mm; }
    .cap-detail-question strong { font-size: 8.5pt; }
    .cap-detail-content p { font-size: 7.5pt; }
    .cap-detail-photo img { width: 24mm; height: 18mm; }
    .cap-report-footer { font-size: 7.5pt; }
}

/* Storecheck workflow v0.8 */
.cap-appbar-actions { display: flex; align-items: center; gap: 9px; }
.cap-theme-toggle { position: relative; width: 54px; height: 30px; display: flex; align-items: center; justify-content: space-between; padding: 4px 7px; border: 1px solid #ddd7cf; border-radius: 999px; background: #f0ede7; color: #7e7770; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.cap-theme-toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 2px 7px rgba(20,16,13,.18); transition: transform .2s ease, background .2s ease; }
.cap-theme-toggle span { position: relative; z-index: 1; font-size: 12px; line-height: 1; }
.cap-theme-toggle[data-theme="dark"] { border-color: #3a3a40; background: #242429; color: #b9b7bd; }
.cap-theme-toggle[data-theme="dark"]::after { transform: translateX(24px); background: #09090b; }
.cap-theme-toggle:focus-visible { outline: 3px solid rgba(227,6,19,.25); outline-offset: 2px; }

.cap-save-status { display: inline-flex; align-items: center; gap: 8px; margin-top: 11px; color: var(--cap-muted); font-size: 10px; font-weight: 750; }
.cap-save-status i { width: 7px; height: 7px; border-radius: 50%; background: #87828a; }
.cap-save-status.is-saving i { background: #f0a521; animation: cap-save-pulse .8s ease infinite alternate; }
.cap-save-status.is-saved i { background: var(--cap-green); }
.cap-save-status.is-error { color: #e21a28; }
.cap-save-status.is-error i { background: #e21a28; }
@keyframes cap-save-pulse { to { transform: scale(1.45); opacity: .45; } }

.cap-resume-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 18px; padding: 17px 19px; border: 1px solid rgba(227,6,19,.38); border-radius: 15px; background: #fff; color: #17120f !important; text-decoration: none !important; box-shadow: 0 10px 28px rgba(25,18,14,.06); }
.cap-resume-card span, .cap-resume-card small, .cap-resume-card strong, .cap-resume-card em { display: block; }
.cap-resume-card small { color: var(--cap-red); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cap-resume-card strong { margin-top: 3px; font-size: 15px; }
.cap-resume-card em { margin-top: 3px; color: var(--cap-muted); font-size: 10px; font-style: normal; }
.cap-resume-card > b { flex: 0 0 auto; padding: 8px 11px; border-radius: 9px; background: var(--cap-red); color: #fff !important; font-size: 10px; }
.cap-theme-dark .cap-resume-card { border-color: rgba(239,40,53,.45); background: #161619; color: #f3f1f4 !important; }

.cap-theme-dark .cap-report-summary-page, .cap-theme-dark .cap-report-details { color: #151515; }
.cap-theme-dark .cap-report h1, .cap-theme-dark .cap-report h2, .cap-theme-dark .cap-report h3, .cap-theme-dark .cap-report strong { color: inherit; }
.cap-theme-dark .cap-report .cap-score-section, .cap-theme-dark .cap-report .cap-score-section strong, .cap-theme-dark .cap-report .cap-grade-box, .cap-theme-dark .cap-report .cap-grade-box strong { color: #fff; }
.cap-theme-dark .cap-report .cap-detail-content strong, .cap-theme-dark .cap-report .cap-photo-appendix strong, .cap-theme-dark .cap-report-signatures strong, .cap-theme-dark .cap-report-identity-grid strong { color: #151515; }

.cap-question[data-rating="3"] { border-left: 3px solid #f3a924; padding-left: 15px; }
.cap-rating-state[data-rating="3"] { color: #c67b00; }
.cap-saved-photo { display: flex; align-items: center; gap: 10px; margin-top: 11px; padding: 8px 10px; border: 1px solid var(--cap-border); border-radius: 10px; color: var(--cap-muted); font-size: 10px; font-weight: 800; }
.cap-saved-photo[hidden] { display: none !important; }
.cap-saved-photo img { width: 52px; height: 42px; border-radius: 7px; object-fit: cover; }

.cap-completion-section { font-size: 14px; }
.cap-completion-section .cap-section-heading { margin-bottom: 17px; }
.cap-completion-section .cap-section-heading h2 { font-size: 20px !important; }
.cap-final-people { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cap-final-person { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 16px !important; }
.cap-final-role { display: block; margin-bottom: 1px; color: var(--cap-muted); font-size: 10px !important; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.cap-final-person label, .cap-overall-notes { display: block; margin: 0 !important; color: var(--cap-muted) !important; font-size: 10px !important; font-weight: 850 !important; letter-spacing: .025em; line-height: 1.25 !important; }
.cap-final-person input, .cap-final-person select { width: 100%; min-height: 43px !important; margin-top: 5px !important; padding: 9px 11px !important; border-radius: 10px !important; font-size: 14px !important; line-height: 1.2 !important; }
.cap-final-person .cap-signature-launch { min-height: 88px; margin-top: auto; padding: 9px 11px; }
.cap-final-person .cap-signature-preview { min-height: 39px; }
.cap-final-person .cap-signature-preview b { font-size: 20px; }
.cap-final-person .cap-signature-preview img { max-height: 46px; }
.cap-final-person .cap-signature-launch > span:last-child { font-size: 10px; }
.cap-final-person .cap-signature-status { padding: 0; border-radius: 0; background: transparent !important; color: inherit !important; font-size: 10px !important; font-style: normal; }
.cap-final-person .cap-signature-launch:disabled { opacity: .42; cursor: not-allowed; }
.cap-overall-notes { margin-top: 16px !important; }
.cap-overall-notes textarea { margin-top: 6px; font-size: 13px !important; line-height: 1.45 !important; }
.cap-theme-dark .cap-final-role, .cap-theme-dark .cap-final-person label, .cap-theme-dark .cap-overall-notes { color: #a6a4ab !important; }

.cap-photo-appendix { margin-top: 34px; padding-top: 26px; border-top: 2px solid #1d1916; }
.cap-photo-appendix-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cap-photo-appendix figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--cap-border); border-radius: 12px; background: #fff; break-inside: avoid; }
.cap-photo-appendix figure > img { display: block; width: 100%; height: 310px; object-fit: contain; background: #f2f0ec; }
.cap-photo-appendix figcaption { display: block; padding: 13px 14px 15px; }
.cap-photo-appendix figcaption span, .cap-photo-appendix figcaption strong, .cap-photo-appendix figcaption small { display: block; }
.cap-photo-appendix figcaption span { color: var(--cap-red); font-size: 9px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.cap-photo-appendix figcaption strong { margin-top: 5px; font-size: 12px; line-height: 1.35; }
.cap-photo-appendix figcaption small { margin-top: 7px; color: var(--cap-muted); font-size: 10px; line-height: 1.4; }

@media (max-width: 820px) {
    .cap-appbar-status { display: none; }
    .cap-final-people, .cap-photo-appendix-grid { grid-template-columns: 1fr; }
    .cap-question[data-rating="3"] { margin-left: -8px; padding-left: 8px; }
    .cap-photo-appendix figure > img { height: auto; max-height: 420px; }
    .cap-resume-card { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    .cap-save-status.is-saving i { animation: none; }
    .cap-theme-toggle::after { transition: none; }
}

@media print {
    .cap-photo-appendix { break-before: page; page-break-before: always; margin-top: 0; padding-top: 0; border-top: 0; }
    .cap-photo-appendix .cap-detail-head { padding-bottom: 4mm; }
    .cap-photo-appendix-grid { grid-template-columns: 1fr; gap: 6mm; }
    .cap-photo-appendix figure { border-radius: 0; }
    .cap-photo-appendix figure > img { width: 100%; height: auto; max-height: 190mm; object-fit: contain; }
    .cap-photo-appendix figcaption { padding: 3mm; }
    .cap-photo-appendix figcaption strong { font-size: 9pt; }
    .cap-photo-appendix figcaption small { font-size: 8pt; }
}

/* Landing page v3 */
body.cap-storecheck-landing { transition: background-color .22s ease; }
body.cap-storecheck-landing.cap-landing-body-dark { background: #09090b !important; }
body.cap-storecheck-landing.cap-landing-body-light { background: #f3eee6 !important; }
.cap-landing-v3 { --landing-surface: #151518; --landing-surface-soft: #1b1b1f; --landing-line: rgba(255,255,255,.1); --landing-text: #f6f4f1; --landing-muted: #97959c; min-height: 100svh; overflow: clip; transition: color .22s ease, background-color .22s ease; }
.cap-landing-v3 [id] { scroll-margin-top: 112px; }
.cap-landing-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid transparent; background: rgba(10,10,12,.73); backdrop-filter: blur(20px) saturate(145%); -webkit-backdrop-filter: blur(20px) saturate(145%); transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.cap-landing-header.is-scrolled { border-bottom-color: var(--landing-line); background: rgba(10,10,12,.91); box-shadow: 0 14px 45px rgba(0,0,0,.2); }
.admin-bar .cap-landing-header { top: 32px; }
.cap-landing-v3 .cap-landing-nav { width: min(1340px, calc(100% - 56px)); height: 84px; display: grid; grid-template-columns: auto minmax(300px, 1fr) auto; gap: 28px; margin: auto; border: 0; }
.cap-landing-v3 .cap-landing-brand { min-width: 218px; }
.cap-landing-links { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.5vw, 39px); }
.cap-landing-links a { position: relative; padding: 31px 0 29px; color: #aaa8ae !important; font-size: 11px; font-weight: 800; letter-spacing: .025em; text-decoration: none !important; transition: color .17s ease; }
.cap-landing-links a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 21px; height: 2px; border-radius: 999px; background: var(--tomato); transition: left .17s ease, right .17s ease; }
.cap-landing-links a:hover, .cap-landing-links a.is-active { color: #fff !important; }
.cap-landing-links a:hover::after, .cap-landing-links a.is-active::after { left: 0; right: 0; }
.cap-landing-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.cap-landing-theme-toggle { width: 60px; height: 38px; display: grid; grid-template-columns: 1fr 18px 1fr; align-items: center; gap: 2px; padding: 4px 7px; border: 1px solid var(--landing-line); border-radius: 12px; background: rgba(255,255,255,.04); color: #85838a; cursor: pointer; }
.cap-landing-theme-toggle span { font-size: 11px; line-height: 1; }
.cap-landing-theme-toggle i { position: relative; width: 18px; height: 18px; display: block; border-radius: 6px; background: #fff; box-shadow: 0 3px 10px rgba(0,0,0,.22); transition: transform .2s ease, background .2s ease; }
.cap-landing-theme-toggle[data-theme="light"] i { transform: translateX(-17px); background: #ffc335; }
.cap-landing-theme-toggle[data-theme="dark"] i { transform: translateX(17px); background: #27272b; }
.cap-landing-theme-toggle:focus-visible, .cap-landing-menu-toggle:focus-visible, .cap-header-login:focus-visible { outline: 3px solid rgba(227,6,19,.32); outline-offset: 2px; }
.cap-header-login { min-width: 142px; height: 48px; display: flex; align-items: center; gap: 9px; padding: 6px 11px 6px 7px; border: 1px solid rgba(255,255,255,.11); border-radius: 13px; background: rgba(255,255,255,.055); color: #fff !important; text-decoration: none !important; transition: transform .17s ease, border-color .17s ease, background .17s ease; }
.cap-header-login:hover { transform: translateY(-1px); border-color: rgba(227,6,19,.42); background: rgba(227,6,19,.08); }
.cap-header-login-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: var(--tomato); color: #fff; font-size: 15px; font-weight: 900; }
.cap-header-login > span:last-child, .cap-header-login small, .cap-header-login strong { display: block; }
.cap-header-login small { color: #77767d; font-size: 7px; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.cap-header-login strong { margin-top: 1px; color: #f4f2f4; font-size: 11px; }
.cap-landing-menu-toggle { display: none; width: 42px; height: 42px; place-content: center; gap: 5px; padding: 0; border: 1px solid var(--landing-line); border-radius: 11px; background: rgba(255,255,255,.04); cursor: pointer; }
.cap-landing-menu-toggle i { width: 17px; height: 2px; display: block; border-radius: 9px; background: #eee; transition: transform .18s ease; }
.cap-landing-menu-toggle[aria-expanded="true"] i:first-child { transform: translateY(3.5px) rotate(45deg); }
.cap-landing-menu-toggle[aria-expanded="true"] i:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.cap-landing-v3 .cap-landing-main { min-height: calc(100svh - 84px); padding-top: 72px; }
.cap-landing-process, .cap-landing-security { position: relative; z-index: 3; width: min(1240px, calc(100% - 56px)); margin: 0 auto; }
.cap-landing-process { padding: 112px 0 126px; border-top: 1px solid var(--landing-line); }
.cap-landing-section-head { display: grid; grid-template-columns: 1fr 1.35fr 1fr; gap: 44px; align-items: end; margin-bottom: 48px; }
.cap-landing-section-head > div { align-self: start; display: flex; align-items: center; gap: 15px; }
.cap-section-number { color: #56555b; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.cap-landing-v3 .cap-landing-section-head .cap-eyebrow, .cap-landing-v3 .cap-security-copy .cap-eyebrow { margin: 0; color: var(--landing-muted); font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.cap-landing-section-head h2, .cap-security-copy h2 { margin: 0; color: var(--landing-text); font-size: clamp(34px, 4vw, 58px); font-weight: 850; letter-spacing: -.052em; line-height: 1.03; }
.cap-landing-section-head > p { margin: 0; color: var(--landing-muted); font-size: 13px; line-height: 1.65; }
.cap-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cap-process-grid article { position: relative; min-height: 260px; padding: 25px; overflow: hidden; border: 1px solid var(--landing-line); border-radius: 21px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.cap-process-grid article:hover { transform: translateY(-4px); border-color: rgba(227,6,19,.33); background: linear-gradient(145deg, rgba(227,6,19,.07), rgba(255,255,255,.025)); }
.cap-process-grid article > span { position: absolute; top: 18px; right: 20px; color: #55545a; font-size: 10px; font-weight: 900; }
.cap-process-grid article > i { width: 51px; height: 51px; display: grid; place-items: center; margin-bottom: 42px; border: 1px solid rgba(227,6,19,.22); border-radius: 15px; background: rgba(227,6,19,.09); color: #ff3b47; font-size: 21px; font-style: normal; }
.cap-process-grid article h3 { margin: 0; color: var(--landing-text); font-size: 18px; letter-spacing: -.025em; }
.cap-process-grid article p { max-width: 320px; margin: 11px 0 0; color: var(--landing-muted); font-size: 12px; line-height: 1.62; }

.cap-landing-security { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(46px, 8vw, 125px); align-items: center; padding: 104px clamp(30px, 6vw, 80px); overflow: hidden; border: 1px solid var(--landing-line); border-radius: 30px; background: radial-gradient(circle at 85% 18%, rgba(227,6,19,.14), transparent 28%), #111114; box-shadow: 0 35px 90px rgba(0,0,0,.25); }
.cap-security-copy h2 { margin-top: 19px; }
.cap-security-copy > p { max-width: 590px; margin: 24px 0 0; color: var(--landing-muted); font-size: 14px; line-height: 1.72; }
.cap-security-login-card { padding: 22px; border: 1px solid rgba(255,255,255,.11); border-radius: 20px; background: rgba(255,255,255,.055); box-shadow: 0 22px 52px rgba(0,0,0,.25); backdrop-filter: blur(16px); }
.cap-security-login-card > div { display: flex; align-items: center; gap: 12px; }
.cap-security-lock { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 13px; background: var(--tomato); color: #fff; font-size: 22px; font-weight: 900; }
.cap-security-login-card small, .cap-security-login-card strong { display: block; }
.cap-security-login-card small { color: #77767c; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cap-security-login-card strong { margin-top: 2px; color: #fff; font-size: 15px; }
.cap-security-login-card p { margin: 20px 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); color: #8d8b92; font-size: 11px; line-height: 1.55; }
.cap-security-login-card > a { min-height: 49px; display: flex; align-items: center; justify-content: space-between; padding: 9px 10px 9px 15px; border-radius: 12px; background: var(--tomato); color: #fff !important; font-size: 12px; font-weight: 850; text-decoration: none !important; }
.cap-security-login-card > a i { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: rgba(255,255,255,.14); font-style: normal; }
.cap-landing-v3 .cap-landing-footerline { position: relative; min-height: 76px; margin-top: 100px; }

/* Landing light mode */
.cap-landing-theme-light { --landing-surface: #fff; --landing-surface-soft: #f4efe7; --landing-line: rgba(29,23,19,.11); --landing-text: #17120f; --landing-muted: #706861; background: radial-gradient(circle at 75% 28%, rgba(227,6,19,.1), transparent 30%), radial-gradient(circle at 12% 82%, rgba(255,195,53,.13), transparent 30%), #f3eee6; color: #17120f; }
.cap-landing-theme-light::before { opacity: .55; background-image: linear-gradient(rgba(23,18,15,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(23,18,15,.035) 1px, transparent 1px); }
.cap-landing-theme-light .cap-landing-header { background: rgba(247,243,236,.78); }
.cap-landing-theme-light .cap-landing-header.is-scrolled { background: rgba(247,243,236,.94); box-shadow: 0 14px 45px rgba(49,38,29,.08); }
.cap-landing-theme-light .cap-landing-brand { color: #17120f !important; }
.cap-landing-theme-light .cap-brand-logo-frame { border-color: rgba(23,18,15,.1); background: rgba(255,255,255,.74); }
.cap-landing-theme-light .cap-product-lockup strong { color: #17120f; }
.cap-landing-theme-light .cap-product-lockup small { color: #776f69; }
.cap-landing-theme-light .cap-landing-links a { color: #6d655f !important; }
.cap-landing-theme-light .cap-landing-links a:hover, .cap-landing-theme-light .cap-landing-links a.is-active { color: #17120f !important; }
.cap-landing-theme-light .cap-landing-theme-toggle, .cap-landing-theme-light .cap-landing-menu-toggle { background: rgba(255,255,255,.7); }
.cap-landing-theme-light .cap-landing-menu-toggle i { background: #211b17; }
.cap-landing-theme-light .cap-header-login { border-color: rgba(23,18,15,.1); background: rgba(255,255,255,.7); color: #17120f !important; }
.cap-landing-theme-light .cap-header-login strong { color: #17120f; }
.cap-landing-theme-light .cap-landing-copy h1 { color: #17120f; }
.cap-landing-theme-light .cap-landing-copy h1 em { color: var(--tomato); }
.cap-landing-theme-light .cap-landing-copy > p { color: #625a54; }
.cap-landing-theme-light .cap-access-note { color: #746b64; }
.cap-landing-theme-light .cap-landing-stats { border-top-color: rgba(23,18,15,.1); }
.cap-landing-theme-light .cap-landing-stats strong { color: #17120f; }
.cap-landing-theme-light .cap-landing-stats span { color: #756d66; }
.cap-landing-theme-light .cap-process-grid article { background: rgba(255,255,255,.62); box-shadow: 0 18px 46px rgba(42,31,24,.045); }
.cap-landing-theme-light .cap-process-grid article > span { color: #a39b94; }
.cap-landing-theme-light .cap-landing-security { background: radial-gradient(circle at 85% 18%, rgba(227,6,19,.13), transparent 30%), #fff; box-shadow: 0 35px 90px rgba(49,38,29,.1); }
.cap-landing-theme-light .cap-security-login-card { border-color: rgba(23,18,15,.1); background: #f5f0e8; box-shadow: 0 22px 52px rgba(38,27,20,.08); }
.cap-landing-theme-light .cap-security-login-card strong { color: #17120f; }
.cap-landing-theme-light .cap-security-login-card p { border-top-color: rgba(23,18,15,.09); color: #706861; }
.cap-landing-theme-light .cap-landing-footerline { border-top-color: rgba(23,18,15,.1); background: rgba(238,231,221,.82); color: #8a817a; }

@media (max-width: 1040px) {
    .cap-landing-v3 .cap-landing-nav { grid-template-columns: auto 1fr auto; gap: 17px; }
    .cap-landing-v3 .cap-landing-brand { min-width: 175px; }
    .cap-landing-links { gap: 18px; }
    .cap-header-login { min-width: 48px; width: 48px; padding: 6px; }
    .cap-header-login > span:last-child { display: none; }
    .cap-landing-section-head { grid-template-columns: .7fr 1.3fr 1fr; gap: 28px; }
}

@media (max-width: 800px) {
    .admin-bar .cap-landing-header { top: 46px; }
    .cap-landing-v3 [id] { scroll-margin-top: 88px; }
    .cap-landing-v3 .cap-landing-nav { position: relative; width: calc(100% - 24px); height: 70px; grid-template-columns: 1fr auto; gap: 12px; }
    .cap-landing-v3 .cap-landing-brand { min-width: 0; }
    .cap-landing-header-actions { gap: 6px; }
    .cap-landing-theme-toggle { width: 54px; height: 38px; }
    .cap-header-login { width: 42px; min-width: 42px; height: 42px; padding: 4px; border-radius: 11px; }
    .cap-header-login-icon { width: 32px; height: 32px; }
    .cap-landing-menu-toggle { display: grid; }
    .cap-landing-links { position: absolute; top: 62px; left: 0; right: 0; z-index: 5; display: none; align-items: stretch; flex-direction: column; gap: 3px; padding: 9px; border: 1px solid var(--landing-line); border-radius: 15px; background: rgba(15,15,18,.97); box-shadow: 0 20px 50px rgba(0,0,0,.32); }
    .cap-landing-links.is-open { display: flex; }
    .cap-landing-links a { padding: 12px 13px; border-radius: 9px; }
    .cap-landing-links a::after { display: none; }
    .cap-landing-links a:hover { background: rgba(255,255,255,.06); }
    .cap-landing-theme-light .cap-landing-links { background: rgba(250,247,241,.98); box-shadow: 0 20px 50px rgba(50,39,31,.15); }
    .cap-landing-theme-light .cap-landing-links a:hover { background: rgba(23,18,15,.05); }
    .cap-landing-v3 .cap-landing-main { min-height: auto; padding-top: 48px; }
    .cap-landing-process, .cap-landing-security { width: calc(100% - 30px); }
    .cap-landing-process { padding: 82px 0 88px; }
    .cap-landing-section-head { display: block; margin-bottom: 30px; }
    .cap-landing-section-head > div { margin-bottom: 18px; }
    .cap-landing-section-head h2, .cap-security-copy h2 { font-size: clamp(33px, 10vw, 48px); }
    .cap-landing-section-head > p { margin-top: 18px; }
    .cap-process-grid { grid-template-columns: 1fr; }
    .cap-process-grid article { min-height: 220px; }
    .cap-landing-security { grid-template-columns: 1fr; gap: 38px; padding: 52px 20px 20px; border-radius: 23px; }
    .cap-landing-v3 .cap-landing-footerline { min-height: 64px; margin-top: 70px; }
}

@media (max-width: 430px) {
    .cap-landing-v3 .cap-product-lockup { display: none; }
    .cap-landing-v3 .cap-brand-logo-frame { width: 47px; }
}
