@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');:root{font-family:'Noto Sans KR',system-ui,sans-serif;color:#19392f;background:#fbfcfa;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f1a93a;outline-offset:3px}.wrap{max-width:1140px;margin:auto;padding-left:24px;padding-right:24px}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:0}.header{background:#eff6ef;border-bottom:1px solid #dce9dd}.nav{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:23px;font-weight:800;text-decoration:none;color:#175d44}.brand small{font-size:11px;color:#789587;margin-left:3px}.brand-icon{display:inline-grid;place-items:center;background:#166a4e;color:white;width:35px;height:35px;border-radius:11px}.nav nav{display:flex;gap:26px}.nav nav a{text-decoration:none;font-size:14px;font-weight:600}.hero{background:linear-gradient(135deg,#eff6ee,#e2f1e6)}.hero-layout{min-height:350px;display:grid;grid-template-columns:1fr 0.9fr;gap:40px;align-items:center;padding-top:45px;padding-bottom:50px}.eyebrow,.overline{color:#278366;font-size:12px;font-weight:800;letter-spacing:.09em}.hero h1{font-size:clamp(38px,5vw,60px);line-height:1.3;letter-spacing:-.05em;margin:18px 0}.hero h1 em{font-style:normal;color:#1b8a64}.hero p{max-width:490px;color:#536e61;line-height:1.85}.hero-cta{display:inline-flex;margin-top:15px;background:#167354;color:white;text-decoration:none;border-radius:12px;padding:14px 20px;font-weight:700;gap:40px}.illustration{height:270px;border-radius:30px;position:relative;overflow:hidden;background:linear-gradient(#d5eddd 0%,#d5eddd 55%,#a7d1aa 55%)}.sun{position:absolute;top:32px;right:70px;width:72px;height:72px;border-radius:50%;background:#fff0a7}.cloud{position:absolute;top:55px;left:50px;width:130px;height:25px;border-radius:50%;background:#f7fff8;opacity:.7}.hill{position:absolute;width:130%;height:190px;border-radius:50% 50% 0 0;bottom:-75px;left:-15%;background:#83b99a}.hill.two{bottom:-110px;left:10%;background:#5c9e7e}.walkway{position:absolute;width:120px;height:250px;background:#f4dfb8;bottom:-130px;left:50%;transform:translateX(-50%) perspective(180px) rotateX(42deg);border-radius:50% 50% 0 0}.illustration-note{position:absolute;bottom:20px;left:20px;background:#fffef3;padding:10px 16px;border-radius:25px;font-weight:700;font-size:13px}.search-section{margin-top:-15px;position:relative}.search-panel{background:white;border:1px solid #e1e9e3;box-shadow:0 15px 40px #244e3710;border-radius:22px;padding:30px}.section-heading h2,.results-heading h2{font-size:28px;letter-spacing:-.04em;margin:6px 0}.section-heading p,.results-heading p{color:#6b7f72;margin:6px 0 22px;font-size:14px}.field-label{display:block;font-weight:800;font-size:14px;margin:15px 0 10px}.field-label small{font-weight:400;color:#819488}.searchbox{display:flex;align-items:center;border:2px solid #c7e0d1;border-radius:13px;padding:4px 14px;gap:12px}.searchbox span{font-size:26px;color:#44876b}.searchbox input{border:0;outline:0;flex:1;min-width:0;padding:13px 0}.searchbox button,.filter-bottom button{border:0;background:none;color:#39745c;font-weight:700}.filter-group{margin-top:16px}.purpose{display:flex;flex-wrap:wrap;gap:10px}.purpose button,.regions button,.toggle button{border:1px solid #d9e7de;background:#f7faf7;border-radius:11px;padding:11px 16px;color:#365b49;font-weight:700}.purpose button[aria-pressed=true],.regions button[aria-pressed=true],.toggle button[aria-pressed=true]{background:#176d50;color:white;border-color:#176d50}.filters{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}.filters select{width:100%;border:1px solid #cddfd2;border-radius:11px;padding:13px;background:white}.filter-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:14px}.filter-bottom input{accent-color:#177456}.notice{font-size:13px;color:#5c765f;background:#f2f7f2;border-radius:9px;padding:12px 15px;margin:18px 0 0}.results-section{padding-top:62px;padding-bottom:60px}.results-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.toggle{display:flex;gap:6px}.regions{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 24px}.regions button{font-size:13px;padding:9px 14px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid #e2e9e3;border-radius:18px;padding:23px;box-shadow:0 8px 24px #1b57350a;display:flex;flex-direction:column;gap:13px}.card-top{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-flex;background:#e9f5ed;color:#247253;padding:6px 9px;border-radius:6px;font-size:11px;font-weight:800}.tag.warn{background:#fff3df;color:#976323}.card h3{font-size:21px;letter-spacing:-.04em;margin:0}.address{font-size:13px;color:#728477;margin:0}.facts,.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fact,.detail-fact{padding:12px;background:#f6f9f6;border-radius:10px;display:flex;flex-direction:column;gap:5px}.fact span,.detail-fact span{font-size:11px;color:#7a8e80}.fact strong,.detail-fact strong{font-size:13px;overflow-wrap:anywhere}.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}.card-foot small{color:#859489;font-size:11px}.text-link{font-size:13px;font-weight:800;text-decoration:none;color:#187251}.compare-choice{display:flex;align-items:center;gap:8px;color:#426f55;font-size:12px}.compare-choice input{accent-color:#187251}.empty,.map-note{background:#f5f8f5;padding:35px;border-radius:16px;color:#526c5d}.map-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.map-links a{background:white;border:1px solid #d8e6db;padding:13px;border-radius:9px;text-decoration:none}.compare-bar{position:sticky;bottom:12px;margin-top:20px;background:#184f3c;color:white;border-radius:15px;padding:14px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 10px 30px #123b2e44}.compare-bar button{background:#fff;border:0;border-radius:9px;padding:10px 12px;color:#165e44;font-weight:800}.compare-bar .quiet{background:transparent;color:white;text-decoration:underline}.comparison{overflow-x:auto;margin-top:20px}.comparison table{width:100%;border-collapse:collapse;min-width:550px;background:white}.comparison th,.comparison td{border:1px solid #dce9df;padding:12px;text-align:left;font-size:13px}.comparison th{background:#eef6ef}.how{padding-bottom:80px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.how-grid article{background:#edf5ee;padding:25px;border-radius:17px}.how-icon{font-size:25px;color:#18805b;font-weight:800}.how-grid h3{margin:10px 0}.how-grid p{font-size:13px;line-height:1.8;color:#607b69}.more{display:inline-block;margin-top:24px;font-weight:800;color:#176d50}.footer-grid{display:flex;justify-content:space-between;gap:30px;padding-top:36px;padding-bottom:40px}footer{background:#183e32;color:#f2fff5}footer p,footer small{color:#b2cbb9}.footer-links{display:flex;flex-wrap:wrap;gap:15px;font-size:13px}.footer-links a{text-decoration:none}.detail-main{max-width:900px;margin:45px auto 80px;padding:0 24px}.detail-hero{background:#eaf4eb;padding:30px;border-radius:20px}.detail-hero h1{margin:12px 0}.detail-main h2{margin-top:32px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-fact{padding:18px}.callout{background:#fff4e3;padding:20px;border-radius:13px;color:#6b532b}.source-box{background:#f1f6f2;padding:20px;border-radius:13px;line-height:1.8}.action-row{display:flex;gap:12px;flex-wrap:wrap}.action-row a{background:#176d50;color:white;text-decoration:none;padding:12px 18px;border-radius:10px}.action-row a.secondary{background:#edf4ed;color:#18563d}.nearby{display:grid;gap:12px}.nearby a{border:1px solid #dce9df;border-radius:12px;padding:16px;text-decoration:none}.back{font-weight:700;color:#176d50}.muted{color:#6f8173}[hidden]{display:none!important}@media(max-width:740px){.wrap{padding-left:16px;padding-right:16px}.nav{min-height:65px}.nav nav{gap:12px}.nav nav a{font-size:11px}.nav nav a:last-child{display:none}.brand{font-size:19px}.hero-layout{grid-template-columns:1fr;padding-top:30px;padding-bottom:30px;gap:24px}.illustration{height:170px}.hero h1{font-size:39px}.search-section{margin-top:0}.search-panel{padding:20px 16px}.filters,.cards,.how-grid{grid-template-columns:1fr}.results-heading{align-items:flex-start;flex-direction:column}.purpose button{flex:1;font-size:12px;padding:12px 8px}.facts{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:18px}.map-links{grid-template-columns:1fr}.footer-grid{flex-direction:column}.compare-bar{flex-wrap:wrap}.section-heading h2,.results-heading h2{font-size:24px}}
/* EasyWalk 4.0: truthful access-status hierarchy and visit preparation */
.card-alert{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:11px;border-left:4px solid;font-size:13px;line-height:1.55}
.card-alert strong{font-size:13px}.card-alert span{font-size:12px}
.alert-warn{background:#fff0ed;border-color:#c94e3e;color:#8e3027}
.alert-info{background:#edf7f0;border-color:#32805a;color:#245b3d}
.alert-unknown{background:#f2f4f2;border-color:#8a9690;color:#4d5b53}
.field-status{font-size:10px;font-weight:700;line-height:1.3}
.field-status.known{color:#26734e}.field-status.related{color:#9a671f}.field-status.unknown{color:#747f77}
.detail-section{margin-top:34px}.detail-section h2{margin-bottom:8px}.section-intro{font-size:14px;color:#657a6b;line-height:1.7;margin:0 0 16px}
.detail-hero .tag+.tag{margin-left:5px}.detail-hero .tag.warn{background:#fff1dc;color:#8e5b1e}
.visit-checklist{display:grid;gap:0;border:1px solid #dce8de;border-radius:13px;overflow:hidden;margin-top:16px;background:#fff}
.visit-checklist label{display:flex;gap:11px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid #e7eee8;font-size:14px;line-height:1.55}
.visit-checklist label:last-child{border-bottom:0}.visit-checklist input{margin-top:4px;accent-color:#176d50;width:17px;height:17px;flex:0 0 auto}
.checklist-note{font-size:12px}.source-box a{display:inline-block;margin-top:5px;color:#176d50;font-weight:800}
@media(max-width:740px){.detail-main{padding:0 16px;margin-top:25px}.detail-hero{padding:22px 18px}.detail-hero h1{font-size:27px;line-height:1.35}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-fact{padding:13px}.card-alert{font-size:12px}}

/* Nationwide quick-region filter: horizontal touch scrolling on mobile */
.regions button{background:#fff;color:#264b3b;border-color:#b8d0c1}.regions button:hover{background:#e7f2ea;border-color:#377a5d}.regions button[aria-pressed=true]{background:#173f35;border-color:#173f35;color:#fff}.region-chip{background:#fff;border-color:#a9c7b4;color:#1f4d3b}.region-chip:hover{background:#dff0e4;border-color:#3b805f}.region-chip.active,.region-chip[aria-pressed=true]{background:#173f35;color:#fff;border-color:#173f35;box-shadow:0 2px 6px #173f3533}
.region-filter-container,.quick-region-note{display:none}
.region-filter-container{display:flex;align-items:center;gap:12px;margin:18px 0 8px;overflow-x:auto;white-space:nowrap;padding:3px 1px 9px;scrollbar-width:thin}.filter-label{font-weight:800;color:#365b49;font-size:14px;flex:0 0 auto}.region-chips{display:flex;gap:8px}.region-chip{flex:0 0 auto;background:#f1f5f2;border:1px solid #cbded1;color:#365b49;padding:9px 14px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}.region-chip:hover{background:#e3f0e7}.region-chip.active,.region-chip[aria-pressed=true]{background:#176d50;color:#fff;border-color:#176d50;box-shadow:0 2px 6px #176d5033}.quick-region-note{margin:0 0 12px;color:#607b69;font-size:12px}@media(max-width:740px){.region-filter-container{margin-top:16px;margin-left:-2px;margin-right:-2px}.filter-label{font-size:13px}.region-chip{padding:9px 13px}.quick-region-note{font-size:12px}}
/* Compact card summary: detailed unknowns remain on the detail page */
.card-access-summary{margin:0;padding:12px 14px;border-left:4px solid #97a59d;border-radius:10px;background:#f2f4f2;color:#4d5b53;display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.55}.card-access-summary strong{font-size:12px;color:#365b49}.facts-compact{grid-template-columns:minmax(0,1fr);max-width:180px}
/* The city selector is the only region control shown. */
.region-filter-container,.quick-region-note{display:none!important}
.route-card{border-left:4px solid #1b7659}.place-card{border-left:4px solid #c99a51}.place-card .tag:first-child{background:#f2ede5;color:#654b29}
.more-results{display:block;margin:24px auto 0;padding:12px 30px;border:1px solid #173f35;border-radius:12px;background:#fff;color:#173f35;font-weight:800}.more-results:hover{background:#e7f2ea}
.place-note{margin:0;color:#4e5f56;font-size:13px;line-height:1.5}.other-region-label{align-self:center;margin-left:8px;font-size:12px;font-weight:700;color:#456355}.regions select{border:1px solid #a9c7b4;border-radius:10px;background:#fff;color:#264b3b;padding:9px 12px;font-size:13px;font-weight:700}
@media(max-width:740px){.regions{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:10px;scrollbar-width:thin}.regions button{flex:0 0 auto}}
@media(max-width:740px){.purpose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.purpose button{white-space:nowrap;font-size:13px}.regions button:first-child{order:0}.regions select{order:1;flex:0 0 auto}.regions button:not(:first-child){order:2}}
.regions button small{font-size:11px;font-weight:600;opacity:.78;margin-left:3px}.regions .district-filter{order:99;min-width:150px;padding:10px 14px;border-radius:999px;border:1px solid #b7c9b5;background:#fff;color:#294b37;font-size:14px;font-weight:700}.regions .district-filter:focus{outline:3px solid #f1a93a;outline-offset:3px}@media(max-width:740px){.regions .district-filter{flex:0 0 165px}}
/* Readable secondary text on the light cards and controls. */
.address,.card-foot small,.fact span,.detail-fact span,.muted,.section-heading p,.results-heading p,.field-status.unknown{color:#4b6255}
.searchbox input::placeholder{color:#5d7065;opacity:1}
/* Forest retreat visual direction */
html{background:#f7f8f2}
body{color:#18372a;background:#f7f8f2}
.header{background:#f9fbf6;border-bottom-color:#e2e9df}
.brand{color:#173f31}.brand-icon{background:#214f3a;border-radius:50%}
.hero{background:#fff}
.hero-layout{min-height:410px;grid-template-columns:.88fr 1fr;gap:54px;padding-top:52px;padding-bottom:58px}
.hero h1{color:#183b2c;line-height:1.22}.hero h1 em{color:#397251}
.hero p{color:#425b49}.eyebrow,.overline{color:#356e50}
.hero-cta{background:#244f3a;border-radius:999px;padding:15px 24px;box-shadow:0 8px 18px #244f3a25}
.hero-cta:hover{background:#173d2c}
.illustration{height:315px;border-radius:24px;background:#eaf1e9 url('assets/easywalk-hero-v2.jpg') 72% center/cover no-repeat;box-shadow:0 22px 45px #29472e2b}
.illustration::after{display:none}
.illustration .sun,.illustration .cloud,.illustration .hill,.illustration .walkway{display:none}
.illustration-note{z-index:1;bottom:18px;left:18px;background:#f7f9f2eb;color:#254633;border-radius:999px;font-size:12px;padding:9px 15px}
@media(min-width:741px){
  .hero{background-color:#fff;background-image:linear-gradient(90deg,#fff 0%,#fff 27%,#fffffff7 35%,#ffffffd9 43%,#ffffff82 52%,#ffffff2b 60%,transparent 68%),url('assets/easywalk-hero-v2.jpg');background-position:center,right center;background-size:100% 100%,72% 100%;background-repeat:no-repeat}
  .hero-layout{min-height:440px;grid-template-columns:1fr 1fr;position:relative}
  .search-section{margin-top:0}
  .hero-layout>div:first-child{position:relative;z-index:1}
  .illustration{align-self:stretch;height:auto;overflow:visible;border-radius:0;background:none;box-shadow:none}
  .illustration::after{display:none}
  .illustration-note{left:auto;right:0;bottom:20px;box-shadow:0 3px 14px #18372a28}
}
.search-panel{border-color:#e3e9dc;box-shadow:0 18px 42px #29452a12}
.searchbox{border-color:#bacdb9}.searchbox:focus-within{border-color:#337153;box-shadow:0 0 0 3px #b6d4b454}
.results-section{padding-top:56px}
.regions{gap:10px;margin-top:20px}
.regions button{background:#fefefb;border-color:#b7c9b5;color:#294b37;border-radius:999px;padding:10px 20px;font-size:14px}
.regions button:hover{background:#e5eee2;border-color:#6d9a75}
.regions button[aria-pressed=true]{background:#244f3a;border-color:#244f3a;color:#fff}
.card{border-color:#e2e9dc;box-shadow:0 10px 28px #29452a0b}
.route-card{border-left-color:#2d7551}.place-card{border-left-color:#a8996d}
.place-card .tag:first-child{background:#f1f0e8;color:#574f37}
.tag.warn{background:#f7f0df;color:#76551f}
.how-grid article{background:#e9efe4}
@media(max-width:740px){.hero-layout{grid-template-columns:1fr;gap:24px;padding-top:32px;padding-bottom:36px}.hero h1{font-size:39px}.illustration{height:218px;border-radius:20px}.illustration-note{font-size:11px}.regions{gap:8px}.regions button{padding:10px 16px}}

/* Compact discovery cards and tactile filters */
.regions button,.purpose button,.toggle button,.hero-cta,.card{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.regions button:hover,.purpose button:hover,.toggle button:hover{transform:translateY(-3px);box-shadow:0 6px 14px #1d4b3420}
.regions button:active,.purpose button:active,.toggle button:active{transform:translateY(-1px) scale(.97)}
.regions button[aria-pressed=true]{transform:translateY(-2px);box-shadow:0 6px 14px #1d4b3426}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #29452a1c}
.cards{gap:14px}
.card{padding:18px 20px;gap:9px}
.card h3{font-size:19px;line-height:1.4}
.card-top .tag{padding:5px 8px}
.card-summary{margin:0;color:#536b5b;font-size:12px;line-height:1.55}
.card-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#4d6356}
.card-meta span{background:#f2f6f1;border-radius:8px;padding:6px 9px}
.card-meta strong{color:#173f30}
.card-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.card-actions button{border:0;background:none;color:#276247;font-size:12px;font-weight:800;padding:4px;cursor:pointer}
.card-actions button:hover{text-decoration:underline}
.card-foot{padding-top:4px}
.route-card .compare-choice{margin-top:0}
.map-note{padding:20px;background:#f1f5ed}
.map-note h3{margin:0 0 8px}
.map-note p{margin:0 0 12px;font-size:13px;line-height:1.65}
#live-map{height:520px;border-radius:14px;overflow:hidden;border:1px solid #cad9c7;background:#e9f0e4}
.map-status{font-size:12px;color:#526b58;margin:10px 0!important}
.map-links{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}
.map-links a{font-size:12px;line-height:1.45}
.map-popup h4{font-size:14px;margin:0 0 4px}.map-popup p{font-size:12px;margin:0 0 7px}.map-popup a{font-weight:800;color:#176d50}
.map-cluster{background:#244f3a;border:2px solid white;color:white;border-radius:50%;display:grid;place-items:center;font-weight:800;box-shadow:0 3px 10px #102e2059}
.map-number-pin{background:#f3b441;border:3px solid #fff;color:#44310d;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:900;box-shadow:0 3px 10px #543b1759}.map-links a{display:flex;align-items:center;gap:9px}.map-links a strong{margin-left:auto;font-size:11px;color:#37715a}.map-list-number{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;background:#f3b441;color:#44310d;border-radius:50%;font-weight:900;font-size:12px}
@media(max-width:740px){.card{padding:16px;gap:8px}.card h3{font-size:18px}.map-links{grid-template-columns:1fr}#live-map{height:440px}.map-note{padding:14px}}
@media(prefers-reduced-motion:reduce){.regions button,.purpose button,.toggle button,.hero-cta,.card{transition:none!important}.regions button:hover,.purpose button:hover,.toggle button:hover,.regions button[aria-pressed=true],.card:hover{transform:none}}
/* Compact result cards: keep the evidence readable while showing more places per screen. */
.cards{gap:14px}.card{padding:15px 17px;gap:7px;border-radius:16px}.card-top{gap:5px}.card-top .tag{padding:5px 8px}.card h3{font-size:18px;line-height:1.35}.card .address{font-size:12px}.card-meta{gap:6px;font-size:11px}.card-meta span{padding:5px 8px}.card-summary{font-size:11px}.card-foot small{font-size:10px}.compare-choice{font-size:11px;gap:6px}@media(max-width:740px){.card{padding:14px;gap:6px}.cards{gap:12px}}

/* Reading pages and source-backed detail notes */
.page{max-width:860px;margin:0 auto;padding:56px 24px 90px;line-height:1.85;color:#264535}
.page h1{font-size:clamp(30px,4vw,43px);line-height:1.3;letter-spacing:-.04em;color:#173d2d;margin:8px 0 20px}
.page h2{font-size:24px;letter-spacing:-.035em;line-height:1.45;margin:0 0 14px;color:#204831}
.page p,.page li{font-size:16px}.page .lead{font-size:18px;color:#3d5b49}
.page section{margin-top:38px;padding-top:28px;border-top:1px solid #dae5d8}
.page a,.reader-guide a{color:#146d4c;font-weight:700}
.page li{margin:8px 0}.page-return{margin-top:40px}
.reader-guide{background:#eef4e9;border-radius:18px;padding:26px!important;border:0!important;line-height:1.85}
.reader-guide p{line-height:1.85}
.official-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.info-list{display:grid;gap:0;border:1px solid #dce8de;border-radius:14px;overflow:hidden;background:#fbfdfb}.info-list>div{display:flex;justify-content:space-between;gap:20px;padding:15px 17px;border-bottom:1px solid #e7eee8;line-height:1.55}.info-list>div:last-child{border-bottom:0}.info-list strong{color:#164c37;white-space:nowrap}.info-list span{color:#536c5c;text-align:right}
.official-known-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.official-known{padding:16px 17px;border:1px solid #d8e9dc;border-radius:13px;background:#f3faf3}.official-known strong{display:block;color:#176d50;font-size:13px;margin-bottom:6px}.official-known p{margin:0;color:#244b38;line-height:1.6;font-size:14px}.official-summary{border-color:#b9dcc0!important;background:#fbfefb!important}
.detail-map-inline{margin-top:24px}.detail-map-inline h3{margin:0 0 8px;color:#0d4435;font-size:20px}.detail-map{height:360px;border:1px solid #d8e5da;border-radius:15px;overflow:hidden;background:#eaf3ea}.map-credit{font-size:12px;color:#718476;margin:8px 0 0}.map-error{padding:24px;color:#7a5a33}
.official-note{background:#f3f7f1;border:1px solid #e1eadd;border-radius:12px;padding:16px;overflow-wrap:anywhere}
.official-note strong{color:#1d573d;font-size:14px}.official-note p{font-size:13px;line-height:1.7;margin:7px 0 0}
.detail-section.reader-guide{padding:24px;margin-top:34px}
.back{display:inline-flex;align-items:center;gap:9px;margin-bottom:22px;font-size:20px;font-weight:800;color:#6d4a19;text-decoration:none;padding:12px 16px 12px 12px;border-radius:12px;background:#fff1d6;transition:transform .18s ease,background .18s ease}.back::first-letter{font-size:28px;line-height:.7}.back:hover{background:#ffe2ad;transform:translateX(-3px)}
@media(max-width:740px){.page{padding:36px 18px 64px}.page h2{font-size:21px}.page p,.page li{font-size:15px}.page .lead{font-size:16px}.official-notes{grid-template-columns:1fr}}
@media(max-width:740px){.info-list>div{display:grid;gap:4px;padding:13px 14px}.info-list span{text-align:left}}
@media(max-width:740px){.official-known-grid{grid-template-columns:1fr}}
@media(max-width:740px){.detail-map{height:280px}}
/* Detail pages: calm panels establish a clearer reading rhythm without making the page feel dense. */
.detail-section:not(.reader-guide){margin-top:28px;padding:27px 28px 29px;border:1px solid #dce8df;border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(30,76,51,.055)}
.detail-section:not(.reader-guide) h2{margin-top:0;margin-bottom:8px;padding-bottom:13px;border-bottom:1px solid #e5eee7}
.detail-section:not(.reader-guide) .section-intro{margin-bottom:19px}
.detail-section:not(.reader-guide) .detail-grid{gap:12px}
.detail-section:not(.reader-guide) .detail-fact{min-height:94px;padding:17px 18px;border:1px solid #e1ebe3;border-radius:13px;background:#f8fbf8;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.detail-section:not(.reader-guide) .detail-fact strong{font-size:14px;color:#164c37}
@media(max-width:740px){.detail-section:not(.reader-guide){margin-top:20px;padding:21px 16px 22px;border-radius:16px}.detail-section:not(.reader-guide) h2{padding-bottom:11px}.detail-section:not(.reader-guide) .detail-grid{gap:9px}.detail-section:not(.reader-guide) .detail-fact{min-height:84px;padding:13px 12px}}

/* Detail page blue information palette */
.detail-hero{background:#eaf3ff}
.detail-section:not(.reader-guide) .detail-fact{background:#f5f9ff;border-color:#d6e5f5}
.detail-section:not(.reader-guide) .detail-fact strong{color:#1f5688}
.official-summary{background:#f8fbff!important;border-color:#b9d3ee!important}
.official-known{background:#f1f7ff;border-color:#cfe0f2}
.official-known strong{color:#245f96}
.official-known p{color:#314f6d}
.source-box{background:#f2f7fd}
.info-list{background:#f8fbff;border-color:#d8e5f2}
.reader-guide{background:#eef5fc}

/* Detail page mixed pastel palette: blue + sage + warm cream */
.detail-hero{background:#eaf3ff}
.detail-section:not(.reader-guide){background:#fff}
.detail-section:not(.reader-guide) .detail-fact{background:#f7fafc;border-color:#dce6ed}
.detail-section:not(.reader-guide) .detail-grid .detail-fact:nth-child(4n+1){background:#eef6ff;border-color:#d2e3f6}
.detail-section:not(.reader-guide) .detail-grid .detail-fact:nth-child(4n+2){background:#eef7f1;border-color:#d2e7d8}
.detail-section:not(.reader-guide) .detail-grid .detail-fact:nth-child(4n+3){background:#fff8ea;border-color:#f0dfbd}
.detail-section:not(.reader-guide) .detail-grid .detail-fact:nth-child(4n){background:#f6f1fb;border-color:#e2d7ef}
.detail-section:not(.reader-guide) .detail-fact strong{color:#214f73}
.official-summary{background:#fff!important;border-color:#d9e4df!important}
.official-known{background:#f7fafc;border-color:#dce6ed}
.official-known-grid .official-known:nth-child(4n+1){background:#eef6ff;border-color:#cfe0f2}
.official-known-grid .official-known:nth-child(4n+2){background:#eef7f1;border-color:#cfe3d5}
.official-known-grid .official-known:nth-child(4n+3){background:#fff7e8;border-color:#efddb6}
.official-known-grid .official-known:nth-child(4n){background:#f6f0fb;border-color:#ded2ec}
.official-known-grid .official-known:nth-child(4n+1) strong{color:#245f96}
.official-known-grid .official-known:nth-child(4n+2) strong{color:#2b6a4a}
.official-known-grid .official-known:nth-child(4n+3) strong{color:#8a6124}
.official-known-grid .official-known:nth-child(4n) strong{color:#6d4b8d}
.official-known p{color:#314f5f}
.source-box{background:#f5f8fb}
.info-list{background:#fbfcfd;border-color:#dce6ed}
.reader-guide{background:#f1f6f1}

/* Detail page restrained palette: neutral surfaces, color only for meaning */
.detail-hero{background:#eaf3ff}
.detail-section:not(.reader-guide){background:#fff}
.detail-section:not(.reader-guide) .detail-fact,
.detail-section:not(.reader-guide) .detail-grid .detail-fact:nth-child(n){
  background:#f8fafc;
  border-color:#dfe7ee;
}
.detail-section:not(.reader-guide) .detail-fact strong{color:#173f35}
.official-summary{background:#fff!important;border-color:#d9e4df!important}
.official-known,
.official-known-grid .official-known:nth-child(n){
  background:#f8fafc;
  border-color:#dfe7ee;
}
.official-known strong,
.official-known-grid .official-known:nth-child(n) strong{color:#245f96}
.official-known p{color:#40576a}
.source-box{background:#f7f9fb}
.info-list{background:#fff;border-color:#dde6e1}
.reader-guide{background:#f1f6f1}
.callout{background:#fff6e8}

/* Denser detail cards and richer content sections */
.detail-section:not(.reader-guide) .detail-fact{
  min-height:68px!important;
  padding:12px 14px!important;
  gap:3px!important;
}
.detail-section:not(.reader-guide) .detail-fact span{font-size:10px}
.detail-section:not(.reader-guide) .detail-fact strong{font-size:14px;line-height:1.45}
.compact-actions{margin-top:14px}
.visit-points{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:8px}
.visit-points li{position:relative;padding:11px 14px 11px 38px;border:1px solid #e0e8e3;border-radius:11px;background:#fafcfb;line-height:1.55}
.visit-points li::before{content:"✓";position:absolute;left:14px;top:10px;color:#176d50;font-weight:900}
.nearby-section h2{font-size:22px}

/* Homepage data snapshot */
.data-snapshot{padding-top:42px;padding-bottom:4px}
.data-snapshot .section-heading{max-width:760px}
.snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.snapshot-grid article{padding:18px 18px 17px;border:1px solid #dfe8e1;border-radius:16px;background:#fff}
.snapshot-grid strong{display:block;font-size:25px;line-height:1.1;color:#173f35;margin-bottom:7px}
.snapshot-grid span{font-size:12px;color:#596e62}
.snapshot-note{margin:12px 0 0;padding:12px 14px;border-radius:11px;background:#f5f8f5;color:#52675a;font-size:12px;line-height:1.6}
@media(max-width:740px){
  .detail-section:not(.reader-guide) .detail-fact{min-height:62px!important;padding:11px 12px!important}
  .snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .snapshot-grid strong{font-size:21px}
}

/* Homepage quick filters and richer guidance */
.quick-check{margin-top:18px;padding-top:16px;border-top:1px solid #e4ebe5}
.quick-check>strong{display:block;margin-bottom:10px;color:#244f3a;font-size:13px}
.quick-check-buttons{display:flex;gap:8px;flex-wrap:wrap}
.quick-check-buttons button{border:1px solid #c8d8cd;background:#fff;color:#2f5b43;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}
.quick-check-buttons button:hover{background:#eef5ef;border-color:#86aa91}
.verify-section{padding-top:58px;padding-bottom:8px}
.verify-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.verify-grid article{padding:18px;border:1px solid #dfe7e2;border-radius:16px;background:#fff}
.verify-grid article>strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf3ff;color:#245f96;margin-bottom:12px}
.verify-grid h3{margin:0 0 7px;font-size:17px;color:#173f35}
.verify-grid p{margin:0;color:#607168;font-size:12px;line-height:1.65}
.situation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.situation-grid article{min-height:180px;padding:22px;background:#f3f7f2}
.situation-grid .how-icon{font-size:22px}
.situation-grid h3{margin-top:12px}
.situation-grid p{line-height:1.7}
.before-note{margin-top:16px;padding:16px 18px;border:1px solid #d7e4d9;border-radius:14px;background:#fff}
.before-note strong{color:#1f5f43}
.before-note p{margin:6px 0 0;color:#5b6d61;font-size:13px;line-height:1.65}
@media(max-width:900px){.verify-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.quick-check-buttons{gap:7px}.quick-check-buttons button{font-size:11px;padding:8px 10px}.verify-grid,.situation-grid{grid-template-columns:1fr}.situation-grid article{min-height:0;padding:18px}}

/* Result cards with official tourism photos */
.card-photo{position:relative;height:122px;overflow:hidden;border-radius:13px;background:#edf2ee;margin-bottom:2px}
.card-photo img{width:100%;height:100%;display:block;object-fit:cover}
.card-photo span{position:absolute;right:8px;bottom:8px;padding:4px 7px;border-radius:999px;background:#ffffffdf;color:#4c6255;font-size:9px;font-weight:700;box-shadow:0 2px 8px #173f3520}
@media(max-width:740px){.card-photo{height:112px}}

/* Make result cards easy to open without crowding the layout */
.clickable-card{cursor:pointer}
.card-title-link{text-decoration:none;color:inherit}
.card-title-link:hover{text-decoration:underline;text-underline-offset:3px}
.card-actions .text-link{display:inline-flex;align-items:center;min-height:36px;padding:7px 10px;border-radius:9px;background:#eef5ef;font-size:13px}
.card-actions .text-link:hover{background:#e1eee4;text-decoration:none}

/* Guide hub inspired by the proven DangleCamp information architecture */
.home-guides{padding-top:54px;padding-bottom:74px}
.home-guides-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:18px}
.home-guides-head h2{font-size:28px;letter-spacing:-.04em;margin:6px 0}
.home-guides-head p{margin:0;color:#63766a;font-size:14px}
.home-guides-head .more{margin:0;white-space:nowrap}
.home-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-guide-grid a{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:center;padding:15px 16px;border:1px solid #dbe6de;border-radius:14px;background:#fff;text-decoration:none;box-shadow:0 7px 18px #29452a0a}
.home-guide-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 22px #29452a16}
.home-guide-grid span{grid-row:1/3;font-size:19px}
.home-guide-grid strong{font-size:15px;color:#173f35}
.home-guide-grid small{font-size:11px;color:#687a70;line-height:1.45}

.guide-page{max-width:900px}
.guide-jump{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 34px}
.guide-jump a{padding:8px 11px;border:1px solid #d5e3d8;border-radius:999px;background:#fff;text-decoration:none;font-size:12px;font-weight:700;color:#2d5d45}
.guide-page>section:not(.reader-guide){padding:24px 0;border-top:1px solid #e0e8e2}
.guide-page>section h2{margin-top:0}
.guide-page ul{padding-left:20px}
.guide-page li{margin:6px 0}
@media(max-width:740px){
  .home-guides-head{align-items:flex-start;flex-direction:column}
  .home-guide-grid{grid-template-columns:1fr}
}

/* Narrow the situation guide cards while keeping the 3-column layout */
.situation-grid{
  grid-template-columns:repeat(3,minmax(0,285px))!important;
  justify-content:center;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.situation-grid article{
  width:100%;
  min-height:160px;
  padding:18px 20px;
}
@media(max-width:940px){
  .situation-grid{grid-template-columns:repeat(2,minmax(0,320px))!important;max-width:660px}
}
@media(max-width:740px){
  .situation-grid{grid-template-columns:1fr!important;max-width:520px}
}

/* Situation cards: keep original width, reduce vertical height only */
.situation-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.situation-grid article{
  width:auto!important;
  min-height:125px!important;
  padding:14px 18px!important;
}
.situation-grid .how-icon{margin-bottom:4px!important}
.situation-grid h3{margin:6px 0 5px!important}
.situation-grid p{margin:0!important;line-height:1.55!important}
@media(max-width:940px){
  .situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:none!important}
}
@media(max-width:740px){
  .situation-grid{grid-template-columns:1fr!important}
  .situation-grid article{min-height:0!important}
}

/* ParkGolfPlace-style utility ideas adapted for EasyWalk */
.finder-tools{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 7px}
.finder-tools button{border:1px solid #bfd4c6;background:#fff;color:#1d5f45;border-radius:10px;padding:10px 13px;font-size:12px;font-weight:800;cursor:pointer}
.finder-tools #nearby-btn{background:#176d50;color:#fff;border-color:#176d50}
.finder-tools button[aria-pressed="true"]{background:#e8f4ec;border-color:#7eaa8e;color:#155b41}
.finder-tools .quiet-tool{background:#f8faf8;color:#5d6e63}
.location-status{margin:0 0 16px;color:#68796f;font-size:11px;line-height:1.55}
.favorite-button{border:0;background:transparent;color:#35604a;font-size:11px;font-weight:800;padding:7px 8px;border-radius:8px;cursor:pointer}
.favorite-button[aria-pressed="true"]{background:#fff0f0;color:#a74747}
.nearby-distance{margin:5px 0 8px;color:#1d7048;font-size:11px;font-weight:800}
.recent-confirmed-section{padding-top:52px;padding-bottom:10px}
.recent-confirmed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.recent-item{display:flex;flex-direction:column;gap:5px;padding:16px 17px;border:1px solid #dce7df;border-radius:14px;background:#fff;text-decoration:none;min-height:106px}
.recent-item:hover{transform:translateY(-2px);box-shadow:0 9px 20px #29452a12}
.recent-item span{font-size:10px;color:#7a8b80}
.recent-item strong{font-size:15px;color:#173f35}
.recent-item small{font-size:11px;color:#5f7167;line-height:1.45}
@media(max-width:900px){.recent-confirmed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.finder-tools button{flex:1 1 auto}.recent-confirmed-grid{grid-template-columns:1fr}}

/* Region landing pages and benchmark-inspired supporting pages */
.region-links-section{padding-top:46px;padding-bottom:8px}
.region-link-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.region-link-grid a{display:grid;place-items:center;min-height:46px;border:1px solid #d8e5dc;border-radius:12px;background:#fff;text-decoration:none;color:#24563f;font-weight:800;font-size:13px}
.region-link-grid a:hover{background:#eef6f0;border-color:#9fc2aa}
.region-page{max-width:1060px}
.region-stats{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 26px}
.region-stats span{padding:8px 11px;border-radius:999px;background:#eef5ef;color:#456151;font-size:12px;font-weight:700}
.region-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.region-place-card{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #dce6df;border-radius:16px;background:#fff;text-decoration:none;min-width:0}
.region-place-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #29452a12}
.region-place-card img{width:100%;height:128px;object-fit:cover;border-radius:11px}
.region-place-card span{font-size:10px;color:#287052;font-weight:800}
.region-place-card strong{font-size:16px;color:#173f35}
.region-place-card small{font-size:11px;color:#6b7a71;line-height:1.45}
.question-page section{padding:22px 0;border-top:1px solid #e0e8e2}
.question-page section h2{margin-top:0}
.question-page li{margin:8px 0;line-height:1.65}
.page-actions{margin-top:26px}
.report-page form{display:grid;gap:14px;margin:26px 0}
.report-page label{display:grid;gap:7px;font-weight:800;color:#244c39}
.report-page input,.report-page select,.report-page textarea{width:100%;box-sizing:border-box;border:1px solid #ccdcd1;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}
.report-output{white-space:pre-wrap;min-height:130px;padding:16px;border-radius:12px;background:#f5f8f6;border:1px solid #dce6df;color:#334b3e}
.source-compare-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.source-compare-row h3{grid-column:1/-1;margin:0;font-size:16px;color:#173f35}
.source-compare-row>div{padding:14px;border-radius:12px;background:#f8faf9;border:1px solid #dfe7e2}
.source-compare-row strong{color:#245f96;font-size:12px}
.source-compare-row p{margin:7px 0 0;line-height:1.6;color:#4d6256}
@media(max-width:900px){.region-link-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.region-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.region-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.region-place-grid{grid-template-columns:1fr}.source-compare-row{grid-template-columns:1fr}.source-compare-row h3{grid-column:auto}}

/* De-emphasize administrative metadata on general place detail pages */
.subdued-section{background:#fbfcfb!important;border-color:#e3e9e5!important}
.subdued-section h2{font-size:20px;color:#52675a}

/* Richer place detail pages from official Tourism Organization data */
.detail-hero-with-photo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;align-items:stretch}
.detail-hero-copy{min-width:0}
.detail-hero-photo{margin:0;position:relative;min-height:220px;border-radius:16px;overflow:hidden;background:#dfe8e2}
.detail-hero-photo img{width:100%;height:100%;min-height:220px;display:block;object-fit:cover}
.detail-hero-photo figcaption{position:absolute;right:9px;bottom:9px;padding:5px 8px;border-radius:999px;background:#fffffff0;color:#506359;font-size:9px;font-weight:800}
.place-highlights h2{margin-bottom:16px}
.highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.highlight-grid article{padding:15px 16px;border:1px solid #dce6df;border-radius:13px;background:#f8fbf9}
.highlight-grid span{display:block;margin-bottom:7px;color:#277052;font-size:11px;font-weight:900}
.highlight-grid p{margin:0;color:#40584b;line-height:1.65;font-size:13px}
@media(max-width:740px){
  .detail-hero-with-photo{grid-template-columns:1fr}
  .detail-hero-photo,.detail-hero-photo img{min-height:190px}
  .highlight-grid{grid-template-columns:1fr}
}

.detail-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.detail-gallery figure{margin:0;overflow:hidden;border-radius:12px;background:#f2f5f3;border:1px solid #e0e7e2}
.detail-gallery img{width:100%;height:150px;display:block;object-fit:cover}
.detail-gallery figcaption{padding:8px 9px;font-size:10px;color:#65746b;line-height:1.4}
@media(max-width:900px){.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.detail-gallery{grid-template-columns:1fr 1fr}.detail-gallery img{height:120px}}

/* Long official overviews: break dense copy into readable paragraphs */
.tourism-overview{
  max-width:72ch;
  padding:24px 26px;
}
.tourism-overview p{
  margin:0;
  font-size:15px;
  line-height:1.95;
  letter-spacing:-0.01em;
  color:#294437;
}
.tourism-overview p + p{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e4ebe6;
}
@media(max-width:740px){
  .tourism-overview{max-width:none;padding:18px 17px}
  .tourism-overview p{font-size:14px;line-height:1.85}
  .tourism-overview p + p{margin-top:14px;padding-top:14px}
}

/* Overview should read like editorial copy, not a box inside a box */
.place-overview-section{padding-bottom:28px}
.place-overview-section>h2{margin-bottom:16px}
.tourism-overview{
  max-width:none!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.tourism-overview p{
  margin:0;
  max-width:78ch;
  font-size:15px;
  line-height:1.9;
  letter-spacing:-0.01em;
  color:#294437;
}
.tourism-overview p + p{
  margin-top:14px;
  padding-top:0!important;
  border-top:0!important;
}
@media(max-width:740px){
  .tourism-overview{padding:0!important}
  .tourism-overview p{max-width:none;font-size:14px;line-height:1.8}
  .tourism-overview p + p{margin-top:12px}
}

/* Final overview balance: full card width, fewer natural paragraph breaks */
.place-overview-section{padding-bottom:30px}
.place-overview-section>h2{margin-bottom:18px}
.place-overview-section .tourism-overview{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.place-overview-section .tourism-overview p{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  font-size:15px;
  line-height:1.9;
  letter-spacing:-0.01em;
  color:#294437;
  text-wrap:pretty;
}
.place-overview-section .tourism-overview p + p{
  margin-top:18px!important;
  padding-top:0!important;
  border-top:0!important;
}
@media(max-width:740px){
  .place-overview-section .tourism-overview p{font-size:14px;line-height:1.8}
  .place-overview-section .tourism-overview p + p{margin-top:14px!important}
}

/* Make adjacent homepage sections read as clearly separate blocks */
.verify-section{
  padding-bottom:56px;
}
.how{
  margin-top:10px;
  padding:34px 30px 30px!important;
  background:#fff;
  border:1px solid #d9e5dc;
  border-radius:20px;
  box-shadow:0 10px 28px rgba(35,73,53,.055);
}
.how .section-heading{
  margin-bottom:24px;
}
.how .section-heading .overline{
  display:inline-block;
  margin-bottom:7px;
}
.how .section-heading h2{
  margin-top:0;
}
@media(max-width:740px){
  .verify-section{padding-bottom:38px}
  .how{padding:24px 18px 22px!important;border-radius:16px}
}

/* Rebalance adjacent homepage sections: clear divider without an oversized outer card */
.verify-section{
  padding-bottom:34px!important;
}
.how{
  margin-top:0!important;
  padding:30px 0 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid #d9e5dc!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.how .section-heading{
  margin-bottom:20px!important;
}
.how .section-heading .overline{
  margin-bottom:6px!important;
}
.how .section-heading h2{
  margin:0 0 7px!important;
}
.how-grid.situation-grid{
  margin-top:0!important;
}
.before-note{
  margin-top:16px!important;
}
@media(max-width:740px){
  .verify-section{padding-bottom:28px!important}
  .how{padding:24px 0 0!important}
}

/* Keep all homepage section headings on the same left grid line */
.how{
  padding:30px 24px 0!important;
}
@media(max-width:740px){
  .how{padding:24px 16px 0!important}
}

/* Official walking-route legend shown with the representative place pin */
.route-legend{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:4px 0 12px;font-size:12px;color:#486254}
.route-legend-item,.route-legend-pin{display:inline-flex;align-items:center;gap:6px}
.route-legend-item i{width:22px;height:4px;border-radius:999px;background:var(--route-color);display:inline-block}
.route-map-first .detail-map-inline{margin-top:20px}

/* Responsive detail layout: mobile-first visual storytelling + wider desktop information layout */
@media(min-width:901px){
  .detail-main{
    max-width:1180px;
    margin:44px auto 88px;
    padding:0 28px;
  }
  .detail-hero-with-photo{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);
    grid-template-areas:"photo copy";
    gap:30px;
    align-items:stretch;
    padding:28px;
    border-radius:24px;
  }
  .detail-hero-with-photo .detail-hero-photo{
    grid-area:photo;
    min-height:340px;
    border-radius:18px;
  }
  .detail-hero-with-photo .detail-hero-photo img{
    min-height:340px;
  }
  .detail-hero-with-photo .detail-hero-copy{
    grid-area:copy;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:12px 4px;
  }
  .detail-hero-with-photo .detail-hero-copy h1{
    font-size:34px;
    line-height:1.3;
    margin:14px 0 12px;
  }
  .detail-hero-with-photo .detail-hero-copy>p:not(.address){
    font-size:15px;
    line-height:1.8;
    margin:14px 0 0;
  }
  .route-map-first .detail-map{height:500px}
  .detail-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .detail-gallery img{height:190px}
  .highlight-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
  .place-overview-section .tourism-overview{
    width:min(100%,920px)!important;
    max-width:920px!important;
    margin:0 auto!important;
  }
}
@media(max-width:900px){
  .detail-main{
    max-width:none;
    margin:22px auto 64px;
    padding:0 14px;
  }
  .detail-hero-with-photo{
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:"photo" "copy";
    gap:0;
    padding:0;
    overflow:visible;
    background:transparent;
    border-radius:22px;
  }
  .detail-hero-with-photo .detail-hero-photo{
    grid-area:photo;
    min-height:310px;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(28,72,48,.12);
  }
  .detail-hero-with-photo .detail-hero-photo img{
    min-height:310px;
    height:310px;
  }
  .detail-hero-with-photo .detail-hero-copy{
    grid-area:copy;
    position:relative;
    z-index:2;
    margin:-26px 12px 0;
    padding:24px 20px 22px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 28px rgba(28,72,48,.08);
  }
  .detail-hero-with-photo .detail-hero-copy h1{
    font-size:28px;
    line-height:1.3;
    margin:12px 0 10px;
  }
  .detail-hero-with-photo .detail-hero-copy>p:not(.address){
    margin:13px 0 0;
    font-size:14px;
    line-height:1.8;
  }
  .detail-section:not(.reader-guide){
    margin-top:18px;
  }
  .route-map-first .detail-map{height:340px}
  .detail-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .detail-gallery img{height:140px}
  .detail-gallery figcaption{font-size:9px;padding:7px 8px}
  .place-overview-section .tourism-overview{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}
@media(max-width:520px){
  .detail-main{padding:0 12px}
  .detail-hero-with-photo .detail-hero-photo,
  .detail-hero-with-photo .detail-hero-photo img{min-height:260px;height:260px}
  .detail-hero-with-photo .detail-hero-copy{
    margin:-22px 8px 0;
    padding:22px 17px 20px;
  }
  .route-map-first .detail-map{height:310px}
  .detail-gallery img{height:118px}
}

/* CTA buttons inside reading pages must keep readable white text */
.page a.hero-cta,
.page a.hero-cta:visited,
.page a.hero-cta:hover,
.page a.hero-cta:active{
  color:#fff!important;
  text-decoration:none;
}

/* EasyWalk main brand mark: path + pine */
.brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.brand-logo{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:block;
  object-fit:contain;
}
footer .brand-logo,
.footer-grid .brand-logo{
  width:34px;
  height:34px;
  flex-basis:34px;
}
@media(max-width:740px){
  .brand-logo{width:42px;height:42px;flex-basis:42px}
}


/* Final hero: one large rounded visual card with a soft white fade on the left */
.hero{
  background:#f7f8f2!important;
  background-image:none!important;
  padding:22px 20px 34px;
}
.hero .wrap{
  max-width:1140px;
}
.hero-layout{
  min-height:500px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  position:relative;
  overflow:hidden;
  border-radius:30px;
  /* Keep the hero copy close to the card edge without crowding the image. */
  padding:58px 64px;
  background-color:#fff;
  background-image:url('assets/easywalk-hero-final.png');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  box-shadow:0 18px 42px #1e412d1a;
}
.hero-layout>div:first-child{
  position:relative;
  z-index:2;
  max-width:560px;
}
@media(min-width:741px){
  .hero-layout>div:first-child{transform:translateY(72px)}
}
.hero .eyebrow{
  display:inline-flex;
  padding:8px 13px;
  border-radius:999px;
  background:#ffffffd9;
  border:1px solid #dce7dc;
  color:#286148;
  box-shadow:0 4px 14px #23463112;
}
.hero h1{
  font-size:clamp(46px,5vw,66px);
  line-height:1.17;
  margin:18px 0 14px;
  color:#173f31;
}
.hero h1 em{color:#397251}
.hero p{
  max-width:520px;
  font-size:16px;
  line-height:1.9;
  color:#354f40;
}
.hero-cta{
  display:none;
  margin-top:18px;
  padding:16px 24px;
  border-radius:14px;
  background:#1f5b43;
  box-shadow:0 10px 20px #183f2d24;
}
.hero .illustration{display:none!important}
@media(max-width:900px){
  .hero{padding:16px 14px 26px}
  .hero-layout{
    min-height:440px;
    padding:44px 38px;
    border-radius:26px;
    background-image:url('assets/easywalk-hero-final.png');
    background-position:center center;
    background-size:cover;
  }
}
@media(max-width:740px){
  .hero{padding:12px 10px 20px}
  .hero-layout{
    min-height:500px;
    padding:32px 22px 34px;
    align-items:end;
    border-radius:22px;
    background-image:
      linear-gradient(180deg,#ffffff08 0%,#ffffff22 36%,#ffffffe8 68%,#ffffff 84%),
      url('assets/easywalk-hero-final.png');
    background-position:center,72% center;
    background-size:100% 100%,auto 100%;
  }
  .hero-layout>div:first-child{max-width:none}
  .hero .eyebrow{font-size:11px}
  .hero h1{font-size:40px;line-height:1.2;margin:14px 0 10px}
  .hero p{font-size:14px;line-height:1.7}
  .hero-cta{margin-top:12px}
}

/* Finder first step: separate walking routes from accessibility-information places */
.find-type-group{margin:6px 0 22px}
.find-type{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:9px}
.find-type button{min-height:82px;text-align:left;border:1px solid #d7e3da;background:#fafcf9;border-radius:14px;padding:14px 16px;color:#294b3b;display:flex;flex-direction:column;justify-content:center;gap:5px;box-shadow:none}
.find-type button strong{font-size:14px;line-height:1.35}
.find-type button small{font-size:11px;line-height:1.45;color:#718378;font-weight:500}
.find-type button[aria-pressed="true"]{background:#eaf4ed;border-color:#4e8b6d;box-shadow:0 0 0 2px #4e8b6d22;color:#155b41}
.find-type button[aria-pressed="true"] small{color:#456c58}
.find-type-hint{margin:9px 2px 0;color:#697b70;font-size:11px;line-height:1.55}
@media(max-width:820px){.find-type{grid-template-columns:1fr}.find-type button{min-height:68px}}

/* Simpler finder: make the answer location obvious and keep optional filters secondary */
.simple-result-guide{
  margin:18px 0 10px;
  padding:16px 18px;
  border:1px solid #cfe0d4;
  border-radius:14px;
  background:#eef6f0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.simple-result-guide div{display:flex;flex-direction:column;gap:4px}
.simple-result-guide strong{font-size:15px;color:#164d38}
.simple-result-guide small{font-size:11px;color:#6b7d72}
.simple-result-guide button{
  flex:0 0 auto;
  border:0;
  border-radius:11px;
  background:#176d50;
  color:#fff;
  font-weight:800;
  padding:12px 18px;
  min-width:150px;
}
.simple-result-guide button:disabled{opacity:.45;cursor:default}
.advanced-filters{
  margin-top:10px;
  border-top:1px solid #e2e9e3;
  padding-top:10px;
}
.advanced-filters summary{
  cursor:pointer;
  list-style:none;
  font-size:13px;
  font-weight:800;
  color:#38604c;
  padding:8px 0;
}
.advanced-filters summary::-webkit-details-marker{display:none}
.advanced-filters summary::after{content:'＋';margin-left:8px}
.advanced-filters[open] summary::after{content:'−'}
.advanced-filters summary span{font-size:11px;font-weight:500;color:#89978f;margin-left:6px}
.advanced-body{padding-top:2px}
.simple-reset{margin-top:6px}
.results-section{
  scroll-margin-top:90px;
}
@media(max-width:740px){
  .simple-result-guide{align-items:stretch;flex-direction:column}
  .simple-result-guide button{width:100%}
}

/* Primary accessibility filter: stairs are more useful than distance */
.stair-filter{margin:16px 0 6px;padding-top:4px}
.stairs-filter{display:flex;gap:9px;flex-wrap:wrap}
.stairs-filter button{
  border:1px solid #cddfd2;
  background:#fff;
  color:#315a46;
  border-radius:999px;
  padding:11px 16px;
  font-size:13px;
  font-weight:800;
}
.stairs-filter button[aria-pressed="true"]{
  background:#176d50;
  border-color:#176d50;
  color:#fff;
  box-shadow:0 7px 16px #1d5f4520;
}
.stairs-help{margin:8px 2px 0;color:#75867c;font-size:11px;line-height:1.55}
@media(max-width:740px){
  .stairs-filter{display:grid;grid-template-columns:1fr 1fr}
  .stairs-filter button:first-child{grid-column:1/-1}
}

.stairs-filter button:disabled{
  opacity:.42;
  cursor:not-allowed;
  background:#f3f5f3!important;
  color:#7e8a83!important;
  border-color:#dde5df!important;
  box-shadow:none!important;
}
.stair-filter .stairs-help{margin-top:8px}

/* 2026-10-19: readable live-text hero on the original clean landscape */
.hero-layout{background-image:url('assets/easywalk-hero-final.png')!important;min-height:500px;padding:42px 64px!important}
.hero-layout>div:first-child{transform:none!important;max-width:610px}
.hero h1{font-size:clamp(43px,4.65vw,59px);line-height:1.32;letter-spacing:-.045em;margin:17px 0 13px}
.hero p{max-width:510px;line-height:1.7;font-size:16px;margin:0}
.hero-cta{display:inline-flex!important;align-items:center;gap:16px;background:#207a52;color:#fff!important;font-weight:800;font-size:18px;padding:15px 23px;border-radius:15px;text-decoration:none;margin-top:19px}
.hero-cta:hover{background:#176443;color:#fff!important}
@media(max-width:900px){.hero-layout{padding:34px 35px!important;min-height:450px}.hero h1{font-size:clamp(40px,5.6vw,54px)}}
@media(max-width:740px){.hero-layout{min-height:510px;padding:28px 22px 30px!important;background-image:linear-gradient(180deg,#ffffff05 0%,#ffffff2a 30%,#ffffffed 64%,#fff 83%),url('assets/easywalk-hero-final.png')!important;background-position:center,72% center;background-size:100% 100%,auto 100%}.hero h1{font-size:clamp(35px,9vw,43px);line-height:1.3}.hero p{font-size:14px}.hero-cta{font-size:16px;padding:14px 19px}}

/* Keep hero description in the light left side of the image */
.hero-layout .hero p{max-width:430px!important;line-height:1.85}
@media(max-width:740px){.hero-layout .hero p,.hero-layout p{max-width:100%!important}}

/* 2026-10-19 two-level finder */
.find-type{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tag.access-status.accessible{background:#e7f6ec;color:#17643f;border-color:#bfe2ca}
.tag.access-status.partial{background:#fff5dc;color:#8a5a00;border-color:#efd28d}
.tag.access-status.unknown{background:#f2f3f4;color:#5f666d;border-color:#d9dde1}
@media(max-width:740px){.find-type{grid-template-columns:1fr!important}}

/* Fit result cards to their own content instead of stretching to tallest card */
.cards{align-items:start!important}
.cards>.card{height:auto!important;min-height:0!important;align-self:start!important}
.cards .card-foot{margin-top:8px!important}
.card-official-access{padding:10px 12px;background:#f5f8f3;border:1px solid #e0e9df;border-radius:10px;font-size:12px;line-height:1.5;color:#324b3e}
.card-official-access strong{display:block;margin-bottom:5px;color:#176b4a}
.card-official-access p{margin:3px 0;overflow-wrap:anywhere}
.card-official-access small{display:block;margin-top:6px;color:#66786b}

/* EasyWalk visual alignment: equal paired card frames and fact panels */
@media (min-width:741px){
  .cards{align-items:stretch!important}
  .cards>.card{height:100%!important;min-height:0!important;align-self:stretch!important;box-sizing:border-box}
  .cards>.route-card .card-photo{height:122px;flex-shrink:0}
  .cards>.route-card .card-top{min-height:25px;align-content:start}
  .cards>.route-card h3{min-height:25px}
  .cards>.route-card .address{min-height:18px}
  .cards>.route-card .card-meta{min-height:29px;align-items:start}
  .cards>.route-card .card-summary{min-height:32px}
  .cards>.route-card .card-official-access{min-height:169px;box-sizing:border-box}
  .cards>.route-card .card-foot{margin-top:auto!important}
}
@media (max-width:740px){
  .cards{align-items:start!important}
  .cards>.card{height:auto!important;align-self:start!important}
  .card-official-access{min-height:0!important}
}

/* Source-backed trail map link */
.card-actions .route-map-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 9px;border-radius:9px;background:#e8f4eb;color:#136343;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.card-actions .route-map-link:hover,.card-actions .route-map-link:focus-visible{background:#d5eade;text-decoration:underline}

/* Official walking route, not accessibility verification */
.route-line-key{display:flex;align-items:center;gap:7px;margin:4px 0 9px;font-size:12px;color:#53665b}.route-line-key i{display:inline-block;width:27px;height:0;border-top:3px solid #e53935;border-radius:4px}.route-pin-key{margin:4px 0 9px;color:#53665b;font-size:12px}

.official-route-map{margin:14px 0 18px;padding:12px;border:1px solid #d8e3d8;border-radius:14px;background:#fafcf9}.official-route-map img{display:block;width:100%;max-width:900px;height:auto;margin:auto;object-fit:contain;border-radius:7px}.official-route-map figcaption{font-size:12px;color:#526455;line-height:1.6;margin-top:10px}

.find-type{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.find-type button{min-width:0}
.facility-scope{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;padding:12px;border:1px solid #dae7dc;border-radius:12px;background:#f8fbf8}
.facility-scope[hidden]{display:none!important}
.facility-scope span{font-weight:700;margin-right:4px}
.facility-scope button{border:1px solid #b4cabb;border-radius:9px;background:white;padding:10px 13px;color:#274332;cursor:pointer;font-size:14px}
.facility-scope button[aria-pressed="true"]{background:#e0f1e5;border-color:#4d8d64;font-weight:700}
.facility-scope small{flex-basis:100%;line-height:1.5;color:#57695c}
@media(max-width:740px){.find-type{grid-template-columns:1fr}.find-type button{width:100%}}

.ease-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;margin:10px 0;border:1px solid #d9e5dd;border-radius:12px;background:#fafcfb}
.ease-filter[hidden]{display:none!important}
.ease-filter span{font-weight:700;margin-right:5px}
.ease-filter button{padding:10px 12px;border:1px solid #b9cdbd;border-radius:9px;background:#fff;color:#264633;cursor:pointer;font-size:14px}
.ease-filter button[aria-pressed="true"]{background:#deefe3;border-color:#438b5b;font-weight:700}
.ease-filter small{flex-basis:100%;line-height:1.5;color:#5a695d}
.route-ease-evidence{border-left:3px solid #367e53;background:#f4faf5;border-radius:5px;margin:8px 0;padding:10px 12px;display:grid;gap:4px}
.route-ease-evidence strong{font-size:13px;color:#23683c}.route-ease-evidence span{font-size:13px;line-height:1.55;color:#334638}.route-ease-evidence small{font-size:11px;color:#68776b}

.map-data-status{font-size:12px;color:#576c5a;line-height:1.5;margin:4px 0 8px;font-weight:600}
.verify-compact-section{margin-block:28px}.verify-compact{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:18px 22px;background:#f1f7f1;border:1px solid #d1e3d5;border-radius:15px}
.verify-compact strong{font-size:16px;color:#244b34}.verify-compact p{margin:0;color:#4f6759;font-size:14px}.verify-compact a{font-size:13px;font-weight:700;text-decoration:underline;color:#1b643c}
@media(max-width:740px){.verify-compact{display:block}.verify-compact p{margin:8px 0}.verify-compact a{display:block}}

.route-approach-warning{border:1px solid #eccba6;background:#fff8ed;border-radius:9px;color:#714516;font-size:13px;line-height:1.5;padding:10px 12px;margin:8px 0}
.route-approach-warning strong{font-weight:800}


/* 2026-10-19 accessibility typography: legible card text for seniors */
.cards .card{gap:11px;line-height:1.6}
.cards .card h3{font-size:21px;line-height:1.4;letter-spacing:-.025em;color:#15392b}
.cards .card h3 a{color:#15392b;text-decoration:none}
.cards .card .address{font-size:15px;line-height:1.6;color:#344d40;font-weight:500}
.cards .card .tag{font-size:13px;line-height:1.4;padding:6px 9px}
.cards .card .card-meta{font-size:14px;color:#354f40;gap:8px;line-height:1.5}
.cards .card .card-meta span{padding:7px 10px}
.cards .card .card-meta strong{color:#183b2d}
.cards .card .card-summary{font-size:15px;line-height:1.7;color:#344c40}
.cards .card .card-official-access{font-size:15px;line-height:1.75;padding:15px 16px;background:#f4f8f3;color:#203e2e;border-color:#d2dfd4}
.cards .card .card-official-access strong{color:#11633f;font-size:15px;line-height:1.5;margin-bottom:8px}
.cards .card .card-official-access p{margin:6px 0;line-height:1.75}
.cards .card .card-official-access b{color:#173b2b;font-weight:750}
.cards .card .card-official-access small{font-size:13px;line-height:1.6;color:#415c4b;margin-top:9px}
.cards .card .card-foot{gap:10px;align-items:flex-end;flex-wrap:wrap}
.cards .card .card-foot>small{font-size:13px;line-height:1.5;color:#405c4a;overflow-wrap:anywhere;flex:1 1 160px}
.cards .card .map-data-status{font-size:13px;color:#3c5b47;line-height:1.5}
.cards .card .card-actions{gap:8px}
.cards .card .card-actions .text-link,
.cards .card .card-actions .route-map-link{min-height:44px;box-sizing:border-box;padding:10px 13px;font-size:15px;line-height:1.45;font-weight:800;color:#145d3b}
.cards .card .card-actions button{min-height:44px;padding:9px 8px;font-size:14px;color:#195c3c}
.cards .card .route-ease-evidence{font-size:14px;line-height:1.65}
.cards .card .route-ease-evidence strong,
.cards .card .route-ease-evidence span{font-size:14px;line-height:1.65}
.cards .card .route-ease-evidence small{font-size:13px;color:#455d4b}
.cards .card .route-approach-warning{font-size:14px;line-height:1.6}
.cards .card .compare-choice{font-size:14px;color:#274b36;min-height:40px}
@media(max-width:740px){
 .cards .card{padding:18px 16px;gap:11px}
 .cards .card h3{font-size:21px}
 .cards .card .card-official-access{padding:13px}
 .cards .card .card-foot{align-items:flex-start}
 .cards .card .card-actions{width:100%;justify-content:flex-start}
 .cards .card .card-actions a{flex:0 1 auto}
}

/* Compact result cards: details remain on the destination page. */
.cards{align-items:start!important;gap:14px!important}
.cards>.compact-result-card{height:auto!important;min-height:0!important;align-self:start!important;display:flex;gap:8px!important;padding:16px!important;border-radius:15px;box-sizing:border-box}
.cards .compact-result-card .card-photo{height:112px!important;flex-shrink:0;margin-bottom:4px}
.cards .compact-result-card .card-photo img{width:100%;height:100%;object-fit:cover}
.cards .compact-result-card .card-top{min-height:0!important;gap:6px}
.cards .compact-result-card h3{min-height:0!important;font-size:20px;line-height:1.4}
.cards .compact-result-card .address{min-height:0!important;font-size:14px;line-height:1.5;color:#345242;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cards .compact-result-card .compact-facts{display:flex;flex-wrap:wrap;gap:6px}
.cards .compact-result-card .compact-facts span{background:#f0f5ef;border-radius:7px;padding:5px 8px;font-size:13px;line-height:1.45;color:#234834;font-weight:650}
.cards .compact-result-card .card-actions{margin-top:4px;display:flex;gap:7px;justify-content:flex-start;align-items:center}
.cards .compact-result-card .card-actions .route-map-link,.cards .compact-result-card .card-actions .text-link{min-height:44px;font-size:14px;padding:9px 12px}
.cards .compact-result-card .compare-choice{min-height:0;padding:0;margin-top:1px}
.cards .compact-result-card .card-ease-short{font-size:13px;line-height:1.5;margin:0;color:#225c3d;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cards .compact-result-card .route-approach-warning{font-size:13px;padding:8px 10px;margin:2px 0}
@media(min-width:741px){
.cards>.compact-result-card{height:auto!important;min-height:0!important;align-self:start!important}
.cards>.compact-result-card .card-photo{height:112px!important}
}
@media(max-width:740px){
.cards>.compact-result-card{padding:14px!important}
.cards .compact-result-card .card-photo{height:105px!important}
.cards .compact-result-card .card-actions{flex-wrap:wrap}
}

/* Detail: larger clickable photos and in-flow route map */
.detail-photos-inline .detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.detail-photos-inline .detail-gallery a{display:block;overflow:hidden;border-radius:12px;background:#f2f6f2}
.detail-photos-inline .detail-gallery a img{display:block;width:100%;height:220px;object-fit:cover}
.detail-photos-inline .detail-gallery figure{margin:0;min-width:0}
.detail-photos-inline .detail-gallery figure img{display:block;width:100%;max-height:260px;object-fit:cover}
.detail-map-inline{margin-top:18px}
@media(max-width:740px){.detail-photos-inline .detail-gallery{grid-template-columns:1fr}.detail-photos-inline .detail-gallery a img{height:190px}}

.geo-drilldown{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
.geo-drilldown label{display:flex;gap:7px;align-items:center;font-weight:700;font-size:14px;color:#244b35}
.geo-drilldown select{height:44px;border:1px solid #b9d2bf;background:#fff;border-radius:10px;color:#153b28;padding:8px 30px 8px 11px;font-size:15px;font-weight:600;min-width:126px}
@media(max-width:640px){.geo-drilldown{width:100%;display:grid;grid-template-columns:1fr 1fr}.geo-drilldown label{display:grid;gap:4px}.geo-drilldown select{min-width:0;width:100%;max-width:100%}}

/* Balanced two-column result rows: equal card edges without fake photo slots. */
.cards{align-items:stretch!important;grid-auto-flow:row}
.cards>.compact-result-card,.cards>.compact-result-card.with-photo,.cards>.compact-result-card.no-photo{height:100%!important;align-self:stretch!important;min-width:0}
.cards .compact-result-card .card-actions{margin-top:auto!important;padding-top:12px;flex-wrap:wrap;align-items:center}
.cards .compact-result-card .compare-choice{display:inline-flex;align-items:center;gap:5px;min-height:44px;margin:0;padding:5px 7px;white-space:nowrap}
.cards .compact-result-card .compare-choice input{width:17px;height:17px}
.cards .compact-result-card .card-photo{margin-bottom:7px}
@media(max-width:740px){.cards>.compact-result-card{height:auto!important;align-self:auto!important}.cards .compact-result-card .card-actions{margin-top:5px!important}}


/* Balanced compact results v2: images as small side thumbnails, not a second row. */
.cards>.compact-result-card{position:relative;display:flex;flex-direction:column;min-height:220px!important;padding:16px!important;gap:8px!important;overflow:hidden}
.cards>.compact-result-card.with-photo{padding-right:150px!important}
.cards>.compact-result-card.with-photo .card-photo{
 position:absolute;top:16px;right:16px;width:118px;height:100px!important;
 margin:0!important;overflow:hidden;border-radius:11px;
}
.cards>.compact-result-card.with-photo .card-photo img{height:100%;width:100%;object-fit:cover}
.cards>.compact-result-card.with-photo .card-photo span{font-size:9px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cards>.compact-result-card .card-actions{margin-top:auto!important;padding-top:10px;gap:6px;flex-wrap:wrap}
.cards>.compact-result-card.with-photo .card-actions{margin-right:-134px}
.cards>.compact-result-card .compare-choice{white-space:nowrap}
.cards>.compact-result-card .address{font-size:14px;line-height:1.45}
.cards>.compact-result-card .card-top{flex-wrap:wrap}
.cards>.compact-result-card .compact-facts{gap:6px}
.cards>.compact-result-card h3{font-size:19px;line-height:1.35}
@media(max-width:740px){
 .cards>.compact-result-card,.cards>.compact-result-card.with-photo{height:auto!important;min-height:0!important;padding:15px!important;padding-right:120px!important}
 .cards>.compact-result-card.no-photo{padding-right:15px!important}
 .cards>.compact-result-card.with-photo .card-photo{width:92px;height:84px!important;top:15px;right:15px}
 .cards>.compact-result-card.with-photo .card-actions{margin-right:-105px}
 .cards>.compact-result-card .card-actions{margin-top:8px!important}
}


/* Phones: full-width text, image confined to a small corner above the title. */
@media(max-width:740px){
 .cards>.compact-result-card.with-photo,.cards>.compact-result-card.no-photo{padding:15px!important}
 .cards>.compact-result-card.with-photo .card-photo{width:76px!important;height:67px!important;top:15px;right:15px}
 .cards>.compact-result-card.with-photo .card-top{padding-right:86px;min-height:84px;align-content:flex-start}
 .cards>.compact-result-card.with-photo .card-actions{margin-right:0}
 .cards>.compact-result-card .card-actions .route-map-link,
 .cards>.compact-result-card .card-actions .text-link{min-height:42px;padding:9px 10px}
}

/* No-image courses: discover real location imagery without republishing third-party photos. */
.cards .compact-result-card .kakao-photo-finder{font-size:13px;color:#24694b;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
@media(max-width:740px){
 .cards>.compact-result-card.with-photo{padding:15px!important}
 .cards>.compact-result-card.with-photo .card-photo{position:relative!important;top:auto!important;right:auto!important;width:100%!important;height:105px!important;margin:0 0 6px!important;order:-1}
 .cards>.compact-result-card.with-photo .card-top{padding-right:0!important;min-height:0!important}
 .cards>.compact-result-card.with-photo .card-actions{margin-right:0!important}
}

/* Landscape-first card layout: large scenic photo above title, balanced rows. */
.cards{align-items:stretch!important}
.cards>.compact-result-card,
.cards>.compact-result-card.with-photo,
.cards>.compact-result-card.no-photo{
 display:flex!important;flex-direction:column!important;position:relative!important;
 padding:16px!important;padding-right:16px!important;
 height:100%!important;align-self:stretch!important;
 gap:9px!important;min-height:0!important;overflow:visible!important;
}
.cards>.compact-result-card.with-photo .card-photo{
 position:relative!important;inset:auto!important;
 top:auto!important;right:auto!important;
 width:100%!important;height:170px!important;
 flex:0 0 170px!important;
 border-radius:12px!important;margin:0 0 2px!important;
 overflow:hidden!important;order:-2!important
}
.cards>.compact-result-card.with-photo .card-photo img{
 width:100%!important;height:100%!important;object-fit:cover!important
}
.cards>.compact-result-card.with-photo .card-photo span{
 font-size:10px!important;white-space:normal!important
}
.cards>.compact-result-card .card-top{
 order:0!important;padding:0!important;min-height:0!important;align-content:normal!important
}
.cards>.compact-result-card h3{font-size:20px!important;line-height:1.4!important}
.cards>.compact-result-card .card-actions,
.cards>.compact-result-card.with-photo .card-actions{
 margin:0!important;margin-right:0!important;
 padding-top:12px!important;margin-top:auto!important;
 gap:8px!important;flex-wrap:wrap!important
}
.cards>.compact-result-card .card-actions a{white-space:nowrap}
.cards>.compact-result-card .compare-choice{min-height:42px}
@media(max-width:740px){
 .cards>.compact-result-card,
 .cards>.compact-result-card.with-photo,
 .cards>.compact-result-card.no-photo{
   padding:15px!important;padding-right:15px!important;
   min-height:0!important;height:auto!important
 }
 .cards>.compact-result-card.with-photo .card-photo{
   height:170px!important;flex-basis:170px!important;
   width:100%!important;position:relative!important;
   inset:auto!important;order:-2!important;margin:0 0 4px!important;
 }
 .cards>.compact-result-card.with-photo .card-top{padding:0!important;min-height:0!important}
 .cards>.compact-result-card .card-actions{padding-top:8px!important;margin-top:6px!important}
}

/* Official Seoul image credit: readable over hero thumbnails. */
.cards .compact-result-card .card-photo .photo-source{position:absolute;right:7px;bottom:7px;z-index:2;background:#ffffffeb;border-radius:999px;padding:4px 9px;color:#284a3c;font-size:11px;font-weight:700;text-decoration:none}
.cards .compact-result-card .card-photo .photo-source:focus-visible{outline:2px solid #e59a0d;outline-offset:2px}

.nature-filter{padding:15px 0 12px;display:grid;gap:10px}
.nature-filter[hidden]{display:none!important}
.nature-filter>span{font-size:16px;font-weight:800;color:#214b34}
.nature-options{display:flex;flex-wrap:wrap;gap:8px}
.nature-options button{border:1px solid #c7d8cd;border-radius:10px;background:#fff;color:#254b38;min-height:44px;padding:9px 13px;font-size:15px;font-weight:700}
.nature-options button[aria-pressed=true]{background:#e0efe5;border-color:#418667;color:#175538}
.nature-filter small{font-size:13px;color:#52695c}
#find-type{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:640px){.nature-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nature-options button{padding:8px}}

/* Core EasyWalk promise: choose user's mobility needs before scenery. */
.purpose-filter{display:grid;gap:9px;padding:17px 16px;margin:10px 0 4px;background:#f1f8f3;border:1px solid #b9d8c4;border-radius:14px}
.purpose-filter[hidden]{display:none!important}
.purpose-filter>strong{font-size:18px;color:#174a32}
.purpose-options{display:flex;flex-wrap:wrap;gap:8px}
.purpose-options button{min-height:46px;padding:9px 14px;border:1px solid #a9c9b5;border-radius:10px;background:white;color:#194b33;font-size:15px;font-weight:700}
.purpose-options button[aria-pressed=true]{background:#176d4c;color:white;border-color:#176d4c}
.purpose-filter p{margin:2px 0;font-size:14px;font-weight:700;color:#254e38}
.purpose-filter small{font-size:13px;color:#566c5b}
@media(max-width:640px){.purpose-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.purpose-options button{padding:8px}}

/* Official Jeju 2021 point-by-point field observations. */
.survey-table-scroll{overflow-x:auto;max-width:100%}.survey-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6}.survey-table th,.survey-table td{padding:12px 10px;border-bottom:1px solid #d7e1dc;text-align:left;vertical-align:top}.survey-table td:first-child{width:55px}.survey-table td:last-child{white-space:nowrap}.survey-table a{color:#176348;text-decoration:underline}

/* Unified top-of-detail real-photo gallery. All image sources remain attributable to their actual places. */
.easywalk-top-gallery{margin-top:16px!important}
.easywalk-top-gallery h2{margin:0 0 15px}
.easywalk-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.easywalk-photo-grid.count-1{grid-template-columns:1fr}
.easywalk-photo-grid.count-3 figure:first-child{grid-row:span 2}
.easywalk-photo-grid figure,.easywalk-photo-placeholder{margin:0;overflow:hidden;border-radius:12px;background:#eaf1ec}
.easywalk-photo-grid figure a{display:block;height:205px;overflow:hidden}
.easywalk-photo-grid.count-3 figure:first-child a{height:100%;min-height:435px}
.easywalk-photo-grid.count-1 figure a{height:350px}
.easywalk-photo-grid img,.easywalk-photo-placeholder img{display:block;width:100%;height:100%;object-fit:cover}
.easywalk-photo-grid figcaption,.easywalk-photo-placeholder figcaption{padding:8px 12px;color:#3b5e4a;font-size:13px}
.easywalk-photo-placeholder img{height:255px}
@media(max-width:680px){.easywalk-photo-grid{gap:8px}.easywalk-photo-grid figure a{height:132px}.easywalk-photo-grid.count-3 figure:first-child a{min-height:286px}.easywalk-photo-grid.count-1 figure a{height:220px}.easywalk-photo-placeholder img{height:175px}}

/* Missing-image state: preserve the same media height without misleading scenery. */
.card-photo.card-no-photo{display:flex;align-items:center;justify-content:center;background:#eef3ef;border:1px solid #d8e2da}
.card-no-photo .card-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:10px;min-height:100%;width:100%;color:#3e5749}
.card-no-photo .card-photo-empty strong{font-size:12px;font-weight:700;line-height:1.4}
.card-no-photo .card-photo-empty span{position:static;background:transparent;box-shadow:none;padding:0;font-size:10px;color:#617366}
.card-no-photo .card-photo-empty a{font-size:11px;font-weight:700;color:#1f6150;text-decoration:underline;text-underline-offset:2px}

/* Purpose-first discovery (2026-10-20): shared records, multiple audiences */
.audience-filter{margin:10px 0 24px;padding:18px;background:#f7faf8;border:1px solid #dce8df;border-radius:16px}.audience-heading{font-size:19px;font-weight:800;margin-bottom:15px;color:#183b30}.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.audience-choice{display:flex;align-items:center;gap:12px;min-width:0;text-align:left;padding:14px 13px;border:1px solid #dbe2df;border-radius:13px;background:white;color:#213b33;font-size:15px;font-weight:700;cursor:pointer}.audience-choice[aria-pressed="true"]{border:2px solid #287e55;background:#eff9f2;padding:13px 12px}.audience-icon{width:45px;height:45px;display:grid;place-items:center;flex-shrink:0;border-radius:12px}.audience-wheel .audience-icon{color:#2683cb;background:#e7f2fc}.audience-stroller .audience-icon{color:#dd853b;background:#fff0e2}.audience-parent .audience-icon{color:#359267;background:#e7f6ed}.audience-general .audience-icon{color:#8563c4;background:#f0eafb}.audience-note{color:#526b60;font-size:13px;margin:13px 0 0}@media(max-width:600px){.audience-grid{grid-template-columns:1fr 1fr;gap:8px}.audience-choice{font-size:13px;gap:7px;padding:10px 7px}.audience-choice[aria-pressed="true"]{padding:9px 6px}.audience-icon{width:36px;height:36px}.audience-icon svg{width:21px;height:21px}}

/* Audience cards: override legacy button styling, explicit native button reset. */
#audience-filter{display:block;width:100%;padding:22px 24px;margin:10px 0 24px;border:1px solid #dce7df;border-radius:18px;background:#f8fbf9;box-sizing:border-box}
#audience-filter .audience-heading{font-size:19px;font-weight:800;color:#19392f;margin:0 0 15px}
#audience-filter .audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
#audience-filter button.audience-choice{appearance:none;-webkit-appearance:none;box-sizing:border-box;display:flex;gap:13px;align-items:center;justify-content:flex-start;width:100%;height:auto;min-height:78px;max-width:none;margin:0;padding:14px 16px;border:1.5px solid #dbe5df;border-radius:14px;background:#fff;box-shadow:0 2px 8px #214c3310;color:#213b33;font:700 15px/1.45 'Noto Sans KR',system-ui,sans-serif;text-align:left;white-space:normal;word-break:keep-all;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
#audience-filter button.audience-choice:hover{border-color:#91bca4;box-shadow:0 5px 16px #214c3320;transform:none}
#audience-filter button.audience-choice[aria-pressed=true]{border:2px solid #318358;background:#edf8f1;box-shadow:0 3px 12px #1d734320;padding:13.5px 15.5px}
#audience-filter button.audience-choice:focus-visible{outline:3px solid #4f9c73;outline-offset:2px}
#audience-filter .audience-icon{box-sizing:border-box;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:13px}
#audience-filter .audience-icon svg{display:block;width:27px;height:27px}
#audience-filter .audience-note{font-size:13px;line-height:1.7;margin:15px 0 0;color:#536d60}
@media(max-width:680px){#audience-filter{padding:16px 12px}#audience-filter .audience-grid{gap:9px}#audience-filter button.audience-choice{gap:8px;min-height:74px;padding:10px 8px;font-size:13px}#audience-filter button.audience-choice[aria-pressed=true]{padding:9.5px 7.5px}#audience-filter .audience-icon{flex-basis:39px;width:39px;height:39px}#audience-filter .audience-icon svg{width:23px;height:23px}}
@media(max-width:350px){#audience-filter .audience-grid{grid-template-columns:1fr}}
.find-type-group > .field-label, .find-type-group > #find-type, .find-type-group > #find-type-hint { display:none !important; }

/* Unified journey step visual system */
#finder .journey-step{background:#f5faf7;border:1px solid #dbe8e0;border-radius:20px;padding:25px;margin:22px 0;box-shadow:none}#finder .journey-step>span,#finder .journey-heading{display:block;margin:0 0 18px;font-size:20px;font-weight:800;line-height:1.5;color:#163c2e}#finder .nature-options{display:flex;flex-wrap:wrap;gap:11px}#finder .nature-options button{min-height:54px;border-radius:13px;background:white;border:1.5px solid #d7e5dc;padding:10px 20px;font-weight:750;font-size:15px;color:#1a4632}#finder .nature-options button[aria-pressed=true]{border:2px solid #399366;background:#eaf6ee;color:#185b3b}#finder .journey-region .filter-group{margin:0}#finder .journey-region .regions{display:flex;flex-wrap:wrap;gap:9px}#finder .journey-region .regions button{min-height:48px;padding:9px 17px;border-radius:12px}#finder .journey-extra{margin:20px 0 25px!important;padding:15px 18px!important;border-radius:15px!important;background:#fafcfb!important;border:1px solid #e2eae5!important}#finder .journey-extra>span{font-size:15px!important;font-weight:700!important}#finder .journey-extra button{border-radius:10px!important}@media(max-width:740px){#finder .journey-step{padding:16px 13px;margin:17px 0}#finder .journey-step>span,#finder .journey-heading{font-size:19px;margin-bottom:14px}#finder .nature-options button{min-height:48px;font-size:13px;padding:9px 13px}}
#finder #audience-filter .audience-heading, #finder .nature-filter.journey-step > span, #finder .journey-region .journey-heading { color: #087F74 !important; }
#finder #audience-filter button.audience-choice, #finder #nature-filter .nature-options button { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important; will-change: transform; } #finder #audience-filter button.audience-choice:hover, #finder #nature-filter .nature-options button:hover { transform: translateY(-3px) !important; box-shadow: 0 9px 20px rgba(32,85,57,.16) !important; } #finder #audience-filter button.audience-choice:active, #finder #nature-filter .nature-options button:active { transform: translateY(-1px) scale(.99) !important; } @media (prefers-reduced-motion: reduce) { #finder #audience-filter button.audience-choice, #finder #nature-filter .nature-options button { transition: none !important; will-change: auto; } #finder #audience-filter button.audience-choice:hover, #finder #nature-filter .nature-options button:hover, #finder #audience-filter button.audience-choice:active, #finder #nature-filter .nature-options button:active { transform: none !important; } }
#finder #audience-filter .audience-heading, #finder .nature-filter.journey-step > span, #finder .journey-region .journey-heading { color: #2378C4 !important; }

/* Search flow cleanup */
#finder .journey-step{margin-top:17px!important;margin-bottom:17px!important}#finder #audience-filter{margin-bottom:17px!important}#finder .journey-region #regions{margin-bottom:3px}#finder .region-advanced{margin:12px 0 0;border:1px solid #d9e7df;border-radius:12px;background:#fff;padding:0 15px}#finder .region-advanced summary{cursor:pointer;list-style:none;color:#205c46;font-weight:750;font-size:14px;padding:12px 0}#finder .region-advanced summary::-webkit-details-marker{display:none}#finder .region-advanced summary span{float:right}#finder .region-advanced[open] summary{border-bottom:1px solid #e3ede7}#finder .region-helper{font-size:12px;color:#587266;margin:10px 0}

/* Unified detail hierarchy */
.unified-detail-page>.unified-detail-hero{display:block!important;grid-template-columns:none!important;min-height:0!important;padding:25px 30px!important;background:#eef5fc;border-radius:20px}.unified-detail-page>.unified-detail-hero .detail-hero-copy{width:100%;margin:0!important;padding:0!important;max-width:100%;box-shadow:none!important;background:transparent!important}.unified-detail-page>.unified-detail-hero h1{font-size:clamp(25px,3vw,35px);line-height:1.35}.unified-detail-page>.unified-facts,.unified-detail-page>.unified-access{margin-top:18px}.unified-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.unified-fact{background:#f6f9f7;border:1px solid #e1e9e3;border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:6px;min-width:0}.unified-fact span{font-size:13px;color:#64776a}.unified-fact strong{font-size:16px;overflow-wrap:anywhere}.unified-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.unified-access-row{border:1px solid #e0e9e3;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:7px}.unified-access-row>span{font-size:14px;line-height:1.6}.unified-original-details{margin:22px 0;border:1px solid #dce8de;border-radius:16px;background:#fff;overflow:hidden}.unified-original-details>summary{cursor:pointer;padding:20px 22px;color:#155d49;font-weight:800}.unified-original-content{padding:0 20px 20px}.unified-original-content .detail-section{margin-top:16px!important}.unified-detail-page>.easywalk-top-gallery{margin-top:18px!important}@media(max-width:680px){.unified-detail-page>.unified-detail-hero{padding:20px!important}.unified-facts-grid,.unified-access-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.unified-fact,.unified-access-row{padding:12px}.unified-original-content{padding:0 12px 16px}}
