@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Noto+Sans+KR:wght@400;500;700;900&family=Noto+Serif+KR:wght@500;700&display=swap');
:root{--ink:#54534d;--paper:#fbfaf6;--line:#c9c3b6;--green:#795c51;--violet:#8b7a3e;--red:#8b7a3e;--moon:#f8b432;--pad:clamp(24px,4vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',sans-serif}.topbar{height:92px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:190px 1fr auto;align-items:center;padding:0 var(--pad);position:sticky;top:0;background:rgba(242,240,234,.94);backdrop-filter:blur(12px);z-index:10}.brand{font:1.1rem/0.82 'Archivo Black';letter-spacing:-.06em;color:inherit;text-decoration:none;display:flex;flex-direction:column;width:max-content}.topbar nav{display:flex;gap:clamp(18px,3vw,48px);justify-content:center}.topbar nav a,.lang{font-size:.75rem;font-weight:700;color:inherit;text-decoration:none;background:none;border:0}.lang span{color:#777}.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:190px 1.35fr .85fr;border-bottom:1px solid var(--line)}.hero-index{padding:var(--pad);padding-left:var(--pad);font-size:.67rem;line-height:1.55;border-right:1px solid var(--line)}.hero-copy{padding:clamp(50px,7vw,110px) var(--pad)}.eyebrow{font-size:.7rem;font-weight:900;letter-spacing:.18em;margin:0 0 32px}.hero h1{font:clamp(3.4rem,8vw,8.5rem)/.88 'Archivo Black',sans-serif;letter-spacing:-.075em;margin:0}.hero h1 em{font-family:'Noto Serif KR';font-weight:500;color:var(--red);font-style:normal;letter-spacing:-.09em}.intro{max-width:520px;font:1.1rem/1.8 'Noto Serif KR';margin:48px 0 36px}.hero-actions{display:flex;gap:28px;align-items:center}.button{display:inline-block;padding:16px 24px;text-decoration:none;font-size:.8rem;font-weight:700}.button.dark{background:var(--ink);color:white}.text-link{font-size:.78rem;font-weight:700;color:inherit;text-decoration:none;border-bottom:1px solid;padding-bottom:4px}.text-link span{margin-left:10px}.manifesto{background:var(--green);color:#fff;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between;min-height:530px}.number{font:4rem/1 'Archivo Black';opacity:.2}.manifesto>p{font:clamp(1.6rem,3vw,3.3rem)/1.35 'Noto Serif KR';letter-spacing:-.05em}.orbit{border:1px solid rgba(255,255,255,.5);border-radius:50%;aspect-ratio:1;position:relative;max-width:300px;align-self:center}.orbit span{position:absolute;font-size:.65rem;font-weight:700}.orbit span:nth-child(1){top:-6px;left:43%}.orbit span:nth-child(2){right:-16px;top:47%}.orbit span:nth-child(3){bottom:-6px;left:42%}.orbit span:nth-child(4){left:-14px;top:47%}.section{padding:clamp(70px,10vw,150px) var(--pad);border-bottom:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px}.section h2{font:clamp(2.4rem,5vw,5.8rem)/1.03 'Noto Serif KR';letter-spacing:-.075em;margin:0}.book-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2.5vw,38px);overflow-x:auto;padding-bottom:20px}.book-card{min-width:170px}.cover{aspect-ratio:128/188;padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 25px rgba(0,0,0,.12);font-family:'Noto Serif KR';font-size:clamp(1rem,1.8vw,1.65rem);transition:transform .25s}.book-card:hover .cover{transform:translateY(-8px)}.cover small{font:500 .6rem/1.5 'Noto Sans KR'}.cover-pungjang{background:#efeee8;color:#8c241d;border-top:18px solid #292725}.cover-dangjoe{background:#153d32;color:white}.cover-here{background:#eee9e5;color:#2e3029}.cover-tree{background:#716080;color:white}.cover-receipt{background:#ebe7dc;color:#222}.book-info p{font-size:.6rem;letter-spacing:.12em;margin:22px 0 8px}.book-info h3{font-size:.95rem;margin:0 0 6px}.book-info span{font-size:.72rem;color:#666}.beyond{background:var(--ink);color:#fff}.beyond-lead{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end;margin-bottom:90px}.beyond-lead p{font:1rem/1.8 'Noto Serif KR';max-width:430px}.project-card{display:grid;grid-template-columns:.55fr 1.15fr .5fr;border:1px solid #555;min-height:430px}.project-card>div{padding:clamp(26px,4vw,60px)}.project-title{display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #555}.project-title h3{font:clamp(1.8rem,3vw,3.8rem)/1.1 'Archivo Black','Noto Sans KR';letter-spacing:-.06em}.stage-window{background:var(--violet);position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.stage-window p{font:clamp(1.3rem,2.4vw,2.8rem)/1.5 'Noto Serif KR';z-index:1}.stage-window span{position:absolute;bottom:24px;font-size:.65rem;letter-spacing:.2em}.stage-line{position:absolute;width:75%;height:75%;border:1px solid rgba(255,255,255,.5);border-radius:50%;transform:rotate(-17deg)}.project-meta{display:flex;flex-direction:column;justify-content:space-between}.project-meta p{font:1rem/1.8 'Noto Serif KR'}.project-meta a{display:block;color:white;text-decoration:none;border-top:1px solid #555;padding:14px 0;font-size:.72rem}.rights{background:var(--green);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw}.rights-copy>p{font:1.1rem/1.8 'Noto Serif KR';max-width:530px}.rights-copy ul{list-style:none;padding:0;margin:45px 0}.rights-copy li{border-top:1px solid rgba(255,255,255,.35);padding:14px 0;font-size:.8rem;letter-spacing:.12em}.button.light{background:white;color:var(--green)}.about{display:grid;grid-template-columns:.45fr 1fr}.about>div{display:grid;grid-template-columns:1fr .65fr;gap:60px}.about p:last-child{font:1rem/1.9 'Noto Serif KR';max-width:420px}footer{background:var(--ink);color:white;padding:55px var(--pad);display:grid;grid-template-columns:.5fr 1fr .8fr;gap:50px;align-items:start;font-size:.75rem;line-height:1.8}footer a{color:white}footer>div{text-align:right}.inverse{color:white}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto;height:76px}.topbar nav{display:none}.hero{grid-template-columns:1fr}.hero-index{display:none}.hero-copy{min-height:72vh}.manifesto{min-height:500px}.book-grid{grid-template-columns:repeat(5,42vw)}.beyond-lead,.rights,.about,.about>div{grid-template-columns:1fr}.project-card{grid-template-columns:1fr}.project-title{min-height:230px;border-right:0;border-bottom:1px solid #555}.stage-window{min-height:420px}.project-meta{min-height:300px}.about .eyebrow{margin-bottom:50px}footer{grid-template-columns:1fr}footer>div{text-align:left}}
@media(max-width:520px){.topbar{padding:0 20px}.hero-copy,.manifesto,.section{padding-left:22px;padding-right:22px}.hero h1{font-size:3.7rem}.book-grid{grid-template-columns:repeat(5,66vw)}.section-head{align-items:start;gap:20px}.section-head .text-link{white-space:nowrap}.beyond-lead{gap:20px}.project-card>div{padding:26px}.rights h2{font-size:3rem}footer{padding:45px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover{transition:none}}
.labrique{background:#756486;color:#fff;display:grid;grid-template-columns:.7fr 1fr .8fr;gap:clamp(30px,6vw,100px);align-items:stretch}.labrique-name{border-right:1px solid rgba(255,255,255,.35);padding-right:clamp(25px,4vw,70px)}.labrique-name h2{font-family:'Archivo Black';font-size:clamp(3rem,6vw,7rem);writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:-.06em;line-height:.8;margin-top:55px}.labrique-ko{font-family:'Noto Serif KR';font-size:1rem;margin-top:35px}.labrique-statement{display:flex;flex-direction:column;justify-content:center}.label-no{font:5rem/1 'Archivo Black';opacity:.2;margin:0 0 45px}.labrique-statement h3{font:clamp(2rem,4vw,4.6rem)/1.15 'Noto Serif KR';letter-spacing:-.07em;margin:0 0 38px}.labrique-statement>p:not(.label-no){font:1rem/1.9 'Noto Serif KR';max-width:510px}.labrique-statement .text-link{color:#fff;align-self:flex-start;margin-top:26px}.labrique-books{border-left:1px solid rgba(255,255,255,.35);padding-left:clamp(25px,4vw,70px);display:flex;flex-direction:column;justify-content:space-between}.mini-book{display:grid;grid-template-columns:minmax(120px,190px);gap:22px}.mini-cover{aspect-ratio:128/188;background:#ebe7dc;color:#222;padding:22px;box-shadow:0 18px 36px rgba(0,0,0,.22);display:flex;flex-direction:column;justify-content:space-between;font:1.35rem/1.35 'Noto Serif KR'}.mini-cover small{font:500 .6rem 'Noto Sans KR'}.mini-book>div:last-child p,.label-note{font-size:.62rem;letter-spacing:.13em;line-height:1.8}.mini-book h3{font-size:.9rem;margin:7px 0}.mini-book>div:last-child span{font-size:.7rem}.label-note{opacity:.7;margin:60px 0 0}
@media(max-width:900px){.labrique{grid-template-columns:.45fr 1fr}.labrique-name{grid-row:1 / span 2}.labrique-books{border-left:0;padding-left:0}}
@media(max-width:520px){.labrique{grid-template-columns:1fr}.labrique-name{grid-row:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.35);padding:0 0 35px}.labrique-name h2{writing-mode:horizontal-tb;transform:none;margin-top:25px;font-size:3.2rem}.labrique-books{border-top:1px solid rgba(255,255,255,.35);padding-top:45px}}
.topbar{grid-template-columns:230px 1fr auto;background:rgba(251,250,246,.95)}
.brand{font:inherit;letter-spacing:normal;display:block}
.brand img{display:block;width:178px;height:auto}
.topbar nav a[aria-current]{color:var(--green)}
.lang span{color:var(--violet)}
.footer-brand{background:var(--paper);padding:14px 18px;border-radius:2px}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.brand img{width:150px}}
.labrique{background:#f5e4d9;color:#823f3e}
.labrique-name{border-right-color:rgba(130,63,62,.32);display:flex;flex-direction:column;align-items:flex-start}
.labrique-logo{display:block;width:min(100%,330px);height:auto;margin:10px auto 34px}
.labrique-name h2{writing-mode:horizontal-tb;transform:none;color:#a44d4b;font-size:clamp(2.5rem,4.8vw,5.8rem);margin:0;line-height:.85}
.labrique-ko{color:#a44d4b;margin-top:20px}
.labrique-statement .text-link{color:#823f3e}
.labrique-books{border-left-color:rgba(130,63,62,.32)}
.labrique .label-no{color:#ea8c5e;opacity:1}
.labrique .mini-cover{background:#a44d4b;color:#fff;border:7px solid #ea8c5e}

/* Published cover artwork */
.book-grid{grid-template-columns:repeat(6,1fr)}
.cover-frame{aspect-ratio:128/188;display:flex;align-items:flex-end;justify-content:center}
.cover-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 14px 25px rgba(0,0,0,.14);transition:transform .25s}
.book-card:hover .cover-img{transform:translateY(-8px)}
.mini-cover-image{display:block;width:min(100%,190px);height:auto;box-shadow:0 18px 36px rgba(0,0,0,.22)}
@media(max-width:900px){.book-grid{grid-template-columns:repeat(6,42vw)}}
@media(max-width:520px){.book-grid{grid-template-columns:repeat(6,66vw)}}

/* Korean display type needs visible breathing room between lines. */
.hero h1{line-height:1.08}
@media(max-width:520px){.hero h1{line-height:1.12}}

/* Keep every large Korean heading readable, not only the hero. */
.section h2{line-height:1.2}
.labrique-statement h3{line-height:1.25}
.project-title h3{line-height:1.25}
@media(max-width:520px){.section h2,.labrique-statement h3,.project-title h3{line-height:1.28}}

/* Korean display copy must wrap between words, never between syllables. */
.hero h1,.section h2,.labrique-statement h3,.project-title h3,.manifesto>p,.stage-window p{word-break:keep-all;overflow-wrap:normal;text-wrap:balance}

/* Apply word-boundary wrapping to all Korean copy and interface text. */
body{word-break:keep-all;overflow-wrap:break-word}

.book-info .book-subtitle{margin:0 0 8px;font:500 .72rem/1.55 'Noto Serif KR';letter-spacing:0;color:var(--ink)}
.labrique .label-note{color:#a44d4b}
@media(max-width:520px){.labrique-name{border-bottom-color:rgba(130,63,62,.32)}.labrique-logo{width:min(78vw,300px)}.labrique-books{border-top-color:rgba(130,63,62,.32)}}
.orbit{width:min(100%,300px);flex:none}
.topbar{background:rgba(251,250,246,.94)}.brand{color:inherit;text-decoration:none;display:block;width:150px}.brand img{display:block;width:100%;height:auto}.footer-brand{background:var(--paper);padding:8px 10px;width:180px}.hero h1 em{color:var(--violet)}.manifesto{position:relative;overflow:hidden}.manifesto::after{content:"";position:absolute;right:-55px;bottom:-55px;width:190px;aspect-ratio:1;border-radius:50%;background:var(--moon);opacity:.9}.manifesto .orbit{z-index:1}.labrique{background:var(--violet)}
@media(max-width:520px){.brand{width:128px}.footer-brand{width:170px}}

/* High-contrast Labrique palette on the brand olive background. */
.labrique{background:#65572f;color:#fffaf0}
.labrique-name h2,.labrique-ko,.labrique-statement .text-link,.labrique .label-note{color:#fffaf0}
.labrique .label-no{color:#f29a61}
.labrique-name,.labrique-books{border-color:rgba(255,250,240,.38)}
.labrique .label-note{opacity:.9}
@media(max-width:520px){.labrique-name,.labrique-books{border-color:rgba(255,250,240,.38)}}

/* Author profiles: preserve the entire photograph, including photo credits. */
.author-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 36px}.author-card{min-width:0}.author-photo{height:360px;background:#efede6;display:flex;align-items:center;justify-content:center}.author-photo img{display:block;width:100%;height:100%;object-fit:contain}.author-role{font-size:.7rem;letter-spacing:.07em;color:var(--green);margin:24px 0 8px}.author-copy h3{font:700 1.6rem/1.4 'Noto Serif KR';margin:0 0 18px}.author-bio{font-size:.88rem;line-height:1.9;margin:0 0 20px}.author-books{font-size:.8rem;line-height:1.7;border-top:1px solid var(--line);padding-top:16px;margin-bottom:22px}.author-books span{display:block;font-size:.65rem;color:#777;margin-bottom:6px}.authors h2{font-size:clamp(2.1rem,4.5vw,4.5rem)}.topbar nav{gap:clamp(10px,1.7vw,28px)}section[id]{scroll-margin-top:110px}
@media(max-width:1000px){.author-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.author-grid{grid-template-columns:1fr;gap:48px}.author-photo{height:420px}.topbar nav{gap:16px;overflow-x:auto;justify-content:flex-start;white-space:nowrap;max-width:100%;padding-bottom:6px}}

/* Show author photographs at their own aspect ratio without letterboxing. */
.author-photo{height:auto;background:transparent;display:block}.author-photo img{display:block;width:100%;height:auto;object-fit:initial}
@media(max-width:600px){.author-photo{height:auto}}

.activity-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:36px;padding:30px 0;border-top:1px solid var(--line)}.activity-row:last-child{border-bottom:1px solid var(--line)}.activity-date{font-size:.8rem;line-height:1.7}.activity-date span{display:block;color:var(--green);font-size:.7rem;margin-top:9px}.activity-copy h3{font:700 1.3rem/1.5 'Noto Serif KR';margin:0 0 12px}.activity-copy>p{font-size:.9rem;line-height:1.9;margin:0;max-width:780px}.activity-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px}.activity-links:empty{display:none}.news h2{font-size:clamp(2rem,4vw,4rem)}
@media(max-width:600px){.activity-row{grid-template-columns:1fr;gap:14px}.activity-date{display:flex;gap:16px;flex-wrap:wrap}.activity-date span{margin:0}}

/* Compact publisher profiles and unbroken sidebar labels. */
.hero-index{padding-left:28px;padding-right:20px;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.author-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px}
.author-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:start;border-top:1px solid var(--line);padding-top:24px}
.author-photo{width:120px;height:auto;background:transparent}
.author-photo img{width:auto;height:auto;max-width:120px;max-height:180px;object-fit:contain}
.author-role{margin-top:0}.author-copy h3{font-size:1.35rem;margin-bottom:12px}
.author-bio{font-size:.85rem;line-height:1.85}.authors h2{font-size:clamp(2rem,3.4vw,3.4rem)}
@media(max-width:1000px){.author-grid{grid-template-columns:1fr}}
@media(max-width:600px){.author-card{grid-template-columns:88px minmax(0,1fr);gap:18px}.author-photo{width:88px;height:auto}.author-photo img{max-width:88px;max-height:132px}.author-copy h3{font-size:1.2rem}}
