@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600;700;800;900&display=swap');
:root{--red:#a71920;--red-dark:#6c1017;--wine:#310c10;--gold:#e7c38b;--cream:#f4ecd9;--ink:#34211d;--muted:#79685a;--line:#d9cbb3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans KR',sans-serif;word-break:keep-all}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a,button{touch-action:manipulation}button,a:focus-visible{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid #ca961e}img{display:block;max-width:100%}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:'Noto Serif KR',serif}h1,h2{font-weight:600;letter-spacing:-2px}h2{font-size:clamp(30px,3.4vw,48px);line-height:1.55}p{line-height:1.95}.wrap{width:min(1280px,calc(100% - 100px));margin-inline:auto}.skip{position:fixed;top:-100px;left:10px;background:var(--cream);color:var(--red);padding:15px;z-index:99}.skip:focus{top:10px}.topline{background:var(--wine);color:var(--gold);text-align:center;font-size:10px;letter-spacing:2px;padding:10px}.header{background:var(--red);color:var(--cream);border-bottom:1px solid #e7c38b55;position:relative;z-index:30}.nav{height:99px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{display:flex;gap:13px;align-items:center}.logo-seal{font-family:'Noto Serif KR',serif;font-size:21px;line-height:1.2;border:1px solid var(--gold);outline:1px solid #e7c38b66;outline-offset:3px;padding:5px;color:var(--gold)}.logo-word{font-family:'Noto Serif KR',serif;font-size:35px;font-weight:800;letter-spacing:2px;line-height:1}.logo-word small{display:block;font:8px 'Noto Sans KR',sans-serif;letter-spacing:3px;margin-top:11px;color:var(--gold)}.nav-links{display:flex;align-items:center;gap:32px;font-size:13px}.nav-links a{padding:10px 0}.nav-links a[aria-current=page]{color:var(--gold);border-bottom:1px solid var(--gold)}.nav-links .nav-reserve{border:1px solid #e7c38b99;padding:13px 20px;color:var(--gold)}.nav-toggle{display:none;background:none;border:1px solid #e7c38b77;color:var(--cream);padding:9px 12px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--red);font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow:before{content:'';width:26px;height:1px;background:currentColor}.hero{position:relative;background:var(--red);color:var(--cream);min-height:665px;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 37%;width:63%;height:100%;object-fit:cover;object-position:55% 55%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#a71920 0%,#a71920 30%,#a71920e0 40%,#a7192033 64%,#23090816 100%);pointer-events:none}.hero-content{position:relative;z-index:2;padding:75px 0 78px}.hero .eyebrow{color:var(--gold)}.hero h1{font-size:clamp(48px,5.7vw,80px);line-height:1.36;letter-spacing:-4px;margin:0 0 27px}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{font-size:14px;color:#f1d7c3;line-height:2}.hero-actions{display:flex;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:17px 25px;border:1px solid var(--red);background:var(--red);color:var(--cream);font-size:12px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px);background:var(--red-dark)}.button.gold{background:var(--gold);color:var(--wine);border-color:var(--gold)}.button.outline{background:transparent;border-color:#e7c38b99;color:var(--gold)}.hero-bottom{margin-top:50px;display:flex;gap:13px;align-items:center;font-size:9px;letter-spacing:2px;color:var(--gold)}.hero-bottom:before{content:'';width:38px;height:1px;background:var(--gold)}.hero-seal{position:absolute;z-index:3;right:38px;top:35px;writing-mode:vertical-rl;border:1px solid #f4ecd9b3;outline:1px solid #f4ecd966;outline-offset:5px;padding:15px 10px;color:var(--cream);font-family:'Noto Serif KR',serif;letter-spacing:7px;font-size:18px;background:#310c1044}.ribbon{background:var(--red-dark);color:var(--gold);padding:19px 0;border-top:1px solid #e7c38b55;border-bottom:4px double #e7c38b66}.ribbon .wrap{display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1px}.ribbon b{font-weight:400}.ribbon span{color:#c19462}.section{padding:95px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.text-link{font-size:12px;padding-bottom:8px;border-bottom:1px solid currentColor;white-space:nowrap}.section-heading .eyebrow{margin-bottom:12px}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.dish-card{display:block}.dish-image{position:relative;overflow:hidden;background:#e3d9c7;aspect-ratio:1.12}.dish-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.dish-card:hover img{transform:scale(1.04)}.dish-image .dish-tag{position:absolute;top:16px;left:16px;background:var(--red);color:var(--cream);padding:7px 11px;font-size:9px;letter-spacing:1px}.dish-title{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.dish-title h3{font-family:'Noto Serif KR',serif;font-size:23px;margin:0;font-weight:600}.dish-card p{font-size:12px;color:var(--muted);margin:10px 0}.dish-card .price{font-size:12px;color:var(--red)}.small{font-size:11px;color:var(--muted);line-height:1.85}.story-band{background:var(--wine);color:var(--cream);position:relative;padding:80px 0}.story-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.story-picture{position:relative}.story-picture img{width:100%;height:480px;object-fit:cover}.story-picture:after{content:'';position:absolute;inset:15px;border:1px solid #e7c38b77;pointer-events:none}.story-copy .eyebrow{color:var(--gold)}.story-copy h2{color:var(--cream)}.story-copy p{font-size:13px;color:#cdbbae}.story-copy .text-link{color:var(--gold)}.stamp{display:inline-block;border:1px solid var(--gold);padding:8px 12px;font-family:'Noto Serif KR',serif;color:var(--gold);letter-spacing:3px;font-size:13px;margin-bottom:22px}.gateway-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gateway{position:relative;height:330px;overflow:hidden;color:var(--cream)}.gateway img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gateway:hover img{transform:scale(1.04)}.gateway:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#240a0bea)}.gateway-copy{position:absolute;z-index:1;bottom:30px;left:32px;right:32px}.gateway-copy small{font-size:9px;letter-spacing:2px;color:var(--gold)}.gateway-copy h3{font-family:'Noto Serif KR',serif;font-size:29px;font-weight:500;margin:12px 0}.gateway-copy span{font-size:12px}.visit-band{background:var(--red);color:var(--cream);border-top:4px double #e7c38b99;padding:48px 0}.visit-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}.visit-band h2{font-size:30px;margin-bottom:7px}.visit-band p{font-size:12px;color:#eed2b9;margin:0}.footer{background:#210b0d;color:#cbb7a0;padding:45px 0 26px}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-top .logo{color:var(--cream)}.footer-top p{font-size:11px;line-height:2;margin:0}.footer-links{display:flex;gap:25px;font-size:11px;margin-top:30px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #e7c38b25;padding-top:20px;margin-top:25px;font-size:9px;color:#a68e79}.page-heading{background:var(--red);color:var(--cream);padding:58px 0 63px;border-bottom:4px double #e7c38b66;position:relative;overflow:hidden}.page-heading:after{content:'中華';position:absolute;right:5%;bottom:-70px;font-family:serif;font-size:210px;color:#e7c38b0c;pointer-events:none}.page-heading .eyebrow{color:var(--gold);margin-bottom:18px}.page-heading h1{font-size:49px;line-height:1.45;margin-bottom:18px;position:relative;z-index:1}.page-heading p{color:#eed7c4;font-size:13px;margin:0;position:relative;z-index:1}.breadcrumbs{font-size:10px;color:var(--muted);padding:25px 0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 32px}.filter{padding:11px 22px;background:transparent;border:1px solid #bda88c;color:var(--ink);font-size:12px}.filter.active{background:var(--red);border-color:var(--red);color:var(--cream)}.menu-section{padding:18px 0 75px}.menu-section .dish-grid{row-gap:45px}.menu-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.menu-heading p{font-size:12px;color:var(--muted)}.menu-heading h2{font-size:30px;margin:0}.menu-note{background:#eadeca;padding:20px 25px;font-size:12px;line-height:1.9;margin:40px 0 0;border-left:3px solid var(--red)}.course-section{background:#e9deca}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.course{padding:32px;border:1px solid #bfa680;outline:1px solid #bfa68066;outline-offset:-7px;background:#f7f0e2}.course small{font-size:10px;letter-spacing:2px;color:var(--red)}.course h3{font-family:'Noto Serif KR',serif;font-size:27px;margin:15px 0 22px}.course-row{padding:17px 0;border-top:1px solid var(--line)}.course-row strong{display:flex;justify-content:space-between;font-size:14px;font-weight:500}.course-row strong span{color:var(--red)}.course-row p{font-size:12px;color:var(--muted);margin:12px 0 0}.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo-button{border:0;padding:0;background:none;display:block;text-align:left;width:100%}.board-grid img{width:100%;aspect-ratio:3/4;object-fit:cover}.photo-caption{display:flex;justify-content:space-between;margin-top:12px;font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split>img{width:100%;height:550px;object-fit:cover}.split p{font-size:14px;color:var(--muted);line-height:2.1}.wide-photo{width:100%;height:540px;object-fit:cover}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid var(--line);padding-top:35px;margin-top:50px}.values span{font-family:'Noto Serif KR',serif;color:var(--red);font-size:28px}.values h3{font-size:18px;margin:20px 0 15px}.values p{font-size:12px;color:var(--muted)}.space-feature{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center}.space-feature img{width:100%;height:510px;object-fit:cover}.space-feature h2{font-size:37px}.space-feature p{font-size:13px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 25px}.gallery img{width:100%;height:370px;object-fit:cover}.gallery .photo-button:first-child{grid-column:1/-1}.gallery .photo-button:first-child img{height:530px}.photo-button img{transition:filter .2s}.photo-button:hover img{filter:brightness(.9)}.visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.visit-photo img{width:100%;height:510px;object-fit:cover}.info-row{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:90px 1fr;gap:15px}.info-row:first-child{padding-top:0}.info-row dt{font-size:12px;color:var(--red)}.info-row dd{font-size:14px;margin:0;line-height:1.9}.info-row dd small{display:block;font-size:11px;color:var(--muted)}.visit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.visit-actions .button{gap:20px}.visit-actions .secondary{background:transparent;color:var(--red)}.copy-button{border:0;border-bottom:1px solid var(--red);color:var(--red);padding:4px 0;background:none;font-size:10px;margin-top:8px}.status{font-size:12px;line-height:1.8;color:var(--red)}.faq details{padding:22px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:14px;cursor:pointer}.faq p{font-size:12px;color:var(--muted);margin:18px 0 0}.dish-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;padding:15px 0 70px}.dish-detail>img{width:100%;max-height:620px;aspect-ratio:1;object-fit:cover}.dish-detail h1{font-size:45px;line-height:1.5;margin:0 0 20px}.dish-detail .description{font-size:14px;color:var(--muted)}.detail-price{font-size:23px;color:var(--red);padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-tag{font-size:11px;color:var(--muted);margin:20px 0}.detail-actions{display:flex;gap:12px;flex-wrap:wrap}.detail-actions .button{gap:20px}.related{padding:55px 0 85px;border-top:1px solid var(--line)}.related h2{font-size:30px}.lightbox{width:min(980px,calc(100% - 30px));max-height:94vh;padding:18px;background:#210b0d;border:1px solid #dcb580;color:var(--cream);overflow:auto}.lightbox::backdrop{background:#160307ed}.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 15px;position:sticky;top:-18px;background:#210b0d;z-index:1}.lightbox-top p{margin:0;font-size:13px}.lightbox-close{width:38px;height:38px;border:1px solid #e7c38b66;background:none;color:var(--cream);font-size:23px}.lightbox img{margin:auto;max-height:75vh;object-fit:contain}.lightbox-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:18px;font-size:11px}.lightbox-bottom button{background:none;border:1px solid #e7c38b66;color:var(--gold);padding:10px 18px}.lightbox-bottom a{border-bottom:1px solid var(--gold)}[hidden]{display:none!important}.empty{padding:75px 0;text-align:center}
@media(min-width:1600px){.hero{min-height:740px}.hero-content{padding-top:100px}}@media(max-width:1050px){.wrap{width:calc(100% - 60px)}.nav-links{gap:19px}.hero h1{font-size:59px}.hero-photo{inset-inline-start:32%;width:68%}.story-layout,.split{gap:40px}.space-feature{gap:30px}.visit-layout{gap:35px}.hero-seal{right:25px}.dish-detail{gap:35px}}
@media(max-width:760px){.wrap{width:calc(100% - 38px)}.topline{font-size:8px;letter-spacing:1px}.nav{height:80px}.logo-word{font-size:29px}.logo-seal{font-size:17px}.logo-word small{font-size:7px;letter-spacing:2px}.nav-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:80px;background:var(--red-dark);padding:23px;box-shadow:0 20px 25px #26050655;align-items:stretch;flex-direction:column;gap:10px}.nav-links.open{display:flex}.nav-links a{padding:12px}.hero{min-height:770px}.hero-photo{inset:340px 0 0;width:100%;height:430px;object-position:center 55%}.hero:after{background:linear-gradient(180deg,#a71920 0%,#a71920 39%,#a71920c9 47%,#a7192000 65%,#400e1833 100%)}.hero-content{padding:40px 0 330px}.hero h1{font-size:48px;letter-spacing:-2.7px;line-height:1.4;margin-bottom:17px}.hero p{font-size:12px;line-height:1.9;margin-bottom:0}.hero .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:20px}.hero-actions{margin-top:24px}.button{padding:14px 19px;font-size:11px;gap:24px}.hero-bottom{display:none}.hero-seal{top:auto;bottom:22px;right:25px;font-size:13px;padding:10px 7px;letter-spacing:5px}.ribbon .wrap{flex-wrap:wrap;justify-content:center;gap:10px 18px;font-size:9px}.ribbon span{display:none}.section{padding:58px 0}.section-heading{align-items:start;margin-bottom:28px;gap:15px}.section-heading h2{font-size:29px;letter-spacing:-1.5px}.section-heading .text-link{font-size:10px;margin-top:4px}.eyebrow{font-size:9px;letter-spacing:2px}.dish-grid{grid-template-columns:1fr;gap:30px}.dish-image{aspect-ratio:1.2}.dish-title h3{font-size:23px}.story-layout,.split,.space-feature,.visit-layout,.dish-detail{grid-template-columns:1fr;gap:30px}.story-band{padding:45px 0}.story-picture img{height:340px}.story-copy h2{font-size:31px}.gateway-grid{grid-template-columns:1fr;gap:22px}.gateway{height:300px}.gateway-copy{left:23px;bottom:23px}.visit-band .wrap{display:block}.visit-band h2{font-size:26px}.visit-band .button{margin-top:24px}.footer-top{flex-direction:column;gap:30px}.footer-links{gap:20px;flex-wrap:wrap}.footer-bottom{gap:20px;line-height:1.8}.page-heading{padding:40px 0 43px}.page-heading h1{font-size:35px;letter-spacing:-1.5px}.page-heading p{font-size:12px}.page-heading:after{font-size:130px;bottom:-35px}.breadcrumbs{padding:20px 0;font-size:9px}.filters{gap:7px}.filter{padding:10px 15px;font-size:11px}.menu-heading h2{font-size:26px}.menu-heading p{font-size:10px}.menu-section{padding-bottom:50px}.course-grid{grid-template-columns:1fr}.course{padding:28px 23px}.board-grid{grid-template-columns:1fr 1fr;gap:20px 13px}.photo-caption{font-size:10px;line-height:1.7}.split>img{height:380px}.split h2{font-size:32px}.split p{font-size:13px}.values{grid-template-columns:1fr;gap:28px;margin-top:30px;padding-top:25px}.values h3{margin:10px 0}.values p{margin-bottom:0}.wide-photo{height:330px}.space-feature img{height:370px}.space-feature h2{font-size:30px}.gallery{grid-template-columns:1fr;gap:25px}.gallery img,.gallery .photo-button:first-child img{height:330px}.visit-photo img{height:350px}.info-row{grid-template-columns:75px 1fr;padding:18px 0}.info-row dd{font-size:13px}.dish-detail{padding-bottom:45px}.dish-detail h1{font-size:35px}.dish-detail>img{max-height:430px}.related{padding:35px 0 50px}.lightbox{padding:12px}.lightbox-bottom{flex-wrap:wrap}.lightbox-top{top:-12px}.lightbox-bottom button{padding:9px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Dedicated menus and enquiry pages */
.nav-links{gap:22px;font-size:12px}.nav{gap:24px}.nav-highlight{color:var(--gold);font-weight:600}.nav-links .nav-reserve{padding:12px 15px}.menu-book-link{padding:32px;margin-bottom:65px;background:#e9deca;border:1px solid #c8b293;display:flex;align-items:center;justify-content:space-between;gap:25px}.menu-book-link h2{font-size:25px;letter-spacing:-1px;margin-bottom:7px}.menu-book-link p{font-size:12px;color:var(--muted);margin-bottom:0}.request-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.request-aside>img{width:100%;height:290px;object-fit:cover}.aside-copy{padding-top:32px}.aside-copy h2{font-size:32px;line-height:1.6}.aside-copy>p{font-size:12px;color:var(--muted)}.request-steps{list-style:none;margin:25px 0;padding:0;border-top:1px solid var(--line)}.request-steps li{font-size:12px;padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:15px}.request-steps span{color:var(--red);font-size:10px}.aside-copy .reservation-note{border-left:2px solid var(--red);padding-left:15px;margin:25px 0}.aside-copy .aside-phone{color:var(--red);font-size:19px;letter-spacing:1px;margin:12px 0 25px}.request-form{background:#fbf6eb;border:1px solid #d6c4a9;padding:36px;box-shadow:0 20px 45px #4c281006}.form-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.form-heading h2{font-size:26px;letter-spacing:-1px;margin:0}.form-heading>span{font-size:10px;color:var(--red)}.connection-notice{padding:16px 19px;background:#f0e4cf;border-left:3px solid var(--red);margin-bottom:26px}.connection-notice strong{font-size:12px;color:var(--red)}.connection-notice p{font-size:11px;color:#72594b;margin:7px 0 0;line-height:1.8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 19px}.form-field{display:flex;flex-direction:column;gap:9px;min-width:0}.form-field label{font-size:12px;font-weight:500}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #cbb99e;border-radius:0;background:#fffaf1;color:var(--ink);padding:13px 12px;font:13px 'Noto Sans KR',sans-serif;line-height:1.6}.form-field input::placeholder,.form-field textarea::placeholder{color:#8a7b67}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--red);outline-offset:2px}.form-field textarea{resize:vertical;min-height:125px}.form-full{grid-column:1/-1}.form-privacy{margin-top:25px;border-top:1px solid var(--line);padding-top:17px;font-size:11px;line-height:1.8;color:var(--muted)}.form-privacy summary{cursor:pointer;color:var(--ink)}.form-privacy p{margin:12px 0 0}.form-consent{display:flex;gap:10px;font-size:12px;line-height:1.8;align-items:start;margin:23px 0}.form-consent input{accent-color:var(--red);margin-top:5px}.form-submit{width:100%;font-size:13px}.form-result{font-size:12px;color:var(--red);line-height:1.9;margin:17px 0 0}.request-form .button:disabled{opacity:.6;cursor:wait}
@media(min-width:761px) and (max-width:1150px){.nav{height:auto;min-height:110px;flex-wrap:wrap;gap:15px;padding-top:20px;padding-bottom:15px}.nav-links{justify-content:space-between;width:100%;gap:12px;font-size:11px}.nav-links .nav-reserve{padding:9px 12px}}
@media(max-width:1000px){.request-layout{gap:30px}.request-form{padding:25px}.form-grid{gap:20px 14px}}
@media(max-width:760px){.nav-links{font-size:13px;gap:5px;max-height:calc(100dvh - 115px);overflow:auto}.nav-highlight{border-bottom:1px solid #e7c38b40}.request-layout{grid-template-columns:1fr;gap:30px}.request-aside>img{height:220px}.aside-copy h2{font-size:28px}.request-steps{display:none}.request-form{padding:23px 20px}.form-grid{grid-template-columns:1fr;gap:20px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.form-heading h2{font-size:24px}.menu-book-link{display:block;padding:25px}.menu-book-link h2{font-size:23px}.menu-book-link .button{margin-top:20px}.form-heading>span{white-space:nowrap}}

/* Traditional red gate and carved timber plaque, drawn in CSS. */
html.entrance-pending{background:#250b0c}html.entrance-pending body{visibility:hidden}.entry-stage{visibility:visible;position:fixed;inset:0;z-index:10000;overflow:hidden;color:#ebc587;font-family:'Noto Serif KR',serif;isolation:isolate}.entry-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 25%,#802b20,#290e0b 75%);transition:opacity 1.7s .2s}.entry-frame{position:absolute;inset:0 3.5%;border-inline:clamp(12px,2vw,30px) solid #32150c;box-shadow:inset 0 0 0 3px #a36b35,0 0 50px #0009;perspective:1600px;transition:opacity .65s 1.35s}.entry-doors{position:absolute;inset:0;display:flex;perspective:1600px;transform-style:preserve-3d}.entry-door{position:relative;width:50%;height:100%;background:repeating-linear-gradient(90deg,#0000 0 13%,#4b080d25 13.2% 13.5%,#d44b2822 13.7% 14%,#0000 14.2% 28%),linear-gradient(90deg,#8c1019,#aa1c24 35%,#96151e 70%,#6f0b14);box-shadow:inset 0 0 0 3px #e0a85b99,inset 0 0 0 13px #580810,inset 0 0 0 16px #c18a4177,inset 0 0 90px #1d010366;backface-visibility:hidden;transition:transform 2s cubic-bezier(.42,0,.14,1),filter 2s;will-change:transform}.entry-left{transform-origin:left center;border-right:3px solid #38100b}.entry-right{transform-origin:right center;border-left:3px solid #c88e4666}.entry-carving{position:absolute;top:29%;left:12%;right:12%;height:17%;display:flex;gap:6%;align-items:center;justify-content:center;border:3px double #c89b59aa;background:linear-gradient(#510c1280,#800e1880);box-shadow:0 0 0 7px #680d14,inset 0 0 0 6px #7e1820}.entry-carving i{display:block;width:24%;aspect-ratio:1;max-height:70%;border:2px solid #c89b5999;transform:rotate(45deg);box-shadow:inset 0 0 0 5px #70101a,0 0 0 5px #70101a}.entry-carving i:after{content:'';position:absolute;inset:20%;border:1px solid #d2a46577}.entry-door-inset{position:absolute;top:49%;bottom:23%;left:12%;right:12%;border:3px double #bc884988;box-shadow:0 0 0 7px #650c1488,inset 0 0 35px #40040966}.entry-medallion{position:absolute;top:16%;left:18%;font-family:serif;font-size:clamp(36px,6vw,82px);line-height:1;color:#d7a24a55;text-shadow:1px 2px #280408}.entry-right .entry-medallion{left:auto;right:18%}.entry-ring{position:absolute;right:11%;top:35%;width:clamp(45px,6vw,84px);aspect-ratio:1;border:clamp(5px,.6vw,9px) solid #bd914a;border-radius:50%;box-shadow:0 8px 12px #290208bb,inset 0 2px 4px #f9e1a1,0 -2px 0 #f7d696;background:transparent}.entry-ring:before{content:'';position:absolute;width:70%;height:70%;top:-54%;left:15%;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffdf97,#b38235 55%,#654118);box-shadow:0 3px 9px #250709}.entry-ring:after{content:'';position:absolute;width:25%;height:25%;top:-28%;left:37%;border-radius:50%;background:#633c16;border:2px solid #e8be72}.entry-right .entry-ring{right:auto;left:11%}.entry-lower-panel{position:absolute;bottom:6%;left:12%;right:12%;height:12%;border:3px double #bf8d4777;background:#670c1322}.entry-studs{position:absolute;left:9%;right:9%;bottom:20%;display:flex;justify-content:space-between}.entry-studs i{height:10px;width:10px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#efd599,#ae7a32 60%,#5e360e);box-shadow:0 2px 5px #30030b}.entry-lintel{position:absolute;top:0;left:0;right:0;height:25%;min-height:140px;z-index:3;background:repeating-linear-gradient(1deg,#ffffff03 0 1px,transparent 1px 8px),linear-gradient(#33180e,#56301b 45%,#2b1009);border-bottom:9px ridge #784a26;box-shadow:0 20px 35px #190403aa;display:flex;align-items:center;justify-content:center;transition:transform 1.6s .35s,opacity .9s 1s}.entry-plaque{height:80%;min-height:105px;width:min(540px,66vw);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(2deg,#ba87440b 0 2px,transparent 3px 12px),repeating-linear-gradient(-1deg,#10070333 0 1px,transparent 2px 23px),linear-gradient(110deg,#3b2211,#674123 38%,#402211 77%,#2c150a);border:4px solid #ad7d3e;outline:2px solid #3c1b0d;outline-offset:5px;box-shadow:inset 0 0 0 4px #261207,inset 0 0 0 6px #b38b5088,inset 0 0 25px #120700bb,0 8px 12px #0a0309aa;text-shadow:1px 2px 0 #2c1104,0 1px 8px #130602}.entry-plaque strong{font-family:'Noto Serif KR','Batang',serif;font-size:clamp(45px,6.4vw,91px);line-height:1.2;letter-spacing:.28em;padding-left:.28em;color:#edcc88;font-weight:800}.entry-plaque-rule{font-family:serif;font-size:clamp(9px,1vw,12px);letter-spacing:.45em;color:#caa15d;margin-bottom:2px}.entry-plaque-sub{font-family:'Noto Sans KR',sans-serif;font-size:9px;letter-spacing:3px;color:#d3b581;margin-top:5px}.entry-plaque-pin{position:absolute;top:47%;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e5c37f,#704922);box-shadow:0 2px 3px #190905}.pin-one{left:17px}.pin-two{right:17px}.entry-welcome{position:absolute;left:10%;right:10%;top:79%;text-align:center;z-index:4;pointer-events:none;text-shadow:0 2px 7px #300208;transition:opacity .5s,transform .7s}.entry-welcome>span{font-family:'Noto Sans KR',sans-serif;font-size:10px;letter-spacing:3px;color:#e8c493}.entry-welcome p{font-size:clamp(16px,2vw,24px);margin:12px 0;color:#f6e3ba}.entry-skip{position:absolute;right:35px;bottom:24px;z-index:5;background:#280a0aaa;border:1px solid #d1a45e99;color:#f4d9a7;padding:13px 20px;font-family:'Noto Sans KR',sans-serif;font-size:11px;letter-spacing:1px}.entry-skip span{margin-left:15px}.entry-skip:focus-visible{outline:2px solid #f0d394}.entry-stage.is-opening .entry-left{transform:rotateY(-106deg);filter:brightness(.7)}.entry-stage.is-opening .entry-right{transform:rotateY(106deg);filter:brightness(.7)}.entry-stage.is-opening .entry-backdrop{opacity:0}.entry-stage.is-opening .entry-welcome{opacity:0;transform:translateY(12px)}.entry-stage.is-opening .entry-lintel{transform:translateY(-110%);opacity:0}.entry-stage.is-opening .entry-frame{opacity:0}@media(max-width:760px){.entry-lintel{height:23%;min-height:145px}.entry-plaque{width:74vw;height:73%}.entry-plaque strong{font-size:61px}.entry-frame{inset-inline:0;border-inline-width:12px}.entry-carving{left:13%;right:13%;top:29%;height:15%;gap:9%}.entry-carving i{width:31%}.entry-carving i:last-child{display:none}.entry-door-inset{left:13%;right:13%;top:48%;bottom:26%}.entry-medallion{font-size:37px;left:18%;top:15%;opacity:.8}.entry-ring{width:43px;top:57%;right:12%}.entry-right .entry-ring{left:12%}.entry-welcome{top:78%;left:5%;right:5%}.entry-welcome>span{font-size:8px;letter-spacing:2px}.entry-skip{right:20px;bottom:20px;font-size:10px;padding:11px 15px}.entry-studs{bottom:23%}.entry-studs i{width:7px;height:7px}.entry-lower-panel{bottom:7%;height:12%}.entry-welcome p{font-size:16px}}@media(prefers-reduced-motion:reduce){html.entrance-pending body{visibility:visible}.entry-stage{display:none}}

/* Photographic rosewood gate, v2: heavyweight hinges and real timber. */
.entry-stage{--gate-width:min(690px,66svh,calc(100vw - 34px));--lintel-height:23svh;background:transparent}.entry-backdrop{background:radial-gradient(ellipse at 50% 30%,#6a321c66,#1b0b08ee 85%),url('assets/entrance-walnut-plaque-v2.webp') center/220% 170%;transition:opacity 2s .6s}.entry-frame{inset:var(--lintel-height) auto 0 50%;width:var(--gate-width);transform:translateX(-50%);border-inline:16px solid #30160d;border-top:8px ridge #5f341c;box-shadow:0 0 0 2px #aa794655,0 0 0 11px #1e0d07,0 15px 50px #000b,inset 0 0 35px #0009;perspective:1800px;transition:opacity .9s 5.05s}.entry-frame:before,.entry-frame:after{content:'';position:absolute;top:0;bottom:0;width:calc((100vw - var(--gate-width))/2 + 25px);background:linear-gradient(90deg,#1b0d09e8,#472615a6),url('assets/entrance-walnut-plaque-v2.webp') center/auto 150%;box-shadow:inset 0 0 85px #0009;z-index:-1}.entry-frame:before{right:100%}.entry-frame:after{left:100%;transform:scaleX(-1)}.entry-doors{perspective:1800px}.entry-door{background-image:url('assets/entrance-rosewood-v2.webp');background-size:200% 100%;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px #281109,inset 0 0 18px #0005;transform-style:preserve-3d;transition:transform 5.05s cubic-bezier(.34,.02,.20,1),filter 5s;filter:brightness(.96);border:0}.entry-left{background-position:left center}.entry-right{background-position:right center}.entry-door:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#ffffff07,transparent 40%,#0003);pointer-events:none}.entry-right:after{background:linear-gradient(90deg,#0004,transparent 55%,#ffffff03)}.entry-door-depth{position:absolute;top:0;bottom:0;width:24px;background:repeating-linear-gradient(0deg,#4f2817 0 2px,#2c150c 3px 6px);transform:rotateY(90deg);transform-origin:left center;right:-24px}.entry-right .entry-door-depth{left:-24px;right:auto;transform-origin:right center;transform:rotateY(-90deg)}.entry-lintel{height:var(--lintel-height);min-height:130px;background:linear-gradient(90deg,#200e09dd,#4c271499,#200e09dd),url('assets/entrance-walnut-plaque-v2.webp') center/130% 230%;border-bottom:6px ridge #654125;box-shadow:0 15px 30px #120604aa;transition:opacity 1s 5s,transform 1.1s 5s}.entry-plaque{width:min(590px,calc(var(--gate-width) + 35px));height:auto;min-height:0;aspect-ratio:3/1;border:0;outline:0;background:url('assets/entrance-walnut-plaque-v2.webp') center/100% 100%;box-shadow:0 12px 25px #100504aa;filter:brightness(.94);padding:11px 40px}.entry-plaque strong{font-size:clamp(42px,6.3vw,84px);font-weight:700;line-height:1.12;color:#f1d49a;background:linear-gradient(135deg,#c3974d,#fff0bc 38%,#cfab67 65%,#f2d899);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(1px 3px 1px #211005);text-shadow:none;letter-spacing:.25em}.entry-plaque-rule{font-size:9px;letter-spacing:4px;margin-bottom:3px;color:#d6b07c}.entry-plaque-sub{font-size:8px;letter-spacing:3px;margin-top:6px;color:#d3b58c}.entry-plaque-pin{display:none}.entry-welcome{top:auto;bottom:9%;padding:18px 10px;background:radial-gradient(ellipse,#16090899,transparent 65%);transition:opacity 1s,transform 1s}.entry-welcome>span{color:#d2b38c}.entry-welcome p{color:#efd9b5;font-size:20px;margin:8px 0 0}.entry-skip{background:#21130dda;color:#ead1a9;border-color:#b8956766;padding:12px 20px;box-shadow:0 4px 15px #0004}.entry-stage.is-opening .entry-left{transform:rotateY(-101deg);filter:brightness(.57)}.entry-stage.is-opening .entry-right{transform:rotateY(101deg);filter:brightness(.57)}.entry-stage.is-opening .entry-lintel{transform:translateY(-25px);opacity:0}.entry-stage.is-opening .entry-frame{opacity:0}.entry-stage.is-opening .entry-welcome{transform:translateY(8px);opacity:0}@media(max-width:760px){.entry-stage{--gate-width:calc(100vw - 26px);--lintel-height:22svh}.entry-frame{border-inline-width:8px;border-top-width:5px;box-shadow:0 0 0 2px #79533377,0 0 0 7px #251208,0 10px 30px #0009}.entry-lintel{min-height:132px}.entry-plaque{width:calc(100vw - 26px);aspect-ratio:2.8;min-height:0;padding:12px 30px}.entry-plaque strong{font-size:clamp(40px,13vw,61px);line-height:1.08}.entry-plaque-rule{font-size:7px;letter-spacing:3px;margin-bottom:2px}.entry-plaque-sub{font-size:7px;letter-spacing:2px;margin-top:5px}.entry-welcome{bottom:9%;left:0;right:0;padding:15px 5px;background:linear-gradient(90deg,transparent,#140705c9,transparent)}.entry-welcome p{font-size:15px}.entry-welcome>span{font-size:8px;letter-spacing:2px}.entry-skip{bottom:18px;right:18px;padding:10px 14px}.entry-door-depth{width:16px;right:-16px}.entry-right .entry-door-depth{left:-16px}.entry-door{transition-duration:5.05s,5s}}@media(max-height:600px) and (min-width:761px){.entry-stage{--lintel-height:25svh}.entry-lintel{min-height:0}.entry-plaque{height:90%;width:auto;aspect-ratio:3}.entry-plaque strong{font-size:38px}.entry-plaque-rule,.entry-plaque-sub{font-size:7px}.entry-welcome{bottom:5%}}

/* Full-screen gate: immediately open onto the main page. */
.entry-stage{--gate-width:100vw;--lintel-height:20svh}.entry-stage .entry-frame{inset:0;width:100%;height:100%;transform:none;border:0;box-shadow:none;perspective:1800px;transition:opacity .18s .94s}.entry-frame:before,.entry-frame:after{display:none}.entry-stage .entry-door{transition:transform 1.1s cubic-bezier(.2,.6,.22,1),filter 1.1s}.entry-stage .entry-backdrop{transition:opacity .22s}.entry-stage .entry-lintel{height:20svh;min-height:105px;transition:transform .55s,opacity .4s}.entry-stage .entry-plaque{width:min(520px,76vw);height:85%;max-height:180px;aspect-ratio:auto}.entry-stage .entry-plaque strong{font-size:clamp(37px,6vw,76px)}.entry-stage .entry-welcome{display:none}.entry-stage.is-opening .entry-lintel{transform:translateY(-100%);opacity:0}.entry-stage.is-opening .entry-left{transform:rotateY(-105deg)}.entry-stage.is-opening .entry-right{transform:rotateY(105deg)}@media(max-width:760px){.entry-stage .entry-lintel{height:18svh;min-height:110px}.entry-stage .entry-plaque{width:86vw;height:82%}.entry-stage .entry-plaque strong{font-size:45px}.entry-stage .entry-door{transition-duration:1.1s,1.1s}}

/* 4-second entrance: hinged opening with a restrained forward movement. */
.entry-stage .entry-door{transition:transform 4s cubic-bezier(.35,.04,.22,1),filter 4s}.entry-stage .entry-frame{transform-origin:50% 52%;transition:transform 4s cubic-bezier(.3,.1,.2,1),opacity .35s 3.65s}.entry-stage.is-opening .entry-frame{transform:scale(1.065);opacity:0}.entry-stage .entry-backdrop{transition:opacity 2.16s .16s}.entry-stage .entry-lintel{transition:transform 4s cubic-bezier(.35,.04,.22,1),opacity 1s 3s}.entry-stage.is-opening .entry-lintel{transform:translateY(-100%) scale(1.035);opacity:0}.entrance-moving #main{transform-origin:50% 20vh;animation:gate-arrival 4s cubic-bezier(.25,.15,.2,1) both}@keyframes gate-arrival{from{transform:scale(.975);filter:brightness(.88)}to{transform:scale(1);filter:brightness(1)}}@media(max-width:760px){.entry-stage .entry-door{transition-duration:4s,4s}}@media(prefers-reduced-motion:reduce){.entrance-moving #main{animation:none}}
