.services-page{max-width:1040px;margin:0 auto;padding:132px 28px 80px;color:#23392e;min-height:65vh;overflow-wrap:anywhere}.services-heading{margin:0 0 40px;border-bottom:1px solid #bca57166;padding-bottom:30px}.service-kicker{font-size:11px;letter-spacing:.2em;color:#8b6e34}.services-heading h1{font:500 clamp(28px,4vw,42px)/1.5 "Noto Serif TC",serif;letter-spacing:.08em;margin:10px 0}.services-heading p{line-height:1.9}.services-page h2{font-size:23px;font-family:"Noto Serif TC",serif;margin:20px 0 16px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{background:#152e23;color:#f6eedf;border:1px solid #bca57188;border-radius:12px;padding:28px;margin-bottom:24px;min-width:0}.service-card h2,.service-card h3{color:#e3ca95}.service-card p{color:#e1e6dc;line-height:1.95}.services-page a{color:#8a6727;text-decoration:underline;text-underline-offset:4px}.service-card a{color:#e4cc97}.service-action{display:block;text-decoration:none!important;transition:background .2s}.service-action:hover{background:#244533}.service-form{display:flex;flex-direction:column;gap:18px}.service-form label,.service-search label{display:flex;flex-direction:column;gap:8px;font-size:14px}.service-form input:not([type=checkbox]),.service-form select,.service-form textarea,.service-search input,.service-link-value{width:100%;max-width:100%;min-width:0;min-height:46px;padding:10px 12px;background:#faf6ed;border:1px solid #bba777;border-radius:5px;color:#183327;font:inherit;box-sizing:border-box}.service-form input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;accent-color:#b59b61}.service-form .service-check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;line-height:1.7}.service-form button,.service-button,.service-search button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;background:#cfb77e;color:#142c21!important;border:1px solid #d9c490;border-radius:5px;font:500 14px/1.5 inherit;cursor:pointer;text-decoration:none!important;align-self:flex-start;max-width:100%;white-space:normal}.services-page :focus-visible,.service-footer a:focus-visible{outline:2px solid #c7a65e;outline-offset:4px}.service-search{margin-bottom:24px}.service-search>div{display:flex;gap:10px;margin-top:10px}.service-faq{border-bottom:1px solid #bca57166;padding:18px 0}.service-faq summary{font-size:17px;cursor:pointer;line-height:1.7;min-height:36px}.service-faq p{padding:4px 12px;line-height:2;color:#4c5f52}.service-notice{padding:20px;border-left:2px solid #bca571;background:#eae5d7;line-height:1.9}.service-record{display:flex;flex-direction:column;gap:10px;padding:18px 0;border-bottom:1px solid #bca57144;overflow-wrap:anywhere}.service-record small{color:#c9d1c4}.service-inline{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}.service-footer{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:28px;width:100%;padding:48px max(24px,5vw);box-sizing:border-box;background:#10271d;color:#f3ebdb;position:relative}.service-footer-brand>a{font:500 22px "Noto Serif TC",serif;letter-spacing:.14em;color:#e6cb93}.service-footer p{font-size:13px;line-height:1.8;color:#c6d0c4}.service-footer nav{display:flex;flex-direction:column;gap:10px}.service-footer h2{font:500 13px/1.5 sans-serif;letter-spacing:.12em;margin:0 0 4px;color:#ddc18b}.service-footer a{font-size:14px;color:#e8ebdf;text-decoration:none;line-height:1.6}.service-footer a:hover{text-decoration:underline}.service-footer small{grid-column:1/-1;border-top:1px solid #bca57144;padding-top:18px;font-size:11px;color:#bcc9bb}.service-footer .service-footer-brand{grid-column:auto}.gateway-body .service-footer{position:relative}.gateway-body{overflow-y:auto}
@media(max-width:767px){.services-page{padding:98px 18px 44px}.services-heading{margin-bottom:24px;padding-bottom:20px}.service-grid{grid-template-columns:1fr;gap:0}.service-card{padding:22px 18px;margin-bottom:18px}.services-page h2{font-size:21px}.service-search>div{gap:8px}.service-search button{padding:10px 15px;flex-shrink:0}.service-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;padding:30px 20px}.service-footer .service-footer-brand{grid-column:1/-1}.service-footer nav{gap:9px}.service-footer small{line-height:1.8}.service-form button{width:100%}.service-inline{gap:12px}.service-inline button{width:auto}.service-card .service-grid{gap:16px}.service-footer-brand p{margin-bottom:0}}
@media(max-width:340px){.service-footer{padding:26px 16px;column-gap:12px}.service-footer a{font-size:13px}.service-card{padding:18px 14px}.services-page{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){.service-action{transition:none}}
/* Keep the full-screen hall scene intact, but allow the new footer below it. */
html:has(.halls-doorway):has(.service-footer),body:has(.halls-doorway):has(.service-footer){height:auto;overflow-x:hidden;overflow-y:auto}
body:has(.service-footer) .halls-doorway{position:relative;inset:auto;height:100dvh}
.home-page:has(.service-footer):not(.intro-playing){overflow-y:auto}
body:has(.services-page) .site-header{background:#10271df5;border-bottom:1px solid #bca57155;color:#f3ebdb}
.service-form button,.service-button,.service-search button{font-family:inherit;font-size:14px;font-weight:500;line-height:1.5}
body:has(.service-footer)>footer.service-footer{display:grid}
