:root{
  --bg:#E7DCC8;
  --bg-alt:#C7B48F;
  --accent:#B5842F;
  --ink:#2A211A;
  --dark:#221A14;
  --light:#E8DBC6;
  --gold:#D2A24E;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter",system-ui,sans-serif;
  --imgfilter:sepia(.22) saturate(.82) contrast(.94) brightness(1.02);
  --fast:180ms;
  --reveal:640ms;
  --slow:950ms;
  --ease:cubic-bezier(.22,.8,.26,.99);
  --nav-h:118px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{
  font-family:var(--sans);
  font-size:15.5px;
  line-height:1.75;
  color:var(--ink);
  background:var(--bg);
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none;border-bottom:1.5px solid currentColor;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}
a:hover{color:var(--accent)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

section,footer{padding-left:7vw;padding-right:7vw}
.in{max-width:1200px;margin:0 auto;width:100%}
h1,h2,h3{font-family:var(--serif);font-weight:360;line-height:1.05;letter-spacing:-.01em}
h2{font-size:clamp(28px,4.2vw,56px)}
h3{font-size:clamp(20px,2.2vw,28px);font-weight:420}
p{max-width:52ch}

.nav{
  position:relative;z-index:5;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 28px;
  padding:18px 7vw;color:var(--ink);background:var(--bg);
}
.nav a{border-bottom:none}
.nav a:hover{color:var(--accent)}
.wordmark{font-family:var(--serif);font-weight:500;font-size:21px;margin-right:auto}
.nav nav{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14px}

.hero{position:relative;min-height:calc(100vh - var(--nav-h));display:flex;align-items:flex-end;padding-bottom:7vh}
.hero .ground{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:var(--imgfilter) brightness(.96);
}
.hero .panel{
  position:relative;max-width:540px;
  padding:36px 34px 34px;
  background:rgba(231,220,200,.55);
  backdrop-filter:blur(14px) saturate(1.1);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);
  border:1px solid rgba(231,220,200,.45);
}
.hero .strap{font-family:var(--serif);font-weight:360;font-size:clamp(26px,3.2vw,44px);line-height:1.12;letter-spacing:-.01em}
.hero .panel p:last-child{margin-top:18px}

.passage{background:var(--bg);min-height:100vh;display:flex;align-items:flex-start;padding-top:14vh;padding-bottom:14vh}
.statement{
  font-family:var(--serif);font-weight:360;letter-spacing:-.01em;
  font-size:clamp(26px,3.6vw,48px);line-height:1.12;max-width:22ch;
}
.pair{margin-top:9vh;display:grid;gap:28px}
.pair p{border-top:1px solid rgba(42,33,26,.28);padding-top:18px}

.history{background:var(--bg-alt);padding-top:14vh;padding-bottom:16vh}
.history h2{max-width:1200px;margin:0 auto 6vh}
.band{
  width:100%;height:52vh;max-height:55vh;object-fit:cover;
  filter:var(--imgfilter);
  margin:0 calc(-7vw) 7vh;width:calc(100% + 14vw);max-width:none;
}
.cols .lede{
  font-family:var(--serif);font-weight:400;letter-spacing:-.01em;
  font-size:clamp(20px,2.3vw,29px);line-height:1.4;max-width:44ch;
}
.flow{margin-top:7vh}
.flow p{break-inside:avoid;margin-bottom:24px}
.flow p:last-child{margin-bottom:0}
.partnership{margin-top:18vh;max-width:62ch}
.partnership h3{margin-bottom:20px}
.partnership p + p{margin-top:16px}

.register{background:var(--ink);color:var(--light);min-height:100vh;padding-top:15vh;padding-bottom:15vh}
.register .intro{margin-top:5vh}
.register .rows{margin-top:9vh}
.register .row{
  padding:34px 0;border-top:1px solid rgba(232,219,198,.22);
  display:grid;gap:14px;
}
.register .row:last-child{border-bottom:1px solid rgba(232,219,198,.22)}

.vitrine{background:var(--bg);padding:0}
.vitrine .left{padding:15vh 7vw 0}
.vitrine .text{margin-top:5vh}
.vitrine .text p + p{margin-top:18px}
.vitrine .inset{
  margin-top:9vh;width:100%;aspect-ratio:4/3;object-fit:cover;
  filter:var(--imgfilter);
}
.affiliations{margin-top:16vh;max-width:62ch}
.affiliations h3{margin-bottom:20px}
.affiliations p + p{margin-top:16px}
.inventory{list-style:none;margin-top:5vh;display:grid;gap:0 40px}
.inventory li{
  border-top:1px solid rgba(42,33,26,.28);padding:22px 0;
  display:flex;align-items:center;
}
.inventory a{border-bottom:none;opacity:.85;transition:opacity var(--fast) var(--ease)}
.inventory a:hover{opacity:1}
.inventory img{height:44px;width:auto;max-width:100%}

.contact{background:var(--dark);color:var(--light);padding-top:14vh;padding-bottom:10vh}
.contact .head{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:500}
.contact .dot{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.contact .mail{font-family:var(--serif);font-weight:380;font-size:clamp(18px,1.8vw,24px);line-height:1.3;margin-top:22px;max-width:none}
.contact .mail a{border-bottom-width:1.5px}
.contact .mail a:hover{color:var(--gold)}
.contact .note{margin-top:30px;font-size:13.5px;opacity:.72;max-width:56ch}

.footer{background:var(--dark);color:var(--light);padding-top:10vh;padding-bottom:48px}
.footer .mark{
  font-family:var(--serif);font-weight:340;letter-spacing:-.015em;
  font-size:clamp(40px,7vw,96px);line-height:1;max-width:none;
}
.footer .legal{
  margin-top:36px;padding-top:18px;border-top:1px solid rgba(232,219,198,.22);
  font-size:12px;opacity:.72;max-width:none;
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
}

.doc{background:var(--bg);padding:20vh 7vw 14vh}
.doc h1{font-size:clamp(28px,4vw,52px);max-width:24ch}
.doc h2{font-size:clamp(22px,2.4vw,30px);font-weight:420;margin-top:8vh}
.doc h3{margin-top:5vh}
.doc p{margin-top:18px;max-width:68ch}
.doc h1 + p{margin-top:5vh}
.doc ul{list-style:none;margin-top:18px;max-width:68ch}
.doc li{border-top:1px solid rgba(42,33,26,.28);padding:12px 0}
.doc li:last-child{border-bottom:1px solid rgba(42,33,26,.28)}

.footer .legal a{border-bottom:none}
.footer .legal a:hover{color:var(--gold)}

.cookies{
  position:fixed;left:0;right:0;bottom:0;z-index:10;
  background:var(--dark);color:var(--light);
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;
  padding:18px 7vw;font-size:13.5px;
}
.cookies[hidden]{display:none}
.cookies p{max-width:none}
.cookies .acts{display:flex;align-items:center;gap:24px;margin-left:auto}
.cookies button{
  font:inherit;cursor:pointer;background:var(--gold);color:var(--dark);
  border:none;border-radius:2px;padding:10px 22px;
}
.cookies button.quiet{
  background:none;color:var(--light);border-radius:0;padding:2px 0;
  border-bottom:1.5px solid var(--light);
}
.cookies button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

.js .rv{opacity:0;transform:translateY(22px);transition:opacity var(--reveal) var(--ease),transform var(--reveal) var(--ease)}
.js .rv-media{opacity:0;transform:scale(1.035);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}
.js .rv.on,.js .rv-media.on{opacity:1;transform:none}

@media (min-width:760px){
  :root{--nav-h:62px}
  body{font-size:16px}
  .pair{grid-template-columns:1fr 1fr;gap:56px;max-width:76%;margin-right:auto}
  .flow{columns:2;column-gap:57px;column-rule:1px solid rgba(42,33,26,.28);max-width:none}
  .register .row{grid-template-columns:1fr 2fr;gap:40px}
  .vitrine{display:grid;grid-template-columns:1fr minmax(340px,40vw);align-items:stretch}
  .vitrine .left{padding:15vh 64px 16vh max(7vw,calc((100vw - 1200px)/2))}
  .vitrine .text{max-width:56ch}
  .vitrine .inset{margin-top:0;height:100%;aspect-ratio:auto;min-height:100vh}
  .inventory{grid-template-columns:1fr 1fr;max-width:640px}
  .contact .in{display:block}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv,.js .rv-media{opacity:1;transform:none;transition:none}
}
