/*
Theme Name: Sungam Church
Theme URI: https://example.com/sungam-church
Author: Sungam Church
Description: 성암교회 전용 반응형 워드프레스 테마입니다. 메인 배너, 설교, 예배안내, 교회소개, 다음세대, 교회소식, 새가족 안내를 포함합니다.
Version: 1.5.8
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: sungam-church
*/

@font-face{font-family:"Pretendard Variable";src:url("assets/fonts/PretendardVariable.woff2") format("woff2");font-weight:45 920;font-style:normal;font-display:swap}

:root{--ink:#17201b;--green:#164b38;--green2:#236a4d;--mint:#dceade;--cream:#f5f3eb;--line:#d9ddd6;--serif:"Noto Serif KR",Georgia,serif;--sans:"Noto Sans KR","Malgun Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fafbf8;font-family:var(--sans);line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{font:inherit}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:88px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;position:fixed;z-index:50;top:0;left:0;width:100%;color:#fff;transition:.3s}.site-header.scrolled,.page-header{height:72px;background:rgba(250,251,248,.97);color:var(--ink);box-shadow:0 1px 0 rgba(20,45,32,.1);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:13px}.brand-logo{width:47px;height:47px;object-fit:contain}.brand-copy{display:grid;line-height:1.08}.brand-copy b{font-family:var(--serif);font-size:25px;letter-spacing:-.04em}.brand-copy small{font-size:10px;font-weight:700;letter-spacing:.12em;margin-top:5px}.primary-nav ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;font-size:14px}.primary-nav a{position:relative}.primary-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:currentColor;transition:.2s}.primary-nav a:hover:after,.primary-nav .current-menu-item>a:after{width:100%}.menu-toggle{display:none;background:none;border:0;color:inherit;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:5px}.admin-bar .site-header{top:32px}
.hero{height:clamp(500px,62vh,600px);min-height:500px;position:relative;overflow:hidden;background:#14271e;color:#fff}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slides{perspective:1800px}.hero-slide{opacity:0;visibility:hidden;transform:rotateY(-8deg) scale(1.015);transform-origin:left center;transition:opacity .75s ease,transform .9s cubic-bezier(.2,.7,.2,1),visibility .75s}.hero-slide.active{opacity:1;visibility:visible;transform:rotateY(0) scale(1)}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,17,12,.88),rgba(5,17,12,.54) 43%,rgba(5,17,12,.1) 75%)}.hero-inner{position:relative;z-index:2;width:min(1180px,90vw);margin:0 auto;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:54px}.eyebrow,.kicker{font-size:11px;font-weight:700;letter-spacing:.24em;color:#bad8c7;margin:0 0 18px}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(38px,4.8vw,68px);line-height:1.35;letter-spacing:-.05em;margin:0}.hero h1 em{font-style:normal;color:#c8e2d2}.hero-copy{font-size:15px;color:rgba(255,255,255,.78);margin:22px 0 28px}.button{min-height:48px;padding:0 21px;display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid transparent;font-size:13px}.button-primary{background:#fff;color:var(--green)}.hero-controls{position:absolute;z-index:5;left:max(calc((100vw - 1180px)/2),5vw);bottom:28px;display:flex;align-items:center;gap:10px}.hero-controls>button{width:34px;height:34px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(8,27,19,.25);color:#fff;cursor:pointer}.hero-dots{display:flex}.hero-dots button{width:28px;height:34px;border:0;background:transparent;padding:0 4px;cursor:pointer}.hero-dots span{display:block;width:100%;height:2px;background:rgba(255,255,255,.42)}.hero-dots button.active span{height:3px;background:#fff}
.section{padding:105px max(calc((100vw - 1180px)/2),5vw)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-heading h2,.section-title{font-family:var(--serif);font-size:clamp(32px,4vw,50px);font-weight:500;letter-spacing:-.04em;margin:0}.section-heading p{font-size:12px;color:#778078}.featured-sermon{display:grid;grid-template-columns:1.35fr .65fr;gap:6%;align-items:center}.sermon-media{aspect-ratio:16/9;background:linear-gradient(140deg,#dbe8df,#91af9c);display:grid;place-items:center;position:relative;overflow:hidden}.sermon-media iframe{width:100%;height:100%;border:0}.sermon-media:empty:before{content:"▶";display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#fff;color:var(--green)}.badge{position:absolute;left:18px;top:16px;font-size:9px;letter-spacing:.18em;background:rgba(20,67,48,.85);color:#fff;padding:6px 10px}.sermon-copy h3{font-family:var(--serif);font-size:29px;line-height:1.5;margin:18px 0 8px}.sermon-copy p{font-size:13px;color:#788079}.sermon-copy .scripture{font-size:11px;color:var(--green2)}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid currentColor;padding:11px 0;margin-top:14px;font-size:12px}
.worship{background:#103e2e;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.worship h2{font-family:var(--serif);font-size:clamp(38px,4.2vw,58px);font-weight:500;line-height:1.4;margin:0}.worship h2 em{font-style:normal;color:#a8ccb6}.worship-intro>p:last-child{color:#abc0b4;font-size:13px}.schedule{background:#fff;color:var(--ink);padding:0 38px}.schedule-head{padding:25px 0 19px;border-bottom:2px solid var(--green);display:flex;justify-content:space-between;align-items:end}.schedule-head span{font-size:9px;letter-spacing:.18em;color:var(--green2)}.schedule-head b{font-family:var(--serif);font-size:23px}.schedule-row{display:flex;justify-content:space-between;padding:17px 2px;border-bottom:1px solid #e1e5e1}.schedule-row b{font-family:var(--serif);font-size:15px}.schedule-row span{font-size:13px;color:#667069;font-weight:600}
.page-main{padding-top:72px}.subpage-hero{min-height:390px;padding:80px max(calc((100vw - 1180px)/2),6vw);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(125deg,#123d2e,#29644b);color:#fff;position:relative;overflow:hidden}.subpage-hero:after{content:"";position:absolute;width:440px;height:440px;right:-110px;bottom:-250px;border:1px solid rgba(255,255,255,.16);border-radius:50%}.subpage-hero p{font-size:10px;letter-spacing:.24em}.subpage-hero h1{font-family:var(--serif);font-weight:500;font-size:52px;line-height:1.35;margin:12px 0}.subpage-hero h1 em{font-style:normal;color:#b7d9c5}.subpage-hero>span{font-size:13px;color:#c5d8cd}.content-wrap{max-width:1180px;margin:auto;padding:95px 0}.vision-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center}.vision-panel{min-height:320px;padding:42px 48px;background:linear-gradient(145deg,#173f31,#245b43 65%,#be9a58 145%);color:#fff;display:flex;flex-direction:column;justify-content:center}.vision-panel>span{font-size:9px;letter-spacing:.22em;color:#bcd5c6}.vision-panel p{font-family:var(--serif);font-size:33px;margin:7px 0}.vision-panel i{font-style:normal;color:#c9ad72}.vision-copy{font-size:15px;color:#5f6861}.vision-copy .lead{font-family:var(--serif);font-size:22px;line-height:1.75;color:var(--ink)}blockquote{margin:22px 0;padding:22px 25px;border-left:3px solid var(--green2);background:#eef3ed;font-family:var(--serif)}blockquote cite{display:block;margin-top:8px;font-family:var(--sans);font-size:11px;color:#6f7972}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:55px}.content-card{background:#fff;border:1px solid var(--line);padding:30px}.content-card .thumb{height:190px;background:linear-gradient(145deg,#dce8df,#9eb9a8);margin:-30px -30px 24px;overflow:hidden}.content-card .thumb img{width:100%;height:100%;object-fit:cover}.content-card h2,.content-card h3{font-family:var(--serif);font-weight:500}.content-card h3{font-size:23px;margin:8px 0}.content-card p,.entry-content{font-size:14px;color:#657068}.post-list{border-top:2px solid var(--ink)}.post-list article{display:grid;grid-template-columns:120px 1fr auto;gap:25px;align-items:center;min-height:96px;border-bottom:1px solid var(--line)}.post-list time{font-size:11px;color:#8b938d}.post-list h2{font-family:var(--serif);font-size:18px;margin:0}.empty-state{padding:40px;background:#f0f4ef;color:#687169}.contact-box{margin-top:45px;padding:34px;background:#eef3ed}.contact-box p{margin:5px 0}.wp-block-image img{height:auto}
.site-footer{background:#13241c;color:#fff;padding:55px max(calc((100vw - 1180px)/2),5vw) 24px;display:grid;grid-template-columns:1fr 1.7fr;gap:35px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:64px;height:64px;object-fit:contain}.footer-brand div{display:grid}.footer-brand b{font-family:var(--serif);font-size:21px}.footer-brand small,.footer-info,.copyright{font-size:10px;color:#a5b0aa}.footer-info p{margin:3px}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin:14px 0 0}
@media(max-width:900px){.site-header{height:72px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:72px;left:0;width:100%;background:#fafbf8;color:var(--ink);box-shadow:0 10px 22px rgba(0,0,0,.1)}.primary-nav.open{display:block}.primary-nav ul{display:block;padding:15px 24px 22px}.primary-nav a{display:block;padding:10px}.hero-inner{width:auto;margin:0 24px}.section{padding:80px 24px}.featured-sermon,.worship,.vision-grid{grid-template-columns:1fr;gap:38px}.content-wrap{padding:75px 24px}.card-grid{grid-template-columns:1fr 1fr}.site-footer{padding:48px 24px 23px;grid-template-columns:1fr}.copyright{grid-column:1}.subpage-hero{padding:70px 24px}}
@media(max-width:560px){.brand-logo{width:40px;height:40px}.brand-copy b{font-size:21px}.brand-copy small{font-size:8px}.hero{height:455px;min-height:455px}.hero-inner{padding-top:52px}.hero h1{font-size:30px}.hero-copy{font-size:12px;max-width:90%}.hero-slide img{object-position:64% center}.hero:after{background:linear-gradient(90deg,rgba(5,17,12,.9),rgba(5,17,12,.5) 78%,rgba(5,17,12,.28))}.hero-controls{left:24px;bottom:14px}.section-heading{display:block}.section-heading p{margin-top:12px}.schedule{padding:0 22px}.card-grid{grid-template-columns:1fr}.subpage-hero{min-height:320px}.subpage-hero h1{font-size:38px}.vision-panel{padding:35px 28px}.post-list article{grid-template-columns:1fr;gap:4px;padding:20px 0}.site-footer{gap:25px}}

/* Refined worship schedule typography */
.schedule-head b,.schedule-row b,.schedule-row span{font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif}
.schedule-head span{font-size:10px;letter-spacing:.2em;font-weight:650}
.schedule-head b{font-size:27px;font-weight:750;letter-spacing:-.035em}
.schedule-row{align-items:center;padding:19px 2px}
.schedule-row b{font-size:19px;font-weight:700;letter-spacing:-.025em}
.schedule-row span{font-size:17px;color:#526159;font-weight:600;letter-spacing:-.015em}
@media(max-width:560px){.schedule-head b{font-size:24px}.schedule-row b{font-size:17px}.schedule-row span{font-size:16px}}

/* One freely licensed typeface across the complete site */
:root{--serif:"Pretendard Variable",Pretendard,sans-serif;--sans:"Pretendard Variable",Pretendard,sans-serif}
body,button,input,select,textarea{font-family:var(--sans)}
.brand-copy{line-height:1;gap:6px}
.brand-copy b{font-family:var(--sans);font-size:28px;font-weight:760;letter-spacing:-.055em;line-height:1}
.brand-copy small{font-family:var(--sans);font-size:11px;font-weight:650;letter-spacing:.105em;line-height:1}
@media(max-width:560px){.brand-copy{gap:5px}.brand-copy b{font-size:23px}.brand-copy small{font-size:9px}}

/* Noto Sans KR is licensed under SIL OFL 1.1; use SemiBold for the header identity. */
@font-face{font-family:"Noto Sans KR Local";src:url("assets/fonts/NotoSansKR-Variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
.brand{gap:12px}
.brand-copy{height:47px;display:flex;flex-direction:column;justify-content:center;gap:4px;line-height:1}
.brand-copy b,.brand-copy small{font-family:"Noto Sans KR Local",sans-serif;font-weight:600}
.brand-copy b{font-size:24px;line-height:25px;letter-spacing:-.045em}
.brand-copy small{font-size:10px;line-height:11px;letter-spacing:.09em;margin-top:0}
@media(max-width:560px){.brand-copy{height:40px;gap:3px}.brand-copy b{font-size:21px;line-height:22px}.brand-copy small{font-size:8.5px;line-height:9px}}

/* High-contrast, refined hero action */
.hero .hero-link{width:max-content;min-height:52px;padding:0 24px;border:1px solid rgba(255,255,255,.9);border-radius:12px;background:rgba(255,255,255,.94);color:#123d2e;font-family:"Pretendard Variable",Pretendard,sans-serif;font-size:14px;font-weight:700;letter-spacing:-.015em;box-shadow:0 10px 30px rgba(3,19,12,.24),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(10px);transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease,color .22s ease}
.hero .hero-link:hover{transform:translateY(-2px);background:#fff;color:#0d563a;box-shadow:0 14px 34px rgba(3,19,12,.32),inset 0 1px 0 #fff}
.hero .hero-link:active{transform:translateY(0)}
.hero .hero-link:focus-visible{outline:3px solid #d7b66b;outline-offset:4px}
@media(max-width:560px){.hero .hero-link{min-height:44px;padding:0 17px;border-radius:10px;font-size:12.5px;box-shadow:0 8px 22px rgba(3,19,12,.24)}}

/* Visit page */
.primary-nav{margin-left:auto}.header-visit-link{flex:0 0 auto;margin-left:18px;padding:11px 17px;border:1px solid rgba(255,255,255,.5);border-radius:999px;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.page-header .header-visit-link{border-color:rgba(22,75,56,.32)}
.visit-hero{background:linear-gradient(118deg,#0f3f2c 0%,#1f6045 58%,#b39258 145%)}
.visit-wrap{max-width:1180px;margin:0 auto;padding:96px 0 110px}.visit-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:48px}.visit-heading h2{font-family:var(--serif);font-size:42px;font-weight:500;line-height:1.35;margin:0}.visit-heading>p{margin:0;color:#68736b;font-size:15px}
.visit-location-card{display:grid;grid-template-columns:1.08fr .92fr;min-height:420px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px rgba(18,58,43,.08)}.visit-map-art{position:relative;overflow:hidden;min-height:420px;background:linear-gradient(145deg,#dce8df,#afc9b7);color:#fff}.visit-map-art:before,.visit-map-art:after{content:"";position:absolute;background:rgba(255,255,255,.35)}.visit-map-art:before{width:120%;height:1px;left:-10%;top:50%;transform:rotate(-13deg)}.visit-map-art:after{width:1px;height:130%;left:48%;top:-15%;transform:rotate(19deg)}.map-ring{position:absolute;border:1px solid rgba(255,255,255,.38);border-radius:50%}.ring-one{width:430px;height:430px;right:-120px;top:-180px}.ring-two{width:300px;height:300px;left:-90px;bottom:-155px}.map-pin{position:absolute;left:50%;top:46%;width:58px;height:58px;border-radius:50% 50% 50% 0;background:#174c38;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 16px 35px rgba(13,56,39,.25)}.map-pin i{position:absolute;inset:18px;border-radius:50%;background:#d9bf80}.visit-map-art>b{position:absolute;left:50%;top:64%;transform:translateX(-50%);font-size:12px;letter-spacing:.2em;text-align:center}.visit-address{padding:54px;display:flex;flex-direction:column;justify-content:center}.visit-label{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--green2)}.visit-address h2{font-family:var(--serif);font-size:29px;line-height:1.6;margin:13px 0 7px}.visit-address p{margin:0 0 28px;color:#68736b}.visit-actions{display:flex;flex-wrap:wrap;gap:9px}.visit-map-button{min-height:44px;padding:0 17px;border:1px solid #cfd8d2;display:inline-flex;align-items:center;font-size:12px;font-weight:700;transition:.2s}.visit-map-button:hover{border-color:var(--green);color:var(--green)}.visit-map-button.primary{background:var(--green);border-color:var(--green);color:#fff}
.transport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.transport-card{position:relative;padding:34px 30px 36px;background:#f2f5ef;border-top:3px solid var(--green);min-height:270px}.transport-number{position:absolute;right:24px;top:23px;color:#9eb3a6;font-size:11px;letter-spacing:.15em}.transport-icon{display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:28px;padding:0 12px;border-radius:999px;background:#dce9df;color:#1d6247;font-size:11px;font-weight:800}.transport-card h3{font-family:var(--serif);font-size:24px;font-weight:500;margin:22px 0 12px}.transport-card p{font-size:13px;color:#66716a;margin:0}.arrival-note{margin-top:24px;padding:38px 44px;background:#173f31;color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center}.arrival-note .kicker{color:#b9d4c4}.arrival-note h2{font-family:var(--serif);font-size:28px;font-weight:500;margin:0}.arrival-note>p{margin:0;color:#cfddd5;font-size:14px}.arrival-note a{color:#e0c58b;font-weight:700}
@media(max-width:900px){.header-visit-link{order:2;margin-left:auto;margin-right:7px;padding:10px 13px}.menu-toggle{order:3}.primary-nav{order:4;margin-left:0}.visit-wrap{padding:75px 24px 85px}.visit-heading{grid-template-columns:1fr;gap:20px}.visit-location-card{grid-template-columns:1fr}.visit-address{padding:38px}.transport-grid{grid-template-columns:1fr}.transport-card{min-height:0}.arrival-note{grid-template-columns:1fr;gap:18px}}
@media(max-width:560px){.header-visit-link{font-size:10px;padding:9px 11px}.visit-heading h2{font-size:34px}.visit-location-card,.visit-map-art{min-height:320px}.visit-address{padding:30px 24px}.visit-address h2{font-size:22px}.visit-actions{display:grid;grid-template-columns:1fr 1fr}.visit-map-button{padding:0 12px}.visit-map-button.primary{grid-column:1/-1}.arrival-note{padding:32px 25px}}

.single-sermon-video{width:min(960px,100%);aspect-ratio:16/9;margin:0 auto 28px;background:#10251c;overflow:hidden}
.single-sermon-video iframe,.single-sermon-video img{width:100%;height:100%;border:0;object-fit:cover}
.single-sermon-meta{width:min(960px,100%);margin:0 auto 24px;color:var(--green2);font-size:15px;font-weight:600}

.sermon-media-link{position:absolute;right:16px;bottom:16px;z-index:3;padding:9px 14px;border-radius:8px;background:rgba(255,255,255,.94);color:var(--green);font-size:12px;font-weight:700;box-shadow:0 5px 18px rgba(0,0,0,.18);transition:transform .2s ease,background-color .2s ease}
.sermon-media-link:hover{transform:translateY(-2px);background:#fff}
.sermon-copy h3 a:hover{color:var(--green2)}

.sermon-media iframe{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:#000}
.sermon-media .badge{z-index:2;pointer-events:none}
.sermon-media-link{z-index:2}

/* Refined schematic map and complete arrival guide */
.route-map{position:relative;display:block;overflow:hidden;min-height:420px;background:linear-gradient(145deg,#edf4ee 0%,#d9e9df 100%);color:#173f31;isolation:isolate}
.route-map:before{content:"";position:absolute;z-index:-2;width:125%;height:122px;left:-12%;top:45%;transform:rotate(-7deg);background:#fff;border:1px solid rgba(27,87,62,.1);box-shadow:0 0 0 18px rgba(255,255,255,.28)}
.route-map:after{content:"";position:absolute;z-index:-1;width:1px;height:120%;left:60%;top:-10%;transform:rotate(18deg);background:rgba(27,87,62,.12)}
.route-map-title{position:absolute;left:28px;top:25px;font-size:10px;font-weight:800;letter-spacing:.22em;color:#5d7668}
.route-station{position:absolute;left:8%;top:43%;display:grid;grid-template-columns:35px auto;column-gap:10px;align-items:center;padding:14px 17px;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(23,63,49,.13)}
.route-station>b{grid-row:1/3;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#e68a2e;color:#fff;font-size:16px}
.route-station strong{font-size:17px;line-height:1.2}.route-station small{color:#687970;font-size:11px}
.route-path{position:absolute;left:30%;right:27%;top:54%;height:4px;background:#2b7355;transform:rotate(-7deg);transform-origin:left center}
.route-path i{position:absolute;top:-5px;width:13px;height:13px;border-radius:50%;background:#d5b36a;border:3px solid #fff;box-shadow:0 2px 7px rgba(23,63,49,.15)}.route-path i:nth-child(1){left:12%}.route-path i:nth-child(2){left:48%}.route-path i:nth-child(3){right:0}
.route-distance{position:absolute;left:33%;top:39%;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.9);font-size:10px;font-weight:750;white-space:nowrap}
.route-crosswalk{position:absolute;left:61%;top:46%;display:flex;gap:3px;transform:rotate(11deg)}.route-crosswalk i{display:block;width:5px;height:38px;background:#afbbb4}
.route-building{position:absolute;right:6%;top:31%;width:125px;min-height:145px;padding:20px 13px;display:flex;flex-direction:column;justify-content:center;text-align:center;background:#1d5a43;color:#fff;border-radius:7px 7px 3px 3px;box-shadow:0 17px 35px rgba(19,63,45,.2)}
.route-building:before{content:"";position:absolute;left:11px;right:11px;top:-11px;height:12px;background:#cfac66;border-radius:4px 4px 0 0}.route-building small{font-size:10px;color:#cfe0d6}.route-building strong{font-size:13px;margin:2px 0 9px}.route-building b{padding:6px 5px;background:#fff;color:#174d39;border-radius:4px;font-size:12px}
.route-map-help{position:absolute;left:27px;bottom:22px;font-size:10px;font-weight:700;color:#456858}.route-map-help b{color:#b18c47}
.bus-card{grid-column:1/-1;min-height:0}.bus-route-row{display:grid;grid-template-columns:82px 1fr;gap:13px;margin-top:16px;align-items:start}.bus-route-row>b{padding-top:5px;color:#315a47;font-size:12px}.bus-route-row>div{display:flex;flex-wrap:wrap;gap:6px}.bus-route-row span{min-width:42px;padding:5px 9px;border:1px solid #cedcd3;border-radius:999px;background:#fff;color:#174c38;text-align:center;font-size:11px;font-weight:750}.route-caution{display:block;margin-top:18px;color:#7c867f;font-size:10px}
@media(max-width:560px){.route-map{min-height:320px}.route-map-title{left:20px;top:18px}.route-station{left:5%;top:45%;padding:11px}.route-station>b{width:30px;height:30px}.route-station strong{font-size:14px}.route-distance{left:26%;top:31%;font-size:8px}.route-building{right:4%;top:30%;width:105px;min-height:128px;padding:17px 9px}.route-crosswalk{left:59%;top:48%}.route-map-help{left:18px;bottom:15px}.bus-route-row{grid-template-columns:1fr;gap:7px}.bus-route-row>b{padding-top:0}}

/* Detailed premium map treatment */
.route-map{background:linear-gradient(145deg,#f3f6ef 0%,#e5eee6 52%,#d2e2d7 100%)}
.route-map:before{height:135px;top:43%;background:linear-gradient(180deg,#fff,#f8faf7);border-top:7px solid rgba(217,226,219,.8);border-bottom:7px solid rgba(217,226,219,.8);box-shadow:0 0 0 24px rgba(255,255,255,.28)}
.route-map:after{width:52px;height:130%;left:61%;top:-15%;background:linear-gradient(90deg,transparent 0 38%,rgba(255,255,255,.8) 38% 62%,transparent 62%);border-left:1px solid rgba(54,100,75,.1);border-right:1px solid rgba(54,100,75,.1)}
.route-map-title{display:flex;align-items:center;gap:9px;color:#294f3d}.route-map-title:before{content:"";width:20px;height:2px;background:#c5a65d}.route-map-title small{font-size:8px;font-weight:650;letter-spacing:.04em;color:#7c8b82}
.route-compass{position:absolute;right:23px;top:21px;width:32px;height:42px;text-align:center;color:#315b47;font-size:9px;font-weight:800}.route-compass i{display:block;width:1px;height:25px;margin:2px auto;background:#315b47;transform:rotate(17deg)}.route-compass i:before{content:"";position:absolute;left:11px;top:12px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:10px solid #c19b4b;transform:rotate(17deg)}
.map-block{position:absolute;z-index:-1;border:1px solid rgba(70,110,87,.1);border-radius:7px;background:rgba(255,255,255,.42);box-shadow:inset 0 0 0 5px rgba(255,255,255,.25)}.block-a{width:150px;height:92px;left:4%;top:14%;transform:rotate(-4deg)}.block-b{width:130px;height:72px;left:34%;bottom:8%;transform:rotate(8deg)}.block-c{width:115px;height:80px;right:5%;bottom:7%;transform:rotate(-6deg)}
.route-road-name{position:absolute;left:43%;top:61%;color:#829088;font-size:8px;font-weight:700;letter-spacing:.14em;transform:rotate(-7deg)}
.route-landmark{position:absolute;padding:4px 7px;border-radius:4px;background:rgba(255,255,255,.68);color:#708078;font-size:8px;font-weight:700;box-shadow:0 2px 7px rgba(34,71,53,.06)}.landmark-one{left:13%;top:20%}.landmark-one:before{content:"";display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#75a780}.landmark-two{left:57%;bottom:18%}.landmark-two:before{content:"+";margin-right:3px;color:#d46b64;font-weight:900}
.route-station{border:1px solid rgba(30,83,58,.08);box-shadow:0 16px 40px rgba(23,63,49,.16)}
.route-path{height:5px;background:repeating-linear-gradient(90deg,#26714f 0 12px,transparent 12px 18px)}.route-path:after{content:"▶";position:absolute;right:-4px;top:-12px;color:#26714f;font-size:17px}.route-path i{top:-4px;width:13px;height:13px;background:#d1ae5e;box-shadow:0 3px 9px rgba(23,63,49,.22)}
.route-distance{border:1px solid rgba(38,113,79,.12);box-shadow:0 6px 18px rgba(23,63,49,.09);color:#285840}
.route-building{border:1px solid rgba(255,255,255,.45);background:linear-gradient(155deg,#23684e,#164b38);box-shadow:0 20px 42px rgba(19,63,45,.28)}.route-building:after{content:"";position:absolute;inset:10px 8px auto;height:38px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 12px,transparent 12px 19px);pointer-events:none}.route-building small,.route-building strong,.route-building b{position:relative;z-index:2}.church-pulse{position:absolute;right:-7px;top:-7px;width:17px;height:17px;border:4px solid #fff;border-radius:50%;background:#d7b464;box-shadow:0 0 0 7px rgba(215,180,100,.25)}
.route-crosswalk{padding:4px;background:rgba(255,255,255,.65);border-radius:2px;box-shadow:0 3px 10px rgba(40,76,58,.08)}
.route-map-help{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 6px 16px rgba(23,63,49,.08)}
@media(max-width:560px){.route-compass{right:14px;top:15px}.block-a{width:100px;height:60px}.block-b{width:90px}.block-c{width:80px}.route-landmark{font-size:7px}.landmark-one{top:24%}.landmark-two{left:54%;bottom:17%}.route-road-name{display:none}.route-map-title small{display:none}.route-map-help{font-size:8px}}

/* Map-like geometry with an off-road church callout */
.route-map{background-color:#e8efe9;background-image:linear-gradient(rgba(58,92,73,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(58,92,73,.035) 1px,transparent 1px),linear-gradient(145deg,rgba(249,250,245,.94),rgba(220,234,224,.96));background-size:22px 22px,22px 22px,100% 100%}
.route-map:before{left:-8%;top:48%;width:118%;height:104px;transform:rotate(-6deg);background:#fbfcf9;border-top:9px solid #d7dfd8;border-bottom:9px solid #d7dfd8;box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #fff,0 0 0 17px rgba(255,255,255,.34)}
.route-map:after{left:60%;top:-18%;width:44px;height:138%;transform:rotate(17deg);background:#fbfcf9;border-left:7px solid #dce3dd;border-right:7px solid #dce3dd}
.map-side-road{position:absolute;z-index:-1;height:35px;background:#f9fbf8;border-top:4px solid #dce4dd;border-bottom:4px solid #dce4dd}.road-one{left:-7%;top:22%;width:46%;transform:rotate(12deg)}.road-two{right:-7%;bottom:12%;width:45%;transform:rotate(-16deg)}
.map-block{display:flex;gap:5px;padding:7px;background:rgba(213,224,215,.72);border-color:rgba(72,108,87,.13);box-shadow:0 3px 9px rgba(30,71,50,.05)}.map-block i{flex:1;display:block;border-radius:2px;background:#f8faf7;border:1px solid rgba(50,89,67,.09)}
.block-a{left:6%;top:16%;width:145px;height:74px}.block-b{left:33%;bottom:5%;width:145px;height:65px}.block-c{right:5%;bottom:5%;width:120px;height:70px}
.route-station{left:7%;top:44%;z-index:4}.route-path{left:29%;right:29%;top:57%;z-index:3}.route-distance{left:30%;top:38%;z-index:5}.route-crosswalk{left:61%;top:50%;z-index:4}.route-road-name{left:45%;top:64%;z-index:3}
.church-location-dot{position:absolute;z-index:7;left:71%;top:52%;width:28px;height:28px;border:5px solid #fff;border-radius:50%;background:#c5a357;box-shadow:0 0 0 8px rgba(197,163,87,.2),0 7px 18px rgba(21,74,52,.25)}.church-location-dot:after{content:"";position:absolute;left:50%;bottom:-13px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:11px solid #c5a357;transform:translateX(-50%)}.church-location-dot i{position:absolute;inset:5px;border-radius:50%;background:#174c38}
.church-guide-line{position:absolute;z-index:6;left:74%;top:47%;width:13%;height:1px;background:#b58f42;transform:rotate(-35deg);transform-origin:left center}.church-guide-line:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#b58f42}
.route-building{right:4%;top:12%;width:154px;min-height:91px;padding:15px 16px 13px;align-items:flex-start;text-align:left;border-radius:11px;background:rgba(21,75,54,.96);box-shadow:0 15px 34px rgba(19,63,45,.22);backdrop-filter:blur(5px)}.route-building:before{left:15px;right:auto;top:-4px;width:38px;height:4px;border-radius:3px;background:#d5b56e}.route-building:after{display:none}.route-building small{font-size:9px;letter-spacing:.04em}.route-building strong{margin:2px 0 7px;font-size:14px}.route-building b{padding:3px 8px;border-radius:999px;background:#d8bb78;color:#163f30;font-size:9px}.church-pulse{display:none}
.landmark-one{left:18%;top:21%}.landmark-two{left:56%;bottom:14%}
@media(max-width:560px){.route-map:before{top:49%;height:78px}.route-map:after{left:60%;width:31px}.road-one{top:25%}.map-block{padding:4px}.block-a{left:5%;top:20%;width:88px;height:48px}.block-b{left:34%;width:77px;height:42px}.block-c{right:3%;width:68px;height:45px}.route-station{left:4%;top:46%}.route-path{left:30%;right:29%;top:59%}.route-distance{left:24%;top:35%}.route-crosswalk{left:59%;top:52%}.church-location-dot{left:70%;top:54%;width:23px;height:23px}.church-guide-line{left:74%;top:51%;width:12%}.route-building{right:3%;top:16%;width:116px;min-height:76px;padding:11px}.route-building strong{font-size:11px}.route-building small{font-size:7px}.landmark-one{left:20%;top:27%}.landmark-two{left:52%;bottom:12%}}

/* Verified surrounding buildings for easier orientation */
.map-building{position:absolute;z-index:1;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(57,91,71,.15);border-radius:5px;background:rgba(252,253,250,.94);color:#4d6256;box-shadow:0 3px 10px rgba(26,67,47,.08);font-size:8px;line-height:1.25}.map-building i{display:block;flex:0 0 auto;width:18px;height:22px;border:1px solid rgba(58,91,72,.16);border-radius:2px;background:repeating-linear-gradient(90deg,#d9e3dc 0 4px,#f8faf7 4px 7px)}.map-building b{font-weight:750}.map-building small{padding:2px 4px;border-radius:2px;background:#e0ece4;color:#285c43;font-size:7px;font-weight:800}
.grand-building{left:5%;top:15%}.grand-building i{height:27px;background:linear-gradient(145deg,#d9cfbc,#f6f2e8)}
.hansol-building{left:34%;top:17%}.hansol-building i{background:linear-gradient(145deg,#d4ded7,#eef2ef)}
.apt-ten{left:9%;bottom:6%}.apt-ten i,.apt-twelve i{height:29px;background:repeating-linear-gradient(180deg,#d4e0d8 0 4px,#f8faf7 4px 7px)}
.apt-twelve{left:39%;bottom:5%}
.taeyoung-building{left:68%;top:55%;z-index:5;display:grid;grid-template-columns:22px auto;gap:1px 6px;padding:7px 9px;border:2px solid #bd9849;background:#fffdf7;color:#244f3a;box-shadow:0 7px 18px rgba(28,73,50,.17)}.taeyoung-building i{grid-row:1/3;width:22px;height:30px;background:linear-gradient(90deg,#d8e3da 0 46%,#eef3ef 46% 54%,#d8e3da 54%)}.taeyoung-building small{width:max-content}
.church-location-dot{left:73%;top:49%}.church-guide-line{left:76%;top:45%;width:10%}.route-building{right:3%;top:11%}
.route-path{right:25%}.route-crosswalk{left:62%}.landmark-one{left:20%;top:31%}.landmark-two{left:55%;bottom:17%}
@media(max-width:560px){.map-building{gap:3px;padding:4px;font-size:6px}.map-building i{width:11px;height:16px}.grand-building{left:3%;top:20%}.grand-building i{height:19px}.hansol-building{left:34%;top:21%}.apt-ten{left:7%;bottom:6%}.apt-twelve{left:38%;bottom:4%}.apt-ten i,.apt-twelve i{height:19px}.taeyoung-building{left:67%;top:57%;grid-template-columns:14px auto;padding:4px;gap:1px 3px}.taeyoung-building i{width:14px;height:20px}.taeyoung-building small{font-size:5px}.church-location-dot{left:72%;top:50%}.church-guide-line{left:76%;top:47%;width:10%}.route-building{right:2%;top:15%}.landmark-one{left:18%;top:34%}.landmark-two{left:52%;bottom:17%}}

/* Rebuilt from the verified Naver map orientation */
.route-map:before{left:-13%;top:41%;width:126%;height:88px;transform:rotate(20deg);border-top:8px solid #d7dfd8;border-bottom:8px solid #d7dfd8}
.route-map:after{left:20%;top:-25%;width:38px;height:86%;transform:rotate(38deg);border-left:6px solid #dce3dd;border-right:6px solid #dce3dd}
.road-one{left:44%;top:24%;width:70%;transform:rotate(-23deg)}.road-two{right:-9%;bottom:11%;width:46%;transform:rotate(19deg)}
.route-station{left:8%;top:31%;z-index:8}.route-path{left:27%;right:23%;top:49%;transform:rotate(20deg);z-index:7}.route-path:after{transform:rotate(-20deg)}.route-distance{left:29%;top:31%;z-index:9}.route-road-name{left:45%;top:57%;transform:rotate(20deg);z-index:6}.route-crosswalk{left:62%;top:52%;transform:rotate(-20deg);z-index:8}
.apt-nine{left:31%;top:7%}.apt-seven{left:53%;top:5%}.apt-ten{right:3%;top:43%;left:auto;bottom:auto}.apt-fourteen{left:24%;bottom:12%}.apt-fifteen{left:48%;bottom:3%}
.apt-seven i,.apt-nine i,.apt-ten i,.apt-fourteen i,.apt-fifteen i{height:28px;background:repeating-linear-gradient(180deg,#d4e0d8 0 4px,#f8faf7 4px 7px)}
.taeyoung-building{left:67%;top:50%;z-index:9}.church-location-dot{left:72%;top:43%;z-index:11}.church-guide-line{left:75%;top:40%;width:12%;transform:rotate(-28deg);z-index:10}.route-building{right:2%;top:10%;z-index:11}
.landmark-one{left:48%;top:20%}.landmark-two{left:18%;bottom:5%}.landmark-two:before{content:"";background:#789aca}.landmark-three{right:14%;bottom:14%;left:auto}.landmark-three:before{content:"★";margin-right:3px;color:#2e7655}
@media(max-width:560px){.route-map:before{top:43%;height:65px;transform:rotate(20deg)}.route-map:after{left:18%;width:25px}.route-station{left:3%;top:34%}.route-path{left:29%;right:24%;top:52%;transform:rotate(20deg)}.route-distance{left:25%;top:31%}.route-crosswalk{left:60%;top:53%}.apt-nine{left:29%;top:11%}.apt-seven{left:52%;top:9%}.apt-ten{right:1%;top:46%}.apt-fourteen{left:23%;bottom:12%}.apt-fifteen{left:47%;bottom:3%}.apt-seven i,.apt-nine i,.apt-ten i,.apt-fourteen i,.apt-fifteen i{height:18px}.taeyoung-building{left:66%;top:53%}.church-location-dot{left:71%;top:45%}.church-guide-line{left:74%;top:42%;width:12%}.route-building{right:1%;top:14%}.landmark-one{left:47%;top:25%}.landmark-two{left:16%;bottom:4%}.landmark-three{right:10%;bottom:13%}}

/* Verified pedestrian overpass: southeast of Taeyoung Plaza, across Jungang-ro */
.route-overpass{position:absolute;z-index:12;left:76%;top:65%;width:76px;height:16px;transform:rotate(-55deg);display:block;border-radius:3px;background:linear-gradient(180deg,#f5f1e7 0 35%,#b9aa8b 35% 48%,#e7deca 48% 100%);border:1px solid rgba(99,83,55,.38);box-shadow:0 5px 10px rgba(47,61,51,.2)}
.route-overpass:before,.route-overpass:after{content:"";position:absolute;top:13px;width:18px;height:12px;border-top:3px solid #9d8d70;border-bottom:3px solid #9d8d70;background:repeating-linear-gradient(90deg,transparent 0 4px,#b8aa90 4px 6px)}.route-overpass:before{left:-13px;transform:rotate(12deg)}.route-overpass:after{right:-13px;transform:rotate(-12deg)}
.route-overpass i{position:absolute;top:2px;bottom:2px;width:2px;background:#fff}.route-overpass i:first-child{left:8px}.route-overpass i:nth-child(2){right:8px}.route-overpass b{position:absolute;left:50%;top:-20px;padding:2px 5px;border-radius:3px;background:#fff;color:#6f614a;font-size:8px;line-height:1;white-space:nowrap;transform:translateX(-50%) rotate(55deg);box-shadow:0 2px 6px rgba(39,55,45,.1)}
.route-path{right:29%}.route-path:after{right:-2px}.taeyoung-building{left:66%;top:49%}.church-location-dot{left:71%;top:42%}
@media(max-width:560px){.route-overpass{left:75%;top:66%;width:48px;height:11px}.route-overpass:before,.route-overpass:after{top:8px;width:12px;height:9px}.route-overpass b{top:-16px;font-size:6px}.route-path{right:30%}.taeyoung-building{left:65%;top:51%}.church-location-dot{left:70%;top:43%}}

/* High-visibility church marker and official bus-type colors */
.church-location-dot{width:32px;height:32px;border:5px solid #fff;background:#ff5a3d;box-shadow:0 0 0 9px rgba(255,90,61,.28),0 8px 22px rgba(119,35,24,.38)}.church-location-dot:after{border-top-color:#ff5a3d}.church-location-dot i{inset:5px;background:#fff}.church-location-dot i:before,.church-location-dot i:after{content:"";position:absolute;left:50%;top:50%;background:#d83b2a;transform:translate(-50%,-50%)}.church-location-dot i:before{width:3px;height:12px}.church-location-dot i:after{width:10px;height:3px}
.taeyoung-building{border-color:#f05a42;box-shadow:0 0 0 4px rgba(240,90,66,.14),0 8px 20px rgba(59,76,64,.2)}.route-building{background:linear-gradient(145deg,#d84331,#a92d23);box-shadow:0 15px 34px rgba(120,35,27,.28)}.route-building:before{background:#ffd476}.route-building b{background:#ffe09a;color:#80251c}
.bus-route-row span{border:0;color:#fff;box-shadow:0 2px 5px rgba(21,47,34,.1)}.bus-route-row .bus-general{background:#36a55b}.bus-route-row .bus-trunk{background:#2f68c5}.bus-route-row .bus-direct{background:#d83b3b}.bus-route-row .bus-metropolitan{background:#c93454}.bus-route-row .bus-seat{background:#3679b9}.bus-route-row .bus-village{background:#72a83b}.bus-route-row .bus-airport{background:#355473}.bus-route-row .bus-direct,.bus-route-row .bus-metropolitan{min-width:48px}.bus-route-row .bus-direct:nth-last-child(2){min-width:78px}
@media(max-width:560px){.church-location-dot{width:27px;height:27px}.bus-route-row span{min-width:39px;padding:5px 7px}}

/* Verified center-lane stop beside Taeyoung Plaza */
.median-bus-stop{position:absolute;z-index:13;left:68%;top:61%;min-width:112px;padding:7px 10px 7px 30px;border:2px solid #fff;border-radius:7px;background:#2477c7;color:#fff;box-shadow:0 6px 16px rgba(28,65,95,.28);line-height:1.1;transform:rotate(20deg)}.median-bus-stop i{position:absolute;left:7px;top:50%;width:17px;height:24px;display:grid;place-items:center;border-radius:3px;background:#fff;color:#2477c7;font-size:5px;font-style:normal;font-weight:900;transform:translateY(-50%)}.median-bus-stop i:after{content:"";position:absolute;left:6px;bottom:-6px;width:4px;height:7px;background:#fff}.median-bus-stop b,.median-bus-stop small{display:block;transform:rotate(-20deg);transform-origin:left center}.median-bus-stop b{font-size:9px}.median-bus-stop small{margin:3px 0 0 2px;color:#ddecfa;font-size:7px;letter-spacing:.02em}
.median-stop-walk{position:absolute;z-index:12;left:72%;top:49%;width:42px;height:1px;border-top:2px dashed #ef5d43;transform:rotate(72deg)}.median-stop-walk:after{content:"";position:absolute;right:-2px;top:-4px;width:7px;height:7px;border-radius:50%;background:#ef5d43;box-shadow:0 0 0 3px #fff}
.route-overpass{left:79%;top:69%}
@media(max-width:560px){.median-bus-stop{left:66%;top:62%;min-width:78px;padding:5px 5px 5px 22px}.median-bus-stop i{left:5px;width:13px;height:18px;font-size:4px}.median-bus-stop b{font-size:6px}.median-bus-stop small{font-size:5px}.median-stop-walk{left:70%;top:50%;width:32px}.route-overpass{left:79%;top:71%}}

/* Clear, horizontal center-lane bus-stop label */
.median-bus-stop{left:65%;top:61%;min-width:158px;min-height:54px;padding:9px 12px 9px 43px;border:3px solid #1768b5;border-radius:10px;background:#fff;color:#153b5e;box-shadow:0 8px 22px rgba(18,63,101,.3);line-height:1.2;transform:none}.median-bus-stop i{left:10px;width:24px;height:32px;border-radius:5px;background:#1768b5;color:#fff;font-size:7px}.median-bus-stop i:after{left:9px;bottom:-8px;width:5px;height:9px;background:#1768b5}.median-bus-stop b,.median-bus-stop small{transform:none}.median-bus-stop b{font-size:13px;font-weight:850;letter-spacing:-.03em}.median-bus-stop small{margin-top:4px;color:#1768b5;font-size:10px;font-weight:750;letter-spacing:.02em}
@media(max-width:560px){.median-bus-stop{left:61%;top:61%;min-width:112px;min-height:42px;padding:7px 7px 7px 31px;border-width:2px;border-radius:7px}.median-bus-stop i{left:7px;width:18px;height:25px;font-size:5px}.median-bus-stop i:after{left:7px;bottom:-6px;width:4px;height:7px}.median-bus-stop b{font-size:9px}.median-bus-stop small{margin-top:2px;font-size:7px}}

/* Keep the exact stop marker on the road; move only its readable label */
.median-stop-pin{position:absolute;z-index:15;left:70%;top:59%;width:42px;height:13px;border:2px solid #fff;border-radius:3px;background:#1768b5;box-shadow:0 3px 9px rgba(20,66,104,.38);transform:rotate(20deg)}.median-stop-pin:before,.median-stop-pin:after{content:"";position:absolute;top:3px;width:5px;height:5px;border-radius:50%;background:#fff}.median-stop-pin:before{left:5px}.median-stop-pin:after{right:5px}.median-stop-pin i{position:absolute;left:50%;top:-12px;width:4px;height:14px;background:#1768b5;transform:translateX(-50%)}.median-stop-pin i:before{content:"";position:absolute;left:-4px;top:-4px;width:12px;height:7px;border:2px solid #fff;border-radius:2px;background:#1768b5}
.median-stop-leader{position:absolute;z-index:14;left:51%;top:72%;width:128px;height:1px;border-top:2px solid #1768b5;transform:rotate(-30deg);transform-origin:right center}.median-stop-leader:before{content:"";position:absolute;left:-2px;top:-4px;width:7px;height:7px;border-radius:50%;background:#1768b5}.median-stop-leader:after{content:"";position:absolute;right:-2px;top:-4px;width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid #1768b5}
.median-bus-stop{left:30%;top:73%;min-width:158px;z-index:15}.median-stop-walk{display:none}
@media(max-width:560px){.median-stop-pin{left:69%;top:60%;width:30px;height:10px}.median-stop-pin i{top:-9px;height:11px}.median-stop-pin i:before{left:-3px;width:10px;height:6px}.median-stop-leader{left:47%;top:72%;width:84px}.median-bus-stop{left:18%;top:73%;min-width:112px}}

/* Place the physical stop marker at the leader endpoint on the center lane */
.median-stop-pin{left:76%;top:70%;width:34px;height:11px;transform:rotate(20deg)}.median-stop-leader:after{display:none}
@media(max-width:560px){.median-stop-pin{left:75%;top:70%;width:27px;height:9px}}

/* Connect the off-road label precisely to the physical BUS marker */
.median-stop-leader{left:51%;top:72%;width:165px;transform:rotate(-25deg)}
.median-stop-pin{width:40px;height:18px;border-radius:6px;background:#1768b5}.median-stop-pin:before,.median-stop-pin:after{top:auto;bottom:-4px;width:7px;height:7px;border:2px solid #1768b5;background:#fff}.median-stop-pin:before{left:6px}.median-stop-pin:after{right:6px}.median-stop-pin i{left:50%;top:50%;width:auto;height:auto;background:none;color:#fff;font-size:0;transform:translate(-50%,-50%)}.median-stop-pin i:before{content:"BUS";position:static;display:block;width:auto;height:auto;border:0;background:none;color:#fff;font-size:7px;font-weight:900;letter-spacing:.08em}
@media(max-width:560px){.median-stop-leader{left:47%;top:72%;width:108px;transform:rotate(-25deg)}.median-stop-pin{width:31px;height:15px}.median-stop-pin i:before{font-size:6px}}

/* Corrected after visual review: stop is in the center lane southwest of the church */
.median-stop-pin{left:52%;top:73%;z-index:16}.median-bus-stop{left:4%;top:69%;z-index:15}.median-stop-leader{left:29%;top:76%;width:148px;transform:rotate(-6deg);transform-origin:left center}
@media(max-width:560px){.median-stop-pin{left:51%;top:73%}.median-bus-stop{left:3%;top:69%}.median-stop-leader{left:36%;top:76%;width:53px;transform:rotate(-6deg)}}

/* Center-lane correction based on the actual axis of the drawn Jungang-ro */
.median-stop-pin{left:68%;top:61%;z-index:16}.median-bus-stop{left:4%;top:69%}.median-stop-leader{left:29%;top:76%;width:250px;transform:rotate(-13deg)}
@media(max-width:560px){.median-stop-pin{left:67%;top:61%}.median-bus-stop{left:3%;top:69%}.median-stop-leader{left:36%;top:76%;width:103px;transform:rotate(-13deg)}}

/* Next generation visual feed */
.next-feed-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px}.next-feed-header h2{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.25;letter-spacing:-.05em}.next-groups{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.next-groups span{padding:8px 14px;border:1px solid #cfd8d1;border-radius:999px;background:#fff;color:var(--green);font-size:12px;font-weight:650}.next-feed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.next-feed-card{min-width:0;background:#fff;border:1px solid #e0e5e1;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(22,75,56,.07);transition:transform .22s ease,box-shadow .22s ease}.next-feed-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(22,75,56,.12)}.next-feed-card-head{height:64px;padding:10px 14px;display:flex;align-items:center;gap:10px}.next-feed-card-head img{width:38px;height:38px;border-radius:50%;object-fit:contain;background:#f0f5f1}.next-feed-card-head div{display:grid;line-height:1.35}.next-feed-card-head b{font-size:13px}.next-feed-card-head time{font-size:10px;color:#89918b}.next-feed-media{position:relative;width:100%;aspect-ratio:1/1;background:#e8efea;overflow:hidden}.next-feed-media iframe,.next-feed-media video,.next-feed-media img,.next-feed-image{display:block;width:100%;height:100%;border:0;object-fit:cover}.next-feed-media video{background:#000}.next-feed-placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(145deg,#164b38,#2c7255);color:#d8e8de}.next-feed-placeholder span{font-size:11px;font-weight:700;letter-spacing:.22em}.next-feed-copy{padding:17px 17px 19px}.next-feed-copy h3{margin:0 0 7px;font-size:18px;letter-spacing:-.03em}.next-feed-copy p{height:3.2em;margin:0;color:#667069;font-size:13px;line-height:1.6;overflow:hidden}.next-feed-more{display:inline-block;margin-top:13px;color:var(--green2);font-size:11px;font-weight:700}.next-feed-empty{padding:55px;text-align:center;border-radius:16px;background:#eef3ef;color:#667069}.next-feed-empty b{display:block;margin-bottom:8px;color:var(--ink);font-size:20px}.next-feed-empty p{margin:0;font-size:13px}
@media(max-width:900px){.next-feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.next-feed-header{display:block;margin-bottom:28px}.next-groups{justify-content:flex-start;margin-top:20px}.next-feed-grid{grid-template-columns:1fr;gap:22px}.next-feed-card{border-radius:13px}.next-feed-empty{padding:38px 22px}}

.news-feed-note{padding:9px 15px;border-radius:999px;background:#e8f0ea;color:var(--green);font-size:12px;font-weight:650}.feed-pagination{display:flex;justify-content:center;gap:7px;margin-top:42px}.feed-pagination .page-numbers{min-width:38px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8dfda;border-radius:8px;background:#fff;color:var(--green);font-size:12px}.feed-pagination .current{border-color:var(--green);background:var(--green);color:#fff}@media(max-width:560px){.news-feed-note{display:inline-block;margin-top:20px}.feed-pagination{flex-wrap:wrap}}

.next-feed-image{position:relative}.multi-photo-badge{position:absolute;right:12px;top:12px;padding:5px 8px;border-radius:7px;background:rgba(9,28,20,.72);color:#fff;font-size:11px;font-weight:700;line-height:1;backdrop-filter:blur(6px)}.post-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 auto 34px}.post-photo-gallery a{display:block;overflow:hidden;border-radius:10px;background:#e9efeb}.post-photo-gallery img{display:block;width:100%;height:100%;max-height:620px;object-fit:cover;transition:transform .25s ease}.post-photo-gallery a:hover img{transform:scale(1.015)}@media(max-width:560px){.post-photo-gallery{grid-template-columns:1fr;gap:9px}.post-photo-gallery img{max-height:none}}
