:root{--green:#173e32;--muted:#53665a;--cream:#f8f2e3;--gold:#b8954c;--rust:#8d422b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--green);font:16px/1.55 system-ui,sans-serif;border:9px double var(--green)}a{color:inherit;text-underline-offset:4px}.draft{padding:10px 20px;background:#e9dfc7;text-align:center;font-size:14px}header{max-width:1180px;margin:auto;padding:24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b8954c66;gap:20px}.brand{font:26px Georgia,serif;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:24px;font-size:15px}main{max-width:1180px;margin:auto;padding:0 24px 70px}.welcome{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:65px;align-items:center;padding:55px 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--rust);margin:0 0 14px}h1{font:clamp(48px,6vw,76px)/1.04 Georgia,serif;letter-spacing:-.04em;margin:0 0 22px}h2{font:36px/1.1 Georgia,serif;margin:0 0 14px}.lead{font-size:19px;max-width:590px}.welcome p{max-width:590px}.visit{padding:18px;background:#eee4cd;border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:5px}.visit img{display:block;width:100%;height:175px;object-fit:cover;object-position:50% 35%;margin:0 0 13px}.visit small{font-size:14px;color:var(--muted)}.visit p{margin-bottom:10px}.forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.panel{border-top:4px solid var(--green);background:#fffcf5;padding:30px;box-shadow:0 5px 24px #173e320a}.panel>p:not(.eyebrow){color:var(--muted);margin-bottom:28px}form{display:grid;gap:20px}label{display:block;font-weight:600;font-size:15px}label span{font-weight:400;color:var(--muted);font-size:14px}input:not([type=radio]),textarea,select{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #99a297;border-radius:4px;background:#fffefb;color:#173e32;font:16px/1.4 system-ui,sans-serif}textarea{resize:vertical}fieldset{margin:0;padding:14px;border:1px solid #c7c9ba}legend{font-weight:600;font-size:15px;padding:0 5px}.choice{display:flex;align-items:center;gap:10px;font-weight:400;margin:9px 0;min-height:28px}input[type=radio]{width:18px;height:18px;accent-color:var(--green)}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}#attendance-details{display:grid;gap:20px}#attendance-details[hidden]{display:none}.button{display:inline-block;text-decoration:none;background:var(--green);color:white;padding:13px 22px;border:0;border-radius:4px;font:600 16px/1.5 system-ui;cursor:pointer}.welcome .button{margin-top:12px}.button:hover{background:#285744}input:focus,textarea:focus,select:focus,a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.fine{font-size:14px;color:var(--muted);margin:0}.result{padding:20px;margin-top:25px;border:1px solid var(--gold);background:#f6edd9}.result p{margin:5px 0}.result h3{margin:0 0 12px;font:25px Georgia,serif}.result dl{margin:0}.result dt{font-weight:700;margin-top:12px}.result dd{margin:2px 0;white-space:pre-wrap;overflow-wrap:anywhere}footer{border-top:1px solid #b8954c66;max-width:1132px;margin:auto;padding:25px 0;display:flex;justify-content:space-between;gap:15px;font-size:14px}@media(max-width:900px){header{align-items:start;flex-direction:column}nav{gap:20px}.welcome{grid-template-columns:1fr;gap:30px;padding:35px 0}.visit{display:none}.forms{grid-template-columns:1fr}.panel{padding:24px}main{padding:0 14px 35px}footer{padding:24px;flex-direction:column}.row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep native controls within their grid cells, including date and file inputs. */
.panel,.welcome>*,form,fieldset,label,.row,#attendance-details{min-width:0}input:not([type=radio]),textarea,select{min-width:0;max-width:100%}label{overflow-wrap:anywhere}.row>label{display:flex;flex-direction:column;align-items:stretch}.row>label>input,.row>label>select{margin-top:7px}input[type=file]{font-size:14px}input[type=file]::file-selector-button{max-width:100%;margin-right:8px;padding:6px 8px}input[type=radio]{flex-shrink:0}h1{line-height:1.12;letter-spacing:-.025em}h2{line-height:1.2}footer{flex-wrap:wrap}@media(max-width:540px){.row{grid-template-columns:minmax(0,1fr);gap:20px}.panel{padding:22px 18px}h1{font-size:clamp(38px,10vw,52px)}h2{font-size:30px}.brand{font-size:24px}nav{column-gap:18px;row-gap:10px}}

/* The wrapper owns the date-field border so iOS native date sizing cannot extend it. */
.date-control{display:block;width:100%;min-width:0;max-width:100%;margin-top:7px;padding:11px 12px;border:1px solid #99a297;border-radius:4px;background:#fffefb;box-sizing:border-box;overflow:hidden}
.date-control input[type=date]{-webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;margin:0;padding:0;border:0;border-radius:0;min-height:24px;background:transparent;text-align:left}
.date-control input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.date-control input[type=date]::-webkit-datetime-edit{padding:0;min-width:0}
.date-control:focus-within{outline:3px solid var(--gold);outline-offset:3px}
.date-control input[type=date]:focus{outline:none}

.map-downloads{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:22px 0;border-bottom:1px solid #b8954c66}.map-downloads>div{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:15px}.map-downloads .button{white-space:normal}

/* One map destination; file options stay tucked away until requested. */
.visit .map-view{display:block;text-align:center;margin:12px 0}
.map-files{margin:12px 0}
.map-files summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}
.map-files>div{display:grid;gap:4px;padding:4px 0 8px}
.map-files a{display:block;padding:9px 0;min-height:44px}
#farm-maps{scroll-margin-top:22px}
@media(max-width:900px){.visit{display:block;width:100%;max-width:480px;margin:0 auto}.visit img{height:180px}.visit .map-view{margin-top:12px}}
