/* A slightly denser layout; controls stay easy to use and the large-text option remains available. */
.compact-ui { --type-scale:1; }
.compact-ui.large-type { --type-scale:1.18; }
.compact-ui .wrap { max-width:1160px; }
.compact-ui .header-inner { max-width:1160px; min-height:80px; gap:20px; }
.compact-ui .brand { min-height:46px; gap:14px; }
.compact-ui .brand .brand-logo { width:96px; }
.compact-ui .brand-divider { height:30px; }
.compact-ui .brand-name { font-size:calc(23px * var(--type-scale, 1)); }
.compact-ui .site-header nav a { min-height:44px; padding:8px 10px; font-size:calc(13px * var(--type-scale, 1)); }
.compact-ui .text-size { padding:8px 11px; min-height:44px; }
.compact-ui .hero { min-height:440px; padding-block:48px; gap:34px; }
.compact-ui .hero-art { max-width:460px; }
.compact-ui .hero-note { margin-top:17px; }
.compact-ui .intro-strip .wrap { padding-block:15px; }
.compact-ui .map-section { padding-block:52px 48px; }
.compact-ui .community-section { padding-block:51px; }
.compact-ui .tools-section { padding-block:55px; gap:58px; }
.compact-ui .section-head { gap:28px; margin-bottom:23px; }
.compact-ui .section-head .eyebrow { margin-bottom:12px; }
.compact-ui .map-toolbar { margin-bottom:14px; }
.compact-ui .map-viewport { width:92%; max-width:1080px; margin-inline:auto; container-type:inline-size; }
.compact-ui .map-place { padding:9px 4px; }
.compact-ui .place-icon { width:clamp(23px,2.7cqi,29px); height:clamp(23px,2.7cqi,29px); margin-bottom:7px; }
.compact-ui .place-name { margin-top:7px; font-size:calc(10px * var(--type-scale, 1)); line-height:1.4; }
.compact-ui .place-arrow { font-size:calc(19px * var(--type-scale, 1)); }
.compact-ui .emotion-list-button { min-height:86px; padding:17px 20px; }
.compact-ui .community-toolbar { padding-bottom:13px; gap:12px; }
.compact-ui .community-filters { gap:7px; }
.compact-ui .wall-filter { min-height:44px; padding:7px 14px; font-size:calc(12px * var(--type-scale, 1)); }
.compact-ui .wall-status-row { padding-block:9px 15px; }
.compact-ui .community-wall { gap:15px; }
.compact-ui .reflection-card { padding:20px; border-radius:7px; }
.compact-ui .reflection-card-top { gap:9px; margin-bottom:14px; }
.compact-ui .reflection-avatar { width:33px; height:33px; font-size:calc(18px * var(--type-scale, 1)); }
.compact-ui .reflection-author strong { font-size:calc(14px * var(--type-scale, 1)); }
.compact-ui .reflection-topic { margin-bottom:13px; font-size:calc(12px * var(--type-scale, 1)); }
.compact-ui .reflection-card-footer { margin-top:16px; padding-top:8px; gap:8px; }
.compact-ui .reflection-card-footer .plain-button { font-size:calc(12px * var(--type-scale, 1)); min-height:44px; }
.compact-ui .wall-empty { gap:19px; padding:20px 23px; }
.compact-ui .wall-empty>span { font-size:calc(36px * var(--type-scale, 1)); }
.compact-ui .wall-empty h3 { font-size:calc(24px * var(--type-scale, 1)); }
.compact-ui .wall-empty p { font-size:calc(13px * var(--type-scale, 1)); }
.compact-ui .examples-label { margin:22px 0 13px; }
.compact-ui #community-examples .community-wall { grid-template-columns:repeat(3,minmax(0,1fr)); }
.compact-ui #community-examples .reflection-card { padding:18px; }
.compact-ui #community-examples .reflection-card-top { margin-bottom:12px; }
.compact-ui #community-examples .shared-response { font-size:calc(18px * var(--type-scale, 1)); line-height:1.5; }
.compact-ui #community-examples .shared-question { font-size:calc(12px * var(--type-scale, 1)); }
.compact-ui #community-examples .reflection-topic { color:#566e4c; line-height:1.55; }
.compact-ui .example-more { margin-top:12px; border-top:1px solid #e0e5d7; padding-top:7px; }
.compact-ui .example-more summary { cursor:pointer; font-size:calc(12px * var(--type-scale, 1)); color:#5e7553; line-height:1.6; min-height:36px; display:flex; align-items:center; gap:7px; list-style:none; }
.compact-ui .example-more summary::-webkit-details-marker { display:none; }
.compact-ui .example-more summary::before { content:'+'; font-size:calc(17px * var(--type-scale, 1)); }
.compact-ui .example-more[open] summary::before { content:'−'; }
.compact-ui .example-more .shared-answer { padding-top:8px; }
.compact-ui #community-examples .example-more .shared-response { font-family:var(--sans); font-size:calc(14px * var(--type-scale, 1)); line-height:1.75; }
.compact-ui .examples-more-row { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:20px; }
.compact-ui .examples-more-row>p { font-size:calc(12px * var(--type-scale, 1)); color:#627657; }
.compact-ui .examples-more-row .button { font-size:calc(12px * var(--type-scale, 1)); min-height:46px; gap:14px; }
.compact-ui .tool-row { padding-block:23px; gap:18px; }
.compact-ui .closing-section { padding-block:42px; }
.compact-ui .closing-inner { gap:29px; }
.compact-ui .closing-flower { font-size:calc(70px * var(--type-scale, 1)); }
.compact-ui .site-footer { padding-block:25px; }
.compact-ui .detail-dialog { width:min(1030px,calc(100% - 54px)); }
.compact-ui .dialog-header { padding:12px 27px; }
.compact-ui .dialog-body { padding:32px 37px; }
.compact-ui .dialog-description { margin-bottom:25px; }
.compact-ui .detail-columns { gap:34px; }
.compact-ui .activity-card { padding:24px; }
.compact-ui .step-list { gap:15px; }
.compact-ui .resource-link.activity-resource { padding:19px 16px; min-height:166px; gap:9px; }
.compact-ui .reflection-disclosure>summary { min-height:80px; padding:16px 19px; }
.compact-ui .reflection-block { margin-top:25px; padding-top:23px; }
.compact-ui .reflection-question { padding:20px; gap:13px; }
.compact-ui .reflection-form .reflection-fields { gap:17px; }
.compact-ui .private-save { padding-block:19px; margin-block:20px; }
.compact-ui .hero h1 { font-size:calc(clamp(34px,4.5vw,61px) * var(--type-scale, 1)); letter-spacing:-1.9px; }
.compact-ui .hero-description { font-size:calc(16px * var(--type-scale, 1)); }
.compact-ui .section-head h2,.compact-ui .tools-intro h2 { font-size:calc(37px * var(--type-scale, 1)); }
.compact-ui .button { font-size:calc(13px * var(--type-scale, 1)); min-height:48px; padding:12px 20px; }
.compact-ui .map-place .place-title { font-size:calc(clamp(20px,2.45cqi,27px) * var(--type-scale, 1)); }
.compact-ui .list-words strong { font-size:calc(22px * var(--type-scale, 1)); }
.compact-ui .shared-response { font-size:calc(15px * var(--type-scale, 1)); }
.compact-ui .shared-answer:first-child .shared-response { font-size:calc(20px * var(--type-scale, 1)); }
.compact-ui .tool-row-text strong { font-size:calc(23px * var(--type-scale, 1)); }
.compact-ui .tool-row-text>span { font-size:calc(13px * var(--type-scale, 1)); }
.compact-ui .closing-section h2 { font-size:calc(30px * var(--type-scale, 1)); }
.compact-ui .dialog-title { font-size:calc(41px * var(--type-scale, 1)); }
.compact-ui .dialog-description { font-size:calc(16px * var(--type-scale, 1)); }
.compact-ui .story-body blockquote { font-size:calc(25px * var(--type-scale, 1)); }
.compact-ui .activity-card h3 { font-size:calc(27px * var(--type-scale, 1)); }
.compact-ui .activity-card>p,.compact-ui .step-list li { font-size:calc(14px * var(--type-scale, 1)); }
.compact-ui .reflection-block-head h3 { font-size:calc(29px * var(--type-scale, 1)); }
.compact-ui .reflection-question label { font-size:calc(17px * var(--type-scale, 1)); }
.compact-ui .reflection-disclosure>summary strong { font-size:calc(22px * var(--type-scale, 1)); }
@media(max-width:900px) {
  .compact-ui .hero { min-height:0; padding-block:40px; gap:24px; }
  .compact-ui .tools-section { gap:38px; }
  .compact-ui .place-name { font-size:calc(9px * var(--type-scale, 1)); }
  .compact-ui .map-caption { font-size:calc(10px * var(--type-scale, 1)); left:42%; }
  .compact-ui .detail-resources .resource-link.activity-resource { min-height:0; padding:19px; }
  .compact-ui .section-head h2,.compact-ui .tools-intro h2 { font-size:calc(35px * var(--type-scale, 1)); }
}
@media(max-width:800px) {
  .compact-ui .header-inner { min-height:74px; gap:12px; }
  .compact-ui .brand .brand-logo { width:79px; }.compact-ui .brand { gap:10px; }.compact-ui .brand-name { font-size:calc(21px * var(--type-scale, 1)); }
  .compact-ui .site-header nav a { font-size:calc(12px * var(--type-scale, 1)); padding-inline:7px; }
  .compact-ui .dialog-body { padding:29px; }
}
@media(max-width:720px) {
  .compact-ui .header-inner { min-height:0; padding-top:12px; row-gap:7px; }
  .compact-ui .brand .brand-logo { width:88px; }.compact-ui .brand-name { font-size:calc(22px * var(--type-scale, 1)); }
  .compact-ui .site-header nav { padding-block:4px; }.compact-ui .site-header nav a:nth-child(n) { font-size:calc(12px * var(--type-scale, 1)); min-height:44px; padding:7px 4px; }
  .compact-ui #community-examples .community-wall { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .compact-ui .detail-columns { gap:27px; }
}
@media(max-width:600px) {
  .compact-ui .hero { padding-block:29px; gap:16px; }.compact-ui .hero-art { width:86%; }
  .compact-ui .map-section { padding-block:33px; }.compact-ui .community-section { padding-block:35px; }.compact-ui .tools-section { padding-block:37px; }
  .compact-ui .map-viewport { width:100%; }.compact-ui .map-canvas { width:720px; }.compact-ui .map-place { min-height:132px; }
  .compact-ui .place-name { font-size:calc(10px * var(--type-scale, 1)); }.compact-ui .map-caption { font-size:calc(10px * var(--type-scale, 1)); }
  .compact-ui .emotion-list-button { min-height:85px; padding:15px; }
  .compact-ui .wall-empty { padding:19px; gap:13px; }.compact-ui .wall-empty>span { font-size:calc(30px * var(--type-scale, 1)); }.compact-ui .wall-empty .plain-button { margin-left:43px; }
  .compact-ui .wall-empty h3 { font-size:calc(23px * var(--type-scale, 1)); }.compact-ui .wall-status-row { display:flex; flex-wrap:wrap; gap:4px 15px; }
  .compact-ui .reflection-card { padding:21px; }.compact-ui #community-examples .reflection-card { padding:18px; }
  .compact-ui .examples-more-row { flex-wrap:wrap; gap:5px 15px; }.compact-ui .examples-more-row .button { white-space:normal; }
  .compact-ui .closing-section { padding-block:31px; }.compact-ui .closing-flower { font-size:calc(43px * var(--type-scale, 1)); margin-bottom:19px; }
  .compact-ui .detail-dialog { width:100%; }.compact-ui .dialog-header { padding:10px 17px; }.compact-ui .dialog-body { padding:25px 21px 30px; }
  .compact-ui .activity-card { padding:22px; }.compact-ui .reflection-question { padding:18px 14px; gap:10px; }
  .compact-ui .section-head h2,.compact-ui .map-section .section-head h2,.compact-ui .tools-intro h2 { font-size:calc(31px * var(--type-scale, 1)); }
  .compact-ui .hero h1 { font-size:calc(clamp(32px,8vw,45px) * var(--type-scale, 1)); letter-spacing:-1.3px; }
  .compact-ui .dialog-title { font-size:calc(34px * var(--type-scale, 1)); }.compact-ui .closing-section h2 { font-size:calc(28px * var(--type-scale, 1)); }
}
@media(max-width:460px) { .compact-ui #community-examples .community-wall { grid-template-columns:1fr; } }
@media print { .compact-ui .detail-dialog { width:100%; }.compact-ui .dialog-body { padding:0; }.compact-ui .dialog-title { font-size:calc(27pt * var(--type-scale, 1)); } }

/* The expanded navigation yields to a centered BBK lockup while scrolling down. */
.compact-ui .header-inner { position:relative; transition:min-height .28s ease,height .28s ease; }
.compact-ui .brand-name-expanded { font-size:calc(15px * var(--type-scale, 1)); letter-spacing:1.35px; font-weight:600; line-height:1.4; color:#53684f; }
.compact-ui .compact-brand {
  position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-44%);
  display:flex; align-items:center; justify-content:center; gap:13px; white-space:nowrap;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease,transform .28s ease,visibility .2s;
  color:#354c3d; font-size:calc(13px * var(--type-scale, 1)); font-weight:600; letter-spacing:.35px;
}
.compact-ui .compact-brand img { width:86px; height:auto; flex:none; }
.compact-ui .site-header nav,.compact-ui .brand,.compact-ui .text-size { transition:opacity .16s ease,transform .24s ease,visibility .16s; }
.compact-ui .site-header.is-compact .header-inner { min-height:61px; }
.compact-ui .site-header.is-compact .brand,.compact-ui .site-header.is-compact nav,.compact-ui .site-header.is-compact .text-size {
  opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-7px);
}
.compact-ui .site-header.is-compact .compact-brand { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,-50%); }
.compact-ui .site-footer .footer-brand { display:flex; align-items:center; gap:13px; font-family:var(--sans); font-weight:500; letter-spacing:0; }
.compact-ui .footer-brand img { width:92px; height:auto; }
.compact-ui .footer-brand-label { color:#53684f; font-size:calc(10px * var(--type-scale, 1)); font-weight:600; letter-spacing:1.15px; }
@media(max-width:800px) {
  .compact-ui .compact-brand { gap:9px; font-size:calc(11px * var(--type-scale, 1)); }
  .compact-ui .compact-brand img { width:74px; }
  .compact-ui .brand-name-expanded { font-size:calc(12px * var(--type-scale, 1)); letter-spacing:.8px; }
}
@media(max-width:600px) {
  .compact-ui .site-header.is-compact .header-inner { min-height:56px; }
  .compact-ui .compact-brand { gap:8px; font-size:calc(10px * var(--type-scale, 1)); }
  .compact-ui .compact-brand img { width:66px; }
  .compact-ui .footer-brand { flex-wrap:wrap; }
  .compact-ui .footer-brand-label { font-size:calc(9px * var(--type-scale, 1)); }
}
@media(prefers-reduced-motion:reduce) {
  .compact-ui .header-inner,.compact-ui .compact-brand,.compact-ui .site-header nav,.compact-ui .brand,.compact-ui .text-size { transition:none; }
}

/* Enlarged text uses the same proportional scale everywhere, with layouts that can grow. */
.compact-ui .hero-copy,.compact-ui .list-words,.compact-ui .tool-row-text,.compact-ui .dialog-body,.compact-ui .detail-story,.compact-ui .activity-card { min-width:0; }
.compact-ui .emotional-landscape text { font-size:calc(11px * var(--type-scale, 1)); }
.compact-ui.large-type .hero h1 { white-space:normal; overflow-wrap:break-word; }
.compact-ui.large-type .brand-sub { letter-spacing:1.1px; }
.compact-ui.large-type .text-size { min-width:fit-content; }
.compact-ui.large-type .header-inner { column-gap:16px; }
.compact-ui.large-type .brand { gap:12px; }
.compact-ui.large-type .site-header nav a { white-space:normal; text-align:center; }
.compact-ui.large-type .map-viewport { width:100%; overflow-x:auto; }
.compact-ui.large-type .map-canvas { min-width:800px; }
.compact-ui.large-type .community-wall,.compact-ui.large-type #community-examples .community-wall { grid-template-columns:repeat(2,minmax(0,1fr)); }
.compact-ui.large-type .wall-filter { white-space:normal; text-align:left; }
.compact-ui.large-type .button,.compact-ui.large-type .plain-button { white-space:normal; line-height:1.5; }
.compact-ui.large-type .resource-section-head { align-items:start; }
.compact-ui.large-type .activity-resource-copy small { padding-top:4px; }
.compact-ui.large-type .tool-fields label>span,.compact-ui.large-type .reflection-fields label>span { min-height:0; }
.compact-ui.large-type .reflection-summary-arrow,.compact-ui.large-type .place-icon { flex:none; }
.compact-ui.large-type .dialog-close { flex:none; }
@media(max-width:1100px) {
  .compact-ui.large-type .header-inner { grid-template-columns:1fr auto; min-height:0; padding-top:12px; gap:8px 16px; }
  .compact-ui.large-type .brand { grid-column:1; grid-row:1; }
  .compact-ui.large-type .text-size { grid-column:2; grid-row:1; }
  .compact-ui.large-type .site-header nav { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; border-top:1px solid #dce2d2; padding-block:5px; }
  .compact-ui.large-type .site-header nav a { display:flex; justify-content:center; min-height:44px; padding:9px 5px; }
}
@media(max-width:800px) { .compact-ui.large-type .section-head { align-items:start; flex-direction:column; gap:15px; }.compact-ui.large-type .section-head>p { max-width:100%; } }
@media(max-width:720px) { .compact-ui.large-type .community-wall,.compact-ui.large-type #community-examples .community-wall { grid-template-columns:1fr; } }
@media(max-width:600px) {
  .compact-ui.large-type .map-canvas { width:800px; }.compact-ui.large-type .wall-empty { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; }
  .compact-ui.large-type .wall-empty .plain-button { grid-column:2; margin-left:0; }.compact-ui.large-type .dialog-header>span { min-width:0; }
  .compact-ui.large-type .dialog-body { padding-inline:19px; }.compact-ui.large-type .reflection-question { grid-template-columns:1fr; }
  .compact-ui.large-type .reflection-question .question-number { padding-top:0; }
}
@media print { .compact-ui.large-type { --type-scale:1; }.compact-ui.large-type .map-canvas { min-width:0; } }
