*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:#080608;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}body{font-family:Crimson Text,Georgia,serif;color:#c8b09a;min-height:100vh}.site-nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:linear-gradient(to bottom,#080608eb,#08060899);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .45s,padding .35s}.site-nav.scrolled{background:#080608f7;border-bottom:1px solid #2e1818;padding:14px 40px}.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.nav-logo-mark{width:36px;height:36px;display:block;object-fit:contain;flex-shrink:0;transition:filter .3s,opacity .3s}.nav-logo:hover .nav-logo-mark{filter:drop-shadow(0 0 10px rgba(143,0,0,.45))}.nav-logo-text{display:flex;flex-direction:column}.nav-logo-name{font-family:Cinzel,Georgia,serif;font-size:15px;letter-spacing:5px;color:#f0e8dc;line-height:1}.nav-logo-sub{font-family:Cinzel,Georgia,serif;font-size:10px;letter-spacing:3px;color:#4a3a3a;line-height:1;margin-top:4px}.nav-links{display:flex;align-items:center;gap:36px;list-style:none;margin-left:8vw}.nav-links a{font-family:Cinzel,Georgia,serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:#7a6060;text-decoration:none;position:relative;transition:color .2s}.nav-links a.is-active{color:#f0e8dc}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:1px;background:#8f0000;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}.nav-links a:hover{color:#f0e8dc}.nav-links a:hover:after,.nav-links a.is-active:after{transform:scaleX(1)}.nav-right{display:flex;align-items:center;gap:18px}.nav-lang{font-family:Cinzel,Georgia,serif;font-size:12px;letter-spacing:2px;color:#4a3a3a;border:1px solid #2e1818;padding:5px 10px;text-decoration:none;transition:color .2s,border-color .2s}.nav-lang:hover{color:#f0e8dc;border-color:#4a3a3a}.nav-cta{font-family:Cinzel,Georgia,serif;font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#f0e8dc;border:1px solid #5a0000;padding:9px 20px;text-decoration:none;transition:border-color .35s,color .35s}.nav-cta:hover{border-color:#8f0000;color:#fff}.nav-burger{display:none;width:40px;height:40px;background:transparent;border:1px solid #2e1818;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:border-color .25s}.nav-burger:hover{border-color:#8f0000}.nav-burger span{display:block;width:18px;height:1.5px;background:#c8b09a;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s;transform-origin:center}.nav-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-burger[aria-expanded=true] span:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:150;background:#080608f7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .4s cubic-bezier(.16,1,.3,1),visibility .4s;display:flex;align-items:center;justify-content:center;padding:80px 20px 40px}.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu-inner{display:flex;flex-direction:column;align-items:center;gap:36px;width:100%;max-width:420px}.mobile-menu-links{list-style:none;display:flex;flex-direction:column;align-items:center;gap:28px;padding:0;margin:0;width:100%}.mobile-menu-links a{font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:#c8b09a;text-decoration:none;padding:8px 4px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}.mobile-menu-links a:hover,.mobile-menu-links a:focus-visible{color:#f0e8dc;border-color:#8f0000}body.menu-open{overflow:hidden}.grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:12}.faq-hero{position:relative;padding:clamp(140px,18vh,200px) 7% clamp(60px,8vh,100px);overflow:hidden;isolation:isolate}.faq-hero:before{content:"";position:absolute;top:-20%;left:50%;transform:translate(-50%);width:120%;height:80%;background:radial-gradient(ellipse at 50% 0%,rgba(143,0,0,.2) 0%,rgba(100,0,0,.1) 30%,rgba(60,0,0,.05) 55%,transparent 75%);pointer-events:none;z-index:-1}.faq-hero-kanji{position:absolute;right:-3%;top:4%;font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(280px,36vw,520px);color:#8f0000;opacity:.03;line-height:1;pointer-events:none;user-select:none;z-index:0}.faq-hero-inner{position:relative;z-index:2;max-width:920px;margin:0 auto;text-align:center}.faq-eyebrow-row{display:flex;align-items:center;gap:18px;justify-content:center;margin-bottom:28px}.faq-eyebrow-line{width:clamp(40px,8vw,72px);height:1px;background:linear-gradient(to right,transparent,#2e1818)}.faq-eyebrow-line.right{background:linear-gradient(to left,transparent,#2e1818)}.faq-eyebrow-kanji{font-family:"Noto Serif JP",serif;font-size:14px;color:#5a1a1a;letter-spacing:0}.faq-eyebrow{font-family:Cinzel,Georgia,serif;font-size:clamp(11px,1vw,13px);font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:#4a3030}.faq-title{font-family:Cinzel,Georgia,serif;font-size:clamp(48px,7.5vw,96px);font-weight:700;line-height:1;color:#f0e8dc;letter-spacing:.04em;margin-bottom:22px}.faq-subtitle{font-family:Crimson Text,Georgia,serif;font-style:italic;font-size:clamp(20px,2.4vw,28px);color:#b09080;max-width:760px;margin:0 auto;line-height:1.6}.page-wrap{position:relative}.lantern-side{position:absolute;top:clamp(95px,10vh,140px);width:clamp(180px,20vw,340px);pointer-events:none;z-index:4}.lantern-side picture{display:block;width:100%}.lantern-side img{width:100%;height:auto;display:block;object-fit:contain;opacity:.42;mix-blend-mode:lighten;filter:brightness(1) contrast(1.05) saturate(1.05);animation:lanternFlicker 22s ease-in-out infinite}.lantern-side:before{content:"";position:absolute;left:-12%;right:38%;top:42%;height:60%;background:radial-gradient(ellipse at 50% 45%,rgba(143,0,0,.3) 0%,rgba(120,0,0,.18) 14%,rgba(95,0,0,.1) 30%,rgba(70,0,0,.05) 48%,rgba(40,0,0,.02) 66%,transparent 88%);pointer-events:none;z-index:-1;animation:lanternGlow 22s ease-in-out infinite;filter:blur(36px)}.lantern-left{left:clamp(-80px,-4vw,-40px);transform:scaleX(-1)}.lantern-right{right:clamp(-80px,-4vw,-40px)}.lantern-left:before{transform:scaleX(-1)}.lantern-right img{animation-delay:-11s}.lantern-right:before{animation-delay:-7.5s}@keyframes lanternFlicker{0%{opacity:.42}4%{opacity:.3}6%{opacity:.46}14%{opacity:.4}22%{opacity:.28}24%{opacity:.45}32%{opacity:.42}40%{opacity:.36}48%{opacity:.46}58%{opacity:.32}60%{opacity:.45}72%{opacity:.4}80%{opacity:.26}82%{opacity:.46}90%{opacity:.4}to{opacity:.42}}@keyframes lanternGlow{0%{transform:scale(1);opacity:1}4%{transform:scale(.86);opacity:.55}6%{transform:scale(1.08);opacity:1}14%{transform:scale(1.02);opacity:.92}22%{transform:scale(.82);opacity:.45}24%{transform:scale(1.1);opacity:1}32%{transform:scale(1.04);opacity:.96}40%{transform:scale(.94);opacity:.7}48%{transform:scale(1.08);opacity:1}58%{transform:scale(.88);opacity:.55}60%{transform:scale(1.06);opacity:1}72%{transform:scale(1.02);opacity:.9}80%{transform:scale(.78);opacity:.35}82%{transform:scale(1.12);opacity:1}90%{transform:scale(1.02);opacity:.94}to{transform:scale(1);opacity:1}}.faq-main{position:relative;padding:clamp(40px,5vw,72px) 7% clamp(28px,3.5vw,56px);overflow:hidden}.faq-main-inner{position:relative;max-width:920px;margin:0 auto}.faq-list{display:flex;flex-direction:column;gap:0;border-top:1px solid #1c0f0f}.faq-item{border-bottom:1px solid #1c0f0f;transition:background .35s}.faq-item[open]{background:linear-gradient(to right,#8f00000a,#8f000000)}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:24px;padding:clamp(22px,2.6vw,32px) 4px;transition:color .3s}.faq-item summary::-webkit-details-marker{display:none}.faq-index{font-family:"Noto Serif JP",serif;font-size:clamp(14px,1.3vw,17px);color:#5a1a1a;width:22px;flex-shrink:0;transition:color .3s}.faq-item:hover .faq-index,.faq-item[open] .faq-index{color:#b30000}.faq-question{flex:1;font-family:Cinzel,Georgia,serif;font-size:clamp(15px,1.4vw,19px);font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:#c8b09a;line-height:1.45;transition:color .3s}.faq-item:hover .faq-question,.faq-item[open] .faq-question{color:#f0e8dc}.faq-toggle{width:28px;height:28px;border:1px solid #2e1818;flex-shrink:0;display:grid;place-items:center;position:relative;transition:border-color .3s,transform .45s cubic-bezier(.16,1,.3,1)}.faq-toggle:before,.faq-toggle:after{content:"";position:absolute;background:#7a6060;transition:background .3s,transform .45s cubic-bezier(.16,1,.3,1)}.faq-toggle:before{width:12px;height:1px}.faq-toggle:after{width:1px;height:12px}.faq-item:hover .faq-toggle{border-color:#5a0000}.faq-item:hover .faq-toggle:before,.faq-item:hover .faq-toggle:after{background:#c8b09a}.faq-item[open] .faq-toggle{border-color:#8f0000;transform:rotate(45deg)}.faq-item[open] .faq-toggle:before,.faq-item[open] .faq-toggle:after{background:#f0e8dc}.faq-answer-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,1,.3,1)}.faq-item[open] .faq-answer-wrap{grid-template-rows:1fr}.faq-answer-inner{overflow:hidden;min-height:0}.faq-answer{padding:4px 4px clamp(28px,3vw,40px) 46px;font-family:Crimson Text,Georgia,serif;font-size:clamp(16px,1.4vw,19px);line-height:1.7;color:#9a8676;max-width:82ch}.faq-answer em{color:#c8a898;font-style:italic}.faq-answer-list{list-style:none;padding:0 4px 0 46px;margin:-16px 0 12px;font-family:Crimson Text,Georgia,serif;font-size:clamp(16px,1.4vw,19px);line-height:1.7;color:#9a8676;max-width:82ch}.faq-answer-list li{position:relative;padding-left:22px;margin-bottom:4px}.faq-answer-list li:before{content:"◆";position:absolute;left:0;top:0;font-size:9px;color:#5a1a1a;transform:translateY(8px)}.faq-answer-list em{color:#c8a898;font-style:italic}.faq-answer-note{padding:0 4px clamp(28px,3vw,40px) 46px;font-family:Cinzel,Georgia,serif;font-size:clamp(11px,1vw,13px);letter-spacing:.32em;text-transform:uppercase;color:#8f0000;max-width:82ch}.faq-category{display:flex;align-items:center;gap:14px;margin:clamp(48px,5vw,72px) 0 clamp(20px,2vw,28px)}.faq-category:first-of-type{margin-top:0}.faq-category-line{flex:1;height:1px;background:linear-gradient(to right,transparent,#2e1818)}.faq-category-line.right{background:linear-gradient(to left,transparent,#2e1818)}.faq-category-kanji{font-family:"Noto Serif JP",serif;font-size:16px;color:#5a1a1a}.faq-category-label{font-family:Cinzel,Georgia,serif;font-size:clamp(11px,1vw,13px);font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:#4a3030}.faq-cta-section{position:relative;padding:clamp(36px,4.5vw,72px) 7% clamp(60px,7vw,100px);overflow:hidden;text-align:center}.faq-cta-section:before{content:"";position:absolute;bottom:-30%;left:50%;transform:translate(-50%);width:120%;height:100%;background:radial-gradient(ellipse at 50% 100%,rgba(143,0,0,.18) 0%,rgba(100,0,0,.08) 30%,transparent 65%);pointer-events:none;z-index:0}.faq-cta-inner{position:relative;z-index:1;max-width:620px;margin:0 auto}.faq-cta-eyebrow{font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:#5a1010;margin-bottom:14px}.faq-cta-title{font-family:Cinzel,Georgia,serif;font-size:clamp(36px,4.6vw,60px);font-weight:700;letter-spacing:.04em;color:#f0e8dc;margin-bottom:20px;line-height:1.15}.faq-cta-text{font-family:Crimson Text,Georgia,serif;font-style:italic;font-size:clamp(20px,2.1vw,28px);color:#b09080;line-height:1.6;margin-bottom:36px}.faq-cta-buttons{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.btn-primary{font-family:Cinzel,Georgia,serif;font-size:clamp(14px,1.4vw,17px);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#f0e8dc;background:#8f0000;border:1px solid #8F0000;padding:16px 36px;text-decoration:none;transition:background .4s,border-color .4s,box-shadow .4s}.btn-primary:hover{background:#7a0000;border-color:#c20000;box-shadow:0 0 28px #8f000073,inset 0 0 12px #8f000026}.btn-ghost{font-family:Cinzel,Georgia,serif;font-size:clamp(13px,1.3vw,15px);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#c8b09a;border-bottom:1px solid #3e2a2a;padding:5px 0;text-decoration:none;transition:color .3s,border-color .3s}.btn-ghost:hover{color:#f0e8dc;border-color:#7a6060}.site-footer{position:relative;background:#060405;border-top:1px solid #2e1818;padding:32px 7% 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(95,8,8,.18),transparent 70%),linear-gradient(to bottom,#08060859,#060405f2);pointer-events:none}.footer-meta-left,.footer-meta-right{position:relative;z-index:1;font-family:Cinzel,Georgia,serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#493636}.footer-meta-right{color:#7a6060}.footer-meta-right a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}.footer-meta-right a:hover{color:#f0e8dc;border-color:#5a0000}@media(max-width:1024px){.lantern-side{width:clamp(220px,24vw,290px)}.lantern-left{left:clamp(-140px,-10vw,-90px)}.lantern-right{right:clamp(-140px,-10vw,-90px)}}@media(max-width:820px){.nav-links{display:none}.nav-burger{display:flex}.nav-cta{display:none}.lantern-side{width:clamp(180px,26vw,240px)}.lantern-left{left:-90px}.lantern-right{right:-90px}}@media(max-width:560px){.lantern-side{width:clamp(150px,36vw,200px);top:clamp(85px,10vh,120px)}.lantern-left{left:-70px}.lantern-right{right:-70px}}@media(max-width:480px){.site-nav{padding:14px 20px}.site-nav.scrolled{padding:10px 20px}.faq-hero{padding:130px 6% 50px}.faq-main{padding:30px 6% 60px}.faq-cta-section{padding:36px 6% 60px}.faq-cta-buttons{flex-direction:column;gap:18px}.btn-primary{width:100%;max-width:280px;text-align:center}.faq-question{font-size:14px;letter-spacing:.14em}.faq-answer{font-size:17px;padding-left:38px}.faq-item summary{gap:18px;padding:22px 4px}.faq-toggle{width:24px;height:24px}.faq-toggle:before{width:10px}.faq-toggle:after{height:10px}}
