.room-page .room-hero{max-width:1280px;margin:auto;padding:150px 36px 48px;display:flex;gap:48px;align-items:center}
.room-page .room-hero>div{flex:1;min-width:0}.room-page .room-hero>img{width:32%;max-height:390px;object-fit:contain}
.room-page h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.1;margin:12px 0 24px}.room-page h2{font-size:clamp(1.65rem,2.7vw,2.7rem);line-height:1.2;overflow-wrap:anywhere}.room-page h3{font-size:1.35rem;line-height:1.3}
.room-page p,.room-page li{font-size:1.05rem;line-height:1.75}.room-page p{max-width:75ch}.room-page ul,.room-page ol{padding-left:1.4rem}.room-page li+li{margin-top:10px}
.room-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;max-width:1280px;padding:0 36px 64px;margin:auto;align-items:start}
.room-toc{position:sticky;top:125px;max-height:calc(100dvh - 145px);overflow:auto;font-size:15px}.room-toc summary{font-weight:700;cursor:pointer;padding:12px 0}.room-toc nav{display:grid;gap:2px}.room-toc a{display:block;padding:8px 10px;border-left:2px solid transparent;text-decoration:none;line-height:1.35;color:inherit}.room-toc a[aria-current="location"]{border-color:currentColor;font-weight:bold;background:var(--paper-2)}
.room-section{scroll-margin-top:120px;padding:28px 0 44px;border-bottom:1px dashed var(--line);min-width:0}.room-section>h2{margin:0 0 24px}.room-section .container{width:100%;padding:0;max-width:100%}.room-section .section-head{margin:0}.room-section .section-head h2{display:none}
.room-content{min-width:0}.room-content .textile,.home-contact .textile,.home-faq .textile{max-width:100%;width:300px;flex:0 1 300px;min-width:0}.room-content .actions,.home-contact .actions{display:flex;gap:12px;flex-wrap:wrap}.room-content .textile-label{white-space:normal;text-align:center}
.room-image{max-width:100%;max-height:520px;object-fit:contain;display:block;margin:20px auto}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.room-portrait{height:240px;display:grid;place-items:center}.room-portrait img{max-width:100%;max-height:100%;object-fit:contain}.room-team p{font-size:1rem}.room-team h3{margin-top:20px}.room-page figure{margin:24px 0}.room-page figcaption{text-align:center;font-style:italic}
.room-status{font-size:.95rem!important;padding:14px 18px;border-left:3px solid var(--line);background:var(--paper-2);color:var(--ink)}
.room-faq{border-bottom:1px dashed var(--line);padding:12px 0}.room-faq h3{margin:0}.room-faq button{font:inherit;font-size:1.15rem;font-weight:700;color:inherit;background:transparent;border:0;border-radius:0;padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left;cursor:pointer}.room-faq [hidden]{display:none}.room-faq a{color:inherit;text-underline-offset:4px}.room-faq button:focus-visible,.room-toc a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.home-contact,.home-faq{display:block;min-height:0;padding-block:54px;max-width:1100px;margin-inline:auto}.home-contact p,.home-faq p{max-width:75ch}.room-footer-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.room-socials{display:flex;flex-wrap:wrap;gap:20px;padding:18px 0}.room-socials a{color:inherit}.house-map a[aria-current="page"]{outline:2px solid currentColor;outline-offset:-5px}.room-page audio{width:100%;margin:16px 0}.room-books{columns:2;column-gap:36px}.room-books li{break-inside:avoid;padding:10px 0}.room-page .news-covers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.room-page .news-covers img{max-width:100%;height:230px;object-fit:contain}.room-page .docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-theme="night"] .room-page h1,html[data-theme="night"] .room-page h2,html[data-theme="night"] .room-page h3,html[data-theme="night"] .room-page .room-section{color:var(--ink)}
.room-page input[type="search"]{display:block;max-width:100%;width:100%;padding:14px 16px;margin:12px 0;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font:inherit}
@media(max-width:900px){.room-layout{grid-template-columns:180px minmax(0,1fr);gap:24px;padding-inline:22px}.room-grid{grid-template-columns:1fr}.room-team article{display:grid;grid-template-columns:130px 1fr;gap:0 20px}.room-portrait{grid-row:span 2;height:180px}.room-page .split-card,.room-page .two-col{grid-template-columns:1fr}.room-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.room-page .room-hero{padding:120px 20px 24px;display:block}.room-page .room-hero>img{width:100%;max-height:250px}.room-layout{display:block;padding-inline:20px}.room-toc{position:relative;top:0;max-height:none;margin-bottom:24px;border-block:1px dashed var(--line)}.room-section{scroll-margin-top:115px;padding:24px 0}.room-page .docs-grid{grid-template-columns:1fr}.room-page .news-covers{grid-template-columns:repeat(2,minmax(0,1fr))}.room-books{columns:1}.room-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.home-contact,.home-faq{padding:36px 20px}.room-content .actions{justify-content:center}}
.room-page .room-hero{padding-top:100px;min-height:520px;align-items:center}.room-page .room-hero>div{flex:1 1 55%}.room-page .room-hero>.room-scene-art{flex:1 1 45%;width:45%;margin:0;min-width:0}
.room-scene-art{display:grid;place-items:center;min-width:0;margin:0}.room-scene-art img{width:100%;height:100%;max-height:480px;object-fit:contain}.room-section--illustrated{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);gap:30px;align-items:center;min-height:420px}.room-scene-copy{min-width:0}.room-section--illustrated:nth-child(even) .room-scene-art{order:-1}.room-section--illustrated:nth-child(even){grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr)}
.room-section--cards>article,.room-section--cards .room-scene-copy>article{padding:20px 24px;margin:16px 0;background:var(--paper-2);border:1px dashed var(--line);border-radius:18px}.room-section--cards article h3{margin-top:0}.room-section#topics ul{display:grid;grid-template-columns:1fr 1fr;gap:16px;list-style:none;padding:0}.room-section#topics li{border:1px dashed var(--line);border-radius:18px;padding:18px;margin:0}
.room-socials a{display:block;width:64px;height:64px}.room-socials img{width:100%;height:100%;object-fit:contain}
.textile.textile--social{--patch:url('../assets/design/btn-social-denim-day.webp');--patch-size:100% auto;--patch-position:center;--patch-ink:#fff3da;--patch-shadow:none;width:300px;min-height:96px;height:96px;padding:15px 8% 15px 29%;font-size:18px;color:#fff3da;text-shadow:none;background-size:100% auto;background-position:center;background-repeat:no-repeat;flex-shrink:0}
html[data-theme="night"] .textile.textile--social{--patch:url('../assets/design/btn-social-denim-night.webp');--patch-ink:#182b3c;color:#182b3c}.textile--social .textile-label{font-size:18px!important;line-height:1.2;text-shadow:none!important;color:inherit!important}
@media(max-width:900px){.room-section--illustrated,.room-section--illustrated:nth-child(even){grid-template-columns:1fr}.room-section--illustrated .room-scene-art{order:0!important;max-height:340px}.room-scene-art img{max-height:340px}.room-page .room-hero{gap:20px}.room-section#topics ul{grid-template-columns:1fr}}
@media(max-width:650px){.room-page .room-hero{padding-top:105px;min-height:0}.room-page .room-hero>.room-scene-art{width:100%;margin:20px auto}.room-scene-art img{max-height:300px}.room-section--illustrated{min-height:0}.textile.textile--social{width:280px;max-width:100%;height:94px;min-height:94px}}
.textile.textile--social{padding:15px 22px 15px 94px;box-sizing:border-box}.textile.textile--social::before{border-radius:0;background-size:100% auto}.textile.textile--social .textile-label{width:100%;max-width:none;white-space:nowrap;flex:1 1 auto}
/* Keep intrinsic image sizes from expanding grid tracks over adjacent text. */
.room-page .room-portrait{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;align-self:start}
.room-page .room-portrait img{grid-area:1/1;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom;margin:0}
.room-page .room-team article{min-width:0}.room-page .room-team h3{position:relative;margin:20px 0 12px;overflow-wrap:anywhere}.room-page .room-team p{margin-top:0}
.room-page .room-scene-art{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0}.room-page .room-scene-art img{grid-area:1/1;min-width:0;min-height:0;max-width:100%;object-fit:contain}
@media(max-width:900px){.room-page .room-team article{grid-template-columns:130px minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start}.room-page .room-team h3{margin-top:0}.room-page .room-team .room-portrait{grid-column:1;grid-row:1/3}.room-page .room-team h3,.room-page .room-team p{grid-column:2}}
@media(max-width:420px){.room-page .room-team article{grid-template-columns:minmax(0,1fr);gap:0}.room-page .room-team .room-portrait{grid-column:1;grid-row:auto;height:280px}.room-page .room-team h3,.room-page .room-team p{grid-column:1}.room-page .room-team h3{margin-top:20px}}
/* Textile dimensions must not become a vertical flex-basis in document cards. */
body .room-content .textile{flex:0 1 auto}
body .docs-grid .doc-card{padding:24px;gap:12px;justify-content:flex-start;height:auto;min-height:0}
body .docs-grid .doc-card .dts-doc-icon{--dts-doc-icon-size:88px;width:88px;height:88px;flex:0 0 88px;margin:0 0 4px}
body .docs-grid .doc-card h3,body .docs-grid .doc-card p{margin:0}
body .docs-grid .doc-card .textile{flex:0 0 auto!important;height:82px!important;margin-top:8px;align-self:flex-start}
body .textile.textile--social{display:grid!important;grid-template-columns:29% minmax(0,62%) 9%;padding:0!important;box-sizing:border-box;flex:0 1 auto;align-items:center}
body .textile.textile--social>.textile-label{grid-column:2;width:auto;max-width:100%;white-space:normal;font-size:18px!important;line-height:1.15;overflow-wrap:normal;text-align:center}
.room-page .room-section .container.split-card{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.room-page .split-card>div{min-width:0}.room-page .split-card .bank-card{width:100%;max-width:100%;box-sizing:border-box}.room-page .split-card .bank-card-number{font-size:clamp(22px,2.5vw,32px);white-space:normal;overflow-wrap:anywhere}
.room-page #share{display:block}.room-page #share .room-share-copy{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;align-items:center}.room-share-copy>h2{grid-column:1/-1;margin:0}.room-share-copy>div{min-width:0}.room-share-copy>img{grid-column:2;grid-row:2;width:100%;max-height:560px;object-fit:contain}
.textile--medkit{--patch:url('../assets/design/btn-medkit-linen.webp');--patch-size:100% auto;--patch-position:center;--patch-ink:#2e302b;color:#2e302b;grid-template-columns:23% minmax(0,62%) 15%;text-shadow:none}
@media(max-width:760px){.room-page .room-section .container.split-card{grid-template-columns:1fr;padding:20px;gap:24px}.room-page #share .room-share-copy{grid-template-columns:minmax(0,1fr)}.room-share-copy>img{grid-column:1;grid-row:auto;max-height:340px}}
.room-page .split-card .bank-card{padding:22px}.room-page .split-card .bank-card__number{font-size:clamp(18px,2.2vw,28px);letter-spacing:.02em;white-space:nowrap}.room-page .split-card .bank-card__top,.room-page .split-card .bank-card__bottom{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.room-page .split-card .sbp-qr{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:20px 0 0}.room-page .split-card .sbp-qr a{flex:0 0 130px}.room-page .split-card .sbp-qr img{width:130px;height:130px;object-fit:contain}.room-page .split-card .sbp-qr figcaption{flex:1 1 140px;text-align:left}
@media(max-width:600px){.room-page .split-card .bank-card__number{font-size:16px!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:normal;word-break:normal}.room-page #share .copy-actions{display:flex;gap:8px;flex-wrap:wrap}.room-page #share .copy-actions .textile{min-width:0!important;width:calc(50% - 4px)!important;flex:1 1 calc(50% - 4px)!important}.room-page #share .copy-actions .textile-label{font-size:14px!important;white-space:normal!important;line-height:1.15;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
