:root{--paper:#f5f1e9;--ink:#302a25;--muted:#6b6057;--wine:#682f36;--line:#d7cfc4;--white:#fffdf9;--green:#28583f;--pale:#e7eddf;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}a{color:inherit;text-underline-offset:.2em}button{cursor:pointer}button,select{min-height:44px}button{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:6px;padding:.7rem 1rem}button:hover{border-color:var(--wine);background:#f1e7e2}button:disabled{opacity:.45;cursor:default}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible+span{outline:3px solid var(--wine);outline-offset:4px}main:focus{outline:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap;border:0}.skip{position:absolute;top:-80px;left:16px;z-index:10;background:var(--white);padding:1rem}.skip:focus{top:12px}.intro,main,footer{max-width:1380px;margin-inline:auto;padding-inline:clamp(20px,4vw,64px)}.intro{padding-top:2.5rem;padding-bottom:1.8rem;border-bottom:1px solid var(--line)}h1{font:400 clamp(2.3rem,5vw,4.2rem)/1.1 Georgia,serif;letter-spacing:-.045em;margin:0 0 .65rem;text-wrap:balance}.intro p{color:var(--muted);margin:0;font-size:1.05rem;line-height:1.5}.trip{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;font-size:.88rem;margin-top:1.3rem;line-height:1.5}.trip strong{font-weight:600}.trip span{color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem;align-items:center;padding-top:1.5rem}.filters{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}.filters label{position:relative;cursor:pointer}.filters input{position:absolute;width:1px;height:1px;opacity:0}.filters span{display:block;padding:.8rem .85rem;border:1px solid var(--line);border-radius:5px;font-size:.88rem;background:transparent}.filters input:checked+span{background:var(--wine);border-color:var(--wine);color:white}.filters b{font-size:.75rem;margin-left:.3rem;font-weight:400}select{padding:.5rem 2rem .5rem .65rem;max-width:100%;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:5px}.jump{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.85rem;min-width:0;max-width:100%}.browse{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:space-between;align-items:center;margin:1.3rem 0 1rem}.browse p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.browse nav{display:flex;gap:.4rem}.browse button{font-size:.88rem}article{display:grid;gap:1.6rem;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:clamp(14px,2vw,26px)}figure{margin:0}.imagebox{position:relative;background:#e4ddd1;border-radius:5px;overflow:hidden;aspect-ratio:4/3}.imagebox>img{width:100%;height:100%;object-fit:cover;display:block}.imagebox>p{position:absolute;inset:auto 15px 15px;padding:1rem;background:var(--white);line-height:1.5}.imagebox>button{position:absolute;right:12px;top:12px;background:var(--white);box-shadow:0 2px 12px #0002;border:0;font-size:.85rem}.imagebox>button[aria-pressed=true]{background:var(--wine);color:white}figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.75rem 0;font-size:.78rem;color:var(--muted)}.photo-buttons{display:flex;gap:.65rem;flex-wrap:wrap}.photo-buttons button{padding:4px;display:flex;align-items:center;gap:.5rem;font-size:.8rem}.photo-buttons img{width:62px;height:44px;object-fit:cover;border-radius:3px}.photo-buttons button[aria-pressed=true]{border:2px solid var(--wine);padding:3px;background:#f4e8e6}.photo-buttons button span{padding-right:.4rem}.image-note{font-size:.75rem;line-height:1.5;color:var(--muted);max-width:65ch;margin:1rem 0 0}h2{font:400 clamp(1.9rem,3.2vw,2.8rem)/1.12 Georgia,serif;margin:0 0 .7rem;letter-spacing:-.035em;text-wrap:balance}h3{font-size:.9rem;margin:0 0 .5rem;font-weight:600}.meta{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;font-size:.8rem}.meta>span{color:var(--muted)}#rating{background:var(--pale);color:var(--green);padding:.4rem .6rem;border-radius:4px;font-weight:600;font-size:.8rem}.description{line-height:1.6;font-size:.95rem;margin:1rem 0}.price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;margin-bottom:1.1rem}.price p{margin:.35rem 0;line-height:1.45}#priceMain{font:400 1.7rem/1.15 Georgia,serif}#priceMain small{font:400 .8rem Arial,sans-serif;color:var(--muted)}#priceTotal{font-size:.85rem}#priceNote{font-size:.78rem;color:var(--muted)}#priceStatus{display:inline-block;font-size:.72rem;margin-top:.4rem;padding:.35rem .5rem;border-radius:3px;background:#eee8df;color:#51473d}#priceStatus.within{background:var(--pale);color:var(--green)}.maphead{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}.maphead h3{margin:0}.maphead a{font-size:.75rem}.mapbox{height:180px;background:#e8e3d9;border:1px solid var(--line);border-radius:4px;overflow:hidden}.mapbox iframe{width:100%;height:100%;border:0}.address{font-size:.76rem;line-height:1.5;color:var(--muted);margin:.55rem 0 1rem}.actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;font-size:.85rem}.actions .primary{padding:.85rem 1.1rem;background:var(--wine);color:white;border-radius:5px;text-decoration:none;line-height:1.35}.primary:hover{background:#502229;text-decoration:none}.judgment{display:grid;gap:1.2rem;border-top:1px solid var(--line);padding-top:1.3rem}.judgment p{font-size:.85rem;line-height:1.6;margin:0;color:var(--muted)}.notes{max-width:950px;margin:1.7rem 0 2rem;font-size:.76rem;line-height:1.65;color:var(--muted)}.notes p{margin:.6rem 0}footer{font:italic 1.25rem Georgia,serif;color:var(--wine);padding-bottom:2rem}#empty{background:var(--white);padding:2rem;border:1px solid var(--line);border-radius:8px}#empty p{line-height:1.6}
@media(min-width:700px){.intro{display:flex;align-items:end;justify-content:space-between;gap:2rem}.trip{display:grid;gap:.35rem;margin:0;text-align:right}.judgment{grid-template-columns:1fr 1fr;gap:2rem}}
@media(min-width:960px){article{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.8rem 2rem}.judgment{grid-column:1/-1}.imagebox{aspect-ratio:1/1}.info{min-width:0}.intro{padding-top:2.6rem}.mapbox{height:175px}}
@media(min-width:1220px){.imagebox{aspect-ratio:1.08/1}.description{font-size:1rem}.mapbox{height:190px}}
@media(forced-colors:active){button,.filters span,.primary{border:1px solid ButtonText}.filters input:checked+span,.photo-buttons button[aria-pressed=true]{outline:2px solid Highlight}}
.mapbox{height:250px}.mapbox #map{width:100%;height:100%;font-family:Arial,Helvetica,sans-serif}.map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.74rem;color:var(--muted);margin:.6rem 0}.ring-key{display:inline-block;width:18px;height:18px;border:2px dashed var(--wine);border-radius:50%}.hotel-key{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--wine);margin-left:.7rem}.map-explanation{font-size:.74rem;color:var(--muted);line-height:1.55}.map-explanation summary{cursor:pointer;padding:.3rem 0;min-height:30px}.map-explanation p{margin:.35rem 0 .8rem}.hotel-map-pin span{display:block;width:20px;height:20px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#682f36;border:3px solid white;box-shadow:0 1px 5px #0007}.hotel-map-label{color:#302a25;border-color:#c9bfb2;font-size:11px;max-width:200px;white-space:normal;font-weight:600;box-shadow:0 1px 4px #0002}.leaflet-control-attribution a{color:#444}.leaflet-container{background:#e8e3d9}.leaflet-container a:focus-visible,.map-explanation summary:focus-visible{outline:3px solid var(--wine);outline-offset:3px}body{padding-bottom:2rem}

.hotel-map-label{width:max-content;min-width:100px;max-width:180px;text-align:center}
