/* 三島市がけ条例ストーリー（index.html 専用） */
.onboard-story-link{
  width:100%;margin:9px 0 0;padding:7px 8px 1px;border:0;border-top:1px solid var(--line);
  background:transparent;color:var(--cta);font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;
}
.onboard-story-link span{display:inline-block;margin-right:5px;font-size:9px}
.onboard-story-link:hover{color:var(--cta-hover)}
.onboard-card.map-mode .onboard-story-link{display:none}

body.story-open{overflow:hidden}
.story-overlay{
  position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;
  padding:18px;background:
    radial-gradient(circle at 75% 24%,rgba(186,48,42,.22),transparent 32%),
    linear-gradient(110deg,rgba(15,24,28,.82),rgba(28,31,31,.66));
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
}
.story-overlay[hidden]{display:none!important}
.story-shell{
  position:relative;width:min(1080px,100%);height:min(720px,calc(100dvh - 36px));min-height:580px;
  overflow:hidden;border:1px solid rgba(255,255,255,.62);border-radius:22px;background:rgba(250,252,248,.97);
  box-shadow:0 28px 90px rgba(0,0,0,.42);
}
.story-topbar{
  position:absolute;z-index:5;left:0;right:0;top:0;height:68px;display:flex;align-items:center;
  gap:18px;padding:0 20px;border-bottom:1px solid rgba(42,54,59,.1);background:rgba(255,255,255,.94);
}
.story-brand{display:flex;align-items:center;gap:10px;min-width:210px}
.story-brand-mark{
  display:grid;place-items:center;width:38px;height:38px;border:2px solid #92383b;border-radius:10px;
  color:#92383b;background:#fff7f5;font-size:16px;font-weight:900;
}
.story-brand b{display:block;font-size:13.5px;color:var(--ink)}
.story-brand small{display:block;margin-top:1px;color:var(--mut);font-size:10.5px}
.story-progress{display:flex;align-items:center;gap:11px;margin-left:auto}
.story-progress>span{font-size:10.5px;font-weight:800;letter-spacing:.08em;color:var(--mut)}
.story-dots{display:flex;gap:5px}
.story-dots i{display:block;width:22px;height:4px;border-radius:2px;background:#dbe0e1;transition:background .2s}
.story-dots i.active{background:#9c383b}
.story-skip{
  border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink);
  padding:8px 14px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;
}
.story-skip:hover{border-color:var(--cta);color:var(--cta)}
.story-close{
  display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;
  background:var(--surface-2);color:var(--mut);font-size:15px;cursor:pointer;
}
.story-close:hover{color:var(--ink)}

.story-stage{height:100%;min-height:0;padding:68px 0 70px}
.story-step{
  display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);height:100%;min-height:0;
  animation:storyStepIn .32s ease both;
}
.story-step[hidden]{display:none!important}
@keyframes storyStepIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}
.story-copy{
  display:flex;min-width:0;min-height:0;flex-direction:column;justify-content:flex-start;overflow-y:auto;
  padding:34px 44px 30px 48px;line-break:strict;word-break:normal;overscroll-behavior:contain;
  scroll-padding-block:24px;
  scrollbar-width:thin;scrollbar-color:rgba(42,54,59,.2) transparent;
}
.story-kicker{
  align-self:flex-start;margin-bottom:14px;padding:5px 10px;border-radius:999px;background:#f9e9e5;
  color:#8d3337;font-size:10.5px;font-weight:900;letter-spacing:.08em;
}
.story-copy h2{
  margin:0 0 18px;color:#1e292d;font-size:clamp(26px,3.5vw,43px);font-weight:900;
  line-height:1.34;letter-spacing:.01em;
}
.story-reason-title span{display:block;max-width:100%}
.story-copy h2 em{color:#9c383b;font-style:normal}
.story-copy>p{margin:0 0 11px;color:#445258;font-size:14px;line-height:1.82;text-wrap:pretty}
.story-copy strong{color:#913438}
.story-copy blockquote{
  position:relative;margin:8px 0 0;padding:14px 16px 13px 18px;border-left:4px solid #9c383b;
  border-radius:0 10px 10px 0;background:#fff5f1;color:#343f43;
}
.story-copy blockquote p{margin:0;font-size:13px;line-height:1.78;text-wrap:pretty}
.story-copy blockquote cite{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:8px;color:#7a6764;font-size:10.5px;font-style:normal;font-weight:700}
.story-note{
  margin-top:13px!important;padding:10px 12px;border-radius:9px;background:#f2f4f2;
  color:#68757a!important;font-size:11px!important;line-height:1.65!important;
}
.story-making-note{
  padding:9px 11px;border-radius:9px;background:#fff5f1;color:#685452!important;
  font-size:10.8px!important;line-height:1.62!important;
}
.story-making-note b{color:#913438}

.story-visual{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;padding:34px 32px;color:#fff;background:
    radial-gradient(circle at 70% 20%,rgba(217,109,79,.32),transparent 34%),
    linear-gradient(145deg,#303f42,#172327);
}
.story-visual::before{
  content:"";position:absolute;inset:0;opacity:.12;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);
  background-size:32px 32px;
}
.story-visual-caption{
  position:relative;z-index:2;width:min(420px,100%);margin-top:24px;padding:13px 15px;border-radius:12px;
  background:rgba(11,19,22,.66);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(5px);
}
.story-visual-caption b{display:block;font-size:12.5px;line-height:1.55}
.story-visual-caption span{display:block;margin-top:4px;color:#cbd7da;font-size:10.5px;line-height:1.55}

/* STEP 1：実際の解析画像で三島駅周辺と北東側を比較 */
.reason-map{
  position:relative;z-index:1;width:min(420px,100%);height:300px;margin:0;overflow:hidden;
  border:1px solid rgba(255,255,255,.2);border-radius:18px;background:#283436;
  box-shadow:0 16px 34px rgba(0,0,0,.24);
}
.reason-map img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;
  filter:saturate(.9) brightness(.78) contrast(1.12);
}
.reason-map-shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(13,24,27,.48) 0,rgba(13,24,27,.1) 42%,rgba(82,20,20,.06) 100%),
    linear-gradient(0deg,rgba(10,17,19,.4) 0,transparent 42%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.reason-legend,.reason-location,.reason-direction{position:absolute;z-index:2}
.reason-legend{
  left:12px;top:12px;padding:5px 8px;border:1px solid rgba(255,255,255,.28);border-radius:999px;
  color:#fff;background:rgba(12,20,22,.78);font-size:9px;font-weight:800;letter-spacing:.02em;
  box-shadow:0 3px 12px rgba(0,0,0,.22);backdrop-filter:blur(5px);
}
.reason-location{
  padding:8px 10px;border:1px solid rgba(255,255,255,.56);border-radius:10px;
  color:#253237;background:rgba(255,255,255,.94);line-height:1.25;box-shadow:0 5px 16px rgba(0,0,0,.3);
}
.reason-location b,.reason-location small{display:block;white-space:nowrap}
.reason-location b{font-size:11px}.reason-location small{margin-top:3px;color:#657175;font-size:8.5px;font-weight:700}
.reason-location-station{left:9%;bottom:15%}
.reason-location-hills{right:7%;top:15%;color:#923438}
.reason-location-hills small{color:#9c5550}
.reason-direction{
  left:35%;top:56%;width:36%;height:3px;border-radius:3px;background:#ffd690;
  transform:rotate(-27deg);transform-origin:left center;box-shadow:0 1px 4px rgba(0,0,0,.45);
}
.reason-direction::after{
  content:"";position:absolute;right:-4px;top:-5px;border-left:12px solid #ffd690;
  border-top:6px solid transparent;border-bottom:6px solid transparent;
}
.reason-direction i{position:absolute;left:-5px;top:-4px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#a72f35}
.reason-direction b{
  position:absolute;left:42%;top:-24px;padding:3px 7px;border-radius:999px;color:#4b3424;background:rgba(255,232,189,.94);
  font-size:8.5px;white-space:nowrap;transform:rotate(27deg);box-shadow:0 2px 7px rgba(0,0,0,.2);
}

/* STEP 2：高さ・勾配 */
.cliff-diagram{position:relative;z-index:1;width:min(430px,100%);height:300px;border-radius:18px;overflow:hidden;background:#b8d8e2}
.cliff-ground-shape{position:absolute;inset:0;background:linear-gradient(90deg,#9b6c4c,#a8734e);clip-path:polygon(0 76%,34% 76%,62% 28%,100% 28%,100% 100%,0 100%)}
.cliff-body-fill{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(236,112,124,.9),rgba(153,29,35,.96));clip-path:polygon(34% 76%,62% 28%,68% 28%,40% 76%)}
.cliff-surface{position:absolute;z-index:2;height:6px;border-radius:4px;background:#6f985b}
.cliff-surface-low{left:0;top:calc(76% - 3px);width:34%}
.cliff-surface-slope{left:34%;top:calc(76% - 3px);width:44%;height:8px;background:#a52e35;transform:rotate(-50deg);transform-origin:left center}
.cliff-surface-high{left:62%;right:0;top:calc(28% - 3px)}
.cliff-reference-line{position:absolute;z-index:3;left:34%;top:76%;width:66%;border-top:2px dashed rgba(255,255,255,.92);transform:rotate(-30deg);transform-origin:left}
.cliff-reference-label{position:absolute;z-index:4;left:41%;top:65%;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.94);color:#774842;font-size:9px;font-weight:800;transform:rotate(-30deg)}
.cliff-toe-point,.cliff-top-point{position:absolute;z-index:5;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#8d3035;transform:translate(-50%,-50%)}
.cliff-toe-point{left:34%;top:76%}.cliff-top-point{left:62%;top:28%}
.cliff-toe-label,.cliff-top-label{position:absolute;z-index:5;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.94);color:#4a565a;font-size:8.5px;font-weight:800;white-space:nowrap}
.cliff-toe-label{left:23%;top:80%}.cliff-top-label{left:57%;top:17%}
.cliff-height-guide{position:absolute;z-index:3;left:62%;width:10%;border-top:1px dashed rgba(255,255,255,.72)}
.cliff-height-guide-top{top:28%}.cliff-height-guide-bottom{left:34%;top:76%;width:36%}
.cliff-height-line{position:absolute;z-index:4;left:70%;top:28%;height:48%;border-left:2px solid #fff}
.cliff-height-line::before,.cliff-height-line::after{content:"";position:absolute;left:-5px;width:8px;height:8px;border-left:2px solid #fff;border-top:2px solid #fff}
.cliff-height-line::before{top:0;transform:rotate(45deg)}.cliff-height-line::after{bottom:0;transform:rotate(225deg)}
.cliff-height{position:absolute;z-index:5;left:73%;top:43%;color:#fff;font-size:10px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.45)}.cliff-height b{font-size:16px}
.cliff-body-label{position:absolute;z-index:5;left:41%;top:43%;padding:5px 8px;border:1px solid rgba(255,255,255,.5);border-radius:7px;background:#a52e35;color:#fff;font-size:10px;font-weight:900;white-space:nowrap;transform:rotate(-50deg);box-shadow:0 3px 10px rgba(89,18,23,.26)}

.story-keyfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:9px 0 3px}
.story-keyfacts span{padding:11px 6px;border:1px solid #ead8d2;border-radius:10px;background:#fff8f5;text-align:center}
.story-keyfacts b{display:block;color:#913438;font-size:18px}.story-keyfacts small{display:block;margin-top:2px;color:#7a6965;font-size:9.5px}

/* STEP 3：2H */
.story-example{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:8px 0;padding:11px 13px;border-radius:11px;background:#fff5ec;color:#70472e}
.story-example span{font-size:10px}.story-example b{font-size:17px}.story-example i{font-style:normal;color:#ad6a3f}.story-example small{width:100%;font-size:10px}
.twoh-diagram{position:relative;z-index:1;width:min(450px,100%);height:300px;overflow:hidden;border-radius:18px;background:#b9d6de}
.twoh-zone{
  position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;
  border:1px solid rgba(160,75,31,.45);background:rgba(232,143,91,.68);color:#65372d;text-align:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.twoh-zone b,.twoh-zone small{white-space:nowrap}.twoh-zone b{font-size:10px;line-height:1.2}.twoh-zone small{font-size:7.5px;font-weight:800;line-height:1.2}
.twoh-zone.below{left:6%;top:58%;width:38%;height:18%}.twoh-zone.above{left:62%;top:18%;width:20%;height:18%}
.twoh-ground-shape{position:absolute;z-index:2;inset:0;background:#9a6c4d;clip-path:polygon(0 76%,44% 76%,62% 36%,100% 36%,100% 100%,0 100%)}
.twoh-body-fill{position:absolute;z-index:3;inset:0;background:linear-gradient(90deg,rgba(236,112,124,.88),rgba(153,29,35,.95));clip-path:polygon(44% 76%,62% 36%,67% 36%,49% 76%)}
.twoh-surface{position:absolute;z-index:3;height:6px;border-radius:4px;background:#789b62}
.twoh-surface-low{left:0;top:calc(76% - 3px);width:44%}
.twoh-surface-slope{left:44%;top:calc(76% - 3px);width:32%;height:8px;background:#a52e35;transform:rotate(-56deg);transform-origin:left center}
.twoh-surface-high{left:62%;right:0;top:calc(36% - 3px)}
.twoh-body-label{position:absolute;z-index:5;left:47%;top:55%;padding:3px 6px;border:1px solid rgba(255,255,255,.46);border-radius:6px;background:#a52e35;color:#fff;font-size:8px;font-weight:900;white-space:nowrap;transform:rotate(-56deg);box-shadow:0 3px 9px rgba(89,18,23,.24)}
.twoh-height-guide{position:absolute;z-index:4;border-top:1px dashed rgba(255,255,255,.76)}
.twoh-height-guide-top{left:62%;top:36%;width:7%}.twoh-height-guide-bottom{left:44%;top:76%;width:25%}
.twoh-height{position:absolute;z-index:4;left:68%;top:36%;height:40%;border-left:2px solid #fff}
.twoh-height::before,.twoh-height::after{content:"";position:absolute;left:-5px;width:8px;height:8px;border-left:2px solid #fff;border-top:2px solid #fff}
.twoh-height::before{top:0;transform:rotate(45deg)}.twoh-height::after{bottom:0;transform:rotate(225deg)}
.twoh-h-label{position:absolute;z-index:5;left:71%;top:50%;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.twoh-h-label small,.twoh-h-label b{display:block}.twoh-h-label small{font-size:7.5px}.twoh-h-label b{font-size:16px;line-height:1}
.twoh-origin-guide{position:absolute;z-index:4;left:44%;top:76%;bottom:7%;border-left:1px dashed rgba(255,255,255,.82)}
.twoh-origin-point{position:absolute;z-index:6;left:44%;top:76%;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#8d3035;transform:translate(-50%,-50%)}
.twoh-origin-label{position:absolute;z-index:6;left:44%;top:79%;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.95);color:#713c39;font-size:8.5px;font-weight:900;white-space:nowrap;transform:translateX(-50%)}
.twoh-measure{position:absolute;z-index:5;bottom:8%;height:0;border-top:2px solid #ffe1a8}
.twoh-measure::before,.twoh-measure::after{content:"";position:absolute;top:-6px;height:10px;border-left:2px solid #ffe1a8}
.twoh-measure::before{left:0}.twoh-measure::after{right:0}
.twoh-measure.below{left:6%;width:38%}.twoh-measure.above{left:44%;width:38%}
.twoh-label{position:absolute;z-index:6;bottom:.5%;display:flex;align-items:baseline;gap:5px;color:#fff2d7;text-align:center;transform:translateX(-50%)}
.twoh-label small{font-size:7px;font-weight:800}.twoh-label b{font-size:14px;line-height:1}
.twoh-label.below{left:25%}.twoh-label.above{left:63%}

/* STEP 4：筆界 */
.story-can-cannot{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.story-can-cannot div{padding:11px;border-radius:10px;background:#eef5ed;color:#42514a}
.story-can-cannot div+div{background:#f3f1ed;color:#625d54}
.story-can-cannot b{display:block;margin-bottom:4px;font-size:11.5px}.story-can-cannot span{display:block;font-size:10px;line-height:1.55}
.parcel-diagram{
  position:relative;z-index:1;width:min(440px,100%);height:300px;margin:0;overflow:hidden;
  border:1px solid rgba(255,255,255,.24);border-radius:18px;background:#a59f98;
  box-shadow:0 16px 34px rgba(0,0,0,.24);
}
.parcel-diagram::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 -45px 42px -45px rgba(10,17,19,.62);
}
.parcel-diagram>img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;
  filter:saturate(.9) brightness(.88) contrast(1.08);
}
.parcel-result{
  position:absolute;z-index:3;left:12px;top:12px;width:205px;padding:10px 11px;border:1px solid rgba(31,49,57,.12);
  border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 7px 22px rgba(0,0,0,.24);
  color:#253236;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
}
.parcel-result-kicker{display:block;margin-bottom:4px;color:#1768b6;font-size:8px;font-weight:900;letter-spacing:.06em}
.parcel-result-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.parcel-result-title b{font-size:12px}.parcel-result-title small{color:#788589;font-size:8px;font-weight:700}
.parcel-result dl{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px 0 0}
.parcel-result dl div{padding:6px 7px;border:1px solid #d8e1d5;border-radius:7px;background:#f1f6ed}
.parcel-result dt{color:#68767a;font-size:7.5px}.parcel-result dd{margin:1px 0 0;color:#263438;font-size:11px;font-weight:900}
.parcel-result dl div+div dd{color:#a52d32}
.parcel-legend{
  position:absolute;z-index:3;right:12px;top:12px;display:grid;gap:5px;padding:7px 8px;
  border:1px solid rgba(255,255,255,.46);border-radius:9px;background:rgba(20,30,33,.76);
  box-shadow:0 5px 16px rgba(0,0,0,.22);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
}
.parcel-legend span{display:flex;align-items:center;gap:5px;color:#fff;font-size:7.5px;font-weight:800;white-space:nowrap}
.parcel-legend i{display:block;width:13px;height:7px;border-radius:2px}
.parcel-legend-selected{border:2px solid #1680ed;background:rgba(31,121,222,.24)}
.parcel-legend-range{background:rgba(224,145,101,.82)}
.parcel-legend-body{background:rgba(216,61,84,.88)}
.parcel-source{
  position:absolute;z-index:3;left:8px;bottom:7px;padding:3px 5px;border-radius:4px;
  color:rgba(255,255,255,.92);background:rgba(18,27,30,.6);font-size:6px;line-height:1.2;
}

/* STEP 5：検索 */
.story-final-actions{display:flex;gap:9px;margin:10px 0 14px}
.story-final-actions button{min-height:48px;border-radius:11px;padding:11px 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.story-final-primary{flex:1;border:1px solid var(--cta);background:var(--cta);color:#fff}
.story-final-primary:hover{background:var(--cta-hover)}
.story-final-secondary{flex:1;border:1px solid var(--line-2);background:#fff;color:var(--ink)}
.story-final-secondary:hover{border-color:var(--cta)}
.story-final-note{padding:12px 13px;border-radius:10px;background:#f2f4f2;font-size:11px!important;line-height:1.65!important}
.story-final-note b{color:var(--ink)}
.story-search-demo{position:relative;z-index:1;width:min(420px,100%);padding:24px;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 44px rgba(0,0,0,.25);color:#263438}
.story-search-label{display:block;margin-bottom:7px;color:#667479;font-size:10.5px;font-weight:800}
.story-search-field{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 7px 0 15px;border:2px solid #3cb1ff;border-radius:999px;background:#fff;box-shadow:0 0 0 4px rgba(60,177,255,.15);font-size:13px}
.story-search-field i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#3cb1ff;color:#fff;font-size:20px;font-style:normal}
.story-search-route{display:grid;grid-template-columns:1fr 18px 1fr 18px 1fr;align-items:center;margin:20px 0;color:#56666b;font-size:9.5px;font-weight:800;text-align:center}
.story-search-route i{height:2px;background:#bdc7c9}.story-search-route i::after{content:"›";display:block;margin-top:-11px;margin-left:7px;color:#879397;font-size:16px}
.story-search-result{padding:13px;border-radius:10px;background:#fff1ed;border-left:4px solid #9c383b}
.story-search-result b{display:block;color:#8e3237;font-size:13px}.story-search-result span{display:block;margin-top:3px;color:#625656;font-size:10px}

.story-nav{
  position:absolute;z-index:5;left:0;right:0;bottom:0;height:70px;display:flex;align-items:center;gap:12px;
  padding:0 20px;border-top:1px solid rgba(42,54,59,.1);background:rgba(255,255,255,.96);
}
.story-nav button{min-height:40px;border-radius:10px;padding:8px 14px;font:inherit;font-size:11.5px;font-weight:800;cursor:pointer}
.story-prev{border:1px solid var(--line-2);background:#fff;color:var(--ink)}
.story-prev:disabled{opacity:.38;cursor:default}
.story-next{margin-left:auto;min-width:235px;border:1px solid #913438;background:#913438;color:#fff}
.story-next:hover{background:#7e2b31}
.story-nav-note{margin-left:auto;color:var(--mut);font-size:9.5px}

/* SEO本文の作成理由 */
.seo-origin{margin:28px 0 34px;padding:22px 24px;border:1px solid #eadbd5;border-radius:14px;background:#fff8f5}
.seo-origin h2{margin:0 0 .65em!important}
.seo-origin blockquote{margin:16px 0 0;padding:15px 17px;border-left:4px solid #9c383b;background:#fff}
.seo-origin blockquote p{margin:0}
.seo-origin blockquote cite{display:block;margin-top:8px;color:var(--mut);font-size:12px;font-style:normal;font-weight:700}
.seo-story-cta{margin-top:16px;border:1px solid #913438;border-radius:10px;background:#913438;color:#fff;padding:11px 15px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.seo-story-cta:hover{background:#7e2b31}

@media(max-width:820px){
  .story-overlay{padding:0;align-items:stretch}
  .story-shell{width:100%;height:100dvh;min-height:0;border:0;border-radius:0}
  .story-topbar{height:58px;padding:0 10px;gap:8px}
  .story-brand{min-width:0}.story-brand-mark{width:33px;height:33px;font-size:14px}
  .story-brand b{font-size:11px}.story-brand small{display:none}
  .story-progress{gap:6px}.story-progress>span{font-size:9px}
  .story-dots i{width:10px;height:3px}
  .story-skip{padding:7px 10px;font-size:10px}
  .story-close{width:32px;height:32px}
  .story-stage{overflow-y:auto;padding:58px 0 64px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .story-step{display:flex;height:auto;min-height:100%;flex-direction:column}
  .story-copy{order:2;flex:none;overflow:visible;padding:22px 20px 26px}
  .story-visual{order:1;flex:0 0 clamp(210px,34dvh,300px);min-height:210px;padding:15px 20px}
  .story-visual-caption{position:absolute;left:14px;right:14px;bottom:10px;width:auto;margin:0;padding:8px 10px}
  .story-visual-caption b{font-size:10.5px}.story-visual-caption span{display:none}
  .story-copy h2{margin-bottom:13px;font-size:clamp(23px,7vw,32px)}
  .story-copy>p{font-size:12.5px;line-height:1.72}
  .story-copy blockquote{padding:11px 12px}.story-copy blockquote p{font-size:11.5px}
  .story-kicker{margin-bottom:10px}
  .reason-map,.cliff-diagram,.twoh-diagram,.parcel-diagram{height:100%;max-height:260px}
  .parcel-result{left:8px;top:8px;width:180px;padding:8px 9px}
  .parcel-result-title b{font-size:10.5px}.parcel-result dl{margin-top:6px}
  .parcel-result dl div{padding:4px 5px}.parcel-result dd{font-size:9.5px}
  .parcel-legend{right:8px;top:8px;padding:6px 7px}
  .reason-legend{left:8px;top:8px;font-size:8px}
  .reason-location{padding:6px 8px}
  .reason-location b{font-size:9.5px}.reason-location small{font-size:7.5px}
  .reason-location-station{left:5%;bottom:25%}
  .reason-location-hills{right:4%;top:12%}
  .reason-direction{left:34%;top:54%;width:35%}
  .story-search-demo{transform:scale(.82)}
  .story-nav{height:64px;padding:0 10px}.story-nav-note{display:none}
  .story-next{min-width:0;margin-left:auto}.story-nav button{font-size:10.5px}
}

@media(max-height:640px) and (min-width:821px){
  .story-shell{height:calc(100dvh - 20px);min-height:0}
  .story-stage{padding-top:60px;padding-bottom:58px}
  .story-topbar{height:60px}
  .story-nav{height:58px}
  .story-copy{justify-content:flex-start;padding-top:24px;padding-bottom:22px}
  .story-copy h2{font-size:28px}
  .story-copy>p{font-size:12.5px;line-height:1.65}
}

@media(max-width:480px){
  .story-copy{padding:17px 16px 22px}
  .story-copy h2{font-size:22px;line-height:1.35}
  .story-copy>p{font-size:11.7px;line-height:1.66;margin-bottom:8px}
  .story-copy blockquote p{font-size:10.8px;line-height:1.6}
  .story-copy blockquote cite{font-size:9.5px}
  .story-note{font-size:9.8px!important;padding:8px 9px}
  .story-keyfacts span{padding:7px 3px}.story-keyfacts b{font-size:15px}
  .story-can-cannot{grid-template-columns:1fr}.story-can-cannot div{padding:8px}
  .story-can-cannot span{font-size:9.3px}
  .story-final-actions{flex-direction:column;margin:8px 0}.story-final-actions button{min-height:42px}
  .story-final-note{font-size:9.8px!important}
  .story-brand-mark{display:none}
  .story-dots{display:none}
  .story-kicker-step{display:none}
  .story-skip{padding:6px 8px}
  .story-nav .story-prev{padding:8px 10px}
  .story-nav .story-next{padding:8px 10px}
  .seo-origin{padding:18px 16px}
}

@media(prefers-reduced-motion:reduce){
  .story-step{animation:none}
  .story-dots i{transition:none}
}
