/* self-hosted fonts (OFL 1.1, subset, renamed) */
@font-face{font-family:"SR Serif";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/sr-serif-300.woff2") format("woff2")}
@font-face{font-family:"SR Serif";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/sr-serif-600.woff2") format("woff2")}
@font-face{font-family:"SR Sans";font-style:normal;font-weight:300 900;font-display:swap;src:url("../fonts/sr-sans-vf.woff2") format("woff2")}
/* SIREN (siren.yeojido.io) — deep-sea teal x pearl, the sign reflected on water. Bands get one step deeper as you scroll. Generated by _siren-tools/build_siren.py (fonts block prepended). */
:root{--t1:#0e4448;--t2:#0c3c40;--t3:#0a3438;--t4:#082c30;--t5:#062428;--abyss:#041c1f;--lift:rgba(174,208,218,.08);--lift2:rgba(174,208,218,.15);--pearl:#aed0da;--pearl-hi:#cfe4ea;--ink:#eaf3f2;--mute:#b6cdcd;--nacre:#e7eff0;--nacre2:#d5e3e6;--on-nacre:#06292d;--sea-ink:#0b4b51;--r1:10px;--r2:22px;--arch:999px 999px var(--r2) var(--r2);--pad:clamp(20px,5.6vw,88px);--maxw:1280px;--disp:"SR Serif","Nanum Myeongjo",serif;--sans:"SR Sans",system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:84px;scroll-padding-bottom:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--t3);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.72;font-weight:400;word-break:keep-all;overflow-wrap:break-word}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:600}
.nw{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.sr-skip{position:absolute;left:12px;top:-64px;z-index:60;background:var(--pearl);color:var(--on-nacre);padding:12px 18px;border-radius:var(--r1);font-weight:700;text-decoration:none}
.sr-skip:focus{top:12px}
:focus-visible{outline:3px solid var(--pearl);outline-offset:3px}
.sr-nacre :focus-visible{outline-color:var(--sea-ink)}

/* head bar: mark + call only (no full menu) */
.sr-bar{position:sticky;top:0;z-index:30;background:rgba(14,68,72,.97);padding:0 var(--pad)}
.sr-bar-row{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.sr-mark{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.sr-mark-sign{font-family:var(--disp);font-weight:300;font-size:30px;line-height:1;color:var(--pearl)}
.sr-mark-ko{font-size:15px;color:var(--mute)}
.sr-bar-end{display:flex;align-items:center;gap:12px}
.sr-langs{display:flex;align-items:center;gap:2px;background:var(--lift);border-radius:999px;padding:3px}
.sr-langs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:40px;padding:0 11px;border-radius:999px;font-size:15px;font-weight:600;color:var(--mute);text-decoration:none;white-space:nowrap}
.sr-langs a:hover{color:var(--ink)}
.sr-langs a[aria-current="page"]{background:var(--pearl);color:var(--on-nacre)}
/* ja/zh: body and headings on the system CJK stack; only the sign type keeps SR Serif */
html:lang(ja){--sans:"SR Sans","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--disp:var(--sans)}
html:lang(zh){--sans:"SR Sans","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;--disp:var(--sans)}
html:lang(ja) body,html:lang(zh) body{word-break:normal;line-break:strict}
html:lang(ja) .sr-prov-links a,html:lang(zh) .sr-prov-links a{word-break:break-all;line-break:auto}
html .sr-sign,html .sr-mirror,html .sr-mark-sign,html .sr-foot-sign,html .sr-nf-sign,html .sr-phone,html .sr-num-v,html .sr-today-t{font-family:"SR Serif",serif}

/* buttons */
.sr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:999px;font-family:var(--sans);font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap;border:0;cursor:pointer}
.sr-btn--pearl{background:var(--pearl);color:var(--on-nacre)}
.sr-btn--pearl:hover{background:var(--pearl-hi)}
.sr-btn--tide{background:var(--lift2);color:var(--ink)}
.sr-btn--tide:hover{background:rgba(174,208,218,.24)}
.sr-btn--sea{background:var(--sea-ink);color:var(--nacre)}
.sr-link{color:var(--pearl);font-weight:700;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.sr-nacre .sr-link{color:var(--sea-ink)}
.sr-ico{flex:none}

/* opening screen: sign type left, arch photo right */
.sr-open{position:relative;background:var(--t1);padding:clamp(28px,4vh,56px) var(--pad) clamp(28px,4vh,48px);overflow:hidden}
.sr-open-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(28px,4vw,72px);align-items:center;min-height:min(calc(100svh - 68px - 76px),820px)}
.sr-place{display:block;font-size:17px;font-weight:600;color:var(--mute)}
.sr-sign{display:block;font-family:var(--disp);font-weight:300;font-size:clamp(92px,13.4vw,212px);line-height:.92;letter-spacing:-.03em;color:var(--pearl);margin:14px 0 0}
.sr-mirror{display:block;height:.34em;overflow:hidden;font-family:var(--disp);font-weight:300;font-size:clamp(92px,13.4vw,212px);line-height:.92;letter-spacing:-.03em;color:var(--pearl);opacity:.3;margin:0;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent);filter:url(#sr-ripple)}
.sr-mirror span{display:block;transform:scaleY(-1)}
.sr-h1{font-family:var(--disp);font-weight:600;font-size:clamp(34px,3.9vw,58px);line-height:1.15;letter-spacing:-.01em;margin:clamp(8px,1.6vh,20px) 0 16px;color:var(--ink)}
.sr-lead{max-width:600px;font-size:18px;line-height:1.75;color:var(--mute);margin:0 0 28px}
.sr-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.sr-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:32px 0 0;padding:0}
.sr-key{background:var(--lift);border-radius:var(--r1);padding:14px 16px 16px}
.sr-key dt{font-size:15px;color:var(--mute)}
.sr-key dd{margin:0}
.sr-key-v{display:block;font-family:var(--disp);font-weight:600;font-size:clamp(19px,1.5vw,22px);line-height:1.3;color:var(--ink);font-variant-numeric:tabular-nums}
.sr-key-s{display:block;font-size:15px;color:var(--mute);margin-top:2px}
.sr-arch{margin:0;border-radius:var(--arch);overflow:hidden;aspect-ratio:4/5;max-height:min(calc(100svh - 160px),760px);width:100%;justify-self:end;background:var(--t3)}
.sr-arch img{width:100%;height:100%;object-fit:cover;object-position:68% 50%}

/* section index (in-page, not sticky) */
.sr-index{background:var(--t1);padding:0 var(--pad) 28px}
.sr-index ol{max-width:var(--maxw);margin:0 auto;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;counter-reset:ix}
.sr-index li{counter-increment:ix}
.sr-index a{display:flex;align-items:baseline;gap:8px;min-height:44px;padding:10px 16px;border-radius:999px;background:var(--lift);text-decoration:none;font-size:16px;color:var(--ink)}
.sr-index a::before{content:counter(ix,decimal-leading-zero);font-size:15px;color:var(--pearl);font-variant-numeric:tabular-nums}
.sr-index a:hover{background:var(--lift2)}

/* depth bands */
.sr-band{padding:clamp(80px,9vw,136px) var(--pad)}
.sr-d2{background:var(--t2)}
.sr-d3{background:var(--t3)}
.sr-d4{background:var(--t4)}
.sr-d5{background:var(--t5)}
.sr-nacre{background:var(--nacre);color:var(--on-nacre)}
.sr-w{max-width:var(--maxw);margin:0 auto}
.sr-rail{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,96px);align-items:start}
.sr-rail-h{position:sticky;top:104px}
.sr-kick{display:block;font-size:15px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--pearl)}
.sr-nacre .sr-kick{color:var(--sea-ink)}
.sr-h2{font-family:var(--disp);font-weight:600;font-size:clamp(34px,3.8vw,58px);line-height:1.14;letter-spacing:-.015em;margin:14px 0 18px}
.sr-p{font-size:18px;color:var(--mute);margin:0;max-width:640px}
.sr-nacre .sr-p{color:#2c4f53}
.sr-h3{font-family:var(--disp);font-weight:600;font-size:clamp(24px,2.2vw,31px);line-height:1.3;margin:0 0 10px}
.sr-gap{margin-top:clamp(56px,6vw,88px)}
.sr-note{font-size:16px;color:var(--mute);margin:14px 0 0;line-height:1.65}
.sr-nacre .sr-note{color:#2c4f53}

/* info: big address line + two-column sheet */
.sr-addr-big{font-family:var(--disp);font-weight:600;font-size:clamp(40px,6vw,92px);line-height:1.05;letter-spacing:-.02em;color:var(--pearl);margin:0 0 36px}
.sr-addr-big small{display:block;font-family:var(--sans);font-weight:600;font-size:18px;letter-spacing:0;color:var(--mute);margin-bottom:10px}
.sr-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin:0;padding:0}
.sr-sheet div{padding:20px 24px;border-radius:var(--r1)}
.sr-sheet div:nth-child(4n+1),.sr-sheet div:nth-child(4n+2){background:var(--lift)}
.sr-sheet dt{font-size:15px;color:var(--pearl);font-weight:700}
.sr-sheet dd{margin:4px 0 0;font-size:18px;font-weight:600}

/* price */
.sr-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin:0 0 56px;padding:0;list-style:none}
.sr-num-v{display:block;font-family:var(--disp);font-weight:300;font-size:clamp(84px,9vw,148px);line-height:.9;letter-spacing:-.04em;color:var(--pearl);font-variant-numeric:tabular-nums}
.sr-num-k{display:block;font-size:19px;font-weight:700;margin-top:14px}
.sr-num-s{display:block;font-size:16px;color:var(--mute)}
.sr-tbl{width:100%;border-collapse:separate;border-spacing:0 4px;font-variant-numeric:tabular-nums;font-size:17px}
.sr-tbl caption{text-align:left;padding:0 0 8px;color:var(--mute);font-size:16px}
.sr-tbl th,.sr-tbl td{padding:14px 20px;text-align:left;font-weight:400;vertical-align:top}
.sr-tbl thead th{font-size:15px;color:var(--pearl);font-weight:700;padding-top:2px;padding-bottom:6px}
.sr-tbl tbody th{font-weight:600}
.sr-tbl tbody tr>*{background:var(--lift)}
.sr-tbl tbody tr>*:first-child{border-radius:var(--r1) 0 0 var(--r1)}
.sr-tbl tbody tr>*:last-child{border-radius:0 var(--r1) var(--r1) 0}
.sr-tbl .n{text-align:right;white-space:nowrap}
.sr-tbl .ask{color:var(--pearl);font-weight:700;white-space:nowrap}
.sr-tbl .why{color:var(--mute)}
.sr-nacre .sr-tbl caption{color:#2c4f53}
.sr-nacre .sr-tbl thead th{color:var(--sea-ink)}
.sr-nacre .sr-tbl tbody tr>*{background:transparent}
.sr-nacre .sr-tbl tbody tr:nth-child(odd)>*{background:var(--nacre2)}
.sr-gives{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.sr-gives li{background:var(--lift2);border-radius:999px;padding:10px 18px;font-size:16px}
.sr-two{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:start}

/* calculator (menu prices only) */
.sr-calc{background:var(--lift);border-radius:var(--r2);padding:30px 30px 26px}
.sr-ctr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:17px}
.sr-ctr small{display:block;font-size:15px;color:var(--mute)}
.sr-ctr-ui{display:flex;align-items:center;gap:6px;flex:none}
.sr-ctr-ui button{width:44px;height:44px;border:0;border-radius:999px;background:var(--lift2);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;font-family:var(--sans)}
.sr-ctr-ui button:disabled{opacity:.38;cursor:default}
.sr-ctr-ui output{min-width:52px;text-align:center;font-weight:700;font-size:18px}
.sr-sum{margin:18px 0 0;padding:0}
.sr-sum div{display:flex;justify-content:space-between;gap:12px;font-size:17px;padding:5px 0;font-variant-numeric:tabular-nums}
.sr-sum dt{color:var(--mute)}
.sr-sum dd{margin:0;font-weight:600;text-align:right}
.sr-sum .sr-tot{align-items:baseline;margin-top:10px;padding-top:14px;background:linear-gradient(var(--lift2),var(--lift2)) top/100% 2px no-repeat}
.sr-sum .sr-tot dd{font-family:var(--disp);font-weight:600;font-size:clamp(32px,3.2vw,44px);color:var(--pearl);line-height:1.1}

/* menu (nacre band) */
.sr-whisky{columns:3 240px;column-gap:clamp(24px,4vw,56px);margin:24px 0 0;padding:0;list-style:none;counter-reset:wk}
.sr-whisky li{counter-increment:wk;break-inside:avoid;display:flex;gap:14px;align-items:baseline;padding:11px 16px;border-radius:var(--r1);font-size:17px;font-weight:600}
.sr-whisky li:nth-child(odd){background:var(--nacre2)}
.sr-whisky li::before{content:counter(wk,decimal-leading-zero);font-size:15px;font-weight:400;color:#2c4f53;font-variant-numeric:tabular-nums}
.sr-food{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px clamp(20px,2.4vw,36px);align-items:start;margin-top:20px}
.sr-food h4{font-family:var(--disp);font-weight:600;font-size:23px;margin:0 0 4px}
.sr-food h4 span{font-family:var(--sans);font-size:16px;font-weight:600;color:#2c4f53;margin-left:6px}

/* hours */
.sr-today{display:grid;grid-template-columns:auto auto;gap:4px clamp(28px,4vw,64px);align-items:end;justify-content:start;margin:0 0 48px}
.sr-today-day{grid-column:1/-1;font-size:18px;font-weight:700;color:var(--pearl)}
.sr-today-k{display:block;font-size:16px;color:var(--mute)}
.sr-today-t{display:block;font-family:var(--disp);font-weight:300;font-size:clamp(46px,6vw,92px);line-height:1.02;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.sr-wk{width:100%;border-collapse:separate;border-spacing:4px 0;table-layout:fixed;font-variant-numeric:tabular-nums}
.sr-wk caption{text-align:left;padding:0 0 10px;color:var(--mute);font-size:16px}
.sr-wk th,.sr-wk td{padding:14px 10px;text-align:center;font-size:17px;font-weight:400}
.sr-wk thead th{background:var(--lift2);font-weight:700;border-radius:var(--r1) var(--r1) 0 0}
.sr-wk tbody th{text-align:left;color:var(--pearl);font-weight:700;width:76px;padding-left:0}
.sr-wk tbody td{background:var(--lift)}
.sr-wk tbody tr:last-child td{border-radius:0 0 var(--r1) var(--r1)}
.sr-wk .off{color:var(--mute)}
.sr-wk .is-today{background:var(--pearl);color:var(--on-nacre)}
.sr-wk-m{display:none}
.sr-today-tag{display:inline-block;margin-left:8px;font-size:15px;font-weight:700;background:var(--on-nacre);color:var(--pearl);border-radius:999px;padding:1px 10px;vertical-align:1px}

/* guide list */
.sr-guide{list-style:none;margin:0;padding:0;counter-reset:g;display:grid;gap:6px}
.sr-guide li{counter-increment:g;display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;padding:20px 24px;border-radius:var(--r1);font-size:18px;line-height:1.7}
.sr-guide li:nth-child(odd){background:var(--lift)}
.sr-guide li::before{content:counter(g);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:var(--pearl);color:var(--on-nacre);font-weight:800;font-size:17px}

/* reserve: verb rows */
.sr-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sr-steps li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(24px,4vw,64px);align-items:center;padding:28px 32px;border-radius:var(--r2);background:var(--lift)}
.sr-steps li:nth-child(2){background:var(--lift2)}
.sr-step-v{font-family:var(--disp);font-weight:300;font-size:clamp(52px,6vw,96px);line-height:1;letter-spacing:-.03em;color:var(--pearl)}
.sr-step-v small{display:block;font-family:var(--sans);font-weight:700;font-size:16px;letter-spacing:0;color:var(--mute);margin-bottom:8px}
.sr-steps p{margin:0;font-size:18px}

/* intro + gallery */
.sr-prose p{font-size:18px;line-height:1.88;margin:0 0 22px;max-width:700px;color:#d5e5e5}
.sr-prose p:first-child{font-family:var(--disp);font-weight:600;font-size:clamp(22px,2vw,27px);line-height:1.7;color:var(--ink)}
.sr-intro-arch{margin:0;border-radius:var(--arch);overflow:hidden;aspect-ratio:3/4;background:var(--t5)}
.sr-intro-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.sr-gal{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:clamp(14px,2vw,28px);align-items:end;margin-top:28px}
.sr-fig{margin:0}
.sr-fig img{width:100%;height:auto;object-fit:cover;border-radius:var(--arch)}
.sr-fig--a img{aspect-ratio:4/5;object-position:72% 50%}
.sr-fig--b img{aspect-ratio:3/4;object-position:50% 50%}
.sr-fig--c img{aspect-ratio:9/16;object-position:50% 40%}
.sr-fig figcaption{font-size:16px;color:var(--mute);padding:12px 4px 0;line-height:1.55}

/* faq */
.sr-faq{display:grid;gap:6px}
.sr-q{background:var(--lift);border-radius:var(--r1)}
.sr-q:nth-child(even){background:transparent}
.sr-q summary{display:flex;justify-content:space-between;gap:18px;padding:20px 24px;cursor:pointer;list-style:none;font-size:18px;font-weight:700;line-height:1.5;min-height:44px}
.sr-q summary::-webkit-details-marker{display:none}
.sr-q summary::after{content:"+";flex:none;font-family:var(--disp);font-size:28px;line-height:1;color:var(--pearl)}
.sr-q[open] summary::after{content:"\2212"}
.sr-q-a{margin:0;padding:0 24px 22px;font-size:17px;color:var(--mute);max-width:820px}

/* contact */
.sr-phone{display:block;font-family:var(--disp);font-weight:300;font-size:clamp(44px,8.4vw,128px);line-height:1;letter-spacing:-.03em;color:var(--pearl);text-decoration:none;margin:10px 0 30px;white-space:nowrap}
.sr-contact{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,4vw,64px);align-items:start;margin-top:12px}
.sr-place-card{background:var(--lift);border-radius:var(--r2);padding:32px}
.sr-place-v{font-family:var(--disp);font-size:clamp(25px,2.4vw,33px);font-weight:600;line-height:1.35;margin:6px 0 22px}
.sr-label{display:block;font-size:15px;font-weight:700;color:var(--pearl)}
.sr-way{margin:0;padding:0;display:grid;gap:4px}
.sr-way div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:16px 20px;border-radius:var(--r1)}
.sr-way div:nth-child(odd){background:var(--lift)}
.sr-way dt{color:var(--pearl);font-weight:700}
.sr-way dd{margin:0}
.sr-copied{display:block;min-height:26px;font-size:16px;color:var(--mute);margin-top:10px}

/* footer, copyright, provenance */
.sr-foot{background:var(--abyss);padding:72px var(--pad) 44px;color:var(--mute)}
.sr-foot-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:5fr 3fr 4fr;gap:40px}
.sr-foot .sr-foot-sign{font-family:var(--disp);font-weight:300;font-size:56px;line-height:1;color:var(--pearl);margin:0 0 12px}
.sr-foot .sr-foot-name{font-family:var(--disp);font-size:23px;font-weight:600;color:var(--ink);margin:0 0 8px}
.sr-foot p{font-size:16px;margin:0 0 6px}
.sr-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.sr-foot ul a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none;font-size:16px}
.sr-foot ul a:hover{color:var(--ink)}
.sr-copy{max-width:var(--maxw);margin:44px auto 0;padding:20px 24px;border-radius:var(--r1);background:rgba(174,208,218,.05)}
.sr-copy summary{cursor:pointer;color:var(--pearl);font-weight:700;font-size:16px;min-height:44px;display:flex;align-items:center}
.sr-copy-t p{font-size:16px;line-height:1.7;margin:0 0 10px;max-width:860px}
.sr-prov{max-width:var(--maxw);margin:10px auto 0;padding:20px 24px;border-radius:var(--r1);background:rgba(174,208,218,.05)}
.sr-prov-line{font-size:16px;color:var(--ink);margin:0 0 8px}
.sr-prov-links{display:flex;flex-wrap:wrap;gap:4px 22px}
.sr-prov-links a{display:inline-block;padding:10px 0;line-height:1.5;max-width:100%;overflow-wrap:anywhere;color:var(--pearl);font-weight:700;font-size:16px;text-underline-offset:5px}
.sr-prov-d summary{cursor:pointer;color:var(--mute);font-size:16px;min-height:44px;display:flex;align-items:center}
.sr-prov-hash{font-size:16px;color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:4px 0 8px}
.sr-prov-log{margin:0;padding-left:20px;font-size:16px;color:var(--ink)}

/* sister official sites (googlerank fills the list at publish); system font of the page language, no boxes */
.sr-sites{--sys:system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;background:var(--abyss);padding:56px var(--pad) 0;font-family:var(--sys)}
html:lang(en) .sr-sites{--sys:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
html:lang(ja) .sr-sites{--sys:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
html:lang(zh) .sr-sites{--sys:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif}
.sr-sites-h{font-family:inherit;font-size:19px;font-weight:700;color:var(--ink);margin:0 0 10px}
.sr-sites-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 24px}
.sr-sites-list a{display:inline-block;padding:10px 0;line-height:1.5;font-size:16px;color:var(--pearl);font-weight:600;text-underline-offset:5px;overflow-wrap:anywhere}

/* mobile dock */
.sr-dock{display:none}

/* 404 */
.sr-nf{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:48px var(--pad);background:var(--t1)}
.sr-nf-sign{font-family:var(--disp);font-weight:300;font-size:clamp(84px,14vw,200px);line-height:.95;color:var(--pearl);margin:0 0 20px;letter-spacing:-.03em}
.sr-nf-h1{font-family:var(--disp);font-weight:600;font-size:clamp(30px,4vw,50px);margin:0 0 14px}
.sr-nf-t{font-size:18px;color:var(--mute);margin:0 0 30px;max-width:560px}

@media (max-width:1180px){
  .sr-keys{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-food{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-top-num{display:none}
}
@media (max-width:980px){
  .sr-open-grid{grid-template-columns:minmax(0,1fr);min-height:0}
  .sr-arch{justify-self:stretch;aspect-ratio:4/3;max-height:none;border-radius:var(--arch)}
  .sr-rail,.sr-two,.sr-contact{grid-template-columns:minmax(0,1fr)}
  .sr-rail-h{position:static}
  .sr-intro-arch{aspect-ratio:16/10;max-width:none}
  .sr-foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sr-steps li{grid-template-columns:minmax(0,1fr);gap:12px}
  .sr-dock{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:40;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--abyss)}
  .sr-dock .sr-btn{min-height:50px;padding:0 10px;font-size:16px}
  body{padding-bottom:78px}
}
@media (max-width:760px){
  .sr-wk{display:none}
  .sr-wk-m{display:block}
  .sr-wk-m caption{display:block}
  .sr-wk-m thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .sr-wk-m tbody{display:block}
  .sr-wk-m tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 0 4px;border-radius:var(--r1);background:var(--lift)}
  .sr-wk-m tbody tr>*{padding:4px 16px 12px;font-size:16px;text-align:left}
  .sr-wk-m tbody th{grid-column:1/-1;padding:12px 16px 2px;color:var(--ink)}
  .sr-wk-m tbody td::before{content:attr(data-p);display:block;font-size:15px;color:var(--mute)}
  .sr-wk-m tbody tr.is-today td::before{color:var(--on-nacre)}
  .sr-today{grid-template-columns:minmax(0,1fr);gap:6px}
  .sr-wk-m tbody tr>*,.sr-wk-m tbody tr>*:first-child,.sr-wk-m tbody tr>*:last-child{background:transparent;border-radius:0}
  .sr-wk-m tbody tr.is-today{background:var(--pearl);color:var(--on-nacre)}
}
@media (max-width:700px){
  .sr-mark-ko{display:none}
  .sr-bar-call{display:none}
  .sr-langs a{padding:0 8px;min-width:36px;min-height:44px}
  .sr-mark-sign{font-size:26px}
  .sr-bar-row{min-height:60px}
  .sr-open{padding-top:18px}
  .sr-sign{font-size:clamp(84px,27vw,118px);margin-top:8px}
  .sr-mirror{font-size:clamp(84px,27vw,118px)}
  .sr-h1{font-size:clamp(30px,8.6vw,36px);margin-bottom:12px}
  .sr-lead{font-size:17px;margin-bottom:20px}
  .sr-open .sr-acts{flex-direction:column;align-items:stretch;gap:12px}
  .sr-open .sr-acts .sr-btn{min-height:54px;font-size:17px}
  .sr-open .sr-acts .sr-link{align-self:center}
  .sr-keys{margin-top:22px}
  .sr-key{padding:12px 14px 14px}
  .sr-key-v{font-size:19px}
  .sr-open{isolation:isolate}
  .sr-arch{position:absolute;top:0;left:0;right:0;width:auto;height:380px;max-height:none;aspect-ratio:auto;border-radius:0;z-index:-2}
  .sr-arch img{object-position:62% 60%}
  .sr-open::before{content:"";position:absolute;top:0;left:0;right:0;height:381px;z-index:-1;background:linear-gradient(180deg,rgba(14,68,72,.62),var(--t1))}
  .sr-index ol{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
  .sr-index ol::-webkit-scrollbar{display:none}
  .sr-index a{white-space:nowrap}
  .sr-sheet{grid-template-columns:minmax(0,1fr)}
  .sr-sheet div:nth-child(4n+1),.sr-sheet div:nth-child(4n+2){background:transparent}
  .sr-sheet div:nth-child(odd){background:var(--lift)}
  .sr-sheet div{padding:16px 18px}
  .sr-nums{grid-template-columns:minmax(0,1fr);gap:28px}
  .sr-num-v{font-size:88px}
  .sr-tbl th,.sr-tbl td{padding:12px 12px}
  .sr-food{grid-template-columns:minmax(0,1fr)}
  .sr-calc,.sr-place-card{padding:24px 20px}
  .sr-guide li{grid-template-columns:40px minmax(0,1fr);gap:14px;padding:16px 18px;font-size:17px}
  .sr-guide li::before{width:34px;height:34px;font-size:16px}
  .sr-steps li{padding:22px 20px}
  .sr-gal{grid-template-columns:minmax(0,1fr)}
  .sr-fig--a img,.sr-fig--b img,.sr-fig--c img{aspect-ratio:4/5}
  .sr-fig--c{display:none}
  .sr-way div{grid-template-columns:minmax(0,1fr);gap:2px;padding:14px 18px}
  .sr-foot-grid{grid-template-columns:minmax(0,1fr)}
  .sr-q summary{padding:18px 18px}
  .sr-q-a{padding:0 18px 20px}
  .sr-today-t{font-size:48px}
  .sr-addr-big{font-size:44px}
}
@media (max-width:700px){
  .sr-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .sr-stack,.sr-stack tbody{display:block}
  .sr-stack tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;background:var(--lift);border-radius:var(--r1);margin:0 0 4px;padding:12px 16px}
  .sr-stack3 tbody tr{grid-template-columns:minmax(0,1fr) auto auto}
  .sr-stack tbody tr>*{background:transparent;padding:0;border-radius:0}
  .sr-stack tbody tr>*:first-child,.sr-stack tbody tr>*:last-child{border-radius:0}
  .sr-stack .why,.sr-stack .mix{grid-column:1/-1;order:3}
}
@media (max-width:360px){
  .sr-bar-row{gap:8px}
  .sr-mark-sign{font-size:22px}
  .sr-langs{padding:2px}
  .sr-langs a{padding:0 6px;min-width:32px;font-size:14px}
  .sr-dock .sr-btn{font-size:15px;padding:0 6px}
  .sr-key{padding:12px 10px 14px}
  .sr-key-v{font-size:17px}
  .sr-tbl th,.sr-tbl td{padding:11px 8px}
  .sr-today-t{font-size:40px}
  .sr-phone{font-size:40px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
