/* Desktop homepage design foundation. Keep all non-home screens untouched. */
.desktop-home-brand,.desktop-home-nav{display:none}
@media(min-width:1024px){
  :root{--home-desktop-max:1440px}
  .screen-home{max-width:var(--home-desktop-max);margin:0 auto;padding:0 20px 54px}
  .screen-home .warm-hero{min-height:min(770px,88svh);margin:20px auto 0;border-radius:30px;box-shadow:0 20px 55px #26362a2e}
  .screen-home .warm-hero-art{object-position:center 48%}
  .screen-home .warm-hero-overlay{background:linear-gradient(90deg,rgba(16,32,23,.59),rgba(20,34,25,.24) 55%,rgba(16,32,23,.16)),linear-gradient(180deg,rgba(15,26,19,.25),transparent 29%,rgba(15,26,19,.1) 49%,rgba(15,27,19,.85) 100%)}
  .screen-home .home-head{padding:24px clamp(26px,4vw,66px);gap:24px;align-items:center}
  .screen-home .desktop-home-brand{display:flex;align-items:center;gap:13px;flex:0 0 auto;color:#fff;text-decoration:none;font:600 23px/1.03 Georgia,serif;letter-spacing:-.015em;text-shadow:0 2px 10px #18241b70}
  .screen-home .desktop-brand-mark{display:grid;place-items:center;width:51px;height:51px;border-radius:50%;border:1px solid #e5ebdc99;background:#f9f5e52e;font-size:33px}
  .screen-home .desktop-home-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(4px,1.2vw,19px);flex:1}
  .screen-home .desktop-home-nav button{color:#fff;background:transparent;border:0;border-bottom:2px solid transparent;padding:12px 7px;font-size:clamp(12px,1vw,15px);font-weight:700;text-shadow:0 1px 8px #18241b80;white-space:nowrap}
  .screen-home .desktop-home-nav button[aria-current="page"],.screen-home .desktop-home-nav button:hover{border-bottom-color:#ead8a5}
  .screen-home .hero-menu{margin-left:0;background:#fbf7e9f0}
  .screen-home .warm-hero-copy{margin-top:auto;max-width:950px;padding:40px clamp(32px,5vw,80px) 38px}
  .screen-home .home-kicker{font-size:12px;letter-spacing:.19em;margin-bottom:16px}
  .screen-home .warm-hero-copy h1{font-size:clamp(56px,5.7vw,86px);max-width:15ch;line-height:1.03}
  .screen-home .warm-hero-copy p{font-size:clamp(17px,1.5vw,21px);max-width:48ch;margin-top:23px;line-height:1.6}
  .screen-home .home-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 clamp(32px,5vw,80px) 44px}
  .screen-home .entry-card{min-height:112px;padding:18px;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;border-radius:18px;background:#f9f5eddb;backdrop-filter:blur(5px)}
  .screen-home .entry-map{background:#eef1e9e8}
  .screen-home .entry-articles{background:#f5eddfeb}
  .screen-home .entry-icon{width:43px;height:43px}
  .screen-home .entry-copy strong{font-size:19px}
  .screen-home .entry-copy small{font-size:12px}
  .screen-home .home-paper{max-width:1280px;margin:auto;padding:42px 24px 30px}
  .screen-home .home-paper>section{margin-left:0;margin-right:0;margin-bottom:52px}
  .screen-home .home-visit{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);column-gap:42px;align-items:center;padding:clamp(26px,3.5vw,46px);border-radius:26px}
  .screen-home .home-visit .visit-ribbon{grid-column:1/-1;justify-self:start;font-size:10px;margin-bottom:16px}
  .screen-home .home-visit .home-section-head{grid-column:1;grid-row:2;align-self:end;margin:0 0 10px}
  .screen-home .home-visit .visit-details{grid-column:1;grid-row:3}
  .screen-home .home-visit .visit-buttons{grid-column:2;grid-row:2/4;display:flex;flex-direction:column;justify-content:center;gap:12px;margin:0}
  .screen-home .home-visit .visit-buttons button{min-height:55px;font-size:15px}
  .screen-home .home-visit .visit-line strong{font-size:16px}
  .screen-home .home-visit .visit-line small{font-size:13px}
  .screen-home .home-visit .open-dot{font-size:12px}
  .screen-home .home-section-head h2,.screen-home .home-story-intro h2{font-size:clamp(34px,3.4vw,46px)}
  .screen-home .home-section-head{margin-bottom:22px}
  .screen-home .recommend-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;overflow:visible}
  .screen-home .recommend-card{width:100%;height:clamp(220px,24vw,315px);min-width:0;flex:initial;border-radius:20px}
  .screen-home .recommend-copy{left:18px;right:15px;bottom:19px}
  .screen-home .recommend-copy strong{font-size:clamp(18px,1.8vw,24px)}
  .screen-home .recommend-copy small{font-size:11px}
  .screen-home .topic-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .screen-home .topic-preview-grid button{min-height:200px;padding:24px;border-radius:20px}
  .screen-home .topic-preview-grid button>span{width:52px;height:52px;font-size:26px}
  .screen-home .topic-preview-grid strong{font-size:25px}
  .screen-home .topic-preview-grid small{font-size:13px}
  .screen-home .home-story-intro{grid-template-columns:100px 1fr;gap:28px;padding:44px 50px;align-items:center;border-radius:26px}
  .screen-home .archive-ornament{width:88px;height:88px;font-size:40px}
  .screen-home .archive-copy p{font-size:16px;line-height:1.7;max-width:65ch}
  .screen-home .archive-copy .btn-outline{min-height:48px;padding-inline:20px}
  .screen-home #wallChampion{margin:0;padding:clamp(40px,5vw,72px);border-radius:28px}
  .screen-home #wallChampion .wall-feature-layout{gap:clamp(40px,6vw,100px)}
  .screen-home #wallChampion .wall-feature-title{font-size:clamp(43px,4.4vw,66px)}
  .screen-home #wallChampion .wall-example-frame{width:min(100%,440px)}
  body:has(.screen-home.is-active) .bottom-nav{display:none}
  body:has(.screen-home.is-active) .screens{padding-bottom:0}
}
@media(min-width:1024px) and (max-width:1180px){
 .screen-home .desktop-home-brand{font-size:18px}
 .screen-home .desktop-brand-mark{width:42px;height:42px}
 .screen-home .home-head{gap:10px}
 .screen-home .desktop-home-nav{gap:2px}
 .screen-home .entry-card{padding:12px;gap:7px}
 .screen-home .entry-copy strong{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.screen-home .entry-card{scroll-behavior:auto}}

/* Desktop refinement v2: consistent surfaces, keyboard focus and responsive grid. */
@media(min-width:1024px){
  .screen-home{--desktop-edge:clamp(24px,4.5vw,76px)}
  .screen-home .warm-hero{min-height:clamp(670px,82svh,860px)}
  .screen-home .warm-hero-art{filter:saturate(.94) contrast(1.03)}
  .screen-home .home-head{position:relative;z-index:4;padding-inline:var(--desktop-edge)}
  .screen-home .desktop-home-brand{white-space:nowrap}
  .screen-home .desktop-home-nav button{transition:background .18s,border-color .18s;border-radius:4px 4px 0 0}
  .screen-home .desktop-home-nav button:hover{background:#ffffff16}
  .screen-home .desktop-home-nav button:focus-visible,
  .screen-home .desktop-home-brand:focus-visible,
  .screen-home .entry-card:focus-visible,
  .screen-home .recommend-card:focus-visible,
  .screen-home .topic-preview-grid button:focus-visible{outline:3px solid #f6db9b;outline-offset:4px}
  .screen-home .warm-hero-copy{padding-inline:var(--desktop-edge);padding-bottom:clamp(32px,4vw,55px)}
  .screen-home .warm-hero-copy h1{font-size:clamp(60px,5.5vw,88px);max-width:14ch}
  .screen-home .home-entry-grid{padding-inline:var(--desktop-edge);padding-bottom:clamp(36px,4vw,58px)}
  .screen-home .entry-card{transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 9px 30px #18291d30}
  .screen-home .entry-card:hover{transform:translateY(-4px);box-shadow:0 15px 36px #18291d42;border-color:#f8ebd0}
  .screen-home .entry-card>b{font-size:23px}
  .screen-home .home-paper{padding-top:clamp(40px,5vw,74px)}
  .screen-home .home-paper>section{margin-bottom:clamp(44px,5vw,75px)}
  .screen-home .home-section-head .eyebrow{font-size:11px;letter-spacing:.16em}
  .screen-home .home-section-head h2{margin-top:10px}
  .screen-home .home-visit{position:relative;overflow:hidden;background:radial-gradient(circle at 95% 0%,#dce4d1 0%,transparent 33%),linear-gradient(130deg,#fcf8ef,#f2ebdc)}
  .screen-home .home-visit:after{content:"";position:absolute;pointer-events:none;right:-50px;bottom:-100px;width:300px;height:300px;background:url("assets/wall-botanical.svg") center/contain no-repeat;opacity:.08;transform:rotate(-30deg)}
  .screen-home .home-visit .visit-buttons{position:relative;z-index:1;max-width:360px;justify-self:stretch;width:100%}
  .screen-home .home-visit .visit-line{padding:14px 0}
  .screen-home .recommend-card{transition:transform .2s,box-shadow .2s;box-shadow:0 10px 25px #253a2c1c}
  .screen-home .recommend-card:hover{transform:translateY(-4px);box-shadow:0 17px 33px #253a2c30}
  .screen-home .recommend-card::after{inset:18% 0 0;background:linear-gradient(transparent 10%,#152b21df)}
  .screen-home .topic-preview-grid button{transition:transform .2s,box-shadow .2s}
  .screen-home .topic-preview-grid button:hover{transform:translateY(-4px);box-shadow:0 14px 30px #253a2c20}
  .screen-home .home-story-intro{position:relative;overflow:hidden;background:linear-gradient(115deg,#f9f4e9,#ebe6d7);box-shadow:0 12px 30px #293d2d10}
  .screen-home #wallChampion{box-shadow:0 18px 45px #332e2417}
  .screen-home #wallChampion .wall-feature-title{max-width:13ch}
  .screen-home #wallChampion .wall-feature-preview{align-items:center}
}
@media(min-width:1024px) and (max-width:1280px){
  .screen-home .home-entry-grid{gap:10px}
  .screen-home .entry-card{grid-template-columns:37px minmax(0,1fr) 16px;gap:7px;padding:12px}
  .screen-home .entry-icon{width:36px;height:36px}
  .screen-home .entry-copy strong{font-size:clamp(14px,1.5vw,18px)}
  .screen-home .home-paper{padding-inline:18px}
  .screen-home .recommend-row,.screen-home .topic-preview-grid{gap:12px}
}
@media(min-width:740px) and (max-width:1023px){
  /* Tablet: retain mobile controls while using the available screen width. */
  .screen-home{max-width:900px;margin:auto}
  .screen-home .home-paper{max-width:900px}
  .screen-home .home-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .screen-home .warm-hero{min-height:660px}
}
@media(prefers-reduced-motion:reduce){
  .screen-home .entry-card,.screen-home .recommend-card,
  .screen-home .topic-preview-grid button,.screen-home .desktop-home-nav button{transition:none!important}
}
