:root{
  --signal:#087fba;
  --signal-deep:#075777;
  --signal-ink:#102b3a;
  --signal-muted:#5d7480;
  --signal-bg:#f5f8f9;
  --signal-pale:#eaf4f7;
  --signal-line:#d3e1e6;
  --signal-yellow:#f2c94c;
  --signal-warm:#fff8df;
  --signal-stop:#a44738;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
[hidden]{display:none!important}
body.landing-body{margin:0;background:var(--signal-bg);color:var(--signal-ink);overflow-x:hidden;word-break:keep-all;overflow-wrap:break-word}
.landing-main{max-width:none;margin:0;padding:0}
.landing-main h1,.landing-main h2,.landing-main h3,.landing-main p{margin-top:0}
.landing-main h1,.landing-main h2,.landing-main h3{color:var(--signal-ink)}
.landing-main p{color:var(--signal-muted)}
.section-pad{padding:96px max(22px,calc((100vw - 1120px)/2))}
.section-heading{margin-bottom:38px}
.section-heading.narrow{max-width:760px}
.section-heading h2{margin-bottom:17px;font-size:clamp(34px,5vw,54px);line-height:1.2;letter-spacing:-.045em}
.section-heading>p:last-child{max-width:720px;margin-bottom:0;font-size:17px;line-height:1.8}
.step-label,.brand-kicker{margin-bottom:14px!important;color:var(--signal)!important;font-size:13px;font-weight:900;letter-spacing:.08em}

/* 첫 화면: 설명 → 레이더 → 가입 흐름 */
.purpose-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);grid-template-areas:"copy map" "signup map";column-gap:60px;row-gap:30px;align-items:start;min-height:0;padding:48px max(22px,calc((100vw - 1120px)/2)) 64px;background:linear-gradient(135deg,#fff 0%,#edf6f8 100%);border-bottom:1px solid var(--signal-line)}
.purpose-copy{grid-area:copy}
.purpose-copy h1{margin-bottom:20px;font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-.058em}
.purpose-copy h1 span{color:var(--signal)}
.purpose-lead{max-width:700px;margin-bottom:20px;font-size:17px;line-height:1.75}
.purpose-boundary{display:grid;gap:4px;max-width:700px;margin:14px 0 0;padding:11px 14px;border-left:3px solid var(--signal-yellow);background:var(--signal-warm)}
.purpose-boundary strong{color:var(--signal-ink);font-size:12px;line-height:1.55}
.purpose-boundary span{color:var(--signal-muted);font-size:14px;line-height:1.65}
.video-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 21px;border-radius:9px;font-weight:900;text-align:center;text-decoration:none;transition:transform .15s,background .15s}
.video-action:hover,.secondary-action:hover{text-decoration:none;transform:translateY(-1px)}
/* z-index:0 = 지도 카드에 자기 스택 컨텍스트를 만든다. 없으면 Leaflet 내부 패널의
   z-index:400이 그대로 최상위로 올라가 헤더(z-index:100) 위를 덮는다. */
.purpose-map{grid-area:map;position:sticky;top:86px;z-index:0;scroll-margin-top:74px;padding:24px;border-radius:24px;background:#0c3448;color:#fff;box-shadow:0 30px 65px rgba(11,52,72,.2)}
.map-status{display:flex;align-items:center;gap:8px;margin-bottom:18px;color:#cae0e9;font-size:13px;font-weight:800}
.map-status #mapStatus{flex:1;min-width:0}
.weather-refresh{flex:0 0 auto;min-height:38px;padding:6px 11px;border:1px solid #78e5f4;border-radius:9px;background:#0b9fc0;color:#fff;font:inherit;font-size:12px;font-weight:900;box-shadow:0 4px 13px rgba(2,156,190,.3);cursor:pointer}
.weather-refresh:hover{background:#0bafd1}
.weather-refresh span{display:inline-block;margin-right:2px;font-size:17px;line-height:0;vertical-align:-2px}
.weather-refresh:disabled{cursor:wait;opacity:.72}
.weather-refresh.is-loading span{animation:weather-refresh-spin .8s linear infinite}
@keyframes weather-refresh-spin{to{transform:rotate(360deg)}}
.status-dot{width:8px;height:8px;border-radius:50%;background:#56d6b0;box-shadow:0 0 0 5px rgba(86,214,176,.12)}
.radar-view-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:12px;padding:4px;border:1px solid rgba(198,220,229,.2);border-radius:11px;background:rgba(4,35,49,.45)}
.radar-view-tabs button{min-height:42px;border:0;border-radius:8px;background:transparent;color:#bcd4de;font:inherit;font-size:13px;font-weight:900;cursor:pointer}
.radar-view-tabs button[aria-selected="true"]{background:#fff;color:var(--signal-deep);box-shadow:0 3px 10px rgba(0,0,0,.18)}
#heroLightningTab[aria-selected="true"]{background:#ffd34f;color:#173346;box-shadow:0 4px 14px rgba(255,211,79,.32)}
/* 실제 레이더 지도 (비구름 + 핑 + 타임바). 레이더 페이지와 같은 조작 지원 */
.hero-map-wrap{position:relative}
#heroMap{height:420px;border:1px solid rgba(207,232,242,.14);border-radius:17px;background:#dfe8f0;overflow:hidden}
#heroMap.leaflet-container{font:inherit}
#heroMap .leaflet-tile-pane{filter:saturate(.75)}
.hero-base{position:absolute;top:9px;right:9px;z-index:500;display:flex;gap:3px;
  background:rgba(255,255,255,.92);border:1px solid var(--signal-line);border-radius:9px;padding:3px;
  box-shadow:0 2px 8px rgba(0,0,0,.16)}
.hero-base button{border:0;background:transparent;font:inherit;font-size:11.5px;font-weight:800;
  color:var(--signal-muted);padding:4px 8px;border-radius:6px;cursor:pointer;white-space:nowrap}
.hero-base button[aria-pressed="true"]{background:var(--signal);color:#fff}
.hero-lightning-viewport{position:absolute;left:50%;bottom:10px;z-index:500;max-width:calc(100% - 24px);min-height:38px;padding:8px 13px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(7,54,73,.94);color:#fff;font:inherit;font-size:12px;font-weight:900;white-space:nowrap;box-shadow:0 3px 12px rgba(2,28,40,.32);transform:translateX(-50%);cursor:pointer}
.hero-lightning-viewport[hidden]{display:none}
.hero-lightning-viewport:active{transform:translateX(-50%) translateY(1px)}
.hero-location-pin{position:relative;width:30px;height:30px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--signal);box-shadow:0 4px 10px rgba(6,62,91,.34);transform:rotate(-45deg)}
.hero-location-pin span{position:absolute;top:7px;left:7px;width:10px;height:10px;border-radius:50%;background:#fff}
.range-distance-label{padding:3px 6px;border:2px solid #fff;border-radius:8px;color:#fff;font-size:10px;font-weight:900;line-height:1;box-shadow:0 2px 7px rgba(11,52,72,.3);white-space:nowrap;transform:scale(var(--range-label-scale,1));transition:transform .16s ease}
.range-distance-label.range-50{background:#007f95;transform-origin:left bottom}.range-distance-label.range-30{background:#df5b1d;transform-origin:left top}
.hero-bolt{position:relative;width:30px;height:34px;color:#fff;filter:drop-shadow(0 2px 3px rgba(5,31,43,.75))}
.hero-bolt::before,.hero-bolt::after{content:"";position:absolute;clip-path:polygon(42% 0,88% 0,64% 36%,91% 36%,28% 100%,42% 59%,10% 59%)}
.hero-bolt::before{inset:-2px;background:#fff}
.hero-bolt::after{inset:2px;background:currentColor}
.hero-bolt.age-0{color:#ef2638;filter:drop-shadow(0 0 5px rgba(239,38,56,.92)) drop-shadow(0 2px 3px rgba(5,31,43,.7));transform-origin:center;animation:recent-bolt-pulse 1.15s ease-in-out infinite}
.hero-bolt.age-1{color:#ff7a1a}.hero-bolt.age-2{color:#ffd23f}.hero-bolt.age-3{color:#35b56a}.hero-bolt.age-4{color:#238ae6}.hero-bolt.age-5{color:#7757c8}
@keyframes recent-bolt-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.55}}
@media(prefers-reduced-motion:reduce){.hero-bolt.age-0{animation:none}}
.lightning-age-legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:11px;color:#c6dce5;font-size:11.5px}
.lightning-age-legend span{display:inline-flex;align-items:center;gap:5px}
.lightning-age-legend i{position:relative;display:inline-block;width:13px;height:17px}
.lightning-age-legend i::before,.lightning-age-legend i::after{content:"";position:absolute;clip-path:polygon(42% 0,88% 0,64% 36%,91% 36%,28% 100%,42% 59%,10% 59%)}
.lightning-age-legend i::before{inset:-1px;background:#fff}
.lightning-age-legend i::after{inset:1px;background:currentColor}
.lightning-age-legend .age-0{color:#ef3340}.lightning-age-legend .age-1{color:#ff7a1a}.lightning-age-legend .age-2{color:#ffd23f}.lightning-age-legend .age-3{color:#35b56a}.lightning-age-legend .age-4{color:#238ae6}.lightning-age-legend .age-5{color:#7757c8}
.hero-lightning-status{margin:8px 0 0!important;color:#d8e8ee!important;font-size:12px!important;line-height:1.55}

.hero-tl{display:flex;align-items:center;gap:10px;margin-top:13px}
.hero-play{flex:0 0 auto;width:38px;height:38px;border:0;border-radius:50%;background:var(--signal);color:#fff;font-size:13px;cursor:pointer;display:grid;place-items:center}
.hero-play:active{transform:translateY(1px)}
#heroRange,#heroLightningRange{flex:1;min-width:0;accent-color:#6fd8ea;cursor:pointer;margin:0}
.hero-time{flex:0 0 auto;min-width:104px;text-align:right;color:#e8f4f8;font-size:12.5px;font-weight:800}
.hero-kind{margin:7px 0 0!important;color:#9dc3d2!important;font-size:11.5px!important;line-height:1.55}
.hero-kind b{color:#8fe0f2}
@media(max-width:620px){ #heroMap{height:320px} .hero-time{min-width:88px;font-size:11.5px} }
/* 소리 적응 확인 (선택 안내) */
.check-section{scroll-margin-top:62px;background:#fff}
.check-card{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--signal-line);border-radius:20px;background:var(--signal-line);box-shadow:0 18px 45px rgba(17,60,80,.08);overflow:hidden}
.check-instructions,.check-decision{padding:34px;background:#fff}
.check-card h3{margin-bottom:18px;font-size:20px;line-height:1.4}
.check-instructions ol{margin:0 0 23px;padding-left:22px;color:var(--signal-ink)}
.check-instructions li{margin:9px 0;line-height:1.65}
.video-action{width:100%;background:#17394a;color:#fff}
.video-action:hover{background:#0b2938}
.video-action span{margin-left:7px;font-size:18px}
.check-decision{background:var(--signal-bg)}
.decision-button{width:100%;min-height:54px;margin-bottom:10px;padding:12px 15px;border-radius:9px;background:#fff;font:inherit;font-size:15px;font-weight:900;cursor:pointer}
.decision-button.safe{border:2px solid var(--signal);color:var(--signal-deep)}
.decision-button.safe:hover{background:#e8f5fa}
.decision-button.stop{border:1px solid #cfb2ac;color:var(--signal-stop)}
.decision-button.stop:hover{background:#fff5f2}
.check-fine{margin:12px 0 0;font-size:12px;line-height:1.65}
.stop-message{max-width:760px;margin-top:18px;padding:19px 21px;border:1px solid #dab7b0;border-radius:12px;background:#fff5f2;color:var(--signal-stop)}
.stop-message strong{font-size:17px}.stop-message p{margin:5px 0 12px;color:#785a54;line-height:1.65}
.stop-message button{padding:0;border:0;background:none;color:var(--signal-stop);font:inherit;font-weight:900;text-decoration:underline;cursor:pointer}

/* 알림 설정 (주 행동) */
.boundary-section{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:40px;align-items:center;padding-top:52px;padding-bottom:52px;background:#fff;border-bottom:1px solid var(--signal-line)}
.boundary-section .purpose-boundary{margin-bottom:0}
.boundary-section .device-guide{margin-top:0}
.device-guide{display:grid;gap:8px;margin-top:25px}
.device-guide>div{display:grid;grid-template-columns:105px 1fr;gap:10px;padding:13px 15px;border:1px solid var(--signal-line);border-radius:10px;background:rgba(255,255,255,.66)}
.device-guide strong{font-size:13px}.device-guide span{color:var(--signal-muted);font-size:12px;line-height:1.6}
.device-guide .current-device{border-color:var(--signal);background:#fff}
.signup-panel{grid-area:signup;position:relative;scroll-margin-top:74px;padding:24px;border:1px solid var(--signal-line);border-radius:18px;background:#fff;box-shadow:0 20px 50px rgba(25,70,91,.1);overflow:hidden}
.field{margin-bottom:15px}
.field label{display:block;margin-bottom:8px;color:var(--signal-ink);font-size:14px;font-weight:900}
.field label span{color:var(--signal-muted);font-weight:500}
.field input[type=text]{width:100%;padding:14px;border:1px solid #b9ced7;border-radius:9px;background:#fff;color:var(--signal-ink);font:inherit;font-size:16px;outline:none}
.field input[type=text]:focus{border-color:var(--signal);box-shadow:0 0 0 3px rgba(8,127,186,.1)}
.geo-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:52px;padding:14px;border:1px solid var(--signal);border-radius:9px;background:#f1f8fd;color:var(--signal);font:inherit;font-size:15px;font-weight:900;cursor:pointer}
.geo-btn:hover{background:#e4f2fb}
.geo-btn:disabled,.geo-btn.is-loading{border-color:#b9ced7;background:#f3f6f8;color:#8ba1ab;cursor:wait}
.geo-status{margin:8px 2px 0!important;color:#527066!important;font-size:12px!important;line-height:1.55!important}
.geo-status.is-error{color:#a13f32!important}
.or-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:14px 0 10px;color:#8ba1ab;font-size:11.5px;font-weight:700}
.or-divider::before,.or-divider::after{content:"";height:1px;background:var(--signal-line)}
.addr-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.addr-btn{min-width:72px;border:0;border-radius:9px;background:var(--signal);color:#fff;font:inherit;font-weight:900;cursor:pointer}
.address-hint{display:grid;gap:1px;margin:7px 2px 0!important;font-size:11.5px!important;line-height:1.5!important}.address-hint small{color:#78909b;font-size:10.5px}.field.has-location .address-hint{display:none}
.loc-result{display:none;align-items:center;gap:8px;margin-top:10px;padding:11px 13px;border-radius:9px;background:#e7f6ef;color:#17664c;font-size:13px;font-weight:800}.loc-result.show{display:flex}
.check-dot{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#239c72;color:#fff;font-size:12px}
.inline-subscription-status{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin:14px -5px 16px;padding:14px;border:1px solid #b9decf;border-radius:10px;background:#effaf5}
.inline-subscription-status>div{display:grid;gap:3px;min-width:0}.inline-subscription-status strong{color:#17664c;font-size:13px}.inline-subscription-status strong span{display:inline-block;width:8px;height:8px;margin-right:3px;border-radius:50%;background:#21a06f;box-shadow:0 0 0 4px rgba(33,160,111,.12)}
.inline-subscription-status small{overflow:hidden;color:#527066;font-size:11px;line-height:1.5;text-overflow:ellipsis}.inline-subscription-status button{min-height:38px;padding:7px 11px;border:1px solid #d3a39c;border-radius:8px;background:#fff;color:#a13f32;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
button.cta{width:100%;min-height:58px;border:0;border-radius:9px;background:#c74736;color:#fff;font:inherit;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px rgba(199,71,54,.2)}button.cta:disabled{background:#afc1c9;box-shadow:none;cursor:not-allowed}
.cta-note{margin:7px 0 0!important;color:#7b8e97!important;font-size:11px!important;text-align:center}
.success{display:none;padding:25px 0;text-align:center}.success.show{display:block}.success-symbol{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:50%;background:#daf2e9;color:#167d5c;font-size:28px;font-weight:900}.success h2{margin-bottom:8px}.success p{line-height:1.7}.secondary-action{margin-top:10px;border:1px solid var(--signal);color:var(--signal);background:#fff}
.walk-weather-panel{margin-bottom:12px;padding:15px;border:1px solid rgba(117,201,222,.28);border-radius:12px;background:rgba(6,43,59,.7)}.walk-weather-panel>span{display:block;margin-bottom:5px;color:#7ed7e8;font-size:10.5px;font-weight:900}.walk-weather-panel>strong{display:block;font-size:16px;line-height:1.45}.walk-weather-panel>p{margin:5px 0 11px!important;color:#c8dce4!important;font-size:12px!important;line-height:1.55}.walk-weather-panel>small{display:block;margin-top:9px;color:#91afbb;font-size:9.5px}.walk-weather-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.walk-weather-timeline span{display:grid;gap:2px;padding:7px 3px;border-radius:7px;background:rgba(255,255,255,.08);color:#dcebf0;font-size:10px;text-align:center}.walk-weather-timeline span b{font-size:11px}.walk-weather-timeline span.rain{background:rgba(87,176,207,.22);color:#8ee1f0}.walk-weather-timeline span.dry{color:#b9d6c8}

/* 설명과 결과 */
.how-section{background:#0d3549;color:#fff}.how-section .section-heading h2{color:#fff}.how-section .step-label{color:#6fd1e3!important}
.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0;padding:0;border:1px solid rgba(202,229,239,.16);border-radius:17px;background:rgba(202,229,239,.16);list-style:none;overflow:hidden}
.process-list li{display:grid;grid-template-columns:36px 1fr;gap:10px;align-content:start;padding:24px 20px;background:#0d3549}
.process-list>li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--signal-yellow);color:#173746;font-size:13px;font-weight:900}
.process-list b{display:block;margin:4px 0 8px;color:#fff;font-size:16px}.process-list p{margin:0;color:#b9d2db;font-size:13px;line-height:1.7}
.result-section{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;background:#fff}
.result-copy h2{margin-bottom:20px;font-size:clamp(34px,5vw,52px);line-height:1.22;letter-spacing:-.045em}.result-copy>p:not(.step-label){font-size:16px;line-height:1.85}
.personal-note{padding:14px 16px;border-left:3px solid var(--signal-yellow);background:var(--signal-warm);font-size:13px!important}
.result-contrast{display:grid;gap:10px}.result-contrast>div{padding:22px;border:1px solid var(--signal-line);border-radius:13px;background:var(--signal-bg)}.result-contrast span{display:block;margin-bottom:6px;color:var(--signal);font-size:11px;font-weight:900}.result-contrast strong{display:block;margin-bottom:6px;font-size:18px}.result-contrast p{margin:0;font-size:13px;line-height:1.65}
.more-section{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#edf5f7}.more-section a{display:grid;gap:8px;padding:28px;border:1px solid var(--signal-line);border-radius:14px;background:#fff;color:var(--signal-ink)}.more-section a:hover{text-decoration:none;border-color:#8fbccc}.more-section span{color:var(--signal);font-size:12px;font-weight:900}.more-section b{font-size:18px;line-height:1.5}
.content-discovery{padding:54px max(22px,calc((100vw - 1120px)/2));background:#edf5f7;border-top:1px solid var(--signal-line)}
.content-discovery-heading{margin-bottom:17px}.content-discovery-heading h2{margin:0;font-size:24px;line-height:1.3;letter-spacing:-.035em}
.content-discovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.discovery-card{display:grid;gap:11px;padding:22px 20px;border:1px solid var(--signal-line);border-radius:14px;background:#fff;color:var(--signal-ink);box-shadow:0 8px 22px rgba(25,70,91,.06)}.discovery-card.sound-link{border-top:3px solid var(--signal-yellow)}
.discovery-kicker{margin:0!important;color:var(--signal);font-size:11px!important;font-weight:900}
.discovery-card h3{margin:0;font-size:17px;line-height:1.45;letter-spacing:-.02em}
.discovery-card p{margin:0!important;font-size:13px!important;line-height:1.7!important}
.discovery-card blockquote{margin:0;padding:12px 14px;border-left:3px solid var(--signal);border-radius:0 8px 8px 0;background:#f1f8fd;color:var(--signal-ink);font-size:13.5px;font-weight:800;line-height:1.6}
.discovery-note{padding:12px 14px;border-radius:9px;background:#fdf6e6;color:#6b5518!important;font-size:12px!important;line-height:1.65!important}.discovery-note strong{color:#8a6a12}
.discovery-card>a{font-size:13px;font-weight:900}
.landing-body .site-footer{margin-top:0}
.landing-body .site-header .inner{max-width:1120px}

.toast{position:fixed;left:50%;bottom:28px;z-index:300;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:10px;background:#102c3b;color:#fff;font-size:13px;opacity:0;pointer-events:none;transform:translate(-50%,15px);transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}

/* 알림 권한을 요청하기 전에 이유와 기기별 절차를 설명하는 바텀시트 */
.notify-sheet{position:fixed;inset:0;z-index:500;display:grid;align-items:end;justify-items:center}
.notify-sheet-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(7,35,50,.56);cursor:pointer}
.notify-sheet-card{position:relative;width:min(520px,100%);max-height:calc(100dvh - 24px);padding:28px 26px calc(26px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#fff;box-shadow:0 -18px 50px rgba(7,35,50,.22);overflow:auto}
.notify-sheet-close{position:absolute;top:13px;right:15px;width:38px;height:38px;border:0;border-radius:50%;background:#eef4f6;color:#335463;font-size:25px;line-height:1;cursor:pointer}
.notify-sheet-kicker{margin:0 42px 7px 0!important;color:#c74736!important;font-size:13px!important;font-weight:900}
.notify-sheet-card h2{margin:0 42px 8px 0;font-size:25px;line-height:1.3}
.notify-sheet-card>p:not(.notify-sheet-kicker){margin-bottom:19px;font-size:14px;line-height:1.7}
.notify-guide{padding:17px;border:1px solid #edc2bc;border-radius:13px;background:#fff8f6}
.notify-guide>strong{display:block;margin-bottom:10px;color:#6b2f28;font-size:15px}
.notify-guide ol{margin:0 0 17px;padding-left:22px;color:#3a4f59;font-size:14px;line-height:1.75}
.allow-notify,.notify-later{width:100%;min-height:54px;border:0;border-radius:9px;font:inherit;font-weight:900;cursor:pointer}
.allow-notify{background:#c74736;color:#fff}.allow-notify:disabled{background:#b7c4ca}
.notify-later{border:1px solid #bdcfd6;background:#fff;color:#405b67}
.notify-guide-switch{display:block;width:100%;margin-top:13px;padding:7px;border:0;background:transparent;color:#7b4038;font:inherit;font-size:13px;font-weight:800;text-decoration:underline;cursor:pointer}

@media(max-width:900px){
  .section-pad{padding-top:76px;padding-bottom:76px}
  .purpose-hero{grid-template-columns:1fr;grid-template-areas:"copy" "map" "signup";gap:32px;min-height:0;padding-top:48px;padding-bottom:64px}
  /* static이면 위 스택 컨텍스트가 풀려 지도가 헤더를 덮는다.
     단 relative에선 기본 규칙의 top:86px가 살아나 지도가 아래로 밀리므로 top:auto 필수 */
  .purpose-map{position:relative;top:auto;z-index:0;max-width:620px;width:100%}
  .check-card,.boundary-section,.result-section{grid-template-columns:1fr;gap:34px}
  .process-list{grid-template-columns:1fr 1fr}
}

@media(max-width:620px){
  .section-pad{padding:64px 18px}
  .purpose-hero{gap:26px;padding:38px 18px 54px}
  .purpose-copy h1{font-size:36px;line-height:1.15}
  .purpose-lead{font-size:15px;line-height:1.7}
  .purpose-boundary{padding:14px}
  .purpose-map{padding:16px;border-radius:17px}
  .map-radar{height:260px}.ring-a{width:120px;height:120px}.ring-b{width:230px;height:230px}
  .section-heading h2,.signup-intro h2,.result-copy h2{font-size:32px;line-height:1.27}
  .section-heading>p:last-child,.signup-intro>p:not(.step-label){font-size:15px}
  .check-card{gap:1px;border-radius:15px}
  .check-instructions,.check-decision,.signup-panel{padding:23px 20px}
  .device-guide>div{grid-template-columns:1fr;gap:3px}
  .geo-btn{min-height:56px}
  .or-divider{margin:13px 0 9px}
  .addr-row{grid-template-columns:1fr 68px}
  .process-list{grid-template-columns:1fr}
  .process-list li{padding:20px}
  .result-section{gap:36px}
  .more-section{grid-template-columns:1fr}
  .more-section a{padding:23px}
  .content-discovery{padding:40px 18px}.content-discovery-heading{display:grid;gap:2px;margin-bottom:13px}.content-discovery-heading h2{font-size:21px}.content-discovery-grid{grid-template-columns:1fr;gap:9px}.discovery-card{padding:19px 18px}.discovery-card h3{font-size:16px}
  .notify-sheet-card{padding:25px 20px calc(22px + env(safe-area-inset-bottom))}
}
