:root {
  --ink:#10243b;
  --ink-soft:#31485f;
  --paper:#f3f0e8;
  --paper-bright:#fffdf8;
  --line:#c8c4b9;
  --orange:#e96224;
  --orange-dark:#ba4012;
  --blue:#dceaf1;
  --max:1240px;
}

* { box-sizing:border-box; }
html { max-width:100%; overflow-x:hidden; overflow-x:clip; scroll-behavior:smooth; scroll-padding-top:88px; }
body { min-width:0; max-width:100%; margin:0; overflow-x:hidden; overflow-x:clip; background:var(--paper); color:var(--ink); font-family:"Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif; font-feature-settings:"palt" 1; letter-spacing:.02em; }
img,picture { max-width:100%; }
a { color:inherit; text-decoration:none; }
.skip-link { position:fixed; z-index:100; left:12px; top:-80px; background:#fff; padding:12px 18px; border:2px solid var(--ink); }
.skip-link:focus { top:12px; }
:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }

.site-header { height:78px; padding:0 max(28px,calc((100vw - var(--max))/2)); display:flex; align-items:center; justify-content:space-between; background:rgba(243,240,232,.94); border-bottom:1px solid rgba(16,36,59,.35); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:11px; }
.brand-mark { width:36px; height:36px; display:grid; place-items:center; background:var(--ink); color:#fff; font:800 25px/1 Georgia,serif; transform:rotate(-4deg); }
.brand>span:last-child { display:grid; line-height:1; gap:5px; }
.brand b { font:800 21px/1 Arial,sans-serif; letter-spacing:-.03em; }
.brand small { font:700 9px/1 Arial,sans-serif; letter-spacing:.18em; color:var(--ink-soft); }
.site-header nav { display:flex; align-items:center; gap:30px; font-size:13px; font-weight:700; }
.site-header nav>a:not(.nav-cta) { padding:12px 0; border-bottom:1px solid transparent; }
.site-header nav>a:not(.nav-cta):hover { border-color:var(--ink); }
.nav-cta { display:flex; gap:24px; align-items:center; background:var(--orange); color:#fff; padding:14px 18px; }

.breadcrumb { max-width:var(--max); margin:0 auto; min-height:44px; padding:0 7%; display:flex; align-items:center; gap:10px; border-left:1px solid var(--line); border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:11px; }
.breadcrumb a { font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.breadcrumb span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.hero { min-height:740px; max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); border-left:1px solid var(--line); border-right:1px solid var(--line); position:relative; isolation:isolate; overflow:hidden; background:var(--paper-bright); }
.hero>* { min-width:0; }
.hero-visual { grid-column:2; grid-row:1; position:relative; z-index:0; display:block; min-height:740px; margin:0; overflow:hidden; border-left:1px solid var(--line); background:var(--paper); }
.hero-visual::after { content:none; }
.hero-visual img { width:100%; height:100%; display:block; object-fit:cover; object-position:72% center; }
.hero-grid { grid-column:1; grid-row:1; position:absolute; z-index:1; inset:0 50% 0 0; opacity:.27; pointer-events:none; background-image:linear-gradient(rgba(16,36,59,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(16,36,59,.09) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to right,#000 0,transparent 88%); }
.hero-copy { grid-column:1; grid-row:1; width:auto; max-width:none; padding:60px 6% 52px 9%; position:relative; z-index:2; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 28px; font-size:12px; font-weight:800; letter-spacing:.12em; color:var(--ink-soft); }
.eyebrow span { flex:0 0 36px; width:36px; height:3px; background:var(--orange); }
.hero h1 { margin:0; max-width:570px; }
.hero-service { display:block; margin-bottom:17px; font-size:clamp(18px,1.85vw,24px); line-height:1.5; letter-spacing:.01em; font-weight:850; }
.hero-catch { display:block; font-size:clamp(40px,3.7vw,48px); line-height:1.14; letter-spacing:-.055em; font-weight:850; }
.hero-catch em { color:var(--orange); font-style:normal; position:relative; }
.hero-catch em::after { content:""; position:absolute; left:0; right:0; bottom:-4px; height:7px; background:var(--orange); opacity:.22; transform:rotate(-1deg); }
.hero-main-hook { margin:23px 0 0; color:var(--orange-dark); font-size:clamp(18px,1.8vw,23px); line-height:1.5; font-weight:850; }
.hero-lead { margin:10px 0 0; max-width:560px; color:var(--ink-soft); font-size:15px; line-height:1.85; font-weight:550; }
.hero-rate { width:max-content; max-width:100%; margin-top:22px; padding:13px 16px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:4px 18px; border:1px solid rgba(16,36,59,.58); border-left:4px solid var(--orange); background:rgba(255,253,248,.9); box-shadow:5px 5px 0 rgba(16,36,59,.08); }
.hero-rate>span { grid-row:1/3; max-width:78px; color:var(--ink-soft); font-size:10px; line-height:1.45; font-weight:800; }
.hero-rate p { margin:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:5px; }
.hero-rate p strong { font:850 20px/1 Arial,sans-serif; }
.hero-rate p b { color:var(--orange-dark); font:850 24px/1 Arial,sans-serif; }
.hero-rate p small { font-size:9px; font-weight:800; }
.hero-rate em { font-style:normal; font-size:10px; font-weight:800; color:var(--ink-soft); }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:25px; }
.button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:30px; font-size:14px; font-weight:800; }
.button.primary { background:var(--ink); color:#fff; padding:0 22px 0 25px; min-width:218px; }
.button.primary:hover { background:var(--orange); }
.text-button { color:var(--ink); border-bottom:1px solid var(--ink); gap:8px; }
.hero-note { font-size:11px; color:#657381; margin-top:16px; }

.trust-strip { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); background:var(--ink); color:#fff; }
.trust-strip p { margin:0; min-height:86px; padding:21px 23px; display:grid; gap:7px; border-right:1px solid rgba(255,255,255,.28); font-size:13px; }
.trust-strip p:last-child { border-right:0; }
.trust-strip span { color:#8ca5b8; font:700 9px/1 Arial,sans-serif; letter-spacing:.18em; }
.trust-strip b { color:#fff; }

.section { max-width:var(--max); margin:0 auto; padding:112px 7%; border-left:1px solid var(--line); border-right:1px solid var(--line); }
.section-heading { margin-bottom:58px; display:grid; grid-template-columns:1fr .6fr; gap:60px; align-items:end; }
.section-heading .section-no { grid-column:1/-1; margin:0 0 -27px; }
.section-no { font:800 10px/1 Arial,sans-serif; letter-spacing:.18em; color:var(--orange-dark); }
.section-heading h2 { margin:0; font-size:clamp(36px,5vw,62px); line-height:1.2; letter-spacing:-.05em; }
.section-heading>p:last-child,.split-heading>p { margin:0 0 6px; font-size:15px; line-height:1.9; color:var(--ink-soft); }
.display-copy { display:inline-block; margin-bottom:7px; color:var(--ink); font-size:17px; }
.split-heading { grid-template-columns:1.2fr .8fr; }

.audience { background:var(--paper); }
.audience-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--ink); }
.audience-grid article { padding:44px 44px 48px; background:var(--paper-bright); }
.audience-grid article+article { border-left:1px solid var(--ink); }
.audience-grid .business-card { background:var(--blue); }
.audience-label { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:800; }
.audience-label span { font:800 10px/1 Arial,sans-serif; letter-spacing:.12em; color:#fff; background:var(--ink); padding:7px 8px; }
.audience-grid h3 { font-size:clamp(29px,3.1vw,43px); line-height:1.28; letter-spacing:-.04em; margin:38px 0 21px; }
.audience-grid article>p { min-height:94px; line-height:1.9; font-size:14px; color:var(--ink-soft); }
.audience-grid ul { list-style:none; padding:18px 0 0; margin:25px 0 0; border-top:1px solid var(--ink); }
.audience-grid li { padding:8px 0 8px 23px; position:relative; font-size:13px; font-weight:700; }
.audience-grid li::before { content:"+"; position:absolute; left:0; color:var(--orange); font:900 18px/1 Arial,sans-serif; }
.concern-ticker { margin-top:26px; display:grid; grid-template-columns:180px 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.concern-ticker>p { margin:0; padding:22px 0; font-size:12px; font-weight:800; display:grid; align-items:center; }
.concern-ticker>div { display:flex; flex-wrap:wrap; gap:8px; border-left:1px solid var(--line); padding:16px 0 16px 22px; }
.concern-ticker span { font-size:11px; background:#fff; border:1px solid var(--line); padding:7px 10px; }

.services { background:var(--paper-bright); }
.section-visual { width:100%; max-width:100%; min-width:0; margin:-13px 0 62px; border:1px solid var(--line); background:var(--paper); overflow:hidden; }
.visual-frame { width:100%; max-width:100%; min-width:0; overflow:hidden; background:var(--paper-bright); }
.section-visual img { width:100%; max-width:100%; height:auto; display:block; }
.section-visual figcaption { min-height:58px; margin:0; padding:14px 18px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--line); }
.section-visual figcaption span { flex:0 0 auto; color:var(--orange-dark); font:800 9px/1 Arial,sans-serif; letter-spacing:.17em; }
.section-visual figcaption p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.7; text-align:right; }
.service-list { border-top:2px solid var(--ink); }
.service-list article { min-height:192px; display:grid; grid-template-columns:70px 240px 1fr 190px; align-items:center; gap:24px; border-bottom:1px solid var(--ink); padding:30px 0; }
.service-no { font:800 25px/1 Arial,sans-serif; color:var(--orange); }
.service-title small { display:block; font-size:10px; font-weight:800; color:var(--ink-soft); margin-bottom:10px; }
.service-title h3 { margin:0; font-size:24px; letter-spacing:-.03em; }
.service-list article>p { margin:0; line-height:1.85; font-size:13px; color:var(--ink-soft); }
.tags { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.tags span { border:1px solid var(--line); padding:6px 8px; font-size:9px; font-weight:800; }

.pricing { background:var(--ink); color:#fff; }
.pricing .section-no { color:#ff9a69; }
.pricing .section-heading>p:last-child { color:#b9c7d2; }
.price-layout { display:grid; grid-template-columns:1.35fr .65fr; border:1px solid rgba(255,255,255,.7); }
.main-price-card { padding:42px; background:var(--paper); color:var(--ink); }
.price-card-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--ink); }
.price-card-top span,.price-side>article>span { font:800 9px/1 Arial,sans-serif; letter-spacing:.18em; color:var(--orange-dark); }
.price-card-top b { font-size:13px; }
.price-figure { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin:36px 0 20px; }
.price-figure strong { font:850 84px/.85 Arial,sans-serif; letter-spacing:-.08em; }
.price-figure b { margin-left:22px; font:850 48px/1 Arial,sans-serif; letter-spacing:-.06em; color:var(--orange); }
.price-figure span { font-size:13px; font-weight:800; }
.price-hook { display:inline-block; margin:0; padding:8px 10px; background:var(--blue); font-size:13px; font-weight:850; }
.mix-example { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-top:31px; padding-top:20px; border-top:1px solid var(--line); }
.mix-example span { padding:7px 9px; border:1px solid var(--ink); background:var(--paper-bright); font-size:11px; font-weight:750; }
.mix-example i { font-style:normal; color:var(--orange); font-weight:900; }
.price-side { display:grid; grid-template-rows:.7fr 1.3fr; }
.price-side article { padding:35px; border-left:1px solid rgba(255,255,255,.7); }
.price-side article+article { border-top:1px solid rgba(255,255,255,.7); }
.price-side h3 { margin:17px 0 12px; font-size:21px; }
.price-side p { margin:0; color:#c4d0da; font-size:11px; line-height:1.7; }
.price-side p strong { color:#fff; font:800 38px/1 Arial,sans-serif; margin-right:4px; }
.cost-note ul { list-style:none; padding:0; margin:17px 0; }
.cost-note li { position:relative; padding:6px 0 6px 18px; font-size:12px; }
.cost-note li::before { content:"+"; position:absolute; left:0; color:var(--orange); font-weight:900; }
.before-buying { display:grid; grid-template-columns:.82fr 1.18fr; column-gap:65px; row-gap:20px; margin-top:62px; padding-top:45px; border-top:1px solid rgba(255,255,255,.45); }
.before-buying .section-no { grid-column:1/-1; }
.before-buying h3 { margin:0; font-size:clamp(30px,4vw,49px); line-height:1.32; letter-spacing:-.04em; }
.before-buying>p:not(.section-no) { margin:4px 0 0; color:#c4d0da; font-size:14px; line-height:2; }
.before-items { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; padding-top:16px; }
.before-items span { border:1px solid rgba(255,255,255,.55); padding:8px 12px; font-size:11px; }

.process { background:var(--paper); }
.flow-visual { background:var(--paper-bright); }
.flow-list { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0; margin:0; border:1px solid var(--ink); }
.flow-list li { min-height:285px; padding:33px 29px; border-right:1px solid var(--ink); }
.flow-list li:last-child { border-right:0; }
.flow-list li>span { display:grid; width:38px; height:38px; place-items:center; background:var(--orange); color:#fff; font:800 16px/1 Arial,sans-serif; }
.flow-list h3 { margin:34px 0 17px; font-size:20px; }
.flow-list p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.85; }
.flow-cta { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:26px; padding:22px 0; border-bottom:1px solid var(--line); }
.flow-cta p { margin:0; color:var(--ink-soft); font-size:12px; }

.operator { background:var(--paper-bright); }
.operator-layout { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:end; }
.operator-title h2 { margin:28px 0 44px; font-size:clamp(38px,5vw,62px); line-height:1.2; letter-spacing:-.05em; }
.nameplate { max-width:420px; display:grid; grid-template-columns:1fr auto; align-items:end; gap:5px 18px; padding:19px 0; border-top:3px solid var(--ink); border-bottom:1px solid var(--ink); }
.nameplate span { font-size:11px; font-weight:800; }
.nameplate strong { grid-column:1; font-size:28px; letter-spacing:.09em; }
.nameplate small { grid-column:2; grid-row:2; font:700 9px/1 Arial,sans-serif; letter-spacing:.12em; }
.operator-copy blockquote { margin:0 0 30px; padding-left:25px; border-left:5px solid var(--orange); font-size:clamp(23px,2.5vw,34px); line-height:1.55; font-weight:800; letter-spacing:-.025em; }
.operator-copy p { margin:0; color:var(--ink-soft); font-size:14px; line-height:2; }
.credentials { display:grid; grid-template-columns:repeat(4,1fr); margin-top:72px; border:1px solid var(--ink); }
.credentials article { min-height:155px; padding:27px 25px; border-right:1px solid var(--ink); }
.credentials article:last-child { border-right:0; }
.credentials span { display:block; color:var(--orange-dark); font-size:10px; font-weight:800; margin-bottom:22px; }
.credentials strong { font-size:17px; line-height:1.55; }
.origin-note { margin:30px 0 0; padding:24px 0 0; border-top:1px solid var(--line); color:var(--ink-soft); font-size:13px; line-height:1.9; }
.origin-note a { color:var(--ink); font-weight:800; text-decoration:underline; text-decoration-color:var(--orange); text-decoration-thickness:2px; text-underline-offset:4px; }

.area { max-width:var(--max); margin:0 auto; background:var(--paper); padding:0 4%; }
.area-panel { display:grid; grid-template-columns:.8fr 1.2fr auto; gap:50px; align-items:center; padding:55px 4.5%; background:var(--orange); color:#fff; }
.area-panel .section-no { color:#fff; opacity:.75; }
.area-panel h2 { margin:17px 0 0; font-size:clamp(35px,4.3vw,55px); line-height:1.2; letter-spacing:-.05em; }
.area-copy p { margin:0 0 12px; font-size:14px; line-height:1.9; font-weight:700; }
.area-copy small { display:block; line-height:1.8; opacity:.82; }
.area-panel>a { min-width:215px; display:grid; grid-template-columns:auto 1fr; gap:5px 9px; align-items:center; padding:19px 22px; background:var(--ink); }
.area-panel>a>span:first-child { grid-row:1/3; font-size:22px; }
.area-panel>a span { font-size:10px; opacity:.84; }
.area-panel>a strong { font:800 17px/1 Arial,sans-serif; }

.faq { background:var(--paper); }
.faq-list { border-top:2px solid var(--ink); }
.faq-list details { border-bottom:1px solid var(--ink); }
.faq-list summary { display:grid; grid-template-columns:62px 1fr 28px; gap:18px; align-items:center; min-height:88px; cursor:pointer; list-style:none; font-size:16px; font-weight:800; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--orange-dark); font:800 12px/1 Arial,sans-serif; letter-spacing:.1em; }
.faq-list summary i { width:18px; height:18px; position:relative; transition:transform .2s ease; }
.faq-list summary i::before,.faq-list summary i::after { content:""; position:absolute; background:var(--ink); }
.faq-list summary i::before { width:18px; height:2px; top:8px; left:0; }
.faq-list summary i::after { width:2px; height:18px; top:0; left:8px; }
.faq-list details[open] summary i { transform:rotate(45deg); }
.faq-list details>p { margin:0; padding:0 46px 34px 80px; max-width:870px; color:var(--ink-soft); font-size:14px; line-height:2; }

.final-cta { max-width:var(--max); margin:0 auto; padding:105px 7% 115px; text-align:center; background:var(--paper-bright); border:1px solid var(--line); }
.final-cta h2 { margin:27px 0; font-size:clamp(42px,6vw,72px); line-height:1.22; letter-spacing:-.055em; }
.final-cta>p:not(.section-no) { margin:0; color:var(--ink-soft); line-height:2; }
.final-actions { display:flex; justify-content:center; align-items:center; gap:30px; margin-top:38px; }

footer { max-width:var(--max); min-height:165px; margin:0 auto; padding:40px 5%; display:grid; grid-template-columns:auto 1fr auto; gap:45px; align-items:center; background:var(--ink); color:#fff; }
footer>p { margin:0; color:#aebdca; font-size:12px; }
footer>div { display:flex; gap:20px; font-size:11px; font-weight:700; }
.footer-brand .brand-mark { background:var(--orange); }
.footer-brand small { color:#aebdca; }
.mobile-sticky { display:none; }

@media (max-width:1020px) {
  .site-header { padding:0 18px; height:68px; }
  .site-header nav>a:not(.nav-cta) { display:none; }
  .nav-cta { padding:12px 14px; gap:12px; }
  .breadcrumb { border-left:0; border-right:0; padding:0 7%; }
  .hero { min-height:auto; border:0; display:flex; flex-direction:column; }
  .hero-copy { order:1; width:100%; max-width:none; padding:62px 7% 48px; background:var(--paper-bright); }
  .hero-visual { position:relative; inset:auto; order:2; width:100%; min-height:0; aspect-ratio:1672/941; border-left:0; }
  .hero-visual::after,.hero-grid { display:none; }
  .hero-visual img { object-position:center; }
  .hero-catch { font-size:clamp(42px,9.4vw,62px); }
  .hero-lead { font-size:15px; line-height:1.9; }
  .trust-strip { grid-template-columns:1fr 1fr; }
  .trust-strip p:nth-child(2) { border-right:0; }
  .trust-strip p:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.28); }
  .section { padding:82px 7%; border:0; }
  .section-heading,.split-heading { grid-template-columns:1fr; gap:27px; }
  .section-heading .section-no { margin-bottom:-9px; }
  .section-visual figcaption { align-items:flex-start; flex-direction:column; gap:8px; }
  .section-visual figcaption p { text-align:left; }
  .audience-grid { grid-template-columns:1fr; }
  .audience-grid article+article { border-left:0; border-top:1px solid var(--ink); }
  .concern-ticker { grid-template-columns:1fr; }
  .concern-ticker>p { padding-bottom:10px; }
  .concern-ticker>div { border:0; padding:0 0 16px; }
  .service-list article { grid-template-columns:50px 1fr; gap:16px; padding:30px 0; }
  .service-list article>p,.tags { grid-column:2; }
  .tags { justify-content:flex-start; }
  .price-layout { grid-template-columns:1fr; }
  .price-side { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .price-side article { border-left:0; border-top:1px solid rgba(255,255,255,.7); }
  .price-side article+article { border-left:1px solid rgba(255,255,255,.7); }
  .before-buying { grid-template-columns:1fr; gap:20px; }
  .before-buying .section-no,.before-items { grid-column:auto; }
  .flow-list { grid-template-columns:1fr 1fr; }
  .flow-list li { border-bottom:1px solid var(--ink); }
  .flow-list li:nth-child(2) { border-right:0; }
  .flow-list li:nth-child(n+3) { border-bottom:0; }
  .operator-layout { grid-template-columns:1fr; gap:55px; }
  .credentials { grid-template-columns:1fr 1fr; }
  .credentials article:nth-child(2) { border-right:0; }
  .credentials article:nth-child(-n+2) { border-bottom:1px solid var(--ink); }
  .area { padding:0; }
  .area-panel { grid-template-columns:1fr 1fr; }
  .area-panel>a { grid-column:1/-1; width:max-content; }
  footer { grid-template-columns:1fr; gap:20px; }
  .desktop-only { display:none; }
}

@media (max-width:560px) {
  .brand small { display:none; }
  .hero-copy { padding-top:54px; }
  .hero-service { margin-bottom:14px; font-size:16px; }
  .hero-catch { font-size:39px; }
  .hero-main-hook { font-size:18px; }
  .hero-rate { width:100%; grid-template-columns:72px 1fr; gap:5px 12px; }
  .hero-rate p b { font-size:22px; }
  .eyebrow { line-height:1.6; align-items:flex-start; }
  .eyebrow span { margin-top:8px; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:9px; }
  .button { width:100%; }
  .text-button { border:1px solid var(--ink); }
  .trust-strip p { min-height:77px; padding:17px 15px; font-size:11px; }
  .section-heading h2 { font-size:38px; }
  .audience-grid article { padding:33px 25px 37px; }
  .audience-grid h3 { font-size:31px; }
  .audience-grid article>p { min-height:0; }
  .section-visual { margin-left:0; margin-right:0; }
  .section-visual figcaption { padding:15px; }
  .service-list article { grid-template-columns:40px 1fr; }
  .service-title h3 { font-size:21px; }
  .price-layout { margin-left:0; margin-right:0; }
  .main-price-card { padding:32px 7%; }
  .price-card-top { align-items:flex-start; gap:20px; }
  .price-figure strong { font-size:67px; }
  .price-figure b { margin-left:0; font-size:37px; }
  .price-side { grid-template-columns:1fr; }
  .price-side article+article { border-left:0; }
  .flow-list { grid-template-columns:1fr; }
  .flow-list li { min-height:0; border-right:0; border-bottom:1px solid var(--ink) !important; }
  .flow-list li:last-child { border-bottom:0 !important; }
  .flow-cta { align-items:stretch; flex-direction:column; }
  .nameplate { grid-template-columns:1fr; }
  .nameplate small { grid-column:1; grid-row:auto; }
  .credentials { grid-template-columns:1fr; }
  .credentials article { min-height:120px; border-right:0; border-bottom:1px solid var(--ink); }
  .credentials article:last-child { border-bottom:0; }
  .area-panel { grid-template-columns:1fr; gap:28px; padding:48px 7%; }
  .area-panel>a { grid-column:auto; width:100%; }
  .faq-list summary { grid-template-columns:42px 1fr 22px; gap:10px; font-size:14px; padding:17px 0; }
  .faq-list details>p { padding:0 0 28px 52px; font-size:13px; }
  .final-cta { padding:82px 7% 90px; border-left:0; border-right:0; }
  .final-cta h2 { font-size:40px; }
  .final-actions { align-items:stretch; flex-direction:column; gap:10px; }
  footer { padding-bottom:90px; }
  footer>div { flex-wrap:wrap; }
  .mobile-sticky { position:fixed; z-index:30; left:0; right:0; bottom:0; display:grid; grid-template-columns:.36fr .64fr; height:62px; background:#fff; border-top:1px solid var(--ink); }
  .mobile-sticky a { display:flex; justify-content:center; align-items:center; gap:7px; font-size:12px; font-weight:850; }
  .mobile-sticky a:last-child { background:var(--orange); color:#fff; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}
