/* Atelier bilingual navigation and editorial story layout, 2026-10-18 */
.ko-mobile-menu { display:none; }
.ko-language-switch { display:none; } /* Header owns the language switch. */
.ko-nav a { white-space:nowrap; }
.ko-lang-switch { flex-shrink:0; white-space:nowrap; }
.ko-header-inner { position:relative; }
.ko-story-page { padding:clamp(62px,7vw,115px) 0 clamp(90px,10vw,155px); }
.ko-story-layout { display:grid; grid-template-columns:minmax(270px,.82fr) minmax(0,1.18fr); column-gap:clamp(60px,8vw,145px); align-items:start; }
.ko-story-intro { min-width:0; position:sticky; top:36px; }
.ko-story-intro h1 { margin:40px 0 25px; font:400 clamp(3.6rem,5.5vw,6.8rem)/.99 "Fraunces",Georgia,serif; letter-spacing:-.063em; color:#f1eddf; }
.ko-story-intro h1 em { color:#d3b482; font-weight:400; }
.ko-story-intro > p { max-width:37ch; color:#c2cabf; font-size:1.08rem; line-height:1.84; }
.ko-story-projects { display:flex; flex-direction:column; gap:10px; margin-top:40px; }
.ko-story-projects a { display:flex; justify-content:space-between; gap:25px; max-width:300px; padding:15px 0; border-bottom:1px solid rgba(211,180,130,.37); color:#e0c596; font-size:.74rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.ko-story-projects a:hover { color:#fff5df; }
.ko-story-content { min-width:0; max-width:750px; font-size:1.06rem; line-height:1.92; }
.ko-story-content > p { margin-bottom:1.35em; max-width:70ch; color:#c3cbbf; }
.ko-story-content > p:first-child { font-size:1.23rem; color:#e5dece; }
.ko-story-content > h2 { margin:2em 0 .57em; font:400 clamp(2rem,3.2vw,3.25rem)/1.12 "Fraunces",Georgia,serif; letter-spacing:-.045em; color:#f0eadf; }
.ko-story-content a { color:#e6c594; text-decoration:underline; text-underline-offset:4px; }
.ko-story-content blockquote { margin:42px 0; padding:10px 0 10px 24px; border-left:2px solid #c5a676; color:#ebe2d0; font-style:italic; }
.ko-story-content blockquote p { margin:0; }
.ko-story-content blockquote cite { display:block; margin-top:15px; font:600 .72rem/1.5 "DM Sans",sans-serif; letter-spacing:.08em; color:#b9aa8d; font-style:normal; }
@media(max-width:1080px) {
 .ko-nav { display:none; }
 .ko-header-inner { min-height:78px; flex-wrap:nowrap; justify-content:space-between; padding-block:15px; }
 .ko-lang-switch { margin-left:auto; order:initial; }
 .ko-mobile-menu { display:block; position:relative; order:initial; }
 .ko-mobile-menu summary { list-style:none; display:flex; align-items:center; gap:12px; cursor:pointer; padding:12px 13px; border:1px solid rgba(211,180,130,.42); font-size:.76rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
 .ko-mobile-menu summary::-webkit-details-marker { display:none; }
 .ko-menu-bars { font-size:1.2rem; line-height:1; color:#d3b482; }
 .ko-mobile-menu nav { position:absolute; right:0; top:calc(100% + 12px); width:min(320px,calc(100vw - 38px)); display:flex; flex-direction:column; align-items:stretch; gap:0; padding:12px 19px; background:#1c251f; border:1px solid rgba(211,180,130,.44); box-shadow:0 20px 50px #090b09bf; z-index:50; }
 .ko-mobile-menu nav a { padding:15px 4px; border-bottom:1px solid rgba(230,218,198,.12); font-size:.76rem; line-height:1.35; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
 .ko-mobile-menu nav a:last-child { border-bottom:0; }
 .ko-mobile-menu nav a[aria-current="page"] { color:#e7c68d; }
 .ko-story-layout { grid-template-columns:1fr; gap:45px; }
 .ko-story-intro { position:static; border-bottom:1px solid rgba(211,180,130,.24); padding-bottom:38px; }
 .ko-story-projects { margin-top:25px; flex-direction:row; flex-wrap:wrap; gap:25px; }
}
@media(max-width:620px) {
 .ko-header-inner { gap:8px; }
 .ko-brand { gap:8px; }
 .ko-brand > span:last-child { font-size:.65rem; letter-spacing:.055em; }
 .ko-lang-switch { gap:5px; font-size:.72rem; }
 .ko-lang-switch a { padding:10px 2px; }
 .ko-mobile-menu summary { gap:7px; font-size:.7rem; padding:11px 9px; }
 .ko-story-page { padding:65px 0 95px; }
 .ko-story-intro h1 { font-size:clamp(3.4rem,12.5vw,5.6rem); }
 .ko-story-content { font-size:1rem; line-height:1.85; }
 .ko-story-content > h2 { font-size:clamp(2rem,10vw,2.7rem); }
}
@media(prefers-reduced-motion:reduce) { .ko-story-projects a { transition:none; } }

/* 2026-10-19 — One footer layout for homepage, About and all project pages. */
.ko-footer {
  clear:both;
  padding:0;
  margin:0;
  background:#141d18;
  border-top:1px solid rgba(230,215,186,.26);
  color:#aab5a9;
}
.ko-footer .ko-footer-inner {
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  align-items:start;
  gap:clamp(24px,5vw,76px);
  padding-block:clamp(38px,5vw,66px) clamp(32px,4vw,52px);
  font-size:.82rem;
  line-height:1.75;
  letter-spacing:.01em;
}
.ko-footer-identity { min-width:0; }
.ko-footer-copy {
  margin:0;
  color:#f0e6d6;
  font-weight:600;
  font-size:.91rem;
  letter-spacing:.01em;
}
.ko-footer-motto {
  margin:10px 0 0;
  color:#abb7aa;
  font-size:.87rem;
  line-height:1.65;
}
.ko-footer-nav {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:9px 22px;
  min-width:0;
}
.ko-footer-nav a {
  display:inline-flex;
  align-items:center;
  color:#d9bd8d;
  line-height:1.6;
  white-space:normal;
  text-decoration:none;
  text-underline-offset:4px;
}
.ko-footer-nav a:hover,.ko-footer-nav a:focus-visible { color:#f7e7c7; text-decoration:underline; }
.ko-footer .ko-footer-credit {
  margin:0 auto;
  padding-block:20px 29px;
  border-top:1px solid rgba(241,231,210,.15);
  color:#aab5a9;
  font-size:.76rem;
  line-height:1.75;
  letter-spacing:.015em;
}
.ko-footer-credit p { margin:0; }
.ko-footer-credit strong,.ko-footer-credit strong a { color:#e1c08e; font-weight:650; }
.ko-footer-credit a:hover { color:#f7e7c7; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:920px) {
  .ko-footer .ko-footer-inner { grid-template-columns:1fr; gap:24px; padding-block:36px 27px; }
  .ko-footer-nav { justify-content:flex-start; }
}
@media(max-width:620px) {
  .ko-footer .ko-footer-inner { gap:24px; }
  .ko-footer-nav { gap:9px 18px; }
  .ko-footer-nav a { min-height:29px; font-size:.8rem; }
  .ko-footer .ko-footer-credit { padding-block:18px 28px; }
}

