/* Contact and legal pages, revised 2026-09-17. */
[hidden]{display:none!important}
:focus-visible{outline:2px solid #8ce4d4;outline-offset:5px}
.contact-desk{min-width:0;padding:36px;display:flex;flex-direction:column;align-items:flex-start}
.desk-eyebrow{font-size:14px;letter-spacing:.15em;color:var(--gold-soft);margin-bottom:14px}
.contact-desk h3{font-family:var(--serif);font-size:clamp(1.65rem,2.6vw,2.2rem);line-height:1.65;color:var(--on-dark)}
.desk-lead{margin-top:18px;font-size:17px;line-height:1.9;color:#d0dde0}
.desk-phone{font-size:clamp(1.65rem,3vw,2.4rem);font-weight:700;letter-spacing:.025em;line-height:1.5;color:var(--gold-soft);margin-top:24px;white-space:nowrap}
.desk-hours{font-size:15px;color:#c4d2d7;margin:5px 0 18px}
.desk-topics{padding-left:1.2em;margin:24px 0;color:#d0dde0;font-size:16px;line-height:1.95}
.contact-notice{border-top:1px solid rgba(171,200,211,.25);padding-top:20px;margin-top:auto;font-size:15px;line-height:1.95;color:#c4d2d7}
.contact-notice a,.map-permission a{color:#f2d4a0;text-decoration:underline;text-underline-offset:4px}
.contact-notice a{display:inline-block;margin-top:9px}
.desk-contract{color:#bacbd3;font-size:14px;line-height:1.9;margin-top:18px}
.map-shell{min-height:300px;background:#102c36}
.map-permission{min-height:300px;padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;color:#d0dde0;font-size:15px;line-height:1.9}
.map-permission .map-label{color:var(--gold-soft);font-size:14px;letter-spacing:.15em}
.map-permission .btn{font-size:16px;padding:12px 24px}
#contact .contact-access .mini-map{width:100%;display:block;border:0;margin:0;filter:none;min-height:300px}
.vent .body .image-context{font-size:14px;line-height:1.7;color:#c2ced3;margin:8px 0 12px}
.policy-page{background:#091923;color:var(--on-dark)}
.policy-page .policy-header{position:static;padding:24px 0;background:#08151e;border-bottom:1px solid rgba(171,200,211,.2)}
.policy-nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.policy-back{color:#d5e1e6;font-size:15px;white-space:nowrap}
.policy-main{max-width:1000px;padding-top:68px;padding-bottom:64px}
.policy-heading{padding-bottom:36px;border-bottom:1px solid rgba(171,200,211,.25)}
.policy-heading .sec-latin{color:var(--gold-soft);font-size:17px}
.policy-heading h1{font-family:var(--serif);font-size:clamp(1.8rem,4.6vw,2.7rem);line-height:1.5;letter-spacing:.035em;color:#f4f6f5;margin:12px 0 20px}
.policy-heading>p{font-size:17px;line-height:1.9;color:#d3dfe4}
.policy-heading .policy-date{font-size:14px;color:#aebfc8;margin-top:20px}
.policy-copy{font-size:17px;line-height:2;color:#d4e0e5}
.policy-copy section{padding-top:36px;scroll-margin-top:24px}
.policy-copy h2{font-family:var(--serif);font-size:1.35rem;line-height:1.7;color:#f1d09b;margin:0 0 16px}
.policy-copy h3{font-size:1.04rem;color:#f2f5f7;margin:22px 0 8px}
.policy-copy p+p{margin-top:14px}
.policy-copy ul{padding-left:1.5em;margin:14px 0}
.policy-copy li+li{margin-top:6px}
.policy-copy a{color:#f3d5a2;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.policy-details{margin-top:22px;border-top:1px solid rgba(171,200,211,.22)}
.policy-details>div{display:grid;grid-template-columns:130px 1fr;padding:14px 0;gap:20px;border-bottom:1px solid rgba(171,200,211,.22)}
.policy-details dt{color:#aebecc}
.policy-details dd{min-width:0;overflow-wrap:anywhere}
.policy-bottom{margin-top:42px}
.policy-footer{padding:32px 0!important;border-top:1px solid rgba(171,200,211,.2);font-size:15px;color:#c6d5dc}
.policy-footer nav{display:flex;flex-wrap:wrap;gap:10px 26px;margin:15px 0}
.policy-footer nav a{text-decoration:underline;text-underline-offset:4px}
.policy-copyright{font-size:13px;color:#96aeb9}
@media(max-width:1080px){.contact-desk{padding:28px}}
@media(max-width:820px){.policy-main{padding-top:42px}.policy-nav{flex-wrap:wrap;gap:18px}.contact-desk{padding:30px}.contact-desk h3{font-size:1.9rem}.desk-phone{font-size:2.15rem}}
@media(max-width:600px){.contact-desk{padding:28px 20px}.desk-phone{font-size:clamp(1.5rem,7vw,2rem)}.contact-desk>.btn{width:100%;justify-content:center}.map-permission{padding:25px 20px;min-height:270px}.map-shell{min-height:270px}.policy-main{padding-inline:22px}.policy-page .policy-header{padding:20px 0}.policy-back{font-size:14px}.policy-copy{font-size:16px;line-height:2}.policy-copy h2{font-size:1.22rem}.policy-details>div{grid-template-columns:1fr;gap:3px;padding:15px 0}.policy-heading h1{font-size:1.8rem}.policy-page .brand .jp{font-size:11px}}
@media print{.policy-page{background:#fff;color:#222}.policy-page .policy-header{background:#fff;position:static}.policy-main{padding-top:20px;max-width:none}.policy-copy,.policy-heading>p,.policy-copy h2,.policy-copy h3,.policy-heading h1,.policy-copy a{color:#222}.policy-bottom,.policy-back,.policy-footer{display:none}.policy-copy section{break-inside:avoid}.policy-heading .sec-latin{color:#333}}
