:root{
  --gold:#C8A45A;
  --gold-deep:#A2803C;
  --gold-pale:#E8D9B4;
  --ground:#0B0A08;
  --surface:#141210;
  --ivory:#F2EDE4;
  --muted:#B9AFA1;
  --line:rgba(200,164,90,0.28);
  --sp:clamp(64px,10vw,160px);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Source Sans Pro",-apple-system,Segoe UI,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--ground);color:var(--ivory);
  font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.75;
  -webkit-font-smoothing:antialiased;overflow-wrap:break-word;
}
img,svg,iframe{max-width:100%;height:auto;display:block;}
a{color:var(--gold);text-decoration:none;}
a:hover{color:var(--gold-pale);}
h1,h2,h3{margin:0;font-weight:400;overflow-wrap:break-word;}
p{margin:0 0 1em;}
ul{margin:0;padding:0;list-style:none;}
:focus-visible{outline:2px solid var(--gold-pale);outline-offset:3px;}
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(18px,4vw,48px);}
.display{font-family:var(--serif);font-weight:300;line-height:1.1;letter-spacing:.01em;
  font-size:clamp(2rem,5vw,4.2rem);}
.display.xl{font-size:clamp(2.6rem,11vw,8rem);letter-spacing:.04em;text-transform:uppercase;}
.eyebrow{font-family:var(--sans);font-weight:600;text-transform:uppercase;letter-spacing:.2em;
  font-size:.7rem;color:var(--gold);margin:0 0 .9em;}
.gold-link{font-weight:600;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;
  border-bottom:1px solid var(--line);padding-bottom:4px;display:inline-block;}
.gold-link:hover{border-color:var(--gold);}

/* buttons */
.btn{display:inline-block;font-family:var(--sans);font-weight:600;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;padding:14px 20px;border:0;cursor:pointer;
  text-align:center;transition:.25s;min-height:46px;}
.btn-gold{background:var(--gold);color:#14100A;}
.btn-gold:hover{background:var(--gold-pale);color:#14100A;}
.btn-frame{background:transparent;color:var(--gold-pale);border:1px solid var(--line);
  box-shadow:inset 0 0 0 3px rgba(200,164,90,.10);}
.btn-frame:hover{border-color:var(--gold);color:var(--gold-pale);
  box-shadow:inset 0 0 0 3px rgba(200,164,90,.2);}
.btn.w{display:block;width:100%;}

/* ribbon */
.ribbon{background:linear-gradient(90deg,#171310,#241c11);border-bottom:1px solid var(--line);}
.ribbon-in{max-width:1280px;margin:0 auto;padding:8px clamp(14px,4vw,48px);
  display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;position:relative;}
.ribbon-tag{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:#14100A;background:var(--gold);padding:3px 8px;white-space:nowrap;}
.ribbon-in p{margin:0;font-size:.8rem;color:var(--muted);min-width:0;}
.ribbon-in s{opacity:.65;}
.ribbon-in strong{color:var(--gold-pale);font-weight:600;}
.ribbon-link{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;}
.ribbon-x{margin-left:auto;background:none;border:1px solid var(--line);color:var(--gold);
  width:28px;height:28px;line-height:1;font-size:.95rem;cursor:pointer;flex:0 0 auto;}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(11,10,8,.88);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:padding .3s;}
.bar{max-width:1280px;margin:0 auto;padding:12px clamp(14px,4vw,48px);
  display:flex;align-items:center;gap:12px;}
.site-header.small .bar{padding-top:8px;padding-bottom:8px;}
.brand{display:flex;align-items:center;gap:10px;color:var(--ivory);min-width:0;}
.brand img{width:42px;height:42px;flex:0 0 auto;}
.site-header.small .brand img{width:34px;height:34px;}
.brand-txt{display:flex;flex-direction:column;min-width:0;}
.brand-name{font-family:var(--serif);font-size:1.1rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-pale);line-height:1.15;white-space:nowrap;}
.brand-tag{font-size:.6rem;letter-spacing:.06em;color:var(--muted);font-style:italic;
  line-height:1.3;}
.primary{margin-left:auto;}
.nav-list{display:flex;align-items:center;gap:clamp(10px,1.3vw,18px);flex-wrap:wrap;}
.nav-list > li > a,.drop-t{font-size:.72rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ivory);background:none;border:0;font-family:var(--sans);
  cursor:pointer;padding:6px 0;display:inline-flex;align-items:center;gap:6px;}
.nav-list > li > a:hover,.drop-t:hover{color:var(--gold);}
.has-drop{position:relative;}
.chev{font-size:.6rem;color:var(--gold);}
.drop{position:absolute;top:100%;left:-14px;min-width:200px;background:var(--surface);
  border:1px solid var(--line);padding:8px 0;display:none;z-index:5;
  box-shadow:0 24px 50px -24px #000;}
.has-drop.open .drop{display:block;}
.drop a{display:block;padding:9px 18px;font-size:.78rem;letter-spacing:.08em;color:var(--ivory);}
.drop a:hover{background:rgba(200,164,90,.1);color:var(--gold-pale);}
.ic .drop-t svg{width:18px;height:18px;fill:var(--gold);}
.ic-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.social-row{display:flex;align-items:center;gap:12px;padding-left:8px;border-left:1px solid var(--line);}
.social-row a svg{width:17px;height:17px;fill:var(--gold);color:var(--gold);}
.social-row a:hover svg{fill:var(--gold-pale);color:var(--gold-pale);}
.lang{font-size:.64rem;letter-spacing:.14em;color:var(--muted);}
.lang i{color:var(--gold);font-style:normal;padding:0 2px;}
.book-wrap{position:relative;flex:0 0 auto;}
.book-t{white-space:nowrap;padding:12px 18px;}
.book-pop{position:absolute;right:0;top:calc(100% + 10px);background:var(--surface);
  border:1px solid var(--line);width:250px;max-width:calc(100vw - 32px);padding:14px;z-index:20;
  box-shadow:0 30px 60px -30px #000;}
.pop-h{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 8px;}
.book-pop a{display:flex;justify-content:space-between;gap:8px;padding:9px 0;
  border-top:1px solid var(--line);font-size:.85rem;color:var(--ivory);}
.book-pop a span{color:var(--muted);font-size:.76rem;}
.book-pop a:hover{color:var(--gold-pale);}
.burger{display:none;background:none;border:1px solid var(--line);width:44px;height:44px;
  cursor:pointer;padding:11px;margin-left:auto;flex:0 0 auto;}
.burger span{display:block;height:1px;background:var(--gold);margin:4px 0;}

/* hero */
.hero{position:relative;min-height:clamp(560px,92vh,940px);display:flex;align-items:flex-end;
  overflow:hidden;border-bottom:1px solid var(--line);}
.hero-media{position:absolute;inset:0;}
.hero-media .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:70% 42%;opacity:0;transition:opacity 1.2s ease;}
.hero-media .slide.is-on{opacity:1;animation:kb 26s ease-in-out infinite alternate;}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.12)}}
.hero-scrim{position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(26,18,9,.74),rgba(11,10,8,.5) 42%,rgba(11,10,8,.96)),
  linear-gradient(100deg,rgba(11,10,8,.9),rgba(11,10,8,.18) 62%),
  radial-gradient(120% 80% at 20% 40%,rgba(26,18,9,.35),rgba(11,10,8,.85));}
.hero-in{position:relative;z-index:2;padding-top:clamp(56px,12vh,140px);padding-bottom:44px;
  display:grid;gap:clamp(26px,5vw,64px);grid-template-columns:1fr;}
.hero-head h1{font-family:var(--serif);font-weight:300;text-transform:uppercase;
  letter-spacing:.07em;line-height:1.02;font-size:clamp(2.1rem,8.4vw,6.4rem);color:var(--ivory);
  text-shadow:0 4px 40px rgba(0,0,0,.75);}
.tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1rem,2.3vw,1.5rem);
  color:var(--gold-pale);margin:.5em 0 0;}
.ny{font-family:var(--serif);letter-spacing:.34em;text-transform:uppercase;font-size:.8rem;
  color:var(--gold);margin:.9em 0 0;}
.hero-sub{max-width:46ch;color:var(--ivory);margin-top:1.3em;font-size:1rem;}
.hero-rail{display:grid;grid-template-columns:1fr;gap:14px;max-width:780px;}
.rail-card{background:rgba(11,10,8,.66);border:1px solid var(--line);padding:18px;
  backdrop-filter:blur(5px);display:flex;flex-direction:column;gap:12px;min-width:0;
  box-shadow:0 30px 70px -34px #000;}
.rail-thumb{overflow:hidden;border:1px solid rgba(200,164,90,.2);}
.rail-thumb img{width:100%;height:88px;object-fit:cover;object-position:55% 45%;
  transition:transform .8s ease;}
.rail-card:nth-child(2) .rail-thumb img{object-position:62% 45%;}
.rail-card:hover .rail-thumb img{transform:scale(1.07);}
.rail-card h2{font-family:var(--serif);font-size:1.5rem;letter-spacing:.06em;color:var(--gold-pale);}
.rail-card .tel{font-size:.95rem;font-weight:600;letter-spacing:.06em;color:var(--ivory);}
.dots{display:flex;gap:10px;}
.dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--gold);background:none;
  padding:0;cursor:pointer;}
.dot.is-on{background:var(--gold);}

/* credit rail */
.credit-rail{border-bottom:1px solid var(--line);background:#100E0B;}
.credit-rail .container{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;
  padding-top:15px;padding-bottom:15px;}
.credit-rail span{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.credit-rail p{margin:0;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.credit-rail .stats{color:var(--muted);letter-spacing:.12em;}

/* sections */
.locations,.work,.about,.promo,.policy{padding:var(--sp) 0;position:relative;}
.sec-head{max-width:820px;margin-bottom:clamp(32px,5vw,66px);}
.diptych{display:grid;grid-template-columns:1fr;gap:clamp(22px,3vw,42px);}
.loc{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;
  min-width:0;box-shadow:0 40px 80px -50px #000;}
.loc-img{overflow:hidden;}
.loc-img img{width:100%;height:clamp(200px,32vw,340px);object-fit:cover;object-position:55% 45%;
  transition:transform .8s ease;}
.loc:nth-child(2) .loc-img img{object-position:62% 45%;}
.loc:hover .loc-img img{transform:scale(1.06);}
.loc:hover{border-color:var(--gold);box-shadow:0 0 0 1px rgba(200,164,90,.2),0 30px 60px -30px #000;}
.loc-body{padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:16px;}
.loc-body h3{font-family:var(--serif);font-size:clamp(1.6rem,3.4vw,2.6rem);letter-spacing:.05em;
  text-transform:uppercase;color:var(--gold-pale);}
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;
  display:flex;flex-direction:column;gap:4px;font-size:.93rem;color:var(--muted);}
.facts a{color:var(--gold-pale);}
.loc-links{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:.74rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;}
.nara{position:relative;margin-top:clamp(24px,4vw,52px);display:grid;grid-template-columns:1fr;
  gap:0;border:1px solid var(--line);background:var(--surface);overflow:hidden;}
.nara-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;
  filter:blur(6px) saturate(.8);}
.nara-img,.nara-body{position:relative;z-index:1;}
.nara-img img{width:100%;height:clamp(170px,26vw,280px);object-fit:cover;}
.nara-body{padding:clamp(20px,3vw,38px);display:flex;flex-direction:column;gap:12px;
  justify-content:center;}
.nara-body h3{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.2rem);color:var(--gold-pale);}
.nara-body p{margin:0;color:var(--muted);}

/* work */
.work{background:#0E0C0A;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.work-head{display:grid;gap:24px;max-width:none;}
.handle{display:flex;gap:14px;align-items:flex-start;border-left:1px solid var(--line);
  padding-left:16px;min-width:0;}
.handle img{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);flex:0 0 auto;}
.handle p{margin:0;font-size:.84rem;color:var(--muted);line-height:1.6;}
.handle-n{font-weight:600;letter-spacing:.16em;color:var(--gold);text-transform:uppercase;font-size:.76rem !important;}

/* bento gallery */
.masonry{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;grid-auto-flow:dense;}
.tile{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;min-width:0;
  border:1px solid rgba(200,164,90,.16);background:#100E0B;}
.tile.feat{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;}
.tile img{width:100%;height:100%;object-fit:cover;object-position:50% 32%;transition:transform .7s ease;}
.tile .cap{position:absolute;inset:auto 0 0 0;padding:14px;font-size:.76rem;line-height:1.5;
  color:var(--ivory);background:linear-gradient(transparent,rgba(11,10,8,.95));
  opacity:0;transform:translateY(8px);transition:.35s;}
.tile:hover img{transform:scale(1.06);}
.tile:hover,.tile:focus-visible{border-color:var(--gold);}
.tile:hover .cap,.tile:focus-visible .cap{opacity:1;transform:none;}
.work-foot{margin-top:34px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;
  justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;}
.first-timer{margin:0;max-width:62ch;color:var(--gold-pale);font-size:.94rem;}

/* about */
.about{overflow:hidden;}
.about-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.11;
  filter:grayscale(1);}
.about-in{position:relative;}
.about-head{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;}
.seal{border:1px solid var(--line);border-radius:50%;width:76px;height:76px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--serif);color:var(--gold);font-size:.88rem;letter-spacing:.1em;line-height:1.2;}
.about-grid{display:grid;grid-template-columns:1fr;gap:clamp(22px,4vw,52px);margin-top:clamp(22px,4vw,44px);}
.about-fig{margin:0;}
.about-fig img{width:100%;border:1px solid var(--line);
  box-shadow:0 0 0 8px rgba(200,164,90,.06),0 40px 80px -40px #000;}
.about-fig figcaption{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-top:12px;}
.about-copy .lead{color:var(--ivory);font-size:1.04rem;}
.about-copy p{color:var(--muted);max-width:66ch;}
.timeline{margin-top:clamp(36px,6vw,80px);}
.timeline ul{border-left:1px solid var(--line);padding-left:22px;display:flex;flex-direction:column;gap:2px;}
.timeline li{position:relative;padding:13px 0;border-bottom:1px solid rgba(200,164,90,.14);
  display:flex;flex-wrap:wrap;gap:2px 20px;justify-content:space-between;min-width:0;}
.timeline li::before{content:"";position:absolute;left:-27px;top:21px;width:9px;height:9px;
  border:1px solid var(--gold);background:var(--ground);transform:rotate(45deg);}
.tl-n{font-family:var(--serif);font-size:1.18rem;color:var(--ivory);letter-spacing:.03em;line-height:1.35;}
.tl-d{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.editorial{margin-top:clamp(36px,6vw,80px);}
.strip{display:flex;gap:14px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;}
.strip figure{margin:0;flex:0 0 clamp(210px,32vw,340px);scroll-snap-align:start;min-width:0;}
.strip img{width:100%;height:clamp(140px,20vw,220px);object-fit:cover;border:1px solid var(--line);
  filter:saturate(.9);transition:.4s;}
.strip figure:hover img{filter:none;border-color:var(--gold);}
.strip figcaption{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:10px;}

/* promo */
.promo{background:var(--surface);border-top:1px solid var(--line);overflow:hidden;}
.promo-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.07;
  filter:blur(14px) saturate(.6);}
.promo-in{position:relative;display:grid;grid-template-columns:1fr;gap:clamp(26px,4vw,60px);align-items:center;}
.promo-poster{display:block;border:1px solid var(--line);padding:10px;background:#0E0C0A;
  box-shadow:0 0 0 4px rgba(200,164,90,.07),0 50px 90px -50px #000;}
.promo-poster img{width:100%;max-height:620px;object-fit:contain;object-position:top;}
.promo-poster:hover{border-color:var(--gold);}
.offers{display:flex;flex-direction:column;margin:0 0 26px;}
.offers li{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:space-between;
  padding:14px 0;border-bottom:1px solid var(--line);min-width:0;}
.o-n{color:var(--ivory);font-size:.96rem;}
.o-p{font-family:var(--serif);font-size:1.25rem;color:var(--muted);white-space:nowrap;}
.o-p strong{color:var(--gold);font-weight:600;}
.o-p s{opacity:.6;}
.promo-copy .btn-gold{margin-bottom:18px;}
.promo-copy .gold-link{display:inline-block;}

/* policy */
.policy{background:var(--surface);border-top:1px solid var(--line);overflow:hidden;}
.policy-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;}
.policy-in{position:relative;}
.policy-intro{max-width:60ch;color:var(--muted);margin-top:18px;}
.acc{border-top:1px solid var(--line);max-width:920px;}
.acc-item{border-bottom:1px solid var(--line);}
.acc-item h3{margin:0;font-size:1rem;}
.acc-t{width:100%;background:none;border:0;color:var(--ivory);font-family:var(--sans);
  font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  padding:19px 4px;display:flex;justify-content:space-between;align-items:center;gap:16px;
  cursor:pointer;text-align:left;}
.acc-t:hover{color:var(--gold-pale);}
.plus{position:relative;width:14px;height:14px;flex:0 0 auto;}
.plus::before,.plus::after{content:"";position:absolute;background:var(--gold);}
.plus::before{left:0;top:6px;width:14px;height:1px;}
.plus::after{left:6px;top:0;width:1px;height:14px;transition:transform .3s;}
.acc-t[aria-expanded="true"] .plus::after{transform:scaleY(0);}
.acc-p{display:none;padding:0 4px 22px;color:var(--muted);max-width:70ch;}
.acc-item.open .acc-p{display:block;}
.acc-links a{margin-right:18px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;}

/* footer */
.site-footer{background:var(--ground);border-top:1px solid var(--line);padding-top:clamp(46px,7vw,90px);}
.foot-grid{display:grid;grid-template-columns:1fr;gap:34px;padding-bottom:40px;}
.foot-col{min-width:0;}
.foot-col h2{font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px;font-family:var(--sans);}
.foot-col p{font-size:.9rem;color:var(--muted);}
.foot-col a{color:var(--gold-pale);}
.foot-social{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;}
.foot-social a{display:flex;align-items:center;gap:10px;font-size:.9rem;}
.foot-social svg{width:17px;height:17px;fill:var(--gold);color:var(--gold);}
.foot-bar{border-top:1px solid var(--line);padding:22px 0 100px;display:flex;flex-wrap:wrap;
  gap:12px 26px;align-items:center;font-size:.78rem;color:var(--muted);}
.foot-bar p{margin:0;}
.foot-brand{display:flex;align-items:center;gap:10px;}
.foot-brand img{width:32px;height:32px;}
.foot-brand span{font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-pale);}

/* mobile cta */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;gap:1px;
  background:var(--line);border-top:1px solid var(--line);}
.mobile-cta a{flex:1;min-width:0;color:#14100A;background:var(--gold);
  text-align:center;padding:15px 8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;}
.mobile-cta a:last-child{background:#16130E;color:var(--gold-pale);}

/* modals */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  padding:16px;}
.modal[hidden]{display:none;}
.modal-bd{position:absolute;inset:0;background:rgba(5,4,3,.84);backdrop-filter:blur(3px);}
.modal-box{position:relative;background:var(--surface);border:1px solid var(--line);
  box-shadow:0 0 0 6px rgba(200,164,90,.06);width:100%;max-width:560px;max-height:88vh;
  overflow-y:auto;padding:clamp(22px,4vw,40px);}
.modal-box h2{font-size:clamp(1.3rem,3.4vw,2rem);color:var(--gold-pale);}
.modal-meta{font-size:.88rem;color:var(--muted);margin-top:10px;}
.modal-x{position:absolute;top:10px;right:10px;background:none;border:1px solid var(--line);
  color:var(--gold);width:36px;height:36px;font-size:1.2rem;cursor:pointer;}
.cform{display:flex;flex-direction:column;gap:14px;margin-top:18px;}
.cform label{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  display:flex;flex-direction:column;gap:7px;}
.cform input[type=text],.cform input[type=email],.cform textarea{
  background:#0E0C0A;border:1px solid var(--line);color:var(--ivory);font-family:var(--sans);
  font-size:1rem;padding:11px 12px;width:100%;min-width:0;}
.cform .check{flex-direction:row;align-items:center;gap:10px;text-transform:none;letter-spacing:.04em;font-size:.88rem;}
.sent{color:var(--gold-pale);border:1px solid var(--line);padding:12px;margin:0;font-size:.88rem;}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}

@media (max-width:620px){
  .brand-tag{display:none;}
  .brand-name{font-size:1rem;letter-spacing:.12em;}
  .book-t{font-size:.64rem;padding:10px 10px;letter-spacing:.1em;}
  .ribbon-in p{width:100%;}
  .ribbon-link{font-size:.68rem;}
  .hero-head h1{letter-spacing:.05em;}
  .credit-rail .container{flex-direction:column;align-items:flex-start;}
}

@media (max-width:980px){
  .burger{display:block;}
  .primary{position:fixed;inset:0;background:rgba(9,8,6,.98);padding:88px 24px 48px;
    overflow-y:auto;display:none;z-index:80;}
  .primary.open{display:block;}
  .nav-list{flex-direction:column;align-items:flex-start;gap:4px;}
  .nav-list > li{width:100%;border-bottom:1px solid var(--line);}
  .nav-list > li > a,.drop-t{padding:15px 0;font-size:.9rem;width:100%;}
  .drop{position:static;display:none;border:0;background:transparent;padding:0 0 10px 14px;
    box-shadow:none;}
  .has-drop.open .drop{display:block;}
  .social-row{border-left:0;padding:18px 0;gap:20px;}
  .book-wrap{margin-left:0;}
}

@media (min-width:600px){
  .foot-grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:900px){
  .mobile-cta{display:none;}
  .foot-bar{padding-bottom:26px;}
  .hero-in{grid-template-columns:1.08fr .92fr;align-items:end;gap:clamp(30px,5vw,80px);
    padding-bottom:60px;}
  .hero-rail{grid-template-columns:1fr 1fr;max-width:none;}
  .dots{grid-column:1/-1;}
  .diptych{grid-template-columns:1fr 1fr;}
  .loc:nth-child(2){margin-top:44px;}
  .nara{grid-template-columns:1.2fr .8fr;}
  .work-head{grid-template-columns:1.35fr .65fr;align-items:end;}
  .masonry{grid-template-columns:repeat(4,1fr);gap:14px;}
  .about-grid{grid-template-columns:.85fr 1.15fr;align-items:start;}
  .about-fig{margin-top:26px;margin-right:-40px;position:relative;z-index:2;}
  .promo-in{grid-template-columns:.8fr 1.2fr;}
  .foot-grid{grid-template-columns:repeat(4,1fr);gap:30px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .hero-media .slide.is-on{animation:none;}
  *{transition-duration:.01ms !important;}
}