/* Muted apricot orange: index2 only. */
:root{--ehime-accent:#d89b68}
/* index2.html only: replace the weather module, keeping the original FV design. */
.tmpl0_0_info_area__U4KhE .ehime-fv-intro{margin-bottom:2.1vw}
.ehime-fv-question{font-size:1.9vw;font-weight:900;line-height:1.5;letter-spacing:.02em;margin:0 0 .5vw}
.ehime-fv-caption{font-size:.88vw;font-weight:500;line-height:1.8;margin:0 0 1.15vw}
.ehime-fv-areas{display:flex;gap:.55vw}
.ehime-fv-areas a{display:flex;align-items:center;justify-content:center;gap:.7vw;flex:1;border:1px solid #fff;border-radius:999px;padding:.65vw .3vw;color:#fff;font-size:1.05vw;font-weight:700;transition:background .2s,color .2s}
.ehime-fv-areas a span{font-size:.85em}
.ehime-fv-areas a:hover{background:#fff;color:#1a1a1a}
.ehime-fv-areas a:focus-visible{outline:2px solid #1a1a1a;outline-offset:3px}
@media(max-width:767px){.tmpl0_0_info_area__U4KhE .ehime-fv-intro{margin-bottom:7vw}.ehime-fv-question{font-size:6.4vw;margin-bottom:1.6vw}.ehime-fv-caption{font-size:3.2vw;margin-bottom:4vw}.ehime-fv-areas{gap:2vw}.ehime-fv-areas a{font-size:4vw;padding:2.7vw 1vw;gap:3vw}}
/* Original white-letter logo: retain its colours on the existing gold theme. */
.site_header .site_logo img[src="original-img/PC-logo.png"],
.site_fixed_header .site_logo img[src="original-img/PC-logo.png"]{background:var(--ehime-accent);border-radius:8px;height:auto;width:100%;display:block}
@media(max-width:767px){.site_header .site_logo img[src="original-img/PC-logo.png"]{width:53vw;height:auto}}
.site_fixed_header .site_logo img[src="original-img/PC-logo.png"]{width:13.67vw}
/* Generated logo: dark lettering, transparent background, balanced header ratio. */
@media(min-width:768px){.site_header .site_logo:has(img[src="original-img/oideya-logo-v2.png"]){width:26vw;left:2.5vw;top:.35vw}}
.site_header .site_logo img[src="original-img/oideya-logo-v2.png"]{display:block;width:100%;height:auto;background:transparent}
.site_fixed_header .site_logo img[src="original-img/oideya-logo-v2.png"]{display:block;width:13vw;height:auto;background:transparent}
@media(max-width:767px){.site_header .site_logo img[src="original-img/oideya-logo-v2.png"]{width:48vw;height:auto}}
/* Independent mood navigation in the left FV. */
.ehime-mood{padding-top:.35vw}
.ehime-mood h3{font-size:1.15vw;font-weight:700;letter-spacing:.04em;margin:0 0 1.05vw;color:#fff}
.ehime-mood-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85vw}
.ehime-mood-grid a{display:flex;flex-direction:column;min-height:10.1vw;padding:1.05vw .9vw 1.2vw;border:1px solid #fff;border-radius:18px;color:#fff;transition:background .2s,color .2s,transform .2s}
.ehime-mood-number{display:flex;align-items:center;justify-content:space-between;font-family:Montserrat,sans-serif;font-size:.85vw;font-weight:600;letter-spacing:.08em;margin-bottom:1.15vw}
.ehime-mood-number span{font-size:1.3vw;font-weight:400}
.ehime-mood-grid strong{font-size:1.75vw;font-weight:700;line-height:1.4;letter-spacing:.08em;margin-bottom:.55vw}
.ehime-mood-caption{font-size:.78vw;line-height:1.7;font-weight:500}
.ehime-mood-grid a:hover{background:#fff;color:#5e481c;transform:translateY(-2px)}
.ehime-mood-grid a:focus-visible,.ehime-all-places:focus-visible{outline:2px solid #1a1a1a;outline-offset:4px}
.ehime-all-places{display:flex;align-items:center;justify-content:center;gap:1.2vw;width:90%;margin:1.5vw auto 0;padding:1vw .6vw;background:#fff;border-radius:999px;font-size:.9vw;font-weight:700;color:#1a1a1a}
.ehime-all-places:hover{background:#f4f0e6}
@media(max-width:767px){.ehime-mood{padding-top:0;padding-bottom:3vw}.ehime-mood h3{font-size:4vw;margin-bottom:4vw}.ehime-mood-grid{gap:3vw}.ehime-mood-grid a{min-height:34vw;border-radius:20px;padding:4vw}.ehime-mood-number{font-size:3vw;margin-bottom:4vw}.ehime-mood-number span{font-size:5vw}.ehime-mood-grid strong{font-size:6vw;margin-bottom:2vw}.ehime-mood-caption{font-size:3vw}.ehime-all-places{font-size:3.5vw;margin-top:5vw;padding:4vw 3vw;gap:5vw}}
@media(prefers-reduced-motion:reduce){.ehime-mood-grid a{transition:none}}

/* Four primary navigation categories. */
@media(min-width:768px){.site_header .main_menu .link_list{justify-content:space-evenly}.site_header .main_menu .link_item{margin-right:0}.site_header .main_menu .link_item:last-child:before{display:none}.site_header .main_menu .link_item:last-child{padding-left:0}}
@media(min-width:768px){.site_header .main_menu{width:64vw}.site_header .main_menu .link_item{padding-right:0}.site_header .main_menu .link{width:12vw}}

/* Original crayon navigation illustrations. */
.site_header .main_menu .link img[src*="nav-crayon"]{width:3.2vw;height:3.2vw;object-fit:contain}
.sp_site_menu .main_menu img[src*="nav-crayon"]{width:32px;height:32px;object-fit:contain}
@media(max-width:767px){.site_header .main_menu .link img[src*="nav-crayon"]{width:7vw;height:7vw}}

/* Homepage sections match the four primary navigation entries. */
#feature,#spot,#events,#town-news{scroll-margin-top:110px}
.ehime-section-icon{width:3.6vw;height:3.6vw;object-fit:contain}
.tmpl0_0_feature_title__q46n3 .ehime-section-icon{transform:rotate(-90deg)}
.tmpl0_0_news_title__1WmjI{gap:16px}
.ehime-town-intro,.ehime-sample-note{text-align:center;line-height:1.8;padding:0 20px}
.ehime-town-intro{margin-top:24px;font-size:15px}
.ehime-sample-note{font-size:12px;color:#777;margin-top:8px}
.ehime-news-summary{font-size:12px;line-height:1.8;margin:8px 0}
.ehime-news-sample .tmpl0_0_image__w2KJg{background:#f2efe8}
.ehime-news-sample .tmpl0_0_image__w2KJg img{object-fit:contain!important;padding:12%}
@media(max-width:767px){.ehime-section-icon{width:9vw;height:9vw}.ehime-town-intro{font-size:13px}.ehime-sample-note{font-size:11px}.ehime-news-summary{font-size:12px}#feature,#spot,#events,#town-news{scroll-margin-top:80px}}
#spot{margin-top:6vw}.ehime-news-sample .tmpl0_0_title__s1u9F{min-height:0!important}

/* Separate editorial pickup from the hero. */
.ehime-pickup{margin:5vw 3.12vw;padding:3.5vw 0;background:var(--ehime-accent);border-radius:40px;overflow:hidden}
.ehime-pickup-heading{padding:0 3vw 2.5vw}.ehime-pickup-heading>span{font-size:11px;letter-spacing:.18em}.ehime-pickup-heading h2{font-size:28px;font-weight:800;margin:8px 0}.ehime-pickup-heading p{font-size:13px}
.ehime-pickup .tmpl0_0_lower_contents__ay8hS{padding:0}
/* Float the headline like a rounded editorial card over the photograph. */
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66{left:2vw;bottom:2.5vw;width:calc(100% - 7vw);border-radius:20px;box-shadow:5px 5px 0 rgba(26,26,26,.12)}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a{width:1vw;height:3px;border-radius:2px}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a.tmpl0_0_current__qQg7n{width:2.2vw;background:var(--ehime-accent)}
.tmpl0_0_first_view__NcbMD .tmpl0_0_ctrl_prev__q3Kor,.tmpl0_0_first_view__NcbMD .tmpl0_0_ctrl_next__OXf6A{top:2vw;margin:0;z-index:12}
.tmpl0_0_first_view__NcbMD .tmpl0_0_ctrl_prev__q3Kor{left:auto;right:6.8vw}.tmpl0_0_first_view__NcbMD .tmpl0_0_ctrl_next__OXf6A{right:2.5vw}
@media(min-width:768px){.tmpl0_0_first_view__NcbMD{margin-bottom:5vw}.tmpl0_0_first_view__NcbMD .tmpl0_0_contents_wrapper__ADf7U{padding-bottom:0}.tmpl0_0_first_view__NcbMD .tmpl0_0_upper_contents__PP1VF{margin-bottom:-8.6vw}.tmpl0_0_first_view__NcbMD .tmpl0_0_images__DeChZ{border-bottom-left-radius:32px}}
@media(max-width:767px){.ehime-pickup{margin:10vw 4vw;padding:7vw 0;border-radius:24px}.ehime-pickup-heading{padding:0 6vw 6vw}.ehime-pickup-heading h2{font-size:24px}.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66{left:4vw;bottom:4vw;width:92vw;border-radius:16px}.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a{width:3vw}.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a.tmpl0_0_current__qQg7n{width:6vw}.tmpl0_0_first_view__NcbMD .tmpl0_0_ctrl_prev__q3Kor{right:16vw;top:4vw}.tmpl0_0_first_view__NcbMD .tmpl0_0_ctrl_next__OXf6A{right:4vw;top:4vw}}

/* Illustrated mood choices. */
.ehime-mood-art{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.35vw}
.ehime-mood-art img{width:4.1vw;height:4.1vw;object-fit:contain}
.ehime-mood-art>span{font-size:1.1vw}
.ehime-mood-grid strong{font-size:1.45vw;letter-spacing:.02em}
.ehime-mood-grid a{min-height:12vw}
@media(max-width:767px){.ehime-mood-art{margin-bottom:2vw}.ehime-mood-art img{width:15vw;height:15vw}.ehime-mood-art>span{font-size:4vw}.ehime-mood-grid strong{font-size:4.8vw}.ehime-mood-grid a{min-height:40vw}}
@media(min-width:768px){.tmpl0_0_info_area__U4KhE .ehime-fv-intro{margin-top:2.5vw}}

/* Small mandarin and sea ornament above the opening question. */
.ehime-fv-ornament{display:block;width:16vw;height:4vw;object-fit:contain;margin:0 auto 1.1vw}
@media(min-width:768px){.tmpl0_0_info_area__U4KhE .ehime-fv-intro{margin-top:1.1vw}}
@media(max-width:767px){.ehime-fv-ornament{width:52vw;height:13vw;margin:3vw auto 4vw}}

/* Small schematic area maps, kept quieter than the mood illustrations. */
.ehime-fv-areas a{flex-direction:column;gap:.2vw;padding:.5vw .3vw .65vw;border-radius:16px}
.ehime-area-map{display:block;width:3.8vw;height:3.3vw;object-fit:contain}
.ehime-fv-areas .ehime-area-label{display:flex;align-items:center;gap:.65vw;font-size:1.05vw;line-height:1.4}
.ehime-fv-areas .ehime-area-label>span{font-size:.8em}
@media(min-width:768px){.tmpl0_0_info_area__U4KhE .ehime-fv-intro{margin-bottom:1.1vw}.ehime-mood-grid a{min-height:11vw}.ehime-all-places{margin-top:1vw}}
@media(max-width:767px){.ehime-fv-areas a{gap:1vw;padding:2vw 1vw 2.5vw;border-radius:16px}.ehime-area-map{width:13vw;height:11vw}.ehime-fv-areas .ehime-area-label{font-size:4vw;gap:2vw}}

/* Design B: an original editorial index, isolated from the existing feature. */
.ehime-editorial{margin:6vw 3.12vw 0;padding:32px clamp(24px,5vw,90px) 40px;background:#faf7ef;color:#293b32;border-radius:36px;position:relative;scroll-margin-top:95px}
.ehime-editorial-note{display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.08em;border-bottom:1px dashed #b8b4a8;padding-bottom:18px;color:#6b7265}
.ehime-editorial-note a{text-decoration:underline;text-underline-offset:4px}
.ehime-editorial-heading{display:flex;justify-content:space-between;align-items:center;padding:40px 0 34px;gap:20px}
.ehime-editorial-kicker{font-size:11px;letter-spacing:.18em;color:#98633e;font-weight:700;margin-bottom:16px}
.ehime-editorial-heading h2{font-size:clamp(30px,4vw,60px);font-weight:800;line-height:1.45;letter-spacing:.08em}
.ehime-editorial-heading h2+p{font-size:13px;line-height:2;margin-top:18px}
.ehime-editorial-stamp{width:150px;display:flex;align-items:center;flex-direction:column;transform:rotate(6deg);flex-shrink:0}
.ehime-editorial-stamp img{width:86px;height:70px;object-fit:contain}.ehime-editorial-stamp>span{font-size:30px;font-weight:800;letter-spacing:.15em}.ehime-editorial-stamp small{font-size:11px;margin-top:9px}
.ehime-editorial-story{display:grid;grid-template-columns:35px minmax(0,.95fr) minmax(0,1.2fr);gap:28px;padding:30px 0;border-top:1px solid #c5c7b8;align-items:center}
.ehime-editorial-number{font-family:Georgia,serif;font-style:italic;font-size:26px;color:#a8734d;align-self:start;padding-top:10px}
.ehime-editorial-photo{aspect-ratio:1.5;overflow:hidden;border-radius:8px 48px 8px 8px;transform:rotate(-2deg)}
.ehime-editorial-story:nth-child(2) .ehime-editorial-photo{transform:rotate(2deg);border-radius:48px 8px 8px 8px}
.ehime-editorial-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.ehime-editorial-story:hover .ehime-editorial-photo img{transform:scale(1.04)}
.ehime-editorial-category{font-size:11px;color:#92633e;letter-spacing:.1em}
.ehime-editorial-copy h3{font-size:clamp(17px,1.65vw,26px);line-height:1.7;font-weight:750;margin:8px 0 10px}
.ehime-editorial-copy>p{font-size:12px;line-height:1.9;color:#687066}
.ehime-editorial-read{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;margin-top:18px}.ehime-editorial-read>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7bc91;font-size:19px}
.ehime-editorial-footer{border-top:1px solid #c5c7b8;padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:20px}.ehime-editorial-footer p{font-size:11px;color:#777}.ehime-editorial-footer>a{border-bottom:1px solid #293b32;padding:10px 0;font-size:14px;font-weight:700}.ehime-editorial-footer>a span{margin-left:28px}
.ehime-editorial a:focus-visible{outline:2px solid #527e70;outline-offset:5px}
@media(max-width:767px){.ehime-editorial{margin:12vw 4vw 0;padding:24px 20px;border-radius:24px}.ehime-editorial-note{font-size:9px;letter-spacing:0}.ehime-editorial-heading{padding:28px 0}.ehime-editorial-stamp{width:80px}.ehime-editorial-stamp img{width:60px;height:55px}.ehime-editorial-stamp>span{font-size:24px}.ehime-editorial-stamp small{font-size:8px}.ehime-editorial-heading h2{font-size:29px}.ehime-editorial-heading h2+p{font-size:11px}.ehime-editorial-story{grid-template-columns:22px 1fr;gap:14px;padding:24px 0}.ehime-editorial-number{font-size:21px}.ehime-editorial-photo{grid-column:2}.ehime-editorial-copy{grid-column:2}.ehime-editorial-copy h3{font-size:17px}.ehime-editorial-footer{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.ehime-editorial-photo img{transition:none}}

/* Simplified feature heading with an original coastal crayon illustration. */
.ehime-editorial-story{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr)}
.ehime-editorial-stamp{width:clamp(180px,28vw,350px);transform:none}
.ehime-editorial-stamp img{width:100%;height:auto;object-fit:contain}
@media(max-width:767px){.ehime-editorial-stamp{width:30vw}.ehime-editorial-heading{gap:8px}.ehime-editorial-story{grid-template-columns:1fr}.ehime-editorial-photo,.ehime-editorial-copy{grid-column:1}}

/* Adopt the editorial feature and refine its article links. */
.ehime-feature-anchor{position:absolute;top:0;scroll-margin-top:95px}
.ehime-editorial-photo,.ehime-editorial-story:nth-child(2) .ehime-editorial-photo{transform:none}
.ehime-editorial-read>span{width:42px;height:42px;border:1px solid #a7b0a1;background:transparent;color:#426857;transition:background .25s,color .25s,border-color .25s,transform .25s}
.ehime-editorial-read{transition:color .25s}
.ehime-editorial-story:hover .ehime-editorial-read,.ehime-editorial-story:focus-visible .ehime-editorial-read{color:#426857}
.ehime-editorial-story:hover .ehime-editorial-read>span,.ehime-editorial-story:focus-visible .ehime-editorial-read>span{background:#426857;border-color:#426857;color:#fff8e8;transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){.ehime-editorial-read,.ehime-editorial-read>span{transition:none}.ehime-editorial-story:hover .ehime-editorial-read>span{transform:none}}

/* Four features in a two-by-two grid. */
.ehime-editorial-stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
.ehime-editorial-story{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:28px 0}
.ehime-editorial-photo{width:100%;aspect-ratio:1.55;flex-shrink:0}
.ehime-editorial-copy{display:flex;flex-direction:column;flex:1}
.ehime-editorial-copy h3{font-size:clamp(17px,1.55vw,24px)}
.ehime-editorial-copy>p{margin-bottom:20px}
.ehime-editorial-read{margin-top:auto}
@media(max-width:767px){.ehime-editorial-stories{grid-template-columns:1fr;gap:0}.ehime-editorial-story{gap:16px;padding:24px 0}}

/* Shared spacing rhythm and a more confident feature introduction. */
:root{--ehime-page-gutter:3.12vw;--ehime-section-gap:clamp(56px,6vw,96px);--ehime-inner-space:clamp(28px,5vw,80px);--ehime-content-gap:clamp(24px,3vw,48px)}
#feature.ehime-editorial{margin:var(--ehime-section-gap) var(--ehime-page-gutter) 0;padding:var(--ehime-inner-space)}
.ehime-editorial-heading{padding:0 0 var(--ehime-inner-space);gap:var(--ehime-content-gap)}
.ehime-editorial-heading>div:first-child{flex:1;min-width:0}
.ehime-editorial-heading h2{font-size:clamp(42px,4.8vw,76px);line-height:1.4;letter-spacing:.04em}
.ehime-editorial-heading h2+p{font-size:clamp(15px,1.25vw,19px);line-height:2;margin-top:24px}
.ehime-editorial-stamp{width:42%;max-width:460px}
.ehime-editorial-stories{column-gap:var(--ehime-content-gap)}
.ehime-editorial-story{padding:var(--ehime-content-gap) 0;gap:24px}
.ehime-editorial-footer{padding-top:var(--ehime-content-gap);flex-direction:column;gap:24px}
.ehime-editorial-footer>p{order:2}
.ehime-editorial-footer>a{display:flex;align-items:center;justify-content:space-between;width:min(100%,480px);min-height:72px;padding:20px 32px;background:#426857;border:1px solid #426857;border-radius:999px;color:#fff8e8;font-size:18px;transition:background .25s,color .25s}
.ehime-editorial-footer>a span{font-size:26px;margin-left:24px}
.ehime-editorial-footer>a:hover{background:#faf7ef;color:#426857}
#spot{margin-top:var(--ehime-section-gap)}
#town-news{margin:var(--ehime-section-gap) var(--ehime-page-gutter) 0}
#pickup.ehime-pickup{margin:var(--ehime-section-gap) var(--ehime-page-gutter);padding-top:var(--ehime-inner-space);padding-bottom:var(--ehime-inner-space)}
#pickup .ehime-pickup-heading{padding:0 var(--ehime-inner-space) var(--ehime-content-gap)}
@media(min-width:768px){#spot .tmpl0_0_spot_area_contents__eIEji{margin-left:var(--ehime-page-gutter);margin-right:var(--ehime-page-gutter)}#events{padding-top:var(--ehime-section-gap);padding-bottom:var(--ehime-section-gap)}}
@media(max-width:767px){:root{--ehime-page-gutter:4vw;--ehime-section-gap:48px;--ehime-inner-space:24px;--ehime-content-gap:24px}.ehime-editorial-heading{position:relative;align-items:flex-start;gap:8px}.ehime-editorial-heading h2{font-size:clamp(28px,7.6vw,42px)}.ehime-editorial-heading h2+p{font-size:13px;margin-top:18px}.ehime-editorial-stamp{width:30%;margin-top:10px}.ehime-editorial-footer>a{min-height:60px;font-size:16px;padding:16px 24px}.ehime-editorial-footer{align-items:center}.ehime-editorial-footer>p{text-align:center}#events{margin-bottom:var(--ehime-section-gap)}}
@media(prefers-reduced-motion:reduce){.ehime-editorial-footer>a{transition:none}}

/* A small illustrated signature for the feature heading. */
.ehime-editorial-heading .ehime-feature-heading{display:inline-flex;flex-direction:column;align-items:flex-start;font-size:clamp(48px,5.6vw,88px);line-height:1.2;letter-spacing:.16em}
.ehime-feature-flourish{display:block;width:clamp(140px,17vw,240px);height:auto;margin-top:12px}
.ehime-editorial-heading .ehime-feature-heading+p{margin-top:24px}
@media(max-width:767px){.ehime-editorial-heading .ehime-feature-heading{font-size:42px}.ehime-feature-flourish{width:140px;margin-top:10px}.ehime-editorial-heading .ehime-feature-heading+p{margin-top:18px}}

/* Shared section heading typography: black on light, white on orange. */
:root{--ehime-heading-size:clamp(24px,2.5vw,40px);--ehime-heading-icon:clamp(32px,3.6vw,52px)}
#feature .ehime-feature-heading,#spot .tmpl0_0_spot_title__a64Uw,#events .tmpl0_0_season_title__HjtXf,#town-news .tmpl0_0_news_title__1WmjI,#pickup h2{font-family:inherit;font-size:var(--ehime-heading-size);font-weight:900;letter-spacing:.04em;line-height:1.4;color:#1a1a1a}
#spot .tmpl0_0_spot_title__a64Uw .tmpl0_0_text__VHqHm,#events .tmpl0_0_season_title__HjtXf .tmpl0_0_text__VHqHm{font:inherit;letter-spacing:inherit;color:inherit}
#events .tmpl0_0_season_title__HjtXf{color:#fff}
#feature .ehime-feature-heading{display:flex;flex-direction:row;align-items:center;gap:20px}
#feature .ehime-feature-heading .ehime-section-icon,#spot h2 .ehime-section-icon,#events h2 .ehime-section-icon,#town-news h2 .ehime-section-icon{width:var(--ehime-heading-icon);height:var(--ehime-heading-icon);object-fit:contain;flex-shrink:0}
@media(max-width:767px){:root{--ehime-heading-size:24px;--ehime-heading-icon:34px}#feature .ehime-feature-heading{gap:14px}}

/* Compact travel-scrapbook features: level photos, a subtle paper-tab detail. */
.ehime-editorial-stories{gap:24px 28px}
.ehime-editorial-story{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:20px;padding:24px 0;align-items:stretch;border-top:1px dashed #c5c7b8;position:relative}
.ehime-editorial-photo,.ehime-editorial-story:nth-child(2) .ehime-editorial-photo{position:relative;aspect-ratio:1;align-self:center;overflow:visible;border-radius:18px 18px 28px 18px;transform:none}
.ehime-editorial-photo img{display:block;border-radius:inherit;transition:filter .25s}
.ehime-editorial-photo:after{content:"";position:absolute;left:calc(50% - 22px);top:-7px;width:44px;height:15px;background:#e8c398;opacity:.9;clip-path:polygon(4% 0,96% 0,100% 20%,96% 40%,100% 65%,96% 100%,4% 100%,0 75%,4% 50%,0 20%);pointer-events:none}
.ehime-editorial-story:nth-child(even) .ehime-editorial-photo:after{background:#b6c7b7}
.ehime-editorial-story:hover .ehime-editorial-photo img{transform:none;filter:brightness(1.04)}
.ehime-editorial-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}
.ehime-editorial-category{font-size:11px;line-height:1.5;letter-spacing:.04em}
.ehime-editorial-copy h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:clamp(14px,1.2vw,19px);line-height:1.65;margin:8px 0 12px}
.ehime-editorial-read{justify-content:flex-end;margin-top:auto}
.ehime-editorial-read>span{width:30px;height:30px;font-size:17px}
.ehime-editorial-footer{margin-top:24px}
@media(max-width:767px){.ehime-editorial-stories{grid-template-columns:1fr;gap:0}.ehime-editorial-story{grid-template-columns:minmax(0,36%) minmax(0,1fr);gap:18px;padding:24px 0}.ehime-editorial-photo,.ehime-editorial-copy{grid-column:auto}.ehime-editorial-copy h3{font-size:15px}.ehime-editorial-photo:after{width:36px;left:calc(50% - 18px);height:12px;top:-6px}}
@media(prefers-reduced-motion:reduce){.ehime-editorial-photo img{transition:none}}

/* Alternative spot section: keepsake cards on a warm orange page. */
.ehime-discover{margin:var(--ehime-section-gap) var(--ehime-page-gutter);padding:var(--ehime-inner-space);border-radius:36px;background:#edc49f;color:#1a1a1a;scroll-margin-top:95px}
.ehime-discover-note{font-size:11px;letter-spacing:.08em;color:#74563d;border-bottom:1px dashed #b58e6b;padding-bottom:16px;margin-bottom:32px}
.ehime-discover-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:var(--ehime-content-gap)}
.ehime-discover-header h2{display:flex;align-items:center;gap:18px;font:inherit;font-size:var(--ehime-heading-size);font-weight:900;letter-spacing:.04em;line-height:1.4}
.ehime-discover-header h2 img{width:var(--ehime-heading-icon);height:var(--ehime-heading-icon);object-fit:contain}
.ehime-discover-header p{font-size:clamp(14px,1.25vw,19px);line-height:2;margin-top:24px}
.ehime-discover-art{width:130px;height:120px;object-fit:contain}
.ehime-discover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.ehime-place{display:flex;flex-direction:column;background:#fffaf0;border-radius:24px 24px 12px 12px;box-shadow:0 5px 0 #d9ad87;overflow:hidden;transition:transform .25s,box-shadow .25s}
.ehime-place-image{position:relative;padding:10px 10px 0}.ehime-place-image>img{width:100%;aspect-ratio:1.12;object-fit:cover;border-radius:16px 16px 4px 4px;display:block}
.ehime-place-label{position:absolute;bottom:10px;left:0;padding:6px 12px;background:#426857;color:#fffaf0;font-size:10px;letter-spacing:.06em;border-radius:0 4px 4px 0}
.ehime-place-body{padding:18px 16px 14px;display:flex;flex-direction:column;flex:1}
.ehime-place h3{font-size:clamp(15px,1.15vw,19px);font-weight:800;line-height:1.6}.ehime-place p{font-size:12px;line-height:1.8;color:#6d6c62;margin:10px 0 18px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ehime-place-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #c9c5b5;padding-top:12px;margin-top:auto;font-size:11px;color:#426857}.ehime-place-bottom>span:last-child{font-size:21px}
.ehime-place:hover{transform:translateY(-4px);box-shadow:0 9px 0 #d9ad87}.ehime-place:focus-visible,.ehime-discover-footer a:focus-visible{outline:2px solid #426857;outline-offset:5px}
.ehime-discover-footer{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:40px}.ehime-discover-footer>a{width:min(100%,480px);min-height:72px;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#426857;color:#fffaf0;border-radius:999px;font-size:17px;font-weight:700}.ehime-discover-footer>a:hover{background:#2e503f}.ehime-discover-footer p{font-size:11px;color:#74563d}
@media(max-width:1100px){.ehime-discover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ehime-place-image>img{aspect-ratio:1.5}}
@media(max-width:767px){.ehime-discover{border-radius:24px}.ehime-discover-header{gap:10px}.ehime-discover-header h2{font-size:22px;gap:10px}.ehime-discover-header p{font-size:13px}.ehime-discover-art{width:64px;height:70px}.ehime-discover-grid{gap:16px}.ehime-place-body{padding:14px 12px}.ehime-place h3{font-size:15px}.ehime-place-label{font-size:9px;padding:5px 8px}.ehime-discover-footer>a{font-size:15px;min-height:60px;padding:18px 22px}}
@media(max-width:420px){.ehime-discover-grid{grid-template-columns:1fr}.ehime-discover-art{display:none}}
@media(prefers-reduced-motion:reduce){.ehime-place{transition:none}.ehime-place:hover{transform:none}}

/* Three open compositions: organic photo silhouettes, no card containers. */
#spot-alternative .ehime-discover-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.5vw,56px);align-items:start}
#spot-alternative .ehime-place{background:none;border-radius:0;box-shadow:none;overflow:visible;transform:none;position:relative}
#spot-alternative .ehime-place-image{padding:0;position:relative}
#spot-alternative .ehime-place-image>img{aspect-ratio:1;object-fit:cover;border-radius:0;clip-path:polygon(50% 0%,72% 3%,91% 16%,99% 38%,96% 63%,84% 83%,63% 97%,38% 100%,17% 91%,3% 72%,0% 47%,8% 24%,26% 7%);transition:clip-path .4s,filter .3s}
#spot-alternative .ehime-place:nth-child(2) .ehime-place-image>img{clip-path:ellipse(47% 49% at 50% 50%)}
#spot-alternative .ehime-place:nth-child(3) .ehime-place-image>img{clip-path:polygon(12% 14%,32% 2%,58% 0%,85% 10%,98% 31%,97% 61%,85% 88%,61% 100%,32% 95%,8% 81%,0% 54%,3% 30%)}
#spot-alternative .ehime-place-image:before{content:"";position:absolute;inset:7% -4% -3% 5%;border:1px solid #a87754;border-radius:48% 52% 57% 43% / 44% 38% 62% 56%;transform:rotate(8deg);pointer-events:none}
#spot-alternative .ehime-place:nth-child(2) .ehime-place-image:before{inset:-3% 5% 4% -4%;transform:rotate(-9deg);border-color:#708c77}
#spot-alternative .ehime-place-label{left:50%;bottom:-14px;transform:translateX(-50%) rotate(-4deg);white-space:nowrap;background:#fff5df;color:#426857;padding:8px 18px;font-size:12px;border-radius:0;clip-path:polygon(3% 0,98% 4%,100% 90%,2% 100%,0 60%)}
#spot-alternative .ehime-place:nth-child(2) .ehime-place-label{transform:translateX(-50%) rotate(3deg)}
#spot-alternative .ehime-place-body{padding:34px 0 0}
#spot-alternative .ehime-place h3{font-size:clamp(17px,1.5vw,23px);line-height:1.6;letter-spacing:.03em}
#spot-alternative .ehime-place p{font-size:13px;line-height:1.9;margin:12px 0 20px}
#spot-alternative .ehime-place-bottom{border-top:1px solid #b89675;color:#293b32;padding-top:14px;font-size:12px}
#spot-alternative .ehime-place-bottom>span:last-child{transition:transform .25s}
#spot-alternative .ehime-place:hover{box-shadow:none;transform:none}
#spot-alternative .ehime-place:hover .ehime-place-image>img{filter:brightness(1.07)}
#spot-alternative .ehime-place:hover .ehime-place-bottom>span:last-child{transform:translate(3px,-3px)}
#spot-alternative .ehime-discover-footer{margin-top:56px}
@media(max-width:767px){#spot-alternative .ehime-discover-grid{display:flex;overflow-x:auto;gap:28px;padding:12px 12px 24px;scroll-snap-type:x mandatory}#spot-alternative .ehime-place{flex:0 0 78%;scroll-snap-align:center}#spot-alternative .ehime-place h3{font-size:18px}#spot-alternative .ehime-place-body{padding-top:30px}}
@media(prefers-reduced-motion:reduce){#spot-alternative .ehime-place-image>img,#spot-alternative .ehime-place-bottom>span:last-child{transition:none}}

/* Match the feature section's scrapbook details and spacing. */
#spot-alternative.ehime-discover{background:#faf7ef;color:#1a1a1a}
#spot-alternative .ehime-discover-note{color:#777;border-color:#c5c7b8}
#spot-alternative .ehime-discover-header{margin-bottom:var(--ehime-inner-space)}
#spot-alternative .ehime-discover-grid{gap:var(--ehime-content-gap);align-items:stretch}
#spot-alternative .ehime-place{border-top:1px dashed #c5c7b8;padding-top:24px}
#spot-alternative .ehime-place-image>img,#spot-alternative .ehime-place:nth-child(2) .ehime-place-image>img,#spot-alternative .ehime-place:nth-child(3) .ehime-place-image>img{clip-path:none;aspect-ratio:1.3;border-radius:18px 18px 28px 18px}
#spot-alternative .ehime-place-image:before,#spot-alternative .ehime-place:nth-child(2) .ehime-place-image:before{inset:auto;top:-7px;left:calc(50% - 22px);width:44px;height:15px;background:#e8c398;border:0;border-radius:0;transform:none;opacity:.9;z-index:1;clip-path:polygon(4% 0,96% 0,100% 20%,96% 40%,100% 65%,96% 100%,4% 100%,0 75%,4% 50%,0 20%)}
#spot-alternative .ehime-place:nth-child(2) .ehime-place-image:before{background:#b6c7b7}
#spot-alternative .ehime-place-label,#spot-alternative .ehime-place:nth-child(2) .ehime-place-label{position:static;display:block;transform:none;clip-path:none;padding:0;margin-top:20px;background:none;color:#92633e;font-size:11px;letter-spacing:.04em}
#spot-alternative .ehime-place-body{padding:8px 0 0}
#spot-alternative .ehime-place h3{font-size:clamp(15px,1.2vw,19px);font-weight:750;line-height:1.65;letter-spacing:0}
#spot-alternative .ehime-place p{color:#687066;font-size:12px}
#spot-alternative .ehime-place-bottom{border:0;padding-top:0;color:#426857}
#spot-alternative .ehime-place-bottom>span:last-child{display:grid;place-items:center;border:1px solid #a7b0a1;border-radius:50%;width:30px;height:30px;font-size:17px;transition:background .25s,color .25s,transform .25s}
#spot-alternative .ehime-place:hover .ehime-place-bottom>span:last-child{background:#426857;color:#fff8e8;transform:translate(2px,-2px)}
#spot-alternative .ehime-discover-footer{border-top:1px solid #c5c7b8;padding-top:var(--ehime-content-gap);margin-top:var(--ehime-content-gap)}
#spot-alternative .ehime-discover-footer>a{font-size:18px;padding:20px 32px;background:#426857;color:#fff8e8;border:1px solid #426857}
#spot-alternative .ehime-discover-footer>a:hover{background:#faf7ef;color:#426857}
#spot-alternative .ehime-discover-footer>p{color:#777}
@media(max-width:767px){#spot-alternative .ehime-discover-header h2{font-size:var(--ehime-heading-size)}#spot-alternative .ehime-place h3{font-size:15px}#spot-alternative .ehime-discover-footer>a{font-size:16px;padding:16px 24px}}
@media(prefers-reduced-motion:reduce){#spot-alternative .ehime-place-bottom>span:last-child{transition:none}}

/* Connected spot strip: one continuous outline with shared dividers. */
#spot-alternative .ehime-discover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #293b32;border-radius:70px 70px 32px 32px;overflow:hidden;background:#fffaf0}
#spot-alternative .ehime-place{border:0;border-right:1px solid #293b32;padding:24px;position:relative;background:none}
#spot-alternative .ehime-place:last-child{border-right:0}
#spot-alternative .ehime-place-image>img,#spot-alternative .ehime-place:nth-child(2) .ehime-place-image>img,#spot-alternative .ehime-place:nth-child(3) .ehime-place-image>img{aspect-ratio:1.1;border-radius:50% 50% 38% 38%;clip-path:none}
#spot-alternative .ehime-place-image:before{display:none}
#spot-alternative .ehime-place-label,#spot-alternative .ehime-place:nth-child(2) .ehime-place-label{position:relative;display:table;left:auto;bottom:auto;transform:none;margin:-16px auto 0;padding:7px 18px;border:1px solid #293b32;border-radius:999px;background:#fffaf0;color:#293b32;font-size:11px;clip-path:none;z-index:1}
#spot-alternative .ehime-place-body{padding-top:20px}
#spot-alternative .ehime-place h3{text-align:center}
#spot-alternative .ehime-place p{text-align:center}
#spot-alternative .ehime-place-bottom{padding-top:16px;border-top:1px dashed #c5c7b8}
#spot-alternative .ehime-place:hover{background:#f5f0e4}
@media(max-width:767px){#spot-alternative .ehime-discover-grid{display:flex;gap:0;padding:0;border-radius:44px 44px 24px 24px;overflow-x:auto;scroll-snap-type:x mandatory}#spot-alternative .ehime-place{flex:0 0 85%;padding:20px;scroll-snap-align:start;border-right:1px solid #293b32}#spot-alternative .ehime-place:last-child{border-right:0}}

/* Four connected spots. */
#spot-alternative .ehime-discover-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#spot-alternative .ehime-place{padding:clamp(14px,1.6vw,24px)}
#spot-alternative .ehime-place-label{padding:7px 12px}
@media(max-width:767px){#spot-alternative .ehime-place{padding:20px}}

/* Warm orange spot section, distinguished from the cream feature section. */
#spot-alternative.ehime-discover{background:#edc49f;border-radius:64px 24px 64px 24px}
#spot-alternative .ehime-discover-grid{background:#fffaf0}
#spot-alternative .ehime-discover-footer{border-top-color:#c49b77}
#spot-alternative .ehime-discover-footer>p{color:#735942}
#spot-alternative .ehime-discover-footer>a:hover{background:#fffaf0}
@media(max-width:767px){#spot-alternative.ehime-discover{border-radius:40px 16px 40px 16px}}

/* Offset background planes, echoing the layered hero. */
#spot-alternative.ehime-discover{position:relative;isolation:isolate;background:transparent;border-radius:0;padding-top:calc(var(--ehime-inner-space) + 20px);padding-bottom:calc(var(--ehime-inner-space) + 20px)}
#spot-alternative.ehime-discover:before{content:"";position:absolute;z-index:-2;inset:0 0 0 calc(-1 * var(--ehime-page-gutter));background:var(--ehime-accent);border-radius:0 64px 64px 0;pointer-events:none}
#spot-alternative.ehime-discover:after{content:"";position:absolute;z-index:-1;top:32px;bottom:32px;left:32px;right:calc(-1 * var(--ehime-page-gutter));background:#faf7ef;border:1px solid #293b32;border-right:0;border-radius:64px 0 0 64px;pointer-events:none}
#spot-alternative .ehime-discover-footer{border-top-color:#c5c7b8}
#spot-alternative .ehime-discover-footer>p{color:#777}
@media(max-width:767px){#spot-alternative.ehime-discover{padding-left:28px;padding-right:20px;padding-top:48px;padding-bottom:48px}#spot-alternative.ehime-discover:before{border-radius:0 36px 36px 0}#spot-alternative.ehime-discover:after{left:12px;top:20px;bottom:20px;border-radius:36px 0 0 36px}}

/* Give the spot illustration a stronger presence in the heading. */
#spot-alternative .ehime-discover-art{display:block;width:clamp(200px,27vw,380px);height:auto;aspect-ratio:1.2;object-fit:contain;flex-shrink:0}
#spot-alternative .ehime-discover-header>div{flex:1;min-width:0}
@media(max-width:767px){#spot-alternative .ehime-discover-art{width:clamp(100px,29vw,170px);height:auto;aspect-ratio:1}.ehime-discover-header{flex-wrap:wrap}#spot-alternative .ehime-discover-header>div{flex:1 1 190px}#spot-alternative .ehime-discover-art{margin-left:auto}}

/* Tighter left inset for the layered spot section on phones. */
@media(max-width:767px){#spot-alternative.ehime-discover{margin-left:2vw;padding-left:16px}#spot-alternative.ehime-discover:after{left:5px}#spot-alternative.ehime-discover:before{left:-2vw}}

/* Keep the spot heading on one line on narrow phones. */
@media(max-width:375px){#spot-alternative .ehime-discover-header h2{font-size:19px;letter-spacing:0;gap:8px;white-space:nowrap}#spot-alternative .ehime-discover-header h2 img{width:28px;height:28px}}
@media(max-width:375px){#spot-alternative .ehime-discover-header{flex-wrap:nowrap}#spot-alternative .ehime-discover-header>div{flex:1 1 0}#spot-alternative .ehime-discover-art{width:90px;min-width:0}}

.ehime-spot-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
.ehime-spot-controls button{display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #426857;border-radius:999px;min-height:44px;padding:10px 20px;background:transparent;color:#426857;font:inherit;font-size:12px;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:background .2s,color .2s}
.ehime-spot-controls button:hover:not(:disabled){background:#426857;color:#fffaf0}.ehime-spot-controls button:disabled{opacity:.3;cursor:default}.ehime-spot-controls button:focus-visible{outline:2px solid #426857;outline-offset:4px}
@media(min-width:768px){.ehime-spot-controls{display:none}}
@media(max-width:767px){#spot-alternative .ehime-discover-grid{scrollbar-width:none}#spot-alternative .ehime-discover-grid::-webkit-scrollbar{display:none}#spot-alternative .ehime-discover-footer{margin-top:20px}}
/* Events: a curved paper edge and a ruled heading. */
#events.tmpl0_0_season_area__U8lwc {
  background:#faf7ef;
  padding:0 var(--ehime-page-gutter) 0 0;
  margin-top:0;
  overflow:hidden;
  scroll-margin-top:100px;
}
#events .tmpl0_0_season_area_contents__2uAmM {
  background:#fff;
  border:1px solid #293b32;
  border-left:0;
  border-bottom:0;
  border-radius:clamp(56px,7vw,112px) clamp(56px,7vw,112px) 0 0;
  border-top-left-radius:0;
  padding:clamp(48px,6vw,96px) 0 var(--ehime-section-gap);
}
#events .tmpl0_0_season_area_header__jP98i {
  display:block;
  padding:0;
  margin:0 0 var(--ehime-content-gap) var(--ehime-page-gutter);
}
#events .tmpl0_0_season_title__HjtXf {
  width:100%;
  height:auto;
  min-height:clamp(58px,6.25vw,90px);
  margin:0;
  border-top:1px solid #293b32;
  color:#1a1a1a;
}
#events .tmpl0_0_season_title__HjtXf .tmpl0_0_icon__U9n_y {
  width:clamp(58px,7vw,96px);
  height:clamp(58px,6.25vw,90px);
  margin:0;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-right:1px solid #293b32;
}
#events .tmpl0_0_season_title__HjtXf .tmpl0_0_text__VHqHm {padding-left:clamp(16px,2vw,32px);color:#1a1a1a}
#events .tmpl0_0_message_wrap__Z9uiq {margin-top:20px;padding-right:24px}
#events .tmpl0_0_message__qGIGY {background:transparent;padding:0;border:0}
#events .tmpl0_0_message__qGIGY:after {display:none}
#events .tmpl0_0_message_frame__56Yzy {color:#293b32}
#events .tmpl0_0_post_main_item__noo7z > .tmpl0_0_link__xWA4F,
#events .tmpl0_0_post_item__Zqj9z > .tmpl0_0_link__xWA4F {background:var(--ehime-accent);border:1px solid var(--ehime-accent)}
@media(max-width:767px){
  #events.tmpl0_0_season_area__U8lwc {padding-right:4vw}
  #events .tmpl0_0_season_area_contents__2uAmM {padding-top:54px;border-top-right-radius:56px}
  #events .tmpl0_0_season_area_header__jP98i {margin-left:4vw}
  #events .tmpl0_0_message_wrap__Z9uiq {margin-top:18px}
}
/* Carry the warm backing into the following curved sheet. */
#spot-alternative.ehime-discover {margin-bottom:0}
#events .tmpl0_0_message_wrap__Z9uiq {width:auto}
#events .tmpl0_0_message_frame__56Yzy {display:block;padding:0;font-size:14px;font-weight:400;line-height:1.9}
#events .tmpl0_0_message_frame__56Yzy > .tmpl0_0_icon__U9n_y {display:none}
#events .tmpl0_0_message_frame__56Yzy > .tmpl0_0_text__VHqHm {font:inherit}
/* Event tickets: independent markup avoids the original speech-bubble clipping. */
#events.ehime-events{background:#faf7ef;padding:0 var(--ehime-page-gutter) 0 0;margin-top:0;scroll-margin-top:90px}
.ehime-events-paper{background:#fff;border-top:1px solid #293b32;border-right:1px solid #293b32;border-radius:0 80px 0 0;padding:var(--ehime-inner-space) var(--ehime-inner-space) var(--ehime-section-gap)}
.ehime-events-heading{margin-bottom:36px;display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.ehime-events-heading h2{display:flex;align-items:center;gap:16px;font-size:var(--ehime-heading-size);font-weight:900;line-height:1.4;letter-spacing:.04em;color:#1a1a1a;margin:0}
.ehime-events-heading h2 img{width:var(--ehime-heading-icon);height:var(--ehime-heading-icon);object-fit:contain}
.ehime-events-heading p{font-size:14px;line-height:1.9;margin:0;color:#293b32}
.ehime-events-tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.ehime-event-ticket{display:flex;flex-direction:column;color:#293b32;min-width:0;background:#faf7ef;position:relative;transition:transform .2s}
.ehime-event-ticket:hover{transform:translateY(-4px)}
.ehime-event-ticket:focus-visible{outline:3px solid #426955;outline-offset:5px}
.ehime-event-photo{aspect-ratio:16/10;overflow:hidden;margin:10px 10px 0}
.ehime-event-photo img{height:100%;width:100%;object-fit:cover;transition:transform .3s}
.ehime-event-ticket:hover img{transform:scale(1.035)}
.ehime-event-stub{position:relative;border-top:1px dashed #b9b6a6;margin-top:18px;padding:20px 24px 18px;flex:1;display:flex;flex-direction:column}
.ehime-event-stub:before,.ehime-event-stub:after{content:"";position:absolute;top:-10px;width:20px;height:20px;background:#fff;border-radius:50%}
.ehime-event-stub:before{left:-10px}.ehime-event-stub:after{right:-10px}
.ehime-event-date-label{font-size:10px;letter-spacing:.12em;color:#647767}
.ehime-event-date{display:flex;align-items:center;gap:12px;font-size:clamp(22px,2.1vw,32px);font-weight:800;line-height:1.3;margin:4px 0 14px;color:#a96030;font-variant-numeric:tabular-nums}
.ehime-event-date>span{font-size:14px;font-weight:400}
.ehime-event-stub h3{font-size:16px;line-height:1.7;font-weight:700;margin:0 0 22px}
.ehime-event-go{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.08em}
.ehime-event-go>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #b9c5b9;border-radius:50%;font-size:20px}
.ehime-events-footer{margin-top:36px;padding-top:24px;border-top:1px solid #deded2;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ehime-events-footer p{font-size:11px;color:#777}
.ehime-events-footer>a{display:flex;justify-content:space-between;align-items:center;gap:48px;background:#426955;color:#fff;border-radius:50px;padding:20px 28px;font-weight:700;font-size:16px}
@media(max-width:1000px){.ehime-events-tickets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){#events.ehime-events{padding-right:4vw}.ehime-events-paper{padding:40px 20px 40px;border-radius:0 56px 0 0}.ehime-events-heading{gap:18px;margin-bottom:28px}.ehime-events-heading p{font-size:13px}.ehime-events-tickets{grid-template-columns:1fr;gap:24px}.ehime-event-photo{aspect-ratio:16/9}.ehime-event-stub{padding:16px 20px}.ehime-event-date{font-size:26px}.ehime-events-footer{flex-direction:column-reverse;gap:16px}.ehime-events-footer>a{width:100%;padding:18px 20px;font-size:14px;gap:16px}}
@media(prefers-reduced-motion:reduce){.ehime-event-ticket,.ehime-event-photo img{transition:none}}
/* A connected, browsable event calendar. */
.ehime-event-calendar{display:flex;gap:8px;overflow:auto;padding:4px 2px 22px;scrollbar-width:none}
.ehime-event-calendar button{flex:0 0 auto;background:transparent;border:1px solid #aeb9ac;border-radius:24px;padding:9px 20px;color:#426955;font:inherit;font-size:13px;cursor:pointer;transition:background .2s,color .2s}
.ehime-event-calendar button[aria-pressed="true"]{background:#426955;color:#fff;border-color:#426955}
.ehime-events-tickets{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border:1px solid #293b32;border-radius:40px;overscroll-behavior-x:contain}
.ehime-events-tickets::-webkit-scrollbar{display:none}
.ehime-event-ticket{flex:0 0 33.3333%;scroll-snap-align:start;border-right:1px solid #293b32;background:#faf7ef;padding:24px;transition:background .25s}
.ehime-event-ticket:last-child{border-right:0}
.ehime-event-ticket:hover{transform:none;background:#f6ecda}
.ehime-event-photo{margin:0;aspect-ratio:1.25;border-radius:100px 100px 18px 18px;order:1}
.ehime-event-stub{display:contents}
.ehime-event-stub:before,.ehime-event-stub:after{display:none}
.ehime-event-date-label{order:-2;font-size:11px;letter-spacing:.1em}
.ehime-event-date{order:-1;color:#293b32;margin:6px 0 22px;font-size:clamp(22px,2.2vw,34px);position:relative;align-self:flex-start;isolation:isolate}
.ehime-event-date:after{content:"";position:absolute;left:0;right:-6px;bottom:0;height:9px;background:#edc29b;border-radius:50%;z-index:-1;transform:rotate(-2deg)}
.ehime-event-stub h3{order:2;margin:22px 0;font-size:16px}
.ehime-event-go{order:3;padding-top:16px;border-top:1px dashed #c7c8b8}
.ehime-event-ticket:hover .ehime-event-go>span{background:#426955;color:#fff;border-color:#426955}
.ehime-event-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px}
.ehime-event-position{margin-right:auto;font-size:12px;letter-spacing:.12em;color:#426955}
.ehime-event-controls button{width:46px;height:46px;border:1px solid #426955;background:transparent;color:#426955;border-radius:50%;font-size:22px;cursor:pointer}
.ehime-event-controls button:hover:not(:disabled){background:#426955;color:white}
.ehime-event-controls button:disabled{opacity:.3;cursor:default}
.ehime-event-calendar button:focus-visible,.ehime-event-controls button:focus-visible{outline:2px solid #a96030;outline-offset:3px}
.ehime-events-footer{margin-top:24px}
@media(max-width:1000px){.ehime-event-ticket{flex-basis:50%}}
@media(max-width:767px){.ehime-event-ticket{flex-basis:88%;padding:20px}.ehime-events-tickets{border-radius:32px}.ehime-event-calendar button{padding:8px 16px}.ehime-event-photo{aspect-ratio:1.2}.ehime-event-date{font-size:27px}.ehime-event-stub h3{font-size:15px}}
.ehime-events-tickets:after{content:"";flex:0 0 66.6667%;background:repeating-linear-gradient(0deg,#faf7ef 0px,#faf7ef 31px,#e9e7da 32px)}
@media(max-width:1000px){.ehime-events-tickets:after{flex-basis:50%}}
@media(max-width:767px){.ehime-events-tickets:after{flex-basis:12%}}
/* Three isolated Instagram proposals for comparison. */
.ig-comparisons{margin:var(--ehime-section-gap) var(--ehime-page-gutter);color:#293b32}
.ig-comparison-note{font-size:12px;line-height:1.8;margin-bottom:24px;color:#72766c}
.ig-demo{padding:var(--ehime-inner-space);margin-bottom:64px;position:relative;overflow:hidden}
.ig-option{font-size:12px;letter-spacing:.12em;margin:0 0 32px}
.ig-demo h2{font-size:clamp(26px,3vw,44px);font-weight:900;line-height:1.6;letter-spacing:.03em;margin:0 0 20px}
.ig-demo p{line-height:1.9}.ig-demo h2+p{font-size:14px}
.ig-cta{display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid #293b32;border-radius:40px;background:#426955;color:white;padding:18px 28px;font:inherit;font-size:15px;font-weight:700;white-space:nowrap}
.ig-cta:disabled{opacity:1;cursor:default}.ig-cta svg{width:23px;height:23px}.ig-cta>span{margin-left:20px;font-size:23px}
.ig-album{background:#faf7ef;border-radius:56px 12px 56px 12px}
.ig-album-top{display:flex;justify-content:space-between;align-items:center;gap:32px}.ig-doodle{width:30%;max-width:280px}
.ig-album-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:42px 0 30px}
.ig-album-photos figure{position:relative;padding:12px 12px 18px;background:white;border:1px solid #d9d8cb;margin:0;transition:transform .25s}
.ig-album-photos figure:before{content:"";position:absolute;width:64px;height:20px;top:-10px;left:calc(50% - 32px);background:#e6bd8bcc;z-index:1;transform:rotate(-5deg)}
.ig-album-photos figure:hover{transform:translateY(-7px)}
.ig-album-photos img{width:100%;aspect-ratio:1.15;object-fit:cover}.ig-album-photos figcaption{font-size:12px;padding-top:14px;text-align:center}
.ig-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.ig-bottom p{font-size:13px}
.ig-sign{background:#d89b68;border-radius:100px 0 100px 0}.ig-sign-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}
.ig-orbit{position:relative;margin:20px}.ig-orbit>img:first-child{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;border:12px solid #faf7ef}
.ig-orbit-note{position:absolute;top:0;right:-10px;background:#faf7ef;border:1px solid #293b32;border-radius:50%;padding:24px 18px;line-height:1.6;font-weight:700;transform:rotate(8deg)}
.ig-orbit .ig-orbit-art{position:absolute;width:36%;bottom:-16px;left:-20px;filter:drop-shadow(0 4px 0 #faf7ef)}
.ig-sign-copy>svg{width:40px;height:40px;margin-bottom:22px}.ig-sign-copy h2{font-size:clamp(26px,2.7vw,40px)}.ig-sign-copy .ig-cta{margin-top:28px;background:#faf7ef;color:#293b32}.ig-small{display:block;font-size:11px;margin-top:14px}
.ig-film{background:#426955;color:#fff;border-radius:48px}.ig-film-heading{display:flex;align-items:center;justify-content:space-between;gap:28px}.ig-film-heading h2{font-size:clamp(24px,2.5vw,36px)}.ig-film .ig-cta{background:#faf7ef;color:#293b32;border:0}
.ig-film-window{display:flex;gap:18px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:36px calc(-1 * var(--ehime-inner-space)) 0;padding:24px var(--ehime-inner-space);border-top:2px dashed #a7bb9f;border-bottom:2px dashed #a7bb9f}
.ig-film-window figure{flex:0 0 29%;margin:0;scroll-snap-align:center}.ig-film-window img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:80px 80px 8px 8px}.ig-film-window figcaption{font-size:12px;margin-top:12px}.ig-film-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:24px;font-size:12px}.ig-film-bottom button{width:44px;height:44px;border:1px solid #c3d0be;border-radius:50%;color:white;background:transparent;font-size:22px;cursor:pointer;margin-left:8px}.ig-film-bottom button:hover{background:#faf7ef;color:#426955}
@media(max-width:767px){.ig-demo{padding:28px 20px;margin-bottom:40px}.ig-demo h2{font-size:25px}.ig-option{margin-bottom:24px}.ig-album{border-radius:36px 8px}.ig-album-top{gap:0}.ig-doodle{position:absolute;width:88px;right:16px;top:25px;opacity:.85}.ig-album-photos{gap:8px;margin-top:32px}.ig-album-photos figure{padding:5px 5px 12px}.ig-album-photos figure:before{width:32px;left:calc(50% - 16px);height:13px;top:-7px}.ig-album-photos figcaption{font-size:10px;line-height:1.7}.ig-bottom,.ig-film-heading{align-items:stretch;flex-direction:column}.ig-bottom{gap:14px}.ig-cta{font-size:14px;padding:16px}.ig-sign{border-radius:64px 0}.ig-sign-layout{grid-template-columns:1fr;gap:32px}.ig-orbit{max-width:260px;margin:0 auto;width:85%}.ig-orbit-note{font-size:12px;padding:18px 14px}.ig-sign-copy>svg{width:30px;height:30px;margin-bottom:12px}.ig-sign-copy{text-align:center}.ig-sign-copy h2{font-size:26px}.ig-film{border-radius:32px}.ig-film-window{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.ig-film-window figure{flex-basis:72%}.ig-film-bottom{gap:12px}.ig-film-bottom>div{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.ig-album-photos figure{transition:none}}
/* Compact Instagram banner alternatives. */
.ig-banner-comparisons{scroll-margin-top:110px}
.ig-banner-option{margin-bottom:40px}.ig-banner-option>.ig-option{margin-bottom:14px}
.ig-banner{display:flex;align-items:center;gap:32px;position:relative;padding:32px 40px;min-height:200px;color:#293b32;overflow:hidden;transition:box-shadow .25s}
.ig-banner:hover{box-shadow:0 7px 0 #293b3212}.ig-banner:focus-visible{outline:3px solid #426955;outline-offset:5px}
.ig-banner-copy{flex:1;position:relative;z-index:1}.ig-banner h2{font-size:clamp(22px,2.1vw,32px);line-height:1.6;font-weight:900;margin:8px 0;letter-spacing:.03em}.ig-banner p{font-size:13px;line-height:1.8;margin:0}.ig-banner-eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.08em}.ig-banner-eyebrow svg{width:20px;height:20px}
.ig-banner-action{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:700;white-space:nowrap}.ig-banner-arrow{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:46px;height:46px;font-size:24px;transition:transform .25s,background .25s}.ig-banner:hover .ig-banner-arrow{transform:translate(3px,-3px);background:#ffffff50}
.ig-banner-mobile{display:none}.ig-banner-a{background:#faf7ef;border-radius:60px 12px 60px 12px}.ig-banner-landscape{width:180px;object-fit:contain}
.ig-banner-b{background:#d89b68;border-radius:16px 64px 16px 64px}.ig-banner-stamp{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:118px;height:118px;border:1px dashed #293b32;border-radius:50%;transform:rotate(-9deg)}.ig-banner-stamp svg{width:42px;height:42px}.ig-banner-stamp small{font-size:9px;letter-spacing:.15em;margin-top:12px}
.ig-banner-c{background:#faf7ef;border:1px solid #426955;border-radius:16px;color:#293b32;padding-left:44px}.ig-banner-c:before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:#426955}.ig-banner-cup{width:100px;height:100px;object-fit:contain}.ig-banner-c .ig-banner-action{border-left:1px dashed #b7c0ac;padding-left:32px}
@media(max-width:767px){.ig-banner-option{margin-bottom:32px}.ig-banner{padding:24px;gap:16px;flex-wrap:wrap;min-height:0}.ig-banner h2{font-size:21px}.ig-banner p{font-size:12px}.ig-banner-mobile{display:block}.ig-banner-copy{flex-basis:100%}.ig-banner-action{margin-left:auto;font-size:12px;gap:12px}.ig-banner-arrow{width:38px;height:38px;font-size:21px}.ig-banner-landscape{position:absolute;right:12px;bottom:55px;width:95px;opacity:.8}.ig-banner-a{border-radius:36px 8px}.ig-banner-a .ig-banner-action{margin-top:10px}.ig-banner-b{border-radius:12px 40px}.ig-banner-stamp{position:absolute;right:14px;top:16px;width:52px;height:52px}.ig-banner-stamp svg{width:24px;height:24px}.ig-banner-stamp small{display:none}.ig-banner-c{padding-left:28px}.ig-banner-cup{position:absolute;right:18px;top:24px;width:45px;height:45px}.ig-banner-c .ig-banner-action{border-left:0;padding-left:0}.ig-banner-eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ig-banner,.ig-banner-arrow{transition:none}}
/* Selected official Instagram banner. */
.ig-official .ig-banner-eyebrow{font-size:14px;font-weight:700;letter-spacing:.06em}
.ig-official .ig-banner h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:.01em;line-height:1.25;margin:10px 0 12px}
.ig-official .ig-banner-eyebrow svg{width:24px;height:24px}
@media(max-width:767px){.ig-official .ig-banner-eyebrow{font-size:13px}.ig-official .ig-banner h2{font-size:36px}.ig-official .ig-banner-landscape{bottom:62px;width:78px}.ig-official .ig-banner p{max-width:210px}.ig-official .ig-banner-action{margin-top:24px}}
/* Match the official Instagram banner to the site's warm orange accent. */
.ig-official .ig-banner-a{background:var(--ehime-accent,#d89b68)}
/* Official Instagram: white headline and a readable mobile illustration. */
.ig-official .ig-banner h2{color:#fff}
@media(max-width:767px){
  .ig-official .ig-banner-a{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:18px 8px}
  .ig-official .ig-banner-copy{grid-column:1 / -1}
  .ig-official .ig-banner-landscape{position:static;grid-column:2;grid-row:2;width:118px;height:88px;object-fit:contain;opacity:1}
  .ig-official .ig-banner-action{grid-column:1;grid-row:2;margin:0;white-space:normal;gap:8px;font-size:11px}
  .ig-official .ig-banner-arrow{flex-shrink:0;width:32px;height:32px}
  .ig-official .ig-banner p{max-width:none}
}
/* Keep all text and interface icons white inside the official SNS banner. */
.ig-official .ig-banner-a,
.ig-official .ig-banner-a h2,
.ig-official .ig-banner-a p,
.ig-official .ig-banner-eyebrow,
.ig-official .ig-banner-action{color:#fff}
/* Town editorial board: connected columns, illustrated covers and pinned notes. */
#town-news.ehime-town-board{margin:var(--ehime-section-gap) var(--ehime-page-gutter);padding:var(--ehime-inner-space);background:#faf7ef;border:1px solid #293b32;border-radius:56px 56px 12px 12px;color:#293b32;scroll-margin-top:100px}
.town-board-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:38px}.town-board-heading h2{display:flex;align-items:center;gap:16px;font-size:var(--ehime-heading-size);font-weight:900;line-height:1.4;color:#1a1a1a;margin:0 0 20px}.town-board-heading h2 img{width:var(--ehime-heading-icon);height:var(--ehime-heading-icon);object-fit:contain}.town-board-heading p{font-size:14px;line-height:1.9;margin:0}
.town-board-note{position:relative;background:#efc499;border-radius:50% 46% 48% 42%;padding:27px 32px;font-size:17px;font-weight:700;line-height:1.8;transform:rotate(6deg);flex-shrink:0}.town-board-note:after{content:"";position:absolute;bottom:-10px;left:23px;border:12px solid transparent;border-top-color:#efc499;transform:rotate(22deg)}
.town-story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #293b32;border-bottom:1px solid #293b32}.town-story{padding:24px 18px 18px;min-width:0;display:flex;flex-direction:column;border-right:1px solid #b5b9ad}.town-story:first-child{padding-left:0}.town-story:last-child{border-right:0;padding-right:0}
.town-story-cover{position:relative;border-radius:70px 70px 8px 8px;background:#ead4b6;padding-top:25px;color:#426955;overflow:hidden}.town-cover-1{background:#dce4d4}.town-cover-2{background:#f1d5bd}.town-cover-3{background:#e5e0c8}.town-story-cover svg{width:100%;height:auto;transition:transform .35s}.town-story:hover .town-story-cover svg{transform:translateY(-4px) rotate(-3deg)}.town-story-category{display:table;margin:0 auto;font-size:11px;background:#faf7ef;border:1px solid #8c9c89;border-radius:20px;padding:5px 12px}.town-cover-caption{display:block;text-align:center;font-size:10px;letter-spacing:.03em;padding:0 8px 18px}
.town-story-body{display:flex;flex-direction:column;flex:1;padding-top:20px}.town-story-meta{font-size:10px;color:#748070;letter-spacing:.06em}.town-story h3{font-size:17px;font-weight:800;line-height:1.8;margin:12px 0}.town-story-body>p{font-size:12px;line-height:1.9;color:#647063;margin:0 0 24px}.town-story-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #c1c5b7;padding-top:12px;margin-top:auto;font-size:10px}.town-story-bottom>span{color:#b67a49;font-size:24px}.town-board-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:24px}.town-board-footer>span{font-size:13px}.town-board-footer p{font-size:10px;color:#777;line-height:1.8;margin:0}
@media(max-width:1100px){.town-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.town-story:nth-child(2){border-right:0;padding-right:0}.town-story:nth-child(3){padding-left:0}.town-story:nth-child(n+3){border-top:1px solid #b5b9ad}.town-story:last-child{padding-left:18px}}
@media(max-width:767px){#town-news.ehime-town-board{padding:28px 20px;border-radius:36px 36px 10px 10px}.town-board-heading{gap:12px;align-items:flex-start;margin-bottom:26px}.town-board-heading h2{gap:10px;font-size:24px}.town-board-heading p{font-size:12px}.town-board-note{font-size:10px;padding:15px 10px;position:absolute;right:24px;top:25px}#town-news.ehime-town-board{position:relative}.town-board-heading h2{margin-bottom:24px}.town-story-grid{grid-template-columns:1fr}.town-story,.town-story:first-child,.town-story:last-child{padding:22px 0;border-right:0;display:grid;grid-template-columns:105px minmax(0,1fr);gap:16px}.town-story+.town-story{border-top:1px solid #b5b9ad}.town-story-cover{align-self:start;border-radius:42px 42px 6px 6px;padding-top:14px}.town-story-category{font-size:9px;padding:4px 7px}.town-cover-caption{font-size:9px;line-height:1.6;padding:0 5px 12px}.town-story-body{padding:0}.town-story h3{font-size:14px;line-height:1.8;margin:8px 0}.town-story-body>p{font-size:11px;margin-bottom:14px}.town-board-footer>span{font-size:12px}.town-board-note{display:none}}
@media(prefers-reduced-motion:reduce){.town-story-cover svg{transition:none}}
/* Town article photos and a clear archive entrance. */
.town-story-cover{padding-top:0;border-radius:24px 24px 8px 8px;aspect-ratio:4/3}
.town-story-photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.town-story:hover .town-story-photo{transform:scale(1.035)}
.town-story-category{position:absolute;z-index:1;left:12px;bottom:12px;margin:0;background:#faf7ef}
.town-board-art{width:220px;max-width:28%;height:auto;object-fit:contain}
.town-board-footer{align-items:center;flex-direction:row-reverse}
.town-more{display:flex;align-items:center;justify-content:space-between;gap:40px;border-radius:50px;padding:20px 28px;background:#426955;color:#fff;font-weight:700;font-size:16px;min-width:300px}
.town-more:hover{background:#335443}.town-more:focus-visible{outline:3px solid #a96030;outline-offset:4px}
@media(max-width:767px){.town-board-art{width:86px;max-width:26%;align-self:center}.town-board-heading p{font-size:11px}.town-story-cover{padding:0;border-radius:20px 20px 6px 6px;aspect-ratio:1}.town-story-category{left:5px;bottom:5px;font-size:8px;padding:3px 5px}.town-more{width:100%;min-width:0;font-size:14px;padding:18px 20px;gap:14px}.town-board-footer{flex-direction:column;align-items:stretch}.town-board-footer p{text-align:center}}
@media(prefers-reduced-motion:reduce){.town-story-photo{transition:none}}
/* Give the town illustration its own space on narrow screens. */
@media(max-width:767px){
  #town-news .town-board-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:22px}
  #town-news .town-board-heading h2{margin-bottom:18px}
  #town-news .town-board-heading p{font-size:12px;line-height:1.9}
  #town-news .town-board-art{display:block;width:min(100%,300px);max-width:none;height:auto;justify-self:center;align-self:auto;margin:0}
}
/* The hero keeps its slide indicators without previous/next controls. */
.tmpl0_0_first_view__NcbMD .tmpl0_0_ctrl_prev__q3Kor,
.tmpl0_0_first_view__NcbMD .tmpl0_0_ctrl_next__OXf6A{display:none}
/* The active hero marker fills with the same clock that advances the slide. */
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a{position:relative;overflow:hidden}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a.tmpl0_0_current__qQg7n{background:#c4c4c4}
.tmpl0_0_first_view__NcbMD .tmpl0_0_indicator__p7dii a:after{content:"";position:absolute;inset:0;background:var(--ehime-accent);transform:scaleX(0);transform-origin:left center;border-radius:inherit}
.tmpl0_0_first_view__NcbMD .tmpl0_0_indicator__p7dii a.tmpl0_0_current__qQg7n:after{transform:scaleX(var(--hero-progress,0))}
/* Original category panels and a notebook-like drawer. */
.hamburger,.sp_site_menu{display:none!important}
.eh-nav-item{position:static!important;display:flex;align-items:center;justify-content:center}
.eh-nav-toggle{border:0;background:transparent;color:#426955;cursor:pointer;font-size:18px;padding:8px}
.site_header,.site_fixed_header{overflow:visible!important}
.eh-nav-panel{position:absolute;top:100%;right:20px;width:min(650px,85vw);padding:28px;display:grid;grid-template-columns:190px 1fr;gap:28px;background:#fffdf6;border:1px solid #426955;border-top:5px solid #d89b68;border-radius:0 0 28px 28px;box-shadow:0 16px 30px #293b3220;z-index:1000;text-align:left}
.eh-nav-panel[hidden]{display:none}.eh-nav-intro{border-right:1px dashed #bdc8b9;padding-right:24px}.eh-nav-intro img{width:48px;height:48px;object-fit:contain}.eh-nav-intro strong{display:block;font-size:20px;margin:12px 0}.eh-nav-intro p{font-size:12px;line-height:1.8;margin-bottom:18px}.eh-nav-panel a{color:#293b32!important;font-size:13px!important;line-height:1.7!important;height:auto!important}.eh-nav-categories{display:grid;grid-template-columns:1fr 1fr;gap:12px}.eh-nav-categories a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;background:#f1efe5;border-radius:12px}.eh-nav-categories a:hover{background:#f2d1af}.eh-nav-panel a:focus-visible,.eh-nav-toggle:focus-visible{outline:2px solid #426955;outline-offset:3px}
.eh-drawer-trigger{display:none;position:fixed;right:18px;top:20px;z-index:1200;border:1px solid #426955;border-radius:16px;background:#faf7ef;color:#426955;width:54px;height:54px;cursor:pointer}.eh-drawer-trigger>span{display:block;font-size:23px;line-height:1}.eh-drawer-trigger small{font-size:9px;letter-spacing:.12em}
.eh-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,94vw);max-width:94vw;height:100dvh;max-height:100dvh;box-sizing:border-box;border:0;border-left:1px solid #426955;border-radius:30px 0 0 30px;padding:28px;background:#faf7ef;color:#293b32;overflow-y:auto}.eh-drawer::backdrop{background:#1d352d88;backdrop-filter:blur(3px)}.eh-drawer header{display:flex;align-items:center;justify-content:space-between}.eh-drawer header img{width:108px}.eh-drawer-close{width:42px;height:42px;border:1px solid #426955;border-radius:50%;background:transparent;color:#426955;font-size:30px;cursor:pointer}.eh-drawer-kicker{font-size:11px;letter-spacing:.12em;margin:28px 0 10px}.eh-drawer h2{font-size:23px;font-weight:900;margin-bottom:26px}.eh-drawer details{border-top:1px solid #c4c8b9}.eh-drawer details:last-child{border-bottom:1px solid #c4c8b9}.eh-drawer summary{display:flex;align-items:center;gap:14px;cursor:pointer;padding:17px 0;font-weight:700;list-style:none}.eh-drawer summary::-webkit-details-marker{display:none}.eh-drawer summary img{width:36px;height:36px;object-fit:contain}.eh-detail-plus{margin-left:auto}.eh-drawer details[open] .eh-detail-plus{transform:rotate(45deg)}.eh-drawer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:20px}.eh-drawer-links a{font-size:12px;line-height:1.7;background:#fff;padding:12px;border-radius:10px;display:flex;justify-content:space-between}.eh-drawer-links a:first-child{grid-column:1 / -1;background:#e8d9c5}.eh-drawer-areas{display:flex;gap:8px;margin:24px 0}.eh-drawer-areas a{flex:1;text-align:center;padding:10px 4px;border:1px solid #9ba98f;border-radius:24px;font-size:12px}.eh-drawer-instagram{display:block;background:#d89b68;border-radius:16px;padding:16px;font-size:14px;font-weight:700;text-align:center}.eh-drawer-art{display:block;width:180px;margin:24px auto 0}.eh-drawer a:focus-visible,.eh-drawer button:focus-visible,.eh-drawer summary:focus-visible{outline:2px solid #426955;outline-offset:3px}
@media(max-width:767px){.eh-drawer-trigger{display:block}.eh-nav-panel{display:none}.eh-nav-toggle{display:none}}
/* A larger, grouped directory without an oversized vertical menu. */
.eh-nav-panel{width:min(840px,90vw);grid-template-columns:180px minmax(0,1fr);max-height:calc(100dvh - 180px);overflow-y:auto}
.eh-nav-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.eh-nav-categories a{padding:13px 12px;font-size:12px!important}
@media(min-width:768px) and (max-width:1000px){.eh-nav-panel{grid-template-columns:145px minmax(0,1fr);padding:20px;gap:20px}.eh-nav-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
.eh-drawer summary{font-size:16px;line-height:1.5}
/* Plain column lists with smooth mandarin markers. */
.eh-nav-panel{display:block;width:min(640px,85vw);padding:28px 32px;background:#fff;border:1px solid #deded5;border-top:3px solid #d89b68;border-radius:0 0 18px 18px}
.eh-nav-intro{display:none}
.eh-nav-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.eh-nav-feature .eh-nav-categories{grid-template-rows:repeat(5,auto);grid-auto-flow:column}
.eh-nav-panel .eh-nav-categories a{display:flex;justify-content:flex-start;gap:10px;background:transparent;border-radius:0;padding:11px 0;font-size:13px!important;font-weight:700;color:#1a1a1a!important}
.eh-nav-panel .eh-nav-categories a:hover{background:transparent;color:#aa622b!important}
.eh-mikan{position:relative;display:inline-block;flex:0 0 12px;width:12px;height:11px;border-radius:48% 48% 45% 45%;background:radial-gradient(circle at 32% 28%,#ffd78a 0,#ffad3c 35%,#ec841d 85%);box-shadow:inset -1px -1px 1px #d7771738}
.eh-mikan:before{content:"";position:absolute;width:6px;height:3px;background:#4b8552;border-radius:0 80% 0 80%;top:-2px;left:6px;transform:rotate(-25deg)}
.eh-nav-spot{width:min(470px,85vw)}.eh-nav-spot .eh-nav-categories{grid-template-columns:1.3fr 1fr;grid-template-rows:repeat(3,auto);grid-auto-flow:column}.eh-nav-spot .eh-nav-categories a:first-child{grid-row:1 / 4;align-self:start}
.eh-drawer-direct{display:flex;align-items:center;gap:14px;padding:17px 0;border-top:1px solid #c4c8b9;font-size:16px;font-weight:700}.eh-drawer-direct img{width:36px;height:36px;object-fit:contain}
.eh-drawer-links a{justify-content:flex-start;align-items:center;gap:9px;background:transparent;border-radius:0;padding:10px 0}.eh-drawer-links a:first-child{background:transparent}
/* Anchor each dropdown to its own navigation item with no hover gap. */
.eh-nav-item{position:relative!important;align-self:stretch}
.eh-nav-item > .eh-nav-panel{top:100%;left:0;right:auto;margin-top:0}
.eh-nav-item:last-child > .eh-nav-panel{left:auto;right:0}
.site_fixed_header .eh-nav-item > .eh-nav-panel{left:auto;right:0}
.site_fixed_header .eh-nav-item:first-child > .eh-nav-panel{left:50%;right:auto;transform:translateX(-50%)}
.eh-nav-item > .eh-nav-panel:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;background:transparent}
.site_fixed_header .eh-nav-item:first-child > .eh-nav-panel{left:auto;right:0;transform:none}
/* Center each dropdown on its trigger; JS clamps only viewport overflow. */
.site_header .eh-nav-item > .eh-nav-panel,
.site_header .eh-nav-item:last-child > .eh-nav-panel,
.site_fixed_header .eh-nav-item > .eh-nav-panel,
.site_fixed_header .eh-nav-item:first-child > .eh-nav-panel,
.site_fixed_header .eh-nav-item:last-child > .eh-nav-panel{
  left:50%;right:auto;transform:translateX(calc(-50% + var(--nav-shift,0px)));
}
/* Refined dropdown frame, keeping centered positioning and hover continuity. */
.site_header .eh-nav-panel,
.site_fixed_header .eh-nav-panel{
  background:#fffdf8;
  border:1px solid #718273;
  border-top:1px solid #718273;
  border-radius:24px;
  box-shadow:0 5px 0 #e8d9c580,0 16px 32px #293b3214;
  padding:30px 34px;
}
.eh-nav-panel .eh-nav-categories a{border-radius:8px;transition:background .18s,color .18s}
.eh-nav-panel .eh-nav-categories a:hover{background:#f6eee1}
@media(prefers-reduced-motion:reduce){.eh-nav-panel .eh-nav-categories a{transition:none}}
/* Mobile menu: a smooth mandarin silhouette with its own leaf. */
@media(max-width:767px){
 .eh-drawer-trigger{width:58px;height:54px;top:22px;right:18px;border:1px solid #b87336;border-radius:46% 48% 43% 45%;background:linear-gradient(145deg,#efbc80,#d99451);color:#fff;box-shadow:0 3px 0 #fff9,0 5px 12px #6844201c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;isolation:isolate}
 .eh-drawer-trigger:before{content:"";position:absolute;width:17px;height:9px;top:-7px;left:32px;background:#426955;border-radius:2px 95% 2px 95%;transform:rotate(-24deg);border:1px solid #fff8}
 .eh-drawer-trigger:after{content:"";position:absolute;left:8px;top:9px;width:5px;height:9px;border-radius:50%;background:#fff5;transform:rotate(30deg)}
 .eh-drawer-trigger>span{font-size:0;display:block;width:22px;height:12px;border-top:2px solid #fff;border-bottom:2px solid #fff;position:relative}
 .eh-drawer-trigger>span:after{content:"";position:absolute;left:0;right:5px;top:4px;border-top:2px solid #fff}
 .eh-drawer-trigger small{font-size:9px;line-height:1;letter-spacing:.1em;font-weight:700}
 .eh-drawer-trigger:active{transform:translateY(2px)}
 .eh-drawer-trigger:focus-visible{outline:3px solid #426955;outline-offset:5px}
}
/* Drawer search entrance and matching mandarin close control. */
.eh-drawer header{gap:20px;align-items:center;padding-top:7px}
.eh-drawer-search{flex:1;min-width:0}.eh-drawer-search label{display:block;font-size:10px;letter-spacing:.15em;color:#426955;font-weight:700;margin-bottom:8px}.eh-drawer-search>div{display:flex;border-bottom:1px solid #7b8e7d;padding-bottom:6px}.eh-drawer-search input{min-width:0;width:100%;border:0;background:transparent;color:#293b32;font-size:16px;outline-offset:2px}.eh-drawer-search button{flex-shrink:0;width:32px;height:32px;border:0;background:transparent;color:#426955;cursor:pointer}.eh-drawer-search svg{width:22px;height:22px}
.eh-drawer .eh-drawer-close{position:relative;flex-shrink:0;width:58px;height:54px;border:1px solid #b87336;border-radius:46% 48% 43% 45%;background:linear-gradient(145deg,#efbc80,#d99451);color:#fff;box-shadow:0 3px 0 #fff9,0 5px 12px #6844201c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.eh-drawer-close:before{content:"";position:absolute;width:17px;height:9px;top:-7px;left:32px;background:#426955;border-radius:2px 95% 2px 95%;transform:rotate(-24deg);border:1px solid #fff8}
.eh-drawer-close:after{content:"";position:absolute;left:8px;top:9px;width:5px;height:9px;border-radius:50%;background:#fff5;transform:rotate(30deg)}
.eh-drawer-close>span{font-size:29px;line-height:24px}.eh-drawer-close small{font-size:8px;line-height:1;letter-spacing:.08em;font-weight:700}.eh-drawer-close:active{transform:translateY(2px)}
/* Keep submenu controls available to keyboard users without a visible chevron. */
.eh-nav-toggle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.eh-nav-toggle:focus-visible{position:absolute;right:4px;bottom:0;width:auto;height:auto;padding:5px 8px;margin:0;clip-path:none;background:#fffdf8;border:1px solid #426955;border-radius:8px;font-size:11px;z-index:2}
/* A local guide's closing page, independent of the reference footer. */
.ehime-footer{margin-top:80px;padding:56px max(5vw,24px) 24px;background:#edf0e6;color:#293b32;border-radius:70px 70px 0 0;border-top:1px solid #a6b39e;position:relative}
.ehime-footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:1400px;margin:0 auto 36px}.ehime-footer-kicker{font-size:13px;letter-spacing:.12em;margin-bottom:18px}.ehime-footer h2{font-size:clamp(25px,3vw,44px);font-weight:900;line-height:1.6;letter-spacing:.04em}.ehime-footer-scene{width:34%;max-width:370px;object-fit:contain}
.ehime-footer-main{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:6%;border-top:1px solid #a6b39e;padding:36px 0;max-width:1400px;margin:auto}.ehime-footer-brand img{width:180px}.ehime-footer-brand p{font-size:12px;line-height:1.9;margin-top:20px}.ehime-footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-content:start}.ehime-footer-nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px dashed #a6b39e;padding:18px 0;font-size:14px;font-weight:700}.ehime-footer-nav a>span{color:#af7038}.ehime-footer-social>span{display:block;font-size:12px;margin-bottom:14px}.ehime-footer-social>a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:18px;background:#426955;color:white;padding:18px;font-size:14px;font-weight:700}.ehime-footer-social svg{width:24px;height:24px;flex-shrink:0}.ehime-footer-social nav{display:flex;gap:10px;margin-top:18px}.ehime-footer-social nav a{flex:1;text-align:center;border:1px solid #a6b39e;border-radius:30px;padding:8px;font-size:12px}.ehime-footer-bottom{max-width:1400px;margin:auto;border-top:1px solid #a6b39e;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.ehime-footer-bottom small{font-size:10px;line-height:1.8}.ehime-footer-toplink{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.1em}.ehime-footer-toplink span{display:grid;place-items:center;width:42px;height:42px;background:#d89b68;border-radius:50%;font-size:20px}.ehime-footer a:hover{opacity:.75}.ehime-footer a:focus-visible{outline:2px solid #426955;outline-offset:5px}
@media(max-width:767px){.ehime-footer{margin-top:48px;padding:36px 24px 20px;border-radius:38px 38px 0 0}.ehime-footer-top{display:block;margin-bottom:20px}.ehime-footer-kicker{font-size:11px}.ehime-footer h2{font-size:25px}.ehime-footer-scene{display:block;width:240px;max-width:100%;margin:12px auto 0}.ehime-footer-main{grid-template-columns:1fr;gap:28px;padding:28px 0}.ehime-footer-brand{display:flex;align-items:center;gap:18px}.ehime-footer-brand img{width:110px;max-width:none}.ehime-footer-brand p{font-size:11px;margin:0}.ehime-footer-nav a{font-size:14px;padding:15px 0}.ehime-footer-bottom{gap:8px}.ehime-footer-bottom small{font-size:9px}.ehime-footer-toplink{gap:8px}}
/* Footer palette aligned with the site's warm orange. */
.ehime-footer{background:var(--ehime-accent,#d89b68);border-top-color:#b67e50;color:#293b32}
.ehime-footer-main,.ehime-footer-bottom{border-color:#ffffff70}
.ehime-footer-nav a{border-bottom-color:#ffffff80}
.ehime-footer-nav a>span{color:#fff}
.ehime-footer-social nav a{border-color:#ffffffa0;background:#ffffff18}
.ehime-footer-toplink span{background:#faf7ef;color:#426955}
/* White typography throughout the orange footer. */
.ehime-footer,
.ehime-footer h2,
.ehime-footer p,
.ehime-footer a,
.ehime-footer small,
.ehime-footer-social>span{color:#fff}
.ehime-footer .ehime-footer-toplink span{background:#ffffff20;color:#fff;border:1px solid #ffffffa0}
.ehime-footer a:focus-visible{outline-color:#fff}
/* Readable desktop footer navigation and copyright. */
@media(min-width:768px){
 .ehime-footer-nav a{font-size:clamp(18px,1.5vw,22px);line-height:1.6;padding:22px 0;gap:10px}
 .ehime-footer-nav{column-gap:24px}
 .ehime-footer-main{grid-template-columns:1fr 1.3fr 1fr;gap:4%}
 .ehime-footer-bottom{padding-top:28px}
 .ehime-footer-bottom small{font-size:14px;font-weight:700;line-height:1.8;letter-spacing:.03em}
}
@media(min-width:768px) and (max-width:1000px){
 .ehime-footer-main{grid-template-columns:1fr 1.4fr}
 .ehime-footer-social{grid-column:1 / -1;max-width:420px;width:100%}
}
@media(max-width:767px){.ehime-footer-bottom small{font-size:11px;font-weight:600}}
/* Illustrated footer navigation. */
.ehime-footer-nav-art{width:34px;height:34px;object-fit:contain;flex-shrink:0}
.ehime-footer-nav-label{flex:1;color:#fff}
@media(min-width:768px){.ehime-footer-nav{grid-template-columns:1fr}.ehime-footer-nav a{padding:12px 0}.ehime-footer-nav-art{width:38px;height:38px}}
@media(max-width:767px){.ehime-footer-nav-art{width:26px;height:26px}.ehime-footer-nav a{gap:7px;font-size:13px}}
/* A more prominent footer brand mark. */
.ehime-footer-brand img{width:280px;max-width:100%;height:auto}
@media(max-width:767px){.ehime-footer-brand{display:block}.ehime-footer-brand img{width:220px;max-width:100%}.ehime-footer-brand p{margin-top:16px;font-size:12px}}
/* A separate desktop header, with a tiny local stroll. */
@media(min-width:768px){
 .site_header .ehime-utility{position:absolute;left:300px;right:24px;top:10px;height:60px;display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:0}
 .ehime-utility>a{font-size:12px;color:#426955;font-weight:700}
 .ehime-search-toggle{font-size:30px;background:transparent;border:0;color:#426955;cursor:pointer;width:36px;height:40px}
 .ehime-walk{width:150px;height:66px;flex-shrink:0}.ehime-walk svg{width:100%;height:100%}
 .ehime-header-search{position:absolute!important;top:60px;right:160px;z-index:1001;width:300px!important;padding:12px!important;height:auto!important;background:#fffdf8;border:1px solid #718273!important;border-radius:16px!important;display:flex;gap:8px}
 .ehime-header-search[hidden]{display:none!important}.ehime-header-search input{width:100%!important;min-width:0}.ehime-header-search button{border:0;background:#426955;color:white;border-radius:8px;padding:8px;flex-shrink:0}
}
.walk-leg{transform-origin:72px 42px;animation:eh-step 1.2s ease-in-out infinite alternate}.walk-leg.back{animation-delay:-1.2s}.walk-arm{transform-origin:73px 29px;animation:eh-step 1.2s ease-in-out infinite alternate-reverse}.walk-bob{animation:eh-bob .6s ease-in-out infinite alternate}.walk-person{animation:eh-stroll 14s ease-in-out infinite alternate}
@keyframes eh-step{from{transform:rotate(-23deg)}to{transform:rotate(23deg)}}@keyframes eh-bob{to{transform:translateY(-1.5px)}}@keyframes eh-stroll{from{transform:translateX(-25px)}to{transform:translateX(25px)}}
@media(max-width:767px){.ehime-utility{display:none!important}}
@media(min-width:768px) and (max-width:1000px){.site_header .ehime-utility{left:32vw;gap:10px}.ehime-walk{width:70px}.ehime-utility>a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.walk-leg,.walk-arm,.walk-bob,.walk-person{animation:none}}
.ehime-about-dialog{max-width:500px;width:90%;padding:32px;border:1px solid #426955;border-radius:24px;background:#faf7ef;color:#293b32}.ehime-about-dialog::backdrop{background:#293b3277}.ehime-about-dialog>button{float:right;font-size:26px;background:transparent;border:0;cursor:pointer}.ehime-about-dialog h2{font-size:22px;font-weight:800;margin-bottom:20px}.ehime-about-dialog p{font-size:14px;line-height:1.9;margin-top:14px}

/* Let article images and titles lead without tag/category badges. */
.tmpl0_0_first_view__NcbMD .tmpl0_0_tags_group__DuNjv,
.ehime-editorial-category,
.ehime-place-label,
.town-story-category{display:none!important}
/* Draw progress directly on the marker to avoid inherited pseudo-element offsets. */
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii{align-items:center;gap:8px;height:4px}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a{display:block;flex-shrink:0;height:3px;min-height:0;padding:0;margin:0;border:0;line-height:0;box-shadow:none;background:#c4c4c4;transform:none}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a:before,
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a:after{content:none;display:none}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a.tmpl0_0_current__qQg7n{height:3px;background:linear-gradient(to right,var(--ehime-accent) 0%,var(--ehime-accent) calc(var(--hero-progress,0) * 100%),#c4c4c4 calc(var(--hero-progress,0) * 100%),#c4c4c4 100%)}
/* A calm Setouchi wave along the desktop navigation backdrop. */
@media(min-width:768px){
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mv_area__uAncn{border-top:0;border-top-left-radius:0}
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mv_area__uAncn:before{
  content:"";position:absolute;z-index:3;top:0;left:-1px;right:0;height:34px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'%3E%3Cpath d='M0 0V17C150 -5 250 39 400 17S650 -5 800 17S1050 39 1200 17V0Z' fill='white'/%3E%3Cpath d='M0 17C150 -5 250 39 400 17S650 -5 800 17S1050 39 1200 17' fill='none' stroke='%23718273' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center top/100% 100% no-repeat;
 }
}
/* Keep the seam fixed while the wave gently changes shape. */
@media(min-width:768px){
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mv_area__uAncn:before{display:none}
 .ehime-nav-wave{position:absolute;z-index:3;top:0;left:-1px;width:calc(100% + 1px);height:34px;pointer-events:none;overflow:visible}
}
@media(max-width:767px){.ehime-nav-wave{display:none}}
/* Deliberately extend the navigation's vertical rule to the page top. */
.ehime-nav-seam{display:none}
@media(min-width:768px){.ehime-nav-seam{display:block;position:absolute;top:0;width:1px;background:#718273;pointer-events:none;z-index:4}}

/* Show the complete photo over a softly blurred copy. */
.tmpl0_0_first_view__NcbMD .tmpl0_0_main__Nunzs{container-type:size;overflow:hidden;isolation:isolate}
.tmpl0_0_first_view__NcbMD .ehime-hero-backdrop{position:absolute;inset:-24px;background-position:center;background-size:cover;filter:blur(20px);z-index:-1;pointer-events:none}
.tmpl0_0_first_view__NcbMD .ehime-hero-frame{position:relative;width:min(100cqw,calc(100cqh * var(--photo-ratio)));aspect-ratio:var(--photo-ratio);overflow:hidden;flex:none}
.tmpl0_0_first_view__NcbMD .tmpl0_0_images__DeChZ .ehime-hero-frame img{display:block;width:100%;height:auto;max-width:none;transform:none}
.tmpl0_0_first_view__NcbMD .ehime-hero-frame:has(.sp-view){display:none}
@media(max-width:767px){.tmpl0_0_first_view__NcbMD .ehime-hero-frame:has(.pc-view){display:none}.tmpl0_0_first_view__NcbMD .ehime-hero-frame:has(.sp-view){display:block}}

/* An orange editorial ribbon, instead of the floating white title card. */
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66{left:0;bottom:24px;width:calc(100% - 28px);background:#b95b26;color:#fff;border:0;border-radius:0 48px 48px 0;box-shadow:none;overflow:visible}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66:before{content:"";position:absolute;left:25px;top:50%;width:26px;height:25px;border:1.5px solid #fff;border-radius:46% 48% 44% 46%;transform:translateY(-40%)}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66:after{content:"";position:absolute;left:39px;top:calc(50% - 20px);width:13px;height:7px;border-radius:100% 0 100% 0;background:#fff;transform:rotate(-15deg)}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_article_titles__Lpwb_{padding:22px 38px 22px 74px}
.tmpl0_0_first_view__NcbMD .tmpl0_0_article_titles__Lpwb_ .tmpl0_0_item__r6QEU{height:auto;min-height:3em;font-size:clamp(18px,1.65vw,28px);line-height:1.6}
.tmpl0_0_first_view__NcbMD .tmpl0_0_article_titles__Lpwb_ a{color:inherit}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii{top:-18px;left:26px;padding:0;filter:drop-shadow(0 1px 2px #0006)}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a{background:#ffffff70}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a.tmpl0_0_current__qQg7n{background:linear-gradient(to right,#fff 0%,#fff calc(var(--hero-progress,0)*100%),#ffffff70 calc(var(--hero-progress,0)*100%),#ffffff70 100%)}
@media(max-width:767px){
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66{bottom:18px;width:calc(100% - 16px);border-radius:0 30px 30px 0}
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_article_titles__Lpwb_{padding:16px 22px 16px 49px}
 .tmpl0_0_first_view__NcbMD .tmpl0_0_article_titles__Lpwb_ .tmpl0_0_item__r6QEU{font-size:15px;min-height:3.2em}
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66:before{left:16px;width:19px;height:19px}
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66:after{left:26px;top:calc(50% - 16px);width:10px;height:6px}
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii{left:17px;top:-16px}
}

/* White ribbon with slide progress inside, above the headline. */
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66{background:#fff;color:#1a1a1a}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66:before{border-color:#cf874c;top:calc(50% + 7px)}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66:after{background:#426857;top:calc(50% - 13px)}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_article_titles__Lpwb_{padding-top:38px}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii{top:19px;left:74px;filter:none}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a{background:#c4c4c4}
.tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii a.tmpl0_0_current__qQg7n{background:linear-gradient(to right,var(--ehime-accent) 0%,var(--ehime-accent) calc(var(--hero-progress,0)*100%),#c4c4c4 calc(var(--hero-progress,0)*100%),#c4c4c4 100%)}
@media(max-width:767px){
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_article_titles__Lpwb_{padding-top:31px}
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66 .tmpl0_0_indicator__p7dii{top:14px;left:49px;gap:6px}
 .tmpl0_0_first_view__NcbMD .tmpl0_0_mod_mv_meta_box__Rfb66:after{top:calc(50% - 9px)}
}

/* Fill feature thumbnails regardless of the uploaded image proportions. */
.ehime-editorial-photo > img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;border-radius:inherit}

/* These existing sample files contain a white strip inside the bitmap. */
.ehime-editorial-photo > img[src*="e57b051f52"]{height:127.887%;clip-path:inset(0 0 21.8056% 0 round 18px);object-position:center top}
.ehime-editorial-photo > img[src*="ea3bf637dd"]{height:113.03%;clip-path:inset(0 0 11.5278% 0 round 18px);object-position:center top}

/* Smaller spot illustration on phones */
@media(max-width:767px){#spot-alternative .ehime-discover-art{width:clamp(56px,16vw,96px);min-width:0}}
@media(max-width:375px){#spot-alternative .ehime-discover-art{width:60px}}

/* Footer: contact link next to the copyright */
.ehime-footer-legal{margin-left:auto;margin-right:12px}
.ehime-footer-legal a{font-size:12px;letter-spacing:.05em;text-decoration:underline;text-underline-offset:3px}
.ehime-footer-legal a:hover{opacity:.75}
@media(max-width:767px){.ehime-footer-bottom{flex-wrap:wrap}.ehime-footer-legal{order:-1;width:100%;margin:0 0 6px}.ehime-footer-legal a{font-size:12px}}

/* Event date: always one line on phones (fits iPhone SE: "10/14(水)〜10/17(土)") */
@media(max-width:767px){.ehime-event-date{white-space:nowrap;font-size:min(21px,5.6vw);letter-spacing:-.01em}.ehime-event-date.is-long{font-size:min(18px,4.8vw)}.ehime-event-date.is-xlong{font-size:min(15px,4vw)}}

/* FV: the blurred backdrop (filter:blur) is composited on its own layer and escapes border-radius + overflow:hidden
   on iOS Safari, so the white rounded corner showed blur. A mask forces the rounded clip. */
.tmpl0_0_images__DeChZ{isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black)}


/* Drawer: link for businesses under the Instagram button (area buttons removed) */
.eh-drawer-instagram{margin-top:24px}
.eh-drawer-business{display:flex;align-items:center;gap:14px;margin-top:12px;padding:14px 16px;border-radius:16px;background:#426955;color:#fff;box-shadow:0 6px 16px rgba(41,59,50,.18);transition:background .2s,transform .2s}
.eh-drawer-business img{flex:none;width:44px;height:44px;padding:6px;border-radius:50%;background:#faf7ef;object-fit:contain;box-sizing:border-box}
.eh-biz-text{flex:1;display:flex;flex-direction:column;line-height:1.4}
.eh-biz-text small{font-size:11px;opacity:.85;letter-spacing:.04em}
.eh-biz-text strong{font-size:16px;font-weight:800;letter-spacing:.04em}
.eh-biz-arrow{flex:none;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:15px;transition:transform .2s}
.eh-drawer-business:hover{background:#335443}
.eh-drawer-business:hover .eh-biz-arrow{transform:translateX(3px)}
.eh-drawer-business:focus-visible{outline:3px solid #a96030;outline-offset:3px}

/* Spot menu: it now lists genres + areas (was 4 fixed items), so use the same 3-column layout as 特集 */
.eh-nav-spot{width:min(640px,85vw)}
.eh-nav-spot .eh-nav-categories{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row}
.eh-nav-spot .eh-nav-categories a:first-child{grid-row:auto}
.eh-nav-heading{grid-column:1 / -1;margin:10px 0 0;padding-top:12px;border-top:1px solid #e6e1d4;font-size:11px;font-weight:700;letter-spacing:.1em;color:#647466}
.eh-drawer-links .eh-nav-heading{margin:4px 0 -2px;padding-top:10px}
.ehime-footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px}

/* Footer: 協賛スポンサー (under the footer headline) */
.oe-sponsors{max-width:1400px;margin:0 auto 36px;padding:28px 32px;border-radius:28px;background:#faf7ef;border:1px solid #d8d2c0}
.oe-sponsors-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:18px}
.oe-sponsors-kicker{flex-basis:100%;margin:0;font-size:11px;font-weight:800;letter-spacing:.2em;color:#d89b68}
.oe-sponsors-head h2{margin:0;font-size:20px;font-weight:900;color:#293b32}
.oe-sponsors-head p{margin:0;font-size:12px;color:#647466}
.oe-sponsors-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.oe-sponsor{display:flex;align-items:center;justify-content:center;min-height:90px;border-radius:14px;background:#fff;border:1px solid #e6e1d4;overflow:hidden;transition:transform .2s,box-shadow .2s}
.oe-sponsor img{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:3/1}
a.oe-sponsor:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(41,59,50,.12)}
.oe-sponsor-wanted{flex-direction:column;align-items:flex-start;gap:4px;padding:16px 20px;min-height:90px;border:2px dashed #d89b68;background:#fff8f0;color:#293b32;grid-column:span 2}
.oe-sponsor-wanted-label{font-size:10px;font-weight:800;letter-spacing:.18em;color:#d89b68}
.oe-sponsor-wanted strong{font-size:17px;font-weight:900}
.oe-sponsor-wanted-text{font-size:12px;color:#647466;line-height:1.6}
.oe-sponsor-wanted-more{margin-top:4px;font-size:13px;font-weight:800;color:#426955}
@media(max-width:767px){.oe-sponsors{padding:22px 18px;border-radius:22px;margin-bottom:24px}.oe-sponsors-list{grid-template-columns:1fr 1fr}.oe-sponsor-wanted{grid-column:1 / -1}}
/* the front page footer turns footer text/links white; keep the sponsor box readable on its light background */
.ehime-footer .oe-sponsors,.ehime-footer .oe-sponsors a,.ehime-footer .oe-sponsors strong{color:#293b32}
.ehime-footer .oe-sponsors .oe-sponsors-head p,.ehime-footer .oe-sponsors .oe-sponsor-wanted-text{color:#647466}
.ehime-footer .oe-sponsors .oe-sponsors-kicker,.ehime-footer .oe-sponsors .oe-sponsor-wanted-label{color:#c07a45}
.ehime-footer .oe-sponsors .oe-sponsor-wanted-more{color:#426955}

/* sponsor grid: 4 x 2 on PC, 2 columns on phones, fixed 3:1 frames */
.oe-sponsors-more{margin-left:auto;font-size:13px;font-weight:800;text-decoration:none}
.ehime-footer .oe-sponsors .oe-sponsors-more{color:#426955}
.oe-sponsors-list{grid-template-columns:repeat(3,1fr);gap:16px}
.oe-sponsor{min-height:0;aspect-ratio:3/1;border:1px solid #cfc7b2;border-radius:12px}
.oe-sponsor img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.oe-sponsor-empty{flex-direction:column;gap:2px;border:2px dashed #d9b48f;background:#fffaf3;text-align:center}
.ehime-footer .oe-sponsors .oe-sponsor-empty-label{font-size:10px;font-weight:800;letter-spacing:.18em;color:#c07a45}
.ehime-footer .oe-sponsors .oe-sponsor-empty-text{font-size:14px;font-weight:800;color:#647466}
a.oe-sponsor-empty:hover{border-color:#c07a45}
@media(max-width:767px){.oe-sponsors-list{grid-template-columns:repeat(2,1fr);gap:10px}.oe-sponsor{border-radius:10px}.ehime-footer .oe-sponsors .oe-sponsor-empty-label{font-size:9px}.ehime-footer .oe-sponsors .oe-sponsor-empty-text{font-size:12px}.oe-sponsors-more{margin-left:0;flex-basis:100%}}
.oe-sponsor{position:relative}
.ehime-footer .oe-sponsors .oe-sponsor-own{position:absolute;top:6px;right:6px;padding:1px 7px;border-radius:99px;background:rgba(41,59,50,.78);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;line-height:1.6}
/* sponsor box: stretch into the footer's side padding so banners are larger */
.ehime-footer .oe-sponsors{max-width:none;margin-left:calc(16px - max(5vw,24px));margin-right:calc(16px - max(5vw,24px));padding:24px 20px}
@media(max-width:767px){.ehime-footer .oe-sponsors{margin-left:-12px;margin-right:-12px;padding:18px 12px}.oe-sponsors-list{gap:8px}}
/* sponsor heading: larger */
.ehime-footer .oe-sponsors .oe-sponsors-kicker{font-size:13px}
.ehime-footer .oe-sponsors .oe-sponsors-head h2{font-size:30px;line-height:1.3}
.ehime-footer .oe-sponsors .oe-sponsors-head p{font-size:14px}
.ehime-footer .oe-sponsors .oe-sponsors-more{font-size:14px}
.oe-sponsors-head{margin-bottom:22px}
@media(max-width:767px){.ehime-footer .oe-sponsors .oe-sponsors-kicker{font-size:12px}.ehime-footer .oe-sponsors .oe-sponsors-head h2{font-size:24px}.ehime-footer .oe-sponsors .oe-sponsors-head p{font-size:13px}.ehime-footer .oe-sponsors .oe-sponsor-empty-text{font-size:11px}}
