/* ernantea.com v2 — design language of the live template:
   full-bleed photography, Fraunces display serif in warm peach, Inter body,
   stepped menu overlay, terracotta accent, side rails. Bilingual EN/ZH. */
:root{
  --white:#FFFFFF; --paper:#FAF8F4; --ink:#1B1A17; --body:#55524C; --faint:#736F66;
  --hairline:#E7E3DB; /* --faint darkened from #8B877E to pass 4.5:1 on white and paper */ --peach:#FFD5B6; --copper:#A96B3F; --copper-dark:#8F5A33;
  --dark:#161512;
  /* Fraunces and Inter carry no Chinese glyphs: every stack ends in deliberate CJK faces.
     Noto Serif SC is self-hosted, subset to the characters the site uses; the system faces
     after it cover anything else (macOS/iOS Songti, Windows SimSun, Android Noto CJK). */
  --display:'Fraunces', 'Times New Roman', 'Noto Serif SC', 'Songti SC', 'STSong', 'SimSun', serif;
  --sans:'Inter', -apple-system, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans CJK SC', sans-serif;
  --cn:'Noto Serif SC', 'Songti SC', 'STSong', 'Source Han Serif SC', 'Noto Serif CJK SC', 'SimSun', 'PingFang SC', 'Microsoft YaHei', serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--body);font-family:var(--sans);font-size:15.5px;line-height:1.8;-webkit-font-smoothing:antialiased}
:lang(zh),.zh{font-family:var(--cn)}
img{max-width:100%;height:auto;display:block}
video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:none;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
h1,h2,h3,.display{font-family:var(--display);font-weight:300;color:var(--ink)}

@font-face{font-family:'Fraunces';src:url('/assets/fonts/Fraunces-sub.woff2?v=099af0afc5') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('/assets/fonts/Fraunces-Italic-sub.woff2?v=953a4b0886') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/fonts/Inter-sub.woff2?v=804d20a02f') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Serif SC';src:url('/assets/fonts/NotoSerifSC-sub.woff2?v=95afb7ef97') format('woff2');font-weight:300 600;font-style:normal;font-display:swap}

/* language: html.en / html.zh (English at /path/, Chinese at /zh/path/) */
html.zh #ovEn{display:none}
html.en .zh{display:none}
html.zh .en{display:none}
html.zh .display,html.zh h1,html.zh h2,html.zh h3{font-family:var(--cn);font-weight:300}

/* ---------- fixed chrome ---------- */
.chrome-logo{position:fixed;top:1.6rem;left:1.8rem;z-index:60;width:52px;height:52px;transition:opacity .5s}
.chrome-logo img{width:100%;height:100%}
.rail{position:fixed;z-index:40;top:50%;transform:translateY(-50%);font-family:var(--display);font-style:italic;font-size:.72rem;letter-spacing:.18em;color:var(--faint);writing-mode:vertical-rl;pointer-events:none}
.rail.left{left:1.1rem}
.rail.right{right:1.1rem;top:16%}
.rail .zh{letter-spacing:.3em}
.on-image .rail{color:rgba(255,235,220,.75)}
@media(max-width:760px){.rail{display:none}.chrome-logo{width:44px;height:44px}}

.burger{position:fixed;top:50%;right:1.4rem;transform:translateY(-50%);z-index:70;width:34px;height:26px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.burger span{display:block;height:1.5px;background:var(--ink);transition:all .4s}
.on-image .burger span{background:#F2E7DC}
body.menu-open .burger span{background:var(--ink)!important}
body.menu-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.lang-toggle{position:fixed;top:1.9rem;right:4.6rem;z-index:70;font-size:.8rem;letter-spacing:.1em;color:var(--body);border-bottom:1px solid transparent;transition:color .3s}
.on-image .lang-toggle{color:#F2E7DC}
body.menu-open .lang-toggle{color:var(--ink)!important}
.lang-toggle:hover{border-color:currentColor}
@media(max-width:760px){.burger{top:2rem;transform:none}.lang-toggle{top:1.9rem;right:4.8rem}}

/* ---------- stepped menu overlay ---------- */
#menu{position:fixed;inset:0;z-index:65;background:rgba(255,255,255,.985);display:none;overflow:auto}
body.menu-open #menu{display:block}
.menu-steps{position:absolute;top:0;right:14%;bottom:0;display:flex;flex-direction:column;justify-content:center;min-width:min(560px,80vw)}
.menu-item{display:block;padding:.72rem 2.2rem;border:1px solid var(--hairline);border-bottom:none;background:var(--white);font-family:var(--display);font-weight:300;font-size:clamp(1.25rem,2.4vw,1.7rem);color:var(--ink);transition:background .35s,color .35s;line-height:1.3;margin-right:calc((var(--i) - 1) * 4.2%)}
.menu-item:last-child{border-bottom:1px solid var(--hairline)}
.menu-item:hover,.menu-item.here{background:var(--copper);color:#FFF0E2;border-color:var(--copper)}
.menu-item .m-zh{font-family:var(--cn);font-size:.55em;letter-spacing:.4em;color:var(--faint);margin-left:1.2rem;vertical-align:.18em;transition:color .35s}
.menu-item:hover .m-zh,.menu-item.here .m-zh{color:#F5D9BF}
html.zh .menu-item{font-family:var(--cn);letter-spacing:.2em}
.menu-foot{position:absolute;left:1.8rem;bottom:1.6rem;font-size:.78rem;color:var(--faint);letter-spacing:.06em}
@media(max-width:760px){.menu-steps{right:6%;min-width:82vw}.menu-item{padding:.7rem 1.3rem;margin-right:0!important}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--dark)}
.hero .hero-media{position:absolute;inset:0}
.hero .hero-media img,.hero .hero-media video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2.8s ease}
.hero.loaded .hero-media img,.hero.loaded .hero-media video{opacity:1}
.hero .hero-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(16,14,11,.12) 35%,rgba(16,14,11,.78));pointer-events:none}
.hero-text{position:relative;z-index:2;padding:0 4vw 7vh;max-width:1200px}
.hero-kicker{font-size:.8rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,225,200,.85);margin-bottom:1.2rem}
.hero-kicker .zh{letter-spacing:.5em;text-transform:none}
.hero h1{font-size:clamp(2.9rem,8.5vw,6.4rem);line-height:1.04;color:var(--peach);letter-spacing:.01em}
html.zh .hero h1{letter-spacing:.12em;font-size:clamp(2.5rem,7vw,5.2rem)}
.hero-line{margin-top:1.4rem;max-width:520px;color:rgba(250,240,230,.88);font-size:.98rem}
.hero.short{min-height:72vh}
.hero-scroll{position:absolute;bottom:2.2rem;right:4vw;z-index:2;width:1px;height:64px;background:linear-gradient(rgba(255,225,200,.8),transparent)}

/* ---------- section rhythm ---------- */
section{padding:7.5rem 4vw}
section.flush{padding:0}
.narrow{max-width:620px;margin:0 auto}
.mid{max-width:860px;margin:0 auto}
.wide{max-width:1180px;margin:0 auto}
.kicker{font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--copper);margin-bottom:1.6rem}
.kicker .zh{letter-spacing:.5em;text-transform:none;font-size:.85rem}
h1.sec,h2.sec{font-size:clamp(1.9rem,4vw,3rem);line-height:1.18;margin-bottom:2.2rem;max-width:820px}
html.zh h1.sec,html.zh h2.sec{letter-spacing:.1em}
p+p{margin-top:1.3em}
.prose .zh p{line-height:2.15;letter-spacing:.02em}
.fade{opacity:0;transform:translateY(16px);transition:opacity 1.4s ease,transform 1.4s ease}
.fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .fade{opacity:1;transform:none;transition:none}
  .hero .hero-media img,.hero .hero-media video{opacity:1;transition:none}
  video.loop{display:none}
  .loop-fig .loop-poster,.hero-media .loop-poster{display:block}
}
.caption{font-size:.8rem;color:var(--faint);margin-top:.9rem;font-style:italic}
.caption .zh{font-style:normal;letter-spacing:.12em}

/* ---------- image cards ---------- */
.cards{display:grid;gap:2.2rem}
.cards.two{grid-template-columns:1fr 1fr}
@media(max-width:900px){.cards.two{grid-template-columns:1fr}}
.card{position:relative;display:block;overflow:hidden;background:var(--dark)}
.card img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform 1.8s ease;opacity:.96}
.card.tall img{aspect-ratio:3/4}
.card:hover img{transform:scale(1.035)}
.card .card-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(16,14,11,0) 40%,rgba(16,14,11,.78))}
.card .card-text{position:absolute;left:1.8rem;right:1.8rem;bottom:1.5rem;z-index:2}
.card .card-title{font-family:var(--display);font-weight:300;font-size:clamp(1.4rem,2.6vw,2rem);color:var(--peach);line-height:1.15}
html.zh .card .card-title{font-family:var(--cn);letter-spacing:.18em}
.card .card-sub{margin-top:.4rem;font-size:.82rem;color:rgba(250,235,222,.85);letter-spacing:.04em}
.card .card-cta{margin-top:.9rem;font-size:.76rem;letter-spacing:.26em;text-transform:uppercase;color:#F2E7DC;opacity:.85;transition:opacity .3s}
.card:hover .card-cta{opacity:1;color:var(--peach)}
.card .card-cta .zh{letter-spacing:.4em;text-transform:none}

/* full-bleed banner */
.banner{position:relative;min-height:64vh;display:flex;align-items:flex-end;background:var(--dark);overflow:hidden}
.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner picture{position:absolute;inset:0}
.banner .banner-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(16,14,11,.05) 30%,rgba(16,14,11,.78))}
.banner .banner-text{position:relative;z-index:2;padding:3rem 4vw}
.banner .banner-text h2{color:var(--peach);font-size:clamp(1.8rem,4vw,2.8rem)}
.banner .banner-text p{color:rgba(250,240,230,.85);max-width:480px;margin-top:.8rem;font-size:.95rem}

/* ---------- figures ---------- */
.fig{margin:3.5rem auto}
.fig img{width:100%}
.fig-pair{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:3.5rem auto}
@media(max-width:760px){.fig-pair{grid-template-columns:1fr}}
.loop-fig{margin:3.5rem auto;position:relative}
.loop-fig video,.loop-fig .loop-poster{width:100%}
.loop-fig .loop-poster{display:none}
.loop-fig.portrait{max-width:420px}
@media(max-width:520px){.loop-fig.portrait{max-width:82vw}}

/* ---------- story timeline ---------- */
.era{padding:6rem 4vw;border-top:1px solid var(--hairline)}
.era-head{max-width:860px;margin:0 auto 2.6rem}
.era-year{font-family:var(--display);font-style:italic;font-size:1rem;color:var(--copper);letter-spacing:.14em}
.era-title{font-size:clamp(1.7rem,3.6vw,2.6rem);margin-top:.5rem}

/* ---------- quotes ---------- */
.pull{padding:7rem 4vw;text-align:center;background:var(--paper)}
.pull .zh-q{font-family:var(--cn);font-size:1.4rem;font-weight:300;letter-spacing:.26em;line-height:2.3;color:var(--ink)}
.pull .en-q{max-width:560px;margin:1.6rem auto 0;font-family:var(--display);font-style:italic;font-size:1.05rem;color:var(--body)}

/* ---------- teas list ---------- */
.filters{display:flex;gap:1.6rem;flex-wrap:wrap;margin:3rem 0 3.4rem;font-size:.8rem;letter-spacing:.12em;color:var(--faint);text-transform:uppercase}
.filters button{padding-bottom:3px;border-bottom:1px solid transparent;letter-spacing:inherit;text-transform:inherit}
.filters button:hover{color:var(--ink)}
.filters button.active{color:var(--copper);border-color:var(--copper)}
.vintage{margin:0 0 4.5rem}
.vintage-year{display:flex;align-items:baseline;gap:1.2rem;margin-bottom:1rem}
.vintage-year .yr{font-family:var(--display);font-weight:300;font-size:2.4rem;color:var(--ink);font-variant-numeric:oldstyle-nums}
.vintage.elder .vintage-year .yr{font-size:3.1rem;color:var(--copper)}
.vintage-year .yr-note{font-family:var(--display);font-style:italic;font-size:.88rem;color:var(--faint)}
.vintage-year .yr-note .zh{font-style:normal;font-family:var(--cn)}
.tea-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--hairline);cursor:pointer;transition:background .3s}
.tea-row:hover{background:rgba(169,107,63,.05)}
.tea-names{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.tea-cn{font-family:var(--cn);letter-spacing:.14em;font-size:1.05rem;color:var(--ink)}
.tea-en{font-family:var(--display);font-style:italic;color:var(--faint);font-size:.95rem}
html.zh .tea-en{display:none}
.tea-meta{display:flex;align-items:baseline;gap:1.4rem;white-space:nowrap}
.tea-format{font-size:.78rem;color:var(--faint);letter-spacing:.04em}
.tea-enquire,.tea-view{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--copper)}
.tea-enquire{opacity:0;transition:opacity .3s}
.tea-row:hover .tea-enquire{opacity:1}
.tea-view .zh,.tea-enquire .zh{letter-spacing:.3em;text-transform:none}
@media(max-width:640px){.tea-enquire{display:none}}
.reserve-note{color:var(--faint);font-size:.85rem;font-style:italic;margin-top:2.6rem}
.reserve-note .zh{font-style:normal}
.tea-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin:3.5rem 0 5rem}
@media(max-width:900px){.tea-cards{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tea-cards{grid-template-columns:1fr}}

/* ---------- tea detail ---------- */
.tea-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;background:var(--dark);overflow:hidden}
.tea-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.tea-hero .hero-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(16,14,11,.1) 35%,rgba(16,14,11,.6))}
.tea-hero .th-text{position:relative;z-index:2;padding:3rem 4vw}
.tea-hero .th-kicker{font-size:.76rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,225,200,.85)}
.tea-hero .th-cn{font-family:var(--cn);font-weight:300;font-size:clamp(2.2rem,6vw,4rem);letter-spacing:.3em;color:var(--peach);margin-top:.6rem}
.tea-hero .th-en{font-family:var(--display);font-style:italic;font-size:1.2rem;color:rgba(250,240,230,.9);margin-top:.5rem}
.tea-hero .th-meta{margin-top:1rem;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,235,222,.75)}
.tea-hero .th-meta .zh{text-transform:none;letter-spacing:.15em}
.tea-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.8rem;max-width:1180px;margin:0 auto}
.tea-cta{text-align:center;padding:5rem 4vw 7rem}
.tc-note{color:var(--faint);font-style:italic;font-size:.92rem;max-width:460px;margin:0 auto 1.2rem}
.tc-note .zh{font-style:normal}

/* ---------- stays ---------- */
.stay{border-top:1px solid var(--hairline)}
.stay-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0;max-width:860px}
@media(max-width:760px){.stay-facts{grid-template-columns:1fr}}
.stay-fact{border-top:1px solid var(--hairline);padding-top:1.1rem}
.stay-fact .sf-k{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--copper)}
.stay-fact .sf-k .zh{letter-spacing:.35em;text-transform:none}
.stay-fact p{margin-top:.5rem;font-size:.9rem}

/* ---------- brew / seasons / faq ---------- */
.brew{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2.4rem;margin:3.5rem 0}
@media(max-width:760px){.brew{grid-template-columns:1fr}}
.b-method{border-top:1px solid var(--hairline);padding-top:1.4rem}
.b-name{font-family:var(--display);font-size:1.15rem;color:var(--ink)}
.b-name .zh{font-family:var(--cn);letter-spacing:.2em}
.b-for{font-size:.72rem;color:var(--copper);letter-spacing:.2em;text-transform:uppercase;margin-top:.4rem}
.b-for .zh{letter-spacing:.3em;text-transform:none}
.b-method p{margin-top:.9rem;font-size:.9rem}
.b-spec{margin-top:1rem;font-size:.82rem;color:var(--faint);line-height:2}
.seasons{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;margin:3.5rem 0}
@media(max-width:700px){.seasons{grid-template-columns:1fr}}
.season h3{font-size:1.3rem}
.season .s-note{font-family:var(--display);font-style:italic;font-size:.92rem;color:var(--faint);margin-top:.4rem}
.season .s-note .zh{font-style:normal;font-family:var(--cn)}
.season ul{list-style:none;margin-top:1.4rem}
.season li{padding:.55rem 0;border-bottom:1px solid var(--hairline);font-size:.95rem}
.season li a:hover{color:var(--copper)}
.season li .s-en{font-family:var(--display);font-style:italic;color:var(--faint);font-size:.86rem;margin-left:.6rem}
html.zh .season li .s-en{display:none}
.faq{max-width:720px}
details.q{border-top:1px solid var(--hairline);padding:1.3rem 0}
details.q:last-child{border-bottom:1px solid var(--hairline)}
details.q summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-family:var(--display);font-size:1.05rem;color:var(--ink)}
html.zh details.q summary{font-family:var(--cn)}
details.q summary::-webkit-details-marker{display:none}
details.q summary:after{content:'+';color:var(--copper);flex-shrink:0}
details.q[open] summary:after{content:'−'}
details.q .a{margin-top:.9rem;font-size:.92rem}
details.q .a .zh p{line-height:2.05}
.q-voice{font-size:.7rem;color:var(--copper);letter-spacing:.2em;text-transform:uppercase;margin-top:.7rem}
.q-voice .zh{letter-spacing:.3em;text-transform:none}

/* ---------- journal ---------- */
.j-list{max-width:720px}
.j-item{display:block;padding:2.2rem 0;border-top:1px solid var(--hairline)}
.j-item:last-child{border-bottom:1px solid var(--hairline)}
.j-kicker{font-size:.7rem;color:var(--copper);letter-spacing:.26em;text-transform:uppercase}
.j-kicker .zh{letter-spacing:.35em;text-transform:none}
.j-title{font-family:var(--display);font-weight:300;font-size:1.5rem;color:var(--ink);margin-top:.5rem;transition:color .3s}
html.zh .j-title{font-family:var(--cn);letter-spacing:.15em}
.j-item:hover .j-title{color:var(--copper)}
.j-item p{margin-top:.7rem;font-size:.92rem;color:var(--faint)}
.je-head{text-align:center;max-width:720px;margin:0 auto 3.5rem}
.je-head .je-title{font-size:clamp(1.8rem,4vw,2.6rem);margin-top:.8rem}

/* ---------- poems / art ---------- */
.poem{max-width:900px;margin:0 auto 6rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.poem .p-cn{font-family:var(--cn);line-height:2.5;letter-spacing:.06em;font-size:1rem;text-align:right;color:var(--ink)}
.poem .p-en{font-family:var(--display);font-style:italic;color:var(--body);line-height:2;font-size:1rem}
.poem-title{grid-column:1/-1;margin-bottom:.5rem}
.poem-title .t-cn{font-family:var(--cn);letter-spacing:.4em;font-size:1.15rem;color:var(--ink)}
.poem-title .t-en{font-family:var(--display);font-style:italic;font-size:.95rem;color:var(--faint);margin-top:.4rem}
@media(max-width:760px){.poem{grid-template-columns:1fr;gap:2rem}.poem .p-cn{text-align:left}}
.art-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 2.6rem;align-items:end}
@media(max-width:760px){.art-grid{grid-template-columns:1fr}}
.artwork img{background:#fff;box-shadow:0 0 0 1px var(--hairline)}
.art-title{margin-top:1rem}
.art-title .a-cn{font-family:var(--cn);letter-spacing:.3em;font-size:1rem;color:var(--ink)}
.art-title .a-en{font-family:var(--display);font-style:italic;font-size:.88rem;color:var(--faint);margin-top:.3rem}
.art-story{margin-top:1.2rem;font-size:.92rem}
.art-story .zh p{line-height:2.05}

/* ---------- book ---------- */
.book-wrap{display:grid;grid-template-columns:300px 1fr;gap:5rem;align-items:center}
@media(max-width:760px){.book-wrap{grid-template-columns:1fr;gap:3rem}}
.book-cover{aspect-ratio:623/822;background:#FFFEFB;box-shadow:0 0 0 1px var(--hairline),0 24px 60px -28px rgba(22,21,18,.35);position:relative;display:flex;align-items:center;justify-content:center}
.bc-inner{writing-mode:vertical-rl;font-family:var(--cn);font-size:1.5rem;font-weight:300;letter-spacing:.5em;line-height:1;color:var(--ink)}
.bc-author{position:absolute;bottom:12%;right:50%;transform:translateX(50%);writing-mode:vertical-rl;font-family:var(--cn);font-size:.8rem;letter-spacing:.4em;color:var(--ink)}
.bc-en{position:absolute;top:30%;left:24%;writing-mode:vertical-rl;font-family:var(--display);font-style:italic;font-size:.55rem;letter-spacing:.24em;color:var(--faint)}

/* ---------- CTA ---------- */
.cta-line{display:inline-block;margin-top:2rem;font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);padding-bottom:5px;border-bottom:1px solid var(--copper);transition:color .3s}
.cta-line:hover{color:var(--copper)}
.cta-line .zh{letter-spacing:.4em;text-transform:none}

/* ---------- enquiry overlay ---------- */
#overlay{position:fixed;inset:0;background:rgba(255,255,255,.97);backdrop-filter:blur(5px);z-index:100;display:none;align-items:center;justify-content:center;padding:2rem}
#overlay.open{display:flex}
.ov-card{max-width:480px;width:100%;text-align:center}
.ov-close{position:absolute;top:1.6rem;right:2rem;font-size:1.7rem;color:var(--faint);font-weight:300}
.ov-tea-cn{font-family:var(--cn);font-size:1.4rem;letter-spacing:.3em;color:var(--ink)}
.ov-tea-en{font-family:var(--display);font-style:italic;color:var(--faint);margin-top:.6rem}
.ov-note{margin:1.8rem 0 2.4rem;font-size:.92rem}
.ov-actions{display:flex;flex-direction:column;gap:1.1rem;align-items:center}
.ov-actions a{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid var(--hairline);padding-bottom:4px;transition:border-color .3s}
.ov-actions a:hover{border-color:var(--copper)}
.ov-actions .zh{letter-spacing:.35em;text-transform:none}

/* ---------- footer ---------- */
footer{background:var(--dark);color:#B8B0A4;padding:5rem 4vw 3rem}
.f-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:3rem;align-items:start}
@media(max-width:760px){.f-grid{grid-template-columns:1fr;gap:2rem}}
.f-seal{width:64px;height:64px;opacity:.92}
.f-nav{display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.8rem;letter-spacing:.08em}
.f-nav a:hover{color:#F2E7DC}
.f-mark{font-family:var(--cn);letter-spacing:.5em;color:#F2E7DC;font-size:1rem}
.f-line{max-width:1180px;margin:3rem auto 0;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.75rem;letter-spacing:.14em;color:#8B8479}
.f-line .zh{letter-spacing:.2em}

/* ---------- v3: cinematic chapters, galleries, dark blocks ---------- */
.chapter{position:relative;min-height:86vh;display:flex;align-items:flex-end;background:var(--dark);overflow:hidden}
.chapter picture{position:absolute;inset:0}
.chapter img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 6s ease}
.chapter:hover img{transform:scale(1.03)}
.chapter .chapter-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(16,14,11,.86) 0%,rgba(16,14,11,.55) 38%,rgba(16,14,11,.12) 70%,rgba(16,14,11,0) 100%)}
.chapter .chapter-text{position:relative;z-index:2;padding:4rem 4vw 5rem;max-width:760px}
.chapter .chapter-kicker{font-size:.74rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,225,200,.85);margin-bottom:1rem}
.chapter .chapter-kicker .zh{letter-spacing:.5em;text-transform:none}
.chapter h2{color:var(--peach);font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.08}
html.zh .chapter h2{letter-spacing:.14em}
.chapter p{color:rgba(250,240,230,.88);margin-top:1rem;max-width:520px;font-size:.98rem}
.chapter .cta-line{color:#F2E7DC;border-color:var(--peach)}
.chapter .cta-line:hover{color:var(--peach)}
.chapter.right .chapter-text{margin-left:auto;text-align:right}
.chapter.right p{margin-left:auto}
.chapter.short{min-height:62vh}

.statement{padding:9rem 4vw;text-align:center}
.statement .display{font-size:clamp(1.6rem,3.4vw,2.5rem);line-height:1.3;max-width:900px;margin:0 auto}
.statement .zh .display,html.zh .statement .display{letter-spacing:.1em;line-height:1.7}

.dark-block{background:var(--dark);color:#CFC7BB;padding:7.5rem 4vw}
.dark-block .kicker{color:var(--peach)}
.dark-block h2.sec,.dark-block h3,.dark-block .display{color:#F5E9DC}
.dark-block p{color:#CFC7BB}
.dark-block .cta-line{color:#F5E9DC;border-color:var(--peach)}
.dark-block .cta-line:hover{color:var(--peach)}
.dark-block .t-pillar{border-top:1px solid rgba(255,255,255,.12)}
.dark-block .t-pillar:last-child{border-bottom:1px solid rgba(255,255,255,.12)}

/* masonry gallery for paintings, treasures, teaware */
.gallery{columns:3;column-gap:1.6rem;max-width:1180px;margin:0 auto}
.gallery.two{columns:2}
.gallery.four{columns:4}
@media(max-width:900px){.gallery,.gallery.four{columns:2}}
@media(max-width:560px){.gallery,.gallery.two,.gallery.four{columns:1}}
.g-item{break-inside:avoid;margin:0 0 1.6rem;position:relative;display:block}
.g-item img{width:100%;box-shadow:0 0 0 1px var(--hairline)}
.g-item.on-dark img{box-shadow:none}
.g-item .g-cap{margin-top:.6rem;font-size:.82rem;color:var(--faint)}
.g-item .g-cap .cn{font-family:var(--cn);letter-spacing:.2em;color:var(--ink);margin-right:.6rem}
.dark-block .g-item .g-cap{color:#9B9388}
.dark-block .g-item .g-cap .cn{color:#F5E9DC}
.calli-strip{display:flex;gap:1.2rem;overflow-x:auto;padding:1rem 4vw 2rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.calli-strip .g-item{flex:0 0 190px;scroll-snap-align:start;margin:0}
.calli-strip .g-item img{box-shadow:0 0 0 1px var(--hairline)}
.calli-strip::-webkit-scrollbar{height:4px}
.calli-strip::-webkit-scrollbar-thumb{background:var(--hairline)}

/* trade pillars */
.t-pillar{padding:2.4rem 0;border-top:1px solid var(--hairline)}
.t-pillar:last-child{border-bottom:1px solid var(--hairline)}
.t-pillar .tp-title{font-family:var(--display);font-size:1.3rem;color:var(--ink)}
.t-pillar .tp-title .zh{font-family:var(--cn);letter-spacing:.25em}
.t-pillar p{margin-top:.8rem;font-size:.94rem}

/* stat row */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1000px;margin:4rem auto 0;text-align:center}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr}}
.stat .s-n{font-family:var(--display);font-weight:300;font-size:clamp(2rem,4vw,3rem);color:var(--copper);line-height:1}
.stat .s-l{margin-top:.5rem;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.stat .s-l .zh{letter-spacing:.3em;text-transform:none}

/* legibility of text over photographs */
.hero-text,.chapter-text,.banner-text,.card-text,.tea-hero .th-text{text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 24px rgba(0,0,0,.35)}
.hero-line,.chapter p,.banner p,.card-sub{color:#F7EFE6}
.hero-kicker,.chapter-kicker,.tea-hero .th-kicker{color:#FFE3CB}

/* video hero: portrait source, cropped to the ridge + tea rows on wide screens */
.hero .hero-media video.hero-video{width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:0;transition:opacity 2.8s ease}
.hero.loaded .hero-media video.hero-video{opacity:1}
.hero .hero-media .loop-poster{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:1!important}
.hero .hero-media video.hero-video{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.hero .hero-media video.hero-video{display:none}.hero .hero-media .loop-poster{display:block;opacity:1}}
@media(max-aspect-ratio:3/4){.hero .hero-media video.hero-video,.hero .hero-media .loop-poster{object-position:50% 50%}}

/* =====================================================================
   v4: cinematic pass — slideshow hero, carousels, video scenes, archive
   ===================================================================== */
/* persistent call to action */
.enquire-btn{position:fixed;top:1.55rem;right:8.4rem;z-index:70;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;padding:.6rem 1.15rem;border:1px solid var(--copper);color:var(--copper);background:rgba(255,255,255,.72);backdrop-filter:blur(6px);transition:all .35s;white-space:nowrap}
.enquire-btn .zh{letter-spacing:.3em;text-transform:none}
.enquire-btn:hover{background:var(--copper);color:#FFF0E2}
.on-image .enquire-btn{border-color:var(--peach);color:var(--peach);background:rgba(16,14,11,.28)}
.on-image .enquire-btn:hover{background:var(--peach);color:#1B1A17}
body.menu-open .enquire-btn{color:var(--ink)!important;border-color:var(--ink)!important;background:transparent!important}
@media(max-width:760px){.enquire-btn{top:1.45rem;right:8.2rem;padding:.5rem .8rem;font-size:.6rem;letter-spacing:.2em}}

/* buttons in heroes */
.hero-ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:2.2rem}
.btn{display:inline-block;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;padding:.95rem 1.7rem;border:1px solid rgba(255,213,182,.75);color:#FFE7D2;transition:all .35s;text-shadow:none}
.btn .zh{letter-spacing:.32em;text-transform:none}
.btn:hover{background:rgba(255,213,182,.14);border-color:var(--peach)}
.btn.solid{background:var(--peach);color:#1B1A17;border-color:var(--peach)}
.btn.solid:hover{background:#FFE3CB}

/* slideshow hero with slow drift */
.hero .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 2.4s ease;z-index:0}
.hero .hero-slide.on{opacity:1;z-index:1}
.hero .hero-slide picture{position:absolute;inset:0}
.hero .hero-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;opacity:1!important;transition:none;transform:scale(1.04)}
.hero .hero-slide.on img{animation:kb 11s ease-out forwards}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14)}}
.hero.has-slides .hero-shade{background:linear-gradient(to bottom,rgba(16,14,11,.18) 30%,rgba(16,14,11,.82));z-index:1}
.hero.has-slides .hero-text,.hero.has-slides .hero-scroll{z-index:2}
.hero.has-slides h1{font-size:clamp(3.2rem,9.5vw,7.4rem)}

/* chapters: full height, slow settle, carousel */
.chapter{min-height:100vh}
.chapter.kb img{transform:scale(1.07);transition:transform 8s ease-out}
.chapter.kb.in img{transform:scale(1)}
.chapter.kb.in:hover img{transform:scale(1.025)}
.banner.kb img{transform:scale(1.07);transition:transform 8s ease-out,opacity 1.4s ease}
.banner.kb.in img{transform:scale(1)}
.chapter .ch-slide{position:absolute;inset:0;opacity:0;transition:opacity 2s ease}
.chapter .ch-slide.on{opacity:1}
.chapter .ch-slide picture{position:absolute;inset:0}
.chapter .ch-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.chapter.has-carousel .ch-slide.on img{animation:kb2 7s ease-out forwards}
@keyframes kb2{from{transform:scale(1.0)}to{transform:scale(1.07)}}
.chapter.has-carousel.kb img{transition:none}
.ch-dots{position:absolute;right:4vw;bottom:2.4rem;z-index:3;display:flex;gap:.55rem}
.ch-dots span{width:26px;height:1px;background:rgba(255,230,210,.35);transition:background .5s}
.ch-dots span.on{background:var(--peach)}
.chapter.right .ch-dots{right:auto;left:4vw}

/* manifesto introduction */
.manifesto{padding:10rem 4vw 9rem;text-align:center;background:var(--white)}
.manifesto .kicker{margin-bottom:3rem}
.manifesto .m-line{font-family:var(--display);font-weight:300;font-size:clamp(1.75rem,3.9vw,3.2rem);line-height:1.3;color:var(--ink);max-width:960px;margin:0 auto .9em;opacity:0;transform:translateY(22px);transition:opacity 1.3s ease,transform 1.3s ease;transition-delay:calc(var(--i) * .55s)}
.manifesto.in .m-line{opacity:1;transform:none}
.manifesto .m-line em{font-style:italic;color:var(--copper)}
.manifesto .m-small{margin-top:3rem;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);opacity:0;transition:opacity 1.4s ease 2.6s}
.manifesto .m-small .zh{letter-spacing:.3em;text-transform:none}
.manifesto.in .m-small{opacity:1}
html.zh .manifesto .m-line{font-family:var(--cn);letter-spacing:.12em;line-height:1.75;font-size:clamp(1.5rem,3.2vw,2.6rem)}

/* full-bleed video scenes */
.scene{position:relative;min-height:100vh;display:flex;align-items:flex-end;background:var(--dark);overflow:hidden}
.scene.short{min-height:72vh}
.scene video.loop,.scene .loop-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;margin:0}
.scene video.loop{z-index:1;opacity:0;transition:opacity 1.6s ease}
.scene video.loop.playing{opacity:1}
.scene .scene-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(16,14,11,.84) 0%,rgba(16,14,11,.5) 36%,rgba(16,14,11,.1) 68%,rgba(16,14,11,0) 100%)}
.scene .scene-text{position:relative;z-index:3;padding:4rem 4vw 5rem;max-width:760px;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 24px rgba(0,0,0,.35)}
.scene.right .scene-text{margin-left:auto;text-align:right}
.scene.right p{margin-left:auto}
.scene h2{color:var(--peach);font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.08}
html.zh .scene h2{letter-spacing:.14em}
.scene p{color:#FAF3EA;margin-top:1rem;max-width:520px;font-size:.98rem}
.scene .cta-line{color:#F2E7DC;border-color:var(--peach)}
.scene .cta-line:hover{color:var(--peach)}
@media(prefers-reduced-motion:reduce){.scene video.loop{display:none}}
.loop-fig .loop-media{position:relative;overflow:hidden;background:var(--dark)}
.loop-fig.portrait .loop-media{aspect-ratio:9/16}
.loop-fig.wide .loop-media{aspect-ratio:16/9}
.loop-fig .loop-media video.loop,.loop-fig .loop-media .loop-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;margin:0}
.loop-fig .loop-media video.loop{z-index:1;opacity:0;transition:opacity 1.2s ease}
.loop-fig .loop-media video.loop.playing{opacity:1}
.loop-fig.portrait{max-width:460px}
.loop-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.6rem;max-width:1180px;margin:3.5rem auto}
.loop-row.two{grid-template-columns:1fr 1fr;max-width:860px}
.loop-row .loop-fig{margin:0;max-width:none}
@media(max-width:760px){.loop-row,.loop-row.two{grid-template-columns:1fr}.loop-row .loop-fig{max-width:82vw;margin:0 auto}}

/* tea cards reveal the leaf on hover */
.card .card-alt{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;z-index:1}
.card .card-alt picture{position:absolute;inset:0}
.card .card-alt img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.card:hover .card-alt{opacity:1}
.card .card-shade,.card .card-text{z-index:2}
.card .card-hint{position:absolute;top:1.2rem;right:1.2rem;z-index:3;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,230,210,.75);transition:opacity .4s}
.card:hover .card-hint{opacity:0}

/* photographs settle in as they appear */
.g-item img{transition:transform 1.6s ease,box-shadow .6s}
.g-item:hover img{transform:scale(1.015)}

/* the archive: compact, sortable */
.arch-bar{position:sticky;top:5.6rem;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding:1.1rem 0;border-bottom:1px solid var(--hairline);display:flex;gap:2.4rem;align-items:center;flex-wrap:wrap;margin-top:2.5rem}
.arch-mode{display:flex;gap:1.4rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.arch-mode button{padding-bottom:3px;border-bottom:1px solid transparent;letter-spacing:inherit;text-transform:inherit}
.arch-mode button.active{color:var(--copper);border-color:var(--copper)}
.arch-mode button:hover{color:var(--ink)}
.arch-mode .zh{letter-spacing:.3em;text-transform:none}
.arch-jump{display:flex;gap:1.1rem;flex-wrap:wrap;font-size:.8rem;color:var(--faint);font-family:var(--display);font-style:italic}
.arch-jump a:hover{color:var(--copper)}
.arch-jump .zh{font-style:normal;font-family:var(--cn)}
.arch-group{padding:2.6rem 0 1.5rem;border-top:1px solid var(--hairline);display:grid;grid-template-columns:200px 1fr;gap:1.5rem 2.5rem;scroll-margin-top:5.5rem}
@media(max-width:760px){.arch-group{grid-template-columns:1fr;gap:.6rem}}
.arch-head .yr{font-family:var(--display);font-weight:300;font-size:2.3rem;color:var(--ink);line-height:1;font-variant-numeric:oldstyle-nums}
.arch-group.elder .arch-head .yr{color:var(--copper);font-size:2.8rem}
.arch-head .yr-note{display:block;margin-top:.6rem;font-family:var(--display);font-style:italic;font-size:.86rem;color:var(--faint);max-width:180px}
.arch-head .yr-note .zh{font-style:normal;font-family:var(--cn)}
.arch-head .yr-count{display:block;margin-top:.5rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 2rem}
@media(max-width:1000px){.arch-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.arch-grid{grid-template-columns:1fr}}
.arch-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--hairline);cursor:pointer;transition:color .3s}
.arch-item:hover{color:var(--copper)}
.arch-item:hover .tea-cn{color:var(--copper)}
.arch-names{display:flex;flex-direction:column;min-width:0}
.arch-item .tea-cn{font-size:1.02rem;line-height:1.5;transition:color .3s}
.arch-item .tea-en{font-size:.84rem;line-height:1.5}
.arch-item .tea-yr{font-family:var(--display);font-style:italic;color:var(--faint);font-size:.8rem;margin-right:.5rem}
.arch-meta{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);white-space:nowrap;padding-top:.45rem;text-align:right;line-height:1.6}
.arch-meta .zh{letter-spacing:.2em;text-transform:none}
.arch-item.has-page .arch-meta b{display:block;font-weight:400;color:var(--copper)}
.arch-item .arch-meta b{display:block;font-weight:400;color:var(--copper);opacity:0;transition:opacity .3s}
.arch-item:hover .arch-meta b{opacity:1}
.arch-item.has-page .arch-meta b{opacity:1}

/* book cover */
.book-cover-img{max-width:300px;margin:0 auto}
.book-cover-img img{box-shadow:0 0 0 1px var(--hairline),0 36px 80px -34px rgba(22,21,18,.55)}
.book-wrap.home{grid-template-columns:260px 1fr}
@media(max-width:760px){.book-wrap.home{grid-template-columns:1fr}}

/* legibility on dark backgrounds (reviewed: text was too dim) */
.dark-block{color:#E6DED2}
.dark-block p{color:#E6DED2}
.dark-block .g-item .g-cap{color:#C9C0B3}
.dark-block .t-pillar p{color:#E6DED2}
footer{color:#CFC7BB}
.f-line{color:#AAA196}
.f-nav a{color:#D9D1C5}
.tea-hero .th-meta{color:#F2E7DC}
.tea-hero .th-en{color:#FBF4EC}
.chapter p,.scene p{color:#FAF3EA}
.hero-line{color:#FBF4EC}
.card-sub{color:#FAF0E4}
.menu-foot{color:var(--body)}
.ov-tea-en,.tc-note{color:var(--body)}

/* video heroes: a little more shade at the top so the chrome stays legible over pale fog */
.hero.has-video .hero-shade{background:linear-gradient(to bottom,rgba(16,14,11,.34) 0%,rgba(16,14,11,.14) 35%,rgba(16,14,11,.8))}
@media(max-width:760px){.arch-bar{top:5rem}}

/* enquiry form */
#overlay{align-items:flex-start;overflow:auto;padding:4rem 1.2rem 3rem}
.ov-form,.ov-done{max-width:640px;width:100%;margin:0 auto;text-align:left}
.ov-done{text-align:center;margin-top:18vh}
.ov-head{text-align:center;margin-bottom:2.2rem}
.ov-head .kicker{margin-bottom:.8rem}
.ov-tea-cn:empty,.ov-tea-en:empty{display:none}
.ov-form .ov-note{margin:1.2rem auto 0;max-width:520px;font-size:.9rem}
.ov-field{border:none;margin:0 0 1.6rem}
.ov-field legend,.ov-label{display:block;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--copper);margin-bottom:.6rem}
.ov-label .zh,.ov-field legend .zh{letter-spacing:.3em;text-transform:none}
.ov-label em{font-style:italic;text-transform:none;letter-spacing:.05em;color:var(--faint);font-family:var(--display)}
.ov-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.ov-chips label{cursor:pointer}
.ov-chips input{position:absolute;opacity:0;width:0;height:0}
.ov-chips label>span{display:inline-block;padding:.5rem .95rem;border:1px solid var(--hairline);font-size:.84rem;color:var(--body);transition:all .25s;background:#fff}
.ov-chips input:checked+span{background:var(--copper);border-color:var(--copper);color:#FFF0E2}
.ov-chips input:focus-visible+span{outline:2px solid var(--copper);outline-offset:2px}
.ov-row{margin-bottom:1.2rem}
.ov-row.two{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.ov-row[hidden]{display:none}
@media(max-width:600px){.ov-row.two{grid-template-columns:1fr}}
.ov-row input,.ov-row select,.ov-row textarea{width:100%;font:inherit;font-size:.95rem;color:var(--ink);background:#fff;border:none;border-bottom:1px solid var(--hairline);padding:.55rem 0;border-radius:0;transition:border-color .3s}
.ov-row select{appearance:none;-webkit-appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238B877E'/%3E%3C/svg%3E") no-repeat right center}
.ov-row input:focus,.ov-row select:focus,.ov-row textarea:focus{outline:none;border-bottom-color:var(--copper)}
.ov-row input::placeholder,.ov-row textarea::placeholder{color:#B9B3A8}
.ov-row textarea{resize:vertical}
.ov-form .ov-actions{flex-direction:row;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:1.4rem}
.ov-form .ov-actions a{border:none;padding:0;text-transform:none;letter-spacing:0;font-size:inherit;color:var(--copper)}
.ov-form .ov-actions a:hover{text-decoration:underline}
.ov-alt{font-size:.84rem;color:var(--faint)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#FFF0E2;text-shadow:none;cursor:pointer}
.btn.dark:hover{background:var(--copper);border-color:var(--copper)}
.ov-error{margin-top:1rem;color:#9E3A2C;font-size:.86rem}
.ov-done .ov-note{max-width:460px;margin:1.2rem auto 2rem}
/* buttons used on light sections (stays) */
section .hero-ctas .btn{color:var(--ink);border-color:var(--copper);text-shadow:none}
section .hero-ctas .btn:hover{background:var(--copper);border-color:var(--copper);color:#FFF0E2}
section .hero-ctas .btn.solid{background:var(--copper);border-color:var(--copper);color:#FFF0E2}
section .hero-ctas .btn.solid:hover{background:var(--copper-dark)}
