/* Shared additions: accessible forms, landing page and agenda. */
.admin-dialog{width:min(580px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:24px;padding:28px;background:var(--porcelain);color:var(--ink);box-shadow:var(--shadow)}.admin-dialog::backdrop{background:rgba(18,32,27,.6)}.admin-dialog h2{font:600 36px/1.1 'Cormorant Garamond',Georgia,serif;color:var(--green);margin:0 0 16px}.dialog-fields{border:0;padding:0;margin:20px 0;min-width:0;display:grid;gap:16px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.dialog-actions .btn{width:auto}.account-settings{margin-top:24px;max-width:720px}.account-settings summary{font-weight:600;color:var(--green);cursor:pointer}.account-settings form{max-width:480px;display:grid;gap:16px}.action-group{min-width:140px}.admin-dialog input,.admin-dialog select{min-width:0}.admin-dialog .fine{margin:0}.admin-dialog .notice{margin-top:12px}.admin-dialog .dialog-fields:disabled{opacity:.75}@media(max-width:600px){.admin-dialog{padding:22px 18px}.admin-dialog h2{font-size:32px}.dialog-actions .btn{flex:1}.account-settings{padding:20px}}
:focus-visible{outline:3px solid #8A7462;outline-offset:4px}button,a,input,select{touch-action:manipulation}body{overflow-wrap:break-word}.skip-link{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-160%);background:#fff;color:#3F5B52;padding:12px}.skip-link:focus{transform:none}.brand-symbol{width:46px;height:46px;background:var(--green);display:grid;place-items:center;border-radius:50%;flex-shrink:0}.brand-symbol img{width:38px;height:38px;object-fit:contain}.credentials-line{font:400 13px/1.8 Montserrat,system-ui,sans-serif!important;letter-spacing:0!important;margin-top:28px!important}.footer-brand{letter-spacing:.13em;font-size:14px}.fine{font-size:12px;line-height:1.7}.narrow{max-width:790px}.center{text-align:center}.page-heading{font:500 clamp(38px,5.5vw,64px)/1.05 'Cormorant Garamond',Georgia,serif;color:var(--green);margin:16px 0 20px}.lp-heading{font:500 clamp(37px,5vw,62px)/1.03 'Cormorant Garamond',Georgia,serif;color:var(--green);margin:10px 0 24px}.about .lp-heading{color:white}.light{color:var(--sand)}.lp-hero h1 em{font-style:italic;color:var(--bronze)}figure.portrait-card{margin:0}.text-link{font-size:14px;align-self:center;text-underline-offset:5px}.trust-strip{padding:28px 0;background:var(--sage)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.trust-grid p{margin:0;display:grid;gap:5px}.trust-grid strong{font:600 25px 'Cormorant Garamond',Georgia,serif;color:var(--green)}.trust-grid span{font-size:12px}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.scenario{border-top:1px solid var(--sand);padding:24px 8px}.scenario .num{font-size:12px;color:var(--bronze)}.scenario h3{font:600 28px/1.1 'Cormorant Garamond',Georgia,serif;color:var(--green)}.scenario p{font-size:14px}.section-action{margin-top:30px}.light-button{background:var(--porcelain);color:var(--green)}.light-button:hover{background:var(--sage);color:var(--green)}.values .timeline .item{border-color:var(--line)}.values .timeline h3{font:600 26px 'Cormorant Garamond',Georgia,serif;margin:8px 0;color:var(--green)}.values .timeline p{font-size:14px;margin:5px 0}.lp-faq{background:#ebece7}.booking-shell{padding:42px 0 74px;min-height:70vh}.booking-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start;margin-top:30px}.booking-layout section{padding:28px}.booking-layout h2,.admin-grid h2{font:600 29px 'Cormorant Garamond',Georgia,serif;color:var(--green);margin:0 0 20px}.booking-form-panel .field,.login-card .field,#create-slot-form .field{margin-bottom:17px}.optional{font-weight:400;text-transform:none}.checkbox-label{display:flex;align-items:flex-start;gap:12px;text-transform:none;font-weight:400;letter-spacing:0;line-height:1.6;margin:20px 0}.checkbox-label input{width:19px;height:19px;flex-shrink:0;margin-top:4px;accent-color:var(--green)}.full-width{width:100%;margin-top:10px}.slot-days{margin-top:24px}.day-block h3{font-size:14px;margin:0 0 14px;color:var(--green);text-transform:capitalize}.slot{min-height:44px}.slot.selected{background:var(--green);color:#fff}.notice{margin:16px 0}.notice:empty{display:none}.help-line{margin-top:25px;font-size:14px}.text-button{padding:8px 0;margin:12px 0;border:0;background:transparent;color:var(--green);cursor:pointer;text-decoration:underline}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.filter-bar{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.filter-bar .field{min-width:175px;flex:1}.filter-bar button{height:49px}.admin-grid{grid-template-columns:290px 1fr}.admin-grid .panel{padding:22px}.admin-grid section{padding:22px}.admin-grid table td{white-space:normal;vertical-align:top}.agenda-panel{min-width:0}.cell-person p{margin:0 0 5px}.cell-person a{display:block;font-size:12px}.action-group{display:flex;gap:6px;flex-wrap:wrap}.action-group .btn{min-height:38px}.table .pill{white-space:nowrap}.cancelled-history{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.cancelled-history summary{cursor:pointer;color:var(--green)}.cancelled-history li{margin:10px 0;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.confirmation{padding:32px 0}.confirmation h2{font-size:42px}.confirmation .actions{display:flex;gap:12px;flex-wrap:wrap}.confirmation code{font-size:12px;word-break:break-all}.login-card .notice{font-size:13px}.login-card{max-width:490px}.login-card a{font-size:13px}.admin-shell .page-heading{margin-bottom:0}.admin-shell .topbar{position:static}.time-note{display:block;font-size:11px;color:var(--muted)}.faq details p{font-size:14px}.lp-hero .hero-actions{align-items:center}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:1000px){.admin-grid{grid-template-columns:1fr}.booking-layout{grid-template-columns:1fr}.scenario-grid{grid-template-columns:repeat(2,1fr)}.admin-grid aside form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-grid aside form .field{margin:0}.admin-grid aside form button{align-self:end}.navlinks .btn{width:auto}}
@media(max-width:600px){.trust-grid{grid-template-columns:1fr;gap:18px}.trust-grid p{border-bottom:1px solid rgba(63,91,82,.15);padding-bottom:12px}.trust-grid p:last-child{border:0}.scenario-grid{grid-template-columns:1fr;gap:2px}.scenario{padding:20px 0}.hero h1{font-size:54px}.hero-grid{gap:28px}.portrait-card{min-height:400px}.booking-layout section{padding:20px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-actions .text-link{text-align:center}.credentials-line{font-size:12px!important}.nav{gap:8px}.navlinks{gap:0}.navlinks a.btn{font-size:11px;padding:9px 12px}.brand{gap:8px}.brand-text strong{font-size:11px;letter-spacing:.08em}.brand-symbol{width:34px;height:34px}.brand-symbol img{width:29px;height:29px}.brand-text span{display:none}.section-title{margin-bottom:24px}section{padding:54px 0}.filter-bar .field{min-width:140px}.admin-grid aside form{grid-template-columns:1fr}.table th,.table td{padding:10px 8px;font-size:12px}.table .btn{font-size:11px;padding:7px 10px;width:auto}.table th:nth-child(2){min-width:90px}.table th:nth-child(4){min-width:130px}.table th:nth-child(5){min-width:110px}.login-card{padding:26px}.login-card h1{font-size:38px}.footer-grid{gap:15px}.footer-grid>div{width:100%}.booking-shell{padding-top:28px}}
