:root {
    --ap-navy-950: #0b1f33;
    --ap-navy-900: #102a43;
    --ap-navy-800: #173f5f;
    --ap-blue-600: #2c6eaa;
    --ap-blue-100: #eaf4fb;
    --ap-ink: #172230;
    --ap-muted: #607080;
    --ap-line: #dbe5ec;
    --ap-paper: #ffffff;
    --ap-canvas: #f3f7fa;
    --ap-cream: #fbf7ec;
    --ap-amber-700: #a85a00;
    --ap-amber-100: #fff4dc;
    --ap-red-700: #b42318;
    --ap-red-100: #fff0ee;
    --ap-green-700: #147a4b;
    --ap-green-100: #e8f7ef;
    --ap-yellow: #f6c445;
    --ap-shadow: 0 18px 60px rgba(16, 42, 67, 0.12);
    --ap-radius-lg: 24px;
    --ap-radius-md: 16px;
    --ap-radius-sm: 11px;
  }

  html { scroll-behavior: smooth; }

  body:has(#aoneko-airport-page) {
    margin: 0;
    background: var(--ap-canvas);
  }

  body:has(#aoneko-airport-page) .entry-title,
  body:has(#aoneko-airport-page) .wp-block-post-title,
  body:has(#aoneko-airport-page) header.wp-block-template-part,
  body:has(#aoneko-airport-page) footer.wp-block-template-part,
  body:has(#aoneko-airport-page) .site-header,
  body:has(#aoneko-airport-page) .site-footer {
    display: none !important;
  }

  body:has(#aoneko-airport-page) .wp-site-blocks,
  body:has(#aoneko-airport-page) .entry-content,
  body:has(#aoneko-airport-page) main {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(#aoneko-airport-page) .wp-block-group.alignfull.has-global-padding:has(#aoneko-airport-page) {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #aoneko-airport-page,
  #aoneko-airport-page * { box-sizing: border-box; }

  #aoneko-airport-page {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    color: var(--ap-ink);
    background:
      radial-gradient(circle at 88% 7%, rgba(66, 153, 225, 0.13), transparent 28rem),
      linear-gradient(180deg, #f9fcfe 0, var(--ap-canvas) 38rem);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
  }

  #aoneko-airport-page button,
  #aoneko-airport-page input,
  #aoneko-airport-page select { font: inherit; }
  #aoneko-airport-page button,
  #aoneko-airport-page select { cursor: pointer; }
  #aoneko-airport-page a { color: var(--ap-blue-600); }
  #aoneko-airport-page h1,
  #aoneko-airport-page h2,
  #aoneko-airport-page h3,
  #aoneko-airport-page p { max-width: none; }

  #aoneko-airport-page .ap-site-header {
    width: min(1180px, calc(100% - 48px));
    min-height: 82px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid rgba(16, 42, 67, .13);
  }

  #aoneko-airport-page .ap-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ap-navy-900);
    text-decoration: none;
  }
  #aoneko-airport-page .ap-brand img {
    width: 48px;
    height: 48px;
    display: block;
    object-fit: contain;
  }
  #aoneko-airport-page .ap-brand strong,
  #aoneko-airport-page .ap-brand small { display: block; }
  #aoneko-airport-page .ap-brand strong { font-size: 1rem; line-height: 1.2; }
  #aoneko-airport-page .ap-brand small { margin-top: 2px; color: var(--ap-muted); font-size: .63rem; letter-spacing: .12em; }

  #aoneko-airport-page .ap-nav {
    display: flex;
    align-items: center;
    gap: 22px;
  }
  #aoneko-airport-page .ap-nav a {
    color: #405363;
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
  }
  #aoneko-airport-page .ap-nav a:hover { color: var(--ap-blue-600); }

  #aoneko-airport-page .ap-topbar {
    background: var(--ap-navy-950);
    color: #fff;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
  }
  #aoneko-airport-page .ap-topbar-inner {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
    padding: 9px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  #aoneko-airport-page .ap-topbar strong { color: #ffd166; }

  #aoneko-airport-page .ap-hero {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
    padding: 46px 0 30px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 36px;
    align-items: center;
  }
  #aoneko-airport-page .ap-eyebrow {
    margin: 0 0 10px;
    color: var(--ap-red-700);
    font-weight: 800;
    font-size: 0.86rem;
    letter-spacing: 0.12em;
  }
  #aoneko-airport-page .ap-hero h1 {
    margin: 0;
    color: var(--ap-navy-950);
    font-size: clamp(2.2rem, 5vw, 4.35rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
  }
  #aoneko-airport-page .ap-hero h1 small {
    margin-top: 16px;
    display: block;
    color: #405363;
    font-size: clamp(.96rem, 2vw, 1.15rem);
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0;
  }
  #aoneko-airport-page .ap-hero-copy {
    max-width: 45rem;
    margin: 16px 0 0;
    color: #405363;
    font-size: clamp(1rem, 2.2vw, 1.12rem);
  }
  #aoneko-airport-page .ap-airport-codes {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    padding: 22px;
    color: #fff;
    background: linear-gradient(135deg, var(--ap-navy-950), var(--ap-navy-800));
    border-radius: var(--ap-radius-lg);
    box-shadow: var(--ap-shadow);
  }
  #aoneko-airport-page .ap-code-card { text-align: center; }
  #aoneko-airport-page .ap-code-card b {
    display: block;
    font-size: clamp(2rem, 6vw, 3.45rem);
    line-height: 1;
    letter-spacing: 0.04em;
  }
  #aoneko-airport-page .ap-code-card span { display: block; margin-top: 9px; color: #cfe6f5; }
  #aoneko-airport-page .ap-swap-mark { color: #ffd166; font-size: 1.5rem; font-weight: 900; }

  #aoneko-airport-page .ap-main {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto !important;
    padding: 0 0 72px !important;
  }

  #aoneko-airport-page .ap-tool-shell {
    overflow: hidden;
    background: var(--ap-paper);
    border: 1px solid rgba(23, 63, 95, 0.12);
    border-radius: var(--ap-radius-lg);
    box-shadow: var(--ap-shadow);
  }
  #aoneko-airport-page .ap-tool-heading {
    padding: 26px 30px;
    color: #fff;
    background: var(--ap-navy-900);
  }
  #aoneko-airport-page .ap-tool-heading h2 { margin: 0; font-size: clamp(1.35rem, 3vw, 1.85rem); }
  #aoneko-airport-page .ap-tool-heading p { margin: 6px 0 0; color: #d7e8f3; }
  #aoneko-airport-page .ap-form-grid {
    padding: 30px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }
  #aoneko-airport-page .ap-field { min-width: 0; }
  #aoneko-airport-page .ap-field.ap-full { grid-column: 1 / -1; }
  #aoneko-airport-page label,
  #aoneko-airport-page .ap-label-text {
    display: block;
    margin-bottom: 8px;
    color: var(--ap-navy-950);
    font-weight: 800;
    font-size: 0.94rem;
  }
  #aoneko-airport-page .ap-required {
    margin-left: 5px;
    color: var(--ap-red-700);
    font-size: 0.75rem;
  }
  #aoneko-airport-page input,
  #aoneko-airport-page select {
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    color: var(--ap-ink);
    background: #fff;
    border: 1px solid #c9d7e1;
    border-radius: var(--ap-radius-sm);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  #aoneko-airport-page input:focus,
  #aoneko-airport-page select:focus {
    border-color: var(--ap-blue-600);
    box-shadow: 0 0 0 4px rgba(44, 110, 170, 0.13);
  }
  #aoneko-airport-page .ap-hint { display: block; margin-top: 6px; color: var(--ap-muted); font-size: 0.8rem; }
  #aoneko-airport-page .ap-destination-box {
    min-height: 52px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--ap-blue-100);
    border: 1px solid #c9e1f2;
    border-radius: var(--ap-radius-sm);
  }
  #aoneko-airport-page .ap-destination-box strong { color: var(--ap-navy-900); }
  #aoneko-airport-page .ap-destination-box span { color: var(--ap-muted); font-size: 0.82rem; }
  #aoneko-airport-page .ap-radio-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  #aoneko-airport-page .ap-radio-card { position: relative; }
  #aoneko-airport-page .ap-radio-card input { position: absolute; opacity: 0; pointer-events: none; }
  #aoneko-airport-page .ap-radio-card label {
    min-height: 52px;
    margin: 0;
    padding: 10px 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #fff;
    border: 1px solid #c9d7e1;
    border-radius: var(--ap-radius-sm);
    cursor: pointer;
  }
  #aoneko-airport-page .ap-radio-card input:checked + label {
    color: var(--ap-navy-900);
    background: var(--ap-blue-100);
    border-color: var(--ap-blue-600);
    box-shadow: inset 0 0 0 1px var(--ap-blue-600);
  }
  #aoneko-airport-page .ap-checkbox-card {
    padding: 14px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius-sm);
    background: #fafcfd;
  }
  #aoneko-airport-page .ap-checkbox-card input { width: 20px; min-height: 20px; margin: 3px 0 0; }
  #aoneko-airport-page .ap-checkbox-card label { margin: 0; font-weight: 700; cursor: pointer; }
  #aoneko-airport-page .ap-checkbox-card small { display: block; color: var(--ap-muted); font-weight: 400; }
  #aoneko-airport-page .ap-form-actions {
    padding: 0 30px 32px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
  }
  #aoneko-airport-page .ap-primary-button {
    min-height: 58px;
    padding: 14px 24px;
    color: #fff;
    background: var(--ap-red-700);
    border: 0;
    border-radius: 14px;
    font-weight: 900;
    font-size: 1.06rem;
    box-shadow: 0 10px 24px rgba(180, 35, 24, 0.22);
  }
  #aoneko-airport-page .ap-primary-button:hover { background: #941e15; }
  #aoneko-airport-page .ap-estimate-note { color: var(--ap-muted); font-size: 0.78rem; line-height: 1.5; }
  #aoneko-airport-page .ap-error-box {
    margin: 0 30px 28px;
    padding: 14px 16px;
    color: var(--ap-red-700);
    background: var(--ap-red-100);
    border: 1px solid #efb8b3;
    border-radius: var(--ap-radius-sm);
    font-weight: 700;
  }

  #aoneko-airport-page .ap-results { margin-top: 34px; }
  #aoneko-airport-page .ap-results[hidden] { display: none; }
  #aoneko-airport-page .ap-result-summary {
    padding: 28px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    align-items: center;
    background: var(--ap-paper);
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius-lg);
    box-shadow: 0 12px 38px rgba(16, 42, 67, 0.09);
  }
  #aoneko-airport-page .ap-summary-icon {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--ap-amber-100);
    font-size: 1.8rem;
  }
  #aoneko-airport-page .ap-result-summary h2 { margin: 0; color: var(--ap-navy-950); font-size: clamp(1.35rem, 3vw, 2rem); line-height: 1.35; }
  #aoneko-airport-page .ap-result-summary p { margin: 6px 0 0; color: var(--ap-muted); }
  #aoneko-airport-page .ap-result-meta {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  #aoneko-airport-page .ap-meta-card {
    padding: 14px 16px;
    background: #f7fafc;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius-md);
  }
  #aoneko-airport-page .ap-meta-card span { display: block; color: var(--ap-muted); font-size: 0.75rem; }
  #aoneko-airport-page .ap-meta-card b { display: block; margin-top: 3px; color: var(--ap-navy-950); }
  #aoneko-airport-page .ap-section-title { margin: 36px 0 14px; color: var(--ap-navy-950); font-size: 1.35rem; }
  #aoneko-airport-page .ap-route-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  #aoneko-airport-page .ap-route-card {
    padding: 20px;
    display: flex;
    flex-direction: column;
    background: var(--ap-paper);
    border: 1px solid var(--ap-line);
    border-top: 5px solid var(--ap-line);
    border-radius: var(--ap-radius-md);
    box-shadow: 0 10px 28px rgba(16, 42, 67, 0.07);
  }
  #aoneko-airport-page .ap-route-card.ap-status-safe { border-top-color: var(--ap-green-700); }
  #aoneko-airport-page .ap-route-card.ap-status-possible { border-top-color: var(--ap-blue-600); }
  #aoneko-airport-page .ap-route-card.ap-status-tight { border-top-color: var(--ap-amber-700); }
  #aoneko-airport-page .ap-route-card.ap-status-late { border-top-color: var(--ap-red-700); }
  #aoneko-airport-page .ap-route-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  #aoneko-airport-page .ap-route-name { display: flex; align-items: center; gap: 9px; }
  #aoneko-airport-page .ap-route-name span { font-size: 1.45rem; }
  #aoneko-airport-page .ap-route-name h3 { margin: 0; font-size: 1.2rem; }
  #aoneko-airport-page .ap-badge {
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 900;
    white-space: nowrap;
  }
  #aoneko-airport-page .ap-status-safe .ap-badge { color: var(--ap-green-700); background: var(--ap-green-100); }
  #aoneko-airport-page .ap-status-possible .ap-badge { color: var(--ap-blue-600); background: var(--ap-blue-100); }
  #aoneko-airport-page .ap-status-tight .ap-badge { color: var(--ap-amber-700); background: var(--ap-amber-100); }
  #aoneko-airport-page .ap-status-late .ap-badge { color: var(--ap-red-700); background: var(--ap-red-100); }
  #aoneko-airport-page .ap-route-time { margin: 20px 0 0; }
  #aoneko-airport-page .ap-route-time small,
  #aoneko-airport-page .ap-cost-box small { display: block; color: var(--ap-muted); }
  #aoneko-airport-page .ap-route-time b { display: block; color: var(--ap-navy-950); font-size: 1.42rem; line-height: 1.3; }
  #aoneko-airport-page .ap-route-time span { color: var(--ap-muted); font-size: 0.8rem; }
  #aoneko-airport-page .ap-cost-box {
    margin-top: 14px;
    padding: 12px 14px;
    background: #f7fafc;
    border-radius: 12px;
  }
  #aoneko-airport-page .ap-cost-box b { display: block; color: var(--ap-navy-900); font-size: 1.05rem; }
  #aoneko-airport-page .ap-cost-box span { color: var(--ap-muted); font-size: 0.76rem; }
  #aoneko-airport-page .ap-margin-box {
    margin: 14px 0 18px;
    padding-top: 13px;
    border-top: 1px solid var(--ap-line);
    color: var(--ap-muted);
    font-size: 0.82rem;
  }
  #aoneko-airport-page .ap-margin-box strong { display: block; color: var(--ap-ink); font-size: 0.96rem; }
  #aoneko-airport-page .ap-route-link {
    margin-top: auto;
    padding: 10px 12px;
    color: var(--ap-navy-900);
    background: #fff;
    border: 1px solid #b9cbd7;
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    font-weight: 800;
    font-size: 0.85rem;
  }
  #aoneko-airport-page .ap-route-link:hover { background: var(--ap-blue-100); }
  #aoneko-airport-page .ap-action-panel {
    padding: 24px;
    background: var(--ap-navy-900);
    color: #fff;
    border-radius: var(--ap-radius-lg);
  }
  #aoneko-airport-page .ap-action-panel h2 { margin: 0 0 14px; color: #fff; }
  #aoneko-airport-page .ap-action-list { margin: 0; padding-left: 1.3rem; }
  #aoneko-airport-page .ap-action-list li + li { margin-top: 8px; }
  #aoneko-airport-page .ap-action-panel a { color: #bfe3ff; }
  #aoneko-airport-page .ap-action-buttons {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  #aoneko-airport-page .ap-action-buttons a,
  #aoneko-airport-page .ap-action-buttons button {
    min-height: 44px;
    padding: 9px 13px;
    color: var(--ap-navy-950);
    background: #fff;
    border: 0;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 800;
  }
  #aoneko-airport-page .ap-disclaimer {
    margin-top: 18px;
    padding: 18px 20px;
    color: #674b00;
    background: var(--ap-amber-100);
    border: 1px solid #f0d08a;
    border-radius: var(--ap-radius-md);
    font-size: 0.86rem;
  }
  #aoneko-airport-page .ap-disclaimer strong { display: block; margin-bottom: 3px; color: #5d4300; }

  #aoneko-airport-page .ap-guide-section {
    margin-top: 56px;
    padding: clamp(28px, 5vw, 52px);
    background: rgba(255,255,255,.9);
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius-lg);
  }
  #aoneko-airport-page .ap-guide-section + .ap-guide-section { margin-top: 24px; }
  #aoneko-airport-page .ap-guide-section h2 {
    margin: 0;
    color: var(--ap-navy-950);
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height: 1.45;
  }
  #aoneko-airport-page .ap-guide-lead {
    margin: 14px 0 0;
    color: #475b6d;
  }
  #aoneko-airport-page .ap-step-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
  }
  #aoneko-airport-page .ap-step-card {
    padding: 20px;
    background: #f8fbfd;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius-md);
  }
  #aoneko-airport-page .ap-step-card b {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: var(--ap-navy-950);
    background: var(--ap-yellow);
    border-radius: 50%;
    font-size: .82rem;
  }
  #aoneko-airport-page .ap-step-card h3 { margin: 13px 0 7px; color: var(--ap-navy-950); font-size: 1rem; }
  #aoneko-airport-page .ap-step-card p { margin: 0; color: var(--ap-muted); font-size: .9rem; }

  #aoneko-airport-page .ap-table-wrap { margin-top: 24px; overflow-x: auto; }
  #aoneko-airport-page .ap-info-table {
    width: 100%;
    min-width: 650px;
    border-collapse: collapse;
    background: #fff;
    font-size: .9rem;
  }
  #aoneko-airport-page .ap-info-table th,
  #aoneko-airport-page .ap-info-table td {
    padding: 14px 15px;
    border: 1px solid var(--ap-line);
    text-align: left;
    vertical-align: top;
  }
  #aoneko-airport-page .ap-info-table th { color: #fff; background: var(--ap-navy-900); }
  #aoneko-airport-page .ap-info-table td:first-child { color: var(--ap-navy-950); font-weight: 800; }
  #aoneko-airport-page .ap-small-note { margin: 12px 0 0; color: var(--ap-muted); font-size: .78rem; }

  #aoneko-airport-page .ap-method-list { margin: 20px 0 0; padding-left: 1.25rem; color: #475b6d; }
  #aoneko-airport-page .ap-method-list li + li { margin-top: 9px; }

  #aoneko-airport-page .ap-faq { margin-top: 24px; }
  #aoneko-airport-page .ap-faq-item {
    padding: 20px 0;
    border-top: 1px solid var(--ap-line);
  }
  #aoneko-airport-page .ap-faq-item:last-child { border-bottom: 1px solid var(--ap-line); }
  #aoneko-airport-page .ap-faq-item h3 { margin: 0; color: var(--ap-navy-950); font-size: 1.03rem; }
  #aoneko-airport-page .ap-faq-item p { margin: 8px 0 0; color: #526678; }

  #aoneko-airport-page .ap-reference-section {
    margin-top: 24px;
    padding: 26px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius-lg);
  }
  #aoneko-airport-page .ap-reference-section h2 { margin: 0 0 10px; color: var(--ap-navy-950); font-size: 1.2rem; }
  #aoneko-airport-page .ap-reference-section p { margin: 0; color: var(--ap-muted); font-size: 0.83rem; }
  #aoneko-airport-page .ap-reference-links { margin: 14px 0 0; padding-left: 1.2rem; font-size: 0.82rem; }
  #aoneko-airport-page .ap-reference-links li + li { margin-top: 5px; }

  #aoneko-airport-page .ap-footer {
    padding: 32px 24px 42px;
    color: var(--ap-muted);
    background: var(--ap-cream);
    text-align: center;
    font-size: .78rem;
    border-top: 1px solid rgba(16,42,67,.09);
  }
  #aoneko-airport-page .ap-footer a { color: var(--ap-navy-900); font-weight: 800; text-decoration: none; }

  #aoneko-airport-page .ap-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  @media (max-width: 840px) {
    #aoneko-airport-page .ap-hero { grid-template-columns: 1fr; padding-top: 34px; }
    #aoneko-airport-page .ap-airport-codes { max-width: 520px; }
    #aoneko-airport-page .ap-route-grid { grid-template-columns: 1fr; }
    #aoneko-airport-page .ap-result-meta { grid-template-columns: 1fr; }
    #aoneko-airport-page .ap-step-grid { grid-template-columns: 1fr; }
  }

  @media (max-width: 680px) {
    #aoneko-airport-page .ap-site-header { width: min(100% - 28px, 1180px); min-height: 70px; }
    #aoneko-airport-page .ap-brand img { width: 42px; height: 42px; }
    #aoneko-airport-page .ap-nav { display: none; }
    #aoneko-airport-page .ap-topbar-inner { align-items: flex-start; flex-direction: column; gap: 2px; }
    #aoneko-airport-page .ap-hero,
    #aoneko-airport-page .ap-main { width: min(100% - 22px, 1080px); }
    #aoneko-airport-page .ap-hero { padding-bottom: 22px; gap: 24px; }
    #aoneko-airport-page .ap-airport-codes { padding: 18px 14px; }
    #aoneko-airport-page .ap-tool-heading,
    #aoneko-airport-page .ap-form-grid { padding-left: 18px; padding-right: 18px; }
    #aoneko-airport-page .ap-form-grid { grid-template-columns: 1fr; gap: 18px; }
    #aoneko-airport-page .ap-field.ap-full { grid-column: auto; }
    #aoneko-airport-page .ap-form-actions { padding: 0 18px 22px; grid-template-columns: 1fr; }
    #aoneko-airport-page .ap-error-box { margin-left: 18px; margin-right: 18px; }
    #aoneko-airport-page .ap-result-summary { padding: 20px; grid-template-columns: 1fr; }
    #aoneko-airport-page .ap-summary-icon { width: 50px; height: 50px; }
    #aoneko-airport-page .ap-route-card { padding: 18px; }
    #aoneko-airport-page .ap-action-panel { padding: 20px; }
    #aoneko-airport-page .ap-guide-section { padding: 25px 20px; }
  }
