@charset "UTF-8";

:root {
  --kota-ink: #102622;
  --kota-ink-soft: #183932;
  --kota-night: #071815;
  --kota-paper: #f4f0e8;
  --kota-paper-deep: #e9e0d0;
  --kota-sand: #d8a55f;
  --kota-sand-hot: #f0c77f;
  --kota-moss: #7e9d70;
  --kota-line: rgba(16, 38, 34, .15);
  --kota-radius: 1.4rem;
  --kota-shadow: 0 1.6rem 4rem rgba(7, 24, 21, .13);
  --kota-serif: Georgia, "Times New Roman", "Noto Serif CJK SC", serif;
  --kota-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--kota-ink); background: var(--kota-paper); font-family: var(--kota-sans); line-height: 1.8; text-rendering: optimizeLegibility; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:focus-visible { outline: 3px solid var(--kota-sand-hot); outline-offset: 4px; }

.kota-skip { position: fixed; z-index: 20; top: 1rem; left: 1rem; padding: .7rem 1rem; color: var(--kota-night); background: var(--kota-sand-hot); border-radius: .4rem; transform: translateY(-150%); transition: transform .2s ease; }
.kota-skip:focus { transform: translateY(0); }
.kota-shell { overflow: hidden; }
.kota-shell__crown { position: relative; z-index: 5; background: var(--kota-night); color: #fcf8ee; }
.kota-mast { width: min(1180px, calc(100% - 2.6rem)); min-height: 5.3rem; margin: auto; }
.l_spread { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.l_reading { width: min(960px, calc(100% - 2.6rem)); margin-inline: auto; }
.kota-brand { display: inline-flex; align-items: center; gap: .7rem; color: inherit; text-decoration: none; }
.kota-brand__mark { width: 2.35rem; height: 2.35rem; object-fit: contain; }
.kota-brand__words { display: grid; line-height: 1.15; letter-spacing: .04em; }
.kota-brand__words b { font-size: 1rem; font-weight: 700; }
.kota-brand__words small { margin-top: .18rem; color: rgba(252, 248, 238, .57); font-size: .55rem; letter-spacing: .15em; }
.kota-compass { display: flex; align-items: center; gap: clamp(.25rem, 1.5vw, 1.25rem); font-size: .88rem; }
.kota-compass__link { padding: .35rem .1rem; color: rgba(252, 248, 238, .72); text-decoration: none; }
.kota-compass__link:hover, .kota-compass__link.-is-current { color: var(--kota-sand-hot); }
.kota-compass__pin { padding: .55rem .85rem; border: 1px solid rgba(240, 199, 127, .65); border-radius: 100vmax; color: var(--kota-sand-hot); font-size: .76rem; letter-spacing: .04em; text-decoration: none; transition: color .25s, background .25s, transform .25s; }
.kota-compass__pin:hover { color: var(--kota-night); background: var(--kota-sand-hot); transform: translateY(-2px); }

.kota-hero { position: relative; isolation: isolate; display: grid; min-height: clamp(25rem, 56vw, 43rem); color: #fffdf6; background: var(--kota-ink); overflow: hidden; }
.kota-hero__image, .kota-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.kota-hero__image { z-index: -3; object-fit: cover; object-position: center; filter: saturate(.78) contrast(1.08); animation: kota-arrival 1.1s cubic-bezier(.2,.8,.2,1) both; }
.kota-hero__veil { z-index: -2; background: linear-gradient(90deg, rgba(7, 24, 21, .88) 0%, rgba(7, 24, 21, .58) 45%, rgba(7, 24, 21, .14) 100%); }
.kota-hero__orb { position: absolute; z-index: -1; width: 22rem; aspect-ratio: 1; border: 1px solid rgba(240, 199, 127, .27); border-radius: 50%; pointer-events: none; }
.kota-hero__orb--one { top: -8rem; right: 8%; animation: kota-orbit 18s linear infinite; }
.kota-hero__orb--two { right: 12%; bottom: -15rem; width: 30rem; border-color: rgba(126, 157, 112, .35); animation: kota-orbit 25s linear infinite reverse; }
.kota-hero__inner { align-self: end; width: min(1180px, calc(100% - 2.6rem)); margin: 0 auto; padding: 4rem 0 clamp(3.5rem, 9vw, 7rem); }
.kota-kicker { margin: 0 0 1rem; color: var(--kota-sand-hot); font-size: .68rem; font-weight: 700; letter-spacing: .2em; line-height: 1.35; }
.kota-kicker span { margin-inline: .4em; color: var(--kota-moss); }
.kota-hero__intro { max-width: 34rem; margin: 0 0 1.8rem; font-family: var(--kota-serif); font-size: clamp(1.55rem, 3vw, 2.55rem); font-weight: 400; line-height: 1.32; letter-spacing: .02em; }
.kota-signal, .kota-button { display: inline-flex; align-items: center; gap: .85rem; padding: .85rem 1.25rem; border: 1px solid transparent; border-radius: .3rem; color: var(--kota-night); background: var(--kota-sand-hot); box-shadow: 0 .7rem 1.5rem rgba(0, 0, 0, .16); font-size: .84rem; font-weight: 700; letter-spacing: .07em; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, background .25s; }
.kota-signal:hover, .kota-button:hover { background: #ffe0a3; box-shadow: 0 1rem 2.2rem rgba(0,0,0,.24); transform: translateY(-3px); }
.kota-signal span, .kota-button span { font-size: 1.2em; transition: transform .2s ease; }
.kota-signal:hover span, .kota-button:hover span { transform: translateX(3px); }

.kota-band--content { position: relative; padding: clamp(3rem, 8vw, 6.5rem) 0; background: var(--kota-paper); }
.kota-band--content::before { position: absolute; top: 0; left: 50%; width: 1px; height: 4rem; background: var(--kota-sand); content: ""; }
.kota-trail { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.4rem; color: #6a726d; font-size: .72rem; letter-spacing: .07em; }
.kota-trail a { color: var(--kota-ink-soft); }
.kota-postcard { position: relative; padding: clamp(1.5rem, 5vw, 4.5rem); background: rgba(255, 253, 247, .52); border: 1px solid var(--kota-line); border-radius: var(--kota-radius); box-shadow: var(--kota-shadow); }
.kota-postcard__meter { display: flex; gap: .35rem; margin-bottom: 2.2rem; }
.kota-postcard__meter span { width: .45rem; height: .45rem; border-radius: 50%; background: var(--kota-sand); }
.kota-postcard__meter span:nth-child(2) { background: var(--kota-moss); }.kota-postcard__meter span:nth-child(3) { background: var(--kota-ink); }
.kota-prose > :first-child { margin-top: 0; }
.kota-prose h1, .kota-prose h2, .kota-prose h3 { color: var(--kota-ink); font-family: var(--kota-serif); line-height: 1.27; scroll-margin-top: 2rem; }
.kota-prose h1 { max-width: 16ch; margin: 0 0 1.5rem; font-size: clamp(2.2rem, 5vw, 4.25rem); letter-spacing: -.045em; }
.kota-prose h2 { margin: 3.6rem 0 1.15rem; padding-top: .25rem; font-size: clamp(1.6rem, 3vw, 2.35rem); letter-spacing: -.025em; }
.kota-prose h3 { margin: 2.2rem 0 .75rem; color: var(--kota-ink-soft); font-size: clamp(1.18rem, 2.2vw, 1.5rem); }
.kota-prose p, .kota-prose li { font-size: 1rem; }
.kota-prose p { margin: 0 0 1.25rem; }.kota-prose ul, .kota-prose ol { padding-left: 1.2rem; margin: 1.2rem 0 1.6rem; }.kota-prose li { padding-left: .25rem; margin-bottom: .5rem; }.kota-prose strong { color: #0c4b3f; }.kota-prose a { color: #0f6655; text-decoration-color: var(--kota-sand); text-decoration-thickness: 2px; }.kota-prose hr { height: 1px; margin: 3rem 0; border: 0; background: var(--kota-line); }.kota-prose blockquote { margin: 1.5rem 0; padding: 1rem 1.2rem; border-left: 3px solid var(--kota-sand); background: #eee7da; }

.kota-band--gallery { padding: clamp(3.5rem, 9vw, 7rem) 0; color: #f8f2e6; background: var(--kota-ink); }
.kota-sectionhead { margin-bottom: 2rem; }.kota-sectionhead h2 { margin: 0; color: #fff8e9; font-family: var(--kota-serif); font-size: clamp(1.8rem, 3.2vw, 2.7rem); font-weight: 400; }.kota-sectionhead__note { color: rgba(255,248,233,.58); font-size: .75rem; letter-spacing: .1em; }
.kota-filmstrip { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 1rem; }.kota-frame { position: relative; min-height: 19rem; margin: 0; border: 1px solid rgba(255,255,255,.16); border-radius: .85rem; overflow: hidden; background: #23423c; }.kota-frame img { width: 100%; height: 100%; object-fit: cover; opacity: .82; transition: transform .65s cubic-bezier(.2,.8,.2,1), opacity .4s ease; }.kota-frame:hover img { opacity: 1; transform: scale(1.075); }.kota-frame figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; padding: .7rem .85rem; border: 1px solid rgba(255,255,255,.15); border-radius: .3rem; background: rgba(7,24,21,.62); backdrop-filter: blur(7px); color: #fff8e9; font-size: .72rem; letter-spacing: .08em; transform: translateY(0); transition: transform .35s ease; }.kota-frame:hover figcaption { transform: translateY(-.25rem); }.kota-frame--2 { transform: translateY(1.8rem); }.kota-frame--3 { transform: translateY(.7rem); }

.kota-band--closing { padding: clamp(4.5rem, 11vw, 8rem) 0; background: var(--kota-paper-deep); }.kota-outro { max-width: 45rem; }.kota-outro h2 { margin: 0 0 1rem; font-family: var(--kota-serif); font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.2; letter-spacing: -.035em; }.kota-outro p:not(.kota-kicker) { max-width: 35rem; color: #54615b; }.kota-outro__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }.kota-button--ghost { border-color: var(--kota-ink); color: var(--kota-ink); background: transparent; box-shadow: none; }.kota-button--ghost:hover { background: var(--kota-ink); color: var(--kota-paper); }
.kota-shell__base { padding: 1.4rem 0; color: rgba(252,248,238,.66); background: var(--kota-night); }.kota-ledger { width: min(1180px, calc(100% - 2.6rem)); margin: auto; font-size: .7rem; letter-spacing: .08em; }.kota-ledger p { margin: 0; }.kota-ledger b { color: #fff9ed; }.kota-ledger span { margin-inline: .35rem; color: var(--kota-sand); }

@keyframes kota-arrival { from { opacity: 0; transform: scale(1.07); } to { opacity: 1; transform: scale(1); } }
@keyframes kota-orbit { to { transform: rotate(360deg); } }
@media (max-width: 680px) { .kota-mast { min-height: 4.7rem; }.kota-brand__words small, .kota-compass__link:first-child { display: none; }.kota-compass { gap: .7rem; }.kota-compass__pin { padding: .48rem .65rem; font-size: .68rem; }.kota-hero { min-height: 29rem; }.kota-hero__veil { background: linear-gradient(0deg, rgba(7,24,21,.94) 0%, rgba(7,24,21,.68) 58%, rgba(7,24,21,.2) 100%); }.kota-hero__inner { padding-bottom: 3rem; }.kota-postcard { padding: 1.35rem; }.kota-prose p, .kota-prose li { font-size: .96rem; }.kota-filmstrip { grid-template-columns: 1fr 1fr; }.kota-frame { min-height: 14rem; }.kota-frame--1 { grid-column: 1 / -1; }.kota-frame--2, .kota-frame--3 { transform: none; }.kota-sectionhead { align-items: end; }.kota-sectionhead__note { max-width: 7rem; text-align: right; }.kota-ledger { display: grid; gap: .25rem; }.kota-ledger p:last-child { color: rgba(252,248,238,.43); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
