@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Gowun+Batang:wght@400;700&display=swap');
:root{--ink:#180f0b;--brown:#2b1b14;--cream:#f2e9da;--copper:#bd7043;--moss:#66705a;--paper:#e6d8c4;--line:rgba(242,233,218,.18);--max:1480px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:'DM Sans','Noto Sans KR',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%}.skip{position:fixed;left:18px;top:-80px;z-index:500;padding:12px 18px;background:var(--cream);color:var(--ink)}.skip:focus{top:18px}.grain{position:fixed;inset:0;z-index:300;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.progress{position:fixed;top:0;left:0;z-index:250;width:100%;height:3px;background:var(--copper);transform:scaleX(0);transform-origin:left}
.header{position:fixed;inset:0 0 auto;z-index:200;height:88px;display:flex;align-items:center;padding:0 4vw;border-bottom:1px solid var(--line);transition:.35s}.header.scrolled{height:72px;background:rgba(24,15,11,.88);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:13px;font-weight:600;letter-spacing:.19em}.brand-mark{width:40px;height:40px;border:1px solid rgba(242,233,218,.42);border-radius:50%;display:grid;place-items:center;font-family:'Gowun Batang',serif;font-size:20px;color:var(--copper)}.nav{margin-left:auto;height:100%;display:flex;align-items:center;gap:42px}.nav-item{height:100%;display:flex;align-items:center;position:relative}.nav-item>a{font-size:13px;letter-spacing:.11em;text-transform:uppercase}.nav-item>a:after{content:'';position:absolute;left:0;right:0;bottom:23px;height:1px;background:var(--copper);transform:scaleX(0);transition:.3s}.nav-item:hover>a:after,.nav-item:focus-within>a:after{transform:scaleX(1)}.submenu{position:absolute;top:72px;left:50%;width:230px;padding:12px;background:var(--cream);color:var(--ink);box-shadow:0 22px 50px rgba(0,0,0,.26);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:.28s}.submenu:before{content:'';position:absolute;top:-5px;left:50%;width:10px;height:10px;background:var(--cream);transform:translateX(-50%) rotate(45deg)}.submenu a{display:flex;justify-content:space-between;padding:13px 12px;border-bottom:1px solid rgba(24,15,11,.12);font-size:13px}.submenu a:last-child{border:0}.submenu a:hover{background:var(--ink);color:var(--cream)}.nav-item:hover .submenu,.nav-item:focus-within .submenu{opacity:1;visibility:visible;transform:translate(-50%,0)}.reserve-link{margin-left:34px;padding:12px 18px;border:1px solid rgba(242,233,218,.45);font-size:12px;letter-spacing:.12em}.reserve-link:hover{background:var(--cream);color:var(--ink)}.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:0;background:none;color:var(--cream);position:relative}.menu-btn:before,.menu-btn:after,.menu-btn span{content:'';position:absolute;left:8px;width:28px;height:1px;background:currentColor;transition:.3s}.menu-btn:before{top:14px}.menu-btn span{top:22px;width:20px}.menu-btn:after{top:30px}.menu-btn.open:before{top:22px;transform:rotate(45deg)}.menu-btn.open span{opacity:0}.menu-btn.open:after{top:22px;transform:rotate(-45deg)}
.hero{min-height:100svh;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('assets/hero-cafe.webp') center/cover no-repeat;transform:scale(1.07);animation:heroIn 1.8s cubic-bezier(.2,.7,.2,1) forwards}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,15,11,.84) 0 38%,rgba(24,15,11,.12) 70%),linear-gradient(0deg,rgba(24,15,11,.7),transparent 55%)}@keyframes heroIn{to{transform:scale(1)}}.hero-inner{position:relative;z-index:2;max-width:var(--max);min-height:100svh;margin:auto;padding:180px 4vw 80px;display:flex;flex-direction:column;justify-content:flex-end}.eyebrow{color:#d89b71;font-size:12px;letter-spacing:.24em;text-transform:uppercase}.hero h1{max-width:810px;margin:25px 0 22px;font:400 clamp(58px,8.4vw,132px)/.93 'Gowun Batang',serif;letter-spacing:-.065em}.hero p{max-width:480px;margin:0;color:#d7c9b8;font-size:17px;line-height:1.85}.hero-actions{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;gap:18px;padding:15px 20px;background:var(--copper);color:#fff;font-size:13px;font-weight:600}.button.ghost{background:rgba(24,15,11,.22);border:1px solid rgba(242,233,218,.38)}.scroll-note{position:absolute;right:4vw;bottom:68px;z-index:2;writing-mode:vertical-rl;font-size:10px;letter-spacing:.23em}.scroll-note:after{content:'';display:block;width:1px;height:80px;margin:15px auto 0;background:linear-gradient(var(--cream),transparent)}
.ticker{overflow:hidden;background:var(--copper);color:#fff;padding:14px 0}.ticker-track{display:flex;width:max-content;animation:ticker 24s linear infinite}.ticker span{font-size:12px;letter-spacing:.18em;white-space:nowrap;padding:0 32px}.ticker i{opacity:.55}@keyframes ticker{to{transform:translateX(-50%)}}
.section{padding:140px 4vw}.section-inner{max-width:var(--max);margin:auto}.section-head{display:grid;grid-template-columns:.68fr 1.32fr;gap:8vw;align-items:end;margin-bottom:68px}.section-no{color:var(--copper);font-size:11px;letter-spacing:.2em}.section h2,.sub-hero h1{margin:14px 0 0;font:400 clamp(40px,5vw,76px)/1.05 'Gowun Batang',serif;letter-spacing:-.055em}.section-head p{max-width:600px;margin:0;color:#baa998;line-height:1.9}.ritual{background:var(--cream);color:var(--ink)}.ritual .section-head p{color:#6d5d52}.ritual-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:640px}.ritual-image{position:relative;overflow:hidden;background:url('assets/roasting.webp') center/cover no-repeat}.ritual-image:after{content:'ROASTED DAILY';position:absolute;left:24px;bottom:24px;padding:10px 12px;background:var(--cream);font-size:10px;letter-spacing:.2em}.ritual-copy{padding:70px;display:flex;flex-direction:column;justify-content:center;background:#dac8ae}.ritual-copy blockquote{margin:0;font:400 clamp(30px,3.2vw,49px)/1.35 'Gowun Batang',serif}.ritual-copy p{margin:30px 0;color:#67564a;line-height:1.9}.bean-notes{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(24,15,11,.2)}.bean-notes div{padding:20px 12px 0 0}.bean-notes b{display:block;font-size:13px}.bean-notes small{color:#7a6759}
.menu-section{background:var(--brown)}.menu-list{border-top:1px solid var(--line)}.menu-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:30px;padding:31px 5px;border-bottom:1px solid var(--line);transition:.35s}.menu-row:hover{padding-left:24px;background:rgba(255,255,255,.04)}.menu-row em{font-style:normal;color:var(--copper);font-size:11px}.menu-row h3{margin:0;font:400 clamp(27px,3vw,44px) 'Gowun Batang',serif}.menu-row p{margin:6px 0 0;color:#a99788;font-size:14px}.menu-row strong{font-size:16px;color:#d8b391}.space-feature{position:relative;min-height:760px;background:url('assets/interior.webp') center/cover no-repeat;background-attachment:fixed}.space-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,15,11,.78),transparent 65%)}.space-card{position:absolute;z-index:2;left:7vw;bottom:80px;max-width:520px;padding:46px;background:rgba(24,15,11,.82);backdrop-filter:blur(14px);border:1px solid var(--line)}.space-card h2{margin:0 0 20px;font:400 clamp(38px,4vw,66px)/1.05 'Gowun Batang',serif}.space-card p{color:#c8b9aa;line-height:1.8}.journal{background:var(--paper);color:var(--ink)}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.journal-card{padding:32px;border:1px solid rgba(24,15,11,.22);min-height:280px;display:flex;flex-direction:column;transition:.35s}.journal-card:hover{background:var(--ink);color:var(--cream);transform:translateY(-8px)}.journal-card small{font-size:11px;letter-spacing:.15em;color:#9a623e}.journal-card h3{margin:40px 0 20px;font:400 28px/1.35 'Gowun Batang',serif}.journal-card p{margin:auto 0 0;color:#79685c;line-height:1.7}.journal-card:hover p{color:#bba999}.visit-strip{padding:95px 4vw;background:var(--moss)}.visit-strip-inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:30px}.visit-strip h2{margin:0;font:400 clamp(35px,4.2vw,64px) 'Gowun Batang',serif}.visit-strip .button{background:var(--cream);color:var(--ink)}
.sub-hero{min-height:620px;padding:170px 4vw 75px;display:flex;align-items:end;position:relative;overflow:hidden;background:var(--brown)}.sub-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,15,11,.9),rgba(24,15,11,.15)),var(--sub-image) center/cover no-repeat;transform:scale(1.03);animation:heroIn 1.4s forwards}.sub-hero>div{position:relative;max-width:var(--max);width:100%;margin:auto}.sub-hero p{max-width:570px;color:#c6b7a8;line-height:1.85}.local-nav{display:flex;gap:1px;padding:0 4vw;background:var(--copper);overflow-x:auto}.local-nav a{padding:17px 24px;background:rgba(24,15,11,.08);font-size:13px;white-space:nowrap}.content{max-width:var(--max);margin:auto;padding:110px 4vw}.content-grid{display:grid;grid-template-columns:.58fr 1.42fr;gap:8vw}.content aside{font-size:11px;letter-spacing:.2em;color:var(--copper)}.content h2{margin:0 0 28px;font:400 clamp(36px,4.5vw,67px)/1.1 'Gowun Batang',serif}.content p{color:#b9a999;line-height:1.95}.light{background:var(--cream);color:var(--ink)}.light p{color:#69594e}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:45px}.info-card{padding:28px;border:1px solid rgba(24,15,11,.18);min-height:190px}.info-card b{display:block;margin-bottom:38px;color:var(--copper);font-size:11px;letter-spacing:.16em}.info-card strong{font:400 23px 'Gowun Batang',serif}.price-list{margin-top:40px;border-top:1px solid rgba(242,233,218,.24)}.price-item{display:grid;grid-template-columns:1fr auto;gap:20px;padding:23px 0;border-bottom:1px solid rgba(242,233,218,.16)}.price-item span{color:#b7a596}.photo-band{height:520px;background:var(--img) center/cover no-repeat;background-attachment:fixed}.hours{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hours>div,.form-card{padding:38px;background:rgba(255,255,255,.04);border:1px solid var(--line)}.hours h3{font:400 28px 'Gowun Batang',serif}.hours dl{display:grid;grid-template-columns:1fr auto;gap:14px;margin:25px 0}.hours dt,.hours dd{padding-bottom:13px;border-bottom:1px solid var(--line);margin:0}.form{display:grid;gap:14px}.form label{font-size:13px;color:#c1afa0}.form input,.form select,.form textarea{width:100%;padding:14px;border:1px solid rgba(242,233,218,.22);background:rgba(255,255,255,.04);color:var(--cream)}.form option{color:var(--ink)}.form textarea{min-height:120px;resize:vertical}.toast{position:fixed;left:50%;bottom:30px;z-index:400;padding:14px 20px;background:var(--cream);color:var(--ink);transform:translate(-50%,100px);opacity:0;transition:.35s}.toast.show{transform:translate(-50%,0);opacity:1}
footer{padding:64px 4vw;background:#100a07;color:#8f7d70}.footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-brand{color:var(--cream);font:400 26px 'Gowun Batang',serif}.footer-inner div:last-child{text-align:right}footer p{font-size:13px;line-height:1.8}.top{position:fixed;right:24px;bottom:24px;z-index:100;width:50px;height:50px;border:1px solid rgba(242,233,218,.35);background:rgba(24,15,11,.76);color:var(--cream);cursor:pointer;opacity:0;transform:translateY(15px);transition:.25s}.top.show{opacity:1;transform:none}.reveal{opacity:0;transform:translateY(38px);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,0ms)}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.header{height:72px;padding:0 20px;background:rgba(24,15,11,.8);backdrop-filter:blur(14px)}.brand{font-size:13px}.brand-mark{width:36px;height:36px}.menu-btn{display:block}.reserve-link{display:none}.nav{position:fixed;top:72px;left:0;right:0;height:calc(100dvh - 72px);display:block;padding:20px;background:var(--ink);overflow:auto;transform:translateX(100%);transition:.45s cubic-bezier(.76,0,.24,1)}.nav.open{transform:none}.nav-item{height:auto;display:block;border-bottom:1px solid var(--line)}.nav-item>a{display:block;padding:20px 0;font-size:16px}.nav-item>a:after{display:none}.submenu{position:static;width:auto;padding:0 0 16px;background:none;color:var(--cream);box-shadow:none;opacity:1;visibility:visible;transform:none}.submenu:before{display:none}.submenu a{padding:10px;border:0;color:#a99586}.hero-inner{padding:140px 22px 70px}.hero h1{font-size:clamp(50px,15vw,76px)}.hero p{font-size:15px}.scroll-note{display:none}.section{padding:90px 22px}.section-head,.content-grid{grid-template-columns:1fr;gap:24px}.ritual-grid{grid-template-columns:1fr;min-height:0}.ritual-image{min-height:430px}.ritual-copy{padding:45px 26px}.bean-notes{grid-template-columns:1fr}.menu-row{grid-template-columns:44px 1fr}.menu-row strong{grid-column:2}.space-feature{min-height:680px;background-attachment:scroll}.space-card{left:20px;right:20px;bottom:30px;padding:30px}.journal-grid,.info-cards,.hours{grid-template-columns:1fr}.visit-strip{padding:70px 22px}.visit-strip-inner{display:block}.visit-strip .button{margin-top:28px}.sub-hero{min-height:540px;padding:140px 22px 60px}.local-nav{padding:0}.content{padding:80px 22px}.photo-band{height:380px;background-attachment:scroll}.footer-inner{grid-template-columns:1fr}.footer-inner div:last-child{text-align:left}.top{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-media,.sub-hero:before,.ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}}
