:root{color-scheme:light;--cream:#F4EAD5;--paper:#FBF5E9;--ink:#1F2A22;--green:#2F4A3A;--red:#A6362A;--gold:#E8B85A}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Work Sans',system-ui,sans-serif;font-size:17px;line-height:1.5}a{color:#8C3A12;text-underline-offset:4px}a:hover{color:#5E2208}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,summary,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #D9A13B;outline-offset:3px}h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-variation-settings:'SOFT' 100;font-weight:800;line-height:1.08;margin:0}h2{font-size:clamp(40px,5vw,64px);font-weight:900}h3{font-size:30px}h4,p{margin:0}p+p{margin-top:12px}svg{flex-shrink:0}.container{max-width:1240px;margin:auto;padding-left:clamp(16px,4vw,48px);padding-right:clamp(16px,4vw,48px)}.section{padding:64px 0 72px}.eyebrow{font-family:'Space Mono',monospace;font-size:13px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.section>.container>.eyebrow,.section-heading>div>.eyebrow{color:#8C3A12;margin-bottom:12px}.intro{max-width:670px;font-size:19px;margin-top:20px}.navlink{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid transparent;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}.navlink:hover{border-color:var(--ink);color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:50px;padding:10px 22px;border:2px solid var(--ink);border-radius:999px;background:var(--red);color:var(--paper);text-decoration:none;font-weight:700;font-size:16px;box-shadow:3px 3px 0 var(--ink);line-height:1.3;gap:8px}.button:hover{filter:brightness(.96);color:var(--paper)}.button.small{min-height:44px;padding:8px 16px;box-shadow:2px 2px 0 var(--ink);font-size:15px}.button.gold{background:var(--gold);color:var(--ink)}.button.outline-light{background:transparent;color:var(--cream);border-color:var(--cream);box-shadow:none}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.lodge{background:var(--green);color:var(--cream);margin-top:-1px}.lodge-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;padding-top:52px;padding-bottom:72px;align-items:center}.lodge .eyebrow{color:var(--gold);margin-bottom:12px}.property-name{margin:32px 0 8px;font-size:30px;font-weight:600}address{font-style:normal;font-size:20px}.lodge-facts{display:flex;flex-wrap:wrap;gap:32px;margin:32px 0 0;padding-top:22px;border-top:2px solid #81927B}.lodge-facts dt{font:13px 'Space Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.lodge-facts dd{margin:6px 0 0;font:700 24px 'Fraunces',serif}.house-photo{margin:0;border:2px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--paper);box-shadow:7px 7px 0 #1C3026;transform:rotate(1deg)}.house-photo img{display:block;width:100%;height:355px;object-fit:cover;object-position:50% 53%}.house-photo figcaption{padding:12px 16px;color:var(--ink);font-family:'Space Mono',monospace;font-size:13px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.meal-counter{flex-shrink:0;min-width:180px;padding:20px;border:2px solid var(--ink);border-radius:12px;transform:rotate(2deg);background:var(--gold)}.meal-counter strong{display:block;font:900 38px 'Fraunces',serif;margin-top:4px}.punches{display:flex;gap:9px;margin-top:10px}.punches span{display:block;width:21px;height:21px;border:2px solid var(--ink);border-radius:50%;background:var(--cream)}.punches .filled{background:var(--green)}.meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}.meal-card{background:var(--paper);border:2px solid var(--ink);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;padding:22px;scroll-margin-top:24px;min-width:0}.card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.card-top .eyebrow{font-size:12px;letter-spacing:.06em}.badge{border:1.5px solid var(--ink);padding:3px 9px;border-radius:999px;font-size:13px;font-weight:600;background:var(--cream)}.badge.has-chefs{background:var(--green);color:var(--paper)}.meal-card h3{font-size:34px}.meal-tag{font-size:14px;color:#8C3A12;margin-top:6px;font-weight:600}.menu{margin-top:24px}.menu p{margin-top:8px}.multiline{white-space:pre-wrap;overflow-wrap:anywhere}.muted{color:#646354}.menu-editor{margin:14px 0 24px}.menu-editor summary{font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:#8C3A12;min-height:36px}.menu-editor form{margin-top:12px}.menu-editor .button{margin-top:12px}.people-section{border-top:2px dashed #9B9B87;padding-top:18px;margin-top:auto}.people-empty{font-size:15px;margin-top:10px}.people-list{list-style:none;padding:0;margin:10px 0 16px;display:flex;flex-wrap:wrap;gap:8px}.people-list li{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--green);border-radius:99px;padding-left:12px;background:#E0E8DA;max-width:100%;font-size:15px;font-weight:600}.people-list li>span{overflow-wrap:anywhere;min-width:0}.people-list form{flex-shrink:0}.remove-person{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;color:var(--green);background:transparent;font-size:24px;line-height:1}.remove-person:hover{background:#CDD7C6}.add-person{margin-top:14px}.add-person label{font-size:14px}.name-row{display:flex;gap:8px;align-items:stretch}.name-row input{min-width:0;flex:1}.name-row button{flex-shrink:0}label,legend{display:block;font-size:15px;font-weight:600;margin-bottom:6px}label span{font-weight:400}input:not([type=radio]):not([type=hidden]),textarea{display:block;width:100%;min-height:44px;padding:10px 12px;border:2px solid var(--ink);border-radius:8px;background:#FFFDF7;color:var(--ink);font-size:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#6B6A5C}fieldset{border:0;margin:0;padding:0}.section-note{margin-top:22px;font-size:15px;color:#646354}.trails-section{background:#E5DFC9;border-top:2px solid var(--ink)}.difficulty-legend{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:0;margin:28px 0 0}.difficulty-legend li{display:flex;align-items:center;gap:9px;font-size:15px}.trails-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:32px;margin-top:36px;align-items:start}.trail-form{background:var(--green);color:var(--cream);border:2px solid var(--ink);border-radius:16px;padding:26px;box-shadow:6px 6px 0 var(--ink);min-width:0}.trail-form h3{margin-bottom:24px}.trail-form form>input,.trail-form textarea,.trail-form fieldset{margin-bottom:18px}.trail-form .button{width:100%;margin-top:6px}.rating-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rating-option{position:relative;margin:0;cursor:pointer}.rating-option input{position:absolute;opacity:0;width:1px;height:1px}.rating-option>span{display:flex;align-items:center;gap:6px;min-height:48px;border:2px solid var(--cream);border-radius:8px;padding:7px;font-size:14px;font-weight:600;line-height:1.2}.rating-option .rating-icon{width:22px;height:24px}.rating-option input:checked+span{background:var(--gold);color:var(--ink);border-color:var(--gold)}.rating-option input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}.trail-list{min-width:0}.trail-list-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:2px solid var(--ink);padding-bottom:14px}.trail-list-heading h3{font-size:26px}.trail-list-heading .eyebrow{font-size:12px}.empty-state{padding:48px 20px;text-align:center;border:2px dashed var(--ink);border-radius:14px;margin-top:20px}.empty-state h3{font-size:30px}.empty-state p{margin-top:12px}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px;margin-top:20px}.activity-card{background:var(--paper);border:2px solid var(--ink);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0;scroll-margin-top:24px}.activity-card h3{font-size:28px;overflow-wrap:anywhere}.rating-label{display:flex;gap:9px;align-items:center}.rating-label .eyebrow{font-size:12px}.byline{font-size:14px;color:#646354;overflow-wrap:anywhere}.activity-link{font-size:15px;font-weight:700;overflow-wrap:anywhere}.activity-edit{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;margin-bottom:6px}.activity-edit>a{min-height:36px;display:flex;align-items:center}.text-button{border:0;background:transparent;padding:8px 0;text-decoration:underline;text-underline-offset:4px;color:#8C3A12;font-size:14px;min-height:36px}.activity-card .people-section{margin-top:auto}.notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:20;background:var(--green);color:var(--cream);border:2px solid var(--ink);border-radius:12px;box-shadow:4px 4px 0 var(--ink);padding:8px 12px 8px 20px;display:flex;gap:16px;align-items:center;max-width:calc(100% - 32px);width:max-content;font-size:16px}.notice button{background:transparent;color:inherit;border:0;font-size:26px;min-width:44px;min-height:44px}.skip-link{position:absolute;top:0;left:16px;transform:translateY(-120%);background:var(--paper);padding:12px;z-index:100}.skip-link:focus{transform:translateY(0)}.standalone{max-width:760px;padding-top:44px;padding-bottom:64px}.standalone h1{font-size:clamp(38px,6vw,64px);margin:16px 0 24px}.standalone .trail-form{margin-top:28px}.back-link{display:inline-block;margin-bottom:32px;min-height:44px}.standalone>.button{margin-top:28px}.draft{border:2px dashed var(--ink);border-radius:12px;padding:24px;margin-top:28px}.draft h2{font-size:30px}.draft h3{font-size:22px;margin-top:20px}.draft p{margin-top:8px}
@media(max-width:1050px){.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lodge-grid{gap:36px}.trails-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}}
@media(max-width:720px){.section{padding:44px 0 48px}.section-heading{align-items:start;flex-direction:column;gap:24px}.meal-counter{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;transform:none}.meal-counter strong{font-size:28px;margin:0}.punches{margin:0}.lodge-grid{grid-template-columns:1fr;padding-top:36px;padding-bottom:48px;gap:32px}.house-photo{max-width:460px;width:100%}.house-photo img{height:320px}.trails-layout{grid-template-columns:1fr;gap:32px}.trail-form{padding:22px}.activity-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.difficulty-legend{display:grid;gap:12px}.notice{bottom:12px}#top{gap:32px!important}#top h1{font-size:clamp(56px,12vw,88px)!important;line-height:.95!important}#top>div:last-child{max-width:330px!important;margin:0 auto}header nav{margin-left:-12px}.navlink{padding:0 12px}.rating-option>span{font-size:15px;padding:10px}.rating-option .rating-icon{width:26px}.meal-card{padding:20px}}
@media(max-width:540px){.meal-grid{grid-template-columns:1fr}.meal-counter .eyebrow{font-size:12px}.name-row{gap:10px}.activity-grid{grid-template-columns:1fr}.card-top .eyebrow{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
