:root{--ivory:#FBF8F0;--green:#14352A;--mustard:#D8A425;--serif:"Gowun Batang",serif;--sans:"Pretendard","Apple SD Gothic Neo",sans-serif;--page-gutter:max(3.5vw,calc(50vw - 590px));--container:calc(100% - var(--page-gutter) - var(--page-gutter))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--ivory);color:var(--green);font-family:var(--sans);font-size:16px;line-height:1.75;word-break:keep-all}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,textarea{color:inherit;font:inherit}.container{width:var(--container);margin-inline:auto}.skip-link{position:fixed;top:-60px;left:1rem;z-index:1000;background:var(--mustard);color:var(--green);padding:.7rem 1rem}.skip-link:focus{top:1rem}
.site-header{position:absolute;inset:0 0 auto;z-index:10;min-height:92px;padding:1.5rem calc(var(--page-gutter) + 64px) 1.5rem var(--page-gutter);display:flex;align-items:flex-start;justify-content:space-between;color:var(--ivory)}.wordmark{display:block;width:clamp(150px,16vw,210px);line-height:0}.wordmark img{width:100%;height:auto}.primary-nav{display:flex;gap:clamp(1.2rem,2.5vw,2.8rem);padding-top:.2rem;font-size:.78rem;font-weight:500}.primary-nav a{border-bottom:1px solid transparent}.primary-nav a:hover,.primary-nav a:focus-visible{border-color:currentColor}.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;border-top:1px solid currentColor;margin:8px 0}
.home-page .site-header{position:fixed;background:var(--green);box-shadow:0 3px 0 var(--green)}.home-page #story,.home-page #contact{scroll-margin-top:92px}
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;color:var(--ivory)}.hero-media,.hero-scrim{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;animation:hero-zoom 18s ease-out forwards}.hero-scrim{background:linear-gradient(90deg,color-mix(in srgb,var(--green) 78%,transparent),color-mix(in srgb,var(--green) 18%,transparent) 68%),linear-gradient(0deg,color-mix(in srgb,var(--green) 42%,transparent),transparent 50%)}.hero-content{position:relative;z-index:1;width:var(--container);margin:0 auto;padding:24vh 0 11vh}.kicker{margin:0 0 1.5rem;font-size:.68rem;font-weight:600;letter-spacing:.22em}.hero h1,.section h2{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.12}.hero h1{max-width:9ch;font-size:clamp(4rem,8.7vw,8.4rem)}.hero-copy{max-width:28ch;margin:2.2rem 0 2.6rem;font-family:var(--serif);font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.75}.hero-link,.line-link{display:inline-block;padding-bottom:.35rem;border-bottom:1px solid currentColor;font-size:.78rem;font-weight:600;letter-spacing:.04em}.scroll-note{position:absolute;z-index:1;right:var(--page-gutter);bottom:4vh;margin:0;font-size:.58rem;letter-spacing:.22em;writing-mode:vertical-rl}
.principles{min-height:12vh;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--green)}.principles span{display:grid;place-items:center;padding:1.5rem;font-family:var(--serif);font-size:clamp(.9rem,1.2vw,1.1rem)}.principles span+span{border-left:1px solid var(--green)}
.section{padding-block:max(15vh,120px)}.section h2{font-size:clamp(3rem,6.2vw,6.4rem)}.body-copy{max-width:40ch;margin:2.4rem 0;font-size:.98rem;line-height:1.95}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(4rem,10vw,10rem)}.about-copy{padding-left:4vw}.about-photo{margin:0}.about-photo img{aspect-ratio:4/5;object-fit:cover}.about-photo figcaption{display:flex;justify-content:space-between;padding-top:.8rem;border-top:1px solid var(--green);font-size:.62rem;letter-spacing:.12em}
.manifesto{min-height:90svh;display:grid;align-items:center;background:var(--green);color:var(--ivory);text-align:center}.manifesto-inner{display:grid;justify-items:center}.manifesto h2{max-width:16ch;font-size:clamp(3rem,6.8vw,7rem)}.manifesto .body-copy{margin-bottom:0}
.section-heading{position:relative;margin-bottom:12vh}.section-heading h2{max-width:11ch}.heading-note{position:absolute;right:0;bottom:.5rem;max-width:32ch;margin:0;line-height:1.9}.feature-product{position:relative;min-height:86svh;overflow:hidden;color:var(--ivory)}.feature-product>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.feature-scrim{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--green) 82%,transparent),transparent 70%)}.feature-copy{position:absolute;z-index:1;left:max(7vw,calc((100vw - 1180px)/2));bottom:11vh;max-width:34ch}.feature-copy>p{margin:0 0 1rem;font-size:.64rem;letter-spacing:.16em}.feature-copy h3{margin:0 0 1.2rem;font-family:var(--serif);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:400;line-height:1.1}.feature-copy>span{display:block;margin-bottom:2rem}.feature-copy a{padding-bottom:.35rem;border-bottom:1px solid currentColor;font-size:.78rem;font-weight:600}.product-pair{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:15vh}.product-card-lower{margin-top:18vh}.product-card img{aspect-ratio:4/5;object-fit:cover}.product-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;padding-top:1.2rem;border-top:1px solid var(--green)}.product-meta p{margin:0 0 .35rem;font-size:.62rem;letter-spacing:.12em}.product-meta h3{margin:0;font-family:var(--serif);font-size:1.65rem;font-weight:400}.product-meta>span{font-size:.78rem}
.story{background:var(--mustard)}.story-heading{display:grid;grid-template-columns:1fr auto;align-items:end}.story-heading .kicker{grid-column:1/-1}.story-heading .line-link{grid-column:2;grid-row:2}.story-list{border-top:1px solid var(--green)}.story-item{display:grid;grid-template-columns:150px 1fr 120px;align-items:center;gap:2rem;min-height:180px;border-bottom:1px solid var(--green)}.story-date,.story-type{font-size:.66rem;letter-spacing:.08em}.story-type{text-align:right}.story-item h3{max-width:30ch;margin:0;font-family:var(--serif);font-size:clamp(1.55rem,2.7vw,2.8rem);font-weight:400;line-height:1.4}
.contact{background:var(--green);color:var(--ivory)}.contact-grid{display:grid;grid-template-columns:1fr .8fr;column-gap:10vw;row-gap:max(10vh,72px)}.contact-intro h2{max-width:10ch}.contact-form{display:grid;gap:2rem;align-content:center}.contact-form label{display:grid;gap:.45rem;font-size:.7rem;letter-spacing:.06em}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--ivory);border-radius:0;outline:0;background:transparent;padding:.8rem 0}.contact-form input::placeholder,.contact-form textarea::placeholder{color:color-mix(in srgb,var(--ivory) 58%,transparent)}.contact-form button{justify-self:start;min-width:180px;border:1px solid var(--mustard);background:var(--mustard);color:var(--green);padding:.9rem 1.5rem;cursor:pointer;font-weight:600}.form-note{max-width:40ch;margin:0;font-size:.68rem}.contact-channels{grid-column:1/-1;padding-top:2rem;border-top:1px solid color-mix(in srgb,var(--ivory) 45%,transparent)}.contact-channels-label{margin:0 0 1.4rem;font-size:.66rem;font-weight:600;letter-spacing:.18em}.contact-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--mustard);background:var(--mustard)}.contact-channel-button{display:flex;min-height:150px;padding:1.6rem;flex-direction:column;justify-content:space-between;background:var(--green);color:var(--ivory);transition:background-color .2s ease,color .2s ease}.contact-channel-button span{font-size:.66rem;font-weight:600;letter-spacing:.14em}.contact-channel-button strong{font-family:var(--serif);font-size:clamp(1.05rem,1.7vw,1.45rem);font-weight:400;line-height:1.45;overflow-wrap:anywhere}.contact-channel-button:hover,.contact-channel-button:focus-visible{background:var(--mustard);color:var(--green);outline:0}
.site-footer{background:var(--ivory);padding:9vh 0 5vh}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;align-items:start;font-size:.72rem}.footer-wordmark{display:inline-block;width:min(100%,240px);margin-left:-6px;line-height:0}.footer-wordmark img{width:100%;height:auto}.footer-grid p{max-width:34ch;margin:.8rem 0 0}.footer-grid>div:nth-child(n+2){padding-top:1rem}.footer-grid>div:nth-child(2)>p{margin-top:0}.copyright{grid-column:1/-1;width:100%;max-width:none!important;margin-top:8vh!important;padding-top:1.2rem;border-top:1px solid var(--green)}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .85s ease,transform .85s ease}.reveal.revealed{opacity:1;transform:none}.reveal-delay{transition-delay:.12s}@keyframes hero-zoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}
@media(max-width:820px){:root{--page-gutter:18px;--container:calc(100% - var(--page-gutter) - var(--page-gutter))}.site-header{min-height:76px;padding:1.2rem 4.5rem 1.2rem var(--page-gutter)}.menu-toggle{display:block;position:relative;z-index:12;color:var(--ivory)}.menu-toggle[aria-expanded="true"]{color:var(--green)}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.primary-nav{position:fixed;inset:0;z-index:11;display:none;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;background:var(--ivory);color:var(--green);font-family:var(--serif);font-size:1.8rem}.primary-nav.open{display:flex}.hero-content{width:var(--container);padding-bottom:12vh}.hero h1{font-size:clamp(3.7rem,15vw,6rem)}.hero-media img{object-position:51% center}.scroll-note{display:none}.principles{grid-template-columns:1fr}.principles span+span{border-left:0;border-top:1px solid var(--green)}.section{padding-block:max(15svh,100px)}.section h2{font-size:clamp(3rem,12vw,5rem)}.about-grid,.contact-grid{grid-template-columns:1fr;gap:10vh}.about-copy{padding-left:0}.about-photo{width:86%;margin-left:auto}.manifesto{min-height:92svh}.section-heading{margin-bottom:10vh}.heading-note{position:static;margin-top:2rem}.feature-product{min-height:75svh}.feature-product>img{object-position:42% center}.feature-copy{left:var(--page-gutter);right:var(--page-gutter);bottom:9vh}.product-pair{gap:2rem}.product-card-lower{margin-top:10vh}.story-heading{display:block}.story-heading .line-link{margin-top:2rem}.story-item{grid-template-columns:90px 1fr;min-height:160px;gap:1.2rem}.story-type{grid-column:2;text-align:left}.contact-form{margin-top:2vh}.contact-channels{grid-column:auto}.contact-channel-grid{grid-template-columns:1fr}.contact-channel-button{min-height:120px}}
@media(max-width:820px){.home-page #story,.home-page #contact{scroll-margin-top:76px}}
@media(max-width:500px){body{font-size:15px}.wordmark{width:148px}.hero-content{padding-top:22vh}.hero h1{font-size:clamp(3.35rem,16vw,4.2rem)}.hero-copy{margin-top:1.8rem}.about-photo{width:100%}.feature-product{min-height:80svh}.feature-product>img{object-position:37% center}.feature-scrim{background:linear-gradient(0deg,color-mix(in srgb,var(--green) 88%,transparent),transparent 75%)}.product-pair{grid-template-columns:1fr;padding-top:12vh}.product-card-lower{margin-top:7vh}.product-meta h3{font-size:1.45rem}.story-item{grid-template-columns:1fr;gap:.5rem;padding:2rem 0}.story-type{grid-column:auto}.footer-grid{grid-template-columns:1fr}.copyright{margin-top:3vh!important}.contact-form button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media img{animation:none;transform:none}.reveal,.reveal.revealed,.reveal-delay,.contact-channel-button{opacity:1;transform:none;transition:none}}
.story-item{transition:padding .25s ease}.story-item:hover,.story-item:focus-visible{padding-inline:1rem}.story-card-copy{display:grid;gap:.55rem}.story-summary{display:-webkit-box;max-width:40ch;overflow:hidden;color:color-mix(in srgb,var(--green) 78%,transparent);font-size:.78rem;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:2}.story-status{margin:0;padding:3rem 0;border-top:1px solid var(--green);border-bottom:1px solid var(--green);font-family:var(--serif)}

/* The bilingual serif wordmark needs more room than the former compact mark. */
.wordmark{width:clamp(220px,24vw,300px)}
.footer-wordmark{width:min(100%,280px)}
@media(min-width:821px){.primary-nav{padding-top:1.35rem}}
@media(max-width:500px){.wordmark{width:200px}}
@media(max-width:500px){.story-item:hover,.story-item:focus-visible{padding-inline:0}.story-summary{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.story-item{transition:none}}

/* Keep the five main destinations visible as a compact mobile tab bar. */
@media(max-width:820px){
  html{scroll-padding-top:124px}
  .site-header{position:fixed;min-height:124px;padding:12px 18px 10px;align-items:center;flex-wrap:wrap;gap:6px;background:var(--green);color:var(--ivory);box-shadow:0 1px 0 color-mix(in srgb,currentColor 22%,transparent)}
  .site-header.products-header{position:fixed;background:var(--ivory);color:var(--green)}
  .site-header.blog-header{background:var(--mustard);color:var(--green)}
  .wordmark{width:min(52vw,200px)}
  .menu-toggle{display:none}
  .primary-nav{position:static;order:3;display:grid;width:100%;flex-basis:100%;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:0;background:transparent;color:inherit;font-family:var(--sans);font-size:clamp(.68rem,3vw,.76rem);font-weight:500}
  .primary-nav.open{display:grid}
  .primary-nav a{min-width:0;padding:.5rem .1rem .25rem;text-align:center;white-space:nowrap}
  .primary-nav a[aria-current="page"]{border-color:currentColor}
  .home-page #story,.home-page #contact{scroll-margin-top:0}
}
@media(max-width:360px){.primary-nav{font-size:.66rem}.wordmark{width:180px}}
