/* Scoped homepage refinements. The other tabs keep their existing presentation. */
body[data-page="home"] .hero-copy h1 {
  font-size: clamp(2.6rem, 4.4vw, 4.3rem);
  line-height: 1.1;
  letter-spacing: -.035em;
  margin: 20px 0 24px;
  max-width: 740px;
}
.intro-text .intro-home-title { font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 800; color: #fff; line-height: 1.12; }
.home-section-intro { max-width: 760px; color: #c5d8e5; font-size: 1.06rem; margin-top: 18px; }
.home-examples { border-top: 1px solid rgba(255,255,255,.1); }
.example-context { font-size: .89rem; color: #c5d4df; margin: -8px 0 26px; }
.home-example-grid { align-items: stretch; }
.home-example-card { display: flex; flex-direction: column; min-width: 0; }
.home-example-card > p { min-height: 100px; }
.example-visual { position: relative; height: 155px; }
.example-visual svg { position: absolute; inset: 16px 15px auto auto; width: 70%; height: 105px; fill: none; stroke: #eaf6ff; stroke-width: 1.2; opacity: .6; }
.example-number { position: absolute; left: 20px; top: 14px; font-size: 2rem; font-weight: 300; color: #fff; }
.example-visual-label { position: absolute; bottom: 15px; left: 18px; color: #fff; font-size: .64rem; font-weight: 800; letter-spacing: .13em; }
.home-example-details { margin-top: auto; padding-top: 22px; }
.home-example-details summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 0 3px; border-top: 1px solid #ffffff30; font-weight: 750; color: #f0d18a; cursor: pointer; list-style: none; }
.home-example-details summary::-webkit-details-marker { display: none; }
.home-example-details[open] summary { margin-bottom: 20px; }
.home-example-details[open] .example-detail-content h4 { font-size: 1.05rem; margin: 20px 0 8px; }
.home-example-details[open] .example-detail-content li { margin: 10px 0; }
.home-example-details[open] .example-detail-content ol { padding-left: 22px; }
.home-example-details .example-source { color: #f0d18a; }
.home-director .director-layout { grid-template-columns: minmax(300px, .78fr) minmax(0, 1.35fr); gap: 38px; align-items: start; }
.director-portrait { margin: 0; position: sticky; top: 110px; }
.home-director .director-photo { height: 600px; min-height: 0; border-radius: 24px; }
.home-director .director-photo img { height: 100%; object-fit: cover; object-position: 48% 50%; display: block; }
.director-portrait figcaption { padding: 22px 4px 0; }
.director-portrait figcaption strong { display: block; font-size: 1.3rem; color: #f4d78f; }
.director-portrait figcaption span { display: block; font-size: .86rem; color: #b8cddf; margin-top: 4px; }
.home-director .director-card { padding: 0; border: none; background: none; box-shadow: none; }
.home-director .director-card:hover { transform: none; }
.home-director .director-card h4 { font-size: 2.5rem; line-height: 1.15; margin: 8px 0 12px; }
.home-director .director-eyebrow { color: #e6c575; text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; font-weight: 800; }
.home-director .director-lead { color: #d5e4ee; font-size: 1.18rem; }
.home-director .director-meta { margin: 20px 0 26px; gap: 8px; }
.home-director .meta-chip { font-size: .74rem; padding: 8px 10px; }
.achievement-gallery { padding: 22px 0 24px; margin-bottom: 24px; border-top: 1px solid #ffffff24; border-bottom: 1px solid #ffffff24; }
.home-director .achievement-gallery-label { color: #e4edf4; font-size: .85rem; font-weight: 700; margin-bottom: 18px; }
.achievement-gallery-label > span { display: block; color: #a9bfd0; font-size: .77rem; font-weight: 400; margin-top: 3px; }
.achievement-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.achievement-item { display: flex; flex-direction: column; align-items: flex-start; border-radius: 10px; color: #e2edf5; text-decoration: none; min-width: 0; }
.achievement-image { display: flex; align-items: center; justify-content: center; width: 100%; height: 116px; padding: 8px; background: #ffffff0b; border: 1px solid #ffffff1c; border-radius: 8px; transition: border-color .15s, background .15s; }
.achievement-image img { max-width: 100%; width: auto; height: 100%; object-fit: contain; }
.achievement-item strong { font-size: .76rem; line-height: 1.4; margin-top: 10px; }
.achievement-item > span:last-child { width: 100%; color: #d6bb7e; font-size: .72rem; margin-top: 3px; }
.achievement-item > span:last-child span { float: right; }
.achievement-item:hover .achievement-image { border-color: #e3c47c; background: #ffffff16; }
.home-director .director-biography p { color: #c9dbe8; font-size: .99rem; margin: 0 0 17px; line-height: 1.8; }
.director-biography strong { color: #fff; font-weight: 650; }
.director-approach { border-left: 3px solid #d9a62e; background: #ffffff07; padding: 17px 20px; margin: 24px 0; }
.director-approach > strong { font-size: .98rem; color: #f1d18c; }
.home-director .director-approach p { color: #d6e4ee; font-size: .95rem; margin-top: 7px; line-height: 1.75; }
.director-background { border-top: 1px solid #ffffff24; padding-top: 17px; color: #bdcfdc; }
.director-background summary { font-size: .88rem; cursor: pointer; color: #e8d7ab; }
.home-director .director-background p { font-size: .85rem; margin: 13px 0 0; }
.home-dialog { width: min(760px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 40px); margin: auto; padding: 0; border: 1px solid #d9e1e5; border-radius: 18px; background: #f7f9fa; color: #132d3f; box-shadow: 0 24px 90px #0008; overflow-y: auto; overscroll-behavior: contain; }
.home-dialog::backdrop { background: #02101bd9; }
.home-dialog-header { position: sticky; top: 0; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 25px 28px 20px; background: #f7f9fa; border-bottom: 1px solid #dbe4e9; }
.home-dialog-header h2 { color: #122d41; font-size: clamp(1.3rem, 3vw, 1.9rem); line-height: 1.2; }
.home-dialog-header .mini-title { font-size: .68rem; margin: 0 0 8px; color: #806218; }
.home-dialog-close { width: 42px; height: 42px; border: 1px solid #bccad2; background: #fff; border-radius: 50%; color: #102b3f; font-size: 1.65rem; cursor: pointer; flex: 0 0 42px; }
.home-dialog-body { padding: 25px 28px 30px; }
.home-dialog-body h3 { font-size: 1.02rem; margin: 22px 0 8px; color: #122d41; }
.home-dialog-body p, .home-dialog-body li { color: #3c5465; font-size: .98rem; line-height: 1.75; }
.home-dialog-body .example-question { color: #122d41; font-size: 1.15rem; font-weight: 650; }
.home-dialog-body ol { padding-left: 24px; }
.home-dialog-body li { padding-left: 3px; margin: 7px 0; }
.example-caution { padding: 14px 16px; background: #fff0bd; color: #4d411f !important; border-radius: 6px; margin: 22px 0; font-size: .9rem !important; }
.example-source, .achievement-full-size { display: inline-block; font-size: .87rem; text-decoration: underline; text-underline-offset: 3px; color: #12577a; margin-top: 12px; }
.example-map-link { display: block; background: #12354d; color: white; border: none; border-radius: 7px; font: inherit; font-size: .85rem; padding: 13px 18px; margin-top: 20px; cursor: pointer; text-align: left; }
.example-map-link[hidden] { display: none; }
.achievement-dialog { width: min(1050px, calc(100vw - 32px)); }
.achievement-dialog .home-dialog-body { text-align: center; }
#achievementDialogCaption { max-width: 850px; margin: 0 auto; font-size: .89rem; }
#achievementDialogImage { display: block; width: auto; max-width: 100%; max-height: 72vh; height: auto; margin: 22px auto 0; }
.home-dialog-open { overflow: hidden; }
.home-noscript { background: #fff3ce; color: #243b4a; padding: 20px; }
.home-example-details summary:focus-visible, .achievement-item:focus-visible, .home-dialog button:focus-visible, .home-dialog a:focus-visible, .director-background summary:focus-visible { outline: 3px solid #bf8820; outline-offset: 5px; }
body[data-page="home"] #saInteractiveMap { scroll-margin-top: 120px; }
body[data-page="home"] .hero .map-data-note { font-size: .76rem; line-height: 1.6; color: #bdcfdc; margin: 12px 18px 18px; max-width: none; }
@media (max-width: 1100px) {
  .home-director .director-layout { grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 28px; }
  .home-example-card { padding: 21px; }
  .home-example-card > p { min-height: 132px; }
}
@media (max-width: 980px) {
  .ssa-ui-enhanced body[data-page="home"] .site-header[data-shared-ui="true"] .site-nav { display: none; }
  .ssa-ui-enhanced body[data-page="home"] .site-header.nav-is-open .site-nav { display: flex; }
}
@media (max-width: 760px) {
  .home-director .director-layout { grid-template-columns: 1fr; gap: 34px; }
  .director-portrait { position: static; max-width: 560px; }
  .home-director .director-photo { height: 510px; }
  .home-example-grid { grid-template-columns: 1fr; }
  .home-example-card > p { min-height: 0; }
  .home-example-card .image-top { height: 140px; }
  .home-director .director-card h4 { font-size: 2.1rem; }
  .achievement-image { height: 105px; }
}
@media (max-width: 480px) {
  body[data-page="home"] .hero-copy h1 { font-size: 2.6rem; }
  .home-director .director-photo { height: 440px; }
  .achievement-grid { gap: 9px; }
  .achievement-image { height: 92px; padding: 5px; }
  .achievement-item strong { font-size: .7rem; }
  .achievement-item > span:last-child { font-size: .68rem; }
  .home-dialog { width: calc(100vw - 18px); max-height: calc(100dvh - 20px); border-radius: 12px; }
  .home-dialog-header { padding: 18px; gap: 12px; }
  .home-dialog-body { padding: 20px 18px; }
  .home-dialog-header h2 { font-size: 1.32rem; }
}
