:root{--paper:#f4efe7;--ink:#141210;--mute:#6f685e;--line:#14121033;--pink:#ff40b4;--serif:"Bodoni Moda", "Didot", serif;--sans:"Archivo", system-ui, sans-serif;--ease:cubic-bezier(.19, 1, .22, 1)}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-weight:350;overflow-x:clip}::selection{background:var(--pink);color:#fff}em{font-style:italic}a{text-decoration:none}.wrap{max-width:1440px;margin-inline:auto;padding-inline:16px}@media (width>=768px){.wrap{padding-inline:48px}}.cap{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;font-size:11px;font-weight:500}.dot{background:var(--pink);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin:0 .6em .15em;display:inline-block}.rule{background:var(--ink);transform-origin:0;height:1px;display:block}.bar{backdrop-filter:blur(10px);z-index:20;background:#f4efe7d1;justify-content:space-between;align-items:center;padding:14px 16px;animation:1s 2.3s both fade;display:flex;position:sticky;top:0}@media (width>=768px){.bar{padding:16px 48px}}.bar nav a,.book,.links a,.cols a,.lines a{background-origin:content-box;margin-block:calc(.5lh - 22px);padding-block:calc(22px - .5lh)}.bar nav a,.links a,.foot .cols a,.lines a{background:linear-gradient(var(--pink), var(--pink)) 0 100% / 0 1px no-repeat content-box;transition:background-size .6s var(--ease)}.bar nav a:is(:hover,:active),.links a:is(:hover,:active),.foot .cols a:is(:hover,:active),.lines a:is(:hover,:active){background-size:100% 1px}.book{--u:var(--ink);background:linear-gradient(var(--u), var(--u)) 0 calc(100% + 3px) / 100% 1px no-repeat content-box border-box}.book:is(:hover,:active){--u:var(--pink)}.cover{padding-top:18px}.kicker{color:var(--mute);justify-content:space-between;padding-bottom:10px;animation:1s .2s both fade;display:flex}.mast{font-family:var(--serif);font-variation-settings:"opsz" 96;letter-spacing:-.03em;justify-content:space-between;padding:.06em 0 .02em;font-size:22vw;font-weight:600;line-height:.78;display:flex;position:relative;overflow:hidden}.mast span{animation:rise 1.4s calc(.35s + var(--i) * 90ms) var(--ease) both;display:inline-block}.stop{background:var(--pink);width:.1em;height:.1em;animation:pop .7s 1.45s var(--ease) both;border-radius:50%;align-self:flex-end;margin:0 0 .03em .02em}@media (width>=768px){.mast{font-weight:500}}@media (width>=1440px){.cover .mast{font-size:316px}}.draw.d1{animation:draw 1.2s .1s var(--ease) both}.draw.d2{animation:draw 1.4s 1.1s var(--ease) both}.dateline{animation:fadeup 1.1s 1.6s var(--ease) both;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;padding:14px 0 28px;display:flex}.tag{font-family:var(--serif);font-size:clamp(19px,2.4vw,32px);font-style:italic}.tag em{color:var(--pink)}.zh{color:var(--mute);letter-spacing:.5em;font-size:12px}.cover-grid{gap:32px;padding-bottom:24px;display:grid}@media (width>=900px){.cover-grid{grid-template-columns:1fr 2.4fr;align-items:stretch;gap:48px}.cover-grid .side{order:-1}}.hero-plate .mask{aspect-ratio:4/5;animation:wipe 1.5s 1.35s var(--ease) both;overflow:hidden}@media (width>=640px){.hero-plate .mask{aspect-ratio:16/9}}.hero-plate img{object-fit:cover;width:100%;height:100%;animation:settle 2.6s 1.35s var(--ease) both}figcaption{color:var(--mute);justify-content:space-between;gap:16px;padding-top:10px;display:flex}figcaption span:first-child{white-space:nowrap}figcaption span:last-child{text-align:right}.hero-plate figcaption{animation:1s 2.4s both fade}.side{flex-direction:column;justify-content:space-between;gap:36px;height:100%;display:flex}.cover-lede{font-family:var(--serif);max-width:22ch;animation:fadeup 1.1s 2s var(--ease) both;font-size:clamp(21px,1.9vw,27px);line-height:1.3}.cover-lede:first-line{font-style:italic}.lines{border-top:1px solid var(--ink)}.lines li{border-bottom:1px solid var(--line);font-family:var(--serif);animation:fadeup 1s calc(2s + var(--n,0) * .12s) var(--ease) both;align-items:baseline;gap:18px;padding:14px 0;font-size:clamp(22px,2.2vw,30px);display:flex}.lines li:nth-child(2){--n:1}.lines li:nth-child(3){--n:2}.lines li:nth-child(4){--n:3}.lines .n{color:var(--mute);font-family:var(--sans);letter-spacing:.18em;min-width:46px;font-size:11px}.lines .cta{border:0;padding-top:26px}.btn{border:1px solid var(--ink);font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;transition:color .5s var(--ease), background .5s var(--ease);padding:17px 28px;font-size:11px;font-weight:500;display:inline-block;position:relative}.btn:after{background:var(--pink);content:"";vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-left:14px;display:inline-block}.btn:is(:hover,:active){background:var(--ink);color:var(--paper)}.sec{padding-top:96px}@media (width>=768px){.sec{padding-top:160px}}.sec-head{border-top:1px solid var(--ink);align-items:baseline;gap:18px;margin-bottom:40px;padding-top:12px;display:flex}.num{font-family:var(--serif);font-size:15px;font-style:italic}.num:after{background:var(--pink);content:"";border-radius:50%;width:4px;height:4px;margin-left:3px;display:inline-block}.lede{font-family:var(--serif);letter-spacing:-.015em;text-wrap:balance;font-size:clamp(32px,5vw,76px);font-weight:400;line-height:1.04}.lede.center{text-align:center;max-width:18ch;margin:64px auto 0}:where(.body,.copy,.addr) p{max-width:36em;font-size:16px;line-height:1.65}:where(.body,.copy) p+p{margin-top:1em}.drop:first-letter{float:left;font-family:var(--serif);margin:.06em .1em 0 0;font-size:4.1em;line-height:.82}.plate .mask{overflow:hidden}.plate img{object-fit:cover;height:100%;transition:transform 1.6s var(--ease);width:100%}.plate:hover img{transform:scale(1.03)}.mask.tall{aspect-ratio:4/5}.plate.wide .mask{aspect-ratio:4/3}.plate.wide img{object-position:14% 50%}@media (width>=768px){.plate.wide .mask{aspect-ratio:21/9}}.feature{gap:28px;margin-bottom:96px;display:grid}@media (width>=900px){.feature{grid-template-columns:5fr 6fr;align-items:center;gap:8%;margin-bottom:140px}.feature.flip .plate{order:2}}.meta{color:var(--mute);margin-bottom:14px}.title{font-family:var(--serif);letter-spacing:-.02em;margin-bottom:28px;font-size:clamp(44px,6.4vw,96px);font-weight:400;line-height:.98}.title.sm{margin:0;font-size:clamp(40px,4.6vw,68px)}blockquote{border-left:1px solid var(--pink);font-family:var(--serif);margin:32px 0;padding-left:20px;font-size:clamp(22px,2.3vw,32px);line-height:1.2}blockquote.first{margin-top:0}.small{color:var(--mute);font-size:14px}.carte{border-top:1px solid var(--ink);padding-top:28px}.carte-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:32px;display:flex}.carte-head .cap{color:var(--mute)}.carte ul{gap:0 64px;display:grid}@media (width>=900px){.carte ul{grid-template-columns:1fr 1fr}}.carte li{border-bottom:1px solid var(--line);padding:18px 0}.row{align-items:baseline;gap:10px;display:flex}.name{font-family:var(--serif);font-size:23px}.lead{border-bottom:1px dotted var(--mute);flex:1;min-width:16px;transform:translateY(-4px)}.price{white-space:nowrap}.desc{color:var(--mute);max-width:34em;margin-top:6px;font-size:14px;line-height:1.5}.addr{margin-top:72px;display:grid}@media (width>=768px){.addr{grid-template-columns:1fr 1fr}.addr>div+div{border-left:1px solid var(--line);padding-left:48px;border-top:0!important}}.addr>div{padding:28px 0}.addr>div+div{border-top:1px solid var(--line)}.place{font-family:var(--serif);letter-spacing:-.03em;margin:6px 0 22px;font-size:clamp(64px,9vw,140px);font-style:italic;font-weight:400;line-height:1}.links{flex-wrap:wrap;gap:8px 24px;margin-top:16px;display:flex}.links a{font-size:14px;font-weight:500}.faculty{border-top:1px solid var(--ink);margin-top:48px}.faculty li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:4px 24px;padding:20px 0;display:grid;position:relative}.fname{font-family:var(--serif);letter-spacing:-.02em;transition:font-style 0s, transform .6s var(--ease);font-size:clamp(38px,5.6vw,84px);line-height:1}.faculty .cap{color:var(--mute);align-self:center}.fline{color:var(--mute);grid-column:1/-1;font-size:15px;line-height:1.5}@media (width>=900px){.faculty li{grid-template-columns:4fr 1.4fr 4fr;align-items:center;padding:22px 0}.fline{grid-column:auto}}.faculty li:before{background:var(--pink);content:"";opacity:0;border-radius:50%;width:6px;height:6px;transition:opacity .4s;position:absolute;top:50%;left:-14px}.faculty li:is(:hover,:active):before{opacity:1}.faculty li:is(:hover,:active) .fname{font-style:italic;transform:translate(10px)}.rules{border-top:1px solid var(--ink)}.rules li{border-bottom:1px solid var(--line);font-family:var(--serif);gap:18px;padding:16px 0;font-size:19px;line-height:1.4;display:flex}.rn{color:var(--mute);flex:0 0 28px;font-style:italic}.faq{border-top:1px solid var(--ink)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-family:var(--serif);justify-content:space-between;padding:18px 0;font-size:21px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-family:var(--sans);transition:transform .4s var(--ease), color .3s;font-weight:300}details[open] summary:after{color:var(--pink);transform:rotate(45deg)}details p{color:var(--mute);padding-bottom:22px;font-size:15px;line-height:1.6}.foot{background:var(--ink);color:var(--paper);margin-top:140px;padding-top:72px;overflow:hidden}.foot .cap{color:#f4efe78c}.open{font-family:var(--serif);letter-spacing:-.015em;max-width:14ch;margin:18px 0 36px;font-size:clamp(36px,6vw,92px);line-height:1.02}.btn.inv{border-color:var(--paper)}.btn.inv:is(:hover,:active){background:var(--paper);color:var(--ink)}.cols{border-top:1px solid #f4efe733;grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:72px;padding-top:28px;display:grid}@media (width>=900px){.cols{grid-template-columns:repeat(4,1fr)}}.cols>div:nth-child(3){grid-column:span 2}@media (width>=900px){.cols>div:nth-child(3){grid-column:auto}}.cols a{font-family:var(--serif);overflow-wrap:anywhere;margin-top:calc(.5lh - 14px);font-size:19px;display:inline-block}.foot-mast{margin-top:72px;padding-inline:12px}.legal{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:20px;padding-bottom:28px;display:flex}@keyframes rise{0%{transform:translateY(105%)}}@keyframes pop{0%{transform:scale(0)}}@keyframes draw{0%{transform:scaleX(0)}}@keyframes fade{0%{opacity:0}}@keyframes fadeup{0%{opacity:0;transform:translateY(14px)}}@keyframes wipe{0%{clip-path:inset(0 0 100%)}}@keyframes settle{0%{transform:scale(1.18)}}.rv{transition:opacity 1.2s var(--ease), transform 1.2s var(--ease)}.rv.pre{opacity:0;transition:none;transform:translateY(28px)}.plate.rv .mask{transition:clip-path 1.5s .1s var(--ease)}.plate.rv.pre .mask{clip-path:inset(0 0 100%);transition:none}.sec-head.rv.pre{transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}.rv.pre,.plate.rv.pre .mask{clip-path:none;opacity:1;transform:none}}
