
:root{--ink:#203037;--muted:#68777d;--line:#dfe5e4;--accent:#4b745c;--moss:#346347;--clay:#bd7458;--pale:#f6f9f5;--link:#2466a2;--site:1130px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Noto Sans TC','Microsoft JhengHei','PingFang TC',sans-serif;font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:var(--link)}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #9fc9b8;outline-offset:3px}button,input{font:inherit}button{cursor:pointer}.container{width:min(var(--site),calc(100% - 76px));margin:auto}.sitehead{position:sticky;top:0;z-index:90;border-bottom:1px solid #e0e5e7;background:#ffffffed;backdrop-filter:blur(14px)}.navline{display:flex;align-items:center;gap:17px;min-height:66px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);white-space:nowrap}.brandmark{display:grid;place-items:center;width:34px;height:34px;border:1.5px solid #2d4850;font-size:21px;line-height:1;font-family:serif}.brandname{font-weight:700;font-size:13px}.nav-return{font-size:13px;color:#315c51;border-left:1px solid var(--line);padding-left:14px;margin-right:auto;font-weight:650}.navlinks{display:flex;gap:23px}.navlinks a{font-size:13px;color:#52636a}.navlinks a:hover{color:var(--moss)}.breadcrumb{padding:25px 0 15px;color:#74838a;font-size:12px;display:flex;align-items:center;gap:10px}.breadcrumb a{color:#536e78}.hero{display:grid;grid-template-columns:44% 56%;gap:0;align-items:center;padding:18px 0 56px;border-bottom:1px solid var(--line)}.hero-copy{padding-right:45px}.kicker{display:block;color:var(--moss);font-size:12px;letter-spacing:.12em;font-weight:720}.hero h1{margin:18px 0 5px;font-family:'Noto Serif TC','Songti TC',Georgia,serif;font-size:clamp(60px,7vw,88px);line-height:1.17;font-weight:800}.hero h1 small{font-size:19px;font-family:Georgia,serif;font-style:italic;font-weight:400;color:#b7795b;margin-left:8px}.hero p{font-size:16px;line-height:2.14;max-width:410px;margin:24px 0}.hero-anchors{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hero-anchors a{font-size:13px;border-bottom:1px solid #aac1b1;color:#34664f;padding-bottom:3px}.hero-media{height:440px;position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:8px}.photo-wrap{overflow:hidden;position:relative;background:linear-gradient(135deg,#becfba,#e5dbcc);isolation:isolate}.photo-wrap img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.photo-wrap:hover img{transform:scale(1.02)}.photo-wrap.image-unavailable img{display:none}.img-fallback{display:flex;z-index:1;position:absolute;inset:0;padding:20px;justify-content:center;align-items:center;flex-direction:column;text-align:center;color:#3f6254;background:linear-gradient(140deg,#e6eddf,#d6e1d8 60%,#ece4d8)}.img-fallback b{font-family:'Noto Serif TC',serif;font-size:21px}.img-fallback small{font-size:11px;opacity:.75}.photo-wrap.image-unavailable .img-fallback{display:flex}.hero-media .hero-pic2{margin-top:58px;height:82%}.hero-caption{position:absolute;right:16px;bottom:13px;background:#fffffff0;color:#496055;font-size:12px;padding:7px 12px}.section{padding:71px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:29px}h2{font-family:'Noto Serif TC','Songti TC',serif;font-size:32px;line-height:1.4;letter-spacing:.02em;margin:0}.section-head p{margin:0;max-width:440px;font-size:13px;color:var(--muted)}.city-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:80px}.city-intro>p{font-size:17px;line-height:2.2;margin:0}.small-aside{border-left:3px solid #afc9b3;background:#f6faf6;padding:21px 23px;font-size:14px;color:#516660}.small-aside strong{display:block;font-size:16px;color:#315b46;margin-bottom:5px}.small-aside p{margin:0}.small-aside a{white-space:nowrap}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px}.feature{border-top:1px solid #dae4de;padding-top:16px;min-width:0}.feature-pic{height:240px}.feature-body{padding-top:14px}.small-category{font-size:11px;color:#6c866f;font-weight:700;letter-spacing:.08em}.feature h3{font-size:22px;font-family:'Noto Serif TC','Songti TC',serif;line-height:1.5;margin:3px 0 10px}.feature h3 small,.other h3 small{font-family:Georgia,serif;font-size:13px;font-weight:400;color:#8c9a91;margin-left:8px;letter-spacing:0}.desc{margin:0 0 15px;color:#4c5f62;font-size:14px;line-height:1.9;min-height:55px}.facts{display:flex;gap:18px;padding:11px 0;border-block:1px solid #e4e9e7;font-size:12px}.facts div{flex:1;min-width:0}.facts b{color:#84908c;display:block;font-weight:500;font-size:11px}.facts span{display:block;color:#263d36;margin-top:3px;font-weight:620}.travel-note{font-size:12px;color:#627171;margin:12px 0 8px;line-height:1.8}.travel-note b{color:#3d6650}.maplink{display:inline-block;color:var(--link);font-size:13px;font-weight:700}.more-head{padding-top:46px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}.more-head h3{font-size:24px;font-family:'Noto Serif TC',serif;margin:0}.more-head p{font-size:13px;color:var(--muted);margin:0}.category-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 15px}.category-list button{border:1px solid #ced9d4;border-radius:2px;background:white;color:#4d655b;padding:7px 12px;font-size:12px}.category-list button.active{background:#345b48;color:white;border-color:#345b48}.other-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.other{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e6ebe7;padding:17px 0;min-width:0}.other h3{font-size:16px;margin:3px 0;line-height:1.55;font-weight:700}.other h3 small{display:block;margin:0}.other p{margin:3px 0 7px;color:#53636b;font-size:12px}.otherfacts{font-size:11px;display:flex;flex-wrap:wrap;gap:4px 14px;color:#637577}.other .maplink{white-space:nowrap;flex-shrink:0}.other[hidden]{display:none!important}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 50px}.info-item{border-top:2px solid #d1dfd4;padding-top:14px}.info-item h3{font-size:19px;margin:0 0 9px}.info-item p,.info-item li{font-size:14px;color:#536469;line-height:1.95}.info-item p{margin:0 0 10px}.info-item ul{margin:5px 0 11px;padding-left:19px}.info-item strong{color:#344e43}.route-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:47px;border-top:3px solid #bb8b68;padding:29px 0 4px}.route-intro h3{font-family:'Noto Serif TC',serif;font-size:25px;margin:4px 0 9px}.route-intro p{font-size:13px;color:#6e7d7b}.choose-days{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 16px}.choose-days button{padding:7px 14px;border:1px solid #d3e1d6;background:#fff;font-size:13px;color:#365744}.choose-days button.active{background:#315f48;color:white;border-color:#315f48}.route-day{border-bottom:1px solid #dfe6e2;padding:10px 0 15px;margin-bottom:11px}.route-day h4{font-size:17px;margin:0 0 9px}.route-row{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:5px 0;font-size:13px}.route-row b{color:#768880;font-size:12px}.route-links a{font-size:12px;display:inline-block;margin:5px 10px 0 0}.route-sub{color:#54696c;font-size:12px;line-height:1.9}.tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.tips-grid article{border-top:2px solid #cedbd3;padding-top:14px}.tips-grid h3{font-size:17px;margin:0 0 7px}.tips-grid p{font-size:13px;color:#51656a;margin:0}.sourcebox{font-size:12px;color:#718080;line-height:2.05;margin:31px 0 0;border-top:1px solid var(--line);padding-top:18px}.sourcebox a{color:#5d7382;text-decoration:underline}.sitefooter{padding:33px 0 47px;font-size:12px;color:#6b7b7e}.footerrow{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.photo-credits{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.photo-credits summary{cursor:pointer;color:#4c6567}.photo-credits ul{padding-left:18px;font-size:11px;line-height:1.9}.photo-status{background:#f5f8f5;padding:10px 14px;margin-top:12px;color:#5c7167;font-size:12px}

/* 上線共用站名：木字方章與回旅行目錄 */
.sitehead .navline{gap:15px}
.sitehead .brandmark{width:34px;height:34px;background:transparent;border:1.6px solid #243b46;border-radius:0;color:#1e3541;font-family:serif;font-size:21px;letter-spacing:0}
.sitehead .brand:hover .brandmark{background:#1e3541;color:#fff}
.sitehead .brandname{font-size:13px;white-space:nowrap;color:#213843}
.sitehead .to-travel{margin-right:auto;padding-left:15px;border-left:1px solid #d4dde1;font-weight:750;color:#253e50;font-family:'Noto Serif TC',serif;white-space:nowrap}
.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{color:#2367ae;text-decoration:underline}
@media(max-width:800px){.sitehead .navlinks{gap:10px}.sitehead .brandname{font-size:12px}.sitehead .to-travel{padding-left:10px}}
@media(max-width:570px){.sitehead .brandname{font-size:12px}.sitehead .brandmark{width:30px;height:30px}.sitehead .to-travel{display:none}}



@media(max-width:850px){.container{width:calc(100% - 46px)}.navlinks{gap:12px}.hero{grid-template-columns:1fr;gap:27px}.hero-copy{padding-right:0}.hero-media{height:345px}.city-intro{gap:24px}.section{padding:54px 0}.features{gap:25px 22px}.feature-pic{height:205px}}
@media(max-width:640px){.container{width:calc(100% - 36px)}.navline{min-height:58px;gap:8px}.nav-return{display:none}.navlinks{margin-left:auto;gap:10px}.navlinks a:nth-child(n+3){display:none}.navlinks a{font-size:12px}.breadcrumb{padding:18px 0 7px}.hero{padding:14px 0 34px}.hero h1{font-size:59px;margin:13px 0}.hero h1 small{font-size:15px}.hero p{font-size:14px;margin:14px 0}.hero-media{height:240px;gap:5px}.hero-media .hero-pic2{margin-top:34px;height:84%}.hero-caption{font-size:11px;padding:4px 8px;right:7px;bottom:6px}.section{padding:46px 0}h2{font-size:27px}.section-head{display:block;margin-bottom:23px}.section-head p{margin-top:7px}.city-intro{grid-template-columns:1fr;gap:18px}.city-intro>p{font-size:15px}.small-aside{padding:14px 17px}.features{grid-template-columns:1fr;gap:26px}.feature-pic{height:230px}.desc{min-height:0}.feature h3{font-size:21px}.more-head{display:block;padding-top:36px}.more-head h3{font-size:22px}.more-head p{margin-top:4px}.other-list{grid-template-columns:1fr;gap:0}.other h3{font-size:16px}.info-grid{grid-template-columns:1fr;gap:23px}.route-layout{grid-template-columns:1fr;gap:8px}.route-intro h3{font-size:23px}.tips-grid{grid-template-columns:1fr;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-wrap img{transition:none}}

:root{--accent:#20898d;--moss:#1e6575;--clay:#cf7c51;--pale:#f1f8f8;--link:#2469a1;--line:#dde6e8}
.kicker{color:#087e87}.hero h1 small{color:#c17b60}.hero-anchors a{color:#1e6575;border-color:#8ec4c8}.small-aside{background:#f2f8f8;border-left-color:#6bbbc1}.small-aside strong{color:#186c79}.category-list button.active,.choose-days button.active{background:#196c7c;border-color:#196c7c}.route-layout{border-top-color:#89bdc0}.tips-grid article{border-top-color:#95c6c8}.info-item{border-top-color:#96cbd0}.travel-note b{color:#ae714e}.feature{border-top-color:#a8ced1}.hero-caption{color:#326871}.hero-pic2 img{object-position:center}.feature img{object-position:center}.hero-photo-wrap{height:100%}.hero-photo-wrap img{width:100%;height:100%;object-fit:cover}.route-day a{display:inline-block;font-size:12px;margin-left:6px;white-space:nowrap}.route-day .route-row{align-items:start}.route-day .route-row span{flex:1}.route-day .route-row span a{text-decoration:underline;text-underline-offset:3px}.date-guide{margin:14px 0 0;color:#677a80;font-size:12px;line-height:1.7}.date-guide input{max-width:205px;border:1px solid #d5e0e2;padding:8px;background:white;color:var(--ink);font-size:13px}.other[hidden]{display:none!important}.photo-credits li{margin-bottom:7px}.photo-wrap img{display:block}.fallback-unavailable{display:none}.image-unavailable img{display:none}.image-unavailable .img-fallback{display:flex}
@media(max-width:720px){.hero{grid-template-columns:1fr}.hero-copy{padding-right:0}.hero-media{height:325px;margin-top:12px}.hero h1{font-size:62px}.city-intro{grid-template-columns:1fr;gap:18px}.features{grid-template-columns:1fr;gap:29px}.feature-pic{height:240px}.section{padding:48px 0}.section-head{display:block}.section-head p{margin-top:8px}.info-grid{grid-template-columns:1fr}.other-list{grid-template-columns:1fr}.route-layout{grid-template-columns:1fr;gap:12px}.tips-grid{grid-template-columns:1fr}.hero .hero-anchors{gap:18px}.hero-caption{font-size:10px}.container{width:min(var(--site),calc(100% - 34px))}}
@media(max-width:470px){.hero h1{font-size:56px}.hero-media{height:265px}.feature h3{font-size:20px}.facts{gap:12px}.navlinks{gap:8px!important}.navlinks a{font-size:11px}.brandname{font-size:12px}.nav-return{display:none}}

/* 喀比頁追加色調，保持同系列首頁節奏 */
.kicker{color:#327d79}.hero h1 small{color:#b97c5d}.hero-anchors a{color:#216b71;border-color:#a1c4c6}.small-aside{background:#f2f8f7;border-left-color:#77b6b5}.small-aside strong{color:#2d6d6a}.category-list button.active,.choose-days button.active{background:#286d6e;border-color:#286d6e}.route-layout{border-top-color:#8bbab8}.tips-grid article{border-top-color:#83b8b0}.info-item{border-top-color:#a2c8c5}.feature{border-top-color:#b0d0cb}.hero-photo-wrap{height:100%}.photo-wrap .img-fallback{display:flex}.photo-wrap.image-unavailable .img-fallback{display:flex}.photo-wrap.image-unavailable img{display:none}.route-day{border-bottom:1px solid #dfe6e2;padding:10px 0 15px;margin-bottom:11px}.route-day h4{font-size:17px;margin:0 0 9px}.route-day .route-row{align-items:start}.route-day .route-row span a{text-decoration:underline;text-underline-offset:3px}.date-guide{display:block;margin-top:15px;color:#677a80;font-size:12px;line-height:1.8}.date-guide input{border:1px solid #d5e0e2;padding:8px;background:white;color:var(--ink);font-size:13px}.date-result{font-size:12px;color:#326b67;background:#f1f8f6;padding:10px 13px;margin-top:11px}.date-result:empty{display:none}.notice-inline{display:block;font-size:12px;color:#697b7b;margin:10px 0 0}.hero-pic2 img{object-position:center}.sourcebox a{text-decoration:underline}.photo-wrap img{display:block;width:100%;height:100%;object-fit:cover}.route-intro{position:sticky;top:94px;align-self:start}.route-intro p{line-height:1.95}.feature h3 small{display:block;margin:0}.data-state{color:#6b797a;font-size:12px;margin-top:7px}
@media(max-width:780px){.route-intro{position:static}.hero{grid-template-columns:1fr;gap:26px}.hero-copy{padding:0}.hero-media{height:290px}.features,.other-list,.info-grid{grid-template-columns:1fr}.tips-grid{grid-template-columns:1fr;gap:16px}.route-layout{grid-template-columns:1fr;gap:17px}.city-intro{grid-template-columns:1fr;gap:20px}.container{width:min(var(--site),calc(100% - 32px))}.navlinks{display:none}.hero h1{font-size:62px}.section{padding:45px 0}.section-head{display:block}.section-head p{margin-top:8px}.feature-pic{height:218px}}

/* Malaysia KL city treatment; retains the approved white page/blue accent and travel cursor */
.kicker{color:#397e84}.hero h1 small{color:#b18567}.hero-anchors a{color:#236b81;border-color:#91bdc5}.small-aside{background:#f2f7f8;border-left-color:#80b4bc}.small-aside strong{color:#285f72}.category-list button.active,.choose-days button.active{background:#286b7b;border-color:#286b7b}.route-layout{border-top-color:#8fbdc4}.tips-grid article{border-top-color:#80abb7}.info-item{border-top-color:#9fc0c9}.feature{border-top-color:#a9c7cd}.photo-wrap img{display:block;width:100%;height:100%;object-fit:cover}.photo-wrap .img-fallback{display:flex}.photo-wrap.image-unavailable img{display:none}.route-day{border-bottom:1px solid #dfe6e2;padding:10px 0 15px;margin-bottom:11px}.route-day h4{font-size:17px;margin:0 0 9px}.date-guide{display:block;margin-top:15px;color:#677a80;font-size:12px;line-height:1.8}.date-guide input{border:1px solid #d5e0e2;padding:8px;background:white;color:var(--ink);font-size:13px}.date-result{font-size:12px;color:#326b67;background:#f1f8f6;padding:10px 13px;margin-top:11px}.date-result:empty{display:none}.route-intro{position:sticky;top:94px;align-self:start}.hero-pic2 img{object-position:center}.sourcebox a{text-decoration:underline}.route-intro p{line-height:1.95}.feature h3 small{display:block;margin:0}.notice-inline{display:block;font-size:12px;color:#697b7b;margin:10px 0 0}
@media(max-width:780px){.route-intro{position:static}.hero{grid-template-columns:1fr;gap:26px}.hero-copy{padding:0}.hero-media{height:290px}.features,.other-list,.info-grid{grid-template-columns:1fr}.tips-grid{grid-template-columns:1fr;gap:16px}.route-layout{grid-template-columns:1fr;gap:17px}.city-intro{grid-template-columns:1fr;gap:20px}.container{width:min(var(--site),calc(100% - 32px))}.navlinks{display:none}.hero h1{font-size:62px}.section{padding:45px 0}.section-head{display:block}.section-head p{margin-top:8px}}

/* Penang travel city page — approved Malaysia layout, sea-green accents */
:root{--accent:#326e73;--moss:#3f7775;--clay:#b87959}
.kicker{color:#3f7479}.hero h1 small{color:#ac775b}.hero-anchors a{color:#27697f;border-color:#96c0c3}.small-aside{background:#f0f7f6;border-left-color:#87b8b9}.small-aside strong{color:#25666b}.category-list button.active,.choose-days button.active{background:#28737c;border-color:#28737c}.route-layout{border-top-color:#95bec5}.tips-grid article{border-top-color:#8cb7bd}.info-item{border-top-color:#9dc3c8}.feature{border-top-color:#a8c8c9}.photo-wrap img{width:100%;height:100%;object-fit:cover;display:block}.photo-wrap .img-fallback{display:flex}.photo-wrap.image-unavailable img{display:none}.hero-pic2 img{object-position:50% 38%}
.route-day{border-bottom:1px solid #dfe6e2;padding:10px 0 15px;margin-bottom:11px}.route-day h4{font-size:17px;margin:0 0 9px}.date-guide{display:block;margin-top:15px;color:#677a80;font-size:12px;line-height:1.8}.date-guide input{border:1px solid #d5e0e2;padding:8px;background:white;color:var(--ink);font-size:13px}.date-result{font-size:12px;color:#27645f;background:#f1f8f6;padding:10px 13px;margin-top:11px}.date-result:empty{display:none}.route-intro{position:sticky;top:94px;align-self:start}.sourcebox a{text-decoration:underline}.route-intro p{line-height:1.95}.feature h3 small{display:block;margin:0}.notice-inline{display:block;font-size:12px;color:#697b7b;margin:10px 0 0}
@media(max-width:780px){.route-intro{position:static}.hero{grid-template-columns:1fr;gap:26px}.hero-copy{padding:0}.hero-media{height:290px}.features,.other-list,.info-grid{grid-template-columns:1fr}.tips-grid{grid-template-columns:1fr;gap:16px}.route-layout{grid-template-columns:1fr;gap:17px}.city-intro{grid-template-columns:1fr;gap:20px}.container{width:min(var(--site),calc(100% - 32px))}.navlinks{display:none}.hero h1{font-size:62px}.section{padding:45px 0}.section-head{display:block}.section-head p{margin-top:8px}}

/* Sapporo palette stays within the approved travel city style */
:root{--accent:#365f79;--moss:#51718a;--clay:#a97057}
.kicker{color:#416b86}.hero h1 small{color:#b07659}.hero-anchors a{color:#315d77;border-color:#a5c0d2}.small-aside{background:#eff5f8;border-left-color:#98bccf}.small-aside strong{color:#305b75}.category-list button.active,.choose-days button.active{background:#315e79;border-color:#315e79}.route-layout{border-top-color:#96b5c7}.tips-grid article{border-top-color:#86b1c8}.info-item{border-top-color:#9ab7c8}.feature{border-top-color:#abc9d4}.photo-wrap img{width:100%;height:100%;object-fit:cover;display:block}.photo-wrap .img-fallback{display:flex}.photo-wrap.image-unavailable img{display:none}.hero-pic2 img{object-position:50% 38%}
.route-day{border-bottom:1px solid #e0e7ed;padding:10px 0 15px;margin-bottom:11px}.route-day h4{font-size:17px;margin:0 0 9px}.date-guide{display:block;margin-top:15px;color:#677b88;font-size:12px;line-height:1.8}.date-guide input{border:1px solid #cbdde7;padding:8px;background:white;color:var(--ink);font-size:13px}.date-result{font-size:12px;color:#2f617b;background:#f0f6fa;padding:10px 13px;margin-top:11px}.route-intro{position:sticky;top:94px;align-self:start}.sourcebox a{text-decoration:underline}.route-intro p{line-height:1.95}.feature h3 small{display:block;margin:0}.notice-inline{display:block;font-size:12px;color:#697d8a;margin:10px 0 0}
@media(max-width:780px){.route-intro{position:static}.hero{grid-template-columns:1fr;gap:26px}.hero-copy{padding:0}.hero-media{height:290px}.features,.other-list,.info-grid{grid-template-columns:1fr}.tips-grid{grid-template-columns:1fr;gap:16px}.route-layout{grid-template-columns:1fr;gap:17px}.city-intro{grid-template-columns:1fr;gap:20px}.container{width:min(var(--site),calc(100% - 32px))}.navlinks{display:none}.hero h1{font-size:62px}.section{padding:45px 0}.section-head{display:block}.section-head p{margin-top:8px}}


/* 青森城市專用，依附已提供的日本城市共用樣式，不覆寫全站 */
#top .hero .hero-copy p {max-width:480px}
#top .hero h1 small {font-size:clamp(15px,1.7vw,20px);white-space:normal}
#top .hero-media .photo-wrap:first-child img {object-position:center 55%}
#top .hero-media .hero-pic2 img {object-position:50% 48%}
#top .hero-media .photo-wrap:first-child {max-height:450px}
#top .features .photo-wrap {height:238px;overflow:hidden;position:relative}
#top .feature .photo-wrap img {display:block;width:100%;height:100%;object-fit:cover}
#top .feature .photo-wrap.image-unavailable {background:linear-gradient(135deg,#e7ede8,#d6e1da 70%,#e4e9df)}
#top .feature .photo-wrap.image-unavailable .img-fallback {display:flex;position:absolute;inset:0;flex-direction:column;justify-content:center;align-items:center;}
#top .feature .photo-wrap.image-unavailable .img-fallback b{font-size:19px;color:#4f6a59}
#top .feature .photo-wrap.image-unavailable .img-fallback small {color:#7c8c83}
#top .feature-links{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin-top:12px}
#top .feature-links .official-link {font-size:13px;text-decoration:underline;text-underline-offset:2px;color:#2167aa;font-weight:650}
#top .maplink,#top .maplink:visited,#top .official-link:visited{color:#2167aa!important}
#top .maplink:hover,#top .maplink:focus-visible,#top .official-link:hover,#top .official-link:focus-visible{color:#164d82!important}
#top .other-list .other {gap:15px}
#top .route-day a{color:#2167aa!important;text-decoration:underline;text-underline-offset:2px}
#top .route-day a:visited{color:#2167aa!important}
#top .route-day a:hover{color:#164d82!important}
#top .related-link{display:flex;flex-direction:column;gap:4px;border-top:1px solid #cedbd3;padding:18px 2px;max-width:530px;color:#34493f}
#top .related-link .related-region{font-size:12px;color:#79917f}
#top .related-link strong{font-size:21px;font-family:serif}
#top .related-link span:last-child{font-size:14px;color:#66756e}
#top .photo-credits{margin:44px 0 30px}
@media(max-width:720px){#top .hero h1 small{display:block;margin:10px 0 0}#top .features .photo-wrap{height:220px}#top .hero-media .hero-pic2 {margin-top:28px}}
@media(prefers-reduced-motion:reduce){#top .photo-wrap img{transition:none}}


/* Aomori V3 additions, aligned to existing Japan city guide */
#top .v3-preview-hint{margin:9px 0 8px;font-size:11px;color:#8a948e;line-height:1.7;text-align:right}
#top .v3-seasons{position:relative;padding-top:67px;padding-bottom:70px}
#top .v3-season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:4px}
#top .v3-season-card{display:flex;flex-direction:column;min-height:286px;padding:22px 19px 21px;border:1px solid #e3e8e1;background:#fcfdfa;border-top:3px solid #b7cbbb}
#top .v3-season-card[data-season=spring]{border-top-color:#dc9aab;background:#fffcfb}
#top .v3-season-card[data-season=summer]{border-top-color:#80af89;background:#f9fcf8}
#top .v3-season-card[data-season=autumn]{border-top-color:#c98d67;background:#fdfbf7}
#top .v3-season-card[data-season=winter]{border-top-color:#8faebd;background:#f8fbfd}
#top .v3-season-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.05em;color:#6d7b76}
#top .v3-season-dot{width:18px;height:18px;border-radius:100%;background:#eec8d0;opacity:.8}
#top [data-season=summer] .v3-season-dot{background:#b7d5b8}
#top [data-season=autumn] .v3-season-dot{background:#e2ba9b}
#top [data-season=winter] .v3-season-dot{background:#c9e0ea}
#top .v3-season-card h3{font-family:'Noto Serif TC','Songti TC',serif;font-size:20px;line-height:1.45;margin:22px 0 12px;color:#293f37}
#top .v3-season-card p{font-size:13px;color:#576765;line-height:1.9;margin:0 0 14px}
#top .v3-season-card a{margin-top:auto;font-size:12px;font-weight:650;color:#2167aa;text-decoration:underline;text-underline-offset:4px}
#top .v3-season-note{margin:19px 0 0;padding:13px 17px;border-left:2px solid #d3aa7b;background:#fbfaf7;font-size:12px;line-height:1.85;color:#607066}
#top .v3-season-note a{color:#2167aa;text-decoration:underline}
#top .v3-feature-label{font-size:13px;letter-spacing:.04em;color:#51705d;padding:0 0 13px;margin:0 0 22px;border-bottom:1px solid #e2ebe4;font-weight:700}
#top .v3-feature-divider{grid-column:1/-1;border-top:1px solid #c7d8cd;margin:6px 0 -4px;padding-top:27px}
#top .v3-feature-divider span{font-family:'Noto Serif TC','Songti TC',serif;font-size:25px;font-weight:750;line-height:1.3;color:#2e493d}
#top .v3-feature-divider p{color:#788984;font-size:12px;margin:6px 0 0}
#top .v3-added-feature .facts span{font-size:12px;line-height:1.7;font-weight:500}
#top .v3-added-feature .photo-wrap{height:245px}
#top .v3-added-feature .feature-body h3{margin-bottom:11px}
#top .v3-added-feature .desc{min-height:0}
#top .v3-added-feature .travel-note{min-height:44px}
#top .tips-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
#top .feature-links a{color:#2167aa!important;text-decoration:underline;text-underline-offset:3px}
#top a.maplink,#top a.maplink:visited{color:#2167aa!important}
#top .photo-wrap img{object-fit:cover}
@media(max-width:970px){#top .v3-season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#top .v3-season-card{min-height:235px}}
@media(max-width:640px){#top .v3-seasons{padding-top:49px;padding-bottom:51px}#top .v3-season-grid{gap:11px}#top .v3-season-card{min-height:245px;padding:16px 14px 16px}#top .v3-season-card h3{font-size:17px;margin-top:14px}#top .v3-season-card p{font-size:12px;line-height:1.8}#top .v3-feature-divider span{font-size:23px}#top .v3-feature-divider{padding-top:23px}#top .v3-added-feature .photo-wrap{height:230px}#top .v3-preview-hint{text-align:left}}
@media(max-width:380px){#top .v3-season-grid{grid-template-columns:1fr}#top .v3-season-card{min-height:0}}
@media(prefers-reduced-motion:reduce){#top *{scroll-behavior:auto!important}}

/* V3.1 四季圖文與未來獨立文章入口。只作用於青森四季區塊。 */
#top .v3-season-card{padding:18px 17px 20px;min-height:0}
#top .v3-season-figure{margin:13px 0 0}
#top .v3-season-photo{height:136px;aspect-ratio:1.65;overflow:hidden;background:#e5ebe6}
#top .v3-season-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
#top .v3-season-photo:hover img{transform:scale(1.025)}
#top .v3-season-photo .img-fallback{padding:10px}
#top .v3-season-photo .img-fallback b{font-family:inherit;font-size:13px}
#top .v3-season-photo .img-fallback small{font-size:10px}
#top .v3-season-figure figcaption{font-size:11px;color:#74817b;line-height:1.65;margin-top:6px}
#top .v3-season-card h3{margin:12px 0 9px;font-size:19px}
#top .v3-season-card p{margin-bottom:17px}
#top .v3-season-reads{display:flex;flex-direction:column;gap:12px;margin-top:auto;border-top:1px solid #dde6de;padding-top:13px}
#top .v3-season-reads a.v3-season-current{margin:0;color:#2167aa;font-weight:650;line-height:1.6;font-size:12px;text-decoration:underline;text-underline-offset:4px}
#top .v3-season-reads a.v3-season-current:hover,#top .v3-season-reads a.v3-season-current:focus-visible{color:#164d82}
#top .v3-season-planned{display:flex;flex-direction:column;gap:2px;color:#425c50;font-size:12px;font-weight:600;line-height:1.6;cursor:default}
#top .v3-season-planned small{color:#8a958d;font-weight:400;font-size:11px}
@media(max-width:950px){#top .v3-season-photo{height:145px}}
@media(max-width:640px){#top .v3-season-card{padding:13px 12px 16px}#top .v3-season-photo{height:103px}#top .v3-season-figure{margin-top:9px}#top .v3-season-card h3{font-size:16px;line-height:1.4;margin:9px 0}#top .v3-season-card p{font-size:12px;line-height:1.8}#top .v3-season-reads{gap:8px}#top .v3-season-planned{font-size:11px}}
@media(max-width:380px){#top .v3-season-photo{height:155px}}
@media(prefers-reduced-motion:reduce){#top .v3-season-photo img{transition:none}}


#top .hirosaki-article-note{font-size:13px;color:#687773;border-left:2px solid #d0dfd6;padding:8px 16px;margin-top:23px}
#top .hero .hero-media{box-shadow:none}
#top .hero .hero-media>.photo-wrap:first-child img{object-position:center 49%;}
#top .hero .hero-media>.hero-pic2 img{object-position:center}
#top .v3-season-figure .v3-season-photo{height:170px;aspect-ratio:auto;width:100%;min-width:0}
#top .v3-season-card .v3-season-reads{margin-top:auto}
#top .feature-body .facts{align-items:stretch}
#top .features .feature-pic{min-height:235px}
#top .feature>.photo-wrap{height:240px}
#top .photo-wrap{background:#edf0eb}
#top .photo-wrap .img-fallback{background:linear-gradient(155deg,#e7eee8,#f4f1e8)}
@media(max-width:640px){#top .feature>.photo-wrap{height:230px}#top .v3-season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#top .v3-season-figure .v3-season-photo{height:148px;aspect-ratio:auto;width:100%;min-width:0}}

/* V1.3 只保留確有地方節慶或農事特色的季節；弘前剛好四季具代表性 */
#top .v3-season-reads a{display:none}
#top .v3-season-planned{font-size:12px}


/* Local photos use the existing city layout; absent photos remain readable text. */
img{max-width:100%}.feature.no-photo{display:block}.feature.no-photo>.feature-body{width:100%;max-width:none;padding:20px}
.photo-wrap img{object-fit:cover}.img-fallback small{font-size:12px}.related .related-list{margin-top:16px}
.related .related-list> a>span{display:flex;flex-direction:column}.related .related-list> a strong{overflow-wrap:anywhere}
[hidden]{display:none!important}@media(max-width:600px){.feature.no-photo>.feature-body{padding:16px}.hero h1 small{white-space:normal}}

.city-skip-link{position:fixed;top:-100px;left:12px;z-index:2000;padding:10px 16px;background:#fff;color:#2167aa;border:2px solid #2167aa}.city-skip-link:focus{top:10px}

.other.without-place-thumb{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.other.without-place-thumb>div{min-width:0}.other.without-place-thumb>.maplink{align-self:center}
