/* app-archive.sola-air.com — site-specific additions. Loaded after kanri.css (the shared base:
   tokens, header/footer, buttons, prose). Pages carry <body class="kanri archive">. */
.tint-jikan{--t-bg:#f3f1fb;--t-line:#dcd8f0;--t-ink:#4a4590;--t-label:#5b55a8;--t-accent:#8f7cf0;--t-glow:#e3e0f6}
.tint-pib{--t-bg:#eef1f0;--t-line:#d5dbd8;--t-ink:#33413d;--t-label:#4a5955;--t-accent:#5f7a72;--t-glow:#dfe6e3}
.tint-pocket{--t-bg:#edf6fb;--t-line:#cfe4ef;--t-ink:#1d4f6b;--t-label:#2b6a8c;--t-accent:#4aa3d6;--t-glow:#d8ecf7}
.tint-tokyoride{--t-bg:#fdf0f3;--t-line:#f3d4dc;--t-ink:#8a3350;--t-label:#a83a5d;--t-accent:#f08aa8;--t-glow:#fbe3ea}

.archive .k-brand small{letter-spacing:1.8px;font-size:11px;font-weight:700}
.archive .k-nav>a[aria-current="page"]{color:var(--k-head);font-weight:700}

/* ---------- archive top ---------- */
.a-intro{position:relative;overflow:hidden;padding:56px 0 28px}
.a-intro-row{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.a-intro-copy{display:flex;flex-direction:column;gap:10px}
.a-intro h1{margin:0;font-size:40px;line-height:1.2;letter-spacing:-1.2px;font-weight:700;color:var(--k-head)}
.a-intro p{margin:0;font-size:15px;line-height:1.8;color:var(--k-muted)}
.a-intro-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.a-intro-meta b{font-size:13px;color:var(--k-head)}
.a-intro-meta span{font-size:12px;color:var(--k-muted)}
.a-blob-1{left:-140px;top:-180px;width:460px;height:460px;background:#e3e0f6}
.a-blob-2{right:-120px;top:-120px;width:420px;height:420px;background:#dcecf5}
.a-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.a-card{display:flex;flex-direction:column;border-radius:24px;background:#fff;border:1px solid var(--k-line);text-decoration:none;color:var(--k-text);overflow:hidden;box-shadow:var(--k-shadow);transition:transform .2s,box-shadow .2s}
.a-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(20,47,57,.10);color:var(--k-text)}
.a-card-media{position:relative;height:300px;background:var(--t-bg);border-bottom:1px solid var(--t-line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.a-card-media img.key{width:74%;height:auto;max-height:112%;object-fit:contain;transform:translateY(14px)}
.a-card-media.cover img.key{width:100%;height:100%;max-height:none;object-fit:cover;transform:none}
.a-card-media.wide img.key{width:86%;transform:translateY(10px)}
.a-card-media.bottom{align-items:flex-end}
.a-card-media.bottom img.key{width:46%;transform:translateY(8px)}
.a-card-icon{position:absolute;left:20px;top:18px;width:48px;height:48px;border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(20,47,57,.12);display:flex;align-items:center;justify-content:center;overflow:hidden}
.a-card-icon img{width:32px;height:32px;object-fit:contain}
.a-card-icon.cover img{width:48px;height:48px;object-fit:cover}
.a-card-chip{position:absolute;left:20px;top:18px;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.92);font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--t-ink)}
.a-card-logo{position:absolute;left:20px;top:20px;width:150px;height:auto}
.a-card-body{display:flex;flex-direction:column;gap:10px;padding:24px 26px}
.a-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.a-card-head h2{margin:0;font-size:26px;font-weight:800;letter-spacing:-.6px;color:var(--k-head)}
.a-card-head span{font-size:12px;font-weight:700;color:var(--t-label);letter-spacing:.5px}
.a-card-tag{margin:0;font-size:16px;font-weight:700;color:var(--t-ink)}
.a-card-desc{margin:0;font-size:14px;line-height:1.8;color:var(--k-muted)}
.a-card-more{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:14px;font-weight:700;color:var(--t-ink)}
.a-notice{margin:0;display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border-radius:14px;background:var(--k-surface);border:1px solid var(--k-line);font-size:13px;line-height:1.8;color:var(--k-muted)}
.a-notice svg{flex:none;margin-top:4px;color:var(--k-brand)}
.a-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.a-link{display:flex;align-items:center;gap:18px;padding:24px 26px;border-radius:22px;background:#fff;border:1px solid var(--k-line);text-decoration:none;color:var(--k-text)}
.a-link:hover{color:var(--k-text);box-shadow:var(--k-shadow)}
.a-link .k-mini-icon{width:52px;height:52px;border-radius:16px}
.a-link-text{display:flex;flex-direction:column;gap:4px;flex:1}
.a-link-text b{font-size:17px;color:var(--k-head)}
.a-link-text span{font-size:13px;color:var(--k-muted)}
.a-link>svg{color:var(--k-brand-strong);flex:none}

/* ---------- app pages ---------- */
.a-topbar{padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.a-topbar .k-crumb{padding-top:0}
.a-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--k-surface);border:1px solid var(--k-line);font-size:12px;font-weight:700;color:var(--k-brand-strong);white-space:nowrap}
.a-hero{position:relative;overflow:hidden;padding:36px 0 56px}
.a-hero>.k-blob{right:-140px;top:-180px;width:540px;height:540px;background:var(--t-glow)}
.a-hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.a-hero-copy{display:flex;flex-direction:column;gap:20px}
.a-app-id{display:flex;align-items:center;gap:16px}
.a-app-id .k-icon-tile{width:84px;height:84px;border-radius:24px;border:1px solid var(--t-line);box-shadow:0 10px 24px rgba(20,47,57,.12);overflow:hidden}
.a-app-id .k-icon-tile img{width:60px;height:60px}
.a-app-id .k-icon-tile.cover img{width:84px;height:84px;object-fit:cover}
.a-app-id div{display:flex;flex-direction:column;gap:6px}
.a-app-kicker{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--t-label)}
.a-app-name{margin:0;font-size:52px;line-height:1;letter-spacing:-1.8px;font-weight:800;color:var(--k-head)}
.a-app-title{margin:6px 0 0;font-size:26px;line-height:1.4;font-weight:700;letter-spacing:-.5px;color:var(--k-head)}
.a-app-lead{margin:0;max-width:540px;font-size:15px;line-height:1.9;color:var(--k-muted)}
.a-app-lead+.a-app-lead{margin-top:-6px}
.a-store{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}
.a-store .badge{height:48px;width:auto;display:block}
.a-notice.small{padding:12px 16px;border-radius:12px;font-size:13px;line-height:1.7;max-width:540px}
.a-notice.small svg{margin-top:3px}
.a-hero-media{position:relative;height:600px;border-radius:36px;background:var(--t-bg);border:1px solid var(--t-line);overflow:hidden}
.a-hero-media .shot{position:absolute;width:auto;filter:drop-shadow(0 24px 36px rgba(20,47,57,.22))}
.a-hero-media .shot-back{left:6%;top:70px;height:500px;opacity:.95}
.a-hero-media .shot-front{right:6%;top:30px;height:540px}
.a-hero-media.art{display:flex;align-items:flex-end;justify-content:center}
.a-hero-media.art img.key{width:72%;height:auto;transform:translateY(12px);filter:drop-shadow(0 24px 36px rgba(20,47,57,.18))}
.a-hero-media.art img.logo{position:absolute;left:28px;top:28px;width:220px;height:auto}
.a-hero-media video,.a-hero-media img.cover{width:100%;height:100%;object-fit:cover;display:block}
.a-subnav{display:flex;gap:8px;flex-wrap:wrap}
.a-subnav a{padding:10px 16px;border-radius:999px;background:#fff;border:1px solid var(--k-line);color:var(--k-text);font-size:13px;font-weight:600;text-decoration:none}
.a-subnav a:hover{border-color:#b8c6cb;color:var(--k-head)}
.a-subnav a[aria-current="page"]{background:var(--k-text);border-color:var(--k-text);color:#fff;font-weight:700}
.a-subnav a.ended{color:var(--k-muted)}
.a-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.a-feature{display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:24px;background:#fff;border:1px solid var(--k-line)}
.a-feature h3{margin:0;font-size:20px;letter-spacing:-.4px;font-weight:700;color:var(--k-head)}
.a-feature p{margin:0;font-size:14px;line-height:1.8;color:var(--k-muted)}
.a-shot-box{height:300px;border-radius:18px;background:var(--t-bg);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.a-shot-box img{height:330px;width:auto;transform:translateY(40px);filter:drop-shadow(0 16px 24px rgba(20,47,57,.18))}
.a-mode{display:flex;gap:20px;align-items:flex-start;padding:28px;border-radius:24px;background:var(--t-bg);border:1px solid var(--t-line)}
.a-mode img{width:72px;height:72px;object-fit:contain;flex:none}
.a-mode div{display:flex;flex-direction:column;gap:8px}
.a-mode span{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--t-label)}
.a-mode h3{margin:0;font-size:22px;letter-spacing:-.4px;font-weight:800;color:var(--k-head)}
.a-mode p{margin:0;font-size:14px;line-height:1.8;color:var(--t-ink)}
.a-six{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.a-six>div{padding:20px 22px;border-radius:18px;background:#fff;border:1px solid var(--k-line);display:flex;flex-direction:column;gap:6px}
.a-six svg,.a-six img.ic{width:24px;height:24px;color:var(--t-label);object-fit:contain}
.a-six img.ic{width:36px;height:36px}
.a-six h3{margin:0;font-size:15px;font-weight:700;color:var(--k-head)}
.a-six p{margin:0;font-size:13px;line-height:1.7;color:var(--k-muted)}
.a-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.a-gallery.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.a-gallery>div{border-radius:20px;background:var(--t-bg);border:1px solid var(--t-line);padding:18px 18px 0;overflow:hidden;height:340px;display:flex;justify-content:center}
.a-gallery img{height:360px;width:auto;filter:drop-shadow(0 12px 20px rgba(20,47,57,.16))}
.a-pages{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0;font-size:14px}
.a-pages li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--k-line-soft)}
.a-pages li:last-child{border-bottom:0}
.a-pages a{text-decoration:none;font-weight:600;color:var(--k-text)}
.a-pages a:hover{color:var(--k-head);text-decoration:underline}
.a-pages .ended{font-weight:600;color:var(--k-muted)}
.a-pages small{font-size:12px;color:var(--k-muted)}
.a-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.a-story a{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--k-line);text-decoration:none;color:var(--k-text)}
.a-story a:hover{color:var(--k-text);box-shadow:var(--k-shadow)}
.a-story img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.a-story div{display:flex;flex-direction:column;gap:4px;padding:18px 20px}
.a-story span{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--t-label)}
.a-story b{font-size:18px;color:var(--k-head)}
.a-profile{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:center;padding:32px 36px;border-radius:28px;background:var(--t-bg);border:1px solid var(--t-line)}
.a-profile img{width:100%;height:auto;max-height:280px;object-fit:contain}
.a-profile h2{margin:0 0 6px;font-size:24px;letter-spacing:-.5px;font-weight:800;color:var(--k-head)}
.a-profile p{margin:0 0 16px;font-size:15px;color:var(--t-ink);font-weight:600}
.a-profile dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:14px}
.a-profile dt{color:var(--t-label);font-weight:700}
.a-profile dd{margin:0;color:var(--k-text)}
.a-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.a-split .copy{display:flex;flex-direction:column;gap:14px}
.a-split .copy p{margin:0;font-size:15px;line-height:1.9;color:var(--k-muted)}
.a-split .copy h2{margin:0}
.a-split figure{margin:0;border-radius:24px;overflow:hidden;background:var(--t-bg);border:1px solid var(--t-line);display:flex;align-items:center;justify-content:center;padding:20px}
.a-split figure img{max-width:100%;height:auto;max-height:420px;object-fit:contain}
.a-photos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.a-photos figure{margin:0;display:flex;flex-direction:column;gap:6px}
.a-photos img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px;display:block}
.a-photos figcaption{font-size:12px;font-weight:700;color:var(--k-head)}
.a-pairs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.a-pairs figure{margin:0;display:flex;flex-direction:column;gap:10px}
.a-pairs .frame{border-radius:20px;overflow:hidden;border:1px solid var(--t-line);aspect-ratio:16/9;background:var(--t-bg)}
.a-pairs img{width:100%;height:100%;object-fit:cover;display:block}
.a-pairs figcaption{font-size:13px;color:var(--k-muted);display:flex;justify-content:space-between;gap:12px}
.a-pairs figcaption b{color:var(--t-ink)}
.a-banner{border-radius:28px;overflow:hidden;border:1px solid var(--t-line);height:300px;background:var(--t-bg)}
.a-banner img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.a-next{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px;border-radius:22px;background:var(--t-bg);border:1px solid var(--t-line);text-decoration:none;color:var(--k-text)}
.a-next:hover{color:var(--k-text);box-shadow:var(--k-shadow)}
.a-next div{display:flex;flex-direction:column;gap:4px}
.a-next span{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--t-label)}
.a-next b{font-size:20px;color:var(--k-head)}
.a-next small{font-size:13px;color:var(--k-muted)}
.a-next svg{color:var(--t-ink);flex:none}
.a-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px;border-radius:22px;background:#fff;border:1px solid var(--k-line)}
.a-cta div{display:flex;flex-direction:column;gap:4px}
.a-cta span{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--k-brand-strong)}
.a-cta b{font-size:20px;color:var(--k-head)}
.a-cta small{font-size:13px;color:var(--k-muted)}
.a-page-head{display:flex;flex-direction:column;gap:12px;max-width:760px;padding:16px 0 8px}
.a-page-head h1{margin:0;font-size:52px;line-height:1.1;letter-spacing:-1.8px;font-weight:800;color:var(--k-head)}
.a-page-head p{margin:0;font-size:18px;line-height:1.8;color:var(--k-muted)}
.a-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.a-contact>div{padding:22px 24px;border-radius:18px;background:#fff;border:1px solid var(--k-line);display:flex;flex-direction:column;gap:6px}
.a-contact h3{margin:0;font-size:12px;letter-spacing:2px;font-weight:800;color:var(--t-label)}
.a-contact p{margin:0;font-size:15px;line-height:1.7;color:var(--k-text)}
.a-embassies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.a-embassies>div{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:#fff;border:1px solid var(--k-line)}
.a-embassies img{width:56px;height:auto;border-radius:6px;flex:none;margin-top:2px}
.a-embassies h3{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--k-head)}
.a-embassies p{margin:0;font-size:12px;line-height:1.6;color:var(--k-muted)}
.a-downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.a-downloads a{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 20px;border-radius:22px;background:var(--t-bg);border:1px solid var(--t-line);text-decoration:none;color:var(--k-text)}
.a-downloads img{width:160px;height:120px;object-fit:contain}
.a-downloads b{font-size:16px;color:var(--k-head)}
.a-downloads span{font-size:12px;color:var(--t-ink);font-weight:600}
.a-image{border-radius:24px;overflow:hidden;border:1px solid var(--k-line);background:#fff;padding:16px}
.a-image img{width:100%;height:auto;display:block;border-radius:12px}
.a-ended{padding:40px 44px;border-radius:28px;background:var(--k-surface);border:1px solid var(--k-line);max-width:760px}
.a-ended h2{margin:0 0 10px;font-size:22px;color:var(--k-head)}
.a-ended p{margin:0;font-size:15px;line-height:1.8;color:var(--k-muted)}
.a-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.a-more a{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:20px;background:var(--t-bg);border:1px solid var(--t-line);text-decoration:none;color:var(--k-text)}
.a-more a:hover{color:var(--k-text);box-shadow:var(--k-shadow)}
.a-more .k-icon-tile{width:48px;height:48px;border-radius:14px;overflow:hidden}
.a-more .k-icon-tile img{width:32px;height:32px}
.a-more .k-icon-tile.cover img{width:48px;height:48px;object-fit:cover}
.a-more span{display:flex;flex-direction:column}
.a-more b{font-size:16px;color:var(--k-head)}
.a-more small{font-size:12px;color:var(--t-ink)}
.archive .k-video .k-blob{background:var(--t-accent)}

@media (max-width:1100px){
  .a-hero-media .shot-back{display:none}
  .a-hero-media .shot-front{right:auto;left:50%;transform:translateX(-50%)}
  .a-gallery,.a-gallery.five{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:960px){
  .a-photos{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .a-cards,.a-duo,.a-hero-grid,.a-trio,.a-six,.a-story,.a-split,.a-pairs,.a-contact,.a-embassies,.a-downloads,.a-more{grid-template-columns:1fr}
  .a-profile{grid-template-columns:1fr;padding:24px}
  .a-gallery,.a-gallery.five{grid-template-columns:1fr 1fr}
  .a-photos{grid-template-columns:1fr 1fr}
  .a-hero{padding:28px 0 40px}
  .a-hero-media{height:520px}
  .a-hero-media .shot-front{height:470px}
  .a-app-name{font-size:40px}
  .a-app-title{font-size:21px}
  .a-page-head h1{font-size:38px}
  .a-intro h1{font-size:32px}
  .a-card-media{height:240px}
  .a-next,.a-cta{flex-direction:column;align-items:flex-start}
}
@media (max-width:560px){
  .a-gallery,.a-gallery.five{grid-template-columns:1fr}
  .a-gallery>div{height:300px}
  .a-gallery img{height:320px}
  .a-photos{grid-template-columns:1fr 1fr}
  .a-intro-meta{align-items:flex-start}
  .a-card-media{height:210px}
}

/* A dedicated row avoids language-dependent header wrapping. */
@media (max-width:1100px){
  .archive .k-header-row{padding-top:16px;padding-bottom:16px;gap:16px}
  .archive .k-nav{width:100%;gap:20px}
}
@media (max-width:560px){
  .archive .k-brand{flex-direction:column;align-items:flex-start;gap:0}
  .archive .k-brand b{white-space:nowrap}
  .archive .k-nav{display:grid;grid-template-columns:repeat(3,max-content);gap:14px 10px}
  .archive .k-nav>a{font-size:12px}
  .archive .k-lang{grid-column:1/-1;justify-self:start}
  .archive .a-cta{flex-wrap:wrap}
}
.archive .a-app-title{overflow-wrap:anywhere}
html[lang="ja"] .archive .a-app-title{letter-spacing:0;line-height:1.5}
