*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f6f1;color:#172d42;font:16px/1.7 Arial,sans-serif}a{color:inherit}header{position:sticky;top:0;z-index:30;background:#081e35;box-shadow:0 4px 24px #0002}nav{max-width:1250px;margin:auto;display:flex;align-items:center;gap:20px;padding:10px 25px;flex-wrap:wrap}nav img{width:185px;max-height:64px;object-fit:contain;background:white;padding:4px;border-radius:5px}nav .links{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-left:auto}nav a{text-decoration:none;color:#fff;font-size:13px;font-weight:600}nav a:hover{color:#e7be70}.donate{background:#d7ad5c;color:#0c223b!important;padding:11px 17px;border-radius:5px}h1,h2,h3{font-family:Georgia,serif;line-height:1.14}h1{font-size:clamp(40px,6vw,78px);margin:15px 0 24px}h2{font-size:clamp(30px,4vw,49px);margin:12px 0 20px}h3{font-size:25px;margin:8px 0 10px}p{margin:0 0 18px}.eyebrow{letter-spacing:3px;text-transform:uppercase;font-size:12px;font-weight:700;color:#cda45c}.hero{background:linear-gradient(100deg,#071c34ef,#071c34c7 58%,#071c3477),url('https://static.wixstatic.com/media/876af8_79d0618b875144568d2fd1bdc0417e00~mv2.png') center/cover;min-height:580px;display:flex;align-items:center;color:white}.wrap{max-width:1200px;margin:auto;padding:85px 30px}.hero .wrap{width:100%}.hero p{max-width:640px;font-size:20px;color:#f0ece4}.btn{display:inline-block;background:#d4aa5d;color:#071e35;text-decoration:none;font-weight:700;padding:13px 21px;border-radius:4px;margin:5px 9px 5px 0}.btn.outline{background:transparent;color:inherit;border:1px solid #cda45c}.dark{background:#0a243e;color:white}.cream{background:#eee8dd}.intro{max-width:820px;font-size:19px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.card{background:white;border:1px solid #e1d7c7;border-radius:8px;padding:28px;box-shadow:0 4px 15px #11293e0b}.dark .card{background:#17334d;color:white;border-color:#3b5062}.card p{font-size:15px}.card a{font-weight:bold;color:#a5772b}.dark .card a{color:#f2ce8b}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split img{width:100%;border-radius:8px;box-shadow:0 18px 45px #0002}.banner{background:#d7ad5c;color:#0b243e;text-align:center;padding:45px 25px}.pagehead{background:#0a243e;color:white;padding:70px 30px}.pagehead>div{max-width:1100px;margin:auto}.pagehead h1{font-size:clamp(38px,5vw,60px)}.pagehead p{max-width:760px;font-size:19px}.list p{border-left:3px solid #d2a95f;padding-left:20px;margin:22px 0}.small{font-size:13px;color:#64727d}footer{background:#071b30;color:#d7d9db;padding:45px 30px}footer>div{max-width:1200px;margin:auto;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer a{color:#e8c484}.notice{background:#fbf1d8;border-left:4px solid #cda45c;padding:18px 22px;margin:25px 0}.feature{background:#0b2947;color:white;padding:35px;border-radius:10px}.feature img{width:100%;border-radius:7px}.tag{display:inline-block;border:1px solid #cda45c;border-radius:30px;padding:4px 13px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#b5883c;margin-bottom:12px}@media(max-width:850px){.grid,.split{grid-template-columns:1fr}nav{justify-content:center}nav .links{margin:0;justify-content:center;gap:12px}nav a{font-size:12px}.hero{min-height:510px}.wrap{padding:58px 22px}}
nav>a:first-child{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-heart{width:48px;height:48px;max-height:none;object-fit:contain;background:transparent;padding:0;border-radius:0}.brand-wordmark{font-family:Georgia,serif;font-size:clamp(15px,2vw,23px);letter-spacing:1px;color:#e5ba68;font-weight:normal}@media(max-width:600px){nav{padding:9px 14px}.brand-heart{width:40px;height:40px}.brand-wordmark{font-size:17px}}

.dht-site-nav{width:100%;max-width:none;background:#081e35;display:flex;align-items:center;gap:18px;padding:12px 24px;position:relative;z-index:90}.dht-site-nav .dht-brand{display:flex;align-items:center;gap:9px;white-space:nowrap;text-decoration:none}.dht-site-nav .dht-brand img{width:42px;height:42px;object-fit:contain;background:none;border:0;padding:0}.dht-site-nav .dht-brand span{font:20px Georgia,serif;color:#e5ba68}.dht-navlinks{display:flex;align-items:center;justify-content:flex-end;gap:clamp(9px,1.5vw,21px);margin-left:auto;flex-wrap:wrap}.dht-navlinks a,.dht-navlinks summary{font:600 13px/1.4 Arial,sans-serif;color:#fff;text-decoration:none;cursor:pointer;white-space:nowrap}.dht-navlinks a:hover,.dht-navlinks summary:hover,.dht-navlinks [aria-current="page"]{color:#e7be70}.dht-menu{position:relative}.dht-menu summary{list-style:none;padding:12px 0}.dht-menu summary::-webkit-details-marker{display:none}.dht-menu summary:after{content:" ▾";color:#e5ba68}.dht-submenu{position:absolute;right:0;top:100%;width:245px;max-height:70vh;overflow:auto;display:flex;flex-direction:column;padding:8px;background:#102e4b;border:1px solid #38526b;border-radius:8px;box-shadow:0 12px 32px #0005}.dht-submenu a{padding:10px 12px;white-space:normal;border-radius:4px}.dht-submenu a:hover{background:#23435f}.dht-navlinks .dht-donate{background:#d7ad5c;color:#0c223b;padding:10px 16px;border-radius:5px}.dht-navlinks .dht-donate:hover{background:#f1cb82;color:#0c223b}@media(max-width:900px){.dht-site-nav{justify-content:center;flex-wrap:wrap}.dht-navlinks{margin:0;justify-content:center;gap:8px 14px}.dht-navlinks a,.dht-navlinks summary{font-size:12px}.dht-submenu{right:auto;left:0}}@media(max-width:500px){.dht-submenu{position:fixed;left:12px;right:12px;top:auto;width:auto;max-height:55vh}.dht-site-nav .dht-brand span{font-size:18px}}

/* Do Hard Things: accessible responsive primary navigation */
.dht-mobile-nav{display:none}.dht-site-nav a:focus-visible,.dht-site-nav summary:focus-visible,a.btn:focus-visible{outline:3px solid #f3cb7f;outline-offset:3px}@media(max-width:900px){.dht-site-nav{justify-content:space-between;flex-wrap:nowrap;align-items:center;padding:10px 16px}.dht-site-nav>.dht-navlinks{display:none}.dht-mobile-nav{display:block;margin-left:auto;position:relative}.dht-mobile-nav>summary{list-style:none;cursor:pointer;color:#fff;font:700 15px Arial,sans-serif;border:1px solid #b89960;border-radius:8px;padding:12px 15px;min-height:44px;display:flex;align-items:center;gap:8px}.dht-mobile-nav>summary::-webkit-details-marker{display:none}.dht-mobile-nav[open]>.dht-mobile-panel{display:flex}.dht-mobile-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(88vw,350px);max-height:76vh;overflow:auto;background:#0a2944;border:1px solid #c6a063;box-shadow:0 16px 32px #0007;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:3px}.dht-mobile-panel>a,.dht-mobile-panel>details>summary{display:block;color:#fff;font:600 15px/1.4 Arial,sans-serif;text-decoration:none;padding:12px;border-radius:6px;min-height:44px}.dht-mobile-panel>details>summary{cursor:pointer}.dht-mobile-panel>details>a{display:block;color:#f5f1e9;font:14px/1.45 Arial,sans-serif;text-decoration:none;padding:11px 12px 11px 25px;min-height:44px}.dht-mobile-panel .dht-donate{background:#d7ad5c;color:#081e35;text-align:center;font-weight:700}.dht-mobile-panel a:focus-visible,.dht-mobile-panel summary:focus-visible{outline:3px solid #f3cb7f;outline-offset:2px}}

/* DHT cohesive editorial system; scoped to avoid changing the interactive map */
:root{--dht-navy:#071f36;--dht-blue:#123b56;--dht-gold:#c6a063;--dht-cream:#f7f3ea;--dht-text:#18344a}html{scroll-behavior:smooth}body{line-height:1.6}body:not(.campus-map-app) p{line-height:1.72}body:not(.campus-map-app) img{max-width:100%}body:not(.campus-map-app) h1,body:not(.campus-map-app) h2{letter-spacing:-.022em}body:not(.campus-map-app) a:focus-visible,body:not(.campus-map-app) button:focus-visible,body:not(.campus-map-app) summary:focus-visible{outline:3px solid #d7a856;outline-offset:3px}body:not(.campus-map-app) a.btn,body:not(.campus-map-app) .btn,body:not(.campus-map-app) .j-btn,body:not(.campus-map-app) .give-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.35;text-align:center;border-radius:8px;font-weight:700;transition:filter .18s ease,transform .18s ease}body:not(.campus-map-app) a.btn:hover,body:not(.campus-map-app) .j-btn:hover,body:not(.campus-map-app) .give-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.dht-unified-footer{background:#071f36!important;color:#e9edf1!important;padding:0!important;border-top:4px solid #c6a063;font:15px/1.65 Arial,sans-serif}.dht-unified-footer .dht-footer-grid{width:min(1180px,calc(100% - 44px));margin:auto;padding:60px 0 40px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px}.dht-unified-footer .dht-footer-brand img{width:155px;height:auto;max-height:135px;object-fit:contain;object-position:left center;display:block;margin-bottom:15px}.dht-unified-footer h2{color:#e8c280!important;font:700 16px/1.3 Arial,sans-serif!important;letter-spacing:.04em!important;margin:0 0 16px!important}.dht-unified-footer p{color:#e9edf1!important;margin:10px 0!important}.dht-unified-footer a{display:block;color:#f4f6f8!important;text-decoration:none;margin:0 0 10px;font:600 14px/1.5 Arial,sans-serif}.dht-unified-footer a:hover{text-decoration:underline;color:#e8c280!important}.dht-unified-footer .dht-footer-bottom{border-top:1px solid #ffffff35;padding:22px max(22px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:22px;color:#cfd9e2;font-size:13px}.dht-unified-footer .dht-footer-give{background:#d7ad5c;color:#071f36!important;padding:12px 22px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;margin:0}.dht-unified-footer .dht-footer-give:hover{color:#071f36!important;background:#eac47d;text-decoration:none}@media(max-width:780px){.dht-unified-footer .dht-footer-grid{grid-template-columns:1fr 1fr;gap:28px;padding:42px 0 25px}.dht-unified-footer .dht-footer-brand{grid-column:1/-1}.dht-unified-footer .dht-footer-bottom{flex-direction:column;align-items:flex-start}.dht-unified-footer a{min-height:32px}}@media(max-width:450px){.dht-unified-footer .dht-footer-grid{grid-template-columns:1fr;gap:24px}.dht-unified-footer .dht-footer-brand{grid-column:auto}.dht-unified-footer .dht-footer-bottom{padding:24px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.campus-map-app) .btn,body:not(.campus-map-app) .j-btn,body:not(.campus-map-app) .give-btn{transition:none}}

/* Phase 3: donor clarity and action paths */
.dht-stewardship-note{background:#f7f3ea;color:#17344b;border-left:4px solid #c6a063;text-align:left;padding:20px 24px;border-radius:8px;margin:28px auto 22px;max-width:860px;box-shadow:0 8px 26px #0002}.dht-stewardship-note strong{font:700 19px/1.35 Georgia,serif;color:#09243b}.dht-stewardship-note p{font:15px/1.65 Arial,sans-serif;color:#294457;margin:9px 0 12px}.dht-stewardship-note a{color:#103e61;font-weight:700;text-underline-offset:3px}.give-section #stewardship-details{scroll-margin-top:25px}@media(max-width:600px){.dht-stewardship-note{padding:18px;margin:20px auto}.dht-stewardship-note strong{font-size:18px}}

/* Housing village feature: homepage and dedicated page */
.dht-housing-feature{background:#f3ede2;color:#0b2d46;padding:90px 24px}.dht-housing-feature-inner{max-width:1250px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:55px}.dht-housing-feature h2{font:normal clamp(38px,4.7vw,65px)/1.1 Georgia,serif;letter-spacing:-.03em;margin:16px 0 22px}.dht-housing-feature p{line-height:1.75;color:#3b5365}.dht-housing-lead{font-size:clamp(19px,2vw,24px)!important;color:#183c54!important}.dht-housing-types{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.dht-housing-types span{background:#fff;border-left:3px solid #c8a168;padding:13px;font-weight:650;font-size:14px}.dht-housing-disclaimer{font-size:12px;margin-top:18px}.dht-housing-image{display:block;position:relative;border-radius:15px;overflow:hidden;box-shadow:0 22px 48px #071f3625}.dht-housing-image img{width:100%;height:auto;display:block}.dht-housing-image span{display:block;background:#0b2c46;color:#f3d49b;padding:15px 20px;font-weight:700}.dht-housing-page-intro{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;margin-bottom:64px;padding-bottom:55px;border-bottom:1px solid #e2d7c6}.dht-housing-page-intro h2{font:normal clamp(32px,4vw,51px)/1.15 Georgia,serif}.dht-housing-page-intro p{line-height:1.75;font-size:18px}.dht-housing-page-intro img{width:100%;height:auto;border-radius:12px;box-shadow:0 15px 35px #071f3620}@media(max-width:850px){.dht-housing-feature{padding:58px 20px}.dht-housing-feature-inner,.dht-housing-page-intro{grid-template-columns:1fr;gap:28px}.dht-housing-types{grid-template-columns:1fr 1fr}}@media(max-width:430px){.dht-housing-types{grid-template-columns:1fr}}

/* Village page: designed content, not a flyer */
.dht-housing-photo img{aspect-ratio:4/3;object-fit:cover}.housing-reimagined-hero{background:linear-gradient(95deg,#071e36f5,#071e36c9 60%,#071e3670),url("mall-housing-photo.jpg") center/cover}.housing-reimagined-hero .btn{margin-top:26px}.housing-story-opening{padding-bottom:70px}.housing-story-opening h2,.housing-village-parts h2,.housing-amenities h2,.housing-collaboration h2{font:normal clamp(35px,4vw,54px)/1.13 Georgia,serif;color:#0b2c46}.housing-journey-inline{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.housing-journey-inline span{background:#f2eadc;border:1px solid #e1d2b8;padding:12px 16px;border-radius:7px;font-weight:700;color:#143a54}.housing-village-parts{background:#f7f3ec}.housing-village-parts .housing-main{padding-top:78px;padding-bottom:75px}.housing-part{display:grid;grid-template-columns:80px 1fr;gap:22px;border-top:1px solid #dcd0be;padding:38px 0;max-width:1020px}.housing-part-number{font:42px Georgia,serif;color:#b08a50}.housing-part h3{font:normal clamp(30px,3.5vw,44px)/1.15 Georgia,serif;color:#0c2f49;margin:12px 0}.housing-part p{font-size:17px;line-height:1.8;color:#43596a;max-width:790px}.housing-part-purpose{font-style:italic;border-left:3px solid #c8a168;padding-left:17px}.housing-pathway h2{font:normal clamp(36px,4vw,56px)/1.2 Georgia,serif}.housing-pathway>.inner>p{color:#e3e9ed}.housing-amenity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.housing-amenity-grid article{background:#f8f4ed;border:1px solid #e6dccb;padding:24px;border-radius:12px}.housing-amenity-grid h3{font:normal 26px Georgia,serif;color:#10314a;margin:0 0 12px}.housing-amenity-grid p{line-height:1.7;color:#526474}.housing-collaboration{border-top:1px solid #e5ddcf}.housing-collaboration p{font-size:18px;line-height:1.8;max-width:950px}@media(max-width:800px){.housing-amenity-grid{grid-template-columns:1fr 1fr}.housing-part{grid-template-columns:50px 1fr;gap:12px}.housing-part-number{font-size:30px}}@media(max-width:520px){.housing-amenity-grid{grid-template-columns:1fr}.housing-part{grid-template-columns:1fr;gap:2px}.housing-reimagined-hero{padding:65px 20px}}
/* Mobile/tablet layout guardrails. Preserve the desktop composition. */
@media (max-width: 1024px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  img, video, iframe { max-width: 100%; }
  .j-shell { width: 100% !important; max-width: 1160px !important; min-width: 0 !important; }
  .j-section { padding-left: clamp(18px, 4vw, 30px) !important; padding-right: clamp(18px, 4vw, 30px) !important; }
  .j-sheriff-feature,
  .j-roadmap-bottom,
  .j-housing-first-layout,
  .j-angels-message { grid-template-columns: minmax(0, 1fr) !important; }
  .j-sheriff-feature > *,
  .j-roadmap-bottom > *,
  .j-housing-first-layout > *,
  .j-angels-message > * { min-width: 0 !important; width: 100% !important; }
  .j-sheriff-photo { width: 100% !important; max-width: 440px !important; margin: 0 auto !important; }
  .j-sheriff-photo img { width: 100% !important; height: auto !important; min-height: 0 !important; max-height: 420px !important; object-fit: contain !important; }
  .j-sheriff-feature p { max-width: 100% !important; overflow-wrap: anywhere; }
}
@media (max-width: 750px) {
  .j-grid, .j-steps, .j-resources, .j-art,
  .j-vision-panels, .j-vision-path, .j-roadmap-grid, .j-angel-grid,
  .j-assess-columns, .j-referral-grid, .j-assess-journey,
  .j-participant-card { grid-template-columns: minmax(0, 1fr) !important; }
  .j-sheriff-feature { gap: 22px !important; }
  .j-sheriff-photo { max-width: 360px !important; }
  .j-kacey-portrait-wrap { float: none !important; width: min(45vw, 155px) !important; margin: 10px auto 18px !important; }
  .j-roadmap-bottom, .j-housing-first-layout { gap: 22px !important; }
  .j-section { padding-top: 50px !important; padding-bottom: 50px !important; }
  .j-shell > * { min-width: 0; }
}

/* Hard override for narrow and touch-screen layouts on the jail page. */
@media (max-width: 1200px), (pointer: coarse) {
  .j-sheriff-feature {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 22px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .j-sheriff-feature > * {
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .j-sheriff-photo {
    width: min(100%, 420px) !important;
    max-width: 420px !important;
    margin: 0 auto !important;
  }
  .j-sheriff-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 400px !important;
    object-fit: contain !important;
  }
  .j-sheriff-feature p { max-width: 100% !important; overflow-wrap: anywhere !important; }
}

/* Homepage sheriff acknowledgment: keep the badge and copy within the viewport. */
.dht-sheriff-acknowledgment {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.dht-sheriff-acknowledgment > img.dht-sheriff-official-badge {
  display: block !important;
  width: 112px !important;
  height: 112px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  object-fit: contain !important;
  background: #fff !important;
  padding: 5px !important;
  border-radius: 8px !important;
}
.dht-sheriff-ack-copy { min-width: 0 !important; width: 100% !important; overflow-wrap: anywhere !important; }
@media (max-width: 740px), (pointer: coarse) {
  .dht-sheriff-acknowledgment {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
    gap: 14px !important;
    padding: 18px !important;
  }
  .dht-sheriff-acknowledgment > img.dht-sheriff-official-badge {
    width: 88px !important;
    height: 88px !important;
    margin: 0 auto !important;
  }
}

/* Jail page: make Kacey's portrait a clear, well-placed feature, not a tiny float. */
.j-sheriff .j-kacey-portrait-wrap {
  float: right !important;
  width: min(32%, 270px) !important;
  margin: 0 0 24px 30px !important;
}
.j-sheriff .j-kacey-portrait-wrap img {
  width: 100% !important;
  height: auto !important;
  max-height: 330px !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}
@media (max-width: 750px), (pointer: coarse) {
  .j-sheriff .j-kacey-portrait-wrap {
    float: none !important;
    width: min(72vw, 260px) !important;
    margin: 0 auto 22px !important;
  }
  .j-sheriff .j-kacey-portrait-wrap img {
    max-height: 320px !important;
  }
}
