/* Additional approved geometry. No properties here are directly editable. */
.extra-stage{min-width:0;min-height:0;position:relative;display:flex;flex-direction:column;gap:12px}
.extra-stage .mini-caption{font:700 11px/1.35 Inter,Arial,sans-serif;letter-spacing:.105em;text-transform:uppercase}
.extra-stage .extra-note{margin:0;padding:5px 8px 0;color:#535b60;max-height:58px;overflow:hidden;line-height:1.5}
.extra-stage .logo-art{display:block;max-width:78%;max-height:75%;height:auto;width:auto;object-fit:contain}
.extra-stage .media-slot{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--brand-mist);cursor:pointer}
.extra-stage .media-slot img{display:block;width:100%;height:100%;object-fit:cover}
.extra-stage .media-slot:focus-visible{outline:3px solid #202020;outline-offset:-4px}
.extra-stage .media-missing{display:flex;justify-content:center;align-items:center;min-height:130px;height:100%;font:500 14px/1.4 Inter,sans-serif;border:2px dashed #82928f;color:#293731;padding:15px;text-align:center}
.extra-stage .mark-stage{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;min-width:0;min-height:0}
.extra-stage .mark-stage>.mini-caption{position:absolute;top:20px;left:23px;font-size:10px;color:inherit}
.extra-stage .mark-stage .logo-art{height:auto;max-width:60%;max-height:52%}
.symbol-grid,.identity-matrix{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;flex:1;min-height:0}
.variant-hero .symbol-grid{grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:1fr 1fr}
.variant-hero .symbol-grid .mark-stage:first-child{grid-row:span 2}
.variant-hero .symbol-grid .mark-stage:last-child{grid-column:span 2}
.variant-feature .identity-matrix{grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:1fr 1fr}
.variant-feature .identity-matrix .mark-stage:first-child{grid-row:span 2}
.variant-feature .identity-matrix .mark-stage:last-child{grid-column:span 2}
.identity-matrix{flex:1}
.identity-matrix+.extra-note,.pairing-grid+.extra-note,.image-mosaic+.extra-note,.pattern-comps+.extra-note,.signage-comps+.extra-note{height:48px;flex:0 0 48px}
.clearspace-wrap{background:#eef0ef;height:100%;display:flex;flex-direction:column;padding:44px 42px 28px;gap:23px;min-height:0}
.clearspace-diagram{border:1px dashed #8a9693;flex:1;min-height:0;display:grid;place-items:center;position:relative;background:#f5f6f3}
.clearspace-measured{display:flex;align-items:center;justify-content:center;width:66%;height:36%;border:2px solid #4f625b;outline:2px dashed #96a7a0;outline-offset:calc(68px * var(--safe));position:relative}
.clearspace-measured:before{content:'x';position:absolute;top:-27px;left:0;font:600 14px Inter;color:#495e56}
.clearspace-measured .logo-art{max-height:83%;max-width:75%}
.measure-horizontal{position:absolute;left:16px;bottom:20px;font:12px Inter,sans-serif;color:#51615d}
.clearspace-foot{display:grid;grid-template-columns:1fr 210px;gap:24px;align-items:center;min-height:110px}
.clearspace-foot .extra-note{margin:12px 0 0;padding:0;max-height:90px}
.small-lockup{display:flex;align-items:center;justify-content:center;min-height:76px;border:1px solid #bdc8c2;background:white}
.small-lockup img{max-width:70%;max-height:65px}
.variant-minimum .clearspace-diagram{background:var(--brand-paper)}
.variant-minimum .clearspace-measured{height:23%;width:45%;outline-offset:calc(44px * var(--safe))}
.pairing-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;flex:1;min-height:0}
.pair-swatch{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:0}
.pair-swatch .mini-caption{position:absolute;top:18px;left:20px}
.pair-swatch .logo-art{max-width:90px;max-height:90px}
.pair-caption{font:11px/1.4 Inter,sans-serif;position:absolute;bottom:17px;left:20px}
.variant-strips .pairing-grid{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr}
.type-context{background:var(--brand-paper);height:100%;display:flex;flex-direction:column;padding:44px 52px 38px;justify-content:space-between;color:var(--brand-ink);min-height:0}
.type-context-top{display:flex;flex-direction:column;gap:22px;min-height:0}
.type-context h3{font-weight:400;max-width:550px;margin:10px 0 0;line-height:1.08}
.type-context h4{font-weight:700;margin:0;max-width:570px}
.type-context p{margin:0;max-width:495px;line-height:1.65}
.type-context-bottom{border-top:1px solid #b5bcb5;display:flex;align-items:center;justify-content:space-between;padding-top:19px;height:65px;min-height:65px}
.type-context-bottom .logo-art{height:35px;max-width:65px}
.variant-poster .type-context{background:var(--brand-ink);color:var(--brand-paper)}
.variant-poster .type-context-bottom{border-color:#ffffff5c}
.variant-poster .type-context-bottom .logo-art{filter:brightness(0) invert(1)}
.image-mosaic{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:0;flex:1}
.image-mosaic .media-slot:first-child{grid-row:span 2}
.image-mosaic .media-slot:last-child{grid-column:span 2}
.variant-feature .image-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1.5fr 1fr}
.variant-feature .image-mosaic .media-slot:first-child{grid-column:span 4;grid-row:auto}
.variant-feature .image-mosaic .media-slot:last-child{grid-column:auto}
.pattern-comps{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:0;flex:1}
.pattern-hero{grid-row:span 2;min-height:0}
.pattern-hero>.media-slot{width:100%;height:100%}
.pattern-card{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.pattern-card>.logo-art{max-width:75px;max-height:65px}
.pattern-card>.mini-caption{position:absolute;bottom:16px;left:20px}
.pattern-card>.media-slot{height:100%;width:100%}
.variant-feature .pattern-comps{grid-template-columns:1fr 1fr;grid-template-rows:1.5fr 1fr}
.variant-feature .pattern-hero{grid-column:span 2;grid-row:auto}
.layout-guides{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;flex:1;min-height:0}
.layout-spec{display:flex;flex-direction:column;gap:22px;background:#e4e8e6;padding:30px 27px;min-width:0;min-height:0}
.grid-visual{display:grid;grid-template-columns:.78fr 1.3fr;gap:10px;flex:1;min-height:0;border:1px solid #8d9993;padding:12px}
.grid-column{background:#c9d2cc;display:flex;flex-direction:column;padding:18px 12px;gap:12px}
.grid-column.tall{padding:0}
.grid-textline{height:11px;background:#83988c;width:100%}
.grid-textline.short{width:66%}
.grid-column>.media-slot{height:100%}
.guide-dimension{font:12px/1.35 Inter;color:#3e554a}
.layout-spec.second{background:var(--brand-paper)}
.visual-stack{display:flex;flex-direction:column;gap:24px;justify-content:center;flex:1}
.visual-block{background:var(--brand-ink);color:var(--brand-paper);height:130px;display:grid;place-items:center}
.visual-copy{display:flex;flex-direction:column;gap:12px}
.visual-copy i{display:block;background:#bdc7bf;width:90%;height:8px}.visual-copy i:nth-child(2){width:66%}.visual-copy i:nth-child(3){width:75%}
.variant-examples .layout-guides{grid-template-columns:1fr 1fr}
.stationery-comps{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:20px;padding:36px;flex:1;min-height:0;background:#e6e8e7;position:relative}
.stationery-back,.stationery-front{box-shadow:0 18px 24px #0002;display:flex;position:relative;overflow:hidden}
.stationery-back{align-items:flex-start;padding:24px}
.stationery-back>.logo-art{max-width:55%;max-height:35%}
.stationery-front{padding:23px;flex-direction:column;justify-content:space-between;color:var(--brand-ink)}
.stationery-logo>.logo-art{max-height:35px;max-width:65px}
.stationery-details{display:flex;flex-direction:column;gap:6px;min-height:0}
.stationery-details strong{font-size:22px!important;line-height:1.17!important}
.letterhead{grid-column:span 2;box-shadow:0 8px 30px #0002;padding:30px;display:flex;flex-direction:column;gap:13px;color:var(--brand-ink)}
.letterhead-top{height:41px;display:flex;justify-content:end}.letterhead-top>.logo-art{max-height:36px;max-width:190px}
.letterhead>i{width:68%;height:6px;background:#c6d0c9}.letterhead>i.short{width:40%}
.letterhead-footer{margin-top:auto;font:10px Inter,sans-serif;letter-spacing:.06em}
.variant-letter .stationery-comps{grid-template-columns:1fr 1.3fr}.variant-letter .letterhead{grid-column:2;grid-row:span 2}
.social-comps{display:grid;grid-template-columns:1fr 1.14fr;gap:14px;min-height:0;flex:1;padding:28px;background:#e7e9e8}
.social-post{display:flex;flex-direction:column;min-height:0;box-shadow:0 12px 24px #0002}
.social-post>.media-slot{height:56%;min-height:0}
.social-post-copy{padding:22px;color:var(--brand-ink);flex:1;display:flex;flex-direction:column;gap:12px;position:relative}
.social-post-copy h3{margin:0;line-height:1.15;font-size:30px!important}
.social-post-copy>.logo-art{position:absolute;bottom:16px;right:15px;max-height:37px;max-width:46px}
.social-banner{display:flex;flex-direction:column;box-shadow:0 12px 24px #0002;min-height:0}
.social-banner>.media-slot{height:73%}
.social-banner-copy{padding:20px;color:var(--brand-paper);display:flex;flex-direction:column;gap:12px;flex:1;justify-content:space-between}
.social-banner-copy>.logo-art{max-height:34px;max-width:145px}
.variant-campaign .social-comps{grid-template-columns:1fr 1fr}
.digital-comps{background:#e4e7e6;display:flex;align-items:center;gap:18px;padding:38px 30px;flex:1;min-height:0}
.browser-mock{flex:1;height:88%;min-width:0;background:white;box-shadow:0 16px 35px #0002;overflow:hidden}
.browser-chrome{height:31px;background:#202728;display:flex;align-items:center;gap:6px;padding:0 13px;color:white}.browser-chrome i{display:block;border-radius:50%;width:7px;height:7px;background:#6a7777}.browser-chrome span{font:9px Inter;letter-spacing:.07em;margin-left:15px}
.browser-site{height:calc(100% - 31px);display:flex;flex-direction:column}
.site-header{height:67px;display:flex;align-items:center;justify-content:space-between;padding:12px 23px;color:var(--brand-ink);font:9px Inter}
.site-header>.logo-art{max-height:35px;max-width:150px}
.site-hero{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;padding:38px 28px 22px;justify-content:end;gap:15px}
.site-hero>.media-slot{position:absolute;inset:0;z-index:0}.site-hero>.media-slot:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#12251a9e)}
.site-hero>h3,.site-cta{position:relative;z-index:1;color:#fff;margin:0}.site-hero h3{font-size:31px!important;line-height:1.1}
.site-cta{font:700 10px Inter;border-bottom:1px solid white;align-self:flex-start;padding-bottom:5px}
.phone-mock{height:73%;width:168px;flex:0 0 168px;border:7px solid #27302f;border-radius:24px;background:var(--brand-paper);box-shadow:0 18px 28px #0002;display:flex;flex-direction:column;overflow:hidden;position:relative}
.phone-notch{height:16px;flex:0 0 16px;background:#27302f;width:68px;align-self:center;border-radius:0 0 12px 12px}
.phone-mock>.media-slot{flex:1}
.phone-info{height:85px;padding:13px;display:flex;flex-direction:column;justify-content:space-around;color:var(--brand-ink)}
.phone-info>.logo-art{max-width:38px;max-height:37px}
.variant-landing .phone-mock{display:none}.variant-landing .browser-mock{height:92%}
.signage-comps{display:grid;grid-template-columns:1.4fr .7fr;gap:25px;flex:1;min-height:0;background:#dce1de;padding:34px 34px 20px}
.signage-facade{position:relative;background:#aab8b5;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sign-architecture{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#c3cfca 0 29px,#a2b1aa 30px 31px);opacity:.6}
.sign-board{width:82%;height:160px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:8px 14px 12px #0002}
.sign-board>.logo-art{max-width:68%;max-height:70%}
.signage-facade>.mini-caption{position:absolute;bottom:18px;left:20px;color:#23352e}
.signage-post{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.signage-panel{height:300px;width:145px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:35px 14px 20px;box-shadow:9px 10px 13px #0002;color:var(--brand-ink)}
.signage-panel>.logo-art{max-width:65%;max-height:90px}
.signage-pole{height:100px;width:20px;background:#6d7773}
.variant-wayfinding .signage-comps{grid-template-columns:1fr 1fr}
.handover-comps{display:grid;grid-template-columns:1fr 1.1fr;min-height:0;flex:1;gap:0}
.handover-title{padding:34px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.handover-title>.logo-art{max-height:60px;max-width:210px}
.handover-title>h3{white-space:pre-line;font-weight:400;line-height:1.07;max-width:260px;margin:0 0 34px}
.handover-list{padding:42px 38px;display:flex;flex-direction:column;background:#e7ecea;color:var(--brand-ink);min-height:0}
.handover-list>.mini-caption{margin-bottom:26px}
.deliverable-row{display:grid;grid-template-columns:45px 1fr;gap:13px;padding:17px 0;border-top:1px solid #b4c2ba;min-height:0}
.deliverable-row strong{font:700 12px Inter}
.deliverable-row>div{display:flex;flex-direction:column;gap:5px}
.deliverable-row b{font:650 15px Inter}
.deliverable-row small{font:11px/1.5 Inter}
.handover-list .extra-note{margin-top:auto;padding:12px 0 0;max-height:65px;color:#3b4c43}
.variant-summary .handover-comps{grid-template-columns:1.1fr 1fr}

/* V8.10: distinct optional section masters. Geometry is locked. */
.purpose-master{background:var(--brand-paper);height:100%;padding:44px 48px;display:flex;flex-direction:column;justify-content:space-between;color:var(--brand-ink)}
.purpose-line h3{font-weight:400;max-width:690px;margin:0 0 34px;white-space:pre-wrap}
.purpose-line p{max-width:560px;margin:0}
.purpose-bottom{border-top:1px solid currentColor;display:grid;grid-template-columns:80px 1fr;gap:35px;padding-top:28px;align-items:center}
.purpose-bottom p{margin:0;max-width:540px}.purpose-accent{height:70px;background:var(--brand-ochre)}
.variant-principles .purpose-master{background:var(--brand-ink);color:var(--brand-paper)}
.voice-master{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.voice-feature{background:var(--brand-ink);color:var(--brand-paper);padding:40px;display:flex;flex-direction:column;justify-content:space-between}
.voice-feature h3{margin:0;font-weight:400;white-space:pre-wrap}
.voice-detail{background:var(--brand-mist);color:var(--brand-ink);padding:38px;display:flex;flex-direction:column;gap:28px}
.voice-detail h4,.voice-detail p{margin:0}.voice-detail p{max-width:410px}
.voice-rule{border-top:1px solid currentColor;margin-top:auto;padding-top:18px;font-size:12px}
.variant-statement .voice-master{grid-template-columns:1.5fr 1fr}

/* V8.12: misuse checklist. Never distorts the supplied logo as a negative example. */
.usage-guide{height:100%;min-height:0;display:grid;grid-template-rows:42% 1fr;gap:14px}
.usage-mark{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;border:1px solid #cfd5d1}
.usage-mark>.mini-caption{position:absolute;top:16px;left:20px}
.usage-mark>.logo-art{max-width:65%;max-height:44%;object-fit:contain}
.usage-rule-grid{display:grid;grid-template-columns:1fr 1fr;min-height:0;gap:14px}
.usage-rule-set{padding:22px 23px 14px;min-width:0;background:#e7ece7;color:#243e38;display:flex;flex-direction:column;gap:10px}
.usage-rule-set:nth-child(2){background:#f1e5e2;color:#563e39}
.usage-status{font:750 12px/1.2 Inter,Arial,sans-serif;letter-spacing:.12em}
.usage-rule{display:grid;grid-template-columns:27px 1fr;border-top:1px solid currentColor;gap:13px;padding-top:9px;align-items:start}
.usage-rule>span{font:700 11px/1.3 Inter,Arial,sans-serif}
.usage-rule>p{margin:0;max-height:57px;overflow:hidden;font-size:14px!important;line-height:1.35!important}
.variant-focus .usage-guide{grid-template-rows:53% 1fr}
.variant-focus .usage-rule-set{padding-top:15px;gap:6px}
.variant-focus .usage-rule{padding-top:6px}

/* 8.15.1 layout repair — real imagery must not force implicit grid tracks outside the artboard. */
.image-mosaic{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr)}
.image-mosaic .media-slot:first-child{grid-column:1;grid-row:1/span 2}
.image-mosaic .media-slot:nth-child(2){grid-column:2;grid-row:1}
.image-mosaic .media-slot:nth-child(3){grid-column:3;grid-row:1}
.image-mosaic .media-slot:nth-child(4){grid-column:2;grid-row:2}
.image-mosaic .media-slot:last-child{grid-column:3;grid-row:2}
.variant-feature .image-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1.5fr) minmax(0,1fr)}
.variant-feature .image-mosaic .media-slot:first-child{grid-column:1/span 4;grid-row:1}
.variant-feature .image-mosaic .media-slot:nth-child(2){grid-column:1;grid-row:2}
.variant-feature .image-mosaic .media-slot:nth-child(3){grid-column:2;grid-row:2}
.variant-feature .image-mosaic .media-slot:nth-child(4){grid-column:3;grid-row:2}
.variant-feature .image-mosaic .media-slot:last-child{grid-column:4;grid-row:2}
