/* ============================================================
   GUYUN pass-2 · content page components
   (page hero, sticky TOC, tables, tiers, accordion, forms…)
   ============================================================ */

/* page hero + breadcrumb */
.gy-phero{padding:118px 0 80px;position:relative;overflow:hidden;background:linear-gradient(var(--ink-3),var(--ink))}
.gy-phero .grain{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 8%,rgba(196,146,76,.12),transparent 55%)}
.gy-crumb{position:relative;font-family:var(--label);font-size:.68rem;letter-spacing:.2em;color:var(--bone-dim);margin-bottom:44px}
.gy-crumb a:hover{color:var(--resin)} .gy-crumb span{color:var(--resin-soft)}
.gy-phero h1{position:relative;font-weight:400;font-size:clamp(2.6rem,6vw,4.2rem);letter-spacing:.22em;margin-bottom:26px}
.gy-phero .lede{position:relative;font-family:var(--display);font-style:italic;font-size:clamp(1.15rem,2.3vw,1.6rem);color:var(--smoke);max-width:38ch;line-height:1.7}
.gy-phero.center{text-align:center}
.gy-phero.center .lede{margin:0 auto}

/* body grid + sticky toc */
.gy-body{display:grid;grid-template-columns:220px 1fr;gap:70px;padding:90px 0 40px;align-items:start}
.gy-toc{position:sticky;top:120px}
.admin-bar .gy-toc{top:152px}
.gy-toc h6{font-family:var(--label);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--resin);margin-bottom:20px;font-weight:400}
.gy-toc a{display:block;font-size:.9rem;color:var(--bone-dim);padding:9px 0 9px 16px;border-left:1px solid var(--line);transition:.3s}
.gy-toc a:hover,.gy-toc a.on{color:var(--bone);border-left-color:var(--resin);padding-left:22px}
.gy-article section{padding:0 0 84px;scroll-margin-top:110px}
.gy-article h2{font-weight:400;font-size:clamp(1.5rem,3vw,2.05rem);letter-spacing:.1em;margin:0 0 26px;line-height:1.5}
.gy-article h2 .idx{font-family:var(--display);font-style:italic;color:var(--resin);margin-right:16px;font-size:.85em}
.gy-article p{font-size:1.02rem;color:var(--bone-dim);margin-bottom:22px;max-width:62ch;line-height:2.2}
.gy-article strong{color:var(--bone);font-weight:400}
.gy-pull{border-left:2px solid var(--resin);padding:6px 0 6px 28px;margin:36px 0;font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--smoke);line-height:1.7}

/* data table */
.gy-table{width:100%;border-collapse:collapse;margin:14px 0 30px;font-size:.92rem}
.gy-table th{font-family:var(--label);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--resin);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line-strong);font-weight:400}
.gy-table td{padding:16px;border-bottom:1px solid var(--line);color:var(--bone-dim);vertical-align:top}
.gy-table td:first-child{color:var(--bone)}
.gy-table tr:hover td{background:var(--ink-2)}

/* tiers / verify / care grids */
.gy-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:18px 0 30px}
.gy-tier{background:var(--ink);padding:30px 24px}
.gy-tier .tn{font-family:var(--display);font-style:italic;font-size:2.2rem;color:var(--line-strong);line-height:1}
.gy-tier .tt{font-size:1.2rem;letter-spacing:.14em;margin:14px 0 12px;color:var(--bone)}
.gy-tier .td{font-size:.85rem;color:var(--bone-dim);line-height:1.95}
.gy-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:18px 0 30px}
.gy-vcard{border:1px solid var(--line);padding:30px 26px}
.gy-vcard .vn{font-family:var(--display);font-style:italic;color:var(--resin);font-size:1.4rem}
.gy-vcard h4{font-size:1.1rem;letter-spacing:.1em;margin:12px 0;color:var(--bone);font-weight:400}
.gy-vcard p{font-size:.86rem;margin:0;max-width:none}
.gy-quad{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:18px 0 0}
.gy-quad .c{background:var(--ink);padding:30px 28px}
.gy-quad .c h4{font-size:1.05rem;letter-spacing:.1em;color:var(--bone);margin-bottom:14px;font-weight:400}
.gy-quad .c h4 .e{font-family:var(--label);font-size:.6rem;letter-spacing:.2em;color:var(--resin);display:block;margin-bottom:6px}
.gy-quad .c li,.gy-list li{list-style:none;font-size:.88rem;color:var(--bone-dim);padding:5px 0 5px 22px;position:relative;line-height:1.8}
.gy-quad .c li::before,.gy-list li::before{content:"·";position:absolute;left:6px;color:var(--resin);font-size:1.2rem;line-height:1}
.gy-box{border:1px solid var(--line);background:var(--ink-2);padding:36px 38px;margin:30px 0}
.gy-box .guyun-eyebrow{display:block;margin-bottom:18px}
.gy-box ul{list-style:none}
.gy-box li{font-size:.95rem;color:var(--bone-dim);padding:8px 0 8px 26px;position:relative}
.gy-box li::before{content:"—";position:absolute;left:0;color:var(--resin)}

/* numbered steps */
.gy-steps{counter-reset:s;margin-top:14px;list-style:none}
.gy-steps li{counter-increment:s;position:relative;padding:8px 0 8px 44px;font-size:.94rem;color:var(--bone-dim);line-height:1.95;list-style:none}
.gy-steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:8px;font-family:var(--display);font-style:italic;color:var(--resin);font-size:.9rem}
.gy-steps li.tip{color:var(--smoke);font-style:italic}
.gy-form-block{border-top:1px solid var(--line);padding:30px 0}
.gy-form-block:last-of-type{border-bottom:1px solid var(--line)}
.gy-form-block .fh{display:flex;align-items:baseline;gap:18px;margin-bottom:8px}
.gy-form-block .fh .fk{font-family:var(--display);font-style:italic;color:var(--resin-soft);font-size:1.1rem}
.gy-form-block .fh .ft{font-size:1.3rem;letter-spacing:.14em;color:var(--bone)}
.gy-form-block .fh .fnote{font-family:var(--label);font-size:.62rem;letter-spacing:.2em;color:var(--smoke);text-transform:uppercase;margin-left:auto}

/* gifting */
.gy-boxes{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.gy-gbox{border:1px solid var(--line);overflow:hidden;transition:transform .5s,border-color .5s}
.gy-gbox:hover{transform:translateY(-6px);border-color:var(--line-strong)}
.gy-gbox .lid{aspect-ratio:4/3;position:relative;display:flex;align-items:flex-end;padding:24px}
.gy-gbox .lid .s{font-family:var(--display);font-style:italic;font-size:2.2rem;color:rgba(255,255,255,.85)}
.gy-spring .lid{background:linear-gradient(150deg,#7e2d24,#3a1512)}
.gy-autumn .lid{background:linear-gradient(150deg,#cdd3d6,#6e7b7a)} .gy-autumn .lid .s{color:#211b16}
.gy-ninth .lid{background:linear-gradient(150deg,#6e7b7a,#3c4544)}
.gy-winter .lid{background:linear-gradient(150deg,#1c1813,#0f0c0a)} .gy-winter .lid .s{color:var(--resin)}
.gy-gbox .body{padding:26px 26px 30px}
.gy-gbox .gn{font-size:1.25rem;letter-spacing:.16em;color:var(--bone);margin-bottom:6px}
.gy-gbox .pal{font-family:var(--label);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--resin);margin-bottom:16px}
.gy-gbox .ct{font-size:.88rem;color:var(--bone-dim);line-height:1.95}
.gy-biz{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:50px}
.gy-btier{border:1px solid var(--line);padding:40px 34px;display:flex;flex-direction:column;transition:border-color .5s}
.gy-btier:hover,.gy-btier.feat{border-color:rgba(196,146,76,.4)}
.gy-btier .tg{font-family:var(--label);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--resin)}
.gy-btier .tn2{font-size:1.5rem;letter-spacing:.14em;margin:12px 0 6px;color:var(--bone)}
.gy-btier .tp{font-family:var(--display);font-style:italic;font-size:1.5rem;color:var(--resin);margin-bottom:22px}
.gy-btier .row{font-size:.9rem;color:var(--bone-dim);padding:7px 0;line-height:1.7;border-top:1px solid var(--line)}
.gy-taboo{border:1px solid rgba(126,45,36,.32);padding:64px 50px;background:radial-gradient(ellipse at 50% 0%,rgba(126,45,36,.12),transparent 60%);text-align:center}
.gy-taboo ul{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;max-width:720px;margin:30px auto 0;text-align:left;list-style:none}
.gy-taboo li{font-size:.94rem;color:var(--bone-dim);padding:10px 0 10px 24px;position:relative;border-bottom:1px solid var(--line);line-height:1.8}
.gy-taboo li::before{content:"×";position:absolute;left:0;color:var(--oxblood);font-family:var(--display);font-style:italic}

/* FAQ accordion */
.gy-qa{border-top:1px solid var(--line)}
.gy-qa:last-child{border-bottom:1px solid var(--line)}
.gy-qa.flag{border-left:2px solid var(--resin);padding-left:18px;margin-left:-20px}
.gy-q{display:flex;gap:18px;align-items:baseline;width:100%;background:none;border:none;cursor:pointer;text-align:left;
  padding:20px 0;color:var(--bone);font-family:var(--serif);font-weight:300;font-size:1.06rem;letter-spacing:.03em;line-height:1.6;transition:color .3s}
.gy-q:hover{color:var(--resin)}
.gy-q .qn{font-family:var(--display);font-style:italic;color:var(--resin-soft);font-size:.95rem;min-width:26px}
.gy-q .qt{flex:1}
.gy-q .ico{width:18px;height:18px;position:relative;margin-top:4px;flex:0 0 auto}
.gy-q .ico::before,.gy-q .ico::after{content:"";position:absolute;background:var(--resin);transition:transform .35s,opacity .35s}
.gy-q .ico::before{left:0;right:0;top:8px;height:1px}
.gy-q .ico::after{top:0;bottom:0;left:8px;width:1px}
.gy-qa.open .gy-q .ico::after{transform:scaleY(0);opacity:0}
.gy-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
.gy-a .inner{padding:0 0 24px 44px;font-size:.95rem;color:var(--bone-dim);line-height:2.15;max-width:62ch}
.gy-a .inner b{color:var(--bone);font-weight:400}
.gy-a .inner .strong{color:var(--resin)}
.gy-group{padding:0 0 60px;scroll-margin-top:108px}
.gy-group h2{font-weight:400;font-size:clamp(1.4rem,2.8vw,1.9rem);letter-spacing:.1em;margin-bottom:8px}
.gy-group h2 .idx{font-family:var(--display);font-style:italic;color:var(--resin);margin-right:16px;font-size:.85em}
.gy-group .gsub{font-family:var(--label);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke);margin-bottom:24px}

/* contact */
.gy-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start;padding:90px 0 30px}
.gy-chgroup{margin-bottom:36px}
.gy-chgroup h3{font-family:var(--label);font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--resin);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line);font-weight:400}
.gy-chrow{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:9px 0;align-items:baseline}
.gy-chrow .ck{font-family:var(--label);font-size:.72rem;letter-spacing:.1em;color:var(--smoke)}
.gy-chrow .cv{font-size:.95rem;color:var(--bone);line-height:1.7}
.gy-chrow .cv .sm{display:block;font-size:.8rem;color:var(--bone-dim)}
.gy-formcard{border:1px solid var(--line);padding:46px 44px;background:var(--ink-2)}
.gy-formcard .ft{font-weight:400;font-size:1.5rem;letter-spacing:.1em;margin-bottom:8px}
.gy-formcard .fnote{font-size:.88rem;color:var(--smoke);margin-bottom:30px}
.gy-field{margin-bottom:22px}
.gy-field label{display:block;font-family:var(--label);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim);margin-bottom:8px}
.gy-field label .req{color:var(--resin)}
.gy-field input,.gy-field select,.gy-field textarea{width:100%;background:var(--ink-3);border:1px solid var(--line);color:var(--bone);font-family:var(--serif);font-size:.95rem;padding:13px 16px;outline:none;transition:border-color .3s;border-radius:0}
.gy-field input:focus,.gy-field select:focus,.gy-field textarea:focus{border-color:var(--resin)}
.gy-field textarea{resize:vertical;min-height:120px;line-height:1.8}
.gy-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gy-consent{display:flex;align-items:flex-start;gap:12px;margin:8px 0 28px;font-size:.86rem;color:var(--bone-dim);line-height:1.7}
.gy-consent input{margin-top:5px;accent-color:var(--resin);width:auto}
.gy-submit{width:100%;background:var(--resin);border:1px solid var(--resin);color:var(--ink-3);font-family:var(--label);font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;font-weight:500;padding:17px;cursor:pointer;transition:all .4s}
.gy-submit:hover{background:transparent;color:var(--resin)}
.gy-sent{text-align:center;padding:30px 0;font-family:var(--display);font-style:italic;color:var(--resin);font-size:1.2rem}
.gy-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* journal archive */
.gy-filter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink-3)}
.gy-filter .guyun-wrap{display:flex;flex-wrap:wrap}
.gy-filter a{font-family:var(--label);font-size:.72rem;letter-spacing:.18em;color:var(--bone-dim);padding:20px 26px;border-right:1px solid var(--line);transition:.3s}
.gy-filter a:hover,.gy-filter a.on{color:var(--resin);background:var(--ink-2)}
.gy-jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:60px 0 80px}
.gy-jcard{background:var(--ink);transition:background .4s;display:flex;flex-direction:column}
.gy-jcard:hover{background:var(--ink-2)}
.gy-jcard .pi{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:linear-gradient(160deg,rgba(196,146,76,.14),transparent 60%),var(--ink-2);overflow:hidden}
.gy-jcard .pi img{width:100%;height:100%;object-fit:cover}
.gy-jcard .pb{padding:28px 28px 32px;display:flex;flex-direction:column;flex:1}
.gy-jcard .cat{font-family:var(--label);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--resin)}
.gy-jcard h3{font-size:1.22rem;letter-spacing:.04em;line-height:1.7;margin:14px 0;color:var(--bone);font-weight:400}
.gy-jcard .ex{font-size:.88rem;color:var(--bone-dim);line-height:1.95;margin-bottom:20px;flex:1}
.gy-jcard .by{font-family:var(--label);font-size:.66rem;letter-spacing:.12em;color:var(--smoke);border-top:1px solid var(--line);padding-top:16px}

/* closing band */
.gy-closing{background:var(--ink-3);border-top:1px solid var(--line);padding:100px 0;text-align:center}
.gy-closing .lead{font-family:var(--display);font-style:italic;color:var(--smoke);font-size:1.4rem;max-width:50ch;margin:0 auto 22px;line-height:1.8}
.gy-closing .cta{margin-top:34px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}

@media (max-width:1024px){
  .gy-body,.gy-contact-grid{grid-template-columns:1fr} .gy-toc{display:none}
  .gy-tiers,.gy-boxes,.gy-biz{grid-template-columns:1fr 1fr}
  .gy-cards3,.gy-jgrid{grid-template-columns:1fr} .gy-quad{grid-template-columns:1fr}
}
@media (max-width:680px){
  .gy-tiers,.gy-boxes,.gy-biz,.gy-taboo ul,.gy-two{grid-template-columns:1fr}
  .gy-table{display:block;overflow-x:auto}
  .gy-formcard{padding:34px 26px}
}

/* ---- pass 3: shop filter bar ---- */
.guyun-shopfilter{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 34px;padding:16px 20px;border:1px solid var(--line);background:var(--ink-2)}
.guyun-shopfilter .fl{font-family:var(--label);font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--resin)}
.guyun-shopfilter select{background:var(--ink-3);border:1px solid var(--line);color:var(--bone);font-family:var(--serif);font-size:.9rem;padding:10px 14px;border-radius:0}
.guyun-shopfilter select:focus{border-color:var(--resin);outline:none}
.guyun-shopfilter .clear{font-family:var(--label);font-size:.7rem;letter-spacing:.16em;color:var(--bone-dim);border-bottom:1px solid var(--line-strong);padding-bottom:2px}
.guyun-shopfilter .clear:hover{color:var(--resin);border-color:var(--resin)}
body.guyun-light .guyun-shopfilter select{background:#fbf8f1}
