*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
input,select,textarea,button{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit}

:root{
  --white:#FFFFFF;
  --slab:#E4E1DA;
  --deep:#232019;
  --on-deep:#F4F2EC;
  --ink:#1A1814;
  --soft:#6E6A62;
  --sig:#B4442B;
  --t-h1:clamp(1.9rem,5vw,3.2rem);
  --t-h2:clamp(1.16rem,2vw,1.5rem);
  --t-short:1.02rem;
  --t-body:.99rem;
  --t-mono:.76rem;
  --pad:clamp(16px,4.5vw,44px);
  --air:clamp(50px,7vw,96px);
  --col:40ch;
}

body{
  background:var(--white);
  color:var(--ink);
  font-family:"Public Sans",Helvetica,Arial,sans-serif;
  font-size:var(--t-body);
  line-height:1.52;
  -webkit-font-smoothing:antialiased;
}
h1,h2,.type{font-family:"DM Mono","Courier New",monospace;font-weight:400}
h1{font-size:var(--t-h1);line-height:1.14;letter-spacing:-.02em;max-width:22ch}
h2{font-size:var(--t-h2);line-height:1.24;letter-spacing:-.01em}
.type{font-size:var(--t-mono);color:var(--soft);letter-spacing:0}

.wrap{width:100%;max-width:1160px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.pad{padding-top:var(--air);padding-bottom:var(--air)}
.lead{max-width:var(--col);margin-top:18px;color:var(--soft)}
.ink{text-decoration:none;color:var(--sig)}

.cols{margin-top:26px;column-count:1;column-gap:40px}
@media (min-width:860px){.cols{column-count:2}}
@media (min-width:1180px){.cols{column-count:3}}
.cols p{margin-bottom:14px;break-inside:avoid;max-width:38ch}

.band{padding-top:var(--air);padding-bottom:var(--air)}
.pale{background:var(--slab)}
.dusk{background:var(--deep);color:var(--on-deep)}
.band-head{display:flex;flex-wrap:wrap;gap:6px 22px;margin-bottom:26px}
.duo{display:flex;flex-direction:column;gap:44px}
@media (min-width:1000px){.duo{flex-direction:row;gap:56px}.split{flex:1 1 0;min-width:0}}

.stay h2{margin-top:8px}
.brief{font-size:var(--t-short);line-height:1.42;margin-top:12px;max-width:36ch;color:var(--soft)}
.dusk .brief,.dusk .type{color:#B8B2A6}
.unit{display:flex;flex-direction:column;gap:4px;margin-top:22px}
@media (min-width:700px){.unit{flex-direction:row;gap:18px}.unit .tag{flex:0 0 8.5rem}.unit .copy{flex:1 1 auto;min-width:0}}
.tag{font-family:"DM Mono","Courier New",monospace;font-size:var(--t-mono);color:var(--sig);line-height:1.5;padding-top:3px}
.copy{max-width:var(--col)}
.hint{margin-top:22px}
.when{margin-top:26px}

.pic{margin-top:18px}
.crop{overflow:hidden;background:var(--slab);aspect-ratio:16/9}
.dusk .crop{background:#33302A}
.crop img{width:100%;height:100%;object-fit:cover}
.face{overflow:hidden;background:var(--slab);aspect-ratio:1/1;max-width:520px}
.face img{width:100%;height:100%;object-fit:cover}
.face-box{margin-top:30px}
.veil{background:#14110C;color:var(--on-deep);padding-top:clamp(40px,7vw,88px);padding-bottom:clamp(40px,7vw,88px)}
.veil-in{display:flex;flex-direction:column;gap:36px;align-items:flex-start}
.veil h1{color:var(--on-deep)}
.veil .lead{color:#B8B2A6;margin-top:16px}
.veil-shot{margin:0;width:min(100%,420px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#0C0A08;box-shadow:0 0 0 1px rgba(196,168,120,.3),0 0 0 8px #14110C,0 0 0 9px rgba(180,68,43,.55)}
.veil-shot img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.06)}
@media (min-width:900px){.veil-in{flex-direction:row;align-items:center;justify-content:space-between;gap:48px}.veil-copy{flex:1 1 0;min-width:0}.veil-shot{width:min(46%,520px);flex:0 0 auto}}

.mast{padding:18px var(--pad);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 22px}
.mark{font-family:"DM Mono","Courier New",monospace;font-size:1rem;text-decoration:none;margin-right:auto}
.fold{display:none;font-family:"DM Mono","Courier New",monospace;font-size:var(--t-mono);color:var(--sig)}
.menu{display:flex;flex-wrap:wrap;gap:8px 20px;width:100%}
.menu a{font-family:"DM Mono","Courier New",monospace;font-size:var(--t-mono);text-decoration:none;color:var(--soft)}
.menu a[aria-current="page"]{color:var(--sig)}
.has-script .fold{display:block}
.has-script .menu{display:none}
.has-script .menu.shown{display:flex;flex-direction:column;gap:13px;padding-top:12px}
@media (min-width:860px){.menu{width:auto;flex-wrap:nowrap}.has-script .menu{display:flex;flex-direction:row}.has-script .fold{display:none}}

.aside{background:var(--slab);padding:clamp(18px,3vw,30px);margin-top:var(--air);max-width:74ch;color:var(--soft);font-size:.93rem}
.long p{max-width:var(--col);margin-top:16px}
.mail{display:grid;gap:20px;max-width:31rem;margin-top:26px}
.mail label{display:block;font-family:"DM Mono","Courier New",monospace;font-size:var(--t-mono);color:var(--soft);margin-bottom:6px}
.mail input,.mail select,.mail textarea{width:100%;background:var(--slab);border:0;padding:11px 13px}
.go{background:var(--sig);color:var(--white);padding:12px 26px;font-family:"DM Mono","Courier New",monospace;font-size:var(--t-mono)}

.index{margin-top:34px;display:flex;flex-direction:column;gap:2px}
.entry{display:flex;flex-direction:column;gap:2px;padding:16px 0;text-decoration:none}
@media (min-width:700px){.entry{flex-direction:row;align-items:baseline;gap:18px}.entry .tag{flex:0 0 8.5rem}}
.entry-name{font-family:"DM Mono","Courier New",monospace;font-size:1.05rem}
.entry-note{color:var(--soft);max-width:var(--col)}
.wash{background:var(--slab)}
.more{margin-top:34px;display:flex;flex-wrap:wrap;gap:8px 24px;font-family:"DM Mono","Courier New",monospace;font-size:var(--t-mono)}
.more a{color:var(--sig);text-decoration:none}
.warn{margin-top:16px;max-width:var(--col)}
.agree{display:flex;gap:10px;align-items:flex-start}
.agree input{width:auto;background:none;padding:0;margin-top:5px}
.agree span{font-size:.93rem;color:var(--soft)}

.base{background:var(--deep);color:var(--on-deep);padding:var(--air) var(--pad)}
.base-in{width:100%;max-width:1160px;margin:0 auto}
.base-list{column-count:1;column-gap:34px;margin-top:22px}
@media (min-width:700px){.base-list{column-count:2}}
@media (min-width:1000px){.base-list{column-count:3}}
.base-list li{break-inside:avoid;padding:5px 0}
.base-list a{text-decoration:none;font-size:.92rem}
.base-list i{font-style:normal;font-family:"DM Mono","Courier New",monospace;font-size:var(--t-mono);color:var(--sig);margin-right:.6em}
.base-end{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:34px;font-family:"DM Mono","Courier New",monospace;font-size:var(--t-mono);color:#B8B2A6}
.base-end a{text-decoration:none;color:var(--on-deep)}
.base p{max-width:46ch;color:#B8B2A6;font-size:.92rem}
.base-note{margin-top:26px;max-width:46ch}
:focus-visible{outline:2px solid var(--sig);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
