:root{--paper:#fff8f3;--surface:#fffdfb;--ink:#3b2c26;--muted:#705b50;--brand:#b63e1d;--brand-dark:#8f2d14;--pale:#fff0e5;--line:#e6cfc1;--accent:#ef9c70;--red:#ab3b31;--serif:"Songti SC","Noto Serif CJK SC","STSong",serif;--sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:18px;line-height:1.8;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{max-width:100%}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}h2{font-size:23px;font-weight:600;letter-spacing:-.5px}h3{font-size:20px;font-weight:600}svg{width:20px;height:20px;flex-shrink:0}fieldset{margin:0;padding:0;border:0;min-width:0}legend{padding:0}button{border:0;background:none;color:inherit}strong{font-weight:600}[hidden]{display:none!important}:focus-visible{outline:3px solid #b74320;outline-offset:4px;border-radius:3px}::selection{background:#f5c6ab}.small{font-size:18px}.muted{color:var(--muted)}.required{color:var(--red)}.eyebrow{font-size:18px;font-weight:600;letter-spacing:2.2px;color:var(--brand)}.skip-link{position:absolute;top:-80px;left:20px;background:var(--brand);color:var(--surface);padding:12px;z-index:10}.skip-link:focus{top:10px}
.site-header{max-width:1280px;margin:auto;padding:25px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:32px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{border-radius:50%;width:48px;height:48px;object-fit:contain}.brand strong{display:block;font-size:18px;letter-spacing:1px}.brand small{display:block;font-size:18px;letter-spacing:2.4px;color:var(--muted);margin-top:1px}.site-header nav{display:flex;align-items:center;gap:36px;font-size:18px;white-space:nowrap}.site-header nav a{position:relative;padding:10px 0}.site-header nav a[aria-current=page]{color:var(--brand);font-weight:600}.site-header nav a[aria-current=page]:after{content:"";position:absolute;bottom:1px;left:0;width:20px;height:2px;background:var(--brand)}.site-header nav .admin-link{color:var(--muted);padding-left:28px;border-left:1px solid var(--line)}.admin-link span{margin-left:6px}main{max-width:1184px;margin:0 auto;min-height:70vh}.site-footer{max-width:1184px;margin:80px auto 0;border-top:1px solid var(--line);padding:25px 0 35px;display:flex;justify-content:space-between;color:var(--muted);font-size:18px;letter-spacing:.5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:10px 22px;border-radius:5px;border:1px solid transparent;font-weight:500;font-size:18px;transition:background .18s,transform .18s}.button.primary{background:var(--brand);color:#fffaf5}.button.primary:hover:not(:disabled){background:var(--brand-dark);transform:translateY(-1px)}.button.secondary{background:transparent;border-color:#d7aa93;color:var(--brand)}.button.secondary:hover:not(:disabled){background:var(--pale)}.small-button{min-height:36px;padding:6px 14px;font-size:18px}.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--brand);font-size:18px;font-weight:600}.text-link svg{width:18px}.text-button{padding:8px 0;color:var(--brand);font-size:18px;display:inline-flex;align-items:center;gap:6px}.text-button:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-button svg{width:15px}
.booking-hero{display:grid;grid-template-columns:1.4fr 1fr;padding:55px 0 44px;gap:80px;border-bottom:1px solid var(--line)}.hero-copy .eyebrow{display:flex;align-items:center;gap:11px}.tiny-line{width:23px;height:1px;background:var(--brand)}.hero-copy h1{font-family:var(--serif);font-size:clamp(42px,4.5vw,60px);font-weight:500;line-height:1.3;letter-spacing:2px;margin:22px 0 20px}.hero-copy>p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.95}.hero-copy .text-link{margin-top:25px}.hero-note{align-self:center;max-width:365px;width:100%;justify-self:end}.hero-art{height:212px;background:#ffeadb;color:#b74b28;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:90px 90px 5px 5px}.hero-art>svg{width:230px;height:160px}.hero-art>span{font-size:18px;letter-spacing:3px;margin-top:6px}.hero-status{display:grid;grid-template-columns:10px 1fr;gap:2px 10px;align-items:center;margin-top:20px;font-size:18px}.hero-status small{grid-column:2;color:var(--muted);font-size:18px}.status-dot{width:6px;height:6px;border-radius:50%;background:#b63e1d}.status-dot.pending{background:#945d22}.notice{padding:20px 24px;display:flex;gap:22px;background:var(--pale);margin-top:28px;border-radius:5px;font-size:18px}.notice strong{white-space:nowrap}.notice p{white-space:pre-wrap}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:76px;align-items:start;padding-top:50px}.form-section{padding-bottom:34px;margin-bottom:32px;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:28px}.section-heading h2{font-size:21px}.section-heading p{font-size:18px;color:var(--muted);margin-top:7px}.section-index{font-size:18px;line-height:28px;color:#795e4f;font-weight:500;letter-spacing:1px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 24px}.field{display:block;position:relative;color:#4f382b;font-size:18px}.field .required{margin-left:3px}.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea,.mri-choice select{display:block;width:100%;margin-top:9px;background:var(--surface);color:var(--ink);border:1px solid #d8b6a2;border-radius:5px;min-height:46px;padding:10px 13px;outline-offset:2px;transition:border-color .18s}.field input:hover,.field select:hover,.field textarea:hover{border-color:#bb7856}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand)}.field input::placeholder,.field textarea::placeholder{color:#7b6254;font-size:18px}.field input:disabled,.field select:disabled{background:#f4e7df;color:#806758;cursor:not-allowed}.field textarea{resize:vertical;min-height:75px}.field>small{display:block;color:var(--muted);font-size:18px;margin-top:8px}.radio-group{display:flex;gap:12px;margin-top:9px}.radio-option{flex:1;position:relative;cursor:pointer}.radio-option input{position:absolute;left:13px;top:14px;margin:0;width:16px;height:16px}.radio-option span{display:flex;align-items:center;min-height:46px;border:1px solid #d8b6a2;border-radius:5px;background:var(--surface);padding:10px 12px 10px 38px}.radio-option input:checked+span{background:var(--pale);border-color:#b04a28;color:var(--brand)}.radio-option:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:3px;border-radius:5px}.matched-profile{display:flex;align-items:flex-start;gap:10px;background:#fff0e5;border-radius:4px;padding:14px 16px;margin-top:24px;font-size:18px;color:#70412a}.matched-profile svg{width:16px;height:18px}.matched-profile small{display:block;font-size:18px;margin-top:4px}.tag{display:inline-block;vertical-align:middle;font-size:18px;font-weight:500;letter-spacing:0;padding:3px 8px;background:var(--pale);color:var(--brand);border-radius:4px;margin-left:6px}.selection-count{margin-left:auto;padding-top:5px;white-space:nowrap;font-size:18px;color:var(--muted)}.selection-count.complete{color:var(--brand);font-weight:600}.group-list{border-top:1px solid var(--line)}.group-row{position:relative;border-bottom:1px solid var(--line);padding:18px 16px;transition:background .2s}.group-row.selected{background:#fff0e5}.group-choice{display:flex;align-items:center;gap:16px;cursor:pointer;position:relative}.group-choice>input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.group-choice:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:7px;border-radius:3px}.group-letter{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:38px;height:38px;font-family:Georgia,serif;font-size:21px;color:var(--brand);background:#f9dac6;border-radius:50%}.selected .group-letter{background:#f4c3a3}.group-text{flex:1}.group-text strong{display:block;font-size:18px;font-weight:500}.group-text small{display:block;font-size:18px;color:var(--muted);margin-top:4px}.custom-check{height:20px;width:20px;border:1px solid #b5866e;border-radius:4px;background:var(--surface);display:flex;align-items:center;justify-content:center}.custom-check svg{width:16px;height:16px;opacity:0}.selected .custom-check{background:var(--brand);border-color:var(--brand);color:var(--surface)}.selected .custom-check svg{opacity:1}.group-detail{margin:8px 0 0 54px;font-size:18px;color:var(--muted)}summary{cursor:pointer}summary::marker{font-size:18px}.group-detail summary{font-size:18px;width:fit-content;min-height:24px;padding:2px 0}.item-list{padding-left:17px;margin:10px 0;line-height:1.9;font-size:18px}.item-list li{padding-left:3px;margin:3px 0}.mri-choice{margin:12px 0 0 54px;display:flex;align-items:center;gap:15px;font-size:18px}.mri-choice select{width:160px;min-height:38px;margin:0;padding:5px 10px}.transport-field{margin-top:23px}.wide{max-width:390px}.inline-note{background:#f2efdf;color:#786d46;padding:12px 14px;border-radius:4px;margin-bottom:23px;font-size:18px}.location-note{font-size:18px;margin-top:18px;color:var(--muted);white-space:pre-wrap}#bus-note{margin-top:12px;white-space:pre-wrap}.submit-section{padding:0 0 14px}.consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:18px;cursor:pointer}.consent input{width:16px;height:16px;margin:3px 0 0;flex-shrink:0}.submit-button{margin-top:24px;min-width:240px}.secure-note{display:flex;align-items:center;gap:7px;margin-top:14px;font-size:18px}.secure-note svg{width:13px;height:13px}.error-message{padding:13px 15px;border:1px solid #e8c0b8;color:var(--red);background:#fbefeb;border-radius:4px;font-size:18px;margin:18px 0}.booking-aside{position:sticky;top:24px}.summary-panel{background:#ffeadb;padding:26px;border-radius:6px}.summary-panel>.eyebrow{font-size:18px;letter-spacing:1px;color:#77513b}.summary-panel h2{font-family:var(--serif);font-size:24px;margin:8px 0 26px;font-weight:500}.summary-line{display:flex;justify-content:space-between;gap:10px;font-size:18px;margin:14px 0}.summary-line>span,.summary-groups>span{color:#75513d}.summary-line strong{font-size:18px;text-align:right}.summary-groups{border-top:1px solid #dfbda7;margin-top:20px;padding-top:18px;font-size:18px}.summary-groups p{margin:10px 0;line-height:1.8}.summary-groups p>b{font-family:Georgia,serif;margin-right:8px;color:var(--brand);font-size:18px}.summary-date{display:flex;gap:9px;align-items:center;padding:15px 0;margin-top:15px;border-top:1px solid #dfbda7;border-bottom:1px solid #dfbda7;font-size:18px}.summary-date svg{width:16px}.summary-panel>.small{font-size:18px;line-height:1.8;margin-top:17px}.aside-details{margin-top:32px}.aside-details h3{font-size:18px;margin-bottom:15px}.base-category{border-bottom:1px solid var(--line)}.base-category>summary{display:flex;align-items:center;padding:14px 0;font-size:18px;gap:8px;list-style:none}.base-category>summary:before{content:'+';font-size:20px;color:var(--brand)}.base-category[open]>summary:before{content:'−'}.base-category>summary span{margin-left:auto;font-size:18px;color:var(--muted)}.base-category summary::-webkit-details-marker{display:none}.base-list{list-style:none;padding:0;margin:0 0 15px;font-size:18px;color:var(--muted)}.base-list li{margin-bottom:9px}.base-list small{display:block;font-size:18px;color:#79543a}.aside-details .text-link{font-size:18px;margin-top:17px}.contact{border-top:1px solid var(--line);margin-top:30px;padding-top:23px}.contact>.eyebrow{display:block;font-size:18px;letter-spacing:1px}.contact strong{display:block;margin-top:10px;font-size:18px}.contact strong small{font-size:18px;font-weight:400;color:var(--muted);margin-left:8px}.contact>a{display:flex;justify-content:space-between;align-items:center;font-size:21px;letter-spacing:1px;margin:5px 0;color:var(--brand);font-family:Georgia,serif}.contact>a svg{width:18px}.contact>.small{font-size:18px}
.page-intro{padding:54px 0 42px}.page-intro h1{font-family:var(--serif);font-size:clamp(30px,3.5vw,44px);font-weight:500;margin:14px 0 16px}.page-intro>p:last-child{font-size:18px;color:var(--muted)}.package-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:80px;border-top:1px solid var(--line);padding-top:40px}.package-section{margin-bottom:48px}.catalog-base{padding-left:32px}.catalog-base .base-category>summary{font-size:20px;padding:18px 0}.catalog-base .base-list{font-size:18px}.catalog-base .base-list li{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid #f0dbcd}.catalog-base .base-list small{text-align:right;flex-basis:140px;flex-shrink:0;font-size:18px}.profile-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.profile-item{border-top:1px solid var(--line);padding:22px 0}.profile-item>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-item h3{font-size:18px}.profile-price{font-family:Georgia,serif;color:var(--brand);font-size:20px;font-weight:400}.profile-item>p{font-size:18px;color:var(--muted);margin-top:14px}.profile-item .item-list{color:var(--muted)}.catalog-group{display:flex;gap:22px;border-top:1px solid var(--line);padding:24px 0}.catalog-group>div{flex:1}.catalog-group h3{margin:6px 0 12px}.catalog-group .item-list{font-size:18px;color:var(--muted)}.package-aside{align-self:start;position:sticky;top:24px}.package-guide{background:var(--pale);padding:28px}.package-guide h2{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.6;margin:20px 0}.package-guide p:not(.eyebrow){font-size:18px;color:var(--muted)}.package-guide .button{margin-top:24px;width:100%}.source-note{font-size:18px;color:var(--muted);margin-top:32px;line-height:2}.receipt-wrap{max-width:640px;margin:65px auto;text-align:center}.success-mark{width:58px;height:58px;background:#fbdac3;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;color:var(--brand)}.success-mark svg{width:29px;height:29px}.receipt-wrap>.eyebrow{font-size:18px;letter-spacing:2px}.receipt-wrap>h1{font-family:var(--serif);font-size:36px;font-weight:500;margin:12px 0}.receipt-wrap>.muted{font-size:18px}.receipt{background:var(--surface);padding:32px;margin-top:30px;border:1px solid var(--line);border-top:3px solid var(--brand);text-align:left;border-radius:3px}.receipt-head{display:flex;align-items:center;gap:14px}.receipt-head img{border-radius:50%}.receipt-head strong{font-size:20px}.receipt-head small{display:block;font-size:18px;color:var(--muted);margin-top:2px}.receipt-id{font-size:18px;color:var(--muted);padding:17px 0;border-bottom:1px dashed var(--line);overflow-wrap:anywhere}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.receipt-grid dt{color:var(--muted);font-size:18px;margin-bottom:5px}.receipt-grid dd{margin:0;font-size:18px}.receipt-items{padding:20px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin-bottom:20px}.receipt-items h3{font-size:18px;margin-bottom:12px}.receipt-items p{font-size:18px;margin-top:8px}.receipt-items b{color:var(--brand);margin-right:14px;font-size:18px}.receipt>.small{margin-top:8px;white-space:pre-wrap}.receipt-actions{display:flex;justify-content:center;gap:14px;margin-top:28px}
.login-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:85px auto;min-height:480px}.login-intro{padding:42px 55px 45px 20px;display:flex;flex-direction:column;align-items:flex-start}.login-intro h1{font-family:var(--serif);font-size:48px;line-height:1.5;font-weight:500;margin:22px 0}.login-intro>p:not(.eyebrow){color:var(--muted);font-size:18px}.login-seal{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:44px;font-size:18px}.login-seal img{width:48px;height:48px;border-radius:50%}.login-seal small{font-size:18px;color:var(--muted)}.login-panel{background:var(--surface);border:1px solid var(--line);padding:44px;border-radius:6px}.login-panel h2{font-size:26px;margin:14px 0 12px}.login-panel>p.muted{font-size:18px}.login-panel form{margin:30px 0 20px}.login-panel .field{margin-bottom:20px}.login-panel .button{width:100%;margin-top:8px}.login-panel>p.small{font-size:18px;text-align:center}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-header .page-intro{padding-bottom:30px}.admin-header .page-intro h1{font-size:36px}.admin-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line)}.admin-tabs button{padding:14px 0;font-size:18px;border-bottom:2px solid transparent}.admin-tabs button[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0;margin:10px 0 30px}.stats-strip>div{padding:0 28px;border-right:1px solid var(--line)}.stats-strip>div:first-child{padding-left:0}.stats-strip>div:last-child{border:0}.stats-strip span{color:var(--muted);font-size:18px}.stats-strip strong{display:block;font-family:Georgia,serif;font-size:36px;font-weight:400;color:var(--brand);line-height:1.5}.stats-strip small{font-family:var(--sans);font-size:18px;color:var(--muted);margin-left:10px}.admin-list{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden}.list-heading{padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.list-heading h2{font-size:20px}.list-heading p{margin-top:7px}.list-heading .button{font-size:18px}.filter-form{display:flex;gap:14px;align-items:flex-end;padding:22px 28px;background:#fff0e5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filter-form .field{flex:1;min-width:100px;font-size:18px}.filter-form .search-field{flex:2.5}.filter-form .field input,.filter-form .field select{font-size:18px;min-height:40px;padding:7px 10px}.filter-form .button{min-height:40px;font-size:18px;padding:8px 17px}.filter-form .text-button{min-height:40px}.table-toolbar{padding:15px 28px;display:flex;justify-content:space-between;align-items:center;font-size:18px;color:var(--muted)}.table-scroll{overflow-x:auto}.appointment-table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:18px}.appointment-table th{background:#fff5ec;color:var(--muted);font-weight:500;font-size:18px;padding:14px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.appointment-table td{padding:19px 18px;border-bottom:1px solid #eed8c8;vertical-align:top}.appointment-table th:first-child,.appointment-table td:first-child{padding-left:28px}.appointment-table td>strong{font-size:18px}.appointment-table td>small{display:block;font-size:18px;color:var(--muted);margin-top:5px}.appointment-table .number{font-variant-numeric:tabular-nums}.group-tags{display:flex;gap:5px}.group-tags span{display:grid;place-items:center;min-width:24px;height:24px;background:#ffeadb;border-radius:3px;color:var(--brand);font-family:Georgia,serif}.bus-tag{font-size:18px;color:var(--muted)}.bus-tag.yes{display:inline-block;background:#fbdac3;color:#82401f;padding:2px 7px;border-radius:3px}.row-detail{max-width:220px;font-size:18px}.row-detail summary{color:var(--brand)}.row-detail>div{margin-top:14px;white-space:normal;overflow-wrap:anywhere;min-width:180px}.row-detail p{font-size:18px;color:var(--muted);margin:3px 0 10px}.empty-state{padding:42px 20px;text-align:center;white-space:normal}.empty-state>svg{color:#ab6846;width:32px;height:32px;margin-bottom:16px}.empty-state h3{font-size:20px;font-weight:500}.empty-state p{font-size:18px;color:var(--muted);margin-top:10px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;font-size:18px;color:var(--muted)}.pagination>div{display:flex;gap:8px}.settings-layout{display:grid;grid-template-columns:minmax(0,700px) 1fr;gap:75px;padding-top:35px}.settings-form .form-section>h2{font-size:20px;margin-bottom:10px}.settings-form .form-section>.muted{font-size:18px}.settings-form .form-section>.field{margin-top:24px}.settings-form .field-grid{margin-top:28px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);cursor:pointer}.toggle-row strong{font-size:18px;font-weight:500}.toggle-row small{display:block;font-size:18px;color:var(--muted);margin-top:5px}.toggle-row input{appearance:none;flex-shrink:0;width:38px;height:22px;border-radius:20px;background:#d8b8a3;position:relative;cursor:pointer;transition:background .2s}.toggle-row input:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);transition:transform .2s}.toggle-row input:checked{background:var(--brand)}.toggle-row input:checked:after{transform:translateX(16px)}.settings-help{background:var(--pale);padding:28px;align-self:start;margin-top:10px}.settings-help h3{font-family:var(--serif);font-size:25px;line-height:1.6;font-weight:500;margin:16px 0}.settings-help>p:not(.eyebrow){font-size:18px;color:var(--muted);margin:18px 0}.settings-help .text-link{font-size:18px;margin-top:8px}.save-success{margin-top:18px;color:var(--brand);font-size:18px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--brand-dark);color:var(--surface);padding:14px 24px;border-radius:5px;font-size:18px;max-width:calc(100% - 32px);width:max-content;z-index:20;box-shadow:0 5px 25px #60230f20}.initial-loading,.loading{padding:60px 0;text-align:center;color:var(--muted);font-size:18px}.error-state{text-align:center;padding:90px 20px}.error-state h1{font-size:28px}.error-state p{color:var(--muted);margin:18px 0}.page-intro,.booking-hero,.login-layout{animation:enter .5s ease-out}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){main{max-width:1184px}.booking-hero{padding-top:65px;padding-bottom:55px}.booking-layout{gap:90px}}
@media(max-width:1279px){main,.site-footer{margin-left:48px;margin-right:48px}.booking-layout{gap:45px;grid-template-columns:minmax(0,1fr) 280px}.package-layout{gap:50px}.settings-layout{gap:40px}.filter-form{gap:10px;padding-left:22px;padding-right:22px}}
@media(max-width:1000px){.site-header{padding:22px 32px}.site-header nav{gap:22px}main,.site-footer{margin-left:32px;margin-right:32px}.booking-hero{gap:40px}.booking-layout{gap:30px;grid-template-columns:minmax(0,1fr) 250px}.summary-panel{padding:22px}.field-grid{gap:20px 16px}.group-row{padding-left:10px;padding-right:10px}.group-choice{gap:12px}.group-detail,.mri-choice{margin-left:50px}.group-text small{font-size:18px}.mri-choice{align-items:stretch;flex-direction:column;gap:8px}.mri-choice select{width:100%}.section-heading{gap:12px}.selection-count{font-size:18px}.package-layout{grid-template-columns:minmax(0,1fr) 240px;gap:35px}.package-guide{padding:22px}.profile-list{grid-template-columns:1fr}.login-layout{margin-top:55px}.login-panel{padding:32px}.login-intro{padding-right:30px}.login-intro h1{font-size:42px}.filter-form{flex-wrap:wrap}.filter-form .search-field{flex-basis:100%}.filter-form .field{flex-grow:1}.settings-layout{grid-template-columns:minmax(0,1fr) 240px;gap:30px}.settings-help{padding:22px}}
@media(max-width:760px){.site-header{padding:18px 24px 0;flex-wrap:wrap;gap:13px}.brand img{width:40px;height:40px}.brand strong{font-size:20px}.brand small{font-size:18px;letter-spacing:1.8px}.site-header nav{width:100%;gap:28px;font-size:18px}.site-header nav a{padding:10px 0 15px}.site-header nav a[aria-current=page]:after{bottom:7px}.site-header nav .admin-link{padding-left:0;border:0;margin-left:auto}main,.site-footer{margin-left:24px;margin-right:24px}.booking-hero{padding:35px 0 30px;grid-template-columns:1fr 155px;gap:15px;align-items:start}.hero-copy .eyebrow{font-size:18px;letter-spacing:1px}.tiny-line{width:14px}.hero-copy h1{font-size:38px;line-height:1.4;margin:20px 0 14px;letter-spacing:0}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-copy .text-link{font-size:18px;margin-top:20px}.hero-note{align-self:center;margin-top:10px}.hero-art{height:153px;border-radius:70px 70px 4px 4px}.hero-art>svg{width:140px;height:116px}.hero-art>span{font-size:18px;letter-spacing:1px}.hero-status{font-size:18px;gap:2px 7px;margin-top:13px}.hero-status small{font-size:18px;line-height:1.8}.booking-layout{display:block;padding-top:32px}.booking-aside{position:static;margin-top:35px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.summary-panel{grid-column:1/-1}.summary-panel h2{margin-bottom:18px}.summary-line{font-size:18px}.summary-line strong{font-size:18px}.summary-groups{font-size:18px}.summary-panel>.small{font-size:18px}.summary-date{font-size:18px}.aside-details,.contact{margin:0}.contact{padding-top:14px}.contact>a{font-size:19px}.aside-details .text-link{font-size:18px}.form-section{padding-bottom:28px;margin-bottom:28px}.section-heading h2{font-size:20px}.section-heading{margin-bottom:23px}.section-heading p{font-size:18px}.section-index{font-size:18px}.selection-count{font-size:18px}.group-row{padding:18px 12px}.group-text small{font-size:18px}.group-detail summary{font-size:18px;padding:4px 0}.mri-choice{flex-direction:row;align-items:center;gap:12px}.mri-choice select{max-width:140px}.submit-button{width:100%;min-height:50px}.consent{font-size:18px}.notice{padding:16px;gap:12px;font-size:18px;flex-direction:column}.page-intro{padding:35px 0 30px}.page-intro h1{font-size:31px;margin:16px 0}.page-intro>p:last-child{font-size:18px}.package-layout{display:block;padding-top:30px}.package-aside{position:static;margin-top:36px}.package-guide h2 br{display:none}.package-guide h2{font-size:24px}.package-aside .contact{margin-top:28px;padding-top:22px}.profile-list{grid-template-columns:1fr 1fr;gap:22px}.profile-item>div{flex-wrap:wrap;gap:10px}.catalog-base{padding-left:0}.catalog-base .base-list li{display:block}.catalog-base .base-list small{display:block;text-align:left;margin-top:3px}.catalog-group{gap:16px}.package-section{margin-bottom:32px}.login-layout{display:block;margin:35px 0}.login-intro{padding:0 0 30px}.login-intro h1{font-size:33px;line-height:1.5;margin:15px 0}.login-intro h1 br{display:none}.login-seal{display:none}.login-panel{padding:28px}.login-panel h2{font-size:24px}.admin-header{align-items:flex-start}.admin-header .page-intro{padding-top:35px}.admin-header>.button{margin-top:42px;white-space:nowrap}.admin-header .page-intro h1{font-size:28px}.admin-header .eyebrow{font-size:18px}.admin-header .page-intro>p:last-child{font-size:18px}.stats-strip{padding:22px 0;margin:5px 0 20px}.stats-strip>div{padding:0 14px}.stats-strip span{font-size:18px}.stats-strip strong{font-size:28px}.stats-strip small{margin-left:5px;font-size:18px}.list-heading{padding:20px;align-items:flex-start}.list-heading h2{font-size:18px}.list-heading .button{padding:8px 12px;font-size:18px;min-height:40px;gap:7px}.list-heading .button svg{width:15px}.list-heading p{max-width:140px;font-size:18px}.filter-form{padding:18px;gap:12px}.filter-form .field{flex-basis:calc(50% - 12px)}.filter-form .search-field{flex-basis:100%}.filter-form .text-button{padding:8px}.table-toolbar{padding:12px 18px}.table-toolbar .text-button{font-size:18px}.table-scroll{max-width:100%}.pagination{padding:18px;font-size:18px}.pagination .button{padding:6px 10px;font-size:18px}.settings-layout{display:block;padding-top:28px}.settings-help{margin-top:30px}.settings-form>.button{width:100%}.settings-help h3 br{display:none}.receipt-wrap{margin:40px 0}.receipt-wrap>h1{font-size:30px}.receipt-wrap>.muted{font-size:18px}.receipt{padding:23px}.receipt-grid{gap:20px 16px}.receipt-grid dd{font-size:18px}.receipt-actions{gap:10px}.receipt-actions .button{font-size:18px;padding:10px 15px}.site-footer{margin-top:50px;flex-direction:column;gap:8px;font-size:18px}}
@media(max-width:390px){main,.site-footer{margin-left:18px;margin-right:18px}.site-header{padding-left:18px;padding-right:18px}.booking-hero{grid-template-columns:1fr 126px;gap:12px}.hero-copy h1{font-size:33px}.hero-copy .eyebrow{font-size:18px}.hero-art{height:137px}.hero-art>svg{width:120px;height:105px}.hero-art>span{font-size:18px}.field-grid{gap:20px 12px}.radio-option span{padding-left:31px;padding-right:8px;font-size:18px}.radio-option input{left:10px;width:14px;height:14px;top:15px}.radio-group{gap:8px}.group-text strong{font-size:18px}.group-text small{font-size:18px}.group-letter{width:32px;height:32px;font-size:19px}.group-choice{gap:10px}.group-detail,.mri-choice{margin-left:42px}.mri-choice{flex-direction:column;align-items:stretch}.mri-choice select{max-width:none}.selection-count{font-size:18px}.section-heading{gap:10px}.section-heading h2{font-size:18px}.booking-aside{grid-template-columns:1fr}.summary-panel{grid-column:auto}.contact{padding-top:22px}.stats-strip>div{padding:0 9px}.stats-strip span{font-size:18px}.stats-strip strong{font-size:25px}.list-heading{gap:10px}.list-heading .button{font-size:18px;padding:8px 9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff;font-size:18px}.site-header,.site-footer,.receipt-actions,.toast,.skip-link{display:none!important}main{margin:0;max-width:none;min-height:0}.receipt-wrap{margin:0 auto;max-width:650px}.receipt-wrap>.eyebrow,.receipt-wrap>h1,.receipt-wrap>.muted,.success-mark{display:none}.receipt{border:1px solid #aaa;margin-top:0;break-inside:avoid;background:#fff}.receipt *{color:#111!important}.receipt-head img{width:45px;height:45px}}

/* Larger text and generous controls for older staff, at every screen size. */
.button{min-height:52px;font-size:18px;padding:12px 22px}
.small-button{min-height:48px;font-size:16px}
.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea,.mri-choice select{font-size:18px;min-height:54px}
.field input::placeholder,.field textarea::placeholder{font-size:18px;color:#7b6254}
.field>small,.small,.eyebrow,.brand small,.site-footer,.hero-art>span,.group-detail summary,.tag,.section-index,.selection-count,.secure-note{font-size:16px}
.hero-art>span{letter-spacing:1px}.hero-status small{font-size:16px;line-height:1.9}
.booking-hero{grid-template-columns:minmax(0,1fr) 390px;gap:45px}.hero-note{max-width:390px}
.hero-copy>p:not(.eyebrow){font-size:18px}.hero-status{font-size:18px;align-items:start}
.schedule-announcement{margin-top:28px;padding:24px 28px;background:var(--pale);border:1px solid var(--line);border-radius:6px;font-size:18px}
.schedule-announcement>strong{display:block;font-size:22px;margin-bottom:10px}.schedule-announcement p+p{margin-top:8px}
.booking-layout{grid-template-columns:minmax(0,1fr) 340px;gap:48px}
.radio-option input{width:22px;height:22px;top:17px;left:14px}.radio-option span{min-height:56px;padding:12px 14px 12px 46px;font-size:18px}
.radio-option input:disabled+span{background:#f4e7df;color:#806758;cursor:not-allowed}
.radio-option input:checked+span{font-weight:600}.radio-group{gap:14px}
.consent{font-size:18px;gap:12px}.consent input{width:22px;height:22px;margin-top:5px}
.custom-check{width:26px;height:26px;flex-shrink:0}.custom-check svg{width:20px;height:20px}
.group-row{padding:24px 16px}.group-text strong{font-size:20px}.group-text small{font-size:18px;line-height:1.8}
.group-detail summary{min-height:44px;display:flex;align-items:center;gap:8px}.group-detail summary:before{content:'＋'}
.group-detail[open] summary:before{content:'−'}.group-detail .item-list{font-size:18px}
.section-heading{flex-wrap:wrap}.section-heading>div{flex:1;min-width:0}.section-heading h2{font-size:24px}.section-heading p{font-size:18px}
.selection-count{align-self:center}.section-index{line-height:32px}
.summary-line,.summary-line strong,.summary-groups,.summary-date,.summary-panel>.small{font-size:18px}
.summary-line{flex-wrap:wrap;gap:4px 12px}.summary-groups p>b{font-size:20px}
.summary-date{align-items:flex-start}.aside-details h3,.base-category>summary,.aside-details .text-link{font-size:18px}
.base-list,.base-list small,.base-category>summary span{font-size:16px}.summary-panel{padding:26px}
.booking-aside{position:static}.contact strong{font-size:20px}.contact strong small,.contact>.small{font-size:16px}.contact>a{font-size:26px}
.date-field{margin-bottom:22px}.date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.date-option span{white-space:normal;line-height:1.7}.time-field{max-width:380px}.time-pending{margin-top:18px}
.mri-choice{flex-wrap:wrap;font-size:18px}.mri-choice select{width:190px}
.admin-header .page-intro>p:last-child,.page-intro>p:last-child{font-size:18px}
.filter-form{flex-wrap:wrap;gap:18px}.filter-form .field{min-width:140px}.filter-form .search-field{flex:2 1 300px}
.filter-form .field input,.filter-form .field select{font-size:18px;min-height:52px}.filter-form .button{font-size:18px;min-height:52px}
.text-button,.table-toolbar,.table-toolbar .text-button,.appointment-table th,.appointment-table td>small,.bus-tag,.row-detail,.row-detail p,.pagination,.pagination .button{font-size:16px}
.appointment-table{font-size:18px}.appointment-table td>strong{font-size:20px}.appointment-table th{padding-top:18px;padding-bottom:18px}
.row-detail summary{min-height:44px}.row-detail>div{min-width:240px}.group-tags span{min-width:32px;height:32px}
.stats-strip span,.stats-strip small{font-size:16px}.stats-strip strong{font-size:36px}
.list-heading .button{font-size:18px}.pagination{gap:18px;flex-wrap:wrap}
.catalog-base .base-category>summary,.catalog-base .base-list,.catalog-group .item-list,.profile-item .item-list,.profile-item>p{font-size:18px}
.catalog-base .base-list small{font-size:16px;flex-basis:175px}.profile-list{grid-template-columns:1fr}.profile-item h3{font-size:20px}
.package-layout{grid-template-columns:minmax(0,1fr) 320px;gap:48px}.package-aside{position:static}
.package-guide p:not(.eyebrow),.source-note,.settings-help>p:not(.eyebrow){font-size:18px}
.toggle-row small{font-size:16px}.toggle-row strong{font-size:18px}.toggle-row input{width:48px;height:28px}
.toggle-row input:after{width:22px;height:22px}.toggle-row input:checked:after{transform:translateX(20px)}
.receipt-grid dt,.receipt-id,.receipt-head small{font-size:16px}.receipt-grid dd,.receipt-items p,.receipt>.small,.receipt-wrap>.muted{font-size:18px}
.receipt-items b,.receipt-items h3{font-size:18px}.receipt-head strong{font-size:22px}
.login-panel>p.muted,.login-panel>p.small,.login-intro>p:not(.eyebrow){font-size:18px}
.site-header nav{gap:25px}.site-header nav .admin-link{padding-left:20px}
@media(max-width:1100px){
  .booking-layout,.package-layout{grid-template-columns:minmax(0,1fr) 300px;gap:30px}
  .booking-form .field-grid{grid-template-columns:1fr}.booking-hero{grid-template-columns:minmax(0,1fr) 320px;gap:30px}
  .date-grid{grid-template-columns:1fr}.summary-panel{padding:22px}.hero-copy h1{font-size:46px}
  .site-header{flex-wrap:wrap}.site-header nav{flex-wrap:wrap}.settings-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  main,.site-footer{margin-left:20px;margin-right:20px}.site-header{padding-left:20px;padding-right:20px}
  .brand strong{font-size:20px}.brand small{font-size:16px;letter-spacing:0}.brand img{width:48px;height:48px}
  .site-header nav{gap:18px;justify-content:space-between;font-size:18px}.site-header nav .admin-link{padding-left:0;margin-left:0}
  .booking-hero{grid-template-columns:1fr;gap:28px;padding-top:32px}.hero-copy h1{font-size:42px;line-height:1.4}
  .hero-copy .eyebrow{font-size:16px;letter-spacing:.5px}.hero-copy .text-link{font-size:18px}
  .hero-note{max-width:none;width:100%;margin:0}.hero-art{display:none}.hero-status{margin-top:0;padding:18px;background:var(--pale);border-radius:5px}
  .hero-status small{font-size:18px}.status-dot{margin-top:11px}.hero-status{font-size:20px}
  .booking-layout,.package-layout{display:block}.booking-aside{display:block}.booking-aside>div{margin-top:28px}
  .booking-aside .summary-panel{margin-top:0}.aside-details h3{font-size:20px}
  .field-grid{grid-template-columns:1fr;gap:24px}.date-grid{grid-template-columns:1fr}
  .section-heading{gap:12px}.section-heading h2{font-size:24px}.section-heading p{font-size:18px}.selection-count{margin-left:32px}
  .group-row{padding:22px 10px}.group-choice{gap:12px}.group-letter{width:38px;height:38px;font-size:24px}
  .group-text strong{font-size:20px}.group-text small{font-size:18px}.group-detail,.mri-choice{margin-left:0;margin-top:14px}
  .group-detail summary{font-size:18px}.mri-choice{display:block}.mri-choice select{width:100%;max-width:none;margin-top:12px}
  .schedule-announcement{padding:20px}.consent{font-size:18px}.submit-button{min-height:56px}.secure-note{font-size:16px;align-items:flex-start}
  .text-link{font-size:18px}.hero-copy>p:not(.eyebrow){font-size:18px}.tag{font-size:16px;padding:4px 8px;margin-left:3px}
  .profile-list{grid-template-columns:1fr}.package-guide h2{font-size:28px}.catalog-base .base-list small{font-size:16px}
  .catalog-group{gap:14px}.receipt-grid{grid-template-columns:1fr;gap:22px}.receipt-actions{flex-direction:column}
  .receipt-actions .button{font-size:18px;min-height:52px}.receipt{padding:22px}.receipt-head strong{font-size:20px}
  .receipt-grid dd,.receipt-wrap>.muted{font-size:18px}.receipt-wrap>h1{font-size:34px}.receipt-wrap>.eyebrow{font-size:16px;letter-spacing:1px}
  .admin-header{flex-wrap:wrap;gap:0}.admin-header>.button{margin:0 0 20px}.admin-header .page-intro>p:last-child{font-size:18px}
  .stats-strip{grid-template-columns:1fr 1fr;gap:22px}.stats-strip>div{padding:0 16px;border:0}.stats-strip>div:first-child{padding-left:16px}
  .stats-strip span,.stats-strip small{font-size:16px}.stats-strip strong{font-size:36px}
  .list-heading{align-items:stretch;flex-direction:column}.list-heading p{max-width:none;font-size:16px}.list-heading .button{font-size:18px}
  .filter-form .field,.filter-form .search-field{flex-basis:100%;min-width:0}.filter-form .button{flex:1}
  .table-toolbar{gap:12px;flex-wrap:wrap;font-size:16px}.table-toolbar .text-button{font-size:16px}
  .pagination{font-size:16px}.pagination .button{font-size:16px;min-height:48px}.row-detail summary{font-size:18px}
  .login-panel{padding:24px}.login-intro h1{font-size:34px}.login-intro>p:not(.eyebrow){font-size:18px}
  .site-footer{font-size:16px;letter-spacing:0}.contact>a{font-size:26px}.toast{font-size:18px}
}
@media print{.receipt-grid{grid-template-columns:1fr 1fr}.receipt-grid dt,.receipt-id,.receipt-head small{font-size:12px}.receipt-grid dd,.receipt-items p,.receipt>.small{font-size:14px}}

/* Quiet, transparent footer entry; keep the text readable and keyboard accessible. */
.site-footer{align-items:center;gap:20px;flex-wrap:wrap}
.footer-admin-link{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;background:transparent;border:0;color:var(--muted);font-size:16px;font-weight:400}
.footer-admin-link:hover,.footer-admin-link:focus-visible{color:var(--brand);text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.site-header nav{justify-content:flex-start;gap:32px}.site-footer{align-items:flex-start;gap:8px}}
