:root{--paper:#efe9df;--paper2:#e6dfd2;--ink:#17130f;--ink2:#3a332b;--muted:#7a7064;--ox:#7a2a1d;--line:#cbbfad;--sea:#23484f}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.62 'Newsreader','Hiragino Mincho ProN','Noto Serif JP','Noto Serif KR',Georgia,serif;font-optical-sizing:auto}
img{display:block;max-width:100%}
a{color:inherit}
.w{max-width:1240px;margin:0 auto;padding:0 28px}
.lab{font:500 11px/1.4 'Inter',system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.d{font-family:'Instrument Serif','Hiragino Mincho ProN','Noto Serif JP','Noto Serif KR',Georgia,serif;font-weight:400;letter-spacing:-.01em;line-height:1.02}
:lang(ja) .d,:lang(ko) .d{line-height:1.25;letter-spacing:0}
em,.i{font-style:italic}
/* header */
header{position:absolute;top:0;left:0;right:0;z-index:20;color:#f4efe6}
header .w{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.brand{font-family:'Instrument Serif',Georgia,serif;font-size:24px;text-decoration:none;white-space:nowrap}
.brand i{font-style:italic;opacity:.85}
nav{display:flex;gap:26px}nav a{text-decoration:none;opacity:.85}nav a:hover{opacity:1}
.lang{position:relative}.lang summary{list-style:none;cursor:pointer;border:1px solid rgba(244,239,230,.5);padding:6px 12px}
.lang summary::-webkit-details-marker{display:none}
.lang ul{position:absolute;inset-inline-end:0;top:calc(100% + 6px);margin:0;padding:6px 0;list-style:none;background:var(--paper);color:var(--ink);min-width:140px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.lang li a{display:block;padding:7px 16px;text-decoration:none;font:400 15px/1.3 'Inter',system-ui,sans-serif}.lang li a:hover,.lang li a.cur{background:var(--paper2)}
/* hero */
.hero{position:relative;min-height:94vh;display:flex;flex-direction:column;justify-content:flex-end;color:#f6f1e8;background:#1b1611}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,11,8,.55) 0%,rgba(15,11,8,.05) 30%,rgba(15,11,8,.25) 55%,rgba(15,11,8,.86) 100%)}
.hero .w{position:relative;z-index:2;width:100%;padding-top:130px;padding-bottom:64px}
.hero .lab{opacity:.8;margin-bottom:22px}
.hero h1{font-size:clamp(46px,7.6vw,118px);margin:0 0 28px;max-width:13.5em}
.hero h1 br+*{font-style:italic}
.hero p{max-width:34em;font-size:19px;opacity:.92;margin:0 0 34px}
.cta{white-space:nowrap;display:inline-flex;align-items:center;gap:14px;background:#f4efe6;color:var(--ink);text-decoration:none;padding:16px 26px;font:500 13px/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.cta:after{content:"→"}[dir=rtl] .cta:after{content:"←"}
.cta.ghost{background:transparent;color:inherit;border:1px solid currentColor}
.hero .row{display:flex;gap:14px;flex-wrap:wrap}
.cap{font:400 12px/1.4 'Inter',sans-serif;color:var(--muted);margin-top:10px}.cap b{font-weight:500;color:var(--ink2)}
.hero .cap{position:absolute;z-index:2;inset-inline-end:28px;bottom:22px;color:rgba(246,241,232,.7)}.hero .cap b{color:rgba(246,241,232,.9)}
/* facts band */
.facts{border-bottom:1px solid var(--line)}
.facts .w{display:grid;grid-template-columns:repeat(3,1fr)}
.facts .w>div{padding:30px 0;border-inline-start:1px solid var(--line);padding-inline-start:28px}
.facts .w>div:first-child{border:0;padding-inline-start:0}
.facts span{font-family:'Instrument Serif',Georgia,serif;font-size:26px;line-height:1.2;display:block}
section{padding:120px 0}
.kick{color:var(--ox);margin-bottom:26px;display:flex;align-items:center;gap:14px}.kick:before{content:"";width:34px;height:1px;background:currentColor}
h2.d{font-size:clamp(40px,5.2vw,76px);margin:0 0 56px;max-width:14em}
/* why */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}
.why .n{font-family:'Instrument Serif',serif;font-style:italic;font-size:22px;color:var(--ox)}
.why h3{font-size:34px;margin:10px 0 16px}
.why p{margin:0;color:var(--ink2)}
/* story */
.story{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.story figure{margin:0;position:sticky;top:40px}
.story .txt p{margin:0 0 22px;max-width:36em}
.story .txt p:first-child:first-letter{font-family:'Instrument Serif',serif;float:left;font-size:92px;line-height:.82;padding:6px 12px 0 0;color:var(--ox)}
[dir=rtl] .story .txt p:first-child:first-letter,:lang(ja) .story .txt p:first-child:first-letter,:lang(ko) .story .txt p:first-child:first-letter{float:none;font-size:inherit;padding:0;color:inherit}
.story .txt a{color:var(--ox)}
.people{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:28px;margin-top:100px;align-items:end}
.person h3{font-size:44px;margin:0 0 4px;font-style:italic}
.person .lab{color:var(--ox);margin-bottom:14px}
.person p{margin:0;color:var(--ink2);font-size:16px}
.people figure{margin:0}.people img{width:100%;aspect-ratio:3/4;object-fit:cover}
/* gallery */
.gal{padding:0 0 120px}
.strip{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:18px;align-items:start}
.strip figure{margin:0}.strip img{width:100%;object-fit:cover}
.strip figure:nth-child(1) img{aspect-ratio:4/5}.strip figure:nth-child(2) img{aspect-ratio:3/4;margin-top:80px}
.strip figure:nth-child(3) img{aspect-ratio:3/4}.strip figure:nth-child(4) img{aspect-ratio:4/5;margin-top:40px}
/* map */
.mapsec{background:var(--paper2)}
.map{display:grid;grid-template-columns:8fr 4fr;gap:48px;align-items:start}
.map svg{width:100%;height:auto;background:#f3eee5;border:1px solid var(--line)}
.mk{cursor:pointer;outline:none}.mk .blk{fill:url(#hatch);stroke:var(--ink);stroke-width:1}
.mk:hover .blk,.mk:focus .blk{fill:#e9d2c3}.mk.on .blk{fill:#d9b3a0;stroke:var(--ox);stroke-width:1.6}
.mk text{font:italic 17px 'Instrument Serif',Georgia,serif;fill:var(--ink);pointer-events:none}
.info .lab{color:var(--ox)}.info h3{font-size:40px;margin:12px 0 14px;font-style:italic}.info p{margin:0;color:var(--ink2)}
.map .sub{margin-top:30px;color:var(--muted);font-size:15px}
/* service */
.steps{counter-reset:s;border-top:1px solid var(--ink)}
.step{display:grid;grid-template-columns:120px 1fr 2fr;gap:28px;padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline}
.step:before{counter-increment:s;content:counter(s,decimal-leading-zero);font:italic 44px/1 'Instrument Serif',serif;color:var(--ox)}
.step h3{margin:0;font-size:30px}.step p{margin:0;color:var(--ink2)}
.for{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:100px}
.for h3{font-size:30px;margin:0 0 12px}.for p{margin:0;color:var(--ink2)}
.for div{border-top:1px solid var(--ink);padding-top:22px}
/* fees */
.fees{display:grid;grid-template-columns:5fr 7fr;gap:80px}
.fees table{width:100%;border-collapse:collapse;border-top:1px solid var(--ink)}
.fees td{padding:22px 0;border-bottom:1px solid var(--line);font-size:19px}
.fees td:last-child{text-align:end;font:italic 40px/1 'Instrument Serif',serif;color:var(--ox)}
.fees .note{font-size:15px;color:var(--muted);margin-top:22px}
/* faq */
.faq{max-width:900px}
details.q{border-bottom:1px solid var(--line)}details.q:first-of-type{border-top:1px solid var(--ink)}
details.q summary{cursor:pointer;list-style:none;padding:24px 44px 24px 0;position:relative;font-size:22px}
[dir=rtl] details.q summary{padding:24px 0 24px 44px}
details.q summary::-webkit-details-marker{display:none}
details.q summary:after{content:"+";position:absolute;inset-inline-end:0;top:18px;font:300 30px/1 'Inter',sans-serif;color:var(--ox)}
details.q[open] summary:after{content:"−"}
details.q p{margin:0 0 26px;color:var(--ink2);max-width:44em}
/* brief */
.brief{background:var(--ink);color:#efe9df}
.brief .kick{color:#d9a28f}
.brief .grid{display:grid;grid-template-columns:5fr 7fr;gap:80px}
.brief .sub{color:#b9ae9f}
form{display:grid;grid-template-columns:1fr 1fr;gap:34px 28px}
label{display:block;margin-bottom:8px;color:#b9ae9f}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #6f665b;color:#f4efe6;font:inherit;font-size:19px;padding:8px 0;border-radius:0;outline:none}
input:focus,select:focus,textarea:focus{border-bottom-color:#f4efe6}
select option{color:var(--ink)}
textarea{min-height:120px;resize:vertical}
.full{grid-column:1/-1}
.hp{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
button{background:#f4efe6;color:var(--ink);border:0;padding:18px 30px;font:500 13px/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
button[disabled]{opacity:.5}
.msg{grid-column:1/-1;display:none;font-size:19px;font-style:italic;color:#f4efe6}
footer{padding:48px 0 60px;color:var(--muted);font:400 13px/1.7 'Inter',sans-serif}
footer .w{display:grid;grid-template-columns:1fr 1fr;gap:40px}
footer a{color:var(--ink2)}
@media(max-width:960px){
 nav{display:none}.w{padding:0 20px}section{padding:84px 0}
 .facts .w,.why,.story,.people,.map,.for,.fees,.brief .grid,footer .w{grid-template-columns:1fr}
 .facts .w>div{border:0;border-top:1px solid var(--line);padding:18px 0}.facts .w>div:first-child{border:0}
 .story figure{position:static}
 .people{margin-top:64px}.people figure{display:none}
 .strip{grid-template-columns:1fr 1fr}.strip figure img{margin-top:0!important}
 .step{grid-template-columns:64px 1fr;gap:14px}.step p{grid-column:2}
 .step:before{font-size:34px}
 form{grid-template-columns:1fr}
 .hero{min-height:88vh}.hero .cap{position:static;padding:0 20px 18px}
 h2.d{margin-bottom:40px}
 .hero .w{padding-top:110px;padding-bottom:28px}.hero p{font-size:17px}.cta{padding:14px 18px;font-size:12px}
}
[dir=rtl] body{font-family:'Noto Naskh Arabic','Geeza Pro',serif;font-size:19px}
[dir=rtl] .d,[dir=rtl] .why h3,[dir=rtl] .person h3,[dir=rtl] .info h3,[dir=rtl] details.q summary{font-family:'Noto Naskh Arabic','Geeza Pro',serif;font-style:normal;line-height:1.35;letter-spacing:0}
[dir=rtl] .lab{letter-spacing:0;font-family:'Noto Sans Arabic',Tahoma,sans-serif;font-size:13px}
[dir=rtl] .map svg{direction:ltr}
[dir=rtl] .facts span,[dir=rtl] .why .n,[dir=rtl] .fees td:last-child,[dir=rtl] .step h3,[dir=rtl] .for h3{font-family:'Noto Naskh Arabic','Geeza Pro',serif;font-style:normal}
[dir=rtl] .hero h1 br+*{font-style:normal}