:root{
    --porcelain:#F6F1E4;
    --porcelain-deep:#EEE4CC;
    --surface:#FFFDF6;
    --ink:#262019;
    --ink-soft:#5B5544;
    --ink-faint:#8A8371;
    --jade-deep:#1F4A38;
    --jade-deep-dark:#163A2B;
    --jade:#3A6350;
    --jade-pale:#E1EADD;
    --lantern:#B93F26;
    --lantern-dark:#93311D;
    --gold:#AC8632;
    --gold-pale:#F5E9C9;
    --gold-pale-border:#DFC98D;
    --cream-on-jade:#F3EAD6;
    --line:#DCD1AF;
    --focus:#1F4A38;
  }

  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--porcelain);
    color:var(--ink);
    font-family:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size:17px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  img{display:block;}
  h1,h2,h3{
    font-family:"Noto Serif SC", "Songti SC", serif;
    font-weight:600;
    margin:0;
    text-wrap:balance;
    color:inherit;
  }
  p{margin:0;}
  a{color:inherit;}
  a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
  }
  ul{margin:0;padding:0;list-style:none;}
  .wrap{
    max-width:1120px;
    margin:0 auto;
    padding-left:clamp(20px,4vw,48px);
    padding-right:clamp(20px,4vw,48px);
  }
  .anchor-target{scroll-margin-top:98px;}

  /* header */
  .site-header{
    background:var(--surface);
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    z-index:80;
  }
  .site-header .wrap{
    display:flex;
    align-items:center;
    gap:18px;
    padding-top:14px;
    padding-bottom:14px;
    position:relative;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:var(--ink);
    flex-shrink:0;
  }
  .brand img{height:40px;width:40px;object-fit:contain;}
  .brand-text{display:flex;flex-direction:column;line-height:1.22;}
  .brand-text .hanzi{font-family:"Noto Serif SC",serif;font-size:1rem;font-weight:600;color:var(--jade-deep);}
  .brand-text .name{font-size:0.82rem;color:var(--ink-soft);}

  .main-nav{
    display:flex;
    align-items:center;
    gap:2px;
    margin-left:6px;
    flex:1;
  }
  .nav-item{position:relative;}
  .nav-item > summary{
    display:flex;
    align-items:center;
    gap:6px;
    list-style:none;
    cursor:pointer;
    padding:10px 11px;
    border-radius:6px;
    font-size:0.93rem;
    color:var(--ink-soft);
    user-select:none;
    white-space:nowrap;
  }
  .nav-item > summary::-webkit-details-marker{display:none;}
  .nav-item > summary::marker{content:"";}
  .nav-item > summary:hover{color:var(--jade-deep);background:var(--jade-pale);}
  .nav-item .chev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s ease;flex-shrink:0;}
  .nav-item[open] > summary .chev{transform:rotate(225deg);}
  .dropdown{
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:9px;
    box-shadow:0 14px 30px rgba(38,32,25,0.16);
    min-width:230px;
    padding:7px;
    z-index:90;
  }
  .dropdown a{
    display:block;
    padding:9px 12px;
    border-radius:6px;
    font-size:0.92rem;
    color:var(--ink);
    text-decoration:none;
  }
  .dropdown a:hover{background:var(--jade-pale);color:var(--jade-deep);}
  .nav-link{
    display:flex;
    align-items:center;
    padding:10px 11px;
    border-radius:6px;
    font-size:0.93rem;
    color:var(--ink-soft);
    text-decoration:none;
    white-space:nowrap;
  }
  .nav-link:hover{color:var(--jade-deep);background:var(--jade-pale);}

  .header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .lang-switch{
    display:flex;
    border:1px solid var(--line);
    border-radius:5px;
    overflow:hidden;
    flex-shrink:0;
  }
  .lang-btn{
    border:none;
    background:var(--surface);
    padding:7px 13px;
    font-family:"Noto Sans SC",sans-serif;
    font-size:0.85rem;
    font-weight:600;
    color:var(--ink-soft);
    cursor:pointer;
    line-height:1.2;
  }
  .lang-btn + .lang-btn{border-left:1px solid var(--line);}
  .lang-btn.is-active{background:var(--jade-deep);color:#fff;}
  .lang-btn:hover:not(.is-active){background:var(--jade-pale);color:var(--jade-deep);}

  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:"Noto Sans SC",sans-serif;
    font-weight:600;
    font-size:0.95rem;
    text-decoration:none;
    padding:0.75em 1.5em;
    border-radius:5px;
    border:1px solid transparent;
    cursor:pointer;
    transition:background-color .15s ease, border-color .15s ease, color .15s ease;
  }
  .btn-lantern{background:var(--lantern);color:#fff;}
  .btn-lantern:hover{background:var(--lantern-dark);}
  .btn-ghost{background:transparent;color:var(--jade-deep);border-color:var(--line);}
  .btn-ghost:hover{background:var(--jade-pale);}
  .btn-ghost-light{background:transparent;color:var(--cream-on-jade);border-color:rgba(243,234,214,0.55);}
  .btn-ghost-light:hover{background:rgba(243,234,214,0.12);border-color:var(--cream-on-jade);}

  /* mobile nav toggle */
  .nav-toggle-input{position:absolute;opacity:0;pointer-events:none;}
  .nav-toggle-btn{display:none;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;cursor:pointer;flex-shrink:0;}
  .nav-toggle-btn span{display:block;height:2px;width:22px;background:var(--ink);border-radius:2px;}
  .nav-scrim{display:none;}

  @media (max-width:900px){
    .nav-toggle-btn{display:flex;}
    .site-header .wrap{flex-wrap:wrap; row-gap:8px;}
    .header-actions{width:100%; justify-content:flex-end; order:3;}
    .main-nav{
      position:fixed;
      top:0;
      right:0;
      height:100vh;
      width:min(320px,86vw);
      background:var(--surface);
      flex-direction:column;
      align-items:stretch;
      padding:86px 18px 24px;
      gap:2px;
      overflow-y:auto;
      transform:translateX(100%);
      transition:transform .25s ease;
      box-shadow:-14px 0 34px rgba(20,15,8,0.2);
      z-index:95;
    }
    .nav-toggle-input:checked ~ .main-nav{transform:translateX(0);}
    .nav-item{width:100%;}
    .nav-item > summary{justify-content:space-between;padding:13px 8px;border-bottom:1px solid var(--line);}
    .dropdown{position:static;box-shadow:none;border:none;margin-top:0;background:transparent;padding:2px 0 10px 10px;min-width:0;}
    .nav-link{width:100%;padding:13px 8px;border-bottom:1px solid var(--line);border-radius:0;}
    .nav-scrim{
      display:block;
      position:fixed;inset:0;
      background:rgba(20,15,8,0.35);
      opacity:0;pointer-events:none;
      transition:opacity .2s ease;
      z-index:90;
    }
    .nav-toggle-input:checked ~ .nav-scrim{opacity:1;pointer-events:auto;}
  }

  /* section rhythm */
  .section{padding-top:clamp(28px,4vw,48px);padding-bottom:clamp(28px,4vw,48px);}
  .section-head{max-width:680px;margin-bottom:clamp(30px,4vw,44px);}
  .section-head .eyebrow-mark{
    font-family:"Noto Serif SC",serif;
    color:var(--gold);
    font-size:1rem;
    margin-bottom:10px;
    display:block;
  }
  .section-head h2{font-size:clamp(1.7rem,2.6vw,2.15rem);color:var(--jade-deep);}
  .section-head p{margin-top:14px;color:var(--ink-soft);font-size:1.05rem;max-width:58ch;}
  .sub-block{padding-top:clamp(36px,4vw,50px);}
  .sub-block:first-of-type{padding-top:0;}
  .sub-block h3{font-size:1.3rem;color:var(--jade-deep);margin-bottom:12px;}
  .sub-block > p{color:var(--ink-soft);font-size:1.03rem;max-width:62ch;}
  .sub-divider{border:none;border-top:1px solid var(--line);margin:clamp(36px,4vw,50px) 0 0;}

  /* hero */
  .hero{position:relative;background:var(--jade-deep);color:var(--cream-on-jade);overflow:hidden;}
  .hero-media{position:absolute;inset:0;background-size:cover;background-position:center 30%;}
  .hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg, var(--jade-deep) 0%, var(--jade-deep) 32%, rgba(31,74,56,0.86) 46%, rgba(31,74,56,0.35) 66%, rgba(31,74,56,0.05) 82%);}
  .hero .wrap{position:relative;padding-top:clamp(52px,8vw,86px);padding-bottom:clamp(52px,8vw,86px);}
  .hero-inner{max-width:560px;}
  .hero-mark{font-family:"Noto Serif SC",serif;font-size:1.05rem;letter-spacing:0.06em;color:var(--gold);margin-bottom:16px;opacity:0;animation:rise .7s ease-out .05s forwards;}
  .hero h1{font-size:clamp(2.2rem,4vw,3.05rem);line-height:1.2;color:#fff;opacity:0;animation:rise .7s ease-out .18s forwards;}
  .hero p.lede{margin-top:20px;font-size:1.08rem;line-height:1.65;color:var(--cream-on-jade);max-width:480px;opacity:0;animation:rise .7s ease-out .32s forwards;}
  .hero-actions{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:rise .7s ease-out .46s forwards;}
  @keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
  @media (prefers-reduced-motion:reduce){.hero-mark,.hero h1,.hero p.lede,.hero-actions{animation:none;opacity:1;}}

  /* why us */
  .why-us{background:var(--porcelain);}
  .what-we-offer{background:var(--surface);}
  .our-facility{background:var(--porcelain);}
  .our-facility .photo-gallery{margin-top:clamp(24px,4vw,36px);}
  .home-gallery{background:var(--porcelain-deep);}
  .home-gallery .photo-gallery{margin-top:clamp(24px,4vw,36px);}
  .about-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(28px,5vw,56px);align-items:center;}
  .about-photo{border-radius:6px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;}
  .about-photo img{width:100%;height:100%;object-fit:cover;}
  .who-list{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px 32px;}
  .who-list li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:0.99rem;color:var(--ink);}
  .who-list li svg{flex-shrink:0;margin-top:4px;}
  .impact-stats{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px;}
  .stat-tile{flex:1;min-width:190px;background:var(--jade-pale);border-radius:8px;padding:26px 24px;}
  .stat-num{font-family:"Noto Serif SC",serif;font-size:2.5rem;color:var(--jade-deep);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;}
  .stat-label{margin-top:8px;color:var(--ink-soft);font-size:0.97rem;}
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:16px;}
  .team-card{text-align:center;padding:26px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);}
  .team-name{font-family:"Noto Serif SC",serif;font-weight:600;font-size:1.08rem;color:var(--jade-deep);}
  .team-title{margin-top:6px;color:var(--ink-soft);font-size:0.92rem;}
  @media (max-width:700px){.team-grid{grid-template-columns:1fr;}}

  /* services */
  .services{background:var(--porcelain-deep);padding-bottom:clamp(140px,18vw,240px);}
  .services-photo{border-radius:6px;overflow:hidden;border:1px solid var(--line);margin-bottom:clamp(30px,4vw,44px);aspect-ratio:21/8;}
  .services-photo img{width:100%;height:100%;object-fit:cover;}
  .service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .service-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
  .service-card-photo{aspect-ratio:4/3;}
  .service-card-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .service-card h3{font-size:1.15rem;color:var(--jade-deep);margin:20px 24px 10px;}
  .service-card p{color:var(--ink-soft);font-size:0.98rem;margin:0 24px 24px;}
  .service-card#services-transport{padding:26px 24px;}
  .service-card#services-transport h3{margin:0 0 10px;}
  .service-card#services-transport p{margin:0;}

  /* life here */
  .life-here{background:var(--porcelain-deep);padding-bottom:clamp(140px,18vw,240px);}
  .life-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,44px);}
  .life-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:clamp(30px,4vw,44px);}
  .life-photos figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:5px;}
  .life-photos img{width:100%;height:100%;object-fit:cover;}
  .news-list{margin-top:8px;display:flex;flex-direction:column;gap:16px;}
  .news-item{padding:22px 24px;border-radius:8px;border:1px solid var(--line);background:var(--surface);}
  .news-tag{display:inline-block;font-size:0.78rem;font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:0.03em;padding:4px 10px;border-radius:4px;margin-bottom:10px;color:var(--ink-soft);background:rgba(90,85,68,0.1);}
  .news-item p{color:var(--ink-soft);font-size:0.97rem;line-height:1.65;}
  .news-title{font-family:"Noto Serif SC",serif;font-size:1.12rem;font-weight:600;color:var(--jade-deep);margin-bottom:8px;}
  .news-item.is-featured{background:var(--gold-pale);border-color:var(--gold-pale-border);}
  .news-item.is-featured .news-tag{color:var(--gold);background:rgba(172,134,50,0.16);}
  .news-item.is-featured .hl{color:var(--gold);}
  .news-item.is-recent{background:var(--jade-pale);border-color:var(--jade);}
  .news-item.is-recent .news-tag{color:var(--jade-deep);background:rgba(31,74,56,0.12);}
  .news-item.is-recent .hl{color:var(--jade-deep);}
  .news-item.is-ongoing{background:var(--porcelain-deep);border-color:var(--line);}
  .news-item.is-ongoing .news-tag{color:var(--lantern-dark);background:rgba(147,49,29,0.1);}
  .news-item.is-ongoing .hl{color:var(--lantern-dark);}
  .news-item .hl{font-weight:700;}

  /* get involved */
  .get-involved{background:var(--porcelain);}
  .involved-photo{border-radius:6px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;margin-bottom:clamp(30px,4vw,44px);}
  .involved-photo img{width:100%;height:100%;object-fit:cover;}
  .involved-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .involved-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px;display:flex;flex-direction:column;}
  .involved-card h3{font-size:1.1rem;color:var(--jade-deep);margin-bottom:10px;}
  .involved-card p{color:var(--ink-soft);font-size:0.95rem;flex:1;}
  .involved-card ul{margin-top:10px;margin-bottom:14px;}
  .involved-card ul li{font-size:0.92rem;color:var(--ink);padding:5px 0;border-top:1px solid var(--line);}
  .involved-card ul li:first-child{border-top:none;}
  .involved-card .btn{align-self:flex-start;margin-top:4px;}

  .contact-block{margin-top:calc(-1 * clamp(44px,6vw,64px));margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:var(--jade-deep);padding:clamp(28px,5vw,48px) clamp(20px,4vw,48px);color:var(--cream-on-jade);}
  .contact-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(28px,5vw,48px);}
  .contact-grid h3{color:#fff;font-size:1.4rem;margin-bottom:12px;}
  .contact-grid > div:first-child p{color:var(--cream-on-jade);font-size:0.98rem;line-height:1.65;}
  .contact-grid > div:first-child p + p{margin-top:14px;}
  .contact-grid a{text-decoration:underline;text-decoration-color:rgba(243,234,214,0.4);text-underline-offset:3px;}
  .contact-grid a:hover{text-decoration-color:var(--cream-on-jade);}
  .contact-methods{display:flex;flex-direction:column;gap:12px;margin-top:20px;}
  .contact-grid .contact-method{display:flex;align-items:baseline;gap:10px;background:var(--jade-pale);border-radius:8px;padding:16px 20px;text-decoration:none;transition:background .15s ease,transform .15s ease;}
  .contact-grid a.contact-method:hover{background:#fff;transform:translateY(-1px);}
  .contact-method-label{font-size:0.85rem;font-weight:600;color:var(--jade);flex-shrink:0;}
  .contact-method-value{font-size:1.3rem;font-weight:700;color:var(--jade-deep);}
  .contact-method-value.is-address{font-size:1.05rem;font-weight:600;line-height:1.4;}
  .contact-form{display:flex;flex-direction:column;gap:14px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .form-field{display:flex;flex-direction:column;gap:6px;}
  .form-field label{font-size:0.85rem;color:var(--cream-on-jade);}
  .form-field input,.form-field select,.form-field textarea{
    font-family:"Noto Sans SC",sans-serif;
    font-size:0.97rem;
    padding:10px 12px;
    border-radius:5px;
    border:1px solid rgba(243,234,214,0.35);
    background:rgba(255,255,255,0.94);
    color:var(--ink);
  }
  .form-field textarea{resize:vertical;min-height:100px;}
  .form-note{font-size:0.85rem;color:rgba(243,234,214,0.75);margin-top:2px;}
  .form-status{font-size:0.9rem;color:var(--gold);min-height:1.2em;}

  /* footer */
  .site-footer{background:var(--jade-deep-dark);color:var(--cream-on-jade);padding-top:44px;}
  .footer-grid{display:grid;grid-template-columns:1.1fr 0.55fr 0.65fr 0.95fr 0.8fr 0.9fr 0.9fr 0.6fr;align-items:start;gap:14px;padding-bottom:24px;border-bottom:1px solid rgba(243,234,214,0.18);}
  .footer-brand .hanzi{font-family:"Noto Serif SC",serif;font-size:1.05rem;color:#fff;margin-bottom:5px;}
  .footer-brand p{font-size:0.82rem;color:rgba(243,234,214,0.75);line-height:1.5;margin-top:8px;}
  .footer-col h4{font-size:0.76rem;color:var(--gold);font-weight:600;margin-bottom:8px;}
  .footer-col a,.footer-col p{display:block;font-size:0.82rem;color:rgba(243,234,214,0.85);text-decoration:none;padding:2px 0;}
  .footer-col a:hover{color:#fff;text-decoration:underline;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:20px 0;}
  .footer-bottom p{font-size:0.85rem;color:rgba(243,234,214,0.6);}
  .footer-bottom a{color:rgba(243,234,214,0.85);text-decoration:underline;text-underline-offset:2px;}
  .footer-bottom .credit{color:var(--gold);font-weight:600;font-size:0.9rem;}
  .footer-bottom .credit a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;}

  @media (max-width:900px){
    .about-grid,.life-grid,.contact-grid{grid-template-columns:1fr;}
    .about-photo{order:-1;aspect-ratio:16/9;}
    .who-list{grid-template-columns:1fr;}
    .service-cards,.involved-cards{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .form-row{grid-template-columns:1fr;}
    .hero-inner{max-width:100%;}
    .hero-scrim{background:linear-gradient(180deg, rgba(22,58,43,0.55) 0%, var(--jade-deep) 62%, var(--jade-deep) 100%);}
  }
  @media (max-width:560px){
    .footer-grid{grid-template-columns:1fr;}
    .life-photos{grid-template-columns:1fr 1fr;}
  }

/* multi-page: breadcrumb + page hero */
.breadcrumb{font-size:0.85rem;color:rgba(243,234,214,0.75);margin-bottom:16px;}
.breadcrumb a{color:var(--cream-on-jade);text-decoration:underline;text-decoration-color:rgba(243,234,214,0.4);text-underline-offset:3px;}
.breadcrumb a:hover{text-decoration-color:var(--cream-on-jade);}
.breadcrumb .sep{margin:0 8px;opacity:0.5;}
.page-hero{background:var(--jade-deep);color:var(--cream-on-jade);padding:clamp(36px,6vw,52px) 0 clamp(40px,6vw,56px);}
.page-hero h1{font-size:clamp(1.9rem,3.4vw,2.6rem);color:#fff;line-height:1.2;}
.page-hero .lede{margin-top:14px;font-size:1.06rem;line-height:1.6;max-width:640px;color:var(--cream-on-jade);}

/* multi-page: body content */
.page-body{padding-top:clamp(44px,6vw,64px);padding-bottom:clamp(44px,6vw,64px);background:var(--porcelain);}
.page-body-inner{max-width:760px;}
.page-photo{max-width:760px;border-radius:6px;overflow:hidden;border:1px solid var(--line);margin-bottom:32px;aspect-ratio:16/9;}
.page-photo img{width:100%;height:100%;object-fit:cover;}
.page-text{max-width:760px;}
.page-text p{color:var(--ink-soft);font-size:1.08rem;line-height:1.75;}
.page-text p + p{margin-top:16px;}

/* multi-page: related links */
.dev-note{margin-top:40px;padding:20px 24px;border-radius:8px;border:1px solid var(--line);background:var(--jade-pale);}
.dev-note h4{font-size:0.82rem;color:var(--jade-deep);margin-bottom:8px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;}
.dev-note p{font-size:0.94rem;color:var(--ink);line-height:1.6;max-width:640px;}
.dev-note p + p{margin-top:6px;}
.dev-note a{color:var(--jade-deep);text-decoration:underline;text-underline-offset:2px;font-weight:600;}
.related-links{margin-top:56px;padding-top:clamp(32px,4vw,44px);border-top:1px solid var(--line);}
.related-links h4{font-family:"Noto Serif SC",serif;font-size:0.98rem;color:var(--gold);margin-bottom:14px;font-weight:600;}
.related-list{display:flex;gap:12px;flex-wrap:wrap;}
.related-list a{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--jade-deep);font-size:0.95rem;background:var(--surface);}
.related-list a:hover{background:var(--jade-pale);}

/* homepage hub grid */
.hub{background:var(--porcelain-deep);}
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.hub-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:26px;}
.hub-card .hub-eyebrow{font-family:"Noto Serif SC",serif;color:var(--gold);font-size:0.92rem;display:block;margin-bottom:6px;}
.hub-card h3{font-size:1.18rem;color:var(--jade-deep);}
.hub-card ul{margin-top:14px;}
.hub-card a{display:block;padding:8px 0;color:var(--ink);text-decoration:none;font-size:0.97rem;border-top:1px solid var(--line);}
.hub-card a:first-child{border-top:none;}
.hub-card a:hover{color:var(--jade-deep);text-decoration:underline;}

/* active nav link */
.dropdown a.is-active{color:var(--jade-deep);font-weight:600;background:var(--jade-pale);}

@media (max-width:700px){
  .hub-grid{grid-template-columns:1fr;}
}

/* how-to-pay panels (grouped page) */
.pay-panels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:8px;}
.pay-panel{padding:24px;border-radius:6px;border:1px solid var(--line);background:var(--surface);}
.pay-panel.is-medicaid{background:var(--jade-pale);border-color:#c7d8c8;}
.pay-panel:not(.is-medicaid){background:var(--gold-pale);border-color:var(--gold-pale-border);}
.pay-note{margin-top:clamp(28px,4vw,40px);}
.page-body-inner.page-wide{max-width:1120px;}

/* FAQ accordion cards */
.faq-list{display:flex;flex-direction:column;gap:14px;}
.faq-item{background:var(--porcelain-deep);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;cursor:pointer;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::marker{content:"";}
.faq-item summary:hover{background:var(--jade-pale);}
.faq-summary-text{display:flex;flex-direction:column;gap:6px;}
.faq-q{font-size:1.03rem;font-weight:600;color:var(--ink);}
.faq-preview{font-size:0.92rem;color:var(--ink-soft);line-height:1.5;}
.faq-item[open] .faq-preview{display:none;}
.faq-item .chev{width:9px;height:9px;border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);transform:rotate(45deg);transition:transform .15s ease;flex-shrink:0;}
.faq-item[open] .chev{transform:rotate(225deg);}
.faq-item p{padding:0 24px 22px;margin:0;color:var(--ink-soft);font-size:0.98rem;line-height:1.65;}
@media (max-width:560px){
  .faq-item summary{padding:16px 18px;}
  .faq-item p{padding:0 18px 18px;}
}
.pay-tag{display:inline-block;font-size:0.8rem;font-weight:600;color:var(--jade-deep);background:rgba(31,74,56,0.1);padding:4px 10px;border-radius:4px;margin-bottom:12px;}
.pay-panel:not(.is-medicaid) .pay-tag{color:var(--gold);background:rgba(172,134,50,0.12);}
.pay-panel h3{font-size:1.08rem;color:var(--ink);margin-bottom:8px;}
.pay-panel p{color:var(--ink-soft);font-size:0.95rem;line-height:1.6;}
@media (max-width:700px){
  .pay-panels{grid-template-columns:1fr;}
}

/* photo album gallery */
.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.photo-gallery figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:5px;}
.photo-gallery img{width:100%;height:100%;object-fit:cover;}
@media (max-width:700px){
  .photo-gallery{grid-template-columns:repeat(2,1fr);gap:10px;}
}
