/* Shared review shell. Page-specific design and interaction islands retain their styles. */
:root{--rise-ink:#0b0b0b;--rise-paper:#fff;--rise-line:#d4d4d0;--rise-orange:var(--rise-accent)}
html{scroll-padding-top:100px}
body[data-review-page]:not([data-review-page="homepage"]){padding-top:84px}
body[data-review-page] main :is(h1,h2,h3,p){overflow-wrap:anywhere}
body[data-review-page="public-furniture"] .hero-heading,body[data-review-page="public-furniture"] .hero-art,body[data-review-page="public-furniture"] .hero-intro{min-width:0;max-width:100%}
.rise-header,.rise-footer,#rise-menu{font-family:Inter,Arial,sans-serif;font-weight:400;box-sizing:border-box;letter-spacing:normal}
.rise-header *,.rise-footer *,#rise-menu *{box-sizing:border-box}
.rise-header{position:fixed;z-index:60;inset:0 0 auto;height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(20px,5vw,72px);background:#fff;color:#0b0b0b;border-bottom:1px solid #d4d4d0}
.rise-brand{display:block;flex:none;width:152px;line-height:0}
.rise-brand img{display:block;width:152px;height:30px;object-fit:contain}
.rise-header .rise-brand-light{display:none}
.rise-header.rise-home:not(.rise-scrolled){background:transparent;border-color:rgba(255,255,255,.25);color:white}
.rise-header.rise-home:not(.rise-scrolled) .rise-brand-light{display:block}
.rise-header.rise-home:not(.rise-scrolled) .rise-brand-dark{display:none}
.rise-nav{display:flex;align-items:center;gap:clamp(18px,2vw,32px)}
.rise-nav a,.rise-header-actions a,.rise-menu-toggle{font:500 12px/1.4 Inter,Arial,sans-serif;letter-spacing:.015em;text-decoration:none;color:inherit}
.rise-nav a{display:flex;align-items:center;min-height:44px;border-bottom:2px solid transparent}
.rise-nav a[aria-current=page]{border-color:var(--rise-accent)}
.rise-header-actions{display:flex;align-items:center;gap:14px}
.rise-header .rise-enquire{display:flex;align-items:center;justify-content:center;gap:18px;background:#0b0b0b;color:#fff;padding:14px 19px;min-height:44px;border:1px solid #0b0b0b}
.rise-header.rise-home:not(.rise-scrolled) .rise-enquire{background:white;color:#0b0b0b;border-color:white}
.rise-menu-toggle{display:none;background:transparent;border:0;min-height:44px;padding:8px 2px;align-items:center;gap:10px;cursor:pointer}
.rise-icon{width:20px;height:20px;display:inline-block;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rise-header a:focus-visible,.rise-header button:focus-visible,.rise-footer a:focus-visible,#rise-menu a:focus-visible,#rise-menu button:focus-visible{outline:2px solid #0b0b0b;outline-offset:2px;box-shadow:0 0 0 4px #fff}
body.rise-menu-open{overflow:hidden}
dialog#rise-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:28px;background:white;color:#0b0b0b;border:0;overflow:auto}
dialog#rise-menu::backdrop{background:rgba(0,0,0,.5)}
dialog#rise-menu:not([open]){display:none}
#rise-menu .rise-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:40px}
#rise-menu h2{font:500 13px/1.5 Inter,Arial,sans-serif;margin:0}
#rise-menu button{display:flex;align-items:center;gap:10px;font:500 13px Inter,Arial,sans-serif;padding:10px 0 10px 10px;background:transparent;color:#0b0b0b;border:0;min-height:44px;cursor:pointer}
#rise-menu nav{display:flex;flex-direction:column;gap:0;margin-bottom:32px}
#rise-menu nav a{display:flex;justify-content:space-between;align-items:center;padding:19px 0;min-height:56px;font:400 21px/1.4 Inter,Arial,sans-serif;text-decoration:none;color:#0b0b0b;border-bottom:1px solid #d4d4d0}
#rise-menu nav a[aria-current=page]{color:var(--rise-accent);text-decoration:underline;text-underline-offset:6px}
#rise-menu .rise-enquire{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#0b0b0b;color:white;text-decoration:none;font-size:15px}
.rise-footer{display:block!important;background:#0b0b0b;color:#fff;width:100%;max-width:none;margin:0;padding:64px clamp(20px,5vw,72px) 24px;text-align:left}
.rise-footer a{color:#fff;text-decoration:none;font:400 14px/1.6 Inter,Arial,sans-serif}
.rise-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.rise-footer .rise-footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 40px;border-bottom:1px solid #4a4a4a}
.rise-footer .rise-footer-top p{font:400 14px/1.5 Inter,Arial,sans-serif;margin:0}
.rise-footer .rise-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding:40px 0}
.rise-footer h2{font:500 12px/1.5 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#9aa0a6;margin:0 0 18px}
.rise-footer nav,.rise-footer .rise-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.rise-footer nav a,.rise-footer .rise-contact-links a{min-height:32px;padding:4px 0}
.rise-footer .rise-footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #4a4a4a;padding-top:24px;font:400 12px/1.5 Inter,Arial,sans-serif;color:#9aa0a6}
.rise-footer .rise-footer-bottom p{margin:0;color:inherit;font:inherit}
.rise-footer .rise-footer-bottom a{font-size:12px;color:#9aa0a6}
.rise-item-enquiry,.rise-comparison-enquiry{display:inline-flex;align-items:center;gap:12px;font:500 14px/1.5 Inter,Arial,sans-serif;color:var(--rise-accent);text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:12px 0}
.rise-comparison-enquiry{color:inherit;margin:0 18px 0 0}
.rise-notes{max-width:1100px;margin:auto;padding:150px 24px 80px;color:#0b0b0b;font:400 17px/1.7 Inter,Arial,sans-serif}
.rise-notes h1{font:400 clamp(28px,4vw,48px)/1.4 Michroma,Arial,sans-serif;margin:0 0 28px}
.rise-notes h2{font:500 24px/1.4 Inter,Arial,sans-serif;margin:0 0 12px}
.rise-notes p{max-width:760px;margin:0 0 18px}
.rise-notes section{padding:32px 0;border-top:1px solid #d4d4d0;scroll-margin-top:100px}
.rise-notes a{color:var(--rise-accent);text-decoration:underline;text-underline-offset:4px}
.rise-noscript-nav{display:none}
@media(max-width:1100px){body[data-review-page]:not([data-review-page="homepage"]){padding-top:76px}.rise-nav{display:none}.rise-menu-toggle{display:flex}.rise-header{height:76px}.rise-header .rise-enquire{padding:12px 16px}.rise-header{padding-inline:5vw;gap:14px}}
@media(max-width:650px){.rise-footer{padding-top:40px}.rise-footer .rise-footer-top{align-items:flex-start;flex-wrap:wrap;gap:22px}.rise-footer .rise-footer-top p{flex-basis:calc(100% - 176px)}.rise-footer .rise-footer-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.rise-footer .rise-contact{grid-column:1/-1}.rise-footer .rise-footer-bottom{flex-direction:column;gap:10px}.rise-brand,.rise-brand img{width:125px;height:auto}.rise-header-actions{gap:10px}.rise-header .rise-enquire{gap:10px}.rise-notes{padding-top:112px}}
@media(max-width:360px){.rise-header .rise-brand,.rise-header .rise-brand img{width:104px}.rise-header .rise-enquire{padding:11px 12px;gap:7px}.rise-header{gap:8px}.rise-header-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

.rise-footer a:focus-visible,.rise-header.rise-home:not(.rise-scrolled) a:focus-visible,.rise-header.rise-home:not(.rise-scrolled) button:focus-visible{outline-color:#fff;box-shadow:0 0 0 4px #111315}

/* The diagram keeps a clear frame and a source-supported display size. */
body[data-review-page="homepage"] .diagram{max-width:600px;justify-self:center;width:100%}
body[data-review-page="homepage"] .diagram-stage{isolation:isolate}
body[data-review-page="homepage"] .diagram-stage .diagram-master,
body[data-review-page="homepage"] .diagram-stage .diagram-focus{inset:2%;width:96%;height:96%;max-height:none}
body[data-review-page="homepage"] .diagram-stage .diagram-master{object-fit:contain;mix-blend-mode:lighten}
body[data-review-page="homepage"] .diagram-stage{background:#0b0b0b}

/* Complete renders preserve one camera, scale and contact lighting. */
body[data-review-page="homepage"] .diagram-focus{z-index:2}
.support-study .rise-realistic-paving{width:100%;max-width:768px;height:auto;aspect-ratio:auto;object-fit:contain;margin-inline:auto;display:block}
.detail-plate .rise-realistic-paving{width:100%;max-width:768px;height:auto;aspect-ratio:auto;object-fit:contain;margin-inline:auto;display:block}
.system-index .rise-system-thumb{display:flex;align-items:center;justify-content:center;background:#fff;width:100%;height:160px;margin:0}
.system-index .rise-system-thumb img{display:block;width:100%;height:100%;object-fit:contain;max-width:180px;max-height:148px}
.system-index .rise-thumb-pedestals img{max-height:130px}
@media(max-width:760px){.system-index>a{grid-template-columns:64px 1fr!important}.system-index .rise-system-thumb{width:60px;height:64px}.system-index .rise-system-thumb img{max-width:60px;max-height:58px}.system-index .rise-thumb-pedestals img{max-height:52px}}

/* Restore the original porcelain tile-stack category illustration. */
.system-index>a[href="#porcelain"] .index-icon{background-color:#fff}
@media(max-width:760px){.system-index>a[href="#porcelain"] .index-icon{width:60px;height:64px;justify-self:start}}

/* Whole-page audit corrections: keyboard bypass, hit targets and text reflow. */
body[data-review-page="homepage"] .hero-scroll{z-index:2}
.rise-contact-links,.rise-contact-links>a{min-width:0;overflow-wrap:anywhere}
body[data-review-page="homepage"] .diagram-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-review-page="homepage"] .diagram-controls button{min-width:0;overflow-wrap:anywhere}
body[data-review-page="enquiry"] .stage-options{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-review-page="enquiry"] .stage-option,body[data-review-page="enquiry"] .stage-card{min-width:0;overflow-wrap:anywhere}
@media(max-width:360px){body[data-review-page="homepage"] .diagram-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){body[data-review-page="enquiry"] .stage-options{grid-template-columns:minmax(0,1fr)}}
.rise-skip-link{position:fixed;left:16px;top:8px;transform:translateY(-160%);z-index:1000;background:#fff;color:#161616;padding:12px 16px}
.rise-skip-link:focus{transform:none}

/* Reveal controls only after their own enhancement has installed handlers. */
body[data-review-page="homepage"]:not(.rise-diagram-ready) .diagram-controls,
body[data-review-page="homepage"]:not(.rise-diagram-ready) .diagram-status,
body[data-review-page="homepage"]:not(.rise-diagram-ready) .diagram-enquire,
html:not(.enhanced) body[data-review-page="enquiry"] #all-systems,
html:not(.enhanced) body[data-review-page="enquiry"] #unsure-system{display:none!important}
