
:root{--ink:#223d34;--green:#1b5548;--paper:#faf8f2;--peach:#f2b197;--muted:#59675e;--line:#d9ded3;--control:#75857a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.8 -apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}a{color:var(--green);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.btn{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:6px;padding:10px 16px;text-decoration:none;display:inline-block}button:hover,.btn:hover{border-color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid white;outline-offset:2px;box-shadow:0 0 0 6px var(--ink)}button[aria-pressed=true],.filter-link[aria-current=page],.primary{background:var(--green);color:white;border-color:var(--green)}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.skip{position:absolute;top:-70px}.skip:focus{top:8px;background:white;z-index:10}header{border-bottom:1px solid var(--line)}.top{display:flex;align-items:center;justify-content:space-between;padding:23px 0;gap:20px}.brand{font-weight:800;font-size:1.4375rem;letter-spacing:.08em;text-decoration:none;white-space:nowrap}.brand span{background:var(--green);color:white;border-radius:50%;font-size:0.9375rem;padding:8px 10px;margin-right:8px}nav{display:flex;gap:25px;align-items:center;font-size:0.875rem}nav a{text-decoration:none}small,.small{font-size:0.875rem;color:var(--muted)}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center;padding:64px 0 53px}.eyebrow{font-size:0.875rem;letter-spacing:.18em;font-weight:bold}.hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(2.125rem,4.4vw,3.5rem);line-height:1.5;letter-spacing:.04em;margin:16px 0 18px}.hero p{max-width:560px;color:var(--muted)}.hero-art{background:#e5eddf;border-radius:160px 160px 18px 18px;min-height:290px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:28px}.hero-art .sun{position:absolute;right:52px;top:35px;width:87px;height:87px;background:var(--peach);border-radius:50%}.hills{position:absolute;inset:130px -30px -40px;transform:rotate(-9deg);background:#87a38c;border-radius:50% 45% 0 0}.hills:after{content:'';position:absolute;inset:70px -20px -10px;background:#477961;border-radius:65% 40% 0 0}.art-label{z-index:1;background:#1b5548e6;padding:8px 12px;border-radius:6px;color:white;font-family:serif;font-size:1.3125rem;line-height:1.6}.edition{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0;font-size:0.875rem;gap:12px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:40px 0 20px}h2{font-family:serif;font-size:1.75rem;margin:0}h3{line-height:1.6}p{margin:12px 0}.filters{background:#eef0e7;padding:23px;border-radius:9px;margin-bottom:28px}.filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:12px}.filter-row:last-child{margin:0}.filter-row label,.filter-label{font-size:0.875rem;font-weight:bold;width:68px}.filter-row button,.filter-link{font-size:0.875rem;padding:7px 14px;border-radius:22px}.search{flex:1;min-width:150px;border:1px solid var(--control);padding:10px 14px;background:white;border-radius:5px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.card{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden;display:flex;flex-direction:column}.card-top{padding:21px 23px;background:#edf0e7;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.card:nth-child(3n+1) .card-top{background:#f4e4d6}.card:nth-child(3n+2) .card-top{background:#e4eae5}.date{font-family:serif;font-size:1.375rem;line-height:1.3}.type{font-size:0.875rem;font-weight:bold}.card-body{padding:20px 23px;display:flex;flex-direction:column;flex:1}.tag{font-size:0.875rem;background:#f0f3ed;padding:3px 7px;border-radius:3px}.tags{display:flex;gap:5px;flex-wrap:wrap}.card h3{font-size:1.125rem;margin:13px 0}.card h3 a{text-decoration:none}.card p{font-size:0.875rem;color:var(--muted)}.facts{margin:10px 0;font-size:0.875rem}.facts div{display:grid;grid-template-columns:56px 1fr;border-bottom:1px dotted var(--line);padding:6px 0}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.card-foot{margin-top:auto;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:8px}.card-foot a{font-size:0.875rem;font-weight:bold}.card-foot button{font-size:0.875rem;padding:7px 11px}.empty{padding:35px;border:1px dashed var(--line);border-radius:8px;text-align:center}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:60px 0}.panel{border:1px solid var(--line);border-radius:9px;padding:30px;background:#fff}.panel.green{background:var(--green);color:white}.panel.green p,.panel.green small{color:#d7e8dd}.panel.green .btn{background:#f7e5d5;color:var(--ink);border:0}.policy{border-top:1px solid var(--line);padding:40px 0}details{margin:13px 0;border-bottom:1px solid var(--line);padding-bottom:13px}summary{cursor:pointer;font-weight:bold}footer{background:#e9ede3;padding:35px 0;margin-top:40px;font-size:0.875rem}footer .wrap{display:flex;justify-content:space-between;gap:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-size:0.875rem;display:block}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid var(--control);border-radius:4px;padding:10px;background:white}.full{grid-column:1/-1}.check{display:flex!important;gap:10px;align-items:flex-start}.check input{width:18px;margin-top:6px}.notice{padding:12px 16px;background:#f4e4d6;border-radius:5px}.hidden{display:none!important}.article{max-width:800px;padding:45px 0}.article h1{font-family:serif;font-size:2.125rem;line-height:1.5}.article .facts div{grid-template-columns:80px 1fr;padding:14px 0}.consent{border-top:1px solid var(--line);padding:18px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.consent p{flex:1;min-width:240px;font-size:0.875rem}.save-feedback{margin:0;overflow-wrap:anywhere}.save-feedback:not(:empty){margin:16px 0;padding:14px 18px;border:1px solid var(--control);border-radius:6px;background:#eef0e7;color:var(--ink)}.honeypot{position:absolute;left:-9999px}.subtitle{font-size:0.875rem;color:var(--muted)}
@media(max-width:850px){.cards{grid-template-columns:repeat(2,1fr)}nav{gap:14px}.hero{gap:25px;grid-template-columns:1fr}.hero-art{min-height:180px;border-radius:90px 90px 12px 12px}.hills{inset:85px -30px -40px}.brand{font-size:1.1875rem}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.top{display:block;padding:17px 0}nav{margin-top:15px;justify-content:space-between;gap:8px;font-size:0.875rem}.hero{display:block;padding:32px 0}.hero h1{font-size:clamp(1.5rem,7vw,1.8125rem);line-height:1.65}.hero-art{min-height:150px;border-radius:80px 80px 10px 10px;margin-top:25px}.hero-art .sun{width:56px;height:56px;top:18px}.hills{top:70px}.art-label{font-size:1.0625rem}.edition{flex-direction:column;gap:0}.cards{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:4px}.split,.form-grid{grid-template-columns:1fr}.split{gap:18px;margin:35px 0}.panel{padding:22px}.filter-row label,.filter-label{width:100%}.filters{padding:17px}.article h1{font-size:1.6875rem}footer .wrap{flex-direction:column}.consent{gap:7px}.card-top{padding:16px 20px}}
.filter-link{display:inline-block;background:white;border:1px solid var(--line);text-decoration:none;color:var(--ink)}.filter-link:hover{border-color:var(--green)}.share{margin-top:12px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{header nav,.filters,button,.consent,footer,.hero-art{display:none!important}.cards{display:block}.card{break-inside:avoid;margin:15px 0}.wrap{width:100%}body{background:white}}.directory{padding:40px 0}.directory h1{font-family:serif;font-size:clamp(1.6875rem,4vw,2.5rem)}.area-nav{flex-wrap:wrap;justify-content:flex-start;margin:26px 0;gap:10px}.municipality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.municipality{scroll-margin-top:24px}.municipality h3{font-size:1.375rem;margin:0}.municipality p{font-size:0.875rem}.municipality small{display:block}.directory section{scroll-margin-top:24px}@media(max-width:850px){.municipality-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.municipality-grid{grid-template-columns:1fr}}.admin-record{margin:18px 0}.admin-record h3{font-size:1.3125rem;margin:8px 0}.admin-record .facts div{grid-template-columns:80px 1fr}.admin-record p,.admin-record small{overflow-wrap:anywhere}.admin-body{white-space:pre-wrap}
#on{border:1px solid var(--line);border-radius:5px;padding:10px;max-width:100%;min-width:0;background:white;color:var(--ink)}#sort{border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);padding:10px;max-width:100%}.reset-filters{font-size:0.875rem;margin-left:auto}.list-view{grid-template-columns:1fr;gap:14px}.list-view .card{display:grid;grid-template-columns:155px 1fr}.list-view .card-top{border-bottom:0;border-right:1px solid var(--line);flex-direction:column;justify-content:start;gap:18px}.list-view .card-body{padding:18px 24px}.list-view .card h3{margin:8px 0}.list-view .card .facts{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:5px 0}.list-view .card .facts div:first-child,.list-view .card .facts div:nth-child(n+4){display:none}.list-view .card p{margin:6px 0}.list-view .card-foot{padding-top:8px}.list-view .card-body>small{margin-top:8px}@media(max-width:600px){.list-view .card{display:flex}.list-view .card-top{padding:10px 17px;flex-direction:row;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.list-view .date{font-size:1.125rem}.list-view .date br{display:none}.list-view .date small{margin-left:8px}.list-view .card-body{padding:15px 17px}.list-view .card .facts{display:block}.reset-filters{margin-left:8px}}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}#on,#sort{border-color:var(--control)}main:focus{outline:none}.breadcrumbs{font-size:0.875rem;display:block;overflow-wrap:anywhere}.breadcrumbs a{text-decoration:underline}button,.btn,.filter-link{min-height:44px;min-width:44px}.filter-link{display:inline-flex;align-items:center;justify-content:center}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea,.search,#city,#booking,#fee,#on,#sort{font-size:1rem;min-height:44px}header nav a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.5}summary{min-height:44px;padding:8px 0}.check{min-height:44px;padding:8px 0}.card-foot{flex-wrap:wrap}.card-foot a{min-height:44px;display:inline-flex;align-items:center}a,button,summary{scroll-margin-block:20px}.article-guidance{margin:24px 0;padding:22px;background:#eef0e7;border-radius:6px;overflow-wrap:anywhere}.article-guidance h2{font-size:1.5rem}.article-guidance h3{font-size:1.125rem;margin:20px 0 6px}.article-guidance p{margin:8px 0}header nav{flex-wrap:wrap}.spot-explorer{padding:36px 0;border-bottom:1px solid var(--line);margin-bottom:36px}.spot-categories{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.spot-categories a{display:inline-flex;align-items:center;gap:12px;min-height:44px;border:1px solid var(--control);padding:9px 14px;border-radius:25px;font-size:0.875rem;background:white}.spot-categories a[aria-current=page]{background:var(--green);color:white}.spot-categories small{font-variant-numeric:tabular-nums}.spot-filters{display:grid;grid-template-columns:2fr 1.5fr 1fr auto;gap:14px;padding:22px;background:#eef0e7;margin:28px 0}.spot-filters label{display:block;margin-bottom:6px}.spot-filters input,.spot-filters select{width:100%;min-width:0;min-height:44px;font-size:1rem;border:1px solid var(--control);padding:10px;border-radius:4px;background:white}.spot-filters button{align-self:end}.spot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.spot-card{padding:24px;background:white;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-start}.spot-card h3{font-family:serif;font-size:1.4375rem;line-height:1.5;margin:0 0 14px}.spot-card .eyebrow{margin:0 0 8px}.spot-card .tags{margin:0}.spot-more{min-height:44px;display:flex;align-items:center;margin-top:auto}.spot-results{scroll-margin-top:20px}.spot-results:focus{outline:2px solid var(--green);outline-offset:4px}@media(max-width:850px){.spot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spot-filters{grid-template-columns:1fr 1fr}.spot-filters>div:first-child{grid-column:1/-1}}@media(max-width:600px){.spot-grid,.spot-filters{grid-template-columns:1fr}.spot-filters{padding:16px}.spot-filters>div:first-child{grid-column:auto}.spot-explorer .section-head,.spot-results .section-head{flex-wrap:wrap;gap:12px}.spot-card{padding:20px}.spot-categories a{max-width:100%;overflow-wrap:anywhere}.article .btn{white-space:normal;max-width:100%}} 
/* 地域案内を読む誌面 */
:root{--ink:#292d2b;--green:#8e3622;--paper:#fffdf8;--muted:#62615b;--line:#d6d1c5;--control:#80796b}
.brand span{background:transparent;color:var(--green);border-radius:0;border:1px solid var(--green);padding:4px 7px}.brand{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:1.5625rem}.top{padding:19px 0}header{border-top:5px solid var(--ink)}
.editorial-lead{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:64px 0 48px;border-bottom:1px solid var(--ink)}.lead-title h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:600;font-size:clamp(2.125rem,4.1vw,3.375rem);line-height:1.5;letter-spacing:.03em;margin:12px 0 20px}.lead-title>p:not(.eyebrow){color:var(--muted);margin:0 0 28px}.lead-event{display:inline-block;padding:10px 8px;min-height:44px}.lead-picks{border-top:2px solid var(--ink);padding-top:10px;align-self:center}.lead-pick{display:grid;grid-template-columns:40px 1fr 20px;gap:12px;text-decoration:none;color:var(--ink);padding:21px 0;border-bottom:1px solid var(--line)}.pick-number{font:italic 1.75rem Georgia,serif;color:var(--green)}.lead-pick small{display:block;margin-bottom:5px}.lead-pick strong{display:block;font:600 1.3125rem/1.5 'Yu Mincho',serif}.lead-pick:hover strong{text-decoration:underline}.eyebrow{letter-spacing:.08em}.edition{border-top:0}.spot-explorer{padding-top:12px}.spot-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.spot-categories a{border:0;border-bottom:1px solid var(--line);border-radius:0;justify-content:space-between;background:transparent;text-decoration:none;padding:12px 4px;margin-right:24px}.spot-categories a:hover{background:#f0ebe0}.spot-categories a[aria-current=page]{background:var(--green);color:white}.spot-categories a[aria-current=page] small{color:white}.social-directory{display:grid;grid-template-columns:1fr 1.6fr;gap:50px;padding:32px 0 40px;border-bottom:1px solid var(--line)}.social-row{padding:12px 0;border-bottom:1px solid var(--line)}.social-row:first-child{padding-top:0}.social-row p{margin:6px 0;font-size:0.875rem}.social-row a{display:inline-block;min-height:44px}.social-note{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:22px 0;margin:32px 0}.social-links{display:flex;flex-wrap:wrap;gap:10px}
.card,.panel,.spot-card,.filters{border-radius:0}.card-top,.card:nth-child(3n+1) .card-top,.card:nth-child(3n+2) .card-top{background:#f0ebe0}.tag{background:#f0ebe0}.filters,.spot-filters{background:#f0ebe0}.spot-card{border:0;border-top:2px solid var(--ink);background:transparent;padding:22px 0;margin-right:18px}.spot-card h3{font-family:'Yu Mincho',serif}.panel.green{background:#383e37}.btn,button{border-radius:2px}footer{background:#f0ebe0}
@media(max-width:850px){.editorial-lead{grid-template-columns:1fr;gap:32px;padding:40px 0}.lead-picks{width:100%}.social-directory{gap:24px;grid-template-columns:1fr 1.5fr}}
@media(max-width:600px){.editorial-lead{padding:28px 0}.lead-title h1{font-size:2rem}.lead-pick{padding:15px 0}.lead-pick strong{font-size:1.1875rem}.spot-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.spot-categories a{font-size:0.875rem;margin-right:12px;gap:6px}.social-directory{grid-template-columns:1fr;gap:12px}.spot-card{margin-right:0}.brand{font-size:1.375rem}}

.place-photo{margin:0;min-width:0}.place-photo img{display:block;width:100%;height:auto;background:#e6e2d8}.photo-destination{display:block}.place-photo figcaption{padding:14px 0;color:var(--muted);font-size:0.875rem;line-height:1.6;overflow-wrap:anywhere}.place-photo figcaption strong{display:block;font-size:1.0625rem;font-weight:600;color:var(--ink);margin-bottom:5px}.place-photo figcaption span{display:block}.place-photo figcaption details{margin:5px 0 0;font-size:0.875rem}.place-photo figcaption summary{font-weight:400;padding:5px 0}.place-photo figcaption a{display:inline-block;min-height:24px}.place-photo figcaption strong a{min-height:44px}.editorial-lead{gap:24px 45px;padding:42px 0 28px}.lead-title{align-self:center}.lead-title h1{font-size:clamp(1.875rem,3.7vw,3rem);line-height:1.55}.lead-photo{align-self:center}.lead-picks{grid-column:1/-1;width:100%;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;padding-top:0}.lead-picks>.eyebrow,.lead-picks>.small{grid-column:1/-1}.lead-pick{grid-template-columns:30px 1fr 14px;padding:12px 0;gap:8px}.lead-pick strong{font-size:1.0625rem}.lead-picks>.small{margin:8px 0}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.photo-discovery{padding:12px 0 28px;border-bottom:1px solid var(--line)}.photo-discovery .section-head{margin-top:26px}.spot-card .place-photo{width:100%}.article .place-photo{margin:24px 0}.article .place-photo figcaption{border-bottom:1px solid var(--line)}
@media(max-width:850px){.lead-picks{grid-template-columns:1fr}.lead-title h1{font-size:2.25rem}.lead-pick strong{font-size:1.25rem}.lead-pick{padding:16px 0}.lead-photo{width:100%}}
@media(max-width:600px){.editorial-lead{padding:28px 0;gap:20px}.lead-title h1{font-size:1.875rem;line-height:1.55}.photo-grid{grid-template-columns:1fr;gap:22px}.photo-discovery .section-head h2{font-size:1.5625rem}.place-photo figcaption{padding:10px 0}.lead-pick strong{font-size:1.125rem}}
.calendar-tabs,.calendar-months,.calendar-gateway{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.calendar-tabs a,.calendar-months a,.calendar-gateway a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:4px}.calendar-tabs a[aria-current="page"]{background:var(--green);color:white}.calendar-day{margin:28px 0;border-top:1px solid var(--line);padding-top:12px}.calendar-entry{padding:16px 0;border-bottom:1px solid var(--line)}.calendar-entry h3{margin:4px 0;font-size:1.25rem}.calendar-entry p{margin:6px 0}.calendar-entry .small{line-height:1.8}.calendar-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.calendar-form input,.calendar-form select{min-height:44px;max-width:100%;padding:8px}.milestones{margin:24px 0}.milestones li{margin:16px 0}.calendar-page h1{font-size:clamp(1.75rem,5vw,2.625rem)}
.experience-body{white-space:pre-wrap;overflow-wrap:anywhere}.experience-card{margin:20px 0}#experience-form{display:grid;gap:12px}#experience-form input,#experience-form select,#experience-form textarea{font:inherit;padding:10px;min-height:44px;max-width:100%;width:100%}#experience-form .experience-check{display:flex;gap:12px;align-items:start}#experience-form input[type=checkbox]{width:24px;min-width:24px;min-height:24px;margin-top:4px}.experience-action-status{overflow-wrap:anywhere}
.experience-photo{margin:18px 0}.experience-photo img,#photo-preview{display:block;max-width:100%;height:auto;border-radius:4px}.experience-photo figcaption{font-size:0.875rem;line-height:1.7;margin-top:8px;overflow-wrap:anywhere}#photo-preview.hidden{display:none}
.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.person-card{overflow-wrap:anywhere}.person-card h3{margin-top:0}.choice{display:flex;gap:10px;align-items:start;line-height:1.8}.choice input{width:24px;min-width:24px;height:24px;margin-top:4px}.plan-form,#profile-form,.people-search{display:grid;gap:12px}.plan-form input:not([type=checkbox]),.plan-form select,#profile-form input:not([type=checkbox]),#profile-form textarea,.people-search input,.people-search select{font:inherit;min-height:44px;padding:10px;width:100%;max-width:100%}.person-card .tag{min-height:44px;display:inline-flex;align-items:center}@media(max-width:600px){.people-grid{grid-template-columns:1fr}}
.photo-masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;align-items:start}.photo-masonry>.place-photo{margin:0}.spot-card-photo{margin:18px 0}.spot-card-photo .place-photo figcaption{font-size:0.875rem}.photo-page h1{font-size:clamp(1.875rem,5vw,2.75rem);line-height:1.5}.photo-page .policy{margin-top:30px}@media(max-width:600px){.photo-masonry{grid-template-columns:1fr}}
.video-card{padding:24px 0;border-bottom:1px solid var(--line);min-width:0}.video-card h3{margin:8px 0;font-size:1.375rem}.video-gate{background:#fff5d8;border:1px solid #eadcb7;border-radius:20px;padding:28px;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px}.video-gate button,.video-close{min-height:44px}.video-player{border-radius:20px;overflow:hidden}.video-player iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}.video-player iframe.instagram-place-video{aspect-ratio:auto;height:720px;max-width:540px;margin:auto;background:white}.video-close{margin-top:12px}.video-card p{overflow-wrap:anywhere}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}@media(max-width:600px){.video-grid{grid-template-columns:1fr}.video-gate{padding:20px}}
.event-voices{margin:32px 0;padding:28px 0;border-top:1px solid var(--line)}.social-post{padding:24px 0;border-bottom:1px solid var(--line)}.social-post h3{margin:8px 0;font-size:1.375rem}.social-post p{overflow-wrap:anywhere}.social-gate{background:#eae7dd;padding:18px}.social-gate button,[data-social-close]{min-height:44px}.social-player iframe{width:100%;border:0;display:block;min-height:200px;max-height:2000px}.social-gateway-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.social-gateway-list article{padding:16px 0;border-top:1px solid var(--line)}.social-gateway-list a{display:inline-block;padding:10px 0;min-height:44px}.social-gateway-list p{margin:0 0 6px}@media(max-width:600px){.social-gateway-list{grid-template-columns:1fr;gap:12px}}.announcement-list{padding-left:24px}.announcement-list li{margin:22px 0;padding-left:8px}.announcement-list h4{font-size:1.125rem;margin:6px 0}.announcement-list p{margin:6px 0}
.edition-history{margin:36px 0;padding:26px 0;border-block:1px solid var(--line)}.edition-links,.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.edition-link,.archive-card{padding:20px;border:1px solid var(--line);min-width:0}.current-edition{background:#f3efe6}.edition-link h3,.archive-card h3{font-size:1.375rem;line-height:1.6}.archive-gateway{margin:38px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-block:1px solid var(--line)}@media(max-width:650px){.edition-links,.archive-grid{grid-template-columns:1fr}.archive-gateway{display:block}.archive-gateway .btn{margin-top:12px}.edition-link,.archive-card{padding:16px}}
.receipt-review form{display:grid;gap:16px}.receipt-review form>label:not(.check){display:grid;gap:6px}.receipt-review input:not([type=checkbox]),.receipt-review textarea,.receipt-review select{width:100%;max-width:100%}.receipt-review{border-top:1px solid var(--line);margin-top:18px}.receipt-review li{overflow-wrap:anywhere}
.notification-card{margin:20px 0}.notification-card h3{font-size:1.2rem;line-height:1.65}.notification-card strong[data-notice-state]{display:inline-block;margin-left:8px}.notice-read-all{margin-bottom:24px}#notification-settings-form .experience-check{display:flex;align-items:flex-start;gap:10px;min-height:44px;margin:10px 0;padding:8px 0}#notification-settings-form .experience-check input{flex:0 0 auto;width:18px;height:18px;margin:5px 0}#notification-settings-form fieldset{border:1px solid var(--line);padding:16px;margin:18px 0}#notification-reset-form{margin-top:24px}#notification-lead{display:block;max-width:100%;margin:8px 0}
.outing-shortcuts{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:20px}.outing-shortcuts a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}.application-preview-row{display:grid;grid-template-columns:155px 1fr;gap:24px;padding:22px 0;border-top:1px solid var(--line)}.application-preview-date strong,.application-preview-date span,.application-preview-date small{display:block}.application-preview-date strong{font:1.875rem/1.5 Georgia,serif}.application-preview-date span{font-size:0.875rem}.application-preview-row h3{font-size:1.375rem;line-height:1.6;margin:8px 0}.application-preview-row p{margin:4px 0}.upcoming-applications{scroll-margin-top:24px}#sales-applications{scroll-margin-top:24px}@media(max-width:600px){.application-preview-row{grid-template-columns:1fr;gap:10px}.application-preview-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}.application-preview-date strong{font-size:1.625rem}.application-preview-row h3{font-size:1.25rem}}
.participation-form{display:grid;gap:12px;margin:24px 0}.participation-form select,.participation-form input[type=date]{display:block;width:100%;max-width:100%;font:inherit;padding:10px;min-height:44px}.participation-form .experience-check{display:flex;gap:12px;align-items:start}.participation-form input[type=checkbox]{flex:0 0 24px;width:24px;height:24px;margin-top:4px}.participation-form p{margin:0}.outcome-privacy{margin:20px 0}.outcome-privacy summary{min-height:44px;cursor:pointer;display:flex;align-items:center;text-decoration:underline}
.photo-masonry.single-photo{grid-template-columns:1fr;max-width:960px}

/* 写真・場所・日付を入口に、全機能はネイティブの開閉メニューへ */
header .top{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px 24px;padding:16px 0}
header .brand{padding-right:100px;min-width:0;white-space:normal}
header .primary-nav{font-size:0.9375rem;gap:24px;margin:0;padding-right:110px;justify-content:flex-end;flex-wrap:nowrap}
header .site-menu{grid-column:1/-1;margin:0;border:0;padding:0}
header .site-menu>summary{position:absolute;top:16px;right:0;min-height:44px;min-width:90px;border:1px solid var(--control);padding:8px 10px;font-size:0.9375rem;background:var(--paper);color:var(--ink)}
header .site-menu[open]>summary{background:var(--ink);color:white}
header .site-menu nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;padding:16px 0 0;margin:0;font-size:1rem;border-top:1px solid var(--line)}
header .site-menu nav a{justify-content:flex-start;padding:12px 8px;border-bottom:1px solid var(--line);min-height:48px;overflow-wrap:anywhere}
header nav a:hover,header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
@media(max-width:1000px){header .top{grid-template-columns:1fr}header .primary-nav{padding:0;justify-content:flex-start;gap:24px}header .site-menu nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){header .brand{font-size:clamp(1.0625rem,5.3vw,1.1875rem);letter-spacing:0;line-height:44px}header .brand span{font-size:0.875rem;margin-right:6px}header .primary-nav{font-size:0.875rem;justify-content:space-between;gap:8px}header .site-menu>summary{font-size:0.875rem;min-width:84px}header .site-menu nav{font-size:0.9375rem;gap:0 12px}header .site-menu nav a{padding:12px 4px}}
@media print{header .site-menu{display:none}}

.spot-facility-filter{grid-column:1/3}.spot-facilities{margin:32px 0;padding:24px 0;border-block:1px solid var(--line)}.spot-facilities dl{margin:16px 0}.spot-facilities dt{font-weight:bold}.spot-facilities dd{margin:0}.spot-facilities dl>div{margin:18px 0}.spot-facilities dd p{margin:6px 0}
@media(max-width:600px){.spot-facility-filter{grid-column:auto}}
.publication-dashboard .facts>div,.photo-flow-dashboard .facts>div{grid-template-columns:minmax(0,1fr) minmax(120px,1fr)}.publication-dashboard .facts dt,.photo-flow-dashboard .facts dt{font-size:0.875rem}.publication-dashboard .facts dd,.photo-flow-dashboard .facts dd{font-size:1.25rem}@media(max-width:600px){.publication-dashboard .facts>div,.photo-flow-dashboard .facts>div{grid-template-columns:1fr;gap:6px}}
.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.memory-card{min-width:0;overflow-wrap:anywhere}.memory-card h2{font-size:1.5rem}.memory-photo{margin:0 0 18px}.memory-photo img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;background:var(--paper)}.memory-photo figcaption{font-size:0.875rem;margin-top:10px;color:var(--muted)}.memories-page .spot-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.memories-page .spot-filters > div{min-width:0}.memories-page .spot-filters button{width:auto;justify-self:start;white-space:nowrap}.memories-page .spot-filters label.experience-check{display:flex;align-items:center;gap:10px;min-height:44px}.memories-page .spot-filters input[type=checkbox]{width:20px;height:20px}.memory-card .experience-body{white-space:pre-wrap}.memory-card a{overflow-wrap:anywhere}@media(max-width:750px){.memory-grid{grid-template-columns:1fr}.memory-card h2{font-size:1.3125rem}.memories-page .spot-filters{grid-template-columns:1fr}}

/* 気軽に眺める、まちのお出かけマガジン */
:root{--ink:#263d3c;--green:#ae3f2c;--paper:#fffaf4;--muted:#5d6863;--line:#e5dfd3;--control:#7a827b}
body{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}header{border-top:0;background:#fffdf9}.brand{font-family:inherit;letter-spacing:.02em;font-size:1.5rem}.brand span{border:0;border-radius:50%;background:#fbe4d2;color:var(--green);padding:7px 10px}.top{padding:16px 0}.site-menu{border-radius:14px}h2,.directory h1,.article h1,.spot-card h3,.calendar-page h1{font-family:inherit;font-weight:750;letter-spacing:-.025em}h2{font-size:1.75rem}.btn,button{border-radius:12px}.primary{background:var(--green);color:white}.panel,.spot-card,.card{border-radius:18px}.filters,.spot-filters{border-radius:18px;background:#f3eee3}.card-top,.card:nth-child(3n+1) .card-top,.card:nth-child(3n+2) .card-top{background:#eaf2ee}.date{font-family:inherit;font-weight:750}.tag{border-radius:8px;background:#eff3eb}.calendar-tabs a,.calendar-months a,.calendar-gateway a{border-radius:12px}.directory h1{line-height:1.4}.social-directory h2{font-size:1.625rem}footer{background:#f0eadc}.notice{border-radius:12px}.eyebrow{letter-spacing:.035em}
.home-page .editorial-lead{grid-template-columns:1fr 1.1fr;gap:40px;padding:34px;margin:28px 0 0;background:#fff0bf;border:0;border-radius:28px;align-items:center}.lead-title h1{font-family:inherit;font-size:clamp(2.5rem,4.7vw,4.125rem);line-height:1.25;font-weight:800;letter-spacing:-.04em;margin:18px 0 24px}.lead-title h1 span{color:#176c64}.lead-title>p:not(.eyebrow){font-size:1.125rem;line-height:1.9;margin-bottom:22px}.lead-title .lead-promise{font-size:0.875rem!important;margin:16px 0 0!important}.lead-title .outing-shortcuts{gap:12px;margin:20px 0 0;flex-wrap:wrap}.lead-title .outing-shortcuts a{border:0;background:transparent;padding:6px 0;font-size:0.875rem;font-weight:650}.lead-photo img{aspect-ratio:4/3;object-fit:cover;border-radius:20px}.lead-photo figcaption{padding:10px 4px 0}.lead-photo figcaption strong{font-size:1rem}.lead-photo figcaption details{border:0;padding:0}.home-page .edition{border:0;padding:14px 8px;line-height:1.6}.mood-discovery{padding:24px 0 12px}.mood-discovery h2{font-size:1.5rem}.mood-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.mood-links a{display:flex;align-items:center;gap:8px;min-height:64px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px;font-size:0.9375rem;font-weight:650;color:var(--ink);line-height:1.5}.mood-links a>span:first-child{font-size:1.5rem}.mood-links .mood-arrow{margin-left:auto;color:var(--green)}.mood-links a:hover{background:#fff0bf;border-color:#d4b854}.home-page .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-page .photo-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:18px}.home-page .photo-grid figcaption strong{font-family:inherit;font-size:1.1875rem;font-weight:750}.home-page .photo-discovery{border:0}.home-page .photo-discovery .section-head{margin-top:32px}.home-page .upcoming-applications{background:#eaf2ee;border:0;border-radius:22px;padding:24px;margin:24px 0 40px}.home-page .upcoming-applications .section-head{margin-top:0}.home-page .upcoming-applications h2{font-size:1.625rem}.home-page .search-notes{border:0;margin:12px 0}.home-page #browse{scroll-margin-top:20px}.spot-categories a{border-radius:12px;margin:4px;padding:10px 12px;border:1px solid var(--line);background:#fff}.photo-page .place-photo img,.spot-card .place-photo img{border-radius:16px}
@media(max-width:850px){.home-page .editorial-lead{grid-template-columns:1fr 1fr;gap:24px;padding:24px}.lead-title h1{font-size:2.875rem}.lead-title>p:not(.eyebrow){font-size:1rem}.mood-links{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.brand{font-size:1.3125rem}.home-page .editorial-lead{grid-template-columns:1fr;gap:22px;padding:24px 20px;margin-top:18px;border-radius:22px}.lead-title h1{font-size:2.875rem;margin:12px 0 18px}.lead-title .outing-shortcuts{margin-top:16px;gap:10px}.lead-photo img{aspect-ratio:3/2}.lead-title .lead-promise{display:none}.home-page .edition{font-size:0.875rem;gap:4px}.mood-discovery{padding-top:18px}.mood-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mood-links a{font-size:0.875rem;min-height:60px;padding:10px}.mood-links a:last-child{grid-column:1/-1}.home-page .photo-grid{grid-template-columns:1fr;gap:18px}.home-page .photo-grid img{aspect-ratio:3/2}.home-page .upcoming-applications{padding:20px}.home-page h2{font-size:1.5625rem}.home-page .section-head{gap:10px}.spot-categories a{font-size:0.875rem;padding:10px 8px;margin:3px}.article h1{font-size:1.75rem}}

.recent-discovery{margin:42px 0 54px}.recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.recent-card{padding:22px;background:#f5eee3;border-radius:18px;display:flex;flex-direction:column}.recent-card:nth-child(2){background:#eaf1e9}.recent-card:nth-child(3){background:#f9ebe1}.recent-card:nth-child(4){background:#ebeff6}.recent-card h3{font-size:1.1875rem;line-height:1.6;margin:10px 0}.recent-card h3 a{color:var(--ink);text-decoration:none}.recent-card h3 a:hover{text-decoration:underline}.recent-kind{font-weight:750;color:var(--green);font-size:0.875rem;margin:6px 0}.recent-card>p:not(.recent-kind):not(.recent-date):not(.recent-period){font-size:0.875rem;line-height:1.9}.recent-period{font-size:0.875rem;font-weight:650;margin-top:auto;padding-top:16px}.recent-more{font-size:0.875rem;font-weight:700}.recent-date{margin:0;line-height:1.8}.recent-discovery .section-head h2{font-size:1.875rem}
@media(max-width:850px){.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.recent-discovery{margin:34px 0}.recent-grid{grid-template-columns:1fr}.recent-card{padding:20px}.recent-discovery .section-head h2{font-size:1.5625rem}}

/* 写真と短い見出しを入口にした、寄り道の読みもの */
.home-page .editorial-lead{grid-template-columns:.8fr 1.4fr;background:transparent;padding:20px 0 0;gap:32px;align-items:center;margin-top:18px}.lead-title{padding:0 0 24px}.lead-title .eyebrow{color:#9c442f;font-size:0.875rem}.lead-title h1{font-size:clamp(2.5rem,4.2vw,3.75rem);line-height:1.35}.lead-title>p:not(.eyebrow){font-size:1rem}.lead-album{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:center;min-width:0}.album-main,.album-side{min-width:0}.album-side{padding-top:80px}.album-note{font-size:0.9375rem;font-weight:750;color:#9c442f;margin:0 0 10px}.lead-album .lead-photo{margin:0}.lead-album .lead-photo img{aspect-ratio:4/5;border-radius:100px 100px 16px 16px;object-fit:cover}.lead-album .album-side img{aspect-ratio:4/5;border-radius:16px 16px 80px 16px}.lead-album figcaption strong{font-size:0.875rem;line-height:1.6}.lead-album figcaption>span{font-size:0.875rem;line-height:1.6}.lead-album figcaption details{font-size:0.875rem}.home-page .edition{padding:16px 0;border-bottom:1px solid var(--line)}.mood-links a{border:0;border-bottom:2px solid #decbb4;border-radius:0;background:transparent;padding:12px 4px}.mood-links a:hover{background:#f5e8d7;border-color:#ae3f2c}.home-page .photo-grid{gap:28px 24px}.story-kicker{margin:0 0 12px;color:#8d4433;font-size:0.9375rem;font-weight:750}.discovery-story:nth-child(2){padding-top:40px}.discovery-story:nth-child(3){padding-top:16px}.home-page .discovery-story .place-photo{margin:0}.home-page .photo-grid img{border-radius:8px}.home-page .photo-grid figcaption strong{font-size:1.0625rem}.home-page .photo-discovery .section-head{margin-top:24px}.home-page .photo-discovery h2{font-size:2rem}.home-page .photo-grid figcaption>span{font-size:0.875rem}.home-page .photo-grid figcaption details{font-size:0.875rem}.recent-card{border-radius:8px}.home-page .recent-discovery{padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:850px){.home-page .editorial-lead{grid-template-columns:.85fr 1.15fr;padding:12px 0;gap:20px}.lead-album{gap:12px}.album-side{padding-top:50px}.lead-title h1{font-size:2.625rem}.lead-title>p:not(.eyebrow){font-size:0.875rem}.discovery-story:nth-child(3){padding-top:0}}
@media(max-width:600px){.home-page .editorial-lead{grid-template-columns:1fr;gap:16px;margin-top:20px;padding:0}.lead-title{padding:0}.lead-title h1{font-size:2.625rem;line-height:1.25;margin:12px 0}.lead-title h1 br{display:block}.lead-title>p:not(.eyebrow){font-size:0.875rem;margin-bottom:16px}.lead-title .outing-shortcuts{font-size:0.875rem;margin:10px 0 0;gap:12px}.lead-title .outing-shortcuts a{font-size:0.875rem}.lead-album{grid-template-columns:1.1fr .9fr;gap:12px}.album-side{padding-top:32px}.album-note{font-size:0.875rem}.lead-album .lead-photo img{aspect-ratio:4/5;border-radius:70px 70px 8px 8px}.lead-album .album-side img{aspect-ratio:1;border-radius:8px 8px 55px 8px}.lead-album figcaption{padding:8px 0}.lead-album figcaption strong{font-size:0.875rem}.lead-album figcaption>span{font-size:0.875rem}.home-page .edition{font-size:0.875rem}.home-page .photo-grid{grid-template-columns:1fr;gap:28px}.discovery-story:nth-child(n){padding-top:0}.home-page .photo-discovery h2{font-size:1.5625rem}.home-page .photo-grid img{aspect-ratio:4/3}.story-kicker{font-size:0.875rem}.mood-links a{font-size:0.875rem;min-height:50px}.mood-links a:last-child{grid-column:auto}.mood-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mood-links a>span:first-child{font-size:1.25rem}}

.seasonal-discovery{margin:28px 0 44px;padding:26px;background:#f7ecec;border-radius:18px}.seasonal-discovery .section-head{margin:0 0 20px}.seasonal-discovery h2{font-size:1.875rem}.seasonal-discovery .section-head p:last-child{margin:10px 0}.flower-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.flower-card{min-width:0;padding:20px;background:#fffaf7;border-radius:10px}.flower-card h3{font-size:1.125rem;line-height:1.6;margin:10px 0}.flower-state{font-size:1.625rem;font-weight:750;color:#934556;margin:18px 0}.flower-state span{display:block;font-size:0.875rem;font-weight:500;color:var(--muted);margin-top:6px}.flower-closed{background:#f0ebe5}.flower-closed .flower-state{font-size:1.375rem;color:#684e3e}.flower-card>a,.flower-card p>a{font-size:0.875rem}.flower-source{margin:20px 0 0;line-height:1.9}.seasonal-spot-report{margin:28px 0}.seasonal-spot-report .flower-card{border:1px solid var(--line)}
@media(max-width:850px){.flower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flower-closed{grid-column:1/-1}}
@media(max-width:600px){.seasonal-discovery{padding:20px 16px;margin:22px 0 32px}.seasonal-discovery h2{font-size:1.5625rem}.flower-grid{grid-template-columns:1fr;gap:14px}.flower-card{padding:18px}.flower-closed{grid-column:auto}.flower-card h3{font-size:1.0625rem}.flower-state{font-size:1.5rem}}

.nearby-places{margin:42px 0;scroll-margin-top:24px}.nearby-tabs{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin:18px 0}.nearby-tabs a{padding:10px 14px;background:#f0eadf;border-radius:20px;color:var(--ink);text-decoration:none}.nearby-tabs a[aria-current=page]{background:#176c64;color:#fff}.nearby-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nearby-card{padding:20px;border-radius:12px;background:#f6efe3;min-width:0}.nearby-card h3{font-size:1.25rem;line-height:1.6;margin:8px 0}.nearby-card h3 a{color:var(--ink)}.nearby-card>p{font-size:0.875rem;line-height:1.9}.nearby-distance{font-weight:700;color:#176c64}.nearby-card details{font-size:0.875rem}.nearby-card details p{overflow-wrap:anywhere}
@media(max-width:600px){.nearby-grid{grid-template-columns:1fr}.nearby-card{padding:18px}.nearby-places h2{font-size:1.5625rem}.nearby-tabs a{font-size:0.875rem}.nearby-card h3{font-size:1.125rem}}
.nearby-card .place-photo{margin:14px 0}.nearby-card .place-photo img{aspect-ratio:4/3;object-fit:cover;border-radius:8px}.nearby-card .place-photo figcaption{font-size:0.875rem}.nearby-card .place-photo figcaption strong{font-size:0.875rem}.nearby-card .place-photo figcaption a{overflow-wrap:anywhere}
/* 気軽に戻ってこられる、写真と寄り道の入口 */
:root{--ink:#28433e;--green:#2b6558;--paper:#fffdf7;--muted:#626960;--line:#e3e4d8}
a{color:var(--green)}.brand{color:var(--ink);font-size:1.4375rem}.brand span{background:#ffd96c;color:#28433e}.primary-nav a{padding:9px 14px;border-radius:24px;background:#f3f4e9;color:var(--ink);font-weight:650}.site-menu{border:0;border-radius:24px;background:#f3f4e9}.site-menu summary{border-radius:24px}.btn,button{border-radius:24px}.primary{background:#2b6558;border-color:#2b6558;color:white}.btn:hover,button:hover{background:#e9efe8;color:var(--ink)}
.home-page .editorial-lead{grid-template-columns:1fr 1.2fr;gap:36px;margin:26px 0 0;padding:28px 32px;background:#fff2c9;border-radius:24px}.lead-title{padding:0}.lead-title .eyebrow{color:#5e6851;font-size:0.875rem}.lead-title h1{font-size:clamp(2.125rem,3.15vw,2.875rem);line-height:1.5;margin:14px 0 20px;letter-spacing:-.045em}.lead-title h1 span{color:#2b6558}.lead-title>p:not(.eyebrow){font-size:1rem}.lead-title .lead-promise{margin-top:12px!important}.lead-title .outing-shortcuts{gap:14px;margin-top:14px}.lead-title .outing-shortcuts a{font-size:0.875rem;color:#28433e}.lead-album{grid-template-columns:1.55fr .85fr;gap:16px;align-items:start}.album-side{padding-top:64px}.album-note{color:#28433e;font-size:0.875rem;line-height:1.8}.album-note>span{display:inline-block;background:#28433e;color:white;font-size:0.875rem;border-radius:20px;padding:3px 10px;margin-right:6px}.lead-album .lead-photo img{aspect-ratio:4/3;border-radius:16px;object-fit:cover}.lead-album .album-side img{aspect-ratio:1;border-radius:16px}.lead-album figcaption{padding:8px 0 0}.lead-album figcaption strong{font-size:0.875rem;margin:0}.lead-album figcaption strong a{min-height:30px}.lead-album figcaption>span{font-size:0.875rem}.lead-album figcaption details{border:0;margin:0;padding:0}.daily-photo-note{font-size:0.875rem;margin:6px 0 0;line-height:1.7}.home-page .edition{font-size:0.875rem;padding:12px 2px;border:0}.mood-discovery{padding:8px 0 12px}.mood-discovery h2{font-size:1.3125rem}.mood-links{gap:10px;margin:14px 0}.mood-links a{border:0;border-radius:18px;padding:14px;min-height:72px;background:#f9e7dd;font-size:0.875rem}.mood-links a:nth-child(2){background:#e0eff1}.mood-links a:nth-child(3){background:#e7edd7}.mood-links a:nth-child(4){background:#fff0bf}.mood-links a:nth-child(5){background:#eee6f2}.mood-links a:hover{box-shadow:inset 0 0 0 2px #2b6558;background:#fff2c9}.mood-links a>span:first-child{font-size:1.625rem}.mood-arrow{font-size:1.125rem}
.home-page .discovery-story:nth-child(n){padding-top:0}.home-page .photo-grid{gap:24px}.home-page .photo-grid img{border-radius:16px;aspect-ratio:4/3}.story-kicker{color:#28433e;font-size:1.0625rem;margin:0 0 10px;line-height:1.6}.home-page .photo-grid figcaption strong{font-size:0.875rem}.home-page .photo-grid figcaption strong a{min-height:30px}.home-page .photo-discovery .section-head{margin-top:22px}.home-page .photo-discovery h2{font-size:1.75rem}.home-page .recent-discovery{border:0;padding-top:0}.recent-card{border-radius:18px}.spot-card,.card,.panel{border-radius:18px}.directory h1,.article h1{color:#28433e}.tag{border-radius:12px}.spot-categories a{border:0;background:#f0f2e9;border-radius:18px}.spot-categories a:hover{background:#e4ead8}.spot-categories a[aria-current=page]{background:var(--green)}.filters,.spot-filters{background:#f1f3e9}.photo-page .place-photo img{border-radius:16px}.photo-masonry .place-photo{margin-bottom:24px}.article .place-photo img{border-radius:18px}.article .facts div{border-bottom:1px solid #e3e4d8}footer{background:#edf0e4}
@media(max-width:1000px){.home-page .editorial-lead{padding:24px;gap:24px;grid-template-columns:1fr 1fr}.lead-album{grid-template-columns:1fr}.album-side{display:none}.lead-title h1{font-size:2.25rem}.primary-nav{gap:8px}.primary-nav a{padding:8px 10px}}
@media(max-width:600px){.brand{font-size:1.25rem}.home-page .editorial-lead{grid-template-columns:1fr;padding:22px 18px;margin-top:16px;gap:18px}.lead-title h1{font-size:2rem;line-height:1.45;margin:10px 0 14px}.lead-title>p:not(.eyebrow){font-size:0.875rem;margin-bottom:14px}.lead-title .outing-shortcuts{gap:12px;margin-top:10px}.lead-title .lead-promise{display:none}.lead-album{display:block}.lead-album .lead-photo img{aspect-ratio:3/2}.lead-album figcaption>span{font-size:0.875rem}.lead-album figcaption strong{font-size:0.875rem}.album-note{margin-bottom:8px}.daily-photo-note{font-size:0.875rem}.home-page .edition{font-size:0.875rem;display:block}.home-page .edition span{display:block}.mood-discovery{padding-top:12px}.mood-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mood-links a{font-size:0.875rem;padding:12px;min-height:66px}.mood-links a:last-child{grid-column:1/-1}.home-page .photo-grid{gap:26px}.home-page .photo-discovery h2{font-size:1.5625rem}.home-page .photo-grid img{aspect-ratio:4/3}.story-kicker{font-size:1.0625rem}.home-page .section-head{align-items:start;flex-wrap:wrap}.photo-masonry{columns:1}.article .facts div{padding:12px 0}}
@media(max-width:600px){.primary-nav{gap:8px;justify-content:flex-start}.primary-nav a{white-space:nowrap;font-size:0.875rem;padding:8px 7px}.lead-title .outing-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.lead-title .outing-shortcuts a{min-height:36px;display:flex;align-items:center}.lead-title .outing-shortcuts a:last-child{grid-column:1/-1}}
.push-admin .facts div{grid-template-columns:160px 1fr}.push-admin .facts dt{line-height:1.7}.push-admin ol{padding-left:24px;line-height:2}@media(max-width:600px){.push-admin .facts div{grid-template-columns:112px 1fr;gap:12px}}

.home-search{margin:18px 0}.home-search .search-primary{gap:10px}.home-search .search-primary .search{min-width:0;flex:1}.advanced-filters{border-top:1px solid var(--line);margin-top:16px;padding-top:8px}.advanced-filters>summary{font-size:0.9375rem;min-height:44px;padding:10px 0;color:var(--green);font-weight:650;cursor:pointer}.advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:12px 0 20px}.filter-field{display:flex;flex-direction:column;gap:7px;min-width:0}.filter-field label{font-size:0.875rem;font-weight:650}.filter-field select,.filter-field input{font:inherit;width:100%;min-width:0;min-height:44px;border:1px solid var(--control);border-radius:10px;padding:9px;background:#fff}.filter-apply{justify-content:flex-end}.filter-apply button{min-height:44px;font-size:0.9375rem}.search-notes{margin-top:16px}.search-notes>summary{min-height:44px;padding:10px 0}.home-page .filters{border-radius:20px}
@media(max-width:650px){.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-search .search-primary label{width:100%}.home-search .search-primary .search{font-size:1rem}.filter-field select,.filter-field input{font-size:1rem}.home-page .filters{padding:18px}}
/* 写真の大きさに変化をつけ、行き先を眺めて選ぶ */
.home-page .story-album{grid-template-columns:repeat(12,minmax(0,1fr));gap:34px 24px;align-items:start}.home-page .story-album .discovery-story{grid-column:span 3;min-width:0}.home-page .story-album .discovery-story:nth-child(-n+2){grid-column:span 6}.story-city{font-size:0.875rem;color:var(--muted);letter-spacing:.08em;margin:0 0 4px}.story-kicker{margin:0 0 12px;font-size:1.1875rem;line-height:1.5;font-weight:700}.story-kicker a{color:var(--ink);text-decoration:none;display:flex;align-items:center;min-height:44px}.story-kicker a:hover{text-decoration:underline}.home-page .story-album .discovery-story:nth-child(-n+2) .story-kicker{font-size:1.625rem}.home-page .story-album .discovery-story:nth-child(-n+2) img{aspect-ratio:3/2}.story-note{font-size:0.875rem;line-height:1.8;margin:8px 0 0}.discovery-intro{font-size:1rem;margin:12px 0 0;color:var(--muted)}.home-page .story-album figcaption strong a{min-height:44px}.home-page .story-album figcaption{padding-bottom:0}
@media(max-width:1000px){.home-page .story-album .discovery-story{grid-column:span 6}.home-page .story-album .discovery-story:nth-child(-n+2) .story-kicker{font-size:1.4375rem}}
@media(max-width:600px){.home-page .story-album{grid-template-columns:1fr;gap:30px}.home-page .story-album .discovery-story:nth-child(n){grid-column:1/-1}.home-page .story-album .discovery-story:nth-child(n) .story-kicker{font-size:1.3125rem}.home-page .story-album .discovery-story:nth-child(n) img{aspect-ratio:3/2}.story-note{font-size:0.9375rem}.discovery-intro{font-size:0.875rem}}

/* 写真を入口にした、まちの読みもの */
:root{--paper:#fffdf8;--ink:#253730;--green:#27594e;--muted:#56675e;--line:#e3e4d9}
header{background:var(--paper);border-bottom:0}.top{padding:20px 0}.brand{font-size:1.4375rem;letter-spacing:-.035em}.brand span{background:#f3ca47;color:#253730;border-radius:8px 18px 8px 18px}.primary-nav a{background:transparent!important;border-radius:0!important;padding:8px 4px!important;font-weight:600}.primary-nav a:hover{box-shadow:inset 0 -2px var(--green)}.site-menu{background:transparent;border-radius:0;border:0}
.home-page .editorial-lead{display:block;margin:4px 0 0;padding:0;background:transparent;border-radius:0}.home-page .lead-album{display:block}.lead-scene{position:relative}.lead-scene .lead-photo{margin:0}.lead-scene .photo-destination{position:relative;display:block;overflow:hidden;border-radius:4px}.lead-scene .photo-destination:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,32,32,.76),rgba(12,32,32,.15) 70%,transparent);pointer-events:none}.lead-scene .lead-photo img{display:block;width:100%;aspect-ratio:2.65;object-fit:cover;border-radius:0}.lead-scene .lead-title{position:absolute;left:44px;top:32px;z-index:2;color:#fff;padding:0;pointer-events:none;max-width:80%}.lead-scene .lead-title a{pointer-events:auto}.lead-scene .lead-title .eyebrow{color:#fff;font-size:0.875rem;letter-spacing:.09em}.lead-scene .lead-title h1{color:#fff;font-size:clamp(2.25rem,4.1vw,3.625rem);line-height:1.45;letter-spacing:-.035em;margin:14px 0 16px;font-weight:700}.lead-scene .lead-title>p:not(.eyebrow){color:#fff;font-size:1rem;line-height:1.8;margin:12px 0 20px}.lead-scene .lead-title .btn{border:0;background:#f4cf56;color:#243c32;border-radius:28px;padding:11px 22px;font-size:0.9375rem;font-weight:700;min-height:48px}.lead-scene .lead-photo figcaption{display:flex;gap:3px 14px;flex-wrap:wrap;align-items:center;padding:8px 0;font-size:0.875rem}.lead-scene .lead-photo figcaption strong{font-size:0.875rem;margin:0}.lead-scene .lead-photo figcaption strong a{min-height:44px;display:inline-flex;align-items:center}.lead-scene .lead-photo figcaption>span{font-size:0.875rem}.lead-scene .lead-photo figcaption details{margin:0;padding:0;border:0;font-size:0.875rem}.lead-scene .lead-photo figcaption details[open]{flex-basis:100%}.lead-scene .lead-photo figcaption details summary{min-height:44px;padding:8px 0}
.daily-strip{display:grid;grid-template-columns:230px minmax(0,1fr) 230px;gap:26px;align-items:center;padding:20px 0 26px;border-bottom:1px solid var(--line)}.daily-invitation h2{font-size:1.4375rem;line-height:1.5;margin:8px 0}.daily-invitation .album-note{font-size:0.875rem;margin:0}.daily-invitation .album-note>span{border-radius:0;background:transparent;color:var(--green);padding:0;margin-right:12px;border-bottom:2px solid #e7c04b}.daily-invitation .daily-photo-note{font-size:0.875rem;line-height:1.7}.daily-strip .place-photo{display:grid;grid-template-columns:155px minmax(0,1fr);gap:16px;margin:0;align-items:center}.daily-strip .place-photo img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:3px}.daily-strip .place-photo figcaption{padding:0}.daily-strip .place-photo figcaption strong{font-size:0.875rem;line-height:1.6}.daily-strip .place-photo figcaption>span{font-size:0.875rem}.daily-strip .place-photo figcaption details{border:0;font-size:0.875rem;margin:0;padding:0}.daily-strip .outing-shortcuts{display:grid;gap:0;align-self:stretch;margin:0}.daily-strip .outing-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border-bottom:1px solid var(--line);font-size:0.875rem;font-weight:600;text-decoration:none;padding:6px 0}.daily-strip .outing-shortcuts a:hover{color:#a4432b}.home-page .edition{padding:10px 0;font-size:0.875rem;color:var(--muted)}.mood-discovery{padding:16px 0 8px}.mood-discovery h2{font-size:1.375rem}.mood-links{gap:14px;margin:16px 0}.mood-links a{background:transparent!important;border-radius:0;border:0;border-bottom:2px solid #e4dbc9;min-height:60px;padding:10px 0;font-size:0.875rem}.mood-links a:hover{box-shadow:none;border-color:var(--green)}.mood-links a>span:first-child{font-size:1.5625rem}.home-page .photo-discovery h2{font-size:2rem;line-height:1.4}.home-page .story-album{gap:34px 28px}.home-page .story-album img{border-radius:3px}.home-page .story-album .discovery-story:nth-child(2){padding-top:55px}.home-page .story-album .story-city{letter-spacing:.12em;color:#775f47}.home-page .story-album .story-kicker{font-weight:650}.home-page .story-album .discovery-story:nth-child(-n+2) .story-kicker{font-size:1.5rem}.home-page .story-album figcaption{font-size:0.875rem}.home-page .story-album figcaption>span{font-size:0.875rem}.home-page .story-album figcaption details summary{font-size:0.875rem}.home-page .story-note{font-size:0.9375rem;line-height:1.9}.home-page .recent-card{border:0;border-top:2px solid #d8c997;background:transparent;border-radius:0;padding:18px 0}.home-page .upcoming-applications{border-radius:3px;background:#f3f1e8;padding:28px}.home-page .card{border-radius:4px}.home-page .filters{border-radius:4px;background:#f3f1e8}.home-page .panel{border-radius:4px}.home-page .spot-categories a{border-radius:3px;background:transparent;border-bottom:1px solid var(--line)}.photo-page .place-photo img,.spot-card .place-photo img,.article .place-photo img{border-radius:4px}.spot-card{border-radius:4px}.directory h1,.article h1{font-weight:650}
@media(max-width:1000px){.lead-scene .lead-photo img{aspect-ratio:2.1;min-height:380px}.lead-scene .lead-title{left:30px;top:24px}.lead-scene .lead-title h1{font-size:2.5rem}.daily-strip{grid-template-columns:180px minmax(0,1fr);gap:20px}.daily-strip .outing-shortcuts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.daily-strip .place-photo{grid-template-columns:130px minmax(0,1fr)}}
@media(max-width:600px){.top{padding:14px 0}.brand{font-size:1.3125rem}.primary-nav{gap:16px!important}.primary-nav a{font-size:0.875rem!important;padding:6px 0!important}.home-page .editorial-lead{margin-top:0}.lead-scene .lead-photo img{aspect-ratio:.86;min-height:0;object-position:60% center}.lead-scene .photo-destination:after{background:linear-gradient(0deg,rgba(12,32,32,.85),rgba(12,32,32,.15) 90%)}.lead-scene .lead-title{left:22px;top:32px;bottom:auto;transform:none;padding:0;max-width:calc(100% - 40px)}.lead-scene .lead-title h1{font-size:clamp(1.4375rem,7vw,1.6875rem);line-height:1.55;margin:12px 0}.lead-scene .lead-title .eyebrow{font-size:0.875rem}.lead-scene .lead-title>p:not(.eyebrow){font-size:0.875rem;margin:10px 0 18px}.lead-scene .lead-title .btn{font-size:0.875rem;padding:10px 18px}.lead-scene .lead-photo figcaption{gap:0 10px;padding:4px 0}.lead-scene .lead-photo figcaption strong{flex-basis:100%;font-size:0.875rem}.lead-scene .lead-photo figcaption>span{font-size:0.875rem}.daily-strip{grid-template-columns:1fr;padding:20px 0;gap:12px}.daily-invitation h2{font-size:1.25rem;margin:8px 0}.daily-invitation h2 br{display:none}.daily-invitation .daily-photo-note{margin:0}.daily-strip .place-photo{grid-template-columns:110px minmax(0,1fr);gap:14px}.daily-strip .place-photo figcaption strong{font-size:0.875rem}.daily-strip .outing-shortcuts{grid-template-columns:1fr;gap:0;margin-top:6px}.daily-strip .outing-shortcuts a{font-size:0.875rem;min-height:48px}.mood-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}.mood-links a{font-size:0.875rem;padding:8px 0}.mood-links a:last-child{grid-column:auto}.home-page .photo-discovery h2{font-size:1.5625rem}.home-page .story-album .discovery-story:nth-child(n){padding-top:0}.home-page .story-album .discovery-story:nth-child(n) .story-kicker{font-size:1.3125rem}.home-page .story-album figcaption>span{font-size:0.875rem}.home-page .story-album{gap:30px}.home-page .upcoming-applications{padding:20px}.home-page .edition{font-size:0.875rem}}

.daily-promise{font-size:0.875rem;margin:8px 0;color:var(--muted)}@media(max-width:600px){.daily-promise{display:none}}
.nearby-hours{padding:10px 0;border-block:1px solid var(--line);line-height:1.8}.inside-place{padding:12px 0;line-height:1.8}.inside-place>a{font-weight:650}
.purpose-more{padding:0;border:0;margin:0;min-width:0}.purpose-more>summary{font-size:0.875rem;padding:12px 4px;min-height:44px;color:var(--green);cursor:pointer}.purpose-more>div{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}.purpose-more[open]{flex-basis:100%;padding-left:78px}@media(max-width:600px){.purpose-more[open]{padding-left:0}}

/* 休日の雑誌をめくるような入口。検索と出典の機能は維持する。 */
:root{--ink:#30372f;--green:#385f4e;--paper:#fffdf8;--muted:#62695e;--line:#e5e2d9}
header{background:#fffdf8}.brand span{background:#f3bf62;border-radius:12px;transform:rotate(-5deg)}.primary-nav a{font-weight:600}.site-menu{border-color:#dfded6}
.home-page .lead-scene{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:center;background:#f8eee1;padding:30px 28px 18px;border-radius:24px}
.home-page .lead-scene .lead-title{position:static;color:var(--ink);max-width:none;pointer-events:auto;padding:0 0 18px}.home-page .lead-scene .lead-title .eyebrow{color:#a14d36;font-size:0.875rem;letter-spacing:.04em}.home-page .lead-scene .lead-title h1{color:var(--ink);font-size:clamp(2.5rem,4.5vw,3.875rem);line-height:1.35;letter-spacing:.025em;margin:18px 0}.home-page .lead-scene .lead-title>p:not(.eyebrow){color:#555e50;font-size:1rem;line-height:1.9}.home-page .lead-scene .lead-title .btn{background:#bf5035;color:#fff;border-radius:30px;font-size:0.875rem;padding:12px 20px;display:inline-flex;align-items:center}
.home-page .lead-scene .photo-destination{border-radius:18px 18px 64px 18px}.home-page .lead-scene .photo-destination:after{display:none}.home-page .lead-scene .lead-photo img{aspect-ratio:1.9;min-height:0;object-position:center}.home-page .lead-scene .lead-photo figcaption{font-size:0.875rem;gap:0 10px;padding:4px 0}.home-page .lead-scene .lead-photo figcaption strong{font-size:0.875rem}.home-page .lead-scene .lead-photo figcaption>span{font-size:0.875rem}.home-page .lead-scene .lead-photo figcaption details summary{font-size:0.875rem;min-height:32px;padding:4px 0}
.daily-strip{grid-template-columns:220px minmax(0,1fr) 230px;padding:18px 0;gap:22px}.daily-invitation h2{font-size:1.125rem;margin:5px 0}.daily-promise{display:none}.daily-invitation .daily-photo-note{font-size:0.875rem;margin:6px 0}.daily-strip .place-photo img{border-radius:12px}.daily-strip .outing-shortcuts a{font-size:0.875rem}.home-page .edition{display:flex;gap:8px;flex-wrap:wrap;font-size:0.875rem;padding:8px 0}
.mood-discovery{padding:12px 0 4px}.mood-discovery h2{font-size:1.1875rem;margin:0}.mood-links{margin:8px 0;gap:12px}.mood-links a{background:#f5f2e9!important;border:0;border-radius:30px;min-height:48px;padding:8px 12px;font-size:0.875rem}.mood-links a>span:first-child{font-size:1.25rem}.mood-links a:hover{background:#fbe4cd!important}.mood-links .mood-arrow{font-size:0.875rem}
.home-page .photo-discovery .section-head{margin-top:24px;align-items:center}.home-page .photo-discovery h2{font-size:1.8125rem}.discovery-intro{margin:6px 0;color:var(--muted);font-size:0.875rem}.home-page .story-album{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px}.home-page .story-album .discovery-story:nth-child(n){grid-column:auto;padding-top:0}.home-page .story-album .story-kicker,.home-page .story-album .discovery-story:nth-child(-n+2) .story-kicker{font-size:1.3125rem;margin:4px 0 12px;line-height:1.5}.story-kicker a{text-decoration:none}.story-kicker a:hover{text-decoration:underline}.home-page .story-album img,.home-page .story-album .discovery-story:nth-child(-n+2) img{aspect-ratio:4/3;border-radius:16px;object-fit:cover}.home-page .story-album .story-city{font-size:0.875rem;margin:0;color:#986449;letter-spacing:.03em}.home-page .story-album .story-note{font-size:0.875rem;margin:8px 0}.home-page .story-album figcaption{padding:8px 0;line-height:1.5}.home-page .story-album figcaption strong{font-size:0.875rem}.home-page .story-album figcaption>span{font-size:0.875rem}.home-page .story-album figcaption details summary{font-size:0.875rem;padding:4px 0}
.home-page .recent-card{background:#f5f0e7;border-top:0;border-radius:16px;padding:20px}.home-page .recent-card:nth-child(2){background:#edf2e7}.home-page .recent-card:nth-child(3){background:#fbede4}.home-page .recent-card:nth-child(4){background:#eef1f7}.home-page .filters,.home-page .upcoming-applications{border-radius:18px}.home-page .card,.home-page .panel,.spot-card{border-radius:14px}.photo-page .place-photo img,.spot-card .place-photo img,.article .place-photo img{border-radius:14px}
@media(max-width:1000px){.home-page .lead-scene{gap:24px;padding:24px 20px 12px}.home-page .lead-scene .lead-title h1{font-size:2.75rem}.home-page .lead-scene .lead-title>p:not(.eyebrow){font-size:0.875rem}.home-page .lead-scene .lead-photo img{aspect-ratio:1.4}.daily-strip{grid-template-columns:180px minmax(0,1fr)}.home-page .story-album{grid-template-columns:repeat(2,minmax(0,1fr))}.mood-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.home-page .lead-scene{grid-template-columns:1fr;gap:10px;padding:20px 18px 10px;border-radius:20px}.home-page .lead-scene .lead-title{padding:0}.home-page .lead-scene .lead-title .eyebrow{margin:0}.home-page .lead-scene .lead-title h1{font-size:2.5rem;line-height:1.25;margin:10px 0}.home-page .lead-scene .lead-title h1 br{display:none}.home-page .lead-scene .lead-title>p:not(.eyebrow){font-size:0.875rem;margin:10px 0 12px}.home-page .lead-scene .lead-title .btn{min-height:44px;padding:8px 16px;font-size:0.875rem}.home-page .lead-scene .lead-photo img{aspect-ratio:1.9;object-position:center}.home-page .lead-scene .photo-destination{border-radius:14px 14px 40px 14px}.home-page .lead-scene .lead-photo figcaption>span{font-size:0.875rem}.daily-strip{grid-template-columns:1fr;gap:10px;padding:16px 0}.daily-invitation h2{font-size:1.125rem}.daily-invitation .daily-photo-note{font-size:0.875rem}.daily-strip .outing-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.daily-strip .outing-shortcuts a{background:#f5f2e9;border:0;border-radius:12px;justify-content:center;padding:10px 8px;font-size:0.875rem;min-height:44px}.daily-strip .outing-shortcuts a:last-child{grid-column:1/-1}.home-page .edition span:last-child{display:none}.mood-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mood-links a{font-size:0.875rem;padding:8px 10px;min-height:44px}.home-page .photo-discovery h2{font-size:1.4375rem}.home-page .photo-discovery .section-head{align-items:start}.home-page .photo-discovery .section-head>a{font-size:0.875rem;min-width:70px}.home-page .story-album{grid-template-columns:1fr;gap:24px}.home-page .story-album .discovery-story:nth-child(n){grid-column:auto}.home-page .story-album .discovery-story:nth-child(n) .story-kicker{font-size:1.375rem}.home-page .story-album .discovery-story:nth-child(n) img{aspect-ratio:1.5}.home-page .story-album figcaption>span{font-size:0.875rem}.home-page .story-album .story-note{font-size:0.875rem}.home-page .recent-card{padding:18px}}


@media(min-width:601px){.home-page .lead-scene{padding:20px 28px 12px}.home-page .lead-scene .lead-title h1{font-size:clamp(2.375rem,3.7vw,3.125rem);line-height:1.25;margin:12px 0}.home-page .lead-scene .lead-title>p:not(.eyebrow){font-size:0.9375rem;margin:10px 0 14px;line-height:1.7}.home-page .lead-scene .lead-title .eyebrow{margin:0}.home-page .lead-scene .lead-title .btn{min-height:44px;padding:10px 18px}.home-page .lead-scene .lead-photo img{aspect-ratio:2.3}}

.home-page .photo-discovery .section-head h2{margin:6px 0;line-height:1.4}.home-page .photo-discovery .section-head .eyebrow{margin:0}.home-page .photo-discovery .section-head{margin-top:14px}
@media(max-width:600px){.home-page .lead-scene .lead-title h1{font-size:2.125rem;line-height:1.3}.home-page .lead-scene .lead-title h1 br{display:block}}
.page-hidden{display:none!important}.result-more{text-align:center;padding:24px 0 40px}.result-more p{font-size:0.875rem;color:var(--muted)}.result-more button{min-height:44px;padding:12px 26px;border-radius:24px;background:#f5ede0}
/* 毎日の発見を軽く眺める。写真・情報の出典はそのまま表示。 */
:root{--paper:#fffefa;--ink:#283532;--muted:#61716b;--line:#e1e9e4}.spot-card h3{font-family:inherit}.filters,.spot-filters{background:#f0f5ef;border-radius:14px}.card-top,.card:nth-child(3n+1) .card-top,.card:nth-child(3n+2) .card-top{background:#edf4ee}.tag{background:#edf4ee}.btn,button{border-radius:12px}.panel.green{background:#eaf4ee;color:var(--ink)}.panel.green p,.panel.green small{color:var(--muted)}.panel.green .btn{background:white;color:var(--green)}footer{background:#f0f5ef}

.home-page{--ink:#283532;--muted:#61716b;--line:#e1e9e4}
.home-page .magazine-opening{display:block;background:transparent;padding:0;margin:12px 0 0;border-radius:0}
.opening-copy{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0 24px}.opening-copy .eyebrow{color:#357965;font-size:0.875rem;letter-spacing:.08em;margin:0 0 8px}.opening-copy h1{font-family:inherit;font-size:clamp(2rem,3.7vw,3rem);font-weight:800;line-height:1.3;letter-spacing:-.04em;margin:0}.opening-copy h1 span{color:#e16a45}.opening-invitation{font-size:0.875rem;line-height:1.8}.opening-invitation p{margin:0 0 12px}.opening-now{display:flex;flex-wrap:wrap;gap:8px}.opening-now a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;background:#edf5ef;border-radius:24px;font-size:0.875rem;font-weight:650;text-decoration:none;color:#2e624e}.opening-now a:first-child{background:#ffdf95;color:#483d21}.opening-now a:last-child{background:transparent;padding-left:4px}
.opening-collage{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px;align-items:start}.opening-scene{position:relative;min-width:0}.opening-scene .place-photo{margin:0}.opening-scene .photo-destination{display:block;overflow:hidden;border-radius:18px}.opening-scene img{display:block;width:100%;height:270px;object-fit:cover;transition:transform .3s}.opening-scene .photo-destination:hover img{transform:scale(1.035)}.opening-scene .scene-note{position:absolute;top:14px;left:14px;z-index:1;background:#fffef8;color:#283532;margin:0;padding:8px 12px;border-radius:18px;font-weight:650;font-size:0.875rem;pointer-events:none}.opening-scene figcaption{display:block;padding:8px 2px;font-size:0.875rem;line-height:1.5}.opening-scene figcaption strong{display:none}.opening-scene figcaption>span{display:inline;font-size:0.875rem;margin-right:6px}.opening-scene figcaption details{border:0;margin:0;padding:0}.opening-scene figcaption details summary{font-size:0.875rem;min-height:26px;padding:2px 0}.opening-scene figcaption details p{font-size:0.875rem}.home-page .edition{padding:8px 0;margin:0;border:0;font-size:0.875rem;color:var(--muted)}
.home-page .mood-discovery{padding:16px 0 24px}.home-page .mood-discovery h2{font-size:1rem;font-weight:650}.home-page .mood-links{display:flex;flex-wrap:wrap;gap:10px}.home-page .mood-links a{background:#f3f5ef;border:0;border-radius:24px;padding:10px 16px;font-size:0.875rem;min-height:44px;gap:8px}.home-page .mood-links a:nth-child(2){background:#e8f4fa}.home-page .mood-links a:nth-child(3){background:#eaf4e9}.home-page .mood-links a:nth-child(4){background:#fff0dc}.home-page .mood-links a:nth-child(5){background:#f2ecfa}.home-page .mood-arrow{display:none}
.home-page h2,.home-page h3{font-family:inherit;letter-spacing:-.02em}.home-page .section-head{margin:18px 0}.home-page .section-head h2{font-size:1.625rem;line-height:1.4;margin:6px 0}.home-page .recent-discovery{padding:8px 0 22px}.home-page .recent-grid{gap:22px}.home-page .recent-card:nth-child(n){background:transparent;border-radius:0;border-top:3px solid #83bba4;padding:14px 0}.home-page .recent-card:nth-child(even){border-color:#efad76}.home-page .recent-card h3{font-size:1.1875rem;line-height:1.55}.home-page .recent-card>p:not(.recent-date):not(.recent-kind):not(.recent-period){font-size:0.875rem;line-height:1.7}.home-page .recent-date,.home-page .recent-period{font-size:0.875rem}.home-page .recent-kind{font-size:0.875rem}.home-page .recent-more{font-size:0.875rem}
.home-page .daily-strip{margin:22px 0 32px;background:#eff6ef;padding:24px;border-radius:20px;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);align-items:start;gap:20px 28px}.home-page .daily-strip .album-note>span{background:#397a60}.home-page .daily-strip .place-photo{display:block;min-width:0}.home-page .daily-strip .place-photo img{aspect-ratio:1.65;display:block;width:100%;height:auto;border-radius:14px}.home-page .daily-strip .place-photo figcaption{padding-top:8px}.home-page .daily-strip .outing-shortcuts{grid-column:1/-1;display:flex;gap:16px;align-items:start}.home-page .daily-strip .outing-shortcuts a{flex:1;min-width:0;align-self:start}.home-page .daily-invitation h2{font-size:1.375rem}.daily-place-name{font-size:1.4375rem;line-height:1.5;margin:16px 0 8px}.daily-place-name a{color:var(--ink)}.daily-place-story{line-height:1.8;font-size:0.9375rem}.daily-hours{font-size:0.875rem;margin-top:12px}.daily-hours summary{min-height:44px;display:list-item;padding:12px 0;cursor:pointer}.daily-hours p{overflow-wrap:anywhere}.daily-hours a{display:inline-block;min-height:44px;padding:10px 0}
.home-page .photo-discovery{padding:8px 0}.home-page .story-album{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-page .story-album .discovery-story:nth-child(n){grid-column:auto;padding-top:0;min-width:0}.home-page .story-album .story-city{font-size:0.875rem;color:#357965}.home-page .story-album .story-kicker{font-family:inherit;font-size:1.3125rem;line-height:1.5}.home-page .story-album img{border-radius:14px!important;aspect-ratio:1.3!important}.home-page .story-album .story-note{font-size:0.875rem}.home-page .story-album figcaption{font-size:0.875rem}.home-page .social-gateway,.home-page .archive-gateway,.home-page .upcoming-applications,.home-page .panel{border-radius:18px}.home-page .spot-categories a{border-radius:24px}.social-discovery .social-gateway-list{gap:22px 32px}.social-discovery .social-gateway-list article{border-top:2px solid #8bbba5;padding:16px 0}.social-preview-date{color:#61716b;font-size:0.875rem}.social-discovery h3{font-family:inherit;font-size:1.3125rem;line-height:1.55;margin:0 0 8px}.social-discovery h3 a{padding:4px 0;text-decoration:none;color:var(--ink)}.social-discovery h3 a:hover{text-decoration:underline}.social-preview-summary{line-height:1.8}.social-preview-more{font-size:0.875rem}
@media(max-width:1000px){.opening-copy{align-items:start}.opening-copy h1{font-size:2.375rem}.opening-invitation{max-width:340px}.opening-collage{gap:14px}.opening-scene img{height:220px}.opening-scene .scene-note{font-size:0.875rem;left:8px;padding:7px 9px}.home-page .story-album{gap:18px}}
@media(max-width:600px){.opening-copy{display:block;padding:6px 0 16px}.opening-copy h1{font-size:2rem}.opening-copy h1 span{white-space:nowrap}.opening-copy .eyebrow{font-size:0.875rem;margin-bottom:8px}.opening-invitation{padding-top:10px;max-width:none;font-size:0.875rem}.opening-invitation p{margin-bottom:10px}.opening-now{gap:6px}.opening-now a{font-size:0.875rem;padding:8px 10px}.opening-collage{grid-template-columns:1fr 1fr;gap:12px}.opening-scene.scene-0{grid-column:1/-1}.opening-scene.scene-0 img{height:auto;aspect-ratio:1.9}.opening-scene:not(.scene-0) img{height:auto;aspect-ratio:1.15}.opening-scene .scene-note{bottom:auto;top:12px;left:10px;font-size:0.875rem}.opening-scene:not(.scene-0) .scene-note{top:8px;left:6px;font-size:0.875rem;padding:5px 7px;max-width:calc(100% - 12px)}.home-page .edition{font-size:0.875rem;display:block}.home-page .edition>span{display:block}.home-page .mood-discovery{padding:12px 0 18px}.home-page .mood-links{gap:8px}.home-page .mood-links a{font-size:0.875rem;padding:9px 12px}.home-page .section-head h2{font-size:1.4375rem}.home-page .recent-grid{grid-template-columns:1fr 1fr;gap:18px}.home-page .recent-card h3{font-size:1rem}.home-page .recent-card>p:not(.recent-date):not(.recent-kind):not(.recent-period){display:none}.home-page .daily-strip{grid-template-columns:1fr;padding:16px}.home-page .daily-strip .outing-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-page .daily-strip .outing-shortcuts a{align-self:stretch}.home-page .daily-strip .place-photo img{aspect-ratio:1.5}.home-page .story-album{grid-template-columns:1fr;gap:24px}.home-page .story-album .story-kicker{font-size:1.3125rem}.home-page .story-album img{aspect-ratio:1.6!important}.social-discovery .social-gateway-list{gap:20px}.social-discovery h3{font-size:1.3125rem}}
@media(prefers-reduced-motion:reduce){.opening-scene img{transition:none}.opening-scene .photo-destination:hover img{transform:none}}
.photo-resume{border-top:1px solid var(--line);padding-top:18px;margin:20px 0}.photo-resume>label{display:block;margin:12px 0 6px}.photo-resume input[type=file]{display:block;max-width:100%;width:100%;padding:10px 0}.photo-resume button{min-height:44px}.photo-resume [role=status]{overflow-wrap:anywhere}
.photo-events{margin:8px 0 16px;padding:12px 14px;background:#edf5ee;border-radius:12px}.photo-events>p{margin:0 0 4px;font-size:0.875rem;font-weight:650;color:#357965}.photo-events a{display:block;min-height:44px;padding:8px 0;font-size:0.875rem;line-height:1.65;text-decoration:none}.photo-events a:hover{text-decoration:underline}.photo-events a span{display:block;color:var(--muted);font-size:0.875rem}
.article-history{margin:28px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.article-history>summary{cursor:pointer;min-height:44px;padding:8px 0;font-size:1.125rem;font-weight:600}.article-history[open]>summary{margin-bottom:16px}

.spot-page{padding-top:24px}.spot-page h1{margin:14px 0 18px}.spot-page .official-navigation{margin-bottom:20px}.spot-page .spot-introduction{font-size:1.125rem;line-height:1.85;margin:20px 0}.spot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:18px 0 24px}.spot-actions p{margin:0}.spot-page .photo-events{margin-top:8px}@media(max-width:600px){.spot-page{padding-top:16px}.spot-page h1{font-size:1.75rem}.spot-page .spot-introduction{font-size:1rem}.spot-actions{gap:10px 16px}.spot-actions a{font-size:0.875rem}}

/* Familiar system Gothic throughout, with a clear heading hierarchy. */
:root{--ink:#243b42;--green:#245c63;--paper:#fffdfa;--muted:#596b70;--line:#d9dfdf;--control:#788a8d;--reading:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--editorial:var(--reading)}
.milestones .milestone-list{list-style:none;padding:0;margin:0}
.milestone-list li{padding:.75rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1.5rem}
.milestone-list time{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}
.milestone-list time span{display:block}
.milestone-list .milestone-label{margin:0;line-height:1.7}
.milestone-links{display:flex;flex-wrap:wrap;gap:0 .75rem}
.milestone-links a{display:inline-flex;align-items:center;min-height:2.75rem;font-size:1rem}
.milestone-list .milestone-checked{margin:0;font-size:.875rem}
@media(max-width:600px){.milestone-list li{grid-template-columns:1fr;gap:.25rem}.milestone-list time{display:flex;flex-wrap:wrap;gap:0 .75rem}.milestone-list time span{display:inline}}
body{font-family:var(--reading);font-size:1rem;line-height:1.85;font-weight:400;background:var(--paper);color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--reading);overflow-wrap:anywhere}h2,h3{font-family:var(--reading);font-weight:700}button,input,select,textarea{font-family:var(--reading)}
.wrap{width:min(1200px,calc(100% - 64px))}header{border-top:0;border-bottom:1px solid var(--line);background:var(--paper)}.top{padding:22px 0}.brand{font-family:var(--editorial);font-size:1.5625rem;letter-spacing:0;font-weight:700}.brand span{background:transparent!important;border:1px solid var(--green);border-radius:50%!important;color:var(--green)!important;padding:6px 9px;font-family:var(--editorial)}header nav a{font-size:0.875rem;font-weight:600}.site-menu summary{border-radius:4px}
.btn,button,.opening-now a{border-radius:4px;letter-spacing:.025em}.btn:hover,button:hover{background:#eef3f2}.primary:hover{background:#194950;color:white}a:hover{text-decoration-thickness:2px}.tag{background:#f1f3f1;border-radius:2px}.notice{background:#fff1d7;border-radius:4px;color:#554630}.filters,.spot-filters{background:#f1f5f4;border-radius:4px}.card,.panel,.spot-card{border-radius:4px}.card-top,.card:nth-child(3n+1) .card-top,.card:nth-child(3n+2) .card-top{background:#f1f5f4}.card .date{font-family:var(--reading);font-weight:700}.card h3{font-family:var(--reading);font-weight:700}.spot-card h3{font-family:var(--reading);font-size:1.375rem}.article h1,.directory h1{font-family:var(--editorial);font-weight:700;line-height:1.55;letter-spacing:0}.article h1{font-size:clamp(1.75rem,3.1vw,2.5rem)}.article .facts{font-size:1rem;line-height:1.8}.article .spot-introduction{font-size:1.125rem}
.home-page{--ink:#243b42;--muted:#596b70;--line:#d9dfdf}.opening-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);padding:8px 0 24px;align-items:end;gap:28px}.opening-copy h1{font-family:var(--editorial);font-size:clamp(1.375rem,2.2vw,1.875rem);line-height:1.5;font-weight:700;letter-spacing:0;margin:0 0 8px}.opening-now{display:flex;gap:4px 20px;justify-content:flex-start;flex-wrap:wrap}.opening-now a:nth-child(n){background:transparent;border:0;border-radius:0;font-size:1rem;color:var(--ink);padding:6px 0;min-height:44px;text-decoration:underline;text-underline-offset:5px}.opening-collage{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-areas:"hero brief" "sides brief";gap:24px 32px;align-items:start}.opening-side-photos{grid-area:sides;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.opening-brief{grid-area:brief;min-width:0;border-top:3px solid var(--ink);padding-top:12px}.opening-brief h2{font-size:1.25rem!important;line-height:1.5;margin:0 0 6px}.opening-brief>p{margin:4px 0 12px}.opening-brief article{padding:12px 0;border-bottom:1px solid var(--line)}.opening-brief article p{margin:0 0 4px}.opening-brief h3{font-size:1.0625rem;line-height:1.6;margin:0 0 6px}.opening-brief h3 a{color:var(--ink);text-decoration:none;display:inline-block;min-height:44px;align-content:center}.opening-date{font-size:1.125rem;font-weight:700;color:#814113}.opening-brief .small{font-size:0.875rem;line-height:1.75}.opening-source,.opening-all{display:inline-flex;align-items:center;min-height:44px;font-size:0.875rem}.opening-all{font-weight:600}.opening-recent{margin-top:20px}.opening-photo-note{margin:14px 0 0}
.place-photo .official-navigation.compact{margin:0 0 12px}.official-navigation.compact .btn{font-size:0.875rem;min-height:44px;background:transparent;border:1px solid var(--line);color:var(--green);padding:8px 12px}.official-navigation.compact .btn:hover{background:#edf3f2}.photo-events{background:#f1f5f4;border-radius:3px;font-size:0.875rem}.photo-events>p{color:var(--green)}
.opening-search{display:flex;gap:12px;align-items:center;padding:20px 0;margin:12px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.opening-search label{font-size:0.875rem;font-weight:600;white-space:nowrap}.opening-search input{min-width:0;flex:1;border:1px solid var(--control);border-radius:3px;padding:10px 14px;min-height:48px;font-size:1rem;background:white}.opening-search button{min-height:48px}
.home-page .edition{font-size:0.875rem;padding:12px 0}.home-page .mood-discovery{padding:20px 0 34px}.home-page .mood-discovery h2{font-size:1.0625rem;color:var(--muted)}.home-page .mood-links{gap:0;margin:10px 0}.home-page .mood-links a:nth-child(n){background:transparent!important;border:0;border-right:1px solid var(--line);border-radius:0;padding:6px 20px;font-size:0.9375rem;gap:10px}.home-page .mood-links a:first-child{padding-left:0}.home-page .mood-links a:last-child{border-right:0}.home-page .mood-links a:hover{color:var(--green);text-decoration:underline}
.home-page h2,.home-page h3{letter-spacing:.015em}.home-page .section-head{margin:32px 0 22px}.home-page .section-head h2{font-family:var(--editorial);font-weight:700;font-size:1.875rem;line-height:1.5}.home-page .recent-discovery{padding:12px 0 32px;border-top:1px solid var(--line)}.home-page .recent-grid{gap:28px}.home-page .recent-card:nth-child(n){border-top:1px solid var(--green);background:transparent;padding:18px 0;border-radius:0}.home-page .recent-card h3{font-size:1.25rem;font-weight:700;line-height:1.6}.home-page .recent-date,.home-page .recent-period{font-size:0.875rem}.home-page .daily-strip{border-radius:4px;background:#f0f4f2;padding:32px;margin:32px 0 56px;gap:28px 40px}.home-page .daily-invitation h2{font-family:var(--editorial);font-size:1.75rem;font-weight:700}.home-page .daily-strip .place-photo img{border-radius:3px}.home-page .story-album{gap:32px}.home-page .story-album img{border-radius:3px!important;aspect-ratio:4/3!important}.home-page .story-album .story-kicker{font-size:1.4375rem;line-height:1.5;font-weight:700}.home-page .story-album .story-city{font-size:0.875rem;color:var(--green)}.home-page .story-album .story-note{font-size:0.9375rem;line-height:1.85}.home-page .story-album figcaption>span{font-size:0.875rem}.home-page .photo-discovery{padding:0 0 36px}.home-page .social-gateway,.home-page .archive-gateway,.home-page .upcoming-applications,.home-page .panel{border-radius:4px}.home-page .social-discovery .social-gateway-list article{border-top:1px solid var(--line)}.home-page .spot-categories a{border-radius:0}.spot-categories a:hover{background:#edf3f2}.photo-page .place-photo img,.spot-card .place-photo img,.article .place-photo img{border-radius:3px}footer{background:#edf2f0;padding:40px 0}.small,small{color:var(--muted)}
@media(max-width:1000px){.wrap{width:calc(100% - 40px)}.home-page .mood-links a:nth-child(n){padding:6px 12px;font-size:0.875rem}}
@media(max-width:600px){body{font-size:1rem;line-height:1.85}.wrap{width:calc(100% - 32px)}.top{padding:14px 0}.brand{font-size:1.375rem}.brand span{font-size:0.875rem}.primary-nav a{font-size:0.875rem}.home-page .edition{font-size:0.875rem}.home-page .mood-discovery{padding:16px 0 24px}.home-page .mood-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-page .mood-links a:nth-child(n){border:1px solid var(--line);padding:9px 10px;font-size:0.875rem;border-radius:3px}.home-page .section-head h2{font-size:1.6875rem}.home-page .recent-grid{grid-template-columns:1fr;gap:0}.home-page .recent-card:nth-child(n){padding:18px 0;border-top:1px solid var(--line)}.home-page .recent-card h3{font-size:1.1875rem}.home-page .recent-card>p:not(.recent-date):not(.recent-kind):not(.recent-period){display:block;font-size:0.875rem}.home-page .daily-strip{padding:20px;margin:24px 0 36px}.home-page .daily-invitation h2{font-size:1.5625rem}.home-page .story-album{gap:32px}.home-page .story-album .story-kicker{font-size:1.375rem}.home-page .story-album img{aspect-ratio:4/3!important}.article h1{font-size:1.8125rem}.spot-page h1{font-size:1.8125rem}.article .spot-introduction{font-size:1rem}.home-page .section-head{margin:24px 0 18px}}
@media(prefers-reduced-motion:reduce){}
.discovery-search .opening-search{display:grid;grid-template-columns:auto minmax(160px,1fr) auto minmax(120px,.6fr) auto;gap:12px}.discovery-search .opening-search select{width:100%;min-width:0;min-height:48px;font-size:1rem;border:1px solid var(--control);border-radius:3px;background:white;padding:10px}.discovery-result-tabs{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px;margin:24px 0}.discovery-result-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:4px;text-decoration:none}.discovery-result-tabs a:hover{background:#eef3f2}.discovery-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;list-style:none;padding:0;margin:0}.discovery-result{padding:22px 0;border-top:1px solid var(--line);min-width:0}.discovery-result h3{font-size:1.3125rem;margin:6px 0 10px;line-height:1.6}.discovery-result h3 a{text-decoration:none;color:var(--ink)}.discovery-result h3 a:hover{text-decoration:underline}.discovery-result p{font-size:0.9375rem}.discovery-result .eyebrow{font-size:0.875rem;color:var(--muted)}.discovery-result-group{margin:36px 0;scroll-margin-top:20px}
@media(max-width:800px){.discovery-search .opening-search{grid-template-columns:auto 1fr}.discovery-search .opening-search label:first-child,.discovery-search .opening-search input,.discovery-search .opening-search button{grid-column:1/-1}.discovery-search .opening-search label[for=discovery-city]{grid-column:1}.discovery-search .opening-search select{grid-column:2}.discovery-results{grid-template-columns:1fr}.discovery-search h1{font-size:1.8125rem}.discovery-result h3{font-size:1.25rem}}

@media(max-width:800px){.opening-copy{grid-template-columns:1fr;gap:16px;padding:4px 0 20px}.opening-copy h1{font-size:1.5rem}.opening-collage{grid-template-columns:1fr;grid-template-areas:"hero" "brief" "sides";gap:22px}.opening-side-photos{gap:16px}.opening-now a:nth-child(n){font-size:1rem;padding:6px 0}.opening-brief h2{font-size:1.25rem!important}}
@media(max-width:360px){.opening-side-photos{grid-template-columns:1fr}}

.opening-now .opening-timing{display:none}@media(max-width:800px){.opening-now .opening-timing{display:inline-flex;align-items:center;color:#814113}.opening-brief{scroll-margin-top:20px}}

.home-official-social{margin:2.5rem 0;padding:1.5rem 0;border-top:1px solid var(--line,#ddd);border-bottom:1px solid var(--line,#ddd)}.home-official-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.home-official-posts article{min-width:0;padding-top:1rem;border-top:1px solid var(--line,#ddd)}.home-official-posts h3{margin:.5rem 0;font-size:1.2rem;line-height:1.5}.home-official-actions{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.home-official-actions a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;overflow-wrap:anywhere}.social-directory summary{min-height:44px;cursor:pointer;padding:.5rem 0}.home-official-posts .small{overflow-wrap:anywhere}@media(max-width:600px){.home-official-posts{grid-template-columns:1fr;gap:1rem}}
.spot-page>.lead-photo img{aspect-ratio:auto;max-height:640px;object-fit:contain}
.spot-photo-album>summary{min-height:44px;align-content:center;cursor:pointer}
.spot-photo-album>.place-photo img{max-height:640px;object-fit:contain}

.photo-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:24px}.photo-record-card{max-width:600px}.photo-record-card img,.event-record-photo img{display:block;width:100%;height:auto;object-fit:contain}.event-record-photo{margin:24px 0;max-width:860px}.event-record-photo figcaption{font-size:.875rem;line-height:1.8;margin-top:12px}.event-record-photo figcaption>span{display:block}.event-record-photo details{margin-top:10px}.photo-event-records{margin:40px 0}.record-scope{margin:24px 0}

/* Photo discovery: begin with images; keep filter values in native GET forms. */
.photo-page .photo-discovery-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:start;margin:24px 0 8px}
.photo-page .photo-discovery-heading h1{margin:0;font-size:2rem;line-height:1.4}
.photo-page .photo-filter-drawer{min-width:0;margin:0;border:0;padding:0}
.photo-page .photo-filter-drawer summary{min-height:44px;display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;cursor:pointer;color:var(--green)}
.photo-page .photo-filter-drawer[open]{grid-column:1/-1}
.photo-page .photo-filter-drawer[open] summary{width:max-content;max-width:100%}
.photo-page .photo-filter-drawer .spot-filters{margin:8px 0 12px}
.photo-page .photo-intro-note{margin:8px 0 18px;font-size:1rem}
.photo-page .photo-coverage{margin:28px 0;font-size:1rem}
.photo-page .place-photo figcaption .official-navigation{margin:8px 0}
.photo-page .place-photo figcaption .official-navigation .btn{font-size:1rem;line-height:1.6;white-space:normal;max-width:100%;text-align:left}
@media(max-width:600px){.photo-page{padding-top:24px}.photo-page .photo-discovery-heading{gap:8px 12px;margin-top:16px}.photo-page .photo-discovery-heading h1{font-size:1.6rem}.photo-page .calendar-tabs{gap:8px}.photo-page .calendar-tabs a{padding:8px 10px}.photo-page .section-head{align-items:baseline;gap:12px}.photo-page .section-head h2{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){.photo-page{scroll-behavior:auto}}

.photo-page #photo-results .section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:16px 0 8px}
.photo-page #photo-results .section-head h2{font-size:1.125rem;line-height:1.6;margin:0}
.photo-page #photo-results .section-head a{font-size:1rem;line-height:1.6}
.photo-page #photo-results>.small{margin:8px 0 12px}

.photo-page .photo-filter-drawer summary::before{content:'＋';font-weight:400}
.photo-page .photo-filter-drawer[open] summary::before{content:'−'}

/* Shared readable type; photograph, immediate journeys, and search belong together. */
header .primary-nav{flex-wrap:wrap!important;gap:4px 18px!important}
header .primary-nav a{font-size:.875rem!important;white-space:normal;line-height:1.6;min-height:44px;align-content:center}
header .brand{line-height:1.5;overflow-wrap:anywhere}
.opening-search-panel{min-width:0}.opening-search-panel>summary{min-height:44px;display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;cursor:pointer;color:var(--green)}
.opening-search-panel>summary::before{content:'＋';font-size:1rem}.opening-search-panel[open]>summary::before{content:'−'}
.opening-search-panel[open]{grid-column:1/-1;width:100%;border-bottom:1px solid var(--line);padding-bottom:16px}
.opening-application-link{margin:12px 0 0}.opening-application-link a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
@media(max-width:600px){.home-page .edition{font-size:.875rem;padding:10px 0}}
@media(max-width:600px){}
@media(max-width:360px){}
/* Keep the menu in layout so enlarged text cannot cover the brand. */
header{container-type:inline-size}
header .top{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}
header .brand{grid-column:1;grid-row:1;padding-right:0}
header .primary-nav{grid-column:1/-1;grid-row:2;padding-right:0}
header .site-menu{grid-column:2;grid-row:1;align-self:start}
header .site-menu>summary{position:static;min-width:0}
header .site-menu[open]{grid-column:1/-1;grid-row:2}
header .site-menu[open]>summary{width:fit-content;margin-left:auto}
header .top:has(.site-menu[open]) .primary-nav{grid-row:3}
@container(max-width:20rem){header .top{grid-template-columns:minmax(0,1fr)}header .brand{grid-column:1}header .site-menu,header .site-menu[open]{grid-column:1;grid-row:2}header .site-menu>summary{width:fit-content}header .site-menu[open]>summary{margin-left:0}header .primary-nav,header .top:has(.site-menu[open]) .primary-nav{grid-row:3}header .site-menu nav{grid-template-columns:minmax(0,1fr)}}
@container(max-width:15rem){}

/* Weekend choices keep event dates beside the venue record and official routes. */
.home-weekend{border-top:1px solid var(--line);padding:12px 0 28px;margin-top:28px}.home-weekend .section-head{align-items:baseline;gap:12px 24px;flex-wrap:wrap}.home-weekend .section-head>a{min-height:44px;display:inline-flex;align-items:center;font-size:1rem}
.home-weekend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 36px}.weekend-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:24px}.weekend-card h3{font-size:1.25rem;line-height:1.6;margin:4px 0 14px}.weekend-card h3 a{color:var(--ink);text-decoration:none}.weekend-card h3 a:hover{text-decoration:underline}.weekend-city{font-size:.875rem;color:var(--muted);margin:0 0 4px}.weekend-date{font-size:1rem;font-weight:700;color:#814113;margin:0 0 6px}
.weekend-venue-photo .place-photo{margin:0 0 14px}.weekend-venue-photo .place-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:0;background:#f1f5f4}.weekend-venue-photo .place-photo figcaption{font-size:.875rem;line-height:1.7}.weekend-venue-photo .place-photo figcaption strong{display:block;font-size:1rem;margin:8px 0}.weekend-venue-photo>p{font-size:.875rem;line-height:1.7;margin:0 0 8px}.weekend-venue-photo .official-navigation.compact .btn{font-size:.875rem}
.weekend-conditions{margin:8px 0 12px}.weekend-conditions>summary,.weekend-range>summary{min-height:44px;align-content:center;cursor:pointer;font-size:.875rem}.weekend-actions{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center}.weekend-actions>a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}.weekend-actions .official-navigation.compact{margin:0}.weekend-actions .official-navigation.compact .btn{font-size:1rem}.weekend-count{margin:16px 0 4px}
@media(max-width:700px){.home-weekend-grid{grid-template-columns:minmax(0,1fr);gap:24px}.home-weekend .section-head h2{font-size:1.5rem}.weekend-card h3{font-size:1.125rem}}

/* One identity and icon geometry; every action keeps its text label. */
:root{--accent:#c34824}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand .brand-mark{display:block;flex:0 0 1.75rem;width:1.75rem;height:1.75rem;color:var(--green)}.brand .brand-name{min-width:0;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;color:var(--ink)!important;font-size:inherit;font-family:inherit;line-height:1.5;overflow-wrap:anywhere}
.ui-icon{display:inline-block;flex:none;width:1.25rem;height:1.25rem;vertical-align:middle;color:inherit}
header .primary-nav a{display:flex;flex-direction:row;align-items:center;gap:8px}
header .primary-nav a:is([aria-current="page"],[aria-current="location"]){box-shadow:inset 0 -2px var(--green)}
header .site-menu nav a{display:flex;gap:12px;align-items:flex-start;line-height:1.6}header .site-menu nav .ui-icon{margin-top:.2rem}
.home-page .mood-links a .ui-icon{width:1.25rem;height:1.25rem}.home-page .mood-links a{align-items:center}
@media(max-width:600px){header .primary-nav a{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding-top:4px!important;padding-bottom:8px!important}.brand .brand-mark{flex-basis:1.5rem;width:1.5rem;height:1.5rem}}
.brand .brand-name{transform:none;margin:0;font-style:normal;letter-spacing:0}

/* Subject navigation stays compact; metadata describes the photographed subject. */
.photo-scene-tabs{display:flex;flex-wrap:wrap;gap:.375rem;margin:.5rem 0}.photo-scene-tabs a{display:flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.5rem .625rem;border:1px solid var(--line);color:var(--ink);font-size:.875rem;line-height:1.4;text-decoration:none}.photo-scene-tabs a[aria-current="page"]{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.photo-scene-tabs a:focus-visible{outline:2px solid var(--green);outline-offset:3px}

/* A manually browsed photo row keeps the next outing close on small screens. */
.photo-scroll-hint{display:none}
.home-page .story-album .story-kicker,.home-page .story-album .discovery-story:nth-child(n) .story-kicker{font-size:1.125rem;line-height:1.5}
.home-page .story-album .story-kicker a{min-height:2.75rem}
.home-page .story-album:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:600px){
.home-page .photo-discovery .section-head{flex-wrap:wrap;gap:4px 12px}
.home-page .photo-discovery .section-head>a{min-height:2.75rem;display:inline-flex;align-items:center}
.photo-scroll-hint{display:block;font-size:.875rem;color:var(--muted);margin:8px 0 12px}
.home-page .story-album{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82vw,18rem);gap:16px;align-items:start;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 0 14px;max-width:100%;scroll-padding-inline:2px}
.home-page .story-album .discovery-story:nth-child(n){grid-column:auto;min-width:0;scroll-snap-align:start;overflow-wrap:anywhere}
.home-page .story-album .discovery-story:nth-child(n) img{aspect-ratio:4/3!important;object-fit:contain;background:#f1f5f4}
.home-page .story-album .story-note{margin:6px 0 0}
.home-page .story-album figcaption>span{line-height:1.5}
}

.photo-event-details{font-size:.875rem;margin:6px 0}
.photo-event-details>summary{min-height:2.75rem;align-content:center;cursor:pointer}
.home-page .story-album figcaption details{border:0;margin:4px 0;padding:0}
.home-page .story-album figcaption details>summary{min-height:2.75rem;align-content:center;padding:4px 0}

/* The home is a discovery page; detailed event filters have their own route. */
.event-search-gateway{margin:36px 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.event-search-gateway h2{margin:6px 0 12px}.event-search-gateway nav{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;margin-top:20px}.event-search-gateway nav>a{display:inline-flex;align-items:center;min-height:44px}
.events-page{padding-top:24px}.events-page>h1{font-size:clamp(1.5rem,4vw,2rem);margin:20px 0 28px}.events-page #browse{scroll-margin-top:20px}
.home-more-social{margin:12px 0 36px;border-bottom:1px solid var(--line);padding-bottom:14px}.home-more-social>summary{min-height:44px;display:list-item;padding:12px 0;color:var(--green);font-weight:600;cursor:pointer}.home-more-social .social-discovery{border-top:0;margin-top:12px}
.recent-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.recent-card{border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0;background:transparent}.recent-card h3{margin:8px 0;font-size:1.0625rem;line-height:1.65}.recent-card .recent-period{margin-bottom:0}.recent-card .recent-kind{display:none}
@media(max-width:600px){.recent-grid{grid-template-columns:1fr}.recent-card{padding:16px 0}.event-search-gateway{padding:20px 0}.event-search-gateway nav{align-items:flex-start;gap:8px 20px}.event-search-gateway nav .primary{width:100%;justify-content:center}.home-more-social>summary{line-height:1.7}}

/* Official posts: keep publication context near the image action. */
.social-post .social-summary{margin:12px 0}.social-post .social-byline{margin:12px 0;line-height:1.7}.social-post .social-context{margin:12px 0;line-height:1.7}.social-post .social-gate{padding:14px 16px;background:#edf2f0}.social-post .social-gate p{margin:0 0 12px;line-height:1.7}.social-post .social-gate button{max-width:100%;white-space:normal;text-align:left;line-height:1.6}.social-post .social-original{margin:12px 0}.social-post .social-original a,.social-source summary{display:block;min-height:44px;padding:8px 0;box-sizing:border-box}.social-post .social-source{border-top:1px solid var(--line);margin-top:8px}.social-post .social-source[open]{padding-bottom:12px}.social-post .social-source .notice{margin:8px 0 16px}

/* Browse every weekend choice manually; keep sales dates immediately after it. */
.weekend-scroll-hint{display:none}.home-weekend-grid:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:700px){.weekend-scroll-hint{display:block;margin:8px 0 16px;font-size:.875rem;color:var(--muted);line-height:1.7}.home-weekend-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;align-items:start;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scroll-padding-inline:0;padding:4px 0 12px;max-width:100%;min-width:0}.home-weekend-grid .weekend-card{scroll-snap-align:start;scroll-margin-inline:4px}.home-weekend-grid .weekend-card:focus-within{scroll-snap-stop:normal}}
.opening-gallery-hint{display:none;font-size:.875rem;color:var(--muted);margin:4px 0 12px}
@media(max-width:800px){
 .opening-gallery-hint{display:block}
}
@media(max-width:600px){}
@media(min-width:1001px){
}
.story-album:focus-visible{outline:3px solid var(--green);outline-offset:4px}
@media(min-width:1100px){.home-weekend-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.weekend-card h3{font-size:1.125rem}}
.home-page .upcoming-applications{padding:16px 0;margin-top:24px;background:transparent;border-top:1px solid var(--line);border-radius:0}
.upcoming-applications .application-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.application-preview-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0}
.application-preview-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.application-preview-date strong{font-family:inherit;font-size:1.125rem;font-weight:700;line-height:1.6;color:#814113}
.application-preview-date span,.application-preview-date small{font-size:.875rem}
.application-preview-row h3{font-size:1.125rem;line-height:1.6;margin:8px 0}
.application-preview-row .eyebrow{font-size:.875rem;line-height:1.7;letter-spacing:0}
.application-official a,.application-context>summary,.application-scope>summary{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}
.application-context>summary,.application-scope>summary{display:list-item;align-content:center;padding:8px 0;box-sizing:border-box}
.application-scope,.application-context{margin:0 0 8px;padding:0;border:0}
.application-context{margin:0}
.application-context[open] p{line-height:1.75;margin:8px 0 12px}
@media(max-width:700px){.upcoming-applications .application-preview{grid-template-columns:minmax(0,1fr)}.application-preview-row h3{font-size:1.125rem}}

/* Photo discovery: one place per group; preserve all licensed photographs. */
.gallery-source-nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin:8px 0;align-items:center}
.gallery-source-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.gallery-source-nav a[aria-current=page]{font-weight:700;text-decoration-thickness:2px}
.gallery-place{min-width:0}
.gallery-more-photos{margin:8px 0 0;border-top:1px solid var(--line);padding:0}
.gallery-more-photos>summary{min-height:44px;align-content:center;cursor:pointer;font-size:1rem;line-height:1.7;padding:6px 0}
.gallery-more-photos>.place-photo{margin-top:16px}
.photo-page .photo-masonry:empty{display:none}

/* Photo-led editorial composition: preserve actual content and attribution. */
:root,.home-page{--ink:#252b29;--muted:#61645d;--paper:#fffdf8;--green:#285447;--line:#dddcd3;--control:#71766e;--accent:#a53e20}
body{background:var(--paper);color:var(--ink);line-height:1.8}
header{background:var(--paper);border-bottom:1px solid var(--line)}
header .top{padding:12px 0;gap:4px 24px}
header .brand{font-size:1.375rem;font-weight:700;letter-spacing:0}
header .primary-nav{justify-content:flex-start;gap:4px 24px!important}
header .primary-nav a{flex-direction:row;gap:6px}
.home-page .masthead{margin:12px 0}
.place-photo figcaption .official-navigation .btn{border:0;border-radius:0;background:transparent;padding:4px 0;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}
.opening-brief h2{font-size:1.25rem}
.opening-date,.application-preview-date strong,.weekend-date{color:#94391f}
.home-page .section-head h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.45;letter-spacing:0}
.home-page .story-album,.home-weekend-grid{gap:24px}
.home-page .mood-discovery{margin-top:32px}
.card,.panel,.spot-card,.social-post{box-shadow:none;border-radius:0}
.spot-card h3{line-height:1.6;font-size:1.25rem}
.filters,.spot-filters{background:#f3f2ea;border-radius:0}
.spot-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));align-items:end}
.spot-filters>div{min-width:0}
.spot-filters button{white-space:normal}
.btn,button{border-radius:3px}
.primary{background:var(--green);color:white}
.article h1,.spot-page h1{font-family:inherit;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.5;letter-spacing:0;max-width:26em}
.article .facts,.spot-page .facts{background:transparent;border-top:2px solid var(--ink)}
.article .facts div,.spot-page .facts div{padding:16px 0;border-bottom:1px solid var(--line)}
footer{background:#f3f2ea;border-top:1px solid var(--line)}
@media(min-width:1001px){
}
@media(max-width:600px){
 header .top{gap:2px 12px;padding:8px 0}
 header .brand{font-size:1.125rem}
 header .primary-nav{justify-content:space-between;gap:0 8px!important}
 header .primary-nav a{font-size:.8125rem!important;gap:4px;flex-direction:row;padding:4px 0!important}
}
@container(max-width:22rem){}

/* Photo, municipality and editorial description belong to the same figure. */
.journal-kicker{font-size:.875rem;font-weight:600;line-height:1.6;margin:0 0 4px;color:var(--green)}
.journal-story{padding:14px 0 8px;border-bottom:1px solid var(--line);margin-bottom:8px}
.journal-city{font-size:.8125rem;font-weight:600;color:var(--green);margin:0 0 4px;line-height:1.5}
.journal-summary{font-size:1rem;line-height:1.8;margin:0}
@media(min-width:1001px){header .top{grid-template-columns:minmax(0,1fr) auto auto;gap:20px}header .primary-nav,header .top:has(.site-menu[open]) .primary-nav{grid-row:1;grid-column:2;padding-right:0}header .brand{grid-column:1;grid-row:1}header .site-menu{grid-column:3;grid-row:1}header .site-menu[open]{grid-column:1/-1;grid-row:2}}
@media(max-width:800px){
 .journal-intro{display:contents}
 .journal-kicker{grid-column:1;grid-row:1}
}

/* Verified home, directory and detail composition. */
/* Prototype: larger lead{gap:12px}
@media(min-width:801px){@container(max-width:50rem){
}}
@media(max-width:800px){
}

.guide-directory>h1{font-size:clamp(1.625rem,2.6vw,2.25rem);line-height:1.45;margin:12px 0}
.guide-directory>.breadcrumbs{font-size:.875rem;margin-bottom:16px}
.guide-directory>p{margin:10px 0}
.directory-filter-drawer{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0}
.directory-filter-drawer>summary{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center;padding:12px 0;min-height:48px;cursor:pointer;font-weight:600;list-style:none}
.directory-filter-drawer>summary::before{content:'＋';color:var(--green)}
.directory-filter-drawer[open]>summary::before{content:'−'}
.directory-filter-drawer>summary span{font-size:.9375rem;font-weight:400;color:var(--green)}
.directory-filter-drawer .spot-filters{padding:16px;margin:0}
.directory-filter-drawer .spot-categories{padding-bottom:16px}
.guide-directory .spot-results>.section-head{margin:24px 0 8px}
.guide-directory .spot-results>.section-head h2{font-size:1.5rem}
.guide-directory .spot-grid{gap:24px}
.guide-directory .spot-card{background:transparent;border:0;border-top:1px solid var(--line);padding:18px 0;min-width:0}
.guide-directory .spot-card h3{font-size:1.375rem;line-height:1.5;margin:8px 0 14px}
.guide-directory .spot-card p{line-height:1.8}
.guide-directory .spot-card-photo{margin:14px 0}
.guide-directory .spot-card .official-navigation{padding:0;background:transparent;border:0}
.guide-directory .spot-card .official-navigation a{background:transparent;color:var(--green);border:0;padding:8px 0;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.guide-detail{max-width:1040px}
.guide-detail>.breadcrumbs{font-size:.875rem;line-height:1.7;margin:24px 0 12px}
.guide-detail>h1{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.45;margin:10px 0 16px}
.guide-detail>p{max-width:48rem}
.guide-detail>.spot-introduction{font-size:1.125rem;line-height:1.8;margin:12px 0 20px}
.guide-detail>.official-navigation{background:transparent;border:0;padding:0;margin:16px 0 8px}
.detail-section-nav{display:flex;flex-wrap:wrap;gap:0 24px;padding:8px 0;border-bottom:1px solid var(--line);margin:8px 0 20px}
.detail-section-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;text-underline-offset:4px}
.guide-detail #visit-facts,.guide-detail #sales-applications{scroll-margin-top:20px}
.detail-capture{font-size:.875rem;line-height:1.7;color:var(--muted);margin:12px 0 8px}
.guide-detail>.place-photo{margin:0 0 20px}
.guide-detail>.place-photo img{max-height:560px;object-fit:contain;width:100%;height:auto;aspect-ratio:auto}
.spot-opening{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:24px 40px;align-items:start;margin:16px 0 24px}
.spot-opening-copy,.spot-opening-visual{min-width:0}
.spot-opening-copy h1{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.45;margin:10px 0 16px}
.spot-opening-copy .spot-introduction{font-size:1.125rem;line-height:1.8;margin:12px 0 20px}
.spot-opening-copy .official-navigation{background:transparent;border:0;padding:0;margin:16px 0 8px}
.spot-opening-visual .place-photo{margin:0}
.spot-opening-visual .place-photo img{width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain}
.spot-opening-visual .detail-capture{margin-top:0}
.guide-detail .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:0 24px;border:0;padding:0;background:transparent;margin:24px 0}
.guide-detail .facts>div{display:block;min-width:0;padding:16px 0;border-top:1px solid var(--line)}
.guide-detail .facts dt{font-size:.875rem;font-weight:600;color:var(--green);margin:0 0 6px}
.guide-detail .facts dd{font-size:1rem;line-height:1.8;margin:0}
.guide-detail>h2,.guide-detail>section>h2{font-size:1.5rem;line-height:1.5}
@media(max-width:600px){.guide-directory .spot-grid{grid-template-columns:minmax(0,1fr)}.directory-filter-drawer>summary span{flex-basis:100%;padding-left:36px}.guide-detail>.spot-introduction,.spot-opening-copy .spot-introduction{font-size:1rem}.guide-detail>.breadcrumbs{margin-top:16px}.detail-section-nav{gap:0 16px}.guide-detail .facts{gap:0}}

.calendar-return-context{font-size:.9375rem;line-height:1.7;margin:0 0 16px}.calendar-return-context a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}.calendar-day{scroll-margin-top:20px}

.calendar-return-scope{display:block;font-size:.875rem;line-height:1.7;color:var(--muted)}

.spot-availability{margin:1.25rem 0;padding:1rem;border-left:3px solid var(--accent,#a53e20);background:#f6f1e8}.spot-availability h2{font-size:1.1rem;margin:0 0 .75rem}.spot-availability-item{overflow-wrap:anywhere}.spot-availability-item+.spot-availability-item{border-top:1px solid #d9d2c5;padding-top:.75rem;margin-top:.75rem}.spot-availability-item p{margin:.4rem 0}.spot-availability .small{font-size:.875rem}.spot-card .spot-availability-item{font-size:.875rem}

.spot-availability summary{min-height:44px;padding:.5rem 0;cursor:pointer;overflow-wrap:anywhere}

/* Directory rhythm: real photographs and all source information retained. */
.guide-directory .spot-grid{align-items:start;gap:18px 28px}
.guide-directory .spot-card{margin-right:0;padding:18px 0 12px}
.guide-directory .spot-card h3{font-size:1.375rem;line-height:1.45;letter-spacing:0;margin:4px 0 10px}
.guide-directory .spot-card>.eyebrow{font-size:.875rem;margin:0 0 4px;color:var(--muted)}
.guide-directory .spot-card>.tags{gap:4px 10px;margin:0 0 8px;line-height:1.5}
.guide-directory .spot-card>.tags .tag{background:transparent;border:0;border-radius:0;padding:0;font-size:.875rem;color:var(--muted)}
.guide-directory .spot-card>p{margin:6px 0;line-height:1.65}
.guide-directory .spot-card-photo{margin:2px 0 12px}
.guide-directory .spot-card .spot-more{margin:6px 0 0;min-height:44px}
.guide-directory .spot-card .official-navigation{margin:0}
.guide-directory .spot-card .official-navigation a{padding:6px 0}
.guide-directory .spot-card .place-photo figcaption{line-height:1.6}

/* Home photo stories: description follows the image; source details stay available. */
.home-page .photo-discovery .story-album{grid-auto-columns:max(min(82vw,18rem),min(92%,22rem));gap:24px}
.home-page .photo-discovery .story-kicker{margin:0 0 12px}
.home-page .photo-discovery .discovery-story .place-photo{margin:0}
.home-page .photo-discovery .discovery-story figcaption{padding:0}
.home-page .photo-discovery .story-note{font-size:1rem;line-height:1.7;margin:10px 0}
.home-page .photo-discovery .photo-attribution{border-top:1px solid var(--line);margin-top:8px}
.home-page .photo-discovery .photo-attribution summary{font-size:.875rem;min-height:44px;padding:8px 0;box-sizing:border-box}
.home-page .photo-discovery .photo-attribution span{font-size:.875rem}
.home-page .photo-discovery .photo-attribution[open]{font-size:.875rem;line-height:1.7}
.home-page .photo-discovery .photo-attribution p{margin:8px 0}
.home-page .photo-discovery .discovery-story:nth-child(n) .story-kicker{margin:0 0 12px}
@media(min-width:601px){@supports(grid-template-rows:subgrid){.home-page .photo-discovery .discovery-story:nth-child(n){display:grid;grid-template-rows:subgrid;grid-row:span 3;align-self:stretch;row-gap:0}}}

/* Event date and title hierarchy, preserving the site typeface. */
.event-detail[data-event-opening]>.breadcrumbs{display:flex;align-items:baseline;gap:.4em;min-width:0;margin:12px 0 8px}
.event-detail[data-event-opening]>.breadcrumbs>a{flex:none}
.event-detail[data-event-opening]>.breadcrumbs>[aria-current]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.event-detail[data-event-opening]>.breadcrumbs+p{margin:8px 0 20px}
.event-detail[data-event-opening]>.eyebrow{margin:0 0 8px}
.event-detail[data-event-opening]>h1{line-height:1.4;margin:8px 0 14px}
.event-detail[data-event-opening]>.event-period{margin:0 0 8px;font-size:1rem;line-height:1.7;font-weight:600;color:#285447}
.event-detail[data-event-opening]>.event-period a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
.event-detail[data-event-opening]>.event-period span{font-weight:400;font-size:.875rem;margin-left:.5em}
@media(max-width:600px){.event-detail[data-event-opening]>h1{font-size:1.625rem}}

/* Opt-in place photography stays close to the introduction. */
.spot-photo-preview{margin:24px 0;border-top:1px solid #b9c8be;border-bottom:1px solid #b9c8be;padding:14px 0}
.spot-photo-preview>summary{font-weight:600;color:#285447;cursor:pointer;padding:8px 0;font-size:1.125rem}
.spot-photo-preview .event-voices{margin:16px 0}

/* Regional photo magazine: vivid images, open white space, a restrained blue accent. */
:root,.home-page{--ink:#192c38;--green:#116477;--paper:#ffffff;--muted:#52616a;--line:#dce4e7;--control:#71848c;--accent:#ad3d27}
body{background:var(--paper);color:var(--ink)}
header{background:#fff;border-bottom:1px solid var(--line)}
header .top{padding-top:20px;padding-bottom:20px}
.brand .brand-mark{color:var(--green)}
header .primary-nav a{font-weight:600}
header .site-menu>summary{border-color:var(--line);background:#f5f8f9;border-radius:6px}
.btn,button{border-radius:6px;letter-spacing:0}
.primary{background:var(--green);border-color:var(--green);color:white}
.primary:hover{background:#0a4f60;color:white}
.btn:not(.primary):hover,button:not(.primary):hover{background:#edf5f7}
.filters,.spot-filters{background:#f3f7f8;border-radius:8px}
.tag{background:#edf5f7;color:#285668;border-radius:4px}
.home-page .section-head h2{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.4;letter-spacing:0}
.journal-kicker{color:var(--muted);font-weight:400;letter-spacing:.04em;margin-bottom:8px}
.journal-city{color:var(--green);font-size:.875rem;font-weight:400}.weekend-date{color:var(--accent)}
.home-page .home-weekend{border:0;margin-top:40px;padding-top:0}
.home-page .home-weekend-grid{gap:32px}
.home-page .weekend-card{border:0;border-radius:8px;background:#f3f7f8;padding:24px}
.home-page .weekend-venue-photo .place-photo img{border-radius:6px;background:white}
.home-page .photo-discovery{padding-top:20px}
.home-page .photo-discovery .place-photo img{border-radius:8px!important}
.home-page .photo-discovery .story-kicker{font-size:1.25rem;line-height:1.5}
.home-page .daily-strip{background:#edf5f7;border-radius:8px}
.guide-directory .spot-grid{gap:36px 32px}
.guide-directory .spot-card{border-top:0;padding-top:8px}
.guide-directory .spot-card h3{font-size:1.375rem;margin:6px 0 14px}
.guide-directory .spot-card .spot-card-photo img{border-radius:8px}
.guide-directory .spot-card .spot-more{font-weight:600}
.guide-detail .spot-opening{gap:28px 48px;margin-top:24px}
.guide-detail .spot-opening-visual .place-photo img,.photo-page .place-photo img{border-radius:8px}
.guide-detail .facts dt{color:var(--green);font-weight:600}
.guide-detail .official-media{background:#f3f7f8;border:0;border-radius:8px;padding:24px}
.guide-detail .official-media h2{font-size:1.375rem;line-height:1.5}
footer{background:#f3f7f8;border-top:0}
@media(max-width:800px){
}
@media(max-width:600px){
header .top{padding-top:16px;padding-bottom:12px}
header .primary-nav a{flex-direction:row;gap:6px}
.home-page .weekend-card{padding:16px}
.home-page .home-weekend{margin-top:32px}
.guide-detail .official-media{padding:20px 16px}
}
@container(max-width:15rem){}

/* Photo and community browsing: names are headings, navigation is a tab row. */
:is(.photo-page,.memories-page)>.calendar-tabs{display:flex;flex-wrap:wrap;gap:0 1.25rem;border-bottom:1px solid var(--line);padding:0;margin-bottom:1.5rem}
:is(.photo-page,.memories-page)>.calendar-tabs a{display:flex;align-items:center;min-height:44px;padding:.625rem 0;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:1rem;line-height:1.6;text-decoration:none;max-width:100%}
:is(.photo-page,.memories-page)>.calendar-tabs a[aria-current="page"]{background:transparent;color:var(--ink);border-bottom-color:var(--ink);font-weight:700}
:is(.photo-page,.memories-page)>.calendar-tabs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:.25rem}
.official-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;margin-top:1.5rem}
.official-gallery-grid>article{min-width:0;padding:1.25rem 0 1.5rem;border-top:1px solid var(--line)}
.official-gallery-grid .official-gallery-city{font-size:.875rem;color:var(--muted);margin:0 0 .375rem}
.official-gallery-grid h3{font-size:1.25rem;line-height:1.55;margin:0 0 .75rem;font-weight:700}
.official-gallery-grid h3 a{color:var(--ink);text-decoration:none}
.official-gallery-grid h3 a:hover{text-decoration:underline;text-underline-offset:.2rem}
.official-gallery-grid p{margin:.5rem 0}
.official-gallery-grid .official-gallery-link{margin:.5rem 0 .25rem}
.official-gallery-link a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:1rem;line-height:1.65;text-underline-offset:.2rem}
.official-gallery-grid .small{font-size:.875rem;line-height:1.85}
@media(max-width:800px){.official-gallery-grid{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:600px){:is(.photo-page,.memories-page)>.calendar-tabs{gap:0 1rem}.official-gallery-grid h3{font-size:1.125rem}}

/* Regional journal: one visual system for discovery, listings and detail. */
:root,.home-page{--ink:#203b35;--green:#1b6659;--paper:#faf8f2;--muted:#5d6a63;--line:#dedfd4;--control:#819087;--accent:#b84329;--surface:#fffefa}
body{background:var(--paper);color:var(--ink);line-height:1.8}
.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}
header{background:var(--surface);border-bottom:1px solid var(--line)}
header .top{padding-block:20px;align-items:center}
header .brand{font-size:1.5rem;letter-spacing:.015em;padding-right:0;font-weight:750}
header .brand-mark{width:32px;height:32px;flex-shrink:0}
header .primary-nav a{min-height:44px;font-weight:650;font-size:.9375rem;gap:8px}
header .primary-nav a[aria-current]{text-decoration:none;border-bottom:2px solid var(--green)}
header .site-menu>summary{border:1px solid var(--line);border-radius:6px;background:transparent;top:20px;min-height:44px}
header .site-menu nav{background:var(--surface)}
a{text-underline-offset:.22em;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b94f2c;outline-offset:4px}
h1,h2,h3{letter-spacing:-.015em;line-height:1.45}
h2{font-size:1.75rem}h3{font-size:1.25rem}
.btn,button{border-radius:6px;box-shadow:none;min-height:44px;font-weight:650}
.primary{background:var(--green);border-color:var(--green);color:white}
.primary:hover{background:#124a40;color:white}
.btn:not(.primary){background:transparent}
.tag{border-radius:3px;background:#edf0e7;color:#395346;font-size:.8125rem;padding:4px 9px}
.notice{background:#f7eedb;border-radius:6px;border-left:3px solid #c89c45;color:#544c38;padding:14px 18px}
.journal-intro{display:block}.journal-kicker{font-size:.8125rem;letter-spacing:.06em;color:var(--green);font-weight:650;margin:0 0 8px}
.journal-city{font-size:.8125rem;color:var(--green);font-weight:650;margin:0 0 6px}
.home-page .opening-photo-note{font-size:.8125rem;max-width:70em;margin:0;color:var(--muted)}
.home-page .opening-gallery-hint{display:none}
.home-page .section-head{margin:0 0 24px;align-items:end;gap:16px}
.home-page .section-head h2{font-size:1.875rem;line-height:1.4;letter-spacing:-.025em}
.home-page .section-head p{margin:6px 0 0;font-size:.9375rem;color:var(--muted)}
.home-page .home-weekend{margin:28px 0 48px;padding:28px 0;border-top:3px solid var(--ink);border-bottom:1px solid var(--line);background:transparent}
.home-page .weekend-grid{gap:20px}
.home-page .weekend-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:none}
.home-page .weekend-card h3{font-size:1.1875rem;line-height:1.55;margin:8px 0 12px}
.home-page .weekend-card h3 a{color:var(--ink)}
.home-page .weekend-card .place-photo img{border-radius:6px}
.home-page .upcoming-applications{background:#eaf0e7;padding:28px;border:0;border-radius:8px;margin:36px 0}
.home-page .upcoming-applications h2{font-size:1.625rem}
.home-page .upcoming-applications article{background:transparent;border-bottom:1px solid #cfd8ca}
.home-page .recent-discovery{margin:40px 0;padding:28px 0;border-top:1px solid var(--line)}
.home-page .recent-grid{gap:24px}
.home-page .recent-card:nth-child(n){background:transparent;border:0;border-top:2px solid var(--green);border-radius:0;padding:16px 0;box-shadow:none}
.home-page .recent-card h3{font-size:1.125rem;line-height:1.6;margin:8px 0 12px}
.home-page .recent-kind{font-size:.8125rem;color:var(--accent)}
.home-page .social-gateway,.home-page .archive-gateway{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px}
.home-page .mood-discovery{padding:28px 0;border-top:1px solid var(--line)}
.home-page .mood-links a:nth-child(n){border:0;border-radius:0;background:transparent!important;padding:8px 14px;min-height:48px;font-size:.9375rem}
.home-page .mood-links a:hover{text-decoration:underline}
.directory,.calendar-page,.article{padding-top:28px;padding-bottom:64px}
.directory>h1,.calendar-page h1{font-size:clamp(1.875rem,3.2vw,2.5rem);margin:12px 0 16px}
.breadcrumbs{font-size:.8125rem;color:var(--muted);line-height:1.7}
.directory-filter-drawer,.photo-filter-drawer{background:#eef1e8;border:1px solid var(--line);border-radius:6px;padding:0 18px;margin:24px 0}
.directory-filter-drawer>summary,.photo-filter-drawer>summary{padding:14px 0;min-height:48px;font-weight:650}
.filters,.spot-filters{background:#eef1e8;border-radius:6px;padding:20px;gap:16px;box-shadow:none}
input,select,textarea{border-radius:5px;border:1px solid var(--control);background:var(--surface)}
.spot-grid,.cards{gap:24px}
.spot-card,.card{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:none;overflow:hidden}
.spot-card{padding:24px}
.spot-card h3{font-size:1.25rem;line-height:1.5;margin:8px 0 12px}
.card .card-top,.card:nth-child(3n+1) .card-top,.card:nth-child(3n+2) .card-top{background:#edf1e7;border-bottom:1px solid var(--line);padding:18px 22px}
.card .card-body{padding:22px}.card h3{font-size:1.25rem;line-height:1.55}
.photo-page .photo-grid,.photo-page .photo-masonry{gap:28px}
.photo-page .place-photo{border:0;background:transparent;border-radius:0;padding:0}
.photo-page .place-photo img{border-radius:8px}
.photo-page .place-photo figcaption{padding:16px 0}
.photo-page .place-photo figcaption strong{font-size:1.25rem;line-height:1.5}
.article{max-width:960px}
.article h1{font-size:clamp(1.875rem,3.8vw,2.875rem);line-height:1.4;max-width:24em;margin:16px 0 20px;letter-spacing:-.025em}
.article .spot-introduction{font-size:1.125rem;line-height:1.85;max-width:44em;color:#41544a}
.article .official-navigation{border:0;background:#edf2e8;border-radius:6px;padding:18px 20px;margin:24px 0}
.article .official-navigation .primary{background:var(--green);color:white}
.article .place-photo img{border-radius:8px}
.article .facts{margin:28px 0;border-top:2px solid var(--ink)}
.article .facts div{padding:18px 0;border-bottom:1px solid var(--line)}
.article .facts dt{font-size:.875rem;color:var(--muted);font-weight:650}
.article .facts dd{font-size:1rem;line-height:1.85}
.article h2{font-size:1.5rem;margin-top:36px}
.article .official-media{background:#eef1e8;border:0;border-radius:8px;padding:24px}
.calendar-tabs a{border-radius:0;background:transparent;border:0;border-bottom:3px solid transparent;min-height:48px}
.calendar-tabs a[aria-current=page]{background:transparent;color:var(--green);border-bottom-color:var(--green)}
.calendar-months{padding:12px 0;border-block:1px solid var(--line)}
.calendar-page section[id^=day-]{margin:28px 0}
footer{background:#e9ede2;border-top:1px solid var(--line);padding:40px 0;color:var(--ink)}
footer a{min-height:44px;display:inline-flex;align-items:center}
.panel{border-radius:8px;background:var(--surface);border:1px solid var(--line);box-shadow:none}
@media(max-width:1000px){.wrap{width:calc(100% - 40px)}header .brand{padding-right:108px}header .top{padding-block:14px}header .site-menu>summary{top:14px}}
@media(max-width:800px){
 .home-page .opening-gallery-hint{display:block;font-size:.75rem;margin:0;color:var(--muted)}
 .home-page .section-head h2{font-size:1.5rem}
 .home-page .home-weekend{margin-top:24px}
 .home-page .weekend-grid,.home-page .recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .upcoming-applications{padding:22px}
}
@media(max-width:600px){
 .wrap{width:calc(100% - 32px)}
 header .brand{font-size:1.1875rem;letter-spacing:0;line-height:1.5}
 header .top{gap:6px;padding:14px 0 10px}
 header .brand-mark{width:26px;height:26px}
 header .primary-nav{justify-content:space-between;gap:8px!important}
 header .primary-nav a{font-size:.8125rem!important;gap:5px;min-height:44px;padding:4px 0!important}
 header .site-menu>summary{min-width:78px;font-size:.8125rem;padding:8px;top:12px}
 .journal-kicker{font-size:.75rem;letter-spacing:.025em;margin-bottom:7px}
 .home-page .weekend-grid,.home-page .recent-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .home-page .weekend-card{padding:20px}
 .home-page .section-head{margin-bottom:18px;flex-wrap:wrap}
 .home-page .home-weekend{padding-top:22px;margin-bottom:32px}
 .home-page .recent-card:nth-child(n){padding:16px 0}
 .home-page .upcoming-applications{margin:28px 0;padding:20px}
 .home-page .social-gateway,.home-page .archive-gateway{padding:20px}
 .directory,.calendar-page,.article{padding-top:20px;padding-bottom:40px}
 .directory>h1,.calendar-page h1{font-size:1.75rem}
 .spot-grid,.cards{gap:18px}.spot-card{padding:20px}
 .article h1{font-size:1.875rem;line-height:1.45}
 .article .spot-introduction{font-size:1rem}
 .article .official-navigation,.article .official-media{padding:18px 16px}
 .article .facts div{padding:16px 0}
 .filters,.spot-filters{padding:16px}
 .photo-page .photo-grid,.photo-page .photo-masonry{gap:24px}
}
@container(max-width:18rem){}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.home-page .home-weekend-grid{gap:20px}
.home-page .weekend-card .weekend-date{color:var(--accent);font-weight:700}
@media(max-width:800px){}
@media(max-width:600px){
 header .brand{padding-right:0}
}
@container(max-width:18rem){}
/* Photographs remain the first result; extra sources stay one gesture away. */
.photo-page .photo-source-shortcuts{border-block:1px solid var(--line);margin:12px 0 16px}
.photo-page .photo-source-shortcuts>summary{min-height:44px;padding:8px 0;font-size:.9375rem;font-weight:650;color:var(--green);cursor:pointer}
.photo-page .photo-source-shortcuts nav{display:flex;flex-wrap:wrap;gap:0 20px;padding:0 0 10px}
.photo-page .photo-source-shortcuts nav p{margin:0}
.photo-page .photo-source-shortcuts nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem}
.photo-page .photo-intro-note{font-size:.875rem;line-height:1.7;margin:8px 0 12px}
.photo-page>.calendar-tabs{margin-bottom:16px}

/* Keep application scope and eligibility as readable decision text. */
.calendar-entry .calendar-kind{font-size:1rem;line-height:1.75;font-weight:600;color:var(--ink);margin:0 0 8px}
.calendar-entry h3 a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;line-height:1.55}
.calendar-entry .small a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0}

/* A browseable photo edition: equal stories{padding:28px 0 24px;gap:14px}
.home-page .home-weekend{border-top:1px solid var(--line);padding-top:24px;margin:0 0 36px}
.home-page .home-weekend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:20px;overflow:visible}
.home-page .weekend-scroll-hint{display:none}
.home-page .weekend-card{display:flex;flex-direction:column;padding:0;background:transparent;border:0;border-radius:0;min-width:0}
.home-page .weekend-card .weekend-venue-photo{order:-1;margin:0 0 12px;padding:0;border:0}
.home-page .weekend-venue-photo .place-photo{margin:0}
.home-page .weekend-venue-photo img{aspect-ratio:3/2;object-fit:cover;border-radius:8px;width:100%;height:auto}
.home-page .weekend-card .weekend-city{font-size:.8125rem;margin:0;color:var(--muted)}
.home-page .weekend-card .weekend-date{font-size:.9375rem;line-height:1.6;margin:4px 0 8px}
.home-page .weekend-card h3{font-size:1.125rem;line-height:1.65;margin:0 0 10px}
.home-page .weekend-card>p:not(.weekend-city):not(.weekend-date){font-size:.875rem;line-height:1.75;margin:0 0 10px}
.home-page .weekend-actions{display:flex;flex-direction:column;gap:0;margin:0}
.home-page .weekend-actions a{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem}
.home-page .weekend-card .weekend-conditions{margin-top:auto;border-block:1px solid var(--line)}
.home-page .weekend-card .weekend-conditions summary{font-size:.875rem;min-height:44px;padding:10px 0}
.home-page .weekend-venue-photo figcaption{font-size:.75rem;line-height:1.6}
.home-page .weekend-venue-photo .small{font-size:.75rem;line-height:1.6;margin:6px 0}
.home-page .weekend-venue-photo figcaption>span{font-size:.75rem}
.home-page .weekend-venue-photo .photo-attribution summary{font-size:.75rem}
.home-page .weekend-venue-photo .official-navigation .btn{font-size:.75rem}
.home-page .section-head{border:0;margin:0 0 22px;align-items:end}
.home-page .section-head h2{font-size:clamp(1.5rem,2.2vw,1.875rem)}
.home-page .photo-discovery{padding-top:24px;border-top:1px solid var(--line)}
.home-page .story-album{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.home-page .story-album img{border-radius:8px!important}
.home-page .story-album .story-kicker{font-size:1.125rem;line-height:1.65}
.home-page .recent-discovery{padding:32px 0}
.home-page .upcoming-applications{background:#f0eee4;border:0;border-radius:8px;padding:28px;margin:32px 0}
@media(max-width:1000px){.home-page .home-weekend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media(max-width:800px){
 .home-page .story-album{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .home-page .home-weekend-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .home-page .weekend-card{padding:0}
 .home-page .story-album{grid-template-columns:minmax(0,1fr)}
 .home-page .upcoming-applications{padding:20px}
}

.home-page .weekend-venue-photo .photo-context>summary{min-height:44px;display:flex;align-items:center;font-size:.75rem;padding:4px 0;color:var(--muted);cursor:pointer}
.home-page .weekend-venue-photo .photo-context>summary::before{content:"＋";margin-right:6px}
.home-page .weekend-venue-photo .photo-context[open]>summary::before{content:"−"}

/* Place detail: the visit facts precede optional media and community paths. */
.spot-page.guide-detail{padding-top:16px}
.spot-page.guide-detail>.breadcrumbs{margin:10px 0 8px}
.spot-page .spot-opening{gap:24px 36px;margin:20px 0 24px}
.spot-page .spot-opening-copy h1,.spot-page.guide-detail>h1{font-size:clamp(1.625rem,2.6vw,2.125rem);line-height:1.5;margin:8px 0 14px;letter-spacing:0}
.spot-page .spot-opening-copy .spot-introduction{font-size:1rem;line-height:1.85;margin:0 0 16px}
.spot-page .spot-opening-copy .official-navigation{padding:0;border:0;background:transparent;margin:12px 0}
.spot-page .official-navigation .btn{min-height:48px;text-align:left;line-height:1.7}
.spot-page .detail-section-nav{gap:0 16px;margin:12px 0;padding:8px 0;border-block:1px solid var(--line)}
.spot-page .detail-section-nav a{font-size:.875rem;min-height:44px}
.spot-page .spot-opening-visual .detail-capture{font-size:.8125rem;line-height:1.7;margin:0 0 8px}
.spot-page .spot-opening-visual .place-photo img{border-radius:8px;max-height:420px;object-fit:contain}
.spot-page .spot-opening-visual figcaption{font-size:.8125rem;line-height:1.7}
.spot-page #visit-facts{margin:24px 0 36px;padding:24px;background:#fffefa;border:1px solid var(--line);border-radius:8px}
.spot-page #visit-facts>h2{font-size:1.375rem;line-height:1.5;margin:0 0 16px}
.spot-page #visit-facts .facts{margin:0;gap:0 28px;grid-template-columns:repeat(2,minmax(0,1fr))}
.spot-page #visit-facts .facts>div{padding:16px 0;border-top:1px solid var(--line);border-bottom:0}
.spot-page #visit-facts .facts dt{font-size:.875rem;font-weight:700;margin:0 0 8px}
.spot-page #visit-facts .facts dd{font-size:1rem;line-height:1.85;overflow-wrap:anywhere}
.spot-page .spot-actions{border:0;background:transparent;padding:0;margin:16px 0}
@media(max-width:700px){
 .spot-page .spot-opening{grid-template-columns:minmax(0,1fr);gap:20px}
 .spot-page #visit-facts{padding:20px 16px;margin:20px 0 28px}
 .spot-page #visit-facts .facts{grid-template-columns:minmax(0,1fr)}
 .spot-page .spot-opening-copy h1,.spot-page.guide-detail>h1{font-size:1.625rem}
}

/* Photo opening: a concrete photographic caption{padding-top:32px;gap:16px}
.home-page .journal-kicker{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font-size:.8125rem;color:var(--muted);margin:0 0 8px}
.home-page .journal-kicker time{font-variant-numeric:tabular-nums;color:var(--ink)}
.home-page .section-head h2{font-size:clamp(1.5rem,2.2vw,1.875rem);letter-spacing:-.025em}
.home-page .home-weekend{border-top:0;padding-top:12px}
.home-page .weekend-card h3{font-size:1.125rem;line-height:1.6;letter-spacing:-.02em}
.home-page .mood-discovery{padding:24px 0;border-block:1px solid var(--line);margin:32px 0}
.home-page .mood-discovery h2{font-size:1rem;color:var(--ink);margin:0 0 12px}
.home-page .mood-links a:nth-child(n){background:transparent!important}
.home-page .upcoming-applications{background:#f4f0e6;border-radius:3px;border:0;border-top:3px solid #865033}
.home-page .upcoming-applications .application-preview-date strong{color:#865033}
@media(max-width:800px){
}
@media(max-width:600px){
 .home-page .journal-kicker{gap:4px 12px;font-size:.75rem}
 .home-page .mood-links{gap:0!important}
 .home-page .mood-links a:nth-child(n){border:0;border-bottom:1px solid var(--line);padding:8px 0!important;font-size:.875rem}
 .home-page .mood-discovery{margin:24px 0}
}

@media(max-width:600px){
}
@container(max-width:18rem){}

/* Photo-led regional edition. Shared type remains the familiar Japanese Gothic. */
:root{--ink:#202b34;--green:#244d64;--paper:#fff;--muted:#5b6268;--line:#dfe3e6;--accent:#af3d25}
body{background:#fff;color:var(--ink)}
header{background:#fff;border-bottom:1px solid var(--line)}
header .brand{color:var(--ink)}
header .primary-nav a{color:var(--ink)}
.home-page{--ink:#202b34;--muted:#5b6268;--line:#dfe3e6;--accent:#af3d25}
.home-page .section-head h2{color:var(--ink);font-size:1.625rem;letter-spacing:0}
.home-page .section-head>a{color:var(--green);min-height:44px;display:inline-flex;align-items:center}
.home-page .home-weekend{margin:12px 0 32px;padding:0;border:0}
.home-page .home-weekend .section-head{display:flex;flex-direction:row;justify-content:space-between;align-items:end;text-align:start;gap:8px 20px;margin:0 0 14px;padding-top:4px;border-top:0}
.home-page .home-weekend .section-head h2{font-size:1.375rem;line-height:1.5;margin:0}
.home-page .home-weekend .section-head .eyebrow{font-size:.8125rem;margin:0 0 2px;color:var(--muted)}
.home-page .home-weekend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;overflow:visible;grid-auto-flow:row}
.home-page .weekend-card{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;border:0;background:transparent;padding:0}
.home-page .weekend-copy{min-width:0}
.home-page .weekend-card .weekend-venue-photo{grid-row:1;order:0;margin:0}
.home-page .weekend-card .weekend-venue-photo .small{margin:0 0 6px;font-size:.75rem;line-height:1.6;color:var(--muted)}
.home-page .weekend-card[data-weekend-lead]{grid-column:1/-1;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px;align-items:center;padding-bottom:0;border:0}
.home-page .weekend-card[data-weekend-lead] .weekend-venue-photo{grid-column:1;grid-row:1}
.home-page .weekend-card[data-weekend-lead] .weekend-copy{grid-column:2;grid-row:1}
.home-page .weekend-card[data-weekend-lead] h3{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.55;letter-spacing:0;margin:8px 0 16px;text-wrap:balance}
.home-page .weekend-copy>p{font-size:1rem;line-height:1.8;margin:0 0 10px}
.home-page .weekend-copy h3{font-size:1.125rem;line-height:1.6;margin:6px 0 10px}
.home-page .weekend-copy h3 a{color:var(--ink)}
.home-page .weekend-copy .weekend-city{font-size:.875rem;color:var(--muted);margin:0}
.home-page .weekend-copy .weekend-date{font-size:.875rem;color:var(--accent);font-weight:700;margin:2px 0 6px}
.home-page .weekend-copy>p.small{font-size:.8125rem;line-height:1.7;margin:8px 0;color:var(--muted)}
.home-page .weekend-copy .weekend-actions{gap:0;margin:6px 0;align-items:flex-start}
.home-page .weekend-copy .weekend-actions a{justify-content:flex-start;min-height:44px}
.home-page .weekend-copy .weekend-actions .official-navigation{margin:0}
.home-page .weekend-copy .weekend-conditions{margin:8px 0 0;border-top:1px solid var(--line)}
.home-page .weekend-venue-photo img{border-radius:8px;aspect-ratio:4/3;object-fit:cover;height:auto}
.home-page .weekend-card[data-weekend-lead] .weekend-venue-photo img{aspect-ratio:3/2;border-radius:10px}
.home-page .weekend-copy a:hover{text-decoration:underline;text-underline-offset:4px}
.home-page .weekend-count{margin:16px 0 0;font-size:.8125rem}
.home-page .weekend-range{margin:0}
.home-page .upcoming-applications{margin:32px 0;padding:28px;background:#fff5e8;border:0;border-left:4px solid var(--accent);border-radius:0 12px 12px 0}
.home-page .upcoming-applications h2{color:var(--ink)}
.home-page .recent-discovery{padding:20px 0 28px;border-block:1px solid var(--line)}
.home-page .recent-discovery .section-head{margin:0 0 16px}
.home-page .recent-discovery .section-head h2{font-size:1.375rem}
.home-page .recent-card:nth-child(n){border-top:0;padding:4px 0 16px}
.home-page .mood-discovery{padding:24px 0}
.home-page .mood-discovery h2{color:var(--ink);font-size:1.125rem}
.home-page .mood-links a:nth-child(n){border:0;background:#f1f4f6!important;border-radius:24px;padding:10px 18px;margin:4px 8px 4px 0}
.home-page .daily-strip{background:#f1f4f6;border-radius:12px}
.photo-page .place-photo img,.spot-card .place-photo img,.article .place-photo img{border-radius:8px}
.filters,.spot-filters{background:#f1f4f6;border-radius:8px}
.article h1,.directory h1,.spot-page h1{color:var(--ink)}
footer{background:#edf1f4}
@media(max-width:1000px){header .top{padding:10px 0;gap:2px 12px}header .primary-nav{border-top:0;padding-top:0}}
@media(max-width:700px){
 .home-page .home-weekend{margin:12px 0 24px}
 .home-page .home-weekend .section-head{flex-wrap:wrap;gap:4px 12px;padding-top:10px;margin-bottom:12px}
 .home-page .home-weekend .section-head h2{font-size:1.25rem}
 .home-page .home-weekend .section-head>a{font-size:.875rem;margin:0}
 .home-page .home-weekend .section-head>div{flex:1;min-width:155px}
 .home-page .home-weekend-grid{grid-template-columns:minmax(0,1fr);gap:24px;overflow:visible;grid-auto-columns:auto}
 .home-page .weekend-card[data-weekend-lead]{grid-template-columns:minmax(0,1fr);gap:16px}
 .home-page .weekend-card[data-weekend-lead] .weekend-venue-photo{grid-column:1;grid-row:1}
 .home-page .weekend-card[data-weekend-lead] .weekend-venue-photo img{aspect-ratio:16/9;object-position:center top}
 .home-page .weekend-card[data-weekend-lead] .weekend-copy{grid-column:1;grid-row:2;display:block}
 .home-page .weekend-card[data-weekend-lead] .weekend-city,.home-page .weekend-card[data-weekend-lead] .weekend-date{display:inline-block;margin:0 8px 4px 0;vertical-align:baseline}
 .home-page .weekend-card[data-weekend-lead] .weekend-actions{display:flex;flex-direction:column;margin:4px 0}
 .home-page .weekend-card[data-weekend-lead] .weekend-actions>a{font-weight:700}
 .home-page .weekend-card[data-weekend-lead] h3{font-size:1.5rem;margin:6px 0 10px}
 .home-page .weekend-card:not([data-weekend-lead]){grid-template-columns:112px minmax(0,1fr);gap:14px;border-bottom:1px solid var(--line);padding-bottom:20px}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-copy{grid-column:2;grid-row:1}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-venue-photo{grid-column:1;grid-row:1}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-venue-photo img{aspect-ratio:1/1}
 .home-page .weekend-card:not([data-weekend-lead]) h3{font-size:1.0625rem}
 .home-page .upcoming-applications{padding:20px 16px;margin:24px 0}
 .home-page .mood-links{display:flex;flex-wrap:wrap;gap:4px}
 .home-page .mood-links a:nth-child(n){font-size:.875rem;margin:0;padding:9px 14px}
}
@media(max-width:360px){.home-page .weekend-card:not([data-weekend-lead]){grid-template-columns:minmax(0,1fr)}.home-page .weekend-card:not([data-weekend-lead]) .weekend-copy{grid-column:1;grid-row:2}}
@container(max-width:18rem){.home-page .weekend-card,.home-page .weekend-card[data-weekend-lead],.home-page .weekend-card:not([data-weekend-lead]){grid-template-columns:minmax(0,1fr)}.home-page .weekend-card .weekend-copy{grid-column:1;grid-row:2}.home-page .weekend-card .weekend-venue-photo{grid-column:1;grid-row:1}}

/* Regional magazine: one feature, a compact weekend rail{padding:20px 0 18px;border-bottom:1px solid var(--line)}
.home-page .home-weekend{margin:24px 0 40px}
.home-page .home-weekend .section-head{margin-bottom:20px}
.home-page .home-weekend .section-head h2{font-size:1.75rem;line-height:1.4}
.home-page .home-weekend .section-head .eyebrow{color:var(--accent);font-weight:600}
.home-page .weekend-photo-note{font-size:.8125rem;margin:0 0 10px;line-height:1.7}
.home-page .weekend-card .weekend-city,.home-page .weekend-card .weekend-date{display:inline-block;margin:0 8px 4px 0}
.home-page .weekend-card .weekend-venue-photo img{border-radius:3px}
.home-page .weekend-card .weekend-actions .official-navigation .btn{border:0;background:transparent;padding:6px 0;text-decoration:underline;text-underline-offset:4px}
.home-page .weekend-card .weekend-conditions{border-top:0;margin-top:0}
.home-page .weekend-card .weekend-conditions summary{font-size:.875rem;min-height:44px;align-content:center}
.home-page .weekend-range{margin:0}
.home-page .mood-discovery{display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap;padding:16px 0 24px;border-top:1px solid var(--line)}
.home-page .mood-discovery h2{font-size:1rem;margin:0}
.home-page .mood-links a:nth-child(n){background:transparent!important;border:1px solid var(--line);border-radius:4px;margin:0;padding:9px 12px;font-size:.875rem}
.home-page .mood-links{gap:8px;flex-wrap:wrap}
.home-page .upcoming-applications{--muted:#d4dce2;--line:#526470;--green:#fff;background:#203c50;color:#fff;border:0;border-radius:4px;padding:32px;margin:24px 0 40px}
.home-page .upcoming-applications h2,.home-page .upcoming-applications h3,.home-page .upcoming-applications a,.home-page .upcoming-applications summary,.home-page .upcoming-applications .application-preview-date strong{color:#fff}
.home-page .upcoming-applications .section-head{margin:0 0 16px}
.home-page .upcoming-applications .section-head h2{font-size:1.375rem}
.home-page .upcoming-applications .eyebrow{color:#d4dce2;letter-spacing:0}
.home-page .upcoming-applications .application-preview-date strong{font-size:1.5rem;font-variant-numeric:tabular-nums}
.home-page .upcoming-applications .application-preview-row{border-top:1px solid var(--line);padding:20px 0}
.home-page .upcoming-applications .application-context{border-color:var(--line)}
.home-page .recent-discovery{padding:12px 0 36px;border:0}
.home-page .recent-discovery .section-head h2{font-size:1.375rem}
.home-page .recent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.home-page .recent-card:nth-child(n){border-bottom:1px solid var(--line);padding:16px 0}
.home-page .recent-card h3{font-size:1.0625rem;line-height:1.7}
.home-page .photo-discovery .section-head h2{font-size:1.75rem}
.home-page .home-official-social{border-top:1px solid var(--line);padding-top:28px;background:transparent}
.home-page .home-official-posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.home-page .home-official-posts>article{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:20px 0}
@media(min-width:1001px){
 .home-page .home-weekend-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px 32px;align-items:start}
 .home-page .weekend-card[data-weekend-lead]{grid-column:1/9;grid-row:1/4;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start}
 .home-page .weekend-card[data-weekend-lead] .weekend-copy{display:contents}
 .home-page .weekend-card[data-weekend-lead] .weekend-heading{grid-column:1;grid-row:1}
 .home-page .weekend-card[data-weekend-lead] .weekend-venue-photo{grid-column:1;grid-row:2}
 .home-page .weekend-card[data-weekend-lead] .weekend-actions{grid-column:1;grid-row:3}
 .home-page .weekend-card[data-weekend-lead] .weekend-copy>p.small{grid-column:1;grid-row:4;margin:0}
 .home-page .weekend-card[data-weekend-lead] .weekend-conditions{grid-column:1;grid-row:5;margin:0}
 .home-page .weekend-card[data-weekend-lead] .weekend-venue-photo img{aspect-ratio:16/9;border-radius:3px}
 .home-page .weekend-card[data-weekend-lead] h3{font-size:1.875rem;line-height:1.5;margin:4px 0 8px;text-wrap:initial}
 .home-page .weekend-card[data-weekend-lead] .weekend-actions{flex-direction:row;gap:0 24px;flex-wrap:wrap}
 .home-page .weekend-card:not([data-weekend-lead]){grid-column:9/13;grid-template-columns:112px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line);padding-bottom:16px}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-venue-photo{grid-column:1;grid-row:1}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-copy{grid-column:2;grid-row:1}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-venue-photo img{aspect-ratio:1/1}
 .home-page .weekend-card:not([data-weekend-lead]) h3{font-size:1rem;line-height:1.7;margin:4px 0}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-actions a{font-size:.875rem}
}
@media(max-width:700px){
 .home-page .home-weekend{margin:20px 0 28px}
 .home-page .home-weekend .section-head{padding:0;margin-bottom:16px}
 .home-page .home-weekend .section-head h2{font-size:1.5rem}
 .home-page .home-weekend-grid{row-gap:24px}
 .home-page .weekend-card[data-weekend-lead] h3{font-size:1.5rem;line-height:1.5;margin:4px 0 8px}
 .home-page .weekend-card[data-weekend-lead] .weekend-actions{flex-direction:row;flex-wrap:wrap;gap:0 16px}
 .home-page .weekend-card:not([data-weekend-lead]){grid-template-columns:112px minmax(0,1fr);gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-venue-photo{grid-column:1;grid-row:1}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-venue-photo img{aspect-ratio:1/1}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-copy{grid-column:2;grid-row:1}
 .home-page .weekend-card:not([data-weekend-lead]) h3{font-size:1.0625rem;margin:4px 0;line-height:1.6}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-actions a{font-size:.875rem}.home-page .photo-discovery .section-head h2{font-size:1.5rem}
 .home-page .upcoming-applications{padding:24px 16px;margin:12px 0 28px}
 .home-page .upcoming-applications .section-head{align-items:start;flex-wrap:wrap;gap:4px 12px}
 .home-page .recent-grid,.home-page .home-official-posts{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){}
@container(max-width:18rem){
 .home-page .weekend-card:not([data-weekend-lead]){grid-template-columns:minmax(0,1fr)}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-copy{grid-column:1;grid-row:2}
 .home-page .weekend-card:not([data-weekend-lead]) .weekend-venue-photo img{aspect-ratio:16/9}
}

/* Six real photographs at a glance; dates and official routes remain visible. */
.home-page .photo-discovery{container-type:inline-size;container-name:home-photo-gallery}
.home-page .photo-discovery .story-album{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.home-page .photo-discovery .discovery-story:nth-child(n){display:block;grid-row:auto;grid-column:auto;min-width:0}
.home-page .photo-discovery .story-city{margin:0 0 6px;font-size:.8125rem}
.home-page .photo-discovery .discovery-story:nth-child(n) .story-kicker{font-size:1.125rem;line-height:1.6;margin:0 0 10px}
.home-page .photo-discovery .story-kicker a{display:inline-block;min-height:44px;align-content:center}
.home-page .photo-discovery .photo-context{border:0;margin:0;padding:0}
.home-page .photo-discovery .photo-context>summary{font-size:.8125rem;min-height:44px;padding:8px 0;line-height:1.7}
.home-page .photo-discovery .official-navigation{padding:0;margin:0;background:transparent;border:0}
.home-page .photo-discovery .official-navigation .btn{border:0;background:transparent;padding:6px 0;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){
 .home-page .photo-discovery .story-album{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .home-page .photo-discovery .discovery-story:nth-child(n) .story-kicker{font-size:1rem;min-height:3.2em}
}
@container home-photo-gallery (max-width:18rem){.home-page .photo-discovery .story-album{grid-template-columns:minmax(0,1fr)}}

/* The opening is a daily photo shelf{padding:12px 0;border:0;gap:6px 24px}
.home-page .mood-discovery{padding:16px 0;border-block:1px solid var(--line);gap:12px 24px}
.home-page .home-weekend{margin:32px 0}
.home-page .weekend-card:not([data-weekend-lead]) .weekend-actions{gap:0}
.home-page .weekend-card:not([data-weekend-lead]) .weekend-actions>a{font-size:.875rem;min-height:36px}
.home-page .weekend-card:not([data-weekend-lead]) .official-navigation{padding:0;margin:0}
.home-page .weekend-card:not([data-weekend-lead]) .weekend-actions .official-navigation .btn{min-height:36px;padding:4px 0}
.home-page .weekend-card:not([data-weekend-lead]) .weekend-conditions summary{min-height:36px}
@media(max-width:800px){
}
@media(max-width:700px){
 .home-page .mood-discovery{display:block;padding:16px 0}
 .home-page .mood-discovery h2{margin-bottom:8px}
 .home-page .home-weekend{margin:24px 0}
}

/* Daily photograph captions: place first{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:0;padding:0}
@media(min-width:801px){}
@media(max-width:400px){}

/* Browse actual pictures together, with readable reflow at enlarged text sizes. */
.photo-page{padding-top:24px}
.photo-page>.calendar-tabs{margin-bottom:12px}
.photo-page .photo-discovery-heading{margin:12px 0 8px}
.photo-page #photo-results{container-type:inline-size;container-name:photo-gallery}
.photo-page .photo-masonry{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.photo-page .gallery-place>.place-photo{margin:0}
.photo-page .gallery-place .place-photo figcaption{padding:10px 0 0;font-size:.875rem;line-height:1.7}
.photo-page .gallery-place .place-photo figcaption>strong{font-size:1rem;line-height:1.6}
.photo-page .gallery-place .place-photo figcaption>strong a{display:block;min-height:44px;padding:4px 0}
.photo-page .gallery-place .place-photo figcaption .official-navigation{margin:0}
.photo-page .gallery-place .place-photo figcaption .official-navigation .btn{border:0;background:transparent;font-size:.875rem;padding:4px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.photo-page .gallery-place .photo-capture-short{margin:0;font-size:.875rem}
.photo-page .gallery-place .photo-attribution{margin:0;padding:0;border:0}
.photo-page .gallery-place .photo-attribution>summary{min-height:44px;padding:6px 0;line-height:1.7;font-size:.875rem}
.photo-page .gallery-more-photos>summary{font-size:.875rem}
.photo-page .gallery-place .photo-event-details>summary{min-height:44px;padding:6px 0;font-size:.875rem}
.photo-page .photo-masonry.single-photo{grid-template-columns:minmax(0,1fr);max-width:720px}
@media(max-width:900px){.photo-page .photo-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
@media(max-width:600px){.photo-page .photo-masonry:not(.single-photo)>.gallery-place:first-child{grid-column:1/-1}.photo-page .photo-scene-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.photo-page .photo-scene-tabs a{padding:8px 0;min-height:48px;text-align:center;overflow-wrap:anywhere}}
@container photo-discovery (max-width:18rem){.photo-page .photo-scene-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container photo-discovery (max-width:12rem){.photo-page .photo-scene-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container photo-gallery (max-width:18rem){.photo-page .photo-masonry{grid-template-columns:minmax(0,1fr)}.photo-page .photo-masonry:not(.single-photo)>.gallery-place:first-child{grid-column:auto}}

/* Three destinations form the opening; dated weekend choices follow together. */
.home-page .home-discovery-spread{display:block;margin:8px 0 40px;container-type:inline-size;container-name:discovery-spread}
.opening-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-page .home-discovery-spread .home-weekend{margin:32px 0 0;padding:20px 0 0;border-top:2px solid var(--ink)}
.home-page .home-discovery-spread .home-weekend .section-head{display:flex;align-items:start;flex-wrap:wrap;gap:4px 16px;margin:0 0 12px}
.home-page .home-discovery-spread .home-weekend .section-head h2{font-size:1.5rem;margin:0;line-height:1.5}
.home-page .home-discovery-spread .home-weekend .section-head .eyebrow{margin:0 0 4px;font-size:.875rem;color:var(--accent)}
.home-page .home-discovery-spread .home-weekend .section-head>a{font-size:.875rem;min-height:44px;align-content:center}
.home-page .home-discovery-spread .home-weekend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.home-page .home-discovery-spread .weekend-card[data-weekend-lead],.home-page .home-discovery-spread .weekend-card:not([data-weekend-lead]){display:grid;grid-column:auto;grid-row:auto;grid-template-columns:64px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line);padding:0 0 16px;align-items:start}
.home-page .home-discovery-spread .weekend-card .weekend-copy{display:contents;min-width:0}
.home-page .home-discovery-spread .weekend-card .weekend-heading{grid-column:2;grid-row:1}
.home-page .home-discovery-spread .weekend-card .weekend-actions{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:0 12px;margin:0}
.home-page .home-discovery-spread .weekend-card .weekend-conditions{grid-column:1/-1;grid-row:4;margin:0}
.home-page .home-discovery-spread .weekend-card .weekend-copy>p.small{grid-column:1/-1;grid-row:3;margin:0;font-size:.875rem}
.home-page .home-discovery-spread .weekend-card .weekend-venue-photo,.home-page .home-discovery-spread .weekend-card .weekend-venue-photo .place-photo{display:contents}
.home-page .home-discovery-spread .weekend-card .weekend-venue-photo .photo-destination{grid-column:1;grid-row:1;align-self:start}
.home-page .home-discovery-spread .weekend-card .weekend-venue-photo img{aspect-ratio:1/1;border-radius:0;object-position:center}
.home-page .home-discovery-spread .weekend-card .weekend-venue-photo figcaption{grid-column:1/-1;grid-row:5;margin:0;padding:0;text-align:left}
.home-page .home-discovery-spread .weekend-card .weekend-venue-photo .photo-context{border:0;margin:0;padding:0}
.home-page .home-discovery-spread .weekend-card .weekend-venue-photo .photo-context>summary{min-height:44px;padding:4px 0;font-size:.8125rem}
.home-page .home-discovery-spread .weekend-card h3{font-size:1.0625rem;line-height:1.6;margin:6px 0}
.home-page .home-discovery-spread .weekend-card .weekend-city{display:block;font-size:.875rem;margin:0;color:var(--muted)}
.home-page .home-discovery-spread .weekend-card .weekend-date{display:block;font-size:.875rem;margin:2px 0;color:var(--accent);font-weight:600}
.home-page .home-discovery-spread .weekend-card .weekend-actions>a,.home-page .home-discovery-spread .weekend-card .weekend-actions .official-navigation .btn{display:inline-flex;min-height:44px;padding:4px 0;font-size:.875rem}
.home-page .home-discovery-spread .weekend-card .weekend-conditions summary{font-size:.875rem;min-height:44px;padding:4px 0}
@supports(grid-template-rows:subgrid){@media(min-width:701px){.home-page .home-discovery-spread .weekend-card[data-weekend-lead],.home-page .home-discovery-spread .weekend-card:not([data-weekend-lead]){grid-row:span 5;grid-template-rows:subgrid;row-gap:12px}}}
@media(max-width:1000px){.home-page .home-discovery-spread .home-weekend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-page .home-discovery-spread{margin:4px 0 28px}.home-page .home-discovery-spread .home-weekend-grid{grid-template-columns:minmax(0,1fr)}.home-page .home-discovery-spread .weekend-card[data-weekend-lead],.home-page .home-discovery-spread .weekend-card:not([data-weekend-lead]){grid-template-columns:80px minmax(0,1fr)}.home-page .home-discovery-spread .weekend-card .weekend-copy{display:block;grid-column:2;grid-row:1}.home-page .home-discovery-spread .weekend-card .weekend-venue-photo figcaption{grid-row:2}.home-page .home-discovery-spread .weekend-card .weekend-actions{display:block}.home-page .home-discovery-spread .weekend-card .weekend-copy>p{margin:4px 0}.home-page .home-discovery-spread .weekend-card .weekend-conditions{margin-top:4px}}
@container opening-stories (max-width:20rem){}
@container discovery-spread (max-width:20rem){.home-page .home-discovery-spread .weekend-card[data-weekend-lead],.home-page .home-discovery-spread .weekend-card:not([data-weekend-lead]){grid-template-columns:minmax(0,1fr)}.home-page .home-discovery-spread .weekend-card .weekend-copy{grid-column:1;grid-row:2}.home-page .home-discovery-spread .weekend-card .weekend-venue-photo .photo-destination{grid-column:1;grid-row:1}.home-page .home-discovery-spread .weekend-card .weekend-venue-photo figcaption{grid-column:1;grid-row:3}.home-page .home-discovery-spread .weekend-card .weekend-venue-photo img{aspect-ratio:3/2}}
/* Weight hierarchy without changing the familiar Japanese typeface. */
.home-page h2,.home-page h3,.home-page .section-head h2,.home-page .recent-card h3,.home-page .story-album .story-kicker{font-weight:600;letter-spacing:0}
.home-page .section-head h2{font-size:1.5rem;line-height:1.6}
.home-page .journal-city,.home-page .story-city,.home-page .eyebrow{font-weight:400}
.home-page .recent-discovery .section-head{margin-top:24px}
.home-page .photo-discovery .section-head{margin:0 0 16px;gap:4px 16px}
.home-page .photo-discovery .story-kicker{font-size:1.125rem}

/* Official gallery sources are a first-class, clearly external browsing view. */
.photo-page .gallery-source-nav{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin:12px 0}
.photo-page .gallery-source-nav a{min-height:44px;padding:8px 12px;font-size:.875rem;text-decoration:none;border:1px solid var(--line);border-radius:3px}
.photo-page .gallery-source-nav a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:white}
.photo-page .official-gallery-discovery{border:0;padding:0;margin:16px 0}
.photo-page .official-gallery-discovery .official-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.photo-page .official-gallery-discovery .official-gallery-grid article{min-width:0;padding:16px 0;border-top:2px solid var(--line)}
.photo-page .official-gallery-discovery .official-gallery-city{font-size:.875rem;margin:0 0 4px}
.photo-page .official-gallery-discovery h3{font-size:1.125rem;line-height:1.6;margin:0 0 8px}
.photo-page .official-gallery-discovery h3 a{display:block;min-height:44px;padding:4px 0}
.photo-page .official-gallery-discovery .official-gallery-link a{display:block;min-height:44px;font-size:1rem;line-height:1.6;padding:4px 0}
.photo-page .official-gallery-discovery .small{font-size:.875rem;line-height:1.7}
@media(max-width:900px){.photo-page .official-gallery-discovery .official-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.photo-page .official-gallery-discovery .official-gallery-grid{grid-template-columns:minmax(0,1fr);gap:20px}}
@container photo-gallery (max-width:18rem){.photo-page .official-gallery-discovery .official-gallery-grid{grid-template-columns:minmax(0,1fr)}}
.photo-page .official-gallery-context{margin:8px 0 0;padding:0;border:0}
.photo-page .official-gallery-context>summary{min-height:44px;padding:6px 0;font-size:.875rem;line-height:1.7}
.photo-page{container-type:inline-size;container-name:photo-discovery}
@media(max-width:600px){.photo-page .gallery-source-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.photo-page .gallery-source-nav a{display:flex;align-items:center;justify-content:center;padding:8px 6px;text-align:center;line-height:1.6;overflow-wrap:anywhere}}
@container photo-discovery (max-width:12rem){.photo-page .gallery-source-nav{grid-template-columns:minmax(0,1fr)}}

/* Dated external visit records stay distinct from contributed experiences. */
.photo-visit-record-link{margin:8px 0 0}
.photo-visit-record-link a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;font-size:1rem;line-height:1.65;text-decoration:underline;text-underline-offset:4px}
/* A direct contribution entry belongs to its exact photographed venue. */
.photo-page .gallery-contribute{margin:12px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.photo-page .gallery-contribute a{display:inline-flex;align-items:center;min-height:44px;font-size:max(1rem,16px);line-height:1.65;padding:4px 0}
.photo-page .photo-contribution-invitation{margin:32px 0;padding:24px 0;border-top:2px solid var(--ink)}
.photo-page .photo-contribution-invitation h2{font-size:1.375rem;line-height:1.6}
.photo-page .photo-contribution-invitation p{max-width:48em;font-size:max(1rem,16px);line-height:1.8}
.photo-page .photo-contribution-invitation nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.photo-page .photo-contribution-invitation nav a{display:inline-flex;align-items:center;min-height:44px;font-size:max(1rem,16px);line-height:1.65;padding:4px 0}

/* Compare photographed destinations without hiding the remaining choices. */
.home-page .photo-discovery .story-album{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:32px 24px;overflow:visible;padding:0;scroll-snap-type:none}
.home-page .photo-discovery .discovery-story{min-width:0}
.home-page .photo-discovery .discovery-story .place-photo{margin:0}
.home-page .photo-discovery .discovery-story figcaption{padding:8px 0 0}
.home-page .photo-discovery .story-city{margin:0 0 4px;font-size:.875rem;line-height:1.6}
.home-page .photo-discovery .story-kicker{margin:0;font-size:1.125rem;line-height:1.6}
.home-page .photo-discovery .story-kicker a{display:block;min-height:44px;padding:4px 0;text-decoration:none;color:var(--ink)}
.home-page .photo-discovery .story-kicker a:hover{text-decoration:underline;text-underline-offset:4px}
.home-page .photo-discovery .story-note{font-size:max(1rem,16px);line-height:1.75}
.home-page .photo-discovery .photo-context{margin:0;padding:0;border:0}
.home-page .photo-discovery .photo-context>summary{font-size:.875rem;line-height:1.7;min-height:44px}
.home-page .photo-discovery .discovery-story>.official-navigation{margin:0;padding:0;border:0;background:transparent}
.home-page .photo-discovery .discovery-story>.official-navigation .btn{background:transparent;border:0;padding:4px 0;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}
.home-page .photo-discovery-more{margin:16px 0 0}
.home-page .photo-discovery-more a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.home-page .photo-discovery{container-type:inline-size;container-name:home-photo-choices;border-top:0;padding-top:0}
@media(max-width:800px){.home-page .photo-discovery .story-album{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.home-page .photo-discovery .story-kicker{font-size:1rem}}
@container home-photo-choices (max-width:20rem){.home-page .photo-discovery .story-album{grid-template-columns:minmax(0,1fr)}}

/* Public interest discovery keeps filters and people easy to scan. */
.people-page .people-search{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:24px 0}
.people-page .people-search input,.people-page .people-search select,.people-page .people-search button{width:100%;min-width:0;min-height:44px;font-size:1rem}
.people-page .people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.people-page .person-card{min-width:0;margin:0}
.people-page .person-card h3 a,.people-profile>a:first-child{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
.people-page .person-card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.8}
.people-page .person-card .tags{display:flex;flex-wrap:wrap;gap:8px}
.people-page .person-card .tag{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem;overflow-wrap:anywhere}
.people-page nav[aria-label="プロフィールのページ"]{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
@media(max-width:700px){.people-page .people-grid{grid-template-columns:minmax(0,1fr)}}

/* A regional magazine: spacious photographs, a compact daily desk and distinct service surfaces. */
.home-page{--ink:#283b3b;--muted:#586765;--accent:#9a4a35;--green:#286457;--line:#dbe2dd}
.home-page .home-discovery-spread{margin:4px 0 36px}
@media(max-width:800px){}
@container opening-stories (max-width:20rem){}
.home-page .home-discovery-spread .home-weekend{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.home-page .home-discovery-spread .home-weekend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.home-page .home-discovery-spread .weekend-card[data-weekend-lead],.home-page .home-discovery-spread .weekend-card:not([data-weekend-lead]){display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto;grid-row:auto;gap:8px 18px;padding:0 0 12px}
.home-page .home-discovery-spread .weekend-card .weekend-copy{display:block;grid-column:2;grid-row:1}
.home-page .home-discovery-spread .weekend-card .weekend-venue-photo figcaption{grid-column:1/-1;grid-row:2}
.home-page .home-discovery-spread .weekend-card .weekend-actions{display:flex;margin:0;gap:0 12px}
.home-page .home-discovery-spread .weekend-card .weekend-venue-photo img{border-radius:5px}
.home-page .home-discovery-spread .weekend-card h3{font-size:1.125rem;line-height:1.6;margin:4px 0}
.home-page .home-daily-desk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start;margin:40px 0 48px;container-type:inline-size;container-name:daily-desk}
.home-page .home-daily-desk .recent-discovery{border:0;padding:0;margin:0}
.home-page .home-daily-desk .section-head{margin:0 0 8px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:start}
.home-page .home-daily-desk .section-head h2{font-size:1.375rem;line-height:1.6;margin:0}
.home-page .home-daily-desk .section-head>a{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center}
.home-page .home-daily-desk .recent-grid{display:block}
.home-page .home-daily-desk .recent-card:nth-child(n){display:block;border-top:1px solid var(--line);padding:16px 0;margin:0}
.home-page .home-daily-desk .recent-card h3{font-size:1.125rem;line-height:1.65;margin:4px 0}
.home-page .home-daily-desk .recent-card h3 a{display:block;min-height:44px;text-decoration:none}
.home-page .home-daily-desk .recent-card h3 a:hover{text-decoration:underline}
.home-page .home-daily-desk .recent-date{margin:0;font-size:.8125rem;color:var(--green)}
.home-page .home-daily-desk .recent-period{margin:4px 0 0;font-size:.875rem}
.home-page .home-daily-desk .upcoming-applications{--ink:#283b3b;--muted:#586765;--line:#dccfbf;--green:#286457;background:#faf3e8;color:var(--ink);border:0;border-radius:8px;padding:24px;margin:0}
.home-page .home-daily-desk .upcoming-applications h2,.home-page .home-daily-desk .upcoming-applications h3,.home-page .home-daily-desk .upcoming-applications a,.home-page .home-daily-desk .upcoming-applications summary{color:var(--ink)}
.home-page .home-daily-desk .upcoming-applications .eyebrow{color:var(--accent);font-size:.8125rem}
.home-page .home-daily-desk .application-preview{display:block}
.home-page .home-daily-desk .application-preview-row{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:16px 0}
.home-page .home-daily-desk .application-preview-row h3{font-size:1rem;line-height:1.65;margin:4px 0}
.home-page .home-daily-desk .application-preview-date strong{font-size:1.25rem;color:var(--accent)}
.home-page .home-daily-desk .application-preview-date span{font-size:.8125rem;color:var(--muted)}
.home-page .home-daily-desk .application-context summary,.home-page .home-daily-desk .application-scope summary{font-size:.8125rem;min-height:44px;align-content:center}
.home-page .home-daily-desk .application-official{margin:0}
.home-page .home-daily-desk .application-official a{display:inline-flex;min-height:44px;align-items:center;font-size:.875rem}
.home-page .home-daily-desk .calendar-gateway{display:flex;flex-wrap:wrap;gap:0 16px;border-top:1px solid var(--line);padding-top:8px}
.home-page .home-daily-desk .calendar-gateway a{font-size:.875rem;min-height:44px;align-content:center}
.home-page .mood-discovery{background:#eef5ef;border-radius:8px;padding:24px;margin:0 0 40px}
.home-page .mood-discovery h2{font-size:1.125rem;margin:0 0 12px}
.home-page .mood-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.home-page .mood-links a:nth-child(n){background:transparent!important;border:0;border-radius:0;padding:4px 0;margin:0;min-height:44px;font-size:1rem;color:var(--green)}
.home-page .photo-discovery{padding:0;margin:0 0 48px}
.home-page .story-album{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.home-page .story-album img{border-radius:5px!important;aspect-ratio:4/3!important}
.home-page .home-official-social{background:#f5f3ee;padding:28px;border:0;border-radius:8px;margin:40px 0 8px}
.home-page .home-official-posts{gap:24px 32px}
.home-page .home-official-posts article{border-top:1px solid #d9d6cd;padding:16px 0 0}
.home-page .home-official-social h2{margin:4px 0 8px}
@media(max-width:800px){.home-page .home-daily-desk{grid-template-columns:minmax(0,1fr);gap:24px;margin:28px 0 32px}.home-page .home-discovery-spread .home-weekend-grid{grid-template-columns:minmax(0,1fr)}.home-page .home-daily-desk .recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}}
@media(max-width:600px){.home-page .home-discovery-spread .weekend-card[data-weekend-lead],.home-page .home-discovery-spread .weekend-card:not([data-weekend-lead]){grid-template-columns:88px minmax(0,1fr);gap:8px 14px}.home-page .home-daily-desk .upcoming-applications{padding:20px 16px}.home-page .home-daily-desk .recent-grid{display:block}.home-page .mood-discovery{padding:20px 16px;margin-bottom:32px}.home-page .mood-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.home-page .mood-links a:nth-child(n){font-size:.875rem}.home-page .story-album{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.home-page .home-official-social{padding:24px 16px}.home-page .home-official-posts{grid-template-columns:minmax(0,1fr)}}
@container opening-stories (max-width:20rem){}
@container discovery-spread (max-width:20rem){.home-page .home-discovery-spread .weekend-card[data-weekend-lead],.home-page .home-discovery-spread .weekend-card:not([data-weekend-lead]){grid-template-columns:minmax(0,1fr)}.home-page .home-discovery-spread .weekend-card .weekend-copy{grid-column:1;grid-row:2}.home-page .home-discovery-spread .weekend-card .weekend-venue-photo figcaption{grid-row:3}}
@container daily-desk (max-width:30rem){.home-page .home-daily-desk .application-preview-row{grid-template-columns:minmax(0,1fr)}.home-page .home-daily-desk .application-preview-date{display:flex;flex-wrap:wrap;gap:4px 12px}.home-page .home-daily-desk .calendar-gateway{display:block}}

/* The whole place catalogue is visible, grouped by the activity readers want. */
.home-page .spot-explorer{container-type:inline-size;container-name:spot-genres;background:#f6f8f4;padding:28px;border:0;border-radius:8px;margin:36px 0}
.home-page .spot-explorer .section-head{margin:0 0 20px;gap:8px 20px;display:flex;flex-wrap:wrap;align-items:start}
.home-page .spot-explorer .section-head h2{font-size:1.5rem;line-height:1.6;margin:0}
.home-page .spot-explorer .eyebrow{font-size:.875rem;margin:0 0 4px;color:var(--green)}
.home-page .spot-explorer-all{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.home-page .spot-genre-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.home-page .spot-genre-group{min-width:0}
.home-page .spot-genre-group h3{font-size:1rem;line-height:1.7;font-weight:600;color:var(--green);margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #cedbd0}
.home-page .spot-genre-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.home-page .spot-genre-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.9375rem;line-height:1.65;min-height:56px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.home-page .spot-genre-links a span{min-width:0;word-break:keep-all;overflow-wrap:anywhere}
.home-page .spot-genre-links small{font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}
.home-page .spot-genre-links a:hover span{text-decoration:underline;text-underline-offset:4px}
.home-page .spot-genre-note{font-size:.875rem;line-height:1.75;margin:16px 0 0}
#spot-home-heading{scroll-margin-top:24px}
@media(max-width:800px){.home-page .spot-genre-groups{grid-template-columns:minmax(0,1fr);gap:24px}.home-page .spot-genre-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.home-page .spot-explorer{padding:20px 16px;margin:28px 0}.home-page .spot-explorer .section-head h2{font-size:1.375rem}.home-page .spot-genre-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}}
@container spot-genres (max-width:18rem){.home-page .spot-genre-links{grid-template-columns:minmax(0,1fr)}}

/* Directory: filters remain available; photo provenance is one disclosure per place. */
.guide-directory .directory-search{container-type:inline-size;container-name:directory-controls;background:#f4f7f2;border:1px solid var(--line);border-radius:8px;margin:20px 0 28px;padding:20px}
.guide-directory .directory-search .spot-filters{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:end;background:transparent;border:0;margin:0;padding:0}
.guide-directory .directory-search .spot-filters>div{min-width:0;grid-column:auto;grid-row:auto}
.guide-directory .directory-search label{display:block;font-size:.875rem;line-height:1.7;margin:0 0 6px}
.guide-directory .directory-search input,.guide-directory .directory-search select{display:block;width:100%;min-width:0;min-height:48px;font-size:1rem;padding:10px;border:1px solid var(--control);border-radius:4px;background:white}
.guide-directory .directory-search button{min-height:48px;font-size:1rem;padding:10px 8px}
.guide-directory .directory-search-notes{margin-top:12px;font-size:.875rem}
.guide-directory .directory-search-notes>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.guide-directory .spot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:start;container-type:inline-size;container-name:spot-cards}
.guide-directory .spot-card{min-width:0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 20px;overflow:visible}
.guide-directory .spot-card h3{font-size:1.25rem;line-height:1.6;margin:4px 0 12px}
.guide-directory .spot-card h3 a{display:block;min-height:44px;text-decoration:none;overflow-wrap:anywhere}
.guide-directory .spot-card h3 a:hover{text-decoration:underline}
.guide-directory .spot-card>.eyebrow{margin:0;font-size:.875rem;color:var(--green)}
.guide-directory .spot-card-photo{margin:0 0 12px}
.guide-directory .spot-card-photo .place-photo{margin:0}
.guide-directory .spot-card-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:5px}
.guide-directory .spot-card-photo figcaption{padding:0;margin:0;font-size:.8125rem}
.guide-directory .spot-card-photo .photo-attribution{margin:0;border:0;padding:0}
.guide-directory .spot-card-photo .photo-attribution>summary{min-height:44px;padding:6px 0;line-height:1.65;font-size:.8125rem}
.guide-directory .spot-card>.tags{margin:8px 0;gap:4px 12px}
.guide-directory .spot-card>.tags .tag{font-size:.8125rem;line-height:1.6}
.guide-directory .spot-card>p{font-size:1rem;line-height:1.75;margin:8px 0}
.guide-directory .spot-card>p.small{font-size:.875rem;line-height:1.75}
.guide-directory .spot-card .spot-more,.guide-directory .spot-card .official-navigation .btn{display:inline-flex;align-items:center;min-height:44px;line-height:1.7;font-size:.875rem;padding:6px 0}
@media(max-width:1000px){.guide-directory .directory-search .spot-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-directory .directory-search .spot-filters>div:first-child{grid-column:1/-1}.guide-directory .spot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.guide-directory .directory-search{padding:16px}.guide-directory .directory-search .spot-filters{gap:12px}.guide-directory .spot-grid{grid-template-columns:minmax(0,1fr);gap:24px}.guide-directory .spot-card h3{font-size:1.25rem}.guide-directory .directory-search .spot-filters button{align-self:end}}
@container spot-cards (max-width:18rem){.guide-directory .spot-grid{grid-template-columns:minmax(0,1fr)}}

@container directory-controls (max-width:18rem){.guide-directory .directory-search .spot-filters{grid-template-columns:minmax(0,1fr)}.guide-directory .directory-search .spot-filters>div:first-child{grid-column:auto}}

/* Photographs lead the place directory; every matching place remains accessible. */
.guide-directory .directory-view-order{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin:12px 0 24px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.guide-directory .directory-view-order nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.guide-directory .directory-view-order nav a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;text-decoration:none;border-bottom:2px solid transparent}
.guide-directory .directory-view-order nav a[aria-current]{color:var(--ink);font-weight:700;border-color:var(--green)}
.guide-directory .directory-view-order nav a:hover{text-decoration:underline}
.guide-directory .directory-view-order p{margin:0;font-size:.875rem}
.guide-directory .spot-card-photo{margin:0 0 8px}
.guide-directory .spot-card>.eyebrow{margin-top:8px}

/* Date selection keeps the month overview while allowing a short, shareable day list. */
.calendar-page .calendar-date-picker{container-type:inline-size;container-name:calendar-picker;border-block:1px solid var(--line);padding:16px 0 20px;margin:16px 0 24px}
.calendar-page .calendar-date-picker .section-head{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0;align-items:center}
.calendar-page .calendar-date-picker h3{font-size:1.25rem;margin:0}
.calendar-page .calendar-date-picker .section-head>a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.calendar-page .calendar-date-picker>p{font-size:.875rem;line-height:1.75;margin:8px 0 16px}
.calendar-page .calendar-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-page .calendar-weekday{text-align:center;font-size:.875rem;font-weight:700;padding:6px 0}
.calendar-page .calendar-padding-day{min-width:0}
.calendar-page .calendar-picker-day>span{display:none}
.calendar-page .calendar-date-grid>a{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:86px;padding:6px;border:1px solid var(--line);border-radius:4px;color:var(--ink);text-decoration:none;background:white;gap:4px}
.calendar-page .calendar-date-grid>a:hover{background:#f1f6f7;border-color:var(--green)}
.calendar-page .calendar-date-grid>a[aria-current]{background:var(--green);border-color:var(--green);color:white}
.calendar-page .calendar-date-grid>a[data-today]{box-shadow:inset 0 0 0 1px currentColor}
.calendar-page .calendar-picker-day{display:flex;align-items:baseline;justify-content:center;gap:8px}
.calendar-page .calendar-picker-count,.calendar-page .calendar-picker-today{text-align:center}
.calendar-page .calendar-date-grid>a:focus-visible{outline:3px solid var(--ink);outline-offset:2px;z-index:1}
.calendar-page .calendar-picker-day strong{font-size:1.25rem;line-height:1.4}
.calendar-page .calendar-picker-day>span,.calendar-page .calendar-picker-count,.calendar-page .calendar-picker-today{font-size:.875rem;line-height:1.5}
.calendar-page .calendar-picker-today{font-weight:700}
.calendar-page #calendar-results{scroll-margin-top:20px}
@container calendar-picker (min-width:20rem) and (max-width:30rem){.calendar-page .calendar-date-grid{gap:2px}}
@container calendar-picker (max-width:20rem){
.calendar-page .calendar-date-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,5rem),1fr));gap:8px}
.calendar-page .calendar-weekday,.calendar-page .calendar-padding-day{display:none}
.calendar-page .calendar-picker-day>span{display:inline}
}
.calendar-page .calendar-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"month-label city-label ." "month city submit";gap:6px 12px;align-items:end}
.calendar-page .calendar-form label[for="calendar-month"]{grid-area:month-label}
.calendar-page .calendar-form label[for="calendar-city"]{grid-area:city-label}
.calendar-page #calendar-month{grid-area:month}
.calendar-page #calendar-city{grid-area:city}
.calendar-page .calendar-form input:not([type="hidden"]),.calendar-page .calendar-form select{min-width:0;width:100%;font:inherit}
.calendar-page .calendar-form button{grid-area:submit;min-height:44px}
@media(max-width:600px){.calendar-page .calendar-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"month-label city-label" "month city" "submit submit"}.calendar-page .calendar-form button{margin-top:4px}}

/* Keep the selected photograph next to its name before the visit links. */
.spot-page .spot-opening{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 36px}
.spot-page .spot-opening-heading{grid-column:1/-1;min-width:0}
.spot-page .spot-opening-heading h1{font-size:clamp(1.625rem,2.6vw,2.125rem);line-height:1.5;margin:8px 0 0;letter-spacing:0;overflow-wrap:anywhere}
.spot-page .spot-opening-heading .eyebrow{margin:0}
.spot-page .spot-opening-visual{grid-column:2;grid-row:2}
.spot-page .spot-opening-copy{grid-column:1;grid-row:2}
.spot-page .spot-opening-visual .detail-capture{font-size:.875rem}
.spot-page .spot-opening-visual figcaption{font-size:.875rem}
@media(max-width:800px){.spot-page .spot-opening{grid-template-columns:minmax(0,1fr);gap:16px}.spot-page .spot-opening-heading,.spot-page .spot-opening-visual,.spot-page .spot-opening-copy{grid-column:1;grid-row:auto}.spot-page .spot-opening-heading h1{font-size:1.625rem}.spot-page .spot-opening-visual .place-photo img{max-height:none}}

.photo-page .photo-filter-drawer .photo-source-shortcuts{margin:16px 0 0;border-bottom:0}
.photo-page .photo-source-shortcuts-title{font-size:.875rem;margin:12px 0 4px}

/* Keep discovery visible and group supporting information into readable drawers. */
.home-page .home-resources{margin:48px 0 32px;padding-top:24px;border-top:2px solid var(--ink)}
.home-page .home-resources>h2{font-size:1.25rem;line-height:1.6;margin:0 0 16px}
.home-page .home-resource{border-bottom:1px solid var(--line);margin:0;padding:0}
.home-page .home-resource>summary{min-height:56px;align-content:center;padding:12px 8px;font-size:1rem;line-height:1.75;cursor:pointer}
.home-page .home-resource[open]>summary{font-weight:700;color:var(--green)}
.home-page .home-resource>.split,.home-page .home-resource>.policy{margin:0;padding:16px 8px 24px;border:0}
.home-page .home-resource .panel{padding:20px;background:#f5f7f8;border-radius:4px}
.home-page .home-resource .panel h2,.home-page .home-resource .policy h2{font-size:1.25rem;line-height:1.65}
.home-page .home-resources .social-directory{margin:0;padding:16px 8px;border-bottom:1px solid var(--line);background:transparent}
.home-page .home-resources .social-directory h2{font-size:1rem;line-height:1.75;margin:0 0 4px}
.home-page .home-resources .social-directory>.eyebrow,.home-page .home-resources .social-directory>p{margin:4px 0;font-size:.875rem}
.home-page .home-official-social{background:#f2f6f8;border-radius:4px}
.home-page .home-official-social>h2{font-size:1.5rem;line-height:1.6}
.home-page .home-official-posts{align-items:start;gap:24px 32px}
.home-page .home-official-posts article{padding:16px 0 0;border-color:#c8d4da}
.home-page .home-official-posts h3{font-size:1.125rem;line-height:1.65;margin:8px 0}
.home-page .home-post-author{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;font-size:.875rem;font-weight:700;margin:0;color:var(--ink)}
.home-page .home-post-author span{font-weight:400;color:var(--muted)}
.home-page .home-post-time{font-size:.875rem;line-height:1.7;margin:0;color:var(--muted)}
.home-page .home-post-context{margin:4px 0;border:0;padding:0}
.home-page .home-post-context>summary{font-size:.875rem;min-height:44px;align-content:center;cursor:pointer}
.home-page .home-post-context p{font-size:1rem;line-height:1.75;margin:8px 0}
.home-page .home-official-actions{display:flex;flex-wrap:wrap;gap:0 16px;margin:0}
.home-page .home-official-actions>a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.7;padding:4px 0}
@media(max-width:600px){.home-page .home-resources{margin:32px 0 24px}.home-page .home-resource>.split{grid-template-columns:minmax(0,1fr);gap:16px}.home-page .home-resource .panel{padding:16px}.home-page .home-official-social>h2{font-size:1.375rem}}

/* One homepage composition: photographed destinations, dated decisions, local voices. */
.home-page{--ink:#293833;--green:#335e50;--accent:#a53e24;--muted:#59635e;--line:#dce1dc;padding-bottom:32px}
.home-page a{text-underline-offset:4px}
.home-page h2,.home-page h3{letter-spacing:0}
.home-page .section-head{align-items:baseline;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.home-page .section-head h2,.home-page .home-official-social>h2{font-size:1.75rem;line-height:1.5;font-weight:700;margin:0}
.home-page .section-head>a{font-size:.875rem;min-height:44px;align-content:center}
.home-page .home-edition{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;padding:20px 0 24px;container:home-entry / inline-size}
.home-page .edition-heading{grid-column:1;grid-row:1;min-width:0}
.home-page .home-edition .journal-kicker{margin:0 0 4px;font-size:.875rem;line-height:1.7;color:var(--muted);font-weight:500}
.home-page .home-edition .journal-kicker time{margin:0;white-space:normal}
.home-page .home-edition h1{margin:0;font-size:1.75rem;font-weight:700;line-height:1.5;letter-spacing:0}
.home-page .home-edition .opening-search-panel{position:static;grid-column:2;grid-row:1;align-self:end;max-width:100%;min-width:0;margin:0}
.home-page .home-edition .opening-search-panel[open]{grid-column:1/-1;grid-row:2;justify-self:stretch}
.home-page .opening-search-panel>summary{min-height:44px;padding:8px 0;font-size:.875rem;font-weight:400}
.home-page .opening-now{display:flex;grid-column:1/-1;gap:8px 24px;margin:4px 0 0;padding:0;border:0}
.home-page .opening-now a:nth-child(n){display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;margin:0;padding:6px 0;border:0;border-radius:0;background:transparent;font-size:1rem;font-weight:600;color:var(--ink);text-decoration:none}
.home-page .opening-now a:hover{text-decoration:underline;background:transparent;color:var(--green)}
.home-page .home-discovery-spread{margin:0 0 24px}
.home-page .magazine-opening{container:opening-stories / inline-size;margin:0;padding:0}
.home-page .magazine-opening .opening-photo-gallery{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:28px;align-items:start;overflow:visible;padding:0}
.home-page .magazine-opening .opening-scene{grid-area:auto;padding:0;min-width:0}
.home-page .magazine-opening .opening-side-stories{display:contents}
.home-page .magazine-opening .place-photo{display:block;margin:0}
.home-page .magazine-opening .photo-destination{display:block;overflow:hidden;background:#f2f3ed;border-radius:2px}
.home-page .magazine-opening .opening-scene img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:2px;max-height:none}
.home-page .magazine-opening .scene-0 img{aspect-ratio:3/2}
.home-page .magazine-opening .opening-scene figcaption{display:block;padding:0;min-width:0}
.home-page .magazine-opening .journal-story{padding:12px 0 0}
.home-page .magazine-opening .journal-city{font-size:.875rem;line-height:1.7;font-weight:600;color:var(--accent);margin:0 0 4px}
.home-page .magazine-opening .journal-city span{display:inline;font-weight:400;color:var(--muted);margin-left:12px;border:0;background:none;padding:0}
.home-page .magazine-opening .scene-note{position:static;background:none;padding:0;margin:4px 0;pointer-events:auto;font-size:1.25rem;font-weight:700;line-height:1.6;border-radius:0}
.home-page .magazine-opening .scene-0 .scene-note{font-size:1.5rem;line-height:1.55}
.home-page .magazine-opening .scene-note a{display:block;color:var(--ink);text-decoration:none;padding:0;min-height:44px}
.home-page .magazine-opening .scene-note a:hover{text-decoration:underline}
.home-page .magazine-opening .scene-venue-name{margin:4px 0;font-size:.875rem;line-height:1.7;color:var(--muted)}
.home-page .magazine-opening .journal-summary{display:block;font-size:1rem;line-height:1.8;margin:8px 0}
.home-page .magazine-opening .opening-side-stories .place-photo{display:block}
.home-page .magazine-opening .opening-side-stories .journal-story{padding:12px 0 0}
.home-page .magazine-opening .opening-side-stories .scene-note{font-size:1.25rem}
.home-page .magazine-opening .opening-side-stories .journal-city span{display:inline;margin-left:12px}
.home-page .magazine-opening .opening-side-stories .journal-summary{font-size:1rem;line-height:1.8}
.home-page .magazine-opening .official-navigation{display:block;border:0;background:none;padding:0;margin:0}
.home-page .magazine-opening .official-navigation .btn{min-height:44px;font-size:.875rem;padding:8px 0;border:0;background:none;border-radius:0}
.home-page .magazine-opening .photo-attribution{border:0;margin:0;padding:0}
.home-page .magazine-opening .photo-attribution summary{min-height:44px;font-size:.875rem;line-height:1.7;font-weight:400;padding:6px 0}
.home-page .magazine-opening .photo-event-details{grid-column:1/-1;border:0;margin:0;padding:0}
.home-page .magazine-opening .photo-event-details summary{min-height:44px;font-size:.875rem;padding:8px 0}
.home-page .magazine-opening .opening-more{display:inline-block;margin:12px 24px 0 0;text-align:left}
.home-page .magazine-opening .opening-photo-context{display:inline-block;margin:0;border:0;vertical-align:top;max-width:100%}
.home-page .magazine-opening .opening-photo-context summary{min-height:44px;padding:12px 0;font-size:.875rem;font-weight:400;color:var(--muted)}
.home-page .magazine-opening .opening-photo-context[open]{display:block}
.home-page .magazine-opening .opening-photo-context p{max-width:52rem;font-size:.875rem;line-height:1.8}
.home-page .mood-discovery{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 28px;align-items:center;border-block:1px solid var(--line);border-radius:0;background:none;padding:12px 0;margin:0 0 40px}
.home-page .mood-discovery h2{font-size:1rem;line-height:1.7;margin:0}
.home-page .mood-links{display:flex;flex-wrap:wrap;gap:4px 24px}
.home-page .mood-links a:nth-child(n){display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:4px 0;background:none!important;border:0;border-radius:0;color:var(--ink);font-size:1rem;font-weight:500;text-decoration:none}
.home-page .mood-links a:hover{text-decoration:underline}
.home-page .mood-arrow{display:none}
/* Food photographs form a magazine spread, with source notes adjacent to each image. */
.home-page .food-feature-gateway{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px 32px;align-items:center;container:food-feature / inline-size;padding:28px;background:#f7f3e8;border:0;border-radius:2px;margin:0 0 56px}
.home-page .food-gateway-copy,.home-page .food-gateway-preview{min-width:0}
.home-page .food-feature-gateway h2{font-size:1.875rem;line-height:1.5;margin:6px 0 12px}
.home-page .food-feature-gateway .eyebrow{color:var(--accent)}
.home-page .food-gateway-copy>p{font-size:1rem;line-height:1.85;margin:8px 0}
.home-page .feature-gateway-link{display:inline-block;min-height:44px;padding:10px 0;font-size:1rem;font-weight:600;white-space:normal}
.home-page .food-gateway-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}
.home-page .food-gateway-preview .place-photo{margin:0}
.home-page .food-gateway-preview img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:2px;background:#eee9de}
.home-page .food-gateway-preview figcaption{padding:8px 0 0}
.home-page .food-gateway-preview h3{font-size:1rem;line-height:1.7;margin:0 0 4px}
.home-page .food-gateway-preview .photo-attribution summary{font-size:.875rem;line-height:1.7;padding:6px 0;min-height:44px}
.home-page .food-feature-gateway .food-gateway-history{grid-column:1/-1;margin:0;border-top:1px solid #d9d2c2;padding-top:12px;font-size:.875rem;line-height:1.7;max-width:none;color:var(--muted)}
/* Weekend dates and sale dates deliberately use different visual density. */
.home-page .weekend-summary{font-size:1rem;line-height:1.8;margin:12px 0 16px}
.home-page .weekend-decision-facts{margin:0 0 16px;font-size:.875rem;line-height:1.8}
.home-page .weekend-decision-facts>div{border-top:1px solid var(--line);padding:10px 0}
.home-page .weekend-decision-facts dt{font-weight:700;margin:0 0 4px}
.home-page .weekend-decision-facts dd{margin:0;overflow-wrap:anywhere}

.home-page .home-weekend-opening{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:36px}
.home-page .home-weekend-opening .section-head{margin-bottom:8px}
.home-page .home-weekend-opening .weekend-photo-note{margin:4px 0 12px}
.home-page .home-weekend-opening .weekend-card h3{font-size:1.25rem;line-height:1.55}
.home-page .home-outing-desk.home-weekend-opening .weekend-card .weekend-venue-photo,.home-page .home-outing-desk.home-weekend-opening .weekend-card .weekend-venue-photo .place-photo{display:contents}
.home-page .home-weekend-opening .weekend-venue-photo .photo-destination{grid-column:1;grid-row:1}
.home-page .home-weekend-opening .weekend-venue-photo figcaption{grid-column:1;grid-row:3}
.home-page .home-weekend-opening .weekend-card h3 a{display:block}
.home-page .home-outing-desk.home-weekend-opening .weekend-card[data-weekend-item] .weekend-venue-photo img{aspect-ratio:3/2;height:auto}



.home-page .home-outing-desk{display:block;margin:0 0 56px;padding:0;border:0}
.home-page .home-outing-desk .home-weekend{padding:0;margin:0;border:0;container:weekend-choices / inline-size}
.home-page .home-outing-desk .home-weekend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;overflow:visible;grid-auto-flow:row;grid-auto-columns:auto;padding:0;margin:20px 0}
.home-page .home-outing-desk .weekend-card[data-weekend-lead],.home-page .home-outing-desk .weekend-card:not([data-weekend-lead]){display:grid;grid-template-columns:minmax(0,1fr);grid-column:auto;grid-row:auto;gap:8px;padding:0;border:0;min-width:0;align-self:start}
.home-page .home-outing-desk .weekend-card .weekend-copy{display:block;grid-column:1;grid-row:2;min-width:0}
.home-page .home-outing-desk .weekend-card .weekend-venue-photo{display:block;grid-column:1;grid-row:1;min-width:0}
.home-page .home-outing-desk .weekend-venue-photo .place-photo{display:block;margin:0}
.home-page .home-outing-desk .weekend-venue-photo .photo-destination{display:block}
.home-page .home-outing-desk .weekend-venue-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:2px}
.home-page .home-outing-desk .weekend-venue-photo figcaption{padding:0}
.home-page .home-outing-desk .weekend-city{font-size:.875rem;margin:0 0 4px;color:var(--muted)}
.home-page .home-outing-desk .weekend-date{font-size:.875rem;font-weight:500;color:var(--accent);margin:0}
.home-page .home-outing-desk .weekend-date time{font-size:1.5rem;font-weight:700;margin-right:8px}
.home-page .home-outing-desk .weekend-card h3{font-size:1.125rem;font-weight:700;line-height:1.7;margin:8px 0}
.home-page .home-outing-desk .weekend-actions{display:flex;flex-wrap:wrap;gap:4px 16px}
.home-page .home-outing-desk .weekend-actions a{min-height:44px;align-content:center;font-size:.875rem}
.home-page .home-outing-desk .weekend-conditions{border-top:1px solid var(--line);margin:8px 0 0}
.home-page .home-outing-desk .weekend-conditions summary{min-height:44px;font-size:.875rem;padding:8px 0}
.home-page .weekend-photo-note,.home-page .weekend-count{font-size:.875rem;line-height:1.8;color:var(--muted)}
.home-page .weekend-scroll-hint{display:none}
.home-page .home-outing-desk .upcoming-applications{container:daily-desk / inline-size;--ink:#293833;--green:#335e50;--accent:#a53e24;--line:#d5ded7;--muted:#59635e;background:#eef3ef;border:0;border-radius:2px;padding:28px;margin:36px 0 0;color:var(--ink)}
.home-page .home-outing-desk .upcoming-applications .section-head{display:flex;margin:0 0 16px}
.home-page .home-outing-desk .upcoming-applications h2{font-size:1.5rem;line-height:1.6;color:var(--ink)}
.home-page .home-outing-desk .upcoming-applications .section-head .eyebrow{display:none}
.home-page .home-outing-desk .application-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.home-page .home-outing-desk .application-preview-row{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;border-top:1px solid var(--line);padding:20px 0}
.home-page .home-outing-desk .application-preview-date{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0;border:0}
.home-page .home-outing-desk .application-preview-date strong{font-size:1.5rem;line-height:1.5;color:var(--accent)}
.home-page .home-outing-desk .application-preview-date span{font-size:.875rem;line-height:1.7}
.home-page .home-outing-desk .application-preview-row h3{font-size:1rem;font-weight:700;line-height:1.7;margin:8px 0;color:var(--ink)}
.home-page .home-outing-desk .upcoming-applications a,.home-page .home-outing-desk .upcoming-applications summary{color:var(--green)}
.home-page .photo-discovery{padding:0;margin:0 0 56px}
.home-page .photo-discovery .story-album{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px;overflow:visible;grid-auto-flow:row;grid-auto-columns:auto}
.home-page .photo-discovery .discovery-story:nth-child(n){display:block;grid-column:auto;grid-row:auto;min-width:0}
.home-page .photo-discovery .discovery-story:nth-child(n) .place-photo img{aspect-ratio:3/2!important;object-fit:cover;border-radius:2px!important}
.home-page .photo-discovery .discovery-story:nth-child(n) .story-kicker{font-size:1.25rem;font-weight:700;line-height:1.6;margin:0}
.home-page .photo-discovery .story-city{font-size:.875rem;color:var(--muted);margin:4px 0}
.home-page .home-news-desk{margin:0 0 56px;padding:24px 0 0;border-top:1px solid var(--line)}
.home-page .home-news-desk .recent-discovery{padding:0;margin:0;border:0}
.home-page .home-news-desk .recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.home-page .home-news-desk .recent-card:nth-child(n){border:0;border-top:1px solid var(--line);padding:20px 0}
.home-page .home-news-desk h3{font-size:1.125rem;line-height:1.7;font-weight:700}
.home-page .recent-other-dates{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-size:.875rem;margin-top:8px}
.home-page .recent-other-dates span{color:var(--muted)}
.home-page .recent-other-dates a{display:inline-flex;align-items:center;min-height:44px;line-height:1.6}
.home-page .spot-explorer{container:home-genres / inline-size;margin:0 0 56px;padding:28px 0;border-block:1px solid var(--line);border-radius:0;background:none;color:var(--ink);--ink:#293833;--green:#335e50;--muted:#59635e;--line:#dce1dc}
.home-page .spot-explorer .section-head{margin-bottom:24px}
.home-page .spot-explorer .spot-genre-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.home-page .spot-explorer .spot-genre-group{border:0;background:none;padding:0;min-width:0}
.home-page .spot-explorer .spot-genre-group h3{margin:0 0 8px;border-bottom:2px solid #94aa99;padding-bottom:12px;color:var(--ink);font-size:1.125rem;line-height:1.7}
.home-page .spot-explorer .spot-genre-links{display:block}
.home-page .spot-explorer .spot-genre-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:8px 0;border:0;background:none;color:var(--ink);font-size:1rem;line-height:1.7;text-decoration:none}
.home-page .weekend-save{margin:12px 0;display:flex;align-items:start;gap:12px;flex-wrap:wrap}
.home-page .weekend-save button{min-height:44px;padding:8px 18px;font-size:.875rem;border:1px solid var(--ink);border-radius:4px;background:white;color:var(--ink);font-weight:700}
.home-page .weekend-save button[aria-pressed="true"]{background:var(--ink);color:white}
.home-page .weekend-community-link{min-height:44px;align-content:center;font-size:.875rem;text-underline-offset:4px}
.home-page .weekend-save button:disabled{opacity:.6}
.home-page .weekend-save .save-feedback{flex-basis:100%;margin:0;font-size:.875rem;line-height:1.7}
.home-page .weekend-save .save-feedback:empty{display:none}
.home-page .weekend-saved-link{font-size:.875rem;margin:16px 0}
.home-page .spot-explorer .spot-genre-links a:hover{text-decoration:underline}
.home-page .spot-explorer .spot-genre-links small{flex:none;background:none;padding:0;font-size:.875rem;color:var(--muted)}
.home-page .home-official-social{margin:0 0 32px;padding:24px 0;border-block:1px solid var(--line);border-radius:0;background:none}
.home-page .home-official-social>h2{margin:8px 0 20px}
.home-page .home-official-posts{gap:24px 36px}
.home-page .home-official-posts h3{font-size:1.125rem;font-weight:700;line-height:1.7}
.home-page .home-resources{margin:40px 0 0}
/* A large opening story gives the weekend selection a clear reading order. */
@media(min-width:1001px){
 .home-page .home-outing-desk.home-weekend-opening .home-weekend-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
 .home-page .home-outing-desk.home-weekend-opening .weekend-card[data-weekend-lead]{grid-column:1/-1;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px 40px;align-items:start}
 .home-page .home-weekend-opening .weekend-card[data-weekend-lead] .weekend-copy{grid-column:2;grid-row:1/3}
 .home-page .home-weekend-opening .weekend-card[data-weekend-lead] .photo-destination{grid-column:1;grid-row:1}
 .home-page .home-weekend-opening .weekend-card[data-weekend-lead] figcaption{grid-column:1;grid-row:2}
 .home-page .home-outing-desk.home-weekend-opening .weekend-card[data-weekend-lead] h3{font-size:2rem;line-height:1.45;margin:12px 0 16px}
 .home-page .home-outing-desk.home-weekend-opening .weekend-card[data-weekend-lead] .weekend-date time{font-size:2rem}
 .home-page .home-outing-desk.home-weekend-opening .weekend-card[data-weekend-lead] .weekend-venue-photo img{aspect-ratio:4/3}
 .home-page .home-weekend-opening .weekend-card[data-weekend-lead] .weekend-decision-facts>div{display:grid;grid-template-columns:3em minmax(0,1fr);gap:12px}
}
@media(max-width:1000px){
 .home-page .home-outing-desk .home-weekend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .home-page .magazine-opening .opening-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .home-page .magazine-opening .opening-side-stories .place-photo{display:block}
 .home-page .magazine-opening .opening-side-stories .journal-story{padding-top:12px}
 .home-page .magazine-opening .opening-side-stories .journal-summary{display:block}
 .home-page .mood-discovery{grid-template-columns:minmax(0,1fr);gap:4px}
}
@media(max-width:700px){
 .home-page .home-edition{padding:16px 0;gap:8px}
 .home-page .home-edition h1{font-size:1.5rem;margin-top:20px}
 .home-page .home-edition .edition-heading{grid-column:1/-1}
 .home-page .home-edition .opening-search-panel{grid-column:2;grid-row:1;align-self:start}
 .home-page .home-edition .journal-kicker{padding-right:110px}
 .home-page .opening-now{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:4px 0 0}
 .home-page .opening-now a:nth-child(n){justify-content:center;font-size:.875rem}
 .home-page .magazine-opening .opening-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .home-page .magazine-opening .opening-side-stories{display:contents}
 .home-page .magazine-opening .scene-0{grid-column:1/-1}
 .home-page .magazine-opening .scene-0 .scene-note{font-size:1.5rem}
 .home-page .magazine-opening .opening-side-stories .scene-note{font-size:1.125rem}
 .home-page .magazine-opening .opening-side-stories .journal-city span,.home-page .magazine-opening .opening-side-stories .journal-summary{display:block}
 .home-page .mood-discovery{margin-bottom:32px;padding:12px 0}
 .home-page .mood-links{gap:4px 16px}
 .home-page .food-feature-gateway{grid-template-columns:minmax(0,1fr);padding:20px;gap:20px;margin-bottom:40px}
 .home-page .food-feature-gateway h2{font-size:1.5rem}
 .home-page .food-gateway-photos{gap:16px}
 .home-page .home-outing-desk,.home-page .photo-discovery,.home-page .home-news-desk,.home-page .spot-explorer{margin-bottom:40px}
 .home-page .section-head h2,.home-page .home-official-social>h2{font-size:1.5rem}
 .home-page .home-outing-desk .upcoming-applications{padding:20px}
 .home-page .home-outing-desk .application-preview{grid-template-columns:minmax(0,1fr)}
 .home-page .home-outing-desk .application-preview-row{grid-template-columns:64px minmax(0,1fr);gap:12px}
 .home-page .photo-discovery .story-album{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
 .home-page .photo-discovery .discovery-story:nth-child(n) .story-kicker{font-size:1.125rem}
 .home-page .home-news-desk .recent-grid,.home-page .spot-explorer .spot-genre-groups{grid-template-columns:minmax(0,1fr)}
 .home-page .spot-explorer .spot-genre-groups{gap:24px}
 .home-page .spot-explorer .spot-genre-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .home-page .spot-explorer .spot-genre-links a{font-size:.875rem;gap:8px}
 @container weekend-choices (min-width:20rem){
  .home-page .home-outing-desk .home-weekend-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc(100% - 40px);gap:16px;overflow-x:auto;max-width:100%;min-width:0;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:4px 0 16px;scrollbar-width:thin}
  .home-page .home-outing-desk .weekend-card{scroll-snap-align:start}
  .home-page .weekend-scroll-hint{display:block;font-size:.875rem;line-height:1.7;margin:8px 0 12px;color:var(--muted)}
 }
}
@container home-entry (max-width:28rem){.home-page .opening-search{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;padding:0}.home-page .opening-search input{width:100%}.home-page .opening-search label,.home-page .opening-search input,.home-page .opening-search button{grid-column:1;grid-row:auto;min-width:0;max-width:100%;box-sizing:border-box}}
@container home-entry (max-width:20rem){.home-page .home-edition h1{margin-top:0}.home-page .home-edition .opening-search-panel{grid-column:1/-1;grid-row:2;justify-self:start}.home-page .home-edition .journal-kicker{padding-right:0}.home-page .opening-now{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container opening-stories (max-width:20rem){.home-page .magazine-opening .opening-photo-gallery{grid-template-columns:minmax(0,1fr)}.home-page .magazine-opening .opening-side-stories{display:contents}.home-page .magazine-opening .scene-0{grid-column:auto}.home-page .magazine-opening .opening-scene .place-photo{display:block}.home-page .magazine-opening .opening-side-stories .journal-summary{display:block}}
@container food-feature (max-width:15rem){.home-page .food-gateway-photos{grid-template-columns:minmax(0,1fr)}}
@container weekend-choices (max-width:20rem){.home-page .home-outing-desk .home-weekend-grid{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;scroll-snap-type:none}.home-page .weekend-scroll-hint{display:none}}
@container daily-desk (max-width:32rem){.home-page .home-outing-desk .application-preview{grid-template-columns:minmax(0,1fr)}}
@container daily-desk (max-width:15rem){.home-page .home-outing-desk .application-preview-row{grid-template-columns:minmax(0,1fr);gap:8px}}
@container home-photo-choices (max-width:20rem){.home-page .photo-discovery .story-album{grid-template-columns:minmax(0,1fr)}}
@container home-genres (max-width:20rem){.home-page .spot-explorer .spot-genre-links{grid-template-columns:minmax(0,1fr)}}
.food-feature-intro{padding:40px 0 32px}
.food-feature-intro h1{font-size:clamp(36px,6vw,76px);line-height:1.3;letter-spacing:.02em;margin:16px 0 24px;color:#254b53}
.food-feature-intro>p:last-child{font-size:1.125rem;line-height:1.9}
.food-feature-index{display:flex;flex-wrap:wrap;gap:16px 28px;padding:20px 0;border-block:1px solid var(--line)}
.food-feature-index a{display:flex;gap:12px;align-items:baseline;max-width:100%}
.food-feature-index span{color:#8b4029;font-weight:700}
.feature-history-note{margin:24px 0}
.food-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.food-feature-choice{min-width:0;scroll-margin-top:24px}
.food-feature-number{display:flex;align-items:baseline;gap:16px;margin:0 0 14px}
.food-feature-number span{font-size:2rem;color:#8b4029;font-weight:700}
.food-feature-choice .place-photo{margin:0}
.food-feature-choice .place-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#f6f4ec}
.food-feature-copy h2{font-size:1.65rem;line-height:1.55;margin:12px 0}
.food-feature-copy h3{font-size:1rem;line-height:1.7;margin:12px 0}
.food-feature-copy>p{line-height:1.85}
.food-feature-facts{margin:24px 0}
.food-feature-facts>div{border-top:1px solid var(--line);padding:14px 0}
.food-feature-facts dt{font-weight:700;font-size:.875rem;margin-bottom:6px}
.food-feature-facts dd{margin:0;line-height:1.85;overflow-wrap:anywhere}
.food-feature-detail{display:inline-block;font-weight:700;padding:12px 0}
.food-feature-footer{border-top:2px solid #335b64;margin:48px 0;padding:24px 0}
@media(max-width:900px){.food-feature-grid{grid-template-columns:minmax(0,1fr);gap:48px}.food-feature-choice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 28px}.food-feature-number{grid-column:1/-1}.food-feature-copy>p:first-child{margin-top:0}}
@media(max-width:600px){.food-feature-choice{display:block}.food-feature-gateway{display:block;margin:24px 0 32px;padding:20px 0}.feature-gateway-link{display:inline-block;white-space:normal;margin-top:12px}.food-feature-intro{padding:24px 0}.food-feature-copy h2{margin-top:24px}.food-feature-index{display:grid;gap:14px}.food-feature-grid{gap:40px}}

.food-feature-intro{padding:24px 0}.food-feature-intro h1{font-size:clamp(36px,4.4vw,56px);line-height:1.3;margin:12px 0 20px}.food-feature-intro h1 br{display:none}@media(max-width:600px){.food-feature-intro h1 br{display:initial}}


/* Conditions remain available beside the official route. */
.home-page .weekend-planning{border-top:1px solid var(--line);margin:12px 0}
.home-page .weekend-planning summary{min-height:44px;display:flex;align-items:center;font-size:1rem;font-weight:600;cursor:pointer}
.home-page .weekend-planning .weekend-decision-facts{margin:0 0 12px}
/* Equal columns and shared rows keep images, titles, and official links aligned. */
.home-page .magazine-opening .opening-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto auto auto;gap:0 28px;align-items:stretch}
.home-page .magazine-opening .opening-scene{display:grid;grid-row:span 5;grid-template-rows:subgrid}
.home-page .magazine-opening .place-photo,.home-page .magazine-opening .opening-scene figcaption,.home-page .magazine-opening .journal-story{display:contents}
.home-page .magazine-opening .journal-city{margin:12px 0 4px}
.home-page .magazine-opening .scene-note,.home-page .magazine-opening .scene-0 .scene-note,.home-page .magazine-opening .opening-side-stories .scene-note{font-size:1.25rem;line-height:1.6;margin:0 0 8px}
.home-page .magazine-opening .official-navigation{margin:0}
.home-page .magazine-opening .scene-note a{min-height:44px}
.home-page .home-outing-desk .home-weekend-grid{align-items:stretch}
.home-page .home-outing-desk .weekend-card[data-weekend-item]{align-self:stretch;grid-template-rows:auto 1fr auto}
.home-page .home-outing-desk .weekend-card h3{min-block-size:5.1em}
.home-page .home-compact-section{border-block-start:1px solid var(--line);margin:0 0 24px}
.home-page .home-compact-section>summary{font-size:1.25rem;font-weight:700;min-height:56px;padding:12px 0}
.home-page .model-course-gateway{margin:0 0 48px}
.course-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.course-card{min-width:0}.course-card .place-photo{margin:0}.course-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.course-card h3{font-size:1.25rem;line-height:1.6;margin:0;min-block-size:3.2em}.course-card h3 a{text-decoration:none}.course-meta{font-size:.875rem;color:var(--muted);margin:12px 0 4px}.course-card .photo-attribution{font-size:.875rem;margin:8px 0}.course-card summary{min-height:44px}.course-page{padding-block:24px 48px}.course-page h1{font-size:2rem;line-height:1.5}.course-detail{max-width:880px}.course-detail>.place-photo img{width:100%;height:auto;max-height:460px;object-fit:contain}.course-plan-facts{padding:20px;background:#f2f5f4;margin:24px 0}.course-steps{list-style:none;counter-reset:course;padding:0}.course-steps>li{counter-increment:course;border-top:1px solid var(--line);padding:24px 0}.course-step-slot{color:var(--accent);font-weight:650}.course-step-slot:before{content:counter(course,decimal-leading-zero) "　"}.course-steps h2{font-size:1.5rem;line-height:1.6}.course-steps a,.course-steps summary{display:inline-block;min-height:44px;align-content:center}.course-official{margin-left:20px}.course-review-alert{border:2px solid #9e401e;padding:16px}
@media(max-width:700px){.home-page .magazine-opening .opening-photo-gallery{display:block}.home-page .magazine-opening .opening-scene{display:block;margin-bottom:24px}.home-page .magazine-opening .place-photo,.home-page .magazine-opening .opening-scene figcaption,.home-page .magazine-opening .journal-story{display:block}.home-page .magazine-opening .opening-side-stories{display:contents}.home-page .home-outing-desk .weekend-card h3{min-block-size:0}.course-cards{grid-template-columns:minmax(0,1fr)}.course-card h3{min-block-size:0}}
@media(min-width:701px){.home-page .magazine-opening .opening-scene .place-photo,.home-page .magazine-opening .opening-scene .place-photo figcaption,.home-page .magazine-opening .opening-scene .journal-story{display:contents}.home-page .magazine-opening .opening-scene .photo-destination{align-self:start}}
/* A reusable calendar tile: its month/day is never split across lines. */
.date-tile{display:grid;grid-template-rows:auto auto;align-content:center;justify-items:center;gap:2px;inline-size:4.75rem;min-inline-size:4.75rem;block-size:4.75rem;box-sizing:border-box;padding:6px;border:1px solid #cbd4d1;border-top:3px solid #335e50;border-radius:4px;background:#fff;color:#293833;text-align:center;line-height:1.3;font-variant-numeric:tabular-nums}
.date-tile-number{font-size:1.375rem;font-weight:750;letter-spacing:0;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.date-tile-weekday{font-size:.875rem;font-weight:600;white-space:nowrap}
.date-tile.saturday .date-tile-weekday{color:#245d82}.date-tile.sunday .date-tile-weekday{color:#a53e24}
.home-page .home-outing-desk .weekend-heading{display:grid;grid-template-columns:4.75rem minmax(0,1fr);gap:8px 12px;align-items:center}
.home-page .home-outing-desk .weekend-heading .weekend-date{grid-column:1;grid-row:1;display:block;margin:0}
.home-page .home-outing-desk .weekend-date .date-tile{font-size:inherit;font-weight:inherit;margin:0;inline-size:4.75rem;min-inline-size:4.75rem;block-size:4.75rem}
.home-page .home-outing-desk .weekend-heading .weekend-city{grid-column:2;grid-row:1;margin:0}
.home-page .home-outing-desk .weekend-heading h3{grid-column:1/-1;grid-row:2;margin:4px 0 8px}
.home-page .home-outing-desk .application-preview-row{grid-template-columns:4.75rem minmax(0,1fr)}
.home-page .home-outing-desk .application-preview-date{gap:6px;align-items:center}
.home-page .application-preview-date small{font-size:.875rem;line-height:1.7;text-align:center}
.home-page .application-preview-time{font-size:1rem;line-height:1.7;margin:0 0 4px;font-weight:650;overflow-wrap:anywhere}
@container daily-desk (max-width:25rem){.home-page .home-outing-desk .application-preview-row{grid-template-columns:4.75rem minmax(0,1fr);gap:12px;padding:16px 0}}
.home-page .home-outing-desk .application-preview-date .date-tile .date-tile-number{font-size:1.375rem;line-height:1.3;font-weight:750}
.home-page .home-outing-desk .application-preview-date .date-tile .date-tile-weekday{font-size:.875rem;line-height:1.3;font-weight:600}
/* Course images and titles share rows so neighboring cards remain aligned. */
@media(min-width:701px){.course-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.course-card{display:grid;grid-template-rows:subgrid;grid-row:span 4}.course-card .place-photo,.course-card .place-photo figcaption{display:contents}.course-card .photo-destination{align-self:start}.course-card .course-meta{grid-row:2}.course-card h3{grid-row:3}.course-card .photo-attribution{grid-row:4}}

.course-stop-photos{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:16px 0 20px}.course-stop-photos .place-photo{margin:0}.course-stop-photos img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain;background:#f5f5f1}.course-stop-photos .photo-destination{display:block}.course-stop-photos .photo-attribution{margin-top:8px;font-size:.875rem}.course-photo-original a{color:var(--accent);font-weight:650}.course-detail .course-stop-photos a{overflow-wrap:anywhere}

/* Course overview links the photographic introduction to the exact stops. */
.course-overview{display:block;margin:24px 0;border-block:1px solid var(--line);padding:20px 0}
.course-overview h2{font-size:1.125rem;line-height:1.6;margin:0 0 12px}
.course-overview ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0}
.course-overview li{min-width:0}
.course-overview a{display:flex;gap:10px;align-items:flex-start;padding:10px 0;min-height:44px;text-decoration:none;color:var(--ink)}
.course-overview a:hover strong{text-decoration:underline;text-underline-offset:4px}
.course-overview-number{font-size:1rem;font-weight:700;color:var(--accent);line-height:1.7}
.course-overview strong{font-size:1rem;font-weight:650;line-height:1.7;overflow-wrap:anywhere}
.course-overview-stay{display:block;font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:4px}
.course-steps>li[id]{scroll-margin-top:24px}
.course-overview a:focus-visible,.course-steps>li[id]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:700px){.course-overview ol{grid-template-columns:minmax(0,1fr);gap:0}.course-overview li+li{border-top:1px solid var(--line)}.course-overview-stay{margin-top:0}.course-overview a{padding:12px 0}}

.course-transport{display:flex;gap:8px;margin:20px 0 28px;flex-wrap:wrap}.course-transport a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:80px;padding:8px 18px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:1rem}.course-transport a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:#fff}.course-transport a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Two course previews keep the homepage compact as the full catalogue grows. */
.home-course-transport{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.home-course-transport a{display:flex;align-items:center;min-height:44px;border:1px solid var(--line);padding:8px 16px;border-radius:3px;text-decoration:none;font-weight:600}
.home-course-transport a:hover{background:#f2f5f4}
.home-course-transport a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}

/* A travel journal: a wide photograph, generous title, and a continuous route. */
.course-page{--course-green:#205c4b;--course-ink:#20312c;--course-line:#dce5df;color:var(--course-ink)}
.course-detail{max-width:1120px;padding-top:24px}
.course-hero{display:flex;flex-direction:column;gap:0;margin:24px 0 40px}
.course-hero>.place-photo{order:-1;margin:0 0 28px;width:100%;min-width:0}
.course-hero img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;border-radius:12px}
.course-hero .place-photo figcaption{padding:0;border:0}.course-hero .photo-attribution{font-size:.8125rem;line-height:1.7;margin:4px 0 0;padding:0;border:0}.course-hero .photo-attribution summary{min-height:44px;padding:6px 0}
.course-hero-copy{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0 56px;width:100%}
.course-hero .eyebrow{grid-column:1/-1;margin:0 0 12px;font-size:.875rem;color:var(--course-green);font-weight:700;letter-spacing:.04em}
.course-hero h1{font-size:clamp(30px,3.5vw,44px);line-height:1.45;letter-spacing:-.015em;margin:0;grid-column:1;grid-row:2/4;text-wrap:balance}
.course-hero h1 span{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.course-intro{font-size:1rem;line-height:1.9;color:#53635b;margin:0;max-width:32em}
.course-hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0 0;font-size:.875rem;font-weight:600;color:var(--course-green)}
.course-hero-meta span{background:none;padding:0}.course-hero-meta span+span{border-left:1px solid var(--course-line);padding-left:16px}
.course-hero .course-review-alert{margin:20px 0 0}
.course-overview{margin:0;padding:24px 0;border-block:1px solid var(--course-line)}
.course-overview h2{font-size:.875rem;color:#53635b;margin:0 0 16px;font-weight:600}
.course-overview ol{gap:0}.course-overview li{position:relative;padding-right:24px}
.course-overview li:not(:last-child):after{content:"";position:absolute;left:36px;right:12px;top:18px;height:1px;background:var(--course-line);z-index:0}
.course-overview a{position:relative;z-index:1;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:0;min-height:80px;background:none;border-radius:0;align-items:start;box-sizing:border-box;height:100%}
.course-overview a>span:last-child{background:white;padding-right:8px}
.course-overview-number{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--course-green);color:white;font-size:.875rem;line-height:1}
.course-overview strong{font-size:1rem;line-height:1.65}.course-overview-stay{font-size:.8125rem;line-height:1.6;margin-top:6px;color:#53635b}
.course-plan-facts{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 24px;padding:20px 0;background:none;border-bottom:0}
.course-plan-facts>.btn{flex-shrink:0;background:var(--course-green);color:#fff;min-height:48px;padding:12px 20px;text-decoration:none;border-radius:6px;font-size:1rem}
.course-planning-details{max-width:640px;flex:1}.course-planning-details summary{min-height:48px;align-content:center;cursor:pointer;font-weight:600}.course-planning-details p{font-size:1rem;line-height:1.8}
.course-steps{margin:0}.course-steps>li{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:56px;padding:40px 0 48px;border-top:0;border-bottom:1px solid var(--course-line)}
.course-stop-heading{position:relative;padding-left:56px}.course-step-slot{font-size:.875rem;margin:0 0 12px;line-height:1.8;color:#53635b;font-weight:500}
.course-step-slot:before{position:absolute;left:0;top:0;content:counter(course,decimal-leading-zero);font-size:32px;line-height:1.2;letter-spacing:-.04em;font-weight:750;color:var(--course-green)}
.course-steps h2{font-size:1.625rem;line-height:1.6;margin:0;letter-spacing:0;text-wrap:balance}
.course-stop-body{min-width:0}.course-stop-body>p{line-height:1.9;margin:0 0 20px;font-size:1rem}
.course-stop-photos{margin:0 0 20px}.course-stop-photos img{max-height:none;aspect-ratio:4/3;object-fit:contain;border-radius:8px;background:#f6f8f7}
.course-stop-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 12px}.course-stop-actions a{display:flex;align-items:center;justify-content:center;border:1px solid var(--course-line);border-radius:6px;padding:10px 16px;min-height:48px;box-sizing:border-box;font-size:1rem;text-decoration:none}
.course-stop-actions .course-official{order:-1;margin:0;background:var(--course-green);border-color:var(--course-green);color:white;font-weight:650}
.course-stop-body>details{border-top:1px solid var(--course-line)}.course-stop-body>details>summary{font-size:.875rem;cursor:pointer;color:#53635b}
.course-stop-body .course-photo-original{background:none;padding:0 0 12px;border:0;border-bottom:1px solid var(--course-line);font-size:.875rem}
.course-photo-original a{color:var(--course-green);font-weight:600;text-underline-offset:5px}
.course-before-going{max-width:720px;margin:40px auto 0;padding:24px;background:#f5f8f6;border-radius:8px}.course-before-going h2{font-size:1.125rem;margin-top:0}.course-before-going p{font-size:1rem;line-height:1.9}.course-before-going .small{font-size:.8125rem}
.course-card .photo-destination{display:block;overflow:hidden;border-radius:8px}.course-card .photo-destination img{transition:transform .2s ease}.course-card .photo-destination:hover img{transform:scale(1.025)}
.course-card .course-meta{color:#205c4b;font-weight:650;margin-top:16px}.course-card h3{line-height:1.6}.course-card .photo-attribution{color:#53635b}
@media(prefers-reduced-motion:reduce){.course-card .photo-destination img{transition:none}.course-card .photo-destination:hover img{transform:none}}
@media(max-width:700px){
.course-detail{padding-top:16px}.course-hero{margin:16px 0 28px}.course-hero>.place-photo{margin-bottom:20px}.course-hero img{aspect-ratio:4/3;border-radius:8px}.course-hero .photo-attribution{font-size:.75rem}
.course-hero-copy{display:block}.course-hero .eyebrow{margin:0 0 10px}.course-hero h1{font-size:1.875rem;line-height:1.45;margin:0 0 14px;text-wrap:balance}.course-intro{font-size:1rem;line-height:1.85}.course-hero-meta{margin-top:16px}
.course-overview{padding:20px 0}.course-overview ol{display:block}.course-overview li{padding:0 0 16px}.course-overview li:last-child{padding-bottom:0}.course-overview li:not(:last-child):after{left:17px;top:36px;bottom:0;right:auto;height:auto;width:1px}
.course-overview a{min-height:56px;gap:12px}.course-overview-stay{margin-top:2px}.course-overview li+li{border:0}
.course-plan-facts{flex-direction:column;gap:4px;margin-bottom:8px;padding:20px 0}.course-plan-facts>.btn{width:100%;box-sizing:border-box;text-align:center}.course-planning-details{width:100%}
.course-steps>li{grid-template-columns:minmax(0,1fr);gap:20px;padding:28px 0 32px}.course-stop-heading{padding-left:48px}.course-step-slot:before{font-size:28px}.course-steps h2{font-size:1.375rem;line-height:1.6}.course-step-slot{font-size:.875rem;margin-bottom:8px}.course-stop-actions{gap:8px}.course-stop-actions a{flex:1;padding:10px 12px;font-size:.9375rem}.course-before-going{margin-top:28px;padding:20px}
}

/* Balance long place names to avoid a single trailing character on mobile. */
.spot-opening-title h1{text-wrap:balance}

.spot-heading-part{display:inline-block;white-space:nowrap}
.spot-opening-title h1:has(.spot-heading-part){text-wrap:initial}

/* Keep four mobile destinations in an even two-by-two navigation. */
@media(max-width:600px){body>header .primary-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;width:100%}body>header .primary-nav a{display:flex;align-items:center;min-height:44px;margin:0;white-space:nowrap}}

.course-weather-note{font-size:1rem;line-height:1.8;border-left:3px solid var(--course-green);padding:4px 0 4px 16px;margin:0 0 28px;max-width:52em}
.course-exhibitions{margin:0 0 24px;border-block:1px solid var(--course-line);padding:16px 0}
.course-exhibitions>p{font-size:.875rem;color:#53635b;margin:0 0 8px}
.course-exhibitions>a{display:flex;flex-direction:column;gap:4px;padding:12px 0;min-height:44px;text-decoration:none}
.course-exhibitions>a+a{border-top:1px solid var(--course-line)}
.course-exhibitions span{font-size:.875rem;color:#53635b}.course-exhibitions strong{font-size:1rem;line-height:1.7;color:var(--course-green)}
.course-exhibitions a:hover strong{text-decoration:underline;text-underline-offset:4px}

/* Home discovery: one lead photograph, paired choices, and concise dated notices. */
.home-page .seasonal-discovery{padding:24px 0;margin:28px 0 40px;border-block:1px solid var(--line);background:none;border-radius:0}
.home-page .flower-grid{gap:20px 28px}
.home-page .flower-card{padding:16px 0;background:none;border-radius:0;border-top:1px solid var(--line)}
.home-page .flower-card h3{margin:8px 0;font-size:1.125rem}
.home-page .flower-card p{margin:8px 0}
.home-page .flower-state{font-size:1.25rem;color:var(--green);margin:12px 0}
.home-page .flower-state span{margin-top:2px}
.home-page .flower-closed .flower-state{font-size:1rem}
.home-page .flower-card a{display:inline-flex;align-items:center;min-height:44px}
.home-page .archive-gateway{padding:24px 0;background:none;border-radius:0;border-inline:0}
.home-page .archive-gateway .btn{border:0;padding:8px 0;display:block;min-height:44px}
.home-page .home-outing-desk .upcoming-applications{background:none;padding:20px 0;border-block:1px solid var(--line);border-radius:0}
.home-page .home-outing-desk .application-preview-row h3{margin:4px 0}
.home-page .home-outing-desk .application-preview-row .eyebrow{letter-spacing:0;font-weight:500;line-height:1.7;margin:0}
.home-page .home-outing-desk .application-official{margin:4px 0}
.home-page .home-outing-desk .application-official a{display:inline-flex;align-items:center;min-height:44px}
.home-page .home-outing-desk .application-context summary{min-height:44px;padding:4px 0;font-size:.875rem}
@media(max-width:700px){
 .home-page .magazine-opening .opening-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:0 16px;align-items:stretch}
 .home-page .magazine-opening .opening-scene{display:grid;grid-row:span 5;grid-template-rows:subgrid;margin:0 0 24px}
 .home-page .magazine-opening .opening-side-stories{display:contents}
 .home-page .magazine-opening .scene-0{grid-column:1/-1}
 .home-page .magazine-opening .place-photo,.home-page .magazine-opening .place-photo figcaption,.home-page .magazine-opening .journal-story{display:contents}
 .home-page .magazine-opening .photo-destination{grid-row:1;align-self:start}
 .home-page .magazine-opening .journal-city{grid-row:2;margin:10px 0 4px}
 .home-page .magazine-opening .scene-note{grid-row:3;font-size:1.125rem;line-height:1.6;margin:0 0 8px}
 .home-page .magazine-opening .scene-0 .scene-note{font-size:1.25rem}
 .home-page .magazine-opening .official-navigation{grid-row:4;margin:0}
 .home-page .magazine-opening .photo-attribution{grid-row:5;margin:0}
 .home-page .magazine-opening .opening-side-stories .scene-note{font-size:1.125rem}
 .home-page .magazine-opening .opening-side-stories .journal-city span{display:block;margin-left:0}
 .home-page .magazine-opening .photo-attribution summary{font-size:.8125rem}
 .home-page .home-edition h1{margin-top:8px}.home-page .home-edition{padding-bottom:8px}
 .home-page .model-course-gateway .course-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
 .home-page .model-course-gateway .course-card{display:grid;grid-template-rows:subgrid;grid-row:span 4}
 .home-page .model-course-gateway .course-card .place-photo,.home-page .model-course-gateway .course-card .place-photo figcaption{display:contents}
 .home-page .model-course-gateway .course-card .photo-destination{grid-row:1;align-self:start}
 .home-page .model-course-gateway .course-card .course-meta{grid-row:2;font-size:.8125rem;line-height:1.7;margin:10px 0 4px}
 .home-page .model-course-gateway .course-card h3{grid-row:3;font-size:1.125rem;line-height:1.6;min-block-size:0;margin:0 0 8px}
 .home-page .model-course-gateway .course-card .photo-attribution{grid-row:4;margin:0;font-size:.8125rem}
 .home-page .food-feature-gateway{padding:20px 0;background:none;border-block:1px solid var(--line);border-radius:0}
 .home-page .food-gateway-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .food-gateway-preview{display:grid;grid-template-rows:subgrid;grid-row:span 3}
 .home-page .food-gateway-preview .place-photo,.home-page .food-gateway-preview figcaption{display:contents}
 .home-page .food-gateway-preview .photo-destination{grid-row:1}
 .home-page .food-gateway-preview h3{grid-row:2;margin:8px 0;font-size:1rem}
 .home-page .food-gateway-preview .photo-attribution{grid-row:3;margin:0}
 .home-page .home-outing-desk .application-preview-row{grid-template-columns:4.75rem minmax(0,1fr);gap:4px 12px;padding:16px 0}
 .home-page .home-outing-desk .application-preview-row>div:last-child{display:contents}
 .home-page .home-outing-desk .application-preview-date{grid-column:1;grid-row:1/3}
 .home-page .home-outing-desk .application-preview-time{grid-column:2;grid-row:1;margin:0}
 .home-page .home-outing-desk .application-preview-row .eyebrow{grid-column:2;grid-row:2}
 .home-page .home-outing-desk .application-preview-row h3{grid-column:1/-1;grid-row:3;font-size:1.0625rem;line-height:1.7;margin:12px 0 0}
 .home-page .home-outing-desk .application-occurrence{grid-column:1/-1;grid-row:4;margin:0;font-size:.875rem;line-height:1.7}.home-page .home-outing-desk .application-official{grid-column:1/-1;grid-row:5}
 .home-page .home-outing-desk .application-context{grid-column:1/-1;grid-row:6}
 .home-page .home-news-desk .recent-card{padding:16px 0}.home-page .home-news-desk h3{margin:6px 0;font-size:1.0625rem}
 .home-page .home-news-desk .recent-card>p{margin:4px 0}
 .home-page .seasonal-discovery .section-head{margin-bottom:12px}
 .home-page .flower-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .home-page .flower-card p>a{padding:0}.home-page .flower-source{margin-top:12px;line-height:1.7}
 .home-page .event-search-gateway{padding:20px 0;margin:24px 0}
 .home-page .archive-gateway h2{font-size:1.5rem;margin:4px 0}
 .home-page .archive-gateway>div>p{margin:8px 0}.home-page .archive-gateway>div:last-child{margin-top:12px}
}
@container opening-stories (max-width:18rem){.home-page .magazine-opening .opening-photo-gallery{grid-template-columns:minmax(0,1fr)}}
@container food-feature (max-width:15rem){.home-page .food-gateway-photos{grid-template-columns:minmax(0,1fr)}}

.home-page .application-preview-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.home-page .application-preview-actions .application-official{margin:0}
.home-page .application-preview-actions .application-context summary{font-size:.875rem}
.home-page .home-news-desk .recent-card:nth-child(n){padding:12px 0}
.home-page .recent-other-dates{font-size:.875rem}
.home-page .recent-other-dates summary{cursor:pointer;min-height:44px;align-content:center}
.home-page .recent-other-dates a{display:flex;align-items:center;min-height:44px}
.home-page .seasonal-discovery>.flower-closed{margin-top:16px;padding:16px 0}
.home-page .seasonal-discovery>.flower-closed .eyebrow{margin:0}
.home-page .seasonal-discovery>.flower-closed .flower-state{margin:4px 0}
.home-page .seasonal-discovery>.flower-closed .flower-state span{display:inline;margin-left:12px}
@media(max-width:700px){
.home-page .home-outing-desk .application-preview-actions{grid-column:1/-1;grid-row:5}
.home-page .home-outing-desk .application-preview-actions .application-official,.home-page .home-outing-desk .application-preview-actions .application-context{grid-column:auto;grid-row:auto}
.home-page .home-news-desk .recent-card:nth-child(n) h3{font-size:1rem}
}

/* Course reading: an opening spread and a compact, numbered itinerary. */
.course-detail{max-width:1120px;--course-green:#184f43;--course-line:#d9e1df}
.course-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:center;margin:24px 0 32px}
.course-hero-copy{display:block;min-width:0;padding:8px 0}
.course-hero .eyebrow{font-size:.875rem;letter-spacing:.06em;margin-bottom:18px}
.course-hero h1{font-size:clamp(30px,3.2vw,42px);line-height:1.45;text-wrap:initial;margin:0 0 22px;letter-spacing:-.025em}
.course-hero h1 span{display:block}
.course-intro{font-size:1rem;line-height:1.85;color:#485c56}
.course-hero-meta{margin-top:24px;font-size:.875rem;gap:12px}
.course-hero-meta span+span{padding-left:12px}
.course-hero>.place-photo{order:initial;margin:0;align-self:center}
.course-hero img{aspect-ratio:4/3;border-radius:4px;object-fit:cover}
.course-hero .photo-attribution summary{font-size:.8125rem;line-height:1.65}
.course-hero .course-review-alert{grid-column:1/-1}
.course-overview{padding:20px 0 16px;margin:0;border-top:2px solid var(--course-green);border-bottom:1px solid var(--course-line)}
.course-overview h2{font-size:1rem;color:var(--course-green);margin:0 0 16px;font-weight:700}
.course-overview ol{gap:8px 28px}
.course-overview li{padding:0;display:grid;grid-template-rows:subgrid;grid-row:span 2}
.course-overview li:not(:last-child):after{display:none}
.course-overview .course-overview-stop{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;min-height:64px;height:auto;padding:0}
.course-overview-visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.course-overview-visual.has-photo{width:88px;height:66px;border-radius:3px;background:#f3f5f4}
.course-overview-visual img{display:block;width:88px;height:66px;object-fit:contain}
.course-overview-visual .course-overview-number{width:32px;height:32px;font-size:.875rem;background:transparent;color:var(--course-green);border:1px solid var(--course-green)}
.course-overview-visual.has-photo .course-overview-number{position:absolute;top:4px;left:4px;width:24px;height:24px;font-size:.75rem;background:var(--course-green);color:white;border:0}
.course-overview .course-overview-label{padding:0;background:none}
.course-overview strong{display:block;font-size:1rem;line-height:1.65;text-wrap:balance}
.course-overview-stay{font-size:.875rem;line-height:1.7;margin-top:4px}
.course-overview-credit{min-width:0;font-size:.8125rem;line-height:1.7;margin:0;padding:0;border:0}
.course-overview-credit summary{cursor:pointer;min-height:44px;align-content:center;color:#53635b}
.course-overview .course-overview-credit a{display:inline;padding:0;height:auto;min-height:0;overflow-wrap:anywhere;color:var(--course-green)}
.course-overview-credit p{margin:8px 0}
.course-plan-facts{align-items:center;padding:16px 0;margin-bottom:8px;gap:24px}
.course-plan-facts>.btn{border-radius:4px;padding:12px 20px;min-height:48px}
.course-planning-details{flex:initial;max-width:640px;margin-left:auto}
.course-planning-details summary{font-size:.875rem;color:#485c56}
.course-steps>li{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;padding:36px 0}
.course-stop-heading{padding-left:56px}
.course-step-slot:before{font-size:30px;font-weight:600}
.course-steps h2{font-size:1.5rem;line-height:1.6;text-wrap:balance}
.course-stop-body>p{line-height:1.85}
.course-stop-actions{margin:20px 0 8px;gap:10px}
.course-stop-actions a{border-radius:4px;font-size:.9375rem}
.course-stop-body>details>summary{font-size:.875rem;min-height:44px}
.course-stop-photos img{border-radius:4px}
.course-before-going{max-width:none;background:none;border-top:2px solid var(--course-green);padding:20px 0 0;margin-top:32px;border-radius:0}
.course-before-going h2{font-size:1rem;color:var(--course-green)}
.course-before-going p{max-width:48em}
@media(max-width:900px) and (min-width:701px){.course-hero{gap:24px}.course-hero h1{font-size:30px}.course-overview ol{gap:8px 16px}.course-overview .course-overview-stop{gap:10px}.course-overview-visual.has-photo,.course-overview-visual img{width:64px;height:48px}}
@media(max-width:700px){
.course-detail{padding-top:16px}
.course-hero{grid-template-columns:minmax(0,1fr);gap:0;margin:18px 0 24px}
.course-hero-copy{display:contents}
.course-hero .eyebrow{grid-row:1;margin:0 0 12px}
.course-hero h1{grid-column:1;grid-row:2;font-size:1.875rem;line-height:1.4;margin:0 0 20px;letter-spacing:-.025em}
.course-hero h1 span{display:inline-block}
.course-hero>.place-photo{grid-row:3;margin:0 0 12px}
.course-hero img{aspect-ratio:3/2}
.course-intro{grid-row:4;margin:0;font-size:1rem;line-height:1.8}
.course-hero-meta{grid-row:5;margin:16px 0 0;font-size:.875rem;gap:12px}
.course-hero .course-review-alert{grid-row:6}
.course-overview{padding:18px 0 8px}
.course-overview ol{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.course-overview li{display:block;padding:12px 0;border-bottom:1px solid var(--course-line)}
.course-overview li:last-child{padding-bottom:8px;border-bottom:0}
.course-overview li+li{border-top:0}
.course-overview .course-overview-stop{grid-template-columns:32px minmax(0,1fr);min-height:48px;gap:16px}
.course-overview li[data-overview-photo-spot] .course-overview-stop{grid-template-columns:88px minmax(0,1fr);min-height:66px}
.course-overview-stay{margin-top:2px}
.course-plan-facts{flex-direction:column;align-items:stretch;gap:0;padding:18px 0 0;margin:0}
.course-plan-facts>.btn{width:100%;box-sizing:border-box;text-align:center}
.course-planning-details{width:100%;margin:0}
.course-steps>li{grid-template-columns:minmax(0,1fr);gap:16px;padding:28px 0}
.course-stop-heading{padding-left:48px}
.course-step-slot{margin-bottom:6px;line-height:1.75}
.course-step-slot:before{font-size:28px}
.course-steps h2{font-size:1.375rem;line-height:1.6}
.course-stop-actions a{flex:1;padding:10px 12px}
.course-before-going{margin-top:24px;padding:20px 0 0}
}

.course-stop-heading h2 span{display:inline-block;max-width:100%;overflow-wrap:anywhere}
/* Photo-led course spread: a panorama, an editorial title and a clear itinerary. */
.course-detail{--course-line:#e3e6df;--course-green:#245447}
.course-detail .breadcrumbs{font-size:.8125rem;margin-bottom:24px}
.course-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0 0 40px}
.course-hero>.place-photo{grid-column:1;grid-row:1;margin:0}
.course-hero img{width:100%;aspect-ratio:3/1;border-radius:18px;object-fit:cover}
.course-hero .photo-attribution{padding-left:4px}
.course-hero-copy{grid-column:1;grid-row:2;position:relative;z-index:1;margin:0;padding:24px 0 8px;background:#fff;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 36px}
.course-hero .eyebrow{grid-column:1/-1;background:none;padding:0;color:var(--course-green);font-size:.875rem;margin:0 0 12px;letter-spacing:.06em}
.course-hero h1{font-size:clamp(30px,3vw,42px);line-height:1.45;letter-spacing:-.035em;margin:0;grid-column:1;grid-row:2/4}
.course-hero h1 span{display:inline-block}
.course-intro{margin:0;font-size:1rem;line-height:1.9;align-self:center}
.course-hero-meta{margin:16px 0 0;gap:12px;font-size:.8125rem;color:#677269}
.course-hero-meta span,.course-hero-meta span+span{padding:0;border:0;background:none}
.course-hero .course-review-alert{grid-row:3;margin-top:16px}
.course-overview{padding:0;margin:0;background:none;border:0}
.course-overview h2{font-size:1.125rem;margin:0 0 16px}
.course-overview ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.course-overview li{display:flex;flex-direction:column;background:#f4f5ef;border-radius:12px;padding:18px;min-width:0;border:0}
.course-overview .course-overview-stop,.course-overview li[data-overview-photo-spot] .course-overview-stop{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;min-height:76px;align-items:start}
.course-overview .course-overview-number{grid-column:1;grid-row:1;width:36px;height:36px;background:white;color:var(--course-green);border:0;border-radius:50%;font-size:1rem}
.course-overview .course-overview-stop .course-overview-label{grid-column:2;grid-row:1;padding:0;background:none}
.course-overview .course-overview-visual{display:none}
.course-overview strong{font-size:1rem;line-height:1.65;text-wrap:balance}
.course-overview-stay{font-size:.8125rem;margin-top:6px;color:#647065}
.course-overview-credit{margin-top:auto}
.course-overview-credit summary{font-size:.75rem;font-weight:400;min-height:32px}
.course-plan-facts{margin:0;padding:20px 0 32px;border-bottom:1px solid var(--course-line);align-items:center}
.course-plan-facts>.btn{border-radius:8px;background:var(--course-green);color:white;border-color:var(--course-green);box-shadow:none;font-size:.9375rem}
.course-plan-facts>.btn:after{content:' ↗';margin-left:12px}
.course-planning-details summary{min-height:44px;align-content:center}
.course-steps{position:relative}
.course-steps>li{display:block;position:relative;padding:36px 0 40px;margin:0;border-bottom:1px solid var(--course-line)}
.course-stop-heading{padding-left:66px;min-height:52px;margin-bottom:22px}
.course-step-slot{margin:0 0 4px;font-size:.8125rem;line-height:1.7;color:#657368}
.course-step-slot:before{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--course-green);color:white;font-size:1.25rem;letter-spacing:0;top:3px}
.course-steps h2{font-size:1.625rem;line-height:1.55;text-wrap:initial}
.course-stop-body{margin-left:66px;display:flex;flex-direction:column;gap:16px}
.course-stop-body:has(.course-stop-photos){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}
.course-stop-info{min-width:0;max-width:48em}
.course-stop-info>p{margin:0;line-height:1.95;font-size:1rem;color:#43534c}
.course-stop-info>details{border-top:1px solid var(--course-line)}
.course-stop-info>details>summary{font-size:.875rem;color:#667368;min-height:44px;align-content:center;cursor:pointer}
.course-stop-actions{display:flex;margin:20px 0 12px;gap:10px}
.course-stop-actions a{border-radius:8px;font-size:.9375rem;padding:10px 16px;min-height:46px}
.course-stop-actions .course-official{background:var(--course-green);color:white;border-color:var(--course-green)}
.course-stop-body .course-photo-original{order:2;margin:0;padding:0;border:0;font-size:.875rem}
.course-photo-original a{font-weight:500;text-decoration:underline;text-underline-offset:4px;color:var(--course-green)}
.course-photo-original a:after{content:' ↗';margin-left:6px}
.course-stop-photos{margin:0}
.course-stop-photos img{border-radius:12px;background:#f4f5ef}
.course-before-going{background:#f4f5ef;border:0;border-radius:12px;padding:24px 28px;margin:32px 0 0}
.course-before-going h2{font-size:1.125rem}
.course-before-going p{font-size:.9375rem;line-height:1.85}
.course-overview-stop:hover strong{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.course-hero-copy{margin:0;padding:24px 0 8px;gap:0 24px}.course-hero h1{font-size:30px}.course-overview ol{gap:12px}.course-overview li{padding:14px}.course-stop-body:has(.course-stop-photos){gap:20px}}
@media(max-width:700px){
 .course-detail{padding-top:16px}
 .course-detail .breadcrumbs{margin-bottom:16px}
 .course-hero{margin:0 0 28px}
 .course-hero img{aspect-ratio:4/3;border-radius:12px}
 .course-hero-copy{display:flex;flex-direction:column;margin:0;padding:16px 0 4px;gap:0}
 .course-hero .eyebrow{margin:0 0 10px;font-size:.8125rem}
 .course-hero h1{font-size:1.75rem;line-height:1.45;margin:0 0 12px;letter-spacing:-.025em}
 .course-hero h1 span{display:inline-block}
 .course-intro{margin:0;font-size:.9375rem;line-height:1.85}
 .course-hero-meta{margin:12px 0 0;gap:10px;font-size:.8125rem}
 .course-hero .photo-attribution{padding-left:0;margin-top:8px}
 .course-overview h2{font-size:1.0625rem;margin-bottom:12px}
 .course-overview ol{grid-template-columns:minmax(0,1fr);gap:8px}
 .course-overview li{padding:14px 16px;border:0;border-radius:10px}
 .course-overview .course-overview-stop,.course-overview li[data-overview-photo-spot] .course-overview-stop{grid-template-columns:36px minmax(0,1fr);min-height:48px;gap:12px}
 .course-overview strong{font-size:.9375rem}
 .course-overview-credit{padding-left:48px}
 .course-overview-credit summary{min-height:32px}
 .course-plan-facts{padding:16px 0 12px;gap:0}
 .course-plan-facts>.btn{width:100%;text-align:center}
 .course-steps>li{padding:28px 0;margin:0}
 .course-stop-heading{padding-left:52px;min-height:44px;margin-bottom:18px}
 .course-step-slot:before{width:38px;height:38px;border-radius:10px;font-size:1rem;top:2px}
 .course-step-slot{font-size:.75rem;line-height:1.75;margin-bottom:5px}
 .course-steps h2{font-size:1.3125rem;line-height:1.55}
 .course-stop-body{margin-left:0;gap:12px}
 .course-stop-body:has(.course-stop-photos){display:flex;flex-direction:column;gap:16px}
 .course-stop-info>p{font-size:.9375rem;line-height:1.95}
 .course-stop-actions a{font-size:.875rem;flex:1;padding:10px;white-space:nowrap}
 .course-before-going{padding:20px;margin-top:24px}
}
@media(max-width:360px){.course-hero-copy{padding-inline:0}.course-hero h1{font-size:1.625rem}.course-stop-actions{gap:8px}.course-stop-actions a{font-size:.8125rem;padding-inline:8px}}
.course-overview .course-overview-stop,.course-overview li[data-overview-photo-spot] .course-overview-stop{grid-template-columns:36px minmax(0,1fr) 56px}
.course-overview .course-overview-visual.has-photo{display:flex;grid-column:3;grid-row:1;width:56px;height:56px;border-radius:8px}
.course-overview .course-overview-visual img{width:56px;height:56px;object-fit:cover}
/* Follow the trip rather than a succession of paragraphs. */
.course-endpoint{display:flex;align-items:center;gap:12px;color:var(--course-green);font-weight:700;letter-spacing:.08em;font-size:.875rem;margin:0 0 28px}
.course-endpoint span{font-weight:400;letter-spacing:0;font-size:.875rem;color:#697469}
.course-transfer{display:flex;align-items:center;gap:14px;margin:0 0 30px;padding:16px 20px;background:#f4f5ef;border-radius:10px;position:relative}
.course-transfer:before{content:'';position:absolute;left:23px;top:-28px;height:28px;border-left:2px dashed #c1ccbd}
.course-transfer svg{width:26px;height:26px;flex:none;color:var(--course-green)}
.course-transfer div{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.course-transfer strong{font-size:.9375rem}.course-transfer span{font-size:.8125rem;color:#657368}
.course-transfer a{font-size:.875rem;flex:none;min-height:44px;display:flex;align-items:center;color:var(--course-green)}
.course-step-slot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.course-stay{display:inline-block;font-size:.75rem;color:#657368;background:#f4f5ef;padding:3px 8px;border-radius:4px;white-space:nowrap}
.course-stop-info>.course-stop-lead{font-size:1.1875rem;font-weight:600;line-height:1.7;color:#243e31}
.course-stop-highlights{list-style:none;padding:0;margin:14px 0;display:flex;flex-wrap:wrap;gap:8px}
.course-stop-highlights li{margin:0;border:1px solid #dce4d7;border-radius:6px;padding:5px 10px;font-size:.875rem;line-height:1.6;color:#425544}
.course-stop-notes{margin:12px 0;border:0!important}.course-stop-notes p{font-size:.9375rem;line-height:1.9;margin:8px 0}
.course-stop-body .course-photo-original{order:initial;align-self:start;background:#f4f5ef;border-radius:8px;padding:14px 18px}
.course-goal{margin:28px 0}
@media(min-width:701px){.course-stop-body:has(.course-photo-original){display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:28px}.course-stop-body:has(.course-photo-original) .course-stop-info{grid-column:1;grid-row:1}.course-stop-body .course-photo-original{grid-column:2;grid-row:1}}
@media(max-width:700px){.course-transfer{margin-bottom:24px;padding:12px 14px;gap:10px}.course-transfer a{font-size:.8125rem}.course-transfer svg{width:24px;height:24px}.course-step-slot{gap:6px 10px}.course-stop-info>.course-stop-lead{font-size:1.0625rem}.course-stop-highlights li{font-size:.8125rem;padding:4px 8px}.course-stop-body .course-photo-original{order:2;padding:12px 14px;align-self:stretch}.course-endpoint{flex-wrap:wrap;margin-bottom:22px}}

/* Let the existing venue photograph lead each stop, including the cover venue. */
.course-stop-body:has(.course-stop-photos){grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px}
.course-stop-photos{display:grid;gap:16px}
.course-stop-photos img{width:100%;aspect-ratio:4/3;object-fit:contain}
.course-overview .course-overview-stop,.course-overview li[data-overview-photo-spot] .course-overview-stop{grid-template-columns:36px minmax(0,1fr) 88px}
.course-overview .course-overview-visual.has-photo{width:88px;height:88px}
.course-overview .course-overview-visual img{width:88px;height:88px}
.course-stop-heading{margin-bottom:20px}
@media(max-width:700px){
 .course-stop-body:has(.course-stop-photos){display:flex;gap:18px}
 .course-overview .course-overview-stop,.course-overview li[data-overview-photo-spot] .course-overview-stop{grid-template-columns:32px minmax(0,1fr) 80px;gap:10px}
 .course-overview .course-overview-visual.has-photo,.course-overview .course-overview-visual img{width:80px;height:80px}
 .course-overview li{padding:12px}
 .course-stop-info>p{font-size:1rem}
}

.course-photo-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;gap:12px;padding-bottom:8px;min-width:0;max-width:100%}
.course-photo-rail>figure{flex:0 0 92%;min-width:0;margin:0;scroll-snap-align:start}
.course-photo-rail:focus-visible{outline:2px solid var(--course-green);outline-offset:4px}
.course-stop-body:has(.course-photo-rail)>.course-photo-rail{width:100%;box-sizing:border-box}

.course-photo-select{display:flex;justify-content:center;gap:8px;margin-top:0}
.course-photo-select a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--course-line);border-radius:50%;text-decoration:none;color:var(--course-green);font-size:.875rem}
.course-photo-select a:hover,.course-photo-select a:focus-visible{background:var(--course-green);color:white}

/* A visual itinerary: equal scene panels, explicit steps, then the visit details. */
.course-overview ol{gap:28px}
.course-overview li{position:relative;padding:0;background:transparent;border-radius:0;display:grid;grid-template-rows:subgrid;grid-row:span 2}
.course-overview li:not(:last-child):after{display:block;content:'→';position:absolute;right:-23px;top:76px;color:var(--course-green);font-size:20px;background:white;width:20px;text-align:center;height:auto;left:auto;z-index:2}
.course-overview .course-overview-stop,.course-overview li[data-overview-photo-spot] .course-overview-stop{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:160px auto;gap:12px;min-height:0;align-items:start}
.course-overview .course-overview-visual,.course-overview .course-overview-visual.has-photo{display:flex;grid-column:1;grid-row:1;width:100%;height:160px;border-radius:10px;background:#f1f3e9;flex-direction:column;gap:8px}
.course-overview .course-overview-visual img{display:block;width:100%;height:160px;object-fit:cover}
.course-overview .course-overview-number{position:absolute;top:10px;left:10px;width:38px;height:38px;border-radius:50%;background:white;color:var(--course-green);border:1px solid #dce4d7;z-index:1;font-size:1rem}
.course-overview .course-overview-stop .course-overview-label{grid-column:1;grid-row:2;padding:0 4px;background:none}
.course-overview strong{font-size:1.0625rem;text-wrap:initial}
.course-overview-credit{margin:0 4px}
.course-activity-icon{width:72px;height:72px;color:var(--course-green);flex:none}
.course-visual-caption{font-size:.75rem;line-height:1.5;color:#59675c;font-weight:400}
.course-step-badge{position:absolute;top:0;left:0;width:60px;height:64px;border-radius:12px;background:var(--course-green);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.6875rem;line-height:1.2;gap:4px;letter-spacing:.08em}
.course-step-badge b{font-size:1.75rem;line-height:1;letter-spacing:0;font-weight:600}
.course-step-slot:before{content:none;display:none}
.course-stop-heading{padding-left:80px;min-height:64px;margin-bottom:24px}
.course-step-slot{font-size:.875rem;padding-top:2px}
.course-steps>li{padding:40px 0}
.course-stop-body,.course-stop-body:has(.course-photo-original),.course-stop-body:has(.course-stop-photos){margin-left:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:start}
.course-stop-body .course-stop-info,.course-stop-body:has(.course-photo-original) .course-stop-info{grid-column:2;grid-row:1}
.course-official-visual{grid-column:1;grid-row:1;background:#f1f3e9;min-height:240px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;box-sizing:border-box}
.course-official-visual .course-activity-icon{width:96px;height:96px}
.course-stop-body .course-official-visual .course-photo-original{margin:0;padding:0;background:transparent;order:initial}
.course-official-visual .course-photo-original a{min-height:44px;font-size:1rem;align-content:center;text-align:center;font-weight:600}
.course-stop-photos{grid-column:1;grid-row:1;min-width:0}
.course-stop-photos img{aspect-ratio:auto;object-fit:contain;background:transparent}
.course-stop-actions{flex-wrap:wrap}
.course-stop-actions a{white-space:normal}
@media(max-width:700px){
 .course-overview ol{grid-template-columns:minmax(0,1fr);gap:20px}
 .course-overview li{display:block;padding:0;border:0}
 .course-overview .course-overview-stop,.course-overview li[data-overview-photo-spot] .course-overview-stop{grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto;gap:16px;align-items:center}
 .course-overview .course-overview-visual,.course-overview .course-overview-visual.has-photo,.course-overview .course-overview-visual img{width:120px;height:104px}
 .course-overview .course-overview-stop .course-overview-label{grid-column:2;grid-row:1;padding:0}
 .course-overview .course-overview-number{top:6px;left:6px;width:28px;height:28px;font-size:.8125rem}
 .course-overview .course-activity-icon{width:56px;height:56px}
 .course-overview .course-visual-caption{font-size:.6875rem}
 .course-overview li:not(:last-child):after{content:'↓';left:51px;top:auto;bottom:-23px;right:auto;background:white;font-size:18px}
 .course-overview-credit{margin-left:136px}
 .course-overview-credit summary{min-height:44px}
 .course-stop-heading{padding-left:66px;min-height:58px}
 .course-step-badge{width:50px;height:58px;border-radius:10px}
 .course-step-badge b{font-size:1.5rem}
 .course-steps>li{padding:28px 0}
 .course-stop-body,.course-stop-body:has(.course-photo-original),.course-stop-body:has(.course-stop-photos){display:flex;flex-direction:column;gap:20px}
 .course-stop-body>*{width:100%;box-sizing:border-box}
 .course-official-visual{min-height:180px;padding:20px}
 .course-official-visual .course-activity-icon{width:72px;height:72px}
 .course-stop-actions a{font-size:.875rem;white-space:normal}
}
@media(max-width:360px){
 .course-overview .course-overview-stop,.course-overview li[data-overview-photo-spot] .course-overview-stop{grid-template-columns:96px minmax(0,1fr);gap:12px}
 .course-overview .course-overview-visual,.course-overview .course-overview-visual.has-photo,.course-overview .course-overview-visual img{width:96px;height:104px}
 .course-overview-credit{margin-left:108px}
 .course-overview li:not(:last-child):after{left:39px}
}
.course-stop-body .course-official-visual .course-photo-original{text-align:center;align-self:center;grid-column:auto;grid-row:auto}
@media(max-width:700px){.course-overview-credit{margin:0}.course-overview-credit summary{white-space:nowrap;font-size:.75rem}}

/* Let readers see the complete itinerary before reading the visit notes. */
.course-detail .course-hero{margin:0 0 28px}
.course-detail .course-hero-copy{display:block;padding:0;grid-row:1}
.course-detail .course-hero-meta{margin:12px 0 0}
.course-about{margin:20px 0 0;border-top:1px solid var(--course-line);padding:4px 0}
.course-about summary{min-height:44px;align-content:center;font-size:.875rem;color:var(--course-green)}
.course-about .course-intro{margin:8px 0 16px;max-width:60ch}
.course-detail .course-plan-facts{margin:16px 0 24px}
.course-detail .course-overview strong{display:block}
.course-detail .course-stop-heading{margin-bottom:20px}
.course-detail .course-stop-body:has(.course-stop-photos){grid-template-columns:minmax(0,1fr)}
.course-detail .course-stop-body:has(.course-stop-photos) .course-stop-info{grid-column:1;grid-row:2}
.course-detail .course-stop-photos img{max-height:540px;width:100%;object-fit:contain}
.course-detail .course-stop-photos .photo-attribution{margin-bottom:0}
@media(max-width:700px){
 .course-detail .breadcrumbs{margin-bottom:20px}
 .course-detail .course-hero{margin-bottom:24px}
 .course-detail .course-hero-copy{padding:0}
 .course-detail .course-hero h1{font-size:1.75rem;line-height:1.5}
 .course-detail .course-overview ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
 .course-detail .course-overview li{display:grid;grid-template-rows:subgrid;grid-row:span 2;min-width:0}
 .course-detail .course-overview .course-overview-stop,.course-detail .course-overview li[data-overview-photo-spot] .course-overview-stop{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:104px auto;gap:10px;padding:0;align-items:start}
 .course-detail .course-overview .course-overview-visual,.course-detail .course-overview .course-overview-visual.has-photo,.course-detail .course-overview .course-overview-visual img{width:100%;height:104px;border-radius:8px}
 .course-detail .course-overview .course-overview-stop .course-overview-label{grid-column:1;grid-row:2;padding:0}
 .course-detail .course-overview strong{font-size:.8125rem;line-height:1.65;text-wrap:initial;overflow-wrap:anywhere}
 .course-detail .course-overview-stay{font-size:.75rem;line-height:1.6;margin-top:5px}
 .course-detail .course-overview li:not(:last-child):after{content:'→';left:auto;right:-14px;top:42px;bottom:auto;width:14px;font-size:14px;background:white}
 .course-detail .course-overview-credit{margin:0}
 .course-detail .course-overview-credit summary{white-space:normal;font-size:.6875rem;line-height:1.7;min-height:44px}
 .course-detail .course-overview .course-activity-icon{width:44px;height:44px}
 .course-detail .course-overview .course-visual-caption{font-size:.625rem}
 .course-detail .course-stop-body:has(.course-stop-photos){display:flex;gap:16px}
 .course-detail .course-stop-lead{margin:0 0 12px}
}

@media(max-width:700px){.course-detail .course-overview strong{font-size:.875rem}.course-detail .course-overview-credit summary{white-space:nowrap;padding-inline:0;letter-spacing:0}}

/* Follow the route as a single visual sequence; photos carry the scene. */
.course-detail .course-steps{padding-left:24px;border-left:2px solid #d4ded4;margin-left:24px}
.course-detail .course-steps>li{border-bottom:0;padding:16px 0 36px}
.course-detail .course-stop-heading{padding-left:0;margin-bottom:18px;min-height:0}
.course-detail .course-step-badge{left:-49px;top:0;width:46px;height:54px;border-radius:7px;font-size:.625rem;border:5px solid white;box-sizing:content-box}
.course-detail .course-step-badge b{font-size:1.4rem}
.course-detail .course-step-slot{font-size:.8125rem;gap:6px;margin:0 0 8px}
.course-detail .course-stay{background:transparent;padding:0;color:var(--muted);border:0;font-weight:400}
.course-detail .course-stop-body{display:flex;flex-direction:column;gap:14px}
.course-detail .course-stop-body>*{width:100%;min-width:0;box-sizing:border-box}
.course-detail .course-official-visual{min-height:0;display:block;padding:0;background:none;border-radius:0;order:2}
.course-detail .course-official-visual .course-photo-original{border-top:1px solid var(--course-line);padding-top:6px;text-align:left}
.course-detail .course-official-visual .course-photo-original a{font-size:.875rem;text-align:left;font-weight:400}
.course-detail .course-stop-lead{font-size:1rem;color:var(--muted);margin:0 0 12px}
.course-detail .course-stop-highlights{gap:8px;margin:0 0 16px}
.course-detail .course-stop-highlights li{background:#f2f4ef;border:0;border-radius:4px;font-size:.8125rem}
.course-detail .course-stop-actions{margin:0;gap:10px}
.course-detail .course-stop-notes{border-top:1px solid var(--course-line);margin-top:12px}
.course-detail .course-stop-notes summary{font-size:.875rem;color:var(--muted);min-height:44px}
.course-detail .course-transfer{margin:0 0 26px;padding:12px 0;background:none;border:0;border-radius:0;color:var(--muted)}
.course-detail .course-transfer svg{width:24px;height:24px}
.course-detail .course-transfer strong{font-size:.8125rem;font-weight:500}
.course-detail .course-transfer span{display:none}
.course-detail .course-transfer a{margin-left:auto;font-size:.8125rem}
.course-detail .course-endpoint{margin:0 0 20px;padding:0;border:0;background:none;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}
.course-detail .course-goal{margin:0 0 24px 48px}
.course-detail .course-stop-photos img{max-height:520px;object-fit:cover;aspect-ratio:3/2}
.course-detail .course-stop-photos .photo-attribution{font-size:.75rem}
@media(max-width:700px){
 .course-detail .course-hero{margin-bottom:20px}
 .course-detail .course-hero-meta{display:none}
 .course-detail .course-overview h2{font-size:1rem;margin-bottom:14px}
 .course-detail .course-overview-stay{display:none}
 .course-detail .course-overview-credit summary{min-height:32px}
 .course-detail .course-overview li{grid-row:span 2}
 .course-detail .course-steps{margin-left:16px;padding-left:22px}
 .course-detail .course-step-badge{left:-44px;width:34px;height:44px;border-width:4px;font-size:.5rem}
 .course-detail .course-step-badge b{font-size:1.1rem}
 .course-detail .course-steps h2{font-size:1.25rem;line-height:1.55}
 .course-detail .course-step-slot{font-size:.75rem;line-height:1.6}
 .course-detail .course-steps>li{padding:12px 0 28px}
 .course-detail .course-stop-body:has(.course-stop-photos){gap:12px}
 .course-detail .course-stop-actions a{flex:1;padding:8px;font-size:.8125rem}
 .course-detail .course-official-visual .course-photo-original a{font-size:.8125rem}
 .course-detail .course-stop-highlights li{font-size:.75rem;padding:4px 7px}
 .course-detail .course-stop-photos img{max-height:340px;aspect-ratio:4/3}
}

/* Collapsed photo credits occupy one quiet line; expanded rights remain readable. */
body .place-photo figcaption details.photo-attribution:not([open]),
body .course-overview details.course-overview-credit:not([open]),
body .place-photo figcaption details.photo-context:not([open]){margin:3px 0 0;padding:0;border:0;min-height:0}
body .place-photo figcaption details.photo-attribution:not([open])>summary,
body .course-overview details.course-overview-credit:not([open])>summary,
body .place-photo figcaption details.photo-context:not([open])>summary{display:list-item;min-height:24px;padding:0;font-size:.75rem;line-height:24px;font-weight:400;color:var(--muted);letter-spacing:0;cursor:pointer}
body .place-photo figcaption:has(>.photo-attribution:only-child):not(:has(>.photo-attribution[open])){padding:4px 0}
body .place-photo figcaption details.photo-attribution[open]{margin:6px 0 0;padding:8px 0;border-top:1px solid var(--line);font-size:.875rem;line-height:1.8}
body .place-photo figcaption details.photo-attribution[open]>summary{min-height:32px;padding:2px 0;font-size:.8125rem;line-height:1.7}

/* Place discovery continues the homepage's type, palette and photograph rhythm. */
.guide-directory,.guide-detail{--ink:#19384b;--muted:#52636b;--green:#255d65;--accent:#a24622;--line:#dce3e6}
.guide-directory h1{font-size:clamp(1.75rem,3.6vw,2.75rem);line-height:1.45;letter-spacing:.015em}
.guide-directory .directory-search{background:#edf5fa;border:0;border-radius:4px;padding:24px;margin:24px 0 32px}
.guide-directory .directory-search input,.guide-directory .directory-search select{border-color:#80939e;border-radius:4px}
.guide-directory .directory-search button{background:#19384b;color:#fff;border-color:#19384b;border-radius:4px;padding:10px 16px}
.guide-directory .directory-search button:hover{background:#255d65}
.guide-directory .spot-grid{gap:36px 28px}
.guide-directory .spot-card-photo img{border-radius:4px;aspect-ratio:3/2}
.guide-directory .spot-card h3{font-size:1.375rem;line-height:1.6;margin:4px 0 12px}
.guide-directory .spot-card h3 a{color:var(--ink)}
.guide-directory .spot-card>.eyebrow{font-weight:400;color:var(--muted)}
.guide-directory .spot-card>.tags .tag{background:#edf5fa;color:var(--ink);padding:3px 8px;font-size:.875rem;border:0;border-radius:3px}
.guide-directory .directory-view-order{padding:8px 0 16px;margin-bottom:24px}
.guide-directory .directory-view-order nav a[aria-current]{border-color:#a24622}
.guide-directory .spot-card .spot-more{color:var(--ink);font-size:1rem;text-decoration:underline;text-underline-offset:4px}
.guide-directory .spot-card .official-navigation{border:0;background:none;padding:0;margin:4px 0 0}
.guide-directory .spot-card .official-navigation .btn{color:var(--green);font-weight:600}
.guide-detail .spot-opening{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:28px 36px;align-items:start;margin:24px 0 32px}
.guide-detail .spot-opening-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 32px;align-items:start;margin:24px 0;grid-column:1/-1;grid-row:1;min-width:0}
.guide-detail .spot-opening .spot-opening-heading{margin:0}
.guide-detail .spot-opening-heading>.spot-availability,.guide-detail .spot-opening-heading>.notice{grid-column:1/-1;margin:0}
.guide-detail .spot-opening-title{min-width:0}
.guide-detail .spot-opening-heading .eyebrow{font-size:.875rem;font-weight:400;color:var(--muted);margin:0 0 8px}
.guide-detail .spot-opening-heading h1{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.5;margin:0;letter-spacing:0}
.guide-detail .spot-primary-route{min-width:0;max-width:24rem}
.guide-detail .spot-primary-route .official-navigation{margin:0;padding:0;border:0;background:none}
.guide-detail .spot-primary-route .official-navigation .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;background:#19384b;color:white;border:0;border-radius:4px;line-height:1.7;padding:12px 20px;max-width:100%;box-sizing:border-box;white-space:normal;text-align:left}
.guide-detail .spot-primary-route .official-navigation .btn:hover{background:#255d65}
.guide-detail .spot-primary-route .official-navigation .small{font-size:.875rem;margin:8px 0;overflow-wrap:anywhere}
.guide-detail .spot-primary-route .spot-checked{font-size:.875rem;line-height:1.75;margin:4px 0;color:var(--muted)}
.guide-detail .spot-opening-visual{grid-column:1;grid-row:2;min-width:0}
.guide-detail .spot-opening-copy{grid-column:2;grid-row:2;min-width:0}
.guide-detail .spot-opening-visual .place-photo{margin:0}
.guide-detail .spot-opening-visual .place-photo img{width:100%;height:auto;max-height:640px;object-fit:contain;border-radius:4px}
.guide-detail .spot-opening-visual .detail-capture{font-size:.875rem;margin:0 0 10px;line-height:1.75}
.guide-detail .spot-opening-visual figcaption{font-size:.875rem;padding-top:12px;line-height:1.75}
.guide-detail .spot-opening-copy .spot-introduction{font-size:1.125rem;line-height:1.85;margin:0 0 24px}
.guide-detail .detail-section-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0 0 20px;padding:0;border-top:2px solid var(--ink);border-bottom:0}
.guide-detail .detail-section-nav a{display:block;min-height:48px;align-content:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.75;text-decoration:none;color:var(--ink);box-sizing:border-box}
.guide-detail .detail-section-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.guide-detail .spot-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding:16px 0;margin:16px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.guide-detail #visit-facts{margin:40px 0;padding-top:24px;border-top:2px solid var(--ink);scroll-margin-top:24px}
.guide-detail #visit-facts>h2{font-size:1.75rem;line-height:1.5;margin:0 0 20px}
.guide-detail #visit-facts .facts{display:block;margin:0}
.guide-detail #visit-facts .facts>div{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:20px;padding:16px 0;border-top:1px solid var(--line);background:transparent;min-width:0}
.guide-detail #visit-facts dt{font-size:1rem;line-height:1.75;color:var(--ink);font-weight:600;padding:0}
.guide-detail #visit-facts dd{font-size:1rem;line-height:1.85;margin:0;padding:0;overflow-wrap:anywhere}
.guide-detail #official-media{background:transparent;border:0;border-top:2px solid var(--ink);border-radius:0;padding:24px 0;margin:32px 0}
.guide-detail #official-media>h2{font-size:1.5rem;line-height:1.6;margin:0 0 16px}
.guide-detail .spot-detail-notes,.guide-detail .spot-facilities{margin:32px 0;padding:24px 0;border-top:1px solid var(--line);scroll-margin-top:24px}
.guide-detail .spot-detail-notes h2,.guide-detail .spot-facilities h2{font-size:1.5rem;line-height:1.6;margin:0 0 16px}
.guide-detail .spot-detail-notes p,.guide-detail .spot-facilities dd{font-size:1rem;line-height:1.85;overflow-wrap:anywhere}
.guide-detail .spot-detail-notes p{margin:12px 0}
.guide-detail .spot-facilities dl>div{padding:16px 0;border-bottom:1px solid var(--line)}
.guide-detail .spot-facilities dt{font-weight:600;font-size:1rem}
.guide-detail .spot-facilities dd{margin:0}
.guide-detail .spot-facilities-pending{padding:0}
.guide-detail .spot-facilities-pending summary{padding:14px 0;min-height:48px;box-sizing:border-box;font-size:1rem;color:var(--muted)}
.guide-detail .nearby-places{border-top:2px solid var(--ink)}
@media(max-width:1000px){.guide-detail .spot-opening-heading{grid-template-columns:minmax(0,1fr)}.guide-detail .spot-primary-route{max-width:100%}.guide-detail .spot-primary-route .spot-checked br{display:none}.guide-detail .spot-primary-route .spot-checked time:first-child{margin-right:16px}}
@media(max-width:800px){
 .guide-detail .spot-opening{grid-template-columns:minmax(0,1fr);gap:20px;margin:24px 0}
 .guide-detail .spot-opening-heading,.guide-detail .spot-opening-visual,.guide-detail .spot-opening-copy{grid-column:1;grid-row:auto}
 .guide-detail .spot-opening-heading{gap:16px;margin:20px 0}
 .guide-detail .spot-opening-heading h1{font-size:1.75rem;line-height:1.55}
 .guide-detail .spot-opening-copy .spot-introduction{font-size:1rem;margin-bottom:20px}
 .guide-detail .spot-primary-route .official-navigation .btn{padding:10px 16px;min-height:48px}
 .guide-detail .detail-section-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .guide-detail .detail-section-nav a{font-size:.875rem}
 .guide-detail #visit-facts{margin:32px 0;padding-top:20px}
 .guide-detail #visit-facts>h2{font-size:1.5rem}
 .guide-detail #visit-facts .facts>div{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 0}
 .guide-detail #visit-facts dt{font-size:.875rem;color:var(--muted)}
}
@media(max-width:600px){
 .guide-directory .directory-search{padding:20px;margin:20px 0 24px}
 .guide-directory .spot-grid{gap:28px}
 .guide-directory .spot-card h3{font-size:1.25rem}
 .guide-detail .spot-primary-route .spot-checked br{display:block}
}
.guide-detail{container-type:inline-size;container-name:place-detail}
@container place-detail (max-width:20rem){.guide-detail .detail-section-nav{grid-template-columns:minmax(0,1fr)}}
/* Photo browsing shows the whole photograph, with readable destinations and in-place credits. */
.photo-page .photo-masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;align-items:start}
.photo-page .photo-masonry .gallery-place{min-width:0;border:0;padding:0;background:transparent}
.photo-page .photo-masonry .place-photo .photo-destination{display:block;overflow:hidden;border-radius:5px}
.photo-page .photo-masonry .place-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f5f2eb;border-radius:5px}
.photo-page .gallery-photo-city{font-size:.875rem;line-height:1.6;color:#155d88;margin:0 0 4px}
.photo-page .gallery-place .place-photo figcaption>strong a{font-size:1rem;line-height:1.6;text-decoration:none}
.photo-page .gallery-place .place-photo figcaption>strong a:hover{text-decoration:underline;text-underline-offset:4px}
.photo-page .gallery-place .photo-attribution>summary{font-size:.8125rem;line-height:1.7;padding:6px 0;color:var(--muted)}
.photo-page .gallery-place .gallery-contribute{font-size:.875rem;border-top:1px solid var(--line);padding-top:8px;margin:8px 0 0;line-height:1.7}
.photo-page .photo-order-note{font-size:.875rem;color:var(--muted);margin:0 0 16px}
.photo-page .photo-filter-drawer{background:transparent;border:0;padding:0;margin:0}
.photo-page .photo-scene-tabs a{border:0;background:#eaf3f8;border-radius:4px;min-height:44px}
.photo-page .photo-scene-tabs a[aria-current]{background:#19384b;color:white}
.photo-page .gallery-source-nav{border-bottom:1px solid var(--line);gap:16px;padding-bottom:10px;margin:8px 0}
.photo-page .gallery-source-nav a{background:transparent;border:0;border-radius:0;font-size:.875rem;padding:8px 0;min-height:44px}
.photo-page .gallery-source-nav a[aria-current]{background:transparent;color:var(--ink);border-bottom:2px solid #19384b}
.photo-page .photo-intro-note{font-size:.875rem;font-weight:400;margin:12px 0 20px}
@media(max-width:1000px){.photo-page .photo-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media(max-width:700px){
 .wrap.directory.photo-page{padding-top:20px}
 .photo-page .calendar-tabs{margin:0 0 12px;padding:0}
 .photo-page .photo-discovery-heading{margin-bottom:12px}
 .photo-page .photo-intro-note{margin:8px 0 12px}
 .photo-page #photo-results .section-head{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 8px}
 .photo-page #photo-results .section-head h2{font-size:1rem;line-height:1.65;margin:0}
 .photo-page #photo-results .section-head a{font-size:.875rem;min-height:44px;padding:8px 0}
 .photo-page #photo-results>.small{margin:4px 0 8px}
 .photo-page .photo-order-note{margin-bottom:12px}
 .photo-page .photo-masonry{grid-template-columns:minmax(0,1fr);gap:32px}
 .photo-page .photo-masonry .place-photo img{aspect-ratio:auto;background:transparent}
 .photo-page .photo-masonry:not(.single-photo)>.gallery-place:first-child{grid-column:auto}
 .photo-page .gallery-source-nav{gap:8px 16px;flex-wrap:wrap}
 .photo-page .photo-order-note span{display:block}
 .photo-page .gallery-place .place-photo figcaption>strong a{font-size:1.125rem}
}
@container photo-gallery (max-width:20rem){.photo-page .photo-masonry{grid-template-columns:minmax(0,1fr)}}

/* Keep the common reading note beside the gallery, with original dates on each photo. */
.photo-page .photo-reading-note{margin:0 0 12px;padding:0;border:0;color:var(--muted)}
.photo-page .photo-reading-note>summary{min-height:44px;align-content:center;padding:6px 0;font-size:.875rem;line-height:1.7;cursor:pointer}
.photo-page .photo-reading-note[open]{padding-bottom:12px;border-bottom:1px solid var(--line)}
.photo-page .photo-reading-note .photo-intro-note,.photo-page .photo-reading-note .photo-order-note{margin:8px 0;font-size:.875rem;line-height:1.8}

/* An event opens with its actual date, a historical venue view and the official route. */
.event-detail .event-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 36px;align-items:start;margin:20px 0 28px}
.event-opening-heading{grid-column:2;grid-row:1;min-width:0}
.event-opening-heading>.eyebrow{margin:0 0 8px;font-size:.875rem}
.event-opening-heading>.event-period{font-size:1rem;font-weight:700;line-height:1.7;margin:0 0 12px}
.event-opening-heading>.event-period span{font-weight:400;font-size:.875rem}
.event-opening-heading h1{font-size:clamp(1.625rem,2.5vw,2.125rem);line-height:1.5;letter-spacing:0;margin:0}
.event-opening-visual{grid-column:1;grid-row:1/span 2;min-width:0}
.event-opening-visual .place-photo{margin:0}
.event-opening-visual .photo-destination{display:block}
.event-opening-visual .place-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:0}
.event-opening-visual .place-photo figcaption{padding:0}
.event-opening-visual .photo-context{margin:0;border:0}
.event-opening-visual .photo-context>summary{padding:8px 0;min-height:44px;font-size:.875rem;line-height:1.7}
.event-venue-label,.event-venue-context{font-size:.875rem;line-height:1.7;color:var(--muted);margin:0 0 8px}
.event-venue-context{margin:0}
.event-opening-copy{grid-column:2;grid-row:2;min-width:0}
.event-opening-copy>p{font-size:1rem;line-height:1.9;margin:0 0 20px}
.event-opening-copy .official-navigation{background:transparent;padding:0;border:0;margin:16px 0}
.event-opening-copy .official-navigation .btn{min-height:48px;font-size:1rem}
@media(max-width:700px){
 .event-detail .event-opening{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:16px}
 .event-opening-heading,.event-opening-visual,.event-opening-copy{grid-column:1;grid-row:auto}
 .event-opening-heading h1{font-size:1.625rem}
 .event-opening-heading>.event-period{margin-bottom:8px}
 .event-opening-visual .event-venue-context{margin-top:0}
 .event-opening-copy>p{margin-bottom:16px}
}
@container place-detail (max-width:36rem){
 .event-detail .event-opening{grid-template-columns:minmax(0,1fr)}
 .event-opening-heading,.event-opening-visual,.event-opening-copy{grid-column:1;grid-row:auto}
}

/* Event results emphasize comparison; full conditions remain in a native disclosure. */
.events-page{--ink:#19384b;--muted:#52636b;--green:#255d65;--line:#dce3e6;container-type:inline-size;container-name:event-results}
.events-page #cards{gap:0}
.events-page #cards .card{border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none}
.events-page #cards.list-view .card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:24px;padding:24px 0}
.events-page #cards.list-view .card[data-venue-photo]{grid-template-columns:100px 160px minmax(0,1fr)}
.events-page #cards.list-view .card-top{grid-column:1;grid-row:1;background:transparent;border:0;padding:0;gap:12px;min-width:0}
.events-page #cards .date{font-size:1.5rem;line-height:1.5;color:var(--ink)}
.events-page #cards .date small{font-size:.875rem;line-height:1.7;font-weight:500}
.events-page #cards .card-schedule-note{display:block;font-size:.875rem;font-weight:500;line-height:1.7;color:var(--green);margin-top:8px}
.events-page #cards .type{font-size:.875rem;line-height:1.7;color:var(--muted)}
.events-page #cards.list-view .card-body{grid-column:2;grid-row:1;padding:0;min-width:0}
.events-page #cards.list-view .card[data-venue-photo] .card-body{grid-column:3}
.events-page #cards.list-view .event-card-media{grid-column:2;grid-row:1;min-width:0}
.events-page #cards .event-card-media .place-photo{margin:0}
.events-page #cards .event-card-media .photo-destination{display:block}
.events-page #cards .event-card-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.events-page #cards .event-card-media figcaption{padding:0}
.events-page #cards .event-card-media .photo-context{margin:0;border:0}
.events-page #cards .event-card-media .photo-context>summary{font-size:.875rem;line-height:1.7;min-height:44px;padding:6px 0}
.events-page #cards .event-card-photo-context{font-size:.875rem;line-height:1.7;color:var(--muted);margin:4px 0}
.events-page #cards .tags{margin:0 0 8px}
.events-page #cards .tag{background:#edf5fa;font-size:.875rem;padding:3px 8px}
.events-page #cards h3{font-size:1.25rem;line-height:1.65;margin:0 0 10px}
.events-page #cards h3 a{text-decoration:none}
.events-page #cards h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.events-page #cards .event-card-summary{font-size:1rem;line-height:1.8;margin:0 0 8px}
.events-page #cards .card-place{font-size:.875rem;margin:8px 0}
.events-page #cards .official-navigation{margin:8px 0;background:transparent;padding:0;border:0}
.events-page #cards .official-navigation .btn{font-size:.875rem;min-height:44px;padding:6px 0;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px}
.events-page #cards .event-card-conditions{border:0;margin:4px 0}
.events-page #cards .event-card-conditions>summary{font-size:.875rem;line-height:1.7;min-height:44px;align-content:center;cursor:pointer;padding:6px 0}
.events-page #cards .event-card-conditions .facts{display:block;background:transparent;margin:12px 0 20px}
.events-page #cards .event-card-conditions .facts>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.events-page #cards .event-card-conditions .facts dt,.events-page #cards .event-card-conditions .facts dd{font-size:1rem;line-height:1.8;margin:0}
.events-page #cards .card-body>small{font-size:.875rem;color:var(--muted);display:block;margin:4px 0 8px}
.events-page #cards .card-foot{padding:4px 0 0;gap:16px;align-items:center}
.events-page #cards:not(.list-view){grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.events-page #cards:not(.list-view) .card{display:flex;flex-direction:column;padding:0 0 24px}
.events-page #cards:not(.list-view) .card-top{background:transparent;border:0;padding:20px 0 12px;gap:16px}
.events-page #cards:not(.list-view) .card-body{padding:0}
.events-page #cards:not(.list-view) .event-card-media{width:160px}
@media(max-width:700px){
 .events-page #cards.list-view .card{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px 0}
 .events-page #cards.list-view .card[data-venue-photo]{grid-template-columns:104px minmax(0,1fr);gap:12px 16px}
 .events-page #cards.list-view .card-top{grid-column:1/-1;grid-row:1;flex-direction:row;justify-content:space-between;gap:16px}
 .events-page #cards.list-view .event-card-media{grid-column:1;grid-row:2}
 .events-page #cards.list-view .card-body{grid-column:1;grid-row:2}
 .events-page #cards.list-view .card[data-venue-photo] .card-body{grid-column:2;grid-row:2}
 .events-page #cards .date{font-size:1.25rem}
 .events-page #cards .date br{display:none}
 .events-page #cards .date small{margin-left:8px}
 .events-page #cards h3{font-size:1.125rem}
 .events-page #cards:not(.list-view){grid-template-columns:minmax(0,1fr)}
 .events-page #cards .event-card-conditions .facts>div{grid-template-columns:minmax(0,1fr);gap:4px}
}
@container event-results (max-width:20rem){
 .events-page #cards.list-view .card[data-venue-photo]{grid-template-columns:minmax(0,1fr)}
 .events-page #cards.list-view .card[data-venue-photo] .event-card-media{grid-column:1;grid-row:2;width:min(160px,100%)}
 .events-page #cards.list-view .card[data-venue-photo] .card-body{grid-column:1;grid-row:3}
}

.events-page #cards .event-card-conditions{padding:0}
.events-page #cards .event-card-conditions>small{display:block;font-size:.875rem;line-height:1.7;margin:8px 0}
.events-page #cards .card-foot{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 24px}
.events-page #cards .card-foot .official-navigation{margin:0}
.events-page #cards .card-foot>a{min-height:44px;align-content:center;font-size:.875rem}
.events-page #cards .card-foot button{margin-left:auto;min-height:44px}
.events-page #cards .card-state{display:inline;color:#8a4223;font-weight:600}

.events-page #browse>.section-head{margin:16px 0 12px}
.events-page #browse>.section-head h2{font-size:1.25rem;line-height:1.6;margin:0}
.events-page .filters{background:#edf5fa;border:0;border-radius:0;padding:16px 20px}
.events-page .filters .filter-row{margin:8px 0}
.events-page .filters .home-search{margin:12px 0}
.events-page .filters .event-location-filter,.events-page .filters .search-notes,.events-page .filters .home-search>details{margin:0;padding:0;border:0}
.events-page .filters details>summary{min-height:44px;align-content:center;padding:6px 0;font-size:.875rem;line-height:1.7}
.events-page .filters .event-location-filter[open]{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}
.events-page .filters #filter-context{margin:8px 0 0;font-size:.875rem;line-height:1.7}
@media(max-width:700px){
 .events-page .filters{padding:12px 16px}
 .events-page #cards.list-view .card[data-venue-photo] .card-body{display:contents}
 .events-page #cards.list-view .card[data-venue-photo] .card-body>*{grid-column:1/-1;grid-row:auto}
 .events-page #cards.list-view .card[data-venue-photo] .event-card-media{grid-row:2/span 2}
 .events-page #cards.list-view .card[data-venue-photo] .card-body>.tags{grid-column:2;grid-row:2;margin:0;align-self:start}
 .events-page #cards.list-view .card[data-venue-photo] .card-body>h3{grid-column:2;grid-row:3;margin:0;align-self:start}
}
@container event-results (max-width:20rem){
 .events-page #cards.list-view .card[data-venue-photo] .card-body{display:block;grid-column:1;grid-row:3}
 .events-page #cards.list-view .card[data-venue-photo] .event-card-media{grid-column:1;grid-row:2}
}

@media(max-width:700px){.events-page #cards:not(.list-view) .event-card-media{width:104px}}

@media(max-width:700px){
 .events-page #cards.list-view .card[data-venue-photo] .event-card-media{grid-row:2}
 .events-page #cards.list-view .card[data-venue-photo] .event-card-heading{grid-column:2;grid-row:2;align-self:start}
}

/* Exact culinary/indoor galleries are reachable without a detail-page detour. */
.guide-directory .spot-card-official-photos{display:flex;flex-wrap:wrap;gap:4px 16px;margin:12px 0;padding:10px 0;border-block:1px solid var(--line)}
.guide-directory .spot-card-official-photos a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;font-weight:600;line-height:1.7;color:var(--green);overflow-wrap:anywhere}

/* A grouped result represents one venue even when it contains several photos. */
.photo-page .photo-masonry.single-photo{grid-template-columns:minmax(0,1fr);max-width:960px}
.past-official-reports{margin:32px 0;padding:24px;background:#f6f3eb;border-radius:12px}
.past-official-reports .eyebrow{font-size:.8125rem;color:#245447;margin:0 0 8px}
.past-official-reports h2{margin:0 0 20px;font-size:1.375rem;line-height:1.6}
.past-official-reports h3{font-size:1.125rem;margin:8px 0}
.past-report-edition{font-size:.875rem;color:#53635b}
.past-report-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}
.past-report-sources>div{display:flex;flex-direction:column;padding:18px;background:white;border-radius:8px;min-width:0}
.past-report-sources p{font-size:.9375rem;line-height:1.85;margin:8px 0 16px}
.past-report-sources h4{margin:0;font-size:1rem;line-height:1.65;text-wrap:balance}
.past-report-sources a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin-top:auto;color:#245447;font-size:.9375rem;font-weight:650;text-underline-offset:4px}
.past-official-reports details{margin-top:12px;font-size:.875rem}.past-official-reports summary{min-height:44px;align-content:center;cursor:pointer}
@media(max-width:700px){.past-official-reports{padding:20px 16px;margin:24px 0}.past-report-sources{grid-template-columns:minmax(0,1fr);gap:12px}.past-official-reports h2{font-size:1.25rem}.past-report-sources>div{padding:16px}}

.event-past-report-link{margin:8px 0 16px;font-size:.9375rem}.event-past-report-link a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px;color:#245447}

/* Equal rows keep the place and official route aligned beside neighbouring photos.
   At phone widths, one complete photo leads each place; source and upload remain accessible. */
@media(min-width:701px){
 .photo-page .photo-masonry{row-gap:0}
 .photo-page .photo-masonry>.gallery-place{display:grid;grid-template-rows:subgrid;grid-row:span 8;align-self:stretch}
 .photo-page .gallery-place>.place-photo{display:grid;grid-template-rows:subgrid;grid-row:1/span 7}
 .photo-page .gallery-place>.place-photo>.photo-destination{grid-row:1;align-self:start}
 .photo-page .gallery-place>.place-photo>figcaption{display:contents}
 .photo-page .gallery-place>.place-photo>figcaption>.gallery-photo-city{grid-row:2;margin:8px 0 0}
 .photo-page .gallery-place>.place-photo>figcaption>strong{grid-row:3}
 .photo-page .gallery-place>.place-photo>figcaption>.photo-visit-note{grid-row:4}
 .photo-page .gallery-place>.place-photo>figcaption>.official-navigation{grid-row:5}
 .photo-page .gallery-place>.place-photo>figcaption>.photo-attribution{grid-row:6}
 .photo-page .gallery-place>.place-photo>:not(.photo-destination):not(figcaption){grid-row:7}
 .photo-page .gallery-place>.gallery-place-actions{grid-row:8;padding-bottom:32px;min-width:0}
}
