/* Existing Geoatelier components, scoped regional content. No automatic interaction. */
html:has(body.page-geo){scroll-behavior:auto}
.page-media .geo-city-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.page-media .geo-city-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:23px 22px;background:var(--paper);border-radius:22px;min-width:0;color:var(--ink)}
.page-media .geo-city-card>span{font-size:20px;font-weight:500;letter-spacing:-.02em;padding-right:15px}
.page-media .geo-city-card>b{font-size:15px;font-weight:500;color:var(--ink-2)}
.page-media .geo-city-card>small{font-size:12px;line-height:1.45;color:var(--ink-3);max-width:210px}
.page-media .geo-city-card>i{position:absolute;top:25px;right:21px;color:var(--accent);font-style:normal}
.page-media .geo-city-card.is-current{box-shadow:inset 0 0 0 1px var(--ink)}
.page-geo .geo-cards{margin-top:0;gap:14px}
.page-geo .geo-cards .pc-c{padding:27px}
.page-geo .geo-cards p{font-size:15px;line-height:1.55;color:var(--ink-2)}
.page-geo .geo-price-detail{min-width:0;padding-left:30px;border-left:1px solid var(--line)}
.page-geo .geo-price-detail>p{font-size:14px;line-height:1.55;margin:20px 0 0;color:var(--ink-2)}
.page-geo .geo-price-math>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.4}
.page-geo .geo-price-math b{font-weight:500;text-align:right;max-width:200px}
.page-geo .geo-price-total{color:var(--ink)}
.page-geo .geo-access{background:var(--paper);border-radius:24px;padding:30px;display:grid;grid-template-columns:1fr 2fr;column-gap:40px}
.page-geo .geo-access>.sk-t{grid-column:1/-1;justify-self:start;margin-bottom:18px}
.page-geo .geo-access h3{font-size:26px;font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0;max-width:350px}
.page-geo .geo-access p{font-size:16px;line-height:1.6;color:var(--ink-2);margin:0;max-width:700px}
.page-geo .geo-local-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.page-geo .geo-local-services>a,.page-geo .geo-service-current{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px;background:var(--paper);border-radius:20px;font-size:19px;line-height:1.2;font-weight:500;color:var(--ink)}
.page-geo .geo-local-services small{font-size:12px;line-height:1.4;color:var(--ink-3);font-weight:400}
.page-geo .geo-local-services i{position:absolute;right:20px;top:23px;color:var(--accent);font-style:normal}
.page-geo .geo-service-current{background:var(--ink);color:#fff}
.page-geo .geo-service-current small{color:rgba(255,255,255,.55)}
.page-geo .geo-format-note{padding:25px 28px;margin-bottom:20px;border:1px solid var(--line);border-radius:22px}
.page-geo .geo-format-note p{font-size:15px;line-height:1.6;color:var(--ink-2);margin:0 0 15px}
.page-geo .geo-format-note b{font-weight:500;color:var(--ink)}
.page-geo .geo-format-note a{font-size:14px;color:var(--accent);line-height:1.5}
.page-geo .geo-shotplan{margin:0}
.page-geo .geo-shotplan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.page-geo .geo-shot{position:relative;display:flex;align-items:center;gap:22px;background:var(--paper);border-radius:23px;padding:30px 24px;min-height:150px}
.page-geo .geo-shot b{font-size:19px;line-height:1.25;font-weight:500;letter-spacing:-.02em;max-width:200px}
.page-geo .geo-shot-no{position:absolute;right:18px;top:13px;font-size:10px;color:var(--ink-3)}
.page-geo .geo-shot-icon{position:relative;display:flex;flex:none;gap:3px;width:72px;height:72px;border:1px solid #bcbcb7;border-radius:10px;padding:10px;align-items:stretch}
.page-geo .geo-shot-icon i{flex:1;background:#deded9;border:1px solid #c9c9c2;border-radius:2px}
.page-geo .geo-shot:nth-child(2) .geo-shot-icon{transform:rotate(90deg)}
.page-geo .geo-shot:nth-child(3) .geo-shot-icon{padding:17px;gap:4px}
.page-geo .geo-shotplan--food .geo-shot-icon{border-radius:50%;padding:8px;align-items:center;justify-content:center;border-color:#b4b4ac;transform:none}
.page-geo .geo-shotplan--food .geo-shot-icon i{display:none}
.page-geo .geo-shotplan--food .geo-shot-icon:before{content:'';display:block;width:38px;height:38px;border:1px solid #b4b4ac;border-radius:50%;flex:none}
.page-geo .geo-shotplan--food .geo-shot:nth-child(2) .geo-shot-icon{width:80px;height:55px;border-radius:13px}
.page-geo .geo-shotplan--food .geo-shot:nth-child(3) .geo-shot-icon{border-radius:14px;padding:12px}
.page-geo .geo-shotplan--tour .geo-shot-icon{padding:15px 6px;align-items:center;transform:none;border:0}
.page-geo .geo-shotplan--tour .geo-shot-icon:before{content:'';position:absolute;left:5px;right:5px;top:36px;height:1px;background:#bbb}
.page-geo .geo-shotplan--tour .geo-shot-icon i{position:relative;flex:none;width:18px;height:18px;border-radius:50%;background:var(--paper);border:1px solid var(--accent)}
.page-geo .geo-shotplan figcaption{font-size:12px;line-height:1.5;color:var(--ink-3);margin:16px 0 0}
@media(min-width:761px) and (max-width:1100px){
 .page-media .geo-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .page-geo .geo-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-geo .geo-cards .pc-c:last-child{grid-column:1/-1}
 .page-geo .geo-shot{flex-direction:column;align-items:flex-start;padding:25px}
 .page-geo .geo-price-detail{padding-left:24px}
 .page-geo .geo-price-math>div{flex-direction:column;gap:7px}
 .page-geo .geo-price-math b{text-align:left}
}
@media(max-width:760px){
 .page-media .geo-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .page-media .geo-city-card{padding:18px 16px;gap:8px;border-radius:18px}
 .page-media .geo-city-card>span{font-size:16px;line-height:1.25;letter-spacing:-.03em}
 .page-media .geo-city-card>b{font-size:13px}
 .page-media .geo-city-card>small{font-size:11px;line-height:1.4}
 .page-media .geo-city-card>i{top:19px;right:12px;font-size:11px}
 .page-geo .geo-cards{grid-template-columns:1fr;gap:10px}
 .page-geo .geo-cards .pc-c{padding:20px}
 .page-geo .geo-cards h3{font-size:20px;margin:10px 0 8px}
 .page-geo .geo-cards p{font-size:14px;line-height:1.5}
 .page-geo .geo-price-detail{border:0;padding:0}
 .page-geo .geo-price-math>div{font-size:13px;gap:15px;padding:14px 0}
 .page-geo .geo-price-math b{max-width:150px}
 .page-geo .geo-price-detail>p{font-size:13px;line-height:1.5;margin-top:18px}
 .page-geo .geo-access{display:block;padding:23px}
 .page-geo .geo-access>.sk-t{display:inline-block;margin-bottom:17px}
 .page-geo .geo-access h3{font-size:23px;max-width:100%;margin-bottom:15px}
 .page-geo .geo-access p{font-size:14px;line-height:1.5}
 .page-geo .geo-local-services{grid-template-columns:1fr;gap:8px}
 .page-geo .geo-local-services>a,.page-geo .geo-service-current{padding:19px 20px;font-size:17px;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
 .page-geo .geo-local-services small{margin-left:auto;font-size:11px;padding-right:14px;text-align:right}
 .page-geo .geo-local-services i{right:13px;top:22px;font-size:11px}
 .page-geo .geo-format-note{padding:22px;margin-bottom:15px}
 .page-geo .geo-format-note p{font-size:14px;line-height:1.5}
 .page-geo .geo-format-note a{font-size:13px}
 .page-geo .geo-shotplan-grid{grid-template-columns:1fr;gap:9px}
 .page-geo .geo-shot{min-height:100px;padding:19px 22px;gap:22px;border-radius:20px}
 .page-geo .geo-shot b{font-size:18px;max-width:220px}
 .page-geo .geo-shot-icon{width:59px;height:59px;gap:3px;padding:8px}
 .page-geo .geo-shotplan--food .geo-shot:nth-child(2) .geo-shot-icon{width:59px;height:48px}
 .page-geo .geo-shotplan--food .geo-shot-icon:before{width:30px;height:30px}
 .page-geo .geo-shotplan--tour .geo-shot-icon{padding:10px 0;gap:3px}
 .page-geo .geo-shotplan--tour .geo-shot-icon:before{top:29px}
 .page-geo .geo-shotplan--tour .geo-shot-icon i{width:16px;height:16px}
 .page-geo .geo-shotplan figcaption{font-size:11px}
}
