@font-face {
  font-family: 'Pretendard Variable';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/PretendardVariable.woff2') format('woff2');
}
/* Shared editorial system: wide type, precise columns, quiet motion. */
body.editorial {
  --bg-color: #ffffff;
  --bg-secondary: #ffffff;
  --bg-tertiary: #ffffff;
  --text-color: #111111;
  --text-secondary: #555555;
  --text-muted: #737373;
  --accent-color: #df201b;
  --accent-hover: #ba1713;
  --accent-warm: #df201b;
  --border-color: #11111126;
  --max-width: 1680px;
  --header-height: 88px;
  --gutter: clamp(22px, 4.5vw, 88px);
  font-family: 'Pretendard Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--bg-color);
  color: var(--text-color);
  -webkit-font-smoothing: antialiased;
}
.editorial button, .editorial input, .editorial select, .editorial textarea { font-family:inherit; }
.editorial ::selection { color:#ffffff; background:#df201b; }
.editorial .container, .editorial .header-inner { max-width:var(--max-width); padding-inline:var(--gutter); }
.editorial .page-content { overflow:clip; }
.editorial .header { background:#ffffffed; border-bottom:1px solid var(--border-color); backdrop-filter:blur(14px); }
html.is-scrolled .editorial .header { background:#fffffff5; }
.editorial .logo img { filter:brightness(0); height:2.8rem; }
.editorial .nav { gap:clamp(.2rem,1vw,1.3rem); }
.editorial .nav-link { font-size:.75rem; padding:.9rem .6rem; font-weight:500; }
.editorial .nav-link::before { content:attr(data-index); font:9px 'Pretendard Variable',sans-serif; margin-right:.6rem; opacity:.5; vertical-align:top; }
.editorial .nav-link::after { background:currentColor; }
.editorial .dropdown { background:var(--bg-color); border-radius:0; box-shadow:0 12px 24px #1111110c; }
.editorial .nav-item:focus-within .dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.editorial .dropdown-link:hover { background:var(--bg-secondary); }
.editorial .lang-toggle { margin-left:1.5rem; font:11px 'Pretendard Variable',sans-serif; }
.editorial .lang-btn { padding:.5rem .3rem; }
.editorial .mobile-menu-btn span { background:var(--text-color); }
.editorial .scroll-progress { background:var(--accent-color); height:2px; }
.editorial .section, .editorial .process-section { padding:clamp(64px,8vw,136px) 0; background:transparent; }
.editorial .section-title { font-size:clamp(2rem,4.5vw,4.5rem); font-weight:500; line-height:1.15; letter-spacing:-.055em; text-align:left; max-width:18ch; margin-bottom:1.5rem; }
.editorial .section-subtitle { font-size:.95rem; line-height:1.9; text-align:left; max-width:40rem; margin-bottom:3rem; }
.editorial .section-label, .editorial .projects-label, .editorial .page-kicker, .editorial .case-eyebrow { font:10px/1.6 'Pretendard Variable',sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-color); }
.editorial .section-label { display:flex; justify-content:space-between; border-top:1px solid var(--border-color); padding-top:14px; margin-bottom:3rem; }
.editorial .page-hero { padding:clamp(72px,8vw,132px) 0 60px !important; border-bottom:1px solid var(--border-color); background:none !important; }
.editorial .page-hero::after { display:none; }
.editorial .page-hero > .container { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; }
.editorial .page-kicker { grid-column:1/-1; display:flex; margin:0 0 32px; gap:1rem; }
.editorial .page-hero .hero-title { grid-column:1/11; font-size:clamp(2.8rem,6.5vw,7rem) !important; font-weight:500; line-height:1.1; letter-spacing:-.06em; margin:0; }
.editorial .page-hero .hero-subtitle { grid-column:7/-1; margin:24px 0 0; font-size:1rem; max-width:35rem; line-height:1.9; }
.editorial .scroll-cue, .editorial .page-rail { display:none; }
.editorial .btn { border-radius:0; padding:.9rem 0; font-size:.85rem; font-weight:500; display:inline-flex; align-items:center; justify-content:space-between; gap:3rem; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--text-color); }
.editorial .btn::after { content:'↗'; display:inline-block; font-size:1.4rem; transition:transform .35s var(--ease-out-expo); }
.editorial .btn:hover { background:transparent; color:var(--accent-color); }
.editorial .btn:hover::after { transform:translate(4px,-4px); }
.editorial :is(a,button,summary,input,select,textarea):focus-visible { outline:2px solid var(--accent-color); outline-offset:5px; }
.editorial :is(.card,.capability-card,.service-card,.expertise-card,.value-card,.feature-card,.benefit-card,.approach-card,.process-item,.team-card,.report-card,.experience-card,.marketing-card,.support-item,.brand-card) {
  border-radius:0; background:transparent; border:0; border-top:1px solid var(--border-color); padding:1.75rem 0; box-shadow:none; text-align:left;
}
.editorial :is(.card,.capability-card,.service-card,.expertise-card,.value-card,.feature-card,.benefit-card,.approach-card,.team-card):hover { transform:none; background:transparent; border-color:var(--accent-color); }
.editorial :is(.card-title,.capability-card h3,.service-card h3,.value-card h3) { font-size:clamp(1.15rem,1.7vw,1.6rem); letter-spacing:-.025em; }
.editorial :is(.card p,.capability-card p,.service-card p,.value-card p,.expertise-card p) { color:var(--text-secondary); font-size:.9rem; line-height:1.9; }
.editorial :is(.capability-grid,.values-grid,.expertise-grid,.services-grid,.features-grid) { gap:2rem; }
.editorial .number-orbit { border-color:var(--accent-color); color:var(--accent-color); background:transparent; }
.editorial :is(.highlight-box,.featured-box,.contact-form,.about-content,.vision-statement) { background:var(--bg-secondary); color:var(--text-color); border-radius:0; box-shadow:none; }
.editorial :is(input,textarea,select) { color:var(--text-color); background:var(--bg-color); border-color:var(--border-color); border-radius:0; }
.editorial .cta-section { padding:clamp(80px,10vw,170px) 0; border-top:1px solid var(--border-color); text-align:left; }
.editorial .cta-section .container { text-align:left; }
.editorial .cta-section .section-title { max-width:18ch; font-size:clamp(2.7rem,6vw,6.5rem); }
.editorial .cta-section .btn { min-width:240px; }
.editorial .footer { color:#ffffff; background:#0a0a0a; padding:5rem 0 2rem; border:0; --text-secondary:#bfbfbf; --text-muted:#999999; --border-color:#ffffff25; --accent-color:#ff3b30; }
.editorial .footer::before { content:'LOONSHOTSTUDIO'; display:block; max-width:1680px; padding:0 var(--gutter); margin:0 auto 4rem; font-size:clamp(1.7rem,8.3vw,9rem); line-height:1; letter-spacing:-.065em; font-weight:500; }
.editorial .footer-top { gap:2rem; }
.editorial .footer-logo { display:none; }
.editorial .footer .footer-links a { color:#ffffff; }
.editorial .footer-biz dd, .editorial .footer-biz dd a { color:#bfbfbf; }
/* Main: a typographic opening and one reactive, interlocking sculpture. */
.editorial.home-page .page-content { padding-top:0; }
.editorial.home-page:not(.past-hero) .header { background:#0a0a0aaa; border-color:#ffffff1c; }
.editorial.home-page:not(.past-hero) .header .logo img { filter:none; }
.editorial.home-page:not(.past-hero) .header .nav-link { color:#ffffff; }
.editorial.home-page:not(.past-hero) .header .lang-btn { color:#a8a8a8; }
.editorial.home-page:not(.past-hero) .header .lang-btn.active { color:#ff3b30; }
.editorial.home-page:not(.past-hero) .header .mobile-menu-btn span { background:#ffffff; }
.editorial .hero { min-height: min(960px,100svh); min-height:max(780px,100svh); display:block; text-align:left; background:#0a0a0a; color:#ffffff; overflow:hidden; position:relative; padding:calc(var(--header-height) + 46px) 0 0; }
.editorial .hero-meta { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:1rem; font:10px 'Pretendard Variable',sans-serif; letter-spacing:.03em; color:#aaaaaa; }
.editorial .hero-meta span:first-child::before { content:''; display:inline-block; width:5px; height:5px; background:#ff3b30; border-radius:50%; margin-right:9px; }
.editorial .hero-content { position:relative; z-index:2; padding-top:clamp(110px,15vh,200px); padding-bottom:160px; pointer-events:none; animation:none; }
.editorial .hero-content a { pointer-events:auto; }
.editorial .hero-eyebrow { color:#aaaaaa; font:10px 'Pretendard Variable',sans-serif; text-transform:uppercase; letter-spacing:.12em; margin-bottom:2rem; }
.editorial .hero .hero-title { font-size:clamp(3.1rem,6.1vw,6.7rem) !important; max-width:15ch; line-height:1.18; letter-spacing:-.06em; font-weight:500; margin-bottom:2rem; }
.editorial .hero .hero-subtitle { font-size:.88rem; color:#c6c6c6; line-height:1.9; max-width:360px; margin:0 0 1.6rem; }
.editorial .hero .btn { color:#ffffff; min-width:220px; }
.editorial .hero-scene { position:absolute; z-index:1; right:-4%; top:9%; width:67%; height:85%; pointer-events:none; }
.editorial .hero-scene canvas { width:100%; height:100%; display:block; position:absolute; inset:0; }
.editorial .sculpture-fallback { position:absolute; inset:15% 12%; }
.editorial .sculpture-fallback i { position:absolute; width:65%; aspect-ratio:1; top:12%; left:0; border:clamp(12px,3vw,45px) solid #df201b; border-radius:50%; transform:rotate(-30deg) scaleX(.8); }
.editorial .sculpture-fallback i + i { left:35%; top:22%; border-color:#999999; transform:rotate(30deg) scaleX(.8); }
.editorial .hero-scene.is-rendered .sculpture-fallback { display:none; }
.editorial .hero-bottom { position:absolute; inset:auto 0 28px; display:grid; grid-template-columns:1fr 1fr; align-items:end; z-index:2; font:10px/1.6 'Pretendard Variable',sans-serif; color:#aaaaaa; }
.editorial .hero-bottom a { color:#ffffff; justify-self:end; display:flex; gap:3rem; align-items:center; }
.editorial .hero-bottom a span[aria-hidden] { font-size:22px; }
.editorial .connect-section { padding:clamp(80px,10vw,170px) 0; }
.editorial .connect-layout { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:2rem; }
.editorial .connect-layout .section-label { grid-column:1/4; display:block; }
.editorial .connect-layout .connect-title { grid-column:5/-1; font-size:clamp(2.4rem,4.7vw,4.8rem); max-width:17ch; }
.editorial .connect-layout .connect-body { grid-column:7/-1; font-size:.95rem; line-height:2; color:var(--text-secondary); }
.editorial .cycle-section { border:0; padding-top:0; }
.editorial .cycle-grid { display:block; margin-top:3rem; animation:none; }
.editorial .cycle-thread { display:none; }
.editorial .cycle-card { display:grid; grid-template-columns:60px 1.3fr .75fr 1fr 30px; gap:1.5rem; align-items:center; border:0; border-top:1px solid var(--border-color); padding:2.2rem 0; border-radius:0; text-align:left; background:transparent; transition:color .3s, padding .4s var(--ease-out-expo); }
.editorial .cycle-card:last-child { border-bottom:1px solid var(--border-color); }
.editorial .cycle-card::after { content:'↗'; position:static; font-size:1.6rem; background:none; opacity:1; }
.editorial .cycle-card:hover { padding-inline:12px; background:transparent; transform:none; color:var(--accent-color); }
.editorial .cycle-number { color:var(--accent-color); font:11px 'Pretendard Variable',sans-serif; margin:0; }
.editorial .cycle-number i { display:none; }
.editorial .cycle-title { margin:0; font-weight:500; font-size:clamp(1.1rem,2vw,1.8rem); letter-spacing:-.04em; }
.editorial .cycle-subtitle { margin:0; font:10px/1.6 'Pretendard Variable',sans-serif; color:var(--text-muted); }
.editorial .cycle-description { font-size:.78rem; color:var(--text-secondary); line-height:1.8; }
.editorial .cycle-brand { display:none; }
.editorial .projects-preview { padding:20px 0 120px; }
.editorial .work-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:3rem; }
.editorial .work-heading .section-title { margin:0; }
.editorial .work-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:5rem 2rem; }
.editorial .work-card { grid-column:span 6; display:block; min-width:0; }
.editorial .work-card:nth-child(4n+1) { grid-column:span 7; }
.editorial .work-card:nth-child(4n+2) { grid-column:span 5; margin-top:8rem; }
.editorial .work-card:nth-child(4n+3) { grid-column:span 5; }
.editorial .work-card:nth-child(4n+4) { grid-column:span 7; margin-top:8rem; }
.editorial .work-image { position:relative; display:grid; place-items:center; aspect-ratio:4/3; overflow:hidden; background:#ffffff; }
.editorial .work-image img { width:100%; height:100%; object-fit:contain; transition:filter .6s; }
.editorial .work-card:first-child .work-image { background:#ffffff; }
.editorial .work-image::after { content:'↗'; position:absolute; right:18px; bottom:18px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:var(--bg-color); color:var(--text-color); font-size:23px; transform:translateY(80px); transition:transform .45s var(--ease-out-expo); }
.editorial .work-card:is(:hover,:focus-visible) .work-image::after { transform:translateY(0); }
.editorial .work-caption { display:flex; justify-content:space-between; align-items:start; gap:1rem; padding-top:1.25rem; border-top:1px solid var(--border-color); margin-top:1rem; }
.editorial .work-caption h3 { font-size:clamp(1.2rem,2vw,1.75rem); font-weight:500; letter-spacing:-.04em; }
.editorial .work-caption p, .editorial .work-caption > span { font:10px/1.8 'Pretendard Variable',sans-serif; color:var(--text-secondary); margin-top:.5rem; }
/* Project archive and the full-page project sheet share the same columns. */
.editorial .case-intro { align-items:start; }
.editorial .case-intro h2 { max-width:17ch; font-weight:500; font-size:clamp(2rem,3.8vw,4rem); line-height:1.2; }
.editorial .case-intro > p { font-size:.85rem; }
.editorial .case-note { max-width:740px; }
.editorial .case-filters { gap:.5rem 1rem; border-block:1px solid var(--border-color); padding:1rem 0; margin-top:2rem; }
.editorial .case-filters button { background:transparent; border-radius:0; padding:.4rem 0; color:var(--text-secondary); border-bottom:1px solid transparent; font-size:.7rem; }
.editorial .case-filters button[aria-pressed='true'] { color:var(--accent-color); border-bottom-color:currentColor; }
.editorial .case-count { font:10px 'Pretendard Variable',sans-serif; margin:1.3rem 0 2rem; }
.editorial .case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4rem 2rem; }
.editorial .case-card { margin:0; }
.editorial .case-card summary { display:grid; grid-template-columns:2rem 1fr 2.75rem; gap:.8rem; align-items:start; padding:0; border:0; border-radius:0; background:transparent; }
.editorial .case-card summary:hover { background:transparent; }
.editorial .case-cover { position:relative; grid-column:1/-1; grid-row:1; top:auto; right:auto; width:100%; aspect-ratio:16/10; z-index:auto; opacity:1; transform:none; border-radius:0; background:#ffffff; box-shadow:none; margin-bottom:.75rem; }
.editorial .case-card summary:is(:hover,:focus-visible) .case-cover { transform:none; }
.editorial .case-number { grid-column:1; grid-row:2; padding-top:.5rem; font:10px 'Pretendard Variable',sans-serif; }
.editorial .case-card h3 { grid-column:2; grid-row:2; font-size:clamp(1.2rem,1.9vw,1.75rem); font-weight:500; }
.editorial .case-meta { grid-column:2; grid-row:3; font:10px/1.8 'Pretendard Variable',sans-serif; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; }
.editorial .case-read { grid-column:3; grid-row:2/4; }
.editorial .case-circle { color:var(--text-color); border-color:var(--border-color); width:2.5rem; height:2.5rem; transition:background .3s,color .3s,transform .3s; }
.editorial .case-circle::before { content:'↗'; width:auto; height:auto; border-radius:0; background:none; font-size:22px; }
.editorial .case-circle::after { display:none; }
.editorial .case-card summary:is(:hover,:focus-visible) .case-circle { background:var(--accent-color); color:var(--bg-color); transform:rotate(45deg); }
.editorial .case-card[open] { grid-column:1/-1; }
.editorial .case-dialog { width:100%; max-width:100%; height:100dvh; max-height:100dvh; border-radius:0; background:var(--bg-color); color:var(--text-color); color-scheme:light; }
.editorial .case-dialog::backdrop { background:#0a0a0abd; }
.editorial .case-toolbar { padding:1.1rem var(--gutter); border-bottom:1px solid var(--border-color); background:var(--bg-color); }
.editorial .case-toolbar > span { color:var(--accent-color); font:10px 'Pretendard Variable',sans-serif; }
.editorial .case-dialog button { background:transparent; border-radius:0; color:var(--text-color); }
.editorial .case-story { max-width:1680px; padding:4rem var(--gutter); display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:3rem 2rem; }
.editorial .case-heading { grid-column:1/-1; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1rem 2rem; }
.editorial .case-heading .case-eyebrow { grid-column:1/-1; }
.editorial .case-heading h2 { grid-column:1/8; font-size:clamp(2.7rem,6vw,6rem); font-weight:500; margin:0; }
.editorial .case-heading > p:last-child { grid-column:9/-1; font-size:.87rem; color:var(--text-secondary); align-self:end; }
.editorial .case-facts { grid-column:1/4; display:block; align-self:start; padding:0; margin:0; border-radius:0; background:none; }
.editorial .case-facts > div { border-top:1px solid var(--border-color); padding:1.25rem 0; }
.editorial .case-facts dt { color:var(--text-muted); font:10px 'Pretendard Variable',sans-serif; }
.editorial .case-facts dd { font-size:.85rem; }
.editorial .case-chapters { grid-column:5/-1; min-width:0; }
.editorial .case-tabs { border-radius:0; padding:0; border-block:1px solid var(--border-color); background:transparent; gap:1rem; }
.editorial .case-tabs button { text-align:left; font-size:.75rem; padding:1rem 0; }
.editorial .case-tabs button[aria-selected='true'] { color:var(--accent-color); background:transparent; box-shadow:0 1px currentColor; }
.editorial .case-preview, .editorial .case-images figure img { border-radius:0; background:#ffffff; }
.editorial .case-chapters section > p { color:var(--text-secondary); font-size:.9rem; }
.editorial .case-source { grid-column:1/-1; padding-top:1.5rem; border-top:1px solid var(--border-color); }
.editorial .case-source p,.editorial .case-images figcaption { color:var(--text-secondary); }
.editorial .case-source a { color:var(--accent-color); }
.editorial .case-return { max-width:1680px; padding:0 var(--gutter) 4rem; text-align:right; }
.editorial .case-return button { color:var(--text-color); border-bottom:1px solid; padding:1rem 0; }
.editorial .case-studios span { background:var(--bg-secondary); color:var(--accent-color); border-radius:0; }
.editorial .case-image-dots button::before { border-color:var(--accent-color); }
.editorial .case-image-dots button[aria-pressed='true']::before { background:var(--accent-color); }
.editorial .gallery-item { border-radius:0; background:#0a0a0a; color:#ffffff; }
.editorial .gallery-overlay p { color:#c6c6c6; }
.editorial .filter-tab, .editorial .pagination-btn { border-radius:0; }
.editorial .filter-tab.active, .editorial .pagination-btn.active { background:var(--text-color); border-color:var(--text-color); color:var(--bg-color); }
/* Entrance animation only; native scrolling remains immediate. */
.editorial .connect-section .container, .editorial .project-grid, .editorial .cta-section .container { animation:none; }
.editorial [data-editorial-reveal] { transition:opacity .75s ease, translate .9s var(--ease-out-expo); }
.editorial .editorial-pending { opacity:0; translate:0 32px; }
@media (min-width:1025px) {
 .editorial .section > .container:has(> .section-subtitle):not(:has(.case-intro)) > .section-subtitle { margin-left:50%; margin-top:-2rem; }
}
@media (max-width:1024px) {
 .editorial { --header-height:76px !important; }
 .editorial .nav { background:var(--bg-color) !important; }
 .editorial.home-page:not(.past-hero) .nav .nav-link { color:var(--text-color); }
 .editorial.home-page:not(.past-hero) .nav .lang-btn { color:var(--text-muted); }
 .editorial.home-page:not(.past-hero) .nav .lang-btn.active { color:var(--accent-color); }
 .editorial .hero-scene { width:85%; right:-22%; opacity:.8; }
 .editorial .cycle-card { grid-template-columns:32px 1.3fr 1fr 22px; }
 .editorial .cycle-subtitle { display:none; }
 .editorial .case-heading > p:last-child { grid-column:8/-1; }
}
@media (max-width:768px) {
 .editorial .hero { min-height:880px; padding-top:calc(var(--header-height) + 25px); }
 .editorial .hero-meta { font-size:8px; }
 .editorial .hero-meta span:last-child { display:none; }
 .editorial .hero-scene { top:10%; right:-8%; width:100%; height:52%; opacity:1; }
 .editorial .hero-content { padding-top:310px; padding-bottom:110px; }
 .editorial .hero .hero-title { font-size:clamp(2.4rem,8.8vw,4rem) !important; line-height:1.18; }
 .editorial .hero-eyebrow { font-size:8px; letter-spacing:.06em; margin-bottom:1.2rem; }
 .editorial .hero .hero-subtitle { font-size:.8rem; max-width:300px; }
 .editorial .hero-bottom { font-size:8px; }
 .editorial .hero-bottom a { gap:1.5rem; }
 .editorial .connect-layout { display:block; }
 .editorial .connect-layout .section-label { margin-bottom:3rem; }
 .editorial .connect-layout .connect-title { font-size:2.6rem; }
 .editorial .connect-layout .connect-body { margin:2rem 0 0 15%; font-size:.86rem; }
 .editorial .cycle-card { grid-template-columns:26px 1fr 24px; gap:1rem; padding:1.5rem 0; }
 .editorial .cycle-title { font-size:1.3rem; }
 .editorial .cycle-description { grid-column:2; grid-row:2; }
 .editorial .cycle-card::after { grid-column:3; grid-row:1; }
 .editorial .work-heading { display:block; }
 .editorial .work-heading .btn { margin-top:1.5rem; }
 .editorial .work-grid { display:block; }
 .editorial .work-card:nth-child(n) { margin:0 0 3rem; }
 .editorial .work-image::after { transform:none; width:36px; height:36px; }
 .editorial .projects-preview { padding-bottom:50px; }
 .editorial .page-hero .hero-title { grid-column:1/-1; font-size:clamp(2.4rem,9vw,4.5rem) !important; }
 .editorial .page-hero .hero-subtitle { grid-column:3/-1; margin-top:1rem; font-size:.88rem; }
 .editorial .page-kicker { margin-bottom:12px; font-size:9px; flex-wrap:wrap; }
 .editorial .section-title { font-size:2.3rem; }
 .editorial .case-grid { grid-template-columns:1fr; gap:3rem; }
 .editorial .case-cover { display:block; }
 .editorial .case-intro { display:block; }
 .editorial .case-intro > p { margin-top:1.5rem; }
 .editorial .case-story { display:block; padding-top:2rem; }
 .editorial .case-heading { display:block; }
 .editorial .case-heading h2 { margin:1rem 0 1.5rem; }
 .editorial .case-heading > p:last-child { margin-bottom:2rem; }
 .editorial .case-facts { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:2rem; }
 .editorial .case-toolbar { gap:.5rem; }
 .editorial .case-toolbar > span { font-size:8px; }
 .editorial .case-dialog button { font-size:.7rem; padding:.8rem .3rem; }
 .editorial .case-source { flex-direction:column; align-items:start; }
 .editorial .footer { padding-top:3.5rem; }
 .editorial .footer::before { margin-bottom:3rem; }
}
@media (prefers-reduced-motion:reduce) {
 .editorial *, .editorial *::before, .editorial *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
 .editorial .editorial-pending { opacity:1; translate:none; }
}

/* Portfolio index: text leads, the image is revealed by intention. */
.editorial .work-grid, .editorial .case-grid { display:block; }
.editorial .work-card:nth-child(n) { margin:0; }
.editorial .work-card, .editorial .case-card summary {
  position:relative; padding:2.5rem 0; border-top:1px solid var(--border-color);
  transition:color .35s ease; isolation:isolate;
}
.editorial .work-card:last-child, .editorial .case-card:last-child summary { border-bottom:1px solid var(--border-color); }
.editorial .work-caption { display:grid; grid-template-columns:50px minmax(0,1.4fr) minmax(0,1fr) 44px; gap:2rem; align-items:center; padding:0; border:0; margin:0; }
.editorial .work-caption > div { display:contents; }
.editorial .work-caption > span { grid-column:1; grid-row:1; font-size:11px; margin:0; }
.editorial .work-caption h3 { grid-column:2; grid-row:1; font-size:clamp(1.5rem,2.6vw,2.5rem); font-weight:500; }
.editorial .work-caption p { grid-column:3; grid-row:1; font-size:12px; margin:0; }
.editorial .work-caption::after { content:'↗'; grid-column:4; grid-row:1; justify-self:end; font-size:30px; transition:transform .4s var(--ease-out-expo); }
.editorial .work-card:hover .work-caption::after { transform:rotate(45deg); }
.editorial .case-card { margin:0; }
.editorial .case-card summary { grid-template-columns:50px minmax(0,1.4fr) minmax(0,1fr) 44px; gap:2rem; align-items:center; }
.editorial .case-number { grid-column:1; grid-row:1; padding:0; font-size:11px; }
.editorial .case-card h3 { grid-column:2; grid-row:1; font-size:clamp(1.5rem,2.6vw,2.5rem); font-weight:500; letter-spacing:-.04em; }
.editorial .case-meta { grid-column:3; grid-row:1; display:block; font-size:12px; }
.editorial .case-meta span:last-child { color:var(--text-muted); }
.editorial .case-read { grid-column:4; grid-row:1; }
.editorial .case-circle { border:0; }
.editorial .case-circle::before { font-size:30px; }
.editorial .case-card summary:is(:hover,:focus-visible) .case-circle { color:var(--accent-color); background:transparent; }
.editorial .work-image, .editorial .case-cover {
  display:block; position:absolute; left:auto; right:14%; top:50%; width:clamp(220px,26vw,400px); height:auto; aspect-ratio:4/3;
  z-index:5; opacity:0; pointer-events:none; margin:0; border-radius:0; box-shadow:0 15px 50px #00000014;
  transform:translate3d(var(--preview-x,0px),calc(-45% + var(--preview-y,0px)),0) rotate(-3deg) scale(.94);
  transition:opacity .25s ease,transform .6s var(--ease-out-expo);
}
.editorial .work-image::after { display:none; }
.editorial .work-card:is(:hover,:focus-visible) .work-image,
.editorial .case-card summary:is(:hover,:focus-visible) .case-cover {
  opacity:1; transform:translate3d(var(--preview-x,0px),calc(-50% + var(--preview-y,0px)),0) rotate(-3deg) scale(1);
}
.editorial .work-card::before, .editorial .case-card summary::before {
  content:''; position:absolute; top:-1px; left:0; width:100%; height:1px; background:var(--accent-color);
  transform:scaleX(0); transform-origin:0 50%; transition:transform .6s var(--ease-out-expo);
}
.editorial .work-card:is(:hover,:focus-visible), .editorial .case-card summary:is(:hover,:focus-visible) { z-index:6; color:var(--accent-color); }
.editorial .work-card:is(:hover,:focus-visible)::before, .editorial .case-card summary:is(:hover,:focus-visible)::before { transform:scaleX(1); }
.editorial .roll-window { display:grid; overflow:hidden; vertical-align:bottom; }
.editorial .roll-copy { grid-area:1/1; display:block; transition:transform .6s var(--ease-out-expo); }
.editorial .roll-copy[aria-hidden] { transform:translateY(115%); }
.editorial :is(.work-card,summary,.nav-link,.btn):is(:hover,:focus-visible) .roll-copy:first-child { transform:translateY(-115%); }
.editorial :is(.work-card,summary,.nav-link,.btn):is(:hover,:focus-visible) .roll-copy[aria-hidden] { transform:translateY(0); }
.editorial .nav-link { display:flex; align-items:center; }
.editorial .nav-link .roll-window { padding-block:1px; }
.editorial .book-card { border-radius:0; background:transparent; border:0; }
.editorial .book-info { padding:1.5rem 0; }
.editorial .book-card:hover, .editorial .book-card:hover .book-cover img { transform:none; }
.editorial .book-link, .editorial .book-tag { border-radius:0; }
.editorial .info-icon { background:transparent !important; color:var(--accent-color); border-color:var(--border-color); }
.editorial .number-orbit { --accent-warm:var(--accent-color); }
.editorial .number-orbit::after { border-color:var(--accent-color); }
.editorial .page-kicker > span { color:var(--text-secondary); }
.editorial .page-kicker > span:first-child { color:var(--accent-color); }
@media (hover:none), (max-width:768px) {
 .editorial .work-card, .editorial .case-card summary { padding:1.5rem 0; }
 .editorial .work-caption, .editorial .case-card summary { grid-template-columns:24px minmax(0,1fr) 30px; gap:.75rem; }
 .editorial .work-caption h3, .editorial .case-card h3 { font-size:1.5rem; }
 .editorial .work-caption p, .editorial .case-meta { grid-column:2; grid-row:2; font-size:11px; }
 .editorial .work-caption::after, .editorial .case-read { grid-column:3; grid-row:1; }
 .editorial .work-image, .editorial .case-cover { display:none; }
 .editorial .case-meta { display:flex; justify-content:flex-start; gap:.75rem; }
}
@media (prefers-reduced-motion:reduce) {
 .editorial .roll-copy { transition:none; }
 .editorial .roll-copy[aria-hidden] { display:none; }
 .editorial :is(.work-card,summary,.nav-link,.btn):is(:hover,:focus-visible) .roll-copy:first-child { transform:none; }
}

/* Connection circles replace rectangular interface shapes. Artwork stays intact. */
.editorial .work-image, .editorial .work-card:first-child .work-image, .editorial .case-cover,
.editorial .case-preview, .editorial .case-images figure img { background:#fff; }
.editorial .work-image, .editorial .case-cover {
  aspect-ratio:1; border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 18px 60px #00000012; border:1px solid #11111110;
}
.editorial .work-image img, .editorial .case-cover img { width:84%; height:70%; object-fit:contain; flex-shrink:0; }
.editorial .work-caption > span, .editorial .case-number, .editorial .cycle-number {
  display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--border-color); border-radius:50%;
  font-size:10px; font-variant-numeric:tabular-nums; transition:background .3s,color .3s,border-color .3s;
}
.editorial :is(.work-card,summary,.cycle-card):is(:hover,:focus-visible) :is(.case-number,.cycle-number,.work-caption > span) {
  color:white; background:var(--accent-color); border-color:var(--accent-color);
}
.editorial .case-filters button, .editorial .filter-tab { border:1px solid var(--border-color); border-radius:999px; padding:.65rem 1rem; }
.editorial .case-filters button[aria-pressed='true'] { background:var(--text-color); color:white; border-color:var(--text-color); }
.editorial .case-filters button[aria-pressed='true']::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:#ff3b30; margin-right:.5rem; }
.editorial .case-filters { gap:.5rem; }
.editorial .pagination-btn { border-radius:50%; }
.editorial .btn { border-bottom:0; gap:1.75rem; justify-content:flex-start; }
.editorial .btn::after { width:46px; height:46px; border:1px solid currentColor; border-radius:50%; display:grid; place-items:center; font-size:22px; }
.editorial .btn:hover::after { transform:rotate(45deg); background:var(--accent-color); color:white; border-color:var(--accent-color); }
.editorial .cta-section .container { position:relative; }
.editorial .cta-section .btn { width:164px; min-width:0; height:164px; border:1px solid var(--text-color); border-radius:50%; flex-direction:column; justify-content:center; gap:10px; padding:20px; margin-top:1.5rem; }
.editorial .cta-section .btn::after { width:auto; height:auto; border:0; background:transparent; }
.editorial .cta-section .btn:hover { background:var(--accent-color); color:#fff; border-color:var(--accent-color); }
.editorial .nav-link::before { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; border:1px solid transparent; opacity:.65; font-size:9px; flex-shrink:0; }
.editorial .nav-item.is-current > .nav-link { color:var(--accent-color); }
.editorial .nav-item.is-current > .nav-link::before { opacity:1; border-color:var(--accent-color); background:var(--accent-color); color:white; }
.editorial .nav-current-label { position:absolute; left:2.8rem; bottom:0; font-size:9px; font-weight:500; color:var(--accent-color); white-space:nowrap; pointer-events:none; }
.editorial .dropdown-link[aria-current='page'] { color:var(--accent-color); background:var(--bg-secondary); }
.editorial .dropdown-link[aria-current='page'] span:first-child { color:var(--accent-color); }
.editorial .dropdown-link[aria-current='page'] span:first-child::before { content:''; display:inline-block; width:5px; height:5px; background:currentColor; border-radius:50%; margin-right:7px; }
.editorial .lang-btn.active { box-shadow:none; position:relative; }
.editorial .lang-btn.active::after { content:''; position:absolute; width:4px; height:4px; border-radius:50%; background:currentColor; bottom:0; left:calc(50% - 2px); }
.editorial .case-toolbar button { border:1px solid var(--border-color); border-radius:999px; padding:.7rem 1rem; }
.editorial .case-return button { border:1px solid var(--border-color); border-radius:999px; padding:.85rem 1.5rem; }
@media (min-width:1025px) { .editorial .cta-section .btn { position:absolute; right:var(--gutter); bottom:0; } }
@media (max-width:1024px) {
 .editorial .nav-current-label { position:static; display:block; padding:0 .25rem 1rem 2rem; font-size:11px; }
 .editorial .nav-item.is-current > .nav-link { color:var(--accent-color) !important; }
}
@media (hover:none), (max-width:768px) {
 .editorial .work-image, .editorial .case-cover { display:none; }
 .editorial .work-caption, .editorial .case-card summary { grid-template-columns:32px minmax(0,1fr) 30px; }
 .editorial .cycle-card { grid-template-columns:32px minmax(0,1fr) 24px; }
}

/* Selected work follows the reference's image / story list at a generous scale. */
.editorial .work-card:nth-child(n) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,6vw,7rem); padding:3rem 0; align-items:center; }
.editorial .work-card .work-image {
  position:relative; inset:auto; width:min(100%,460px); aspect-ratio:1; height:auto; opacity:1; justify-self:center;
  box-shadow:none; border:1px solid var(--border-color); transform:none; z-index:auto;
}
.editorial .work-card:is(:hover,:focus-visible) .work-image { transform:translate3d(calc(var(--preview-x,0px) * .2),calc(var(--preview-y,0px) * .2),0); }
/* Art-directed windows into the original project imagery, without slide captions. */
.editorial .work-art { position:absolute; inset:0; display:block; transition:transform .8s var(--ease-out-expo); }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .editorial .work-card:is(:hover,:focus-visible) .work-art { transform:scale(1.07) rotate(-2deg); }
}
.editorial .work-card .work-image img {
  position:absolute; max-width:none; width:var(--art-width,100%); height:auto;
  left:var(--art-left,0%); top:var(--art-top,0%); object-fit:cover;
}
/* Square viewports: source crop x/y/size = 630/235/250, 980/490/294, 630/0/810. */
.editorial .work-image--golden-circle { --art-width:576%; --art-left:-252%; --art-top:-94%; }
.editorial .work-image--galaxy-studio { --art-width:489.796%; --art-left:-333.333%; --art-top:-166.667%; }
.editorial .work-image--virtual-space { --art-width:177.778%; --art-left:-77.778%; --art-top:0%; }
.editorial .work-card .work-caption { display:block; position:relative; padding-top:3.5rem; }
.editorial .work-card .work-caption > span { position:absolute; left:0; top:0; }
.editorial .work-card .work-caption h3 { font-size:clamp(2rem,3.4vw,3.5rem); letter-spacing:-.05em; }
.editorial .work-card .work-summary { font-size:clamp(.9rem,1.1vw,1.1rem); line-height:1.8; margin:1.5rem 0; max-width:34em; }
.editorial .work-card .work-tags { font-size:11px; color:var(--text-muted); }
.editorial .work-card .work-caption::after { position:absolute; top:0; right:0; font-size:28px; }
@media (max-width:768px) {
 .editorial .work-card:nth-child(n) { display:block; padding:2rem 0; }
 .editorial .work-card .work-image { display:flex; width:78%; margin:0 auto 2rem; }
 .editorial .work-card .work-caption h3 { font-size:2rem; }
 .editorial .work-card .work-summary { font-size:.9rem; margin:1rem 0; }
}

/* Library surfaces stay white; the books supply their own artwork. */
.editorial .about-section, .editorial .about-content, .editorial .about-image,
.editorial .book-cover, .editorial .book-card, .editorial .book-info,
.editorial .book-tag { background:#fff; }
.editorial .about-icon { color:var(--accent-color); }
.editorial .book-tag { border:1px solid var(--border-color); border-radius:999px; }
.editorial .book-status { border-color:var(--border-color); }

/* Button family: circular icon controls and rounded text actions. */
.editorial button, .editorial .book-link, .editorial .btn { border-radius:999px; }
.editorial .btn { padding:.65rem 1.25rem; border:1px solid var(--border-color); gap:1.25rem; }
.editorial .btn::after { width:34px; height:34px; font-size:19px; }
.editorial .hero .btn { border-color:#ffffff55; min-width:0; width:fit-content; }
.editorial .btn:hover { border-color:var(--accent-color); }
.editorial .case-tabs { border:0; border-radius:999px; gap:.5rem; flex-wrap:wrap; }
.editorial .case-tabs button { border:1px solid var(--border-color); border-radius:999px; text-align:center; padding:.85rem 1rem; flex:1 1 auto; }
.editorial .case-tabs button[aria-selected='true'] { background:var(--text-color); color:#fff; box-shadow:none; border-color:var(--text-color); }
.editorial .case-dialog .case-image-dots button { border-radius:50%; }
.editorial .mobile-menu-btn { border-radius:50%; }
.editorial .pagination-btn, .editorial .fullscreen-close { border-radius:50%; }
.editorial .contact-form button[type='submit'] { border-radius:999px; }
@media (max-width:768px) {
 .editorial .case-tabs button { padding:.8rem .6rem; font-size:.7rem; }
}

/* All light-page surfaces are white; separation comes from spacing and fine rules. */
.editorial :is(.team-section,.expertise-section,.experience-section,.values-section,.timeline-section,.about-section,.stats-section,.vision-section) { background:#fff; }
.editorial :is(.team-card,.expertise-item,.experience-card,.timeline-day,.stat-item,.vision-statement,.highlight-box,.featured-box,.contact-form) { background:#fff; }

/* Override the previous translucent connection-field surfaces on every detail page. */
.editorial:not(.home-page) .page-content > section,
.editorial .page-content .sidebar-section { background:#fff; }
