:root{--espresso: #2a1810;--roast: #4a2c1d;--mocha: #7a4426;--ember: #c2541f;--cream: #f6eee3;--latte: #ead9c3;--sand: #dcc4a6;--matcha: #6b8a3a;--ink: #2a1810;--muted: #7d6656;--display: "Fraunces", Georgia, serif;--body: "DM Sans", system-ui, sans-serif;--jp: "Noto Serif JP", serif;--radius: 22px;--shadow: 0 20px 50px -20px rgba(42, 24, 16, .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}input,select,textarea{font:inherit;color:inherit}img,svg{display:block}.container{width:min(1200px,100% - 48px);margin-inline:auto}.section{padding:120px 0}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);margin-bottom:16px;display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}.eyebrow--light{color:var(--sand)}.h2{font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,5vw,4rem);line-height:1.02;letter-spacing:-.02em}.h2 em,.footer__cta h2 em{font-style:italic;font-weight:400;color:var(--ember)}.h2--light{color:var(--cream)}.lead{font-size:1.1rem;color:var(--muted);max-width:46ch;margin-top:20px}.lead strong{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border-radius:999px;font-weight:700;font-size:.95rem;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.btn--ember{background:var(--ember);color:#fff;box-shadow:0 10px 24px -10px var(--ember)}.btn--ember:hover{background:#d4602a}.btn--ghost{border:1.5px solid rgba(246,238,227,.4);color:var(--cream)}.btn--ghost:hover{background:#f6eee31a}.btn--dark{background:var(--espresso);color:var(--cream)}.btn--sm{padding:10px 20px;font-size:.85rem}.btn--block{width:100%}.nav{position:fixed;inset:0 0 auto;z-index:50;padding:22px 0;transition:all .3s ease;color:var(--cream)}.nav--solid{padding:12px 0;background:#2a1810eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px -15px #00000080}.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-family:var(--display);font-weight:900;font-size:1.6rem;letter-spacing:.06em;display:inline-flex;align-items:baseline;gap:8px}.logo__jp{font-family:var(--jp);font-size:.75rem;color:var(--ember);letter-spacing:0}.logo--lg{font-size:2.2rem}.nav__links{display:flex;gap:34px;font-size:.92rem;font-weight:500}.nav__links a{opacity:.8;position:relative;transition:opacity .2s}.nav__links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--ember);transition:width .25s}.nav__links a:hover{opacity:1}.nav__links a:hover:after{width:100%}.nav__actions{display:flex;align-items:center;gap:12px}.install-btn{gap:6px}.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:6px}.burger span{width:22px;height:2px;background:currentColor;border-radius:2px}.hero{position:relative;min-height:100vh;color:var(--cream);overflow:hidden;background:radial-gradient(ellipse at 75% 45%,rgba(194,84,31,.35),transparent 55%),radial-gradient(ellipse at 10% 90%,rgba(107,138,58,.18),transparent 50%),linear-gradient(160deg,#3a2014 0%,var(--espresso) 60%,#1c0f09 100%);display:flex;flex-direction:column}.hero__grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.08;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero__inner{flex:1;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;padding:140px 0 80px;position:relative}.hero__title{display:flex;flex-direction:column}.hero__word{font-family:var(--display);font-weight:900;font-size:clamp(5rem,13vw,11rem);line-height:.85;letter-spacing:-.04em;background:linear-gradient(180deg,#fff8ef 30%,var(--sand) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .9s cubic-bezier(.2,.8,.2,1) both}.hero__sub{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(1.4rem,2.6vw,2.2rem);color:var(--ember);margin-top:10px;animation:rise .9s .1s cubic-bezier(.2,.8,.2,1) both}.hero__lead{max-width:44ch;margin-top:26px;font-size:1.08rem;color:#f6eee3c7;animation:rise .9s .2s both}.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;animation:rise .9s .3s both}.hero__meta{display:flex;flex-wrap:wrap;gap:26px;margin-top:48px;font-size:.85rem;color:#f6eee399;animation:rise .9s .4s both}.status{display:inline-flex;align-items:center;gap:8px;color:var(--cream)}.status i{width:8px;height:8px;border-radius:50%;background:#9a8a7e}.status--open i{background:#8fd16a;box-shadow:0 0 0 4px #8fd16a33;animation:pulse 2s infinite}.hero__visual{position:relative;height:560px;display:grid;place-items:center}.hero__ring{position:absolute;width:440px;height:440px;border-radius:50%;border:1.5px dashed rgba(246,238,227,.18);animation:spin 60s linear infinite}.hero__ring:after{content:"";position:absolute;top:50px;right:50px;bottom:50px;left:50px;border-radius:50%;background:radial-gradient(circle,rgba(194,84,31,.45),transparent 70%)}.hero__kanji{position:absolute;right:0;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:var(--jp);font-size:5.5rem;color:#f6eee30f;letter-spacing:.1em}.hero__cup{position:absolute;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}.hero__cup--front{animation:bob 6s ease-in-out infinite;z-index:2;transform:rotate(-6deg)}.hero__cup--back{left:8%;top:18%;animation:bob 7s 1s ease-in-out infinite;opacity:.95}.float-bean{position:absolute;animation:drift 7s ease-in-out infinite;transform:rotate(var(--rot));filter:drop-shadow(0 8px 10px rgba(0,0,0,.4))}.hero__badge{position:absolute;right:6%;bottom:14%;z-index:3;display:flex;align-items:center;gap:12px;background:var(--cream);color:var(--espresso);padding:14px 20px;border-radius:18px;box-shadow:var(--shadow);font-size:.78rem;line-height:1.25;transform:rotate(4deg)}.hero__badge strong{font-family:var(--display);font-size:2rem;color:var(--ember)}.steam{animation:steam 3s ease-in-out infinite}.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:56px}.section__head--center{flex-direction:column;align-items:center;text-align:center}.tabs{display:flex;gap:8px;flex-wrap:wrap;background:var(--latte);padding:6px;border-radius:999px}.tab{padding:10px 20px;border-radius:999px;font-weight:600;font-size:.9rem;color:var(--roast);transition:all .2s}.tab:hover{background:#ffffff80}.tab.is-active{background:var(--espresso);color:var(--cream)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.card{display:flex;flex-direction:column;position:relative;background:#fffaf3;border-radius:var(--radius);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;animation:rise .5s both;border:1px solid rgba(122,68,38,.08)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card__tag{position:absolute;top:16px;left:16px;z-index:1;background:var(--ember);color:#fff;font-size:.72rem;font-weight:700;padding:5px 12px;border-radius:999px;letter-spacing:.04em}.card__art{height:220px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 70%,#fff 0%,var(--latte) 75%)}.card__art--iced{background:radial-gradient(circle at 50% 70%,#fff3e4,#e7c9a4 80%)}.card__art--matcha{background:radial-gradient(circle at 50% 70%,#f4f6e7,#cbd6a8 80%)}.card__art--bakery{background:radial-gradient(circle at 50% 70%,#fff6ea,#efd2ae 80%)}.card__photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.card:hover .card__photo{transform:scale(1.06)}.card__art svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}.card:hover .card__art svg{transform:scale(1.08) rotate(-4deg)}.card__body{padding:22px;flex:1;display:flex;flex-direction:column}.card__body h3{font-family:var(--display);font-weight:700;font-size:1.25rem;line-height:1.2}.card__body p{color:var(--muted);font-size:.9rem;margin-top:6px;min-height:2.9em}.card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:16px}.price{font-family:var(--display);font-weight:800;font-size:1.4rem;color:var(--roast)}.story{background:var(--latte)}.story__inner{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}.story__visual{position:relative}.story__block{aspect-ratio:4/5;border-radius:200px 200px var(--radius) var(--radius);background:linear-gradient(170deg,var(--roast),var(--espresso));color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;box-shadow:var(--shadow)}.story__kanji{font-family:var(--jp);font-size:clamp(5rem,10vw,8rem);line-height:1;color:var(--cream)}.story__romaji{font-family:var(--display);font-style:italic;font-size:1.4rem;color:var(--ember);margin-top:18px;letter-spacing:.1em}.story__def{font-size:.95rem;color:#f6eee3b3;margin-top:18px;max-width:26ch}.story__bean{position:absolute;animation:drift 6s ease-in-out infinite}.story__bean--a{top:-20px;right:8%;--rot: 30deg}.story__bean--b{bottom:12%;left:-16px;--rot: -40deg;animation-delay:1.5s}.pillars{margin-top:40px;display:grid;gap:26px}.pillar{display:grid;grid-template-columns:56px 1fr;gap:16px;padding-top:24px;border-top:1px solid rgba(74,44,29,.15)}.pillar__n{font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--ember)}.pillar h3{font-family:var(--display);font-size:1.25rem;font-weight:700}.pillar p{color:var(--muted);font-size:.95rem;margin-top:4px}.community{background:var(--espresso);position:relative;overflow:hidden}.community:before{content:"文化";position:absolute;font-family:var(--jp);font-size:26rem;color:#f6eee306;right:-60px;bottom:-120px;line-height:1;pointer-events:none}.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;position:relative}.note{position:relative;padding:34px 26px 28px;border-radius:6px;transform:rotate(var(--tilt));transition:transform .3s ease;box-shadow:0 25px 40px -20px #0009}.note:hover{transform:rotate(0) translateY(-6px)}.note__pin{position:absolute;top:12px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--espresso);box-shadow:inset -2px -2px #fff3}.note__when{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;opacity:.75}.note h3{font-family:var(--display);font-size:1.5rem;font-weight:800;line-height:1.15;margin:10px 0}.note p{font-size:.95rem;opacity:.85}.note--ember{background:var(--ember);color:#fff}.note--matcha{background:#a9bd7a;color:var(--espresso)}.note--cream{background:var(--cream);color:var(--espresso)}.note--roast{background:var(--sand);color:var(--espresso)}.booking__inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.info{list-style:none;margin-top:36px;display:grid;gap:14px}.info li{display:flex;gap:20px;padding-bottom:14px;border-bottom:1px dashed rgba(74,44,29,.2)}.info span{min-width:90px;font-weight:700;color:var(--ember);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;padding-top:2px}.booking__card{background:#fffaf3;border-radius:28px;padding:40px;box-shadow:var(--shadow);border:1px solid rgba(122,68,38,.08)}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field--full{grid-column:1 / -1}.field>span{font-size:.82rem;font-weight:700;color:var(--roast)}.field input,.field select,.field textarea{background:var(--cream);border:1.5px solid transparent;border-radius:14px;padding:14px 16px;outline:none;transition:border .2s,background .2s;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ember);background:#fff}.stepper{display:flex;align-items:center;gap:18px;background:var(--cream);border-radius:14px;padding:6px;width:fit-content}.stepper button{width:40px;height:40px;border-radius:10px;background:#fff;font-size:1.2rem;font-weight:700;transition:background .2s}.stepper button:hover{background:var(--latte)}.stepper strong{min-width:24px;text-align:center;font-size:1.1rem}.form .btn{grid-column:1 / -1;margin-top:6px}.confirm{text-align:center;padding:30px 10px;display:flex;flex-direction:column;align-items:center;gap:14px}.confirm h3{font-family:var(--display);font-size:1.8rem}.confirm p{color:var(--muted)}.confirm__icon{width:64px;height:64px;border-radius:50%;background:var(--matcha);color:#fff;font-size:1.8rem;display:grid;place-items:center;animation:pop .4s cubic-bezier(.2,1.6,.4,1)}.footer{background:#1c0f09;color:var(--cream);padding:100px 0 30px}.footer__cta{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;padding-bottom:60px;border-bottom:1px solid rgba(246,238,227,.1)}.footer__cta h2{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1}.subscribe{display:flex;gap:10px;background:#f6eee30f;padding:6px;border-radius:999px;border:1px solid rgba(246,238,227,.12);width:min(440px,100%)}.subscribe input{flex:1;min-width:0;background:transparent;border:0;outline:none;padding:0 18px;color:var(--cream)}.subscribe input::placeholder{color:#f6eee373}.footer__thanks{color:var(--sand);max-width:32ch}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:60px 0}.footer__grid h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ember);margin-bottom:14px}.footer__grid p{color:#f6eee3b3;font-size:.95rem}.footer__grid a:hover{color:var(--ember)}.muted-light{color:#f6eee38c!important;margin-top:14px}.footer__bottom{display:flex;justify-content:space-between;font-size:.82rem;color:#f6eee366;padding-top:24px;border-top:1px solid rgba(246,238,227,.08)}@keyframes rise{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes bob{0%,to{translate:0 0}50%{translate:0 -18px}}@keyframes drift{0%,to{transform:rotate(var(--rot)) translateY(0)}50%{transform:rotate(calc(var(--rot) + 25deg)) translateY(-22px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes steam{0%,to{opacity:.2;transform:translateY(4px)}50%{opacity:.7;transform:translateY(-4px)}}@keyframes pulse{50%{box-shadow:0 0 0 8px #8fd16a00}}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 960px){.section{padding:90px 0}.hero__inner{grid-template-columns:1fr;padding-top:130px;text-align:left}.hero__visual{height:420px}.hero__ring{width:340px;height:340px}.story__inner,.booking__inner{grid-template-columns:1fr;gap:56px}.story__visual{max-width:380px;margin-inline:auto;width:100%}.footer__grid{grid-template-columns:1fr 1fr}}@media (max-width: 820px){.burger{display:flex}.nav .btn--ember.btn--sm{display:none}.install-btn{padding:10px 14px}.nav__links{position:fixed;inset:70px 16px auto;flex-direction:column;gap:4px;background:var(--espresso);border-radius:20px;padding:14px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .25s}.nav__links.is-open{opacity:1;pointer-events:auto;transform:none}.nav__links a{padding:14px 16px;border-radius:12px;opacity:1}.nav__links a:hover{background:#f6eee314}.nav__links a:after{display:none}}@media (max-width: 560px){.container{width:calc(100% - 32px)}.booking__card{padding:26px 20px}.form,.footer__grid{grid-template-columns:1fr}.hero__badge{right:0}.tabs{width:100%;justify-content:center}}
