:root{
  --ink:#141311; --charcoal:#1d1c1a; --ivory:#f7f4ee; --stone:#ece6db; --line:#d9d1c3;
  --taupe:#6e675c; --brass:#a8895a; --brass-ink:#8f7449;
  --serif:"Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
  --sans:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.75 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.label{font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brass-ink)}
.serif{font-family:var(--serif)}

/* Wordmark */
.wordmark{font:600 27px/1 var(--serif);letter-spacing:.01em;text-decoration:none;color:var(--ink)}
.wordmark span{color:var(--brass)}

/* Header */
.top{position:sticky;top:0;z-index:30;background:rgba(247,244,238,.92);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .2s}
.top.scrolled{border-bottom-color:var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
.menu{display:flex;align-items:center;gap:40px}
.menu a{font:500 12.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--taupe)}
.menu a:hover{color:var(--ink)}
.signin{font:500 12.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink);border:1px solid var(--ink);padding:13px 22px;border-radius:2px;background:transparent;cursor:pointer;transition:background .2s,color .2s}
.signin:hover{background:var(--ink);color:var(--ivory)}

/* Buttons */
.btn{display:inline-block;font:500 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:18px 30px;border-radius:2px;border:1px solid var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-dark{background:var(--ink);color:var(--ivory)}
.btn-dark:hover{background:var(--charcoal);border-color:var(--charcoal)}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--ivory)}
.link{font:500 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:6px}

/* Hero */
.hero{padding:56px 0 96px}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.hero h1{font:500 76px/1.02 var(--serif);letter-spacing:-.01em;margin:26px 0 28px}
.hero h1 em{font-style:italic;color:var(--brass-ink)}
.hero p.lead{font-size:18px;color:var(--taupe);max-width:500px;margin:0 0 40px}
.hero .actions{display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.hero .note{margin-top:42px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--taupe);max-width:500px}
.frame{position:relative}
.frame:before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--brass);opacity:.55}
.frame img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover}

/* Band */
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band .wrap{display:flex;justify-content:center;gap:56px;flex-wrap:wrap;padding-top:26px;padding-bottom:26px}
.band span{font:500 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}

/* Sections */
section{padding:128px 0}
h2{font:500 54px/1.08 var(--serif);letter-spacing:-.005em;margin:20px 0 22px}
h2 em{font-style:italic;color:var(--brass-ink)}
.intro{max-width:640px}
.intro p{color:var(--taupe);font-size:17.5px;margin:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:72px;border-top:1px solid var(--line)}
.step{padding:44px 40px 0 0}
.step + .step{padding-left:40px;border-left:1px solid var(--line)}
.numeral{font:500 46px/1 var(--serif);color:var(--brass)}
.step h3{font:500 28px/1.2 var(--serif);margin:22px 0 12px}
.step p{color:var(--taupe);margin:0;font-size:15.5px}

/* Split */
.split{background:var(--stone)}
.split .wrap{display:grid;grid-template-columns:1.08fr 1fr;gap:88px;align-items:center}
.split img{width:100%;aspect-ratio:3/2;object-fit:cover}
.rows{margin:36px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.rows li{display:grid;grid-template-columns:190px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.rows b{font:500 21px/1.35 var(--serif)}
.rows span{color:var(--taupe);font-size:15px}

/* Statement */
.statement{position:relative;color:var(--ivory);text-align:center;padding:170px 0;background:var(--charcoal) center/cover no-repeat;background-image:linear-gradient(rgba(20,19,17,.72),rgba(20,19,17,.78)),url("/img/detail.jpg")}
.statement blockquote{margin:0 auto;max-width:900px;font:italic 500 60px/1.15 var(--serif)}
.statement p{margin:30px 0 0;font:500 12.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#cdbb98}

/* Access */
.access{text-align:center}
.access .intro{margin:0 auto}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:72px auto 64px;max-width:1000px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trio div{padding:40px 30px}
.trio div + div{border-left:1px solid var(--line)}
.trio .numeral{font-size:34px}
.trio h3{font:500 25px/1.2 var(--serif);margin:16px 0 8px}
.trio p{margin:0;color:var(--taupe);font-size:15px}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:88px;border-top:1px solid var(--line);padding-top:96px}
.faq details{border-bottom:1px solid var(--line);padding:26px 0}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:24px;font:500 23px/1.3 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font:300 26px/1 var(--sans);color:var(--brass)}
.faq details[open] summary:after{content:"\2013"}
.faq p{margin:14px 0 0;color:var(--taupe);font-size:15.5px;max-width:640px}

/* Body copy helpers */
p.body{color:var(--taupe);font-size:17px;margin:0 0 30px;max-width:560px}
p.body a,.faq p a,.trust a,.legal-body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px}
.intro.centered{margin:0 auto;text-align:center}
.label.light{color:#cdbb98}

/* Library */
.library{padding-top:40px}
.library-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:64px}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .6s ease}
.gallery figure:hover img{transform:scale(1.02)}
.gallery figure{overflow:hidden}
.gallery figcaption{padding:18px 0 0;border-top:1px solid var(--line);margin-top:18px}
.gallery figcaption b{display:block;font:500 24px/1.2 var(--serif)}
.gallery figcaption span{display:block;color:var(--taupe);font-size:14.5px;margin-top:4px}

/* Own design */
.own{display:grid;grid-template-columns:1fr 1.1fr;gap:88px;align-items:center}
.own-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.mini-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.mini-steps li{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}
.mini-steps span{font:500 26px/1.2 var(--serif);color:var(--brass)}
.mini-steps b{font:500 22px/1.3 var(--serif)}
.mini-steps p{margin:4px 0 0;color:var(--taupe);font-size:15px}

/* Figures band */
.figures{background:var(--ink);color:var(--ivory)}
.figures .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.figures .wrap > div{padding:52px 28px;border-left:1px solid rgba(247,244,238,.12)}
.figures .wrap > div:first-child{border-left:0;padding-left:0}
.figures b{display:block;font:500 34px/1.1 var(--serif);color:var(--ivory)}
.figures span{display:block;margin-top:10px;font:500 11.5px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#bdb4a5}

/* Partners */
.partners{background:var(--stone)}
.partners-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:88px;align-items:start}
.benefits{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.benefits > div{padding:30px 28px 30px 0;border-bottom:1px solid var(--line)}
.benefits > div:nth-child(even){padding-left:28px;padding-right:0;border-left:1px solid var(--line)}
.benefits h3{font:500 23px/1.25 var(--serif);margin:0 0 8px}
.benefits p{margin:0;color:var(--taupe);font-size:15px}

/* Audiences */
.audiences{padding-bottom:40px}
.audiences .trio{margin-bottom:0}

/* Trust */
.trust{padding:0 0 110px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-grid > div{padding:36px 28px 36px 0}
.trust-grid > div + div{padding-left:28px;border-left:1px solid var(--line)}
.trust-grid h3{font:500 22px/1.25 var(--serif);margin:0 0 8px}
.trust-grid p{margin:0;color:var(--taupe);font-size:14.5px}

/* FAQ section spacing */
.faq-section{padding-top:0}

/* Final CTA */
.final-cta{padding:0 0 120px}
.final-inner{background:var(--charcoal) center/cover no-repeat;background-image:linear-gradient(rgba(20,19,17,.78),rgba(20,19,17,.86)),url("/img/hero.jpg");color:var(--ivory);text-align:center;padding:110px 40px}
.final-inner h2{color:var(--ivory)}
.final-inner p{color:#d4ccbd;font-size:18px;margin:0 auto 38px;max-width:560px}
.final-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-ivory{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.btn-ivory:hover{background:#fff}
.btn-ghost-light{background:transparent;color:var(--ivory);border-color:rgba(247,244,238,.5)}
.btn-ghost-light:hover{border-color:var(--ivory)}

/* Footer */
.site-foot{background:var(--ink);color:#bdb4a5;padding:88px 0 40px;font-size:14px}
.foot-cols{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px;padding-bottom:56px;border-bottom:1px solid rgba(247,244,238,.12)}
.foot-brand .wordmark{color:var(--ivory)}
.foot-brand p{margin:18px 0 0;max-width:320px;line-height:1.7}
.foot-cols h4{margin:4px 0 18px;font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#cdbb98}
.foot-cols a{display:block;text-decoration:none;margin:0 0 12px;color:#d8d0c2}
.foot-cols a:hover{color:var(--ivory)}
.foot-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;font-size:13px;color:#958c7e}

/* Legal pages */
.legal{padding:72px 0 120px}
.legal-grid{display:grid;grid-template-columns:260px 1fr;gap:80px;align-items:start}
.legal-toc{position:sticky;top:110px;font-size:14px}
.legal-toc ol{margin:20px 0 0;padding:0 0 0 18px;color:var(--taupe)}
.legal-toc li{margin:0 0 9px}
.legal-toc a{text-decoration:none;color:var(--taupe)}
.legal-toc a:hover{color:var(--ink)}
.legal-body{max-width:760px}
.legal-body h1{font:500 58px/1.05 var(--serif);margin:16px 0 8px}
.legal-meta{color:var(--taupe);font-size:14px;margin:0 0 36px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.legal-body h2{font:500 30px/1.2 var(--serif);margin:52px 0 14px;scroll-margin-top:110px}
.legal-body p,.legal-body li{color:#3d3a34;font-size:16px;line-height:1.8}
.legal-body ul{padding-left:22px}
.legal-body li{margin:0 0 8px}
.legal-body strong{color:var(--ink);font-weight:600}

/* Sign in */
dialog.sign{border:0;padding:0;max-width:520px;width:calc(100% - 32px);background:var(--ivory);color:var(--ink);border-radius:2px;box-shadow:0 40px 120px rgba(20,19,17,.45)}
dialog.sign::backdrop{background:rgba(20,19,17,.62);backdrop-filter:blur(3px)}
.sign-panel{padding:56px 52px 48px;position:relative}
.sign-panel h2{font-size:44px;margin:16px 0 10px}
.sign-panel p{color:var(--taupe);margin:0 0 30px;font-size:15.5px}
.sign-panel label{display:block;font:500 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);margin-bottom:12px}
.code-input{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 0 14px;font:500 30px/1 var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);outline:none;border-radius:0}
.code-input::placeholder{color:#b9b0a1;letter-spacing:.14em}
.code-input:focus{border-bottom-color:var(--brass)}
.sign-panel .btn{width:100%;margin-top:34px;text-align:center}
.err{min-height:22px;margin-top:12px;font-size:14px;color:#9b3b2e}
.help{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--taupe)}
.close{position:absolute;top:18px;right:20px;background:none;border:0;font:300 30px/1 var(--sans);color:var(--taupe);cursor:pointer;padding:6px}
.close:hover{color:var(--ink)}
.sign-page{min-height:calc(100vh - 84px);display:grid;place-items:center;padding:40px 16px 80px}
.sign-page .card{background:#fbf9f5;border:1px solid var(--line);max-width:520px;width:100%}

@media (max-width:1040px){
  .hero .wrap,.split .wrap,.faq-wrap,.own,.partners-grid,.legal-grid{grid-template-columns:1fr;gap:56px}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .figures .wrap,.trust-grid{grid-template-columns:repeat(2,1fr)}
  .figures .wrap > div:nth-child(3){border-left:0;padding-left:0}
  .trust-grid > div:nth-child(3){border-left:0;padding-left:0}
  .foot-cols{grid-template-columns:1fr 1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .legal-toc{position:static}
  .hero h1{font-size:60px}
  .menu{display:none}
  .frame{max-width:560px}
}
@media (max-width:760px){
  .wrap{padding:0 20px}
  .top .wrap{height:70px}
  .wordmark{font-size:24px}
  .signin{padding:11px 16px}
  .hero{padding:28px 0 72px}
  .hero h1{font-size:44px}
  section{padding:88px 0}
  h2{font-size:38px}
  .steps,.trio{grid-template-columns:1fr}
  .step,.step + .step{padding:34px 0;border-left:0}
  .step + .step{border-top:1px solid var(--line)}
  .trio div + div{border-left:0;border-top:1px solid var(--line)}
  .rows li{grid-template-columns:1fr;gap:4px}
  .statement{padding:110px 0}
  .statement blockquote{font-size:40px}
  .frame:before{inset:14px -10px -14px 10px}
  .sign-panel{padding:48px 26px 36px}
  .band .wrap{gap:14px 28px}
  .gallery{gap:18px}
  .gallery figcaption b{font-size:20px}
  .figures .wrap,.trust-grid,.benefits{grid-template-columns:1fr}
  .figures .wrap > div{border-left:0;padding:30px 0;border-top:1px solid rgba(247,244,238,.12)}
  .figures .wrap > div:first-child{border-top:0}
  .trust-grid > div,.trust-grid > div + div{padding:28px 0;border-left:0}
  .trust-grid > div + div{border-top:1px solid var(--line)}
  .benefits > div,.benefits > div:nth-child(even){padding:26px 0;border-left:0}
  .final-inner{padding:72px 22px}
  .foot-cols{grid-template-columns:1fr 1fr}
  .legal-body h1{font-size:42px}
}
.help a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px}
