/* BEORO home page. Dark throughout, gold hairlines. Loaded only on the home page. */
body.is-home{background:#1B1816;color:#F1E6CC}
.is-home a:hover{color:inherit}
.is-home h1,.is-home h2,.is-home h3{font-family:var(--display),Georgia,serif;font-weight:400}
.lux-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 56px;font:inherit;font-size:11px;text-transform:uppercase;background:linear-gradient(#C9B38A,#C9B38A) no-repeat left center/0% 100%;background-color:transparent;color:#E4D3AA;border:1px solid rgba(201,179,138,.9);outline:1px solid rgba(201,179,138,.32);outline-offset:5px;letter-spacing:.38em;font-weight:400;cursor:pointer;transition:background-size .7s cubic-bezier(.22,.61,.36,1),color .5s ease,outline-offset .5s ease}
.lux-btn:hover,.lux-btn:focus-visible{background-size:100% 100%;color:#1B1816;outline-offset:7px}
.h-kick{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#C9B38A}
.h-kick--dark{color:#8F7440}
.h-brand{font-family:var(--display),Georgia,serif;font-size:30px;letter-spacing:.3em;font-weight:500;color:#E9D9B0}
.h-brand--sm{font-size:24px;color:#EDE7DA}

.h-topbar{display:none}
/* hero */
.h-hero{position:relative;aspect-ratio:16/9;min-height:560px;background:#1B1816;color:#F1E6CC;overflow:hidden}
.h-hero picture,.h-hero__img{position:absolute;inset:0;width:100%;height:100%}
.h-hero__img{object-fit:cover;object-position:70% 50%}
.h-hero__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#1B1816 0,rgba(27,24,22,0) 14%),linear-gradient(to top,#1B1816 0,rgba(27,24,22,.7) 10%,rgba(27,24,22,0) 34%),linear-gradient(to right,#1B1816 0,rgba(27,24,22,0) 12%),linear-gradient(to left,#1B1816 0,rgba(27,24,22,0) 12%),rgba(27,24,22,.16)}
.h-hero__text{position:absolute;left:46%;top:50%;transform:translate(-50%,-50%);width:40%;min-width:420px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.h-hero__text:before{content:"";position:absolute;inset:-60px -80px;z-index:-1;background:radial-gradient(ellipse at center,rgba(27,24,22,.55),rgba(27,24,22,0) 70%)}
.h-hero h1{margin:0;font-size:64px;line-height:1.02}
.h-hero__p{margin:0;font-size:16px;line-height:1.7;color:#F4EEDD;max-width:380px}
.h-hero__kick{font-size:11px}

/* sections */
.h-sec{background:#1B1816;color:#F1E6CC;padding:148px 96px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px}
.h-sec h2{margin:0;font-size:clamp(34px,4.6vw,58px);line-height:1.04;text-wrap:balance}
.h-num{font-family:var(--display),Georgia,serif;font-size:20px;letter-spacing:.16em;color:#C9B38A;padding-left:.16em}
.h-vrule{width:1px;height:64px;background:#C9B38A;opacity:.7}
.h-p{margin:0;max-width:500px;font-size:18px;line-height:1.85;color:#E6DCC4}
.h-note{font-family:var(--display),Georgia,serif;font-style:italic;font-size:22px;color:#C9B38A}
.h-line{border-top:1px solid rgba(201,179,138,.2)}

.h-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:64px;width:100%;max-width:720px;margin-top:28px}
.h-step{display:flex;flex-direction:column;align-items:center;gap:14px}
.h-step__name{font-family:var(--display),Georgia,serif;font-size:17px;letter-spacing:.12em;text-transform:uppercase;color:#E9D9B0}
.h-silk{margin:60px 0 0;display:flex;flex-direction:column;align-items:center;gap:16px}
.h-silk__frame{position:relative;width:340px;max-width:100%;aspect-ratio:680/1012;border:1px solid rgba(201,179,138,.5);overflow:hidden}
.h-silk__frame img{display:block;width:100%;height:100%;object-fit:cover}
.h-silk__frame svg{position:absolute;inset:0;width:100%;height:100%}
@keyframes silk-turn{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.silk-ring{transform-box:view-box;transform-origin:153px 266px;animation:silk-turn 60s linear infinite}

/* collection */
.h-sec--coll{padding:150px 64px 72px;gap:0}
.h-sec--coll .h-num{margin-bottom:14px}
.h-arch{width:100%;max-width:760px;border:1px solid rgba(201,179,138,.5);border-bottom:0;border-radius:380px 380px 0 0;padding:120px 72px 48px;display:flex;flex-direction:column;align-items:center;gap:22px}
.h-arch .h-p{max-width:440px}
.h-rows{width:100%;display:flex;flex-direction:column;margin-top:18px;text-align:left}
.h-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:24px 8px;border-top:1px solid rgba(201,179,138,.28)}
.h-row__txt{display:flex;flex-direction:column;gap:6px}
.h-row h3{margin:0;font-size:30px;line-height:1.1;color:#F1E6CC}
.h-row__line{font-size:14px;line-height:1.5;font-style:italic;color:#BFB59B;max-width:360px}
.h-row__go{display:flex;align-items:baseline;gap:18px;white-space:nowrap;color:#E6DCC4;font-size:15px}
.h-arrow{color:#C9B38A;font-size:20px}
.h-ritual-set{width:100%;margin-top:28px;padding-top:32px;border-top:1px solid rgba(201,179,138,.5);display:flex;flex-direction:column;align-items:center;gap:18px}
.h-set{display:flex;flex-direction:column;align-items:center;gap:6px}
.h-set__name{font-family:var(--display),Georgia,serif;font-size:24px;line-height:1.1;color:#F1E6CC}
.h-arch-foot{width:100%;max-width:760px;border-top:1px solid rgba(201,179,138,.5);padding-top:44px;display:flex;justify-content:center}

/* craft */
.h-craft{position:relative;overflow:hidden;padding:148px 96px 160px;gap:0}
.h-craft__in{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px;width:100%}
.h-feather{position:absolute;bottom:0;opacity:.4;pointer-events:none}
.h-feather--l{left:0}.h-feather--r{right:0;transform:scaleX(-1)}
.h-feather svg{display:block;width:260px;height:260px}
.h-acts{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;width:100%;max-width:680px;margin:30px 0 0}
.h-act{border:1px solid rgba(201,179,138,.3);background:rgba(27,24,22,.55);padding:28px 26px;display:flex;flex-direction:column;gap:8px;text-align:left}
.h-act__name{font-family:var(--display),Georgia,serif;font-size:26px;line-height:1.15;color:#F1E6CC}
.h-act__for{font-size:12px;line-height:1.6;color:#E6DCC4}
.h-act .h-kick{font-size:10px;letter-spacing:.22em}

/* endures, promise */
.h-endures{padding:140px 96px 150px}
.h-phoenix svg{display:block;width:560px;max-width:100%;height:auto;opacity:.55}
.h-link{display:inline-flex;margin-top:6px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#F1E6CC;border-bottom:1px solid #C9B38A;padding-bottom:6px}
.h-line{padding:140px 96px 150px}
.h-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:1080px;margin-top:8px}
.h-card{display:flex;flex-direction:column;gap:10px;padding:26px 22px;border:1px solid rgba(201,179,138,.35);text-align:center}
.h-card__t{font-family:var(--display),Georgia,serif;font-size:26px;color:#F1E6CC}
.h-card__p{font-size:14px;line-height:1.7;color:#BDB8AA}

/* footer */
.h-foot{background:#1B1816;color:#A9A596;padding:72px 64px 40px;display:flex;flex-direction:column;gap:48px;border-top:1px solid rgba(201,179,138,.2)}
.h-foot__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.h-foot__brand{display:flex;flex-direction:column;gap:16px}
.h-foot__brand p{margin:0;font-size:13px;line-height:1.7;max-width:280px}
.h-foot__col{display:flex;flex-direction:column;gap:12px;font-size:13px}
.h-foot__legal{border-top:1px solid #2C3631;padding-top:24px;font-size:12px}
.h-foot a:hover{color:#EDE7DA}

/* sticky bar: appears after scrolling past the hero (browsers without scroll-driven animation never show it) */
.h-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:5;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 64px;background:#1B1816;color:#F1E6CC;border-top:1px solid rgba(201,179,138,.3)}
.h-bar__txt{display:flex;flex-direction:column}
.h-bar__brand{font-family:var(--display),Georgia,serif;font-size:19px;letter-spacing:.3em;font-weight:500}
.h-bar__sub{font-size:11px;letter-spacing:.08em;color:#A9A596}
.h-bar .lux-btn{min-height:38px;padding:0 36px;margin:6px 6px 6px 0}
@keyframes late-in{from{opacity:0;visibility:hidden;transform:translateY(100%)}to{opacity:1;visibility:visible;transform:none}}
@supports (animation-timeline: scroll()){.h-bar{display:flex;animation:late-in linear both;animation-timeline:scroll(root);animation-range:700px 820px}}

/* slide-out panel (opens by script, or by the #collection link without it) */
.h-panel{position:fixed;inset:0;z-index:20;display:none;justify-content:flex-end}
.h-panel:target,.h-panel.is-open{display:flex}
.h-panel__veil{position:absolute;inset:0;background:rgba(16,21,18,.55)}
.h-panel__box{position:relative;width:460px;max-width:100%;height:100%;overflow-y:auto;background:#F2EFE9;color:#101512;padding:28px 32px 40px;display:flex;flex-direction:column;gap:8px;box-shadow:-12px 0 40px rgba(0,0,0,.25)}
.h-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.h-panel__x{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;border:1px solid #CFC8BA;color:#101512}
.h-prow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #CFC8BA;font-size:15px}
.h-prow__txt{display:flex;flex-direction:column;gap:2px}
.h-prow__name{font-family:var(--display),Georgia,serif;font-size:22px}

/* phone */
@media (max-width:760px){
.h-hero{aspect-ratio:auto;min-height:0;overflow:visible}
.h-hero picture{position:relative;display:block;height:auto}
.h-hero__img{position:static;display:block;width:100%;height:auto}
.h-hero__shade{bottom:auto;aspect-ratio:1024/1063;background:linear-gradient(to bottom,#1B1816 0,rgba(27,24,22,0) 12%),linear-gradient(to top,#1B1816 0,rgba(27,24,22,.75) 12%,rgba(27,24,22,0) 40%),linear-gradient(to right,#1B1816 0,rgba(27,24,22,0) 8%),linear-gradient(to left,#1B1816 0,rgba(27,24,22,0) 8%),rgba(27,24,22,.14)}
.h-hero__text{position:relative;left:auto;top:auto;transform:none;width:auto;min-width:0;margin-top:-64px;padding:0 28px 52px;gap:14px}
.h-hero__text:before{display:none}
.h-topbar{display:flex;justify-content:center;padding:16px 20px;background:#1B1816;color:#EDE7DA;font-family:var(--display),Georgia,serif;font-size:22px;letter-spacing:.28em;font-weight:500}
.h-hero .h-brand{display:none}
.h-hero h1{font-size:42px}
.h-hero__p{font-size:14px;max-width:300px}
.h-hero__kick{font-size:10px}
.h-hero .lux-btn{width:100%;max-width:300px}
.h-sec,.h-craft,.h-endures,.h-line{padding:88px 24px}
.h-sec--coll{padding:88px 20px 56px}
.h-sec h2{font-size:38px}
.h-p{font-size:16px}
.h-note{font-size:19px}
.h-steps{gap:20px;margin-top:12px}
.h-step svg{width:56px;height:56px}
.h-arch{border-radius:200px 200px 0 0;padding:84px 24px 32px}
.h-row{padding:20px 0}
.h-row h3{font-size:24px}
.h-row__go{flex-direction:column;align-items:flex-end;gap:4px}
.h-acts,.h-cards{grid-template-columns:1fr}
.h-feather svg{width:120px;height:120px}
.h-foot{padding:56px 24px 32px}
.h-foot__grid{grid-template-columns:1fr 1fr;gap:32px}
.h-foot__brand{grid-column:1/-1}
.h-bar{padding:10px 20px}
.h-panel__box{padding:24px 20px 32px}
@supports (animation-timeline: scroll()){.h-bar{animation-range:520px 640px}}
}
@media (prefers-reduced-motion:reduce){.lux-btn{transition:none}.silk-ring{animation:none}.h-bar{animation:none!important;opacity:1;visibility:visible}}

/* Her story page */
.s-page{position:relative;overflow:hidden;background:#1B1816;color:#F1E6CC}
.s-castle{position:absolute;left:50%;top:100px;transform:translateX(-50%);width:1000px;max-width:100%;height:auto;opacity:.32;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);mask-image:linear-gradient(to bottom,#000 50%,transparent 100%)}
.s-head{position:relative;display:flex;justify-content:center;padding:44px 96px 0}
.s-head .h-brand{font-size:30px;color:#F1E6CC}
.s-body{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:290px 96px 128px;gap:30px}
.s-body h1{margin:0;max-width:820px;font-size:64px;line-height:1.04}
.s-rule{width:64px;height:1px;background:rgba(201,179,138,.6)}
.s-text{max-width:600px;display:flex;flex-direction:column;gap:26px;font-size:19px;line-height:1.9;color:#E6DCC4}
.s-text p{margin:0}
.s-sign{font-family:var(--display),Georgia,serif;font-style:italic;font-size:34px;color:#C9B38A;margin-top:8px}
.s-body .lux-btn{margin-top:18px;padding:0 56px}
@media (max-width:760px){
.s-head{padding:30px 24px 0}.s-head .h-brand{font-size:24px}
.s-body{padding:128px 24px 72px;gap:26px}
.s-body h1{font-size:40px}.s-text{font-size:17px;gap:22px}.s-sign{font-size:26px}
.s-body .lux-btn{padding:0 44px}
}
