/* Vine & Figs Study Academy (st- prefix). Forest green, cream and gold. */
.st{width:100%}
.st svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px;flex:none}
.st-hero{border-radius:16px;background-size:cover;background-position:center;color:#fff;padding:34px 36px;min-height:230px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.st-hin{max-width:560px}
.st-hin h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:48px;margin:0 0 6px;color:#fff;font-weight:600}
.st-hin p{color:#efe6d2;margin:0 0 16px;font-size:16.5px;line-height:1.5}
.st-hero blockquote{margin:0;max-width:340px;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:24px;line-height:1.3;color:var(--gold-2);text-align:right;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.st-hero blockquote small{display:block;font-style:normal;font-family:Inter,sans-serif;font-size:14px;color:#fff;margin-top:6px;letter-spacing:.06em}
.st-search{display:flex;align-items:center;gap:8px;background:#fff;border-radius:10px;padding:10px 12px;max-width:440px;color:#5b5a54}
.st-search input{border:0;outline:0;font-size:15px;flex:1;background:transparent;color:#1b1b19}
.st-chips{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 6px}
.st-chips button{border:1px solid var(--line-2);background:var(--card);border-radius:999px;padding:8px 14px;font-weight:600;font-size:14px;color:var(--ink-2)}
.st-chips button.on{background:var(--green);border-color:var(--green);color:#fff}
.st-chips button:hover:not(.on){border-color:var(--gold)}
.st-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start;margin-top:8px}
.st-sec{margin-top:24px}
.st-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.st-h h2,.st-h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;margin:0}
.st-h2{margin-bottom:10px}
.st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.st-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:box-shadow .15s,transform .15s}
.st-card:hover{box-shadow:0 8px 22px rgba(20,40,28,.12);transform:translateY(-2px)}
.st-cv{height:140px;background-size:cover;background-position:center;position:relative;cursor:pointer}
.st-cv .st-lv{position:absolute;left:10px;top:10px}
.st-plus{position:absolute;right:10px;top:10px;background:#1f4a33;color:#fff;font-size:14px;font-weight:700;border-radius:6px;padding:4px 8px}
.st-cb{padding:14px;display:flex;flex-direction:column;flex:1}
.st-cb small{color:var(--gold-text);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.st-cb h3{font-size:18px;margin:4px 0 6px;cursor:pointer;line-height:1.25}
.st-cb p{font-size:14.5px;color:var(--ink-2);margin:0 0 8px;line-height:1.5;flex:1}
.st-meta{font-size:14px;color:var(--ink-3);margin-bottom:10px}
.st-act{display:flex;gap:8px;flex-wrap:wrap}
.st-lv{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:3px 8px;vertical-align:1px}
.st-lv-beginner{background:#dcefdc;color:#1f4a33}.st-lv-intermediate{background:#f6e7bf;color:#6b4f0f}.st-lv-advanced{background:#e9dcef;color:#53306b}
.st-bar{display:block;height:6px;border-radius:6px;background:var(--line);overflow:hidden;margin:4px 0 10px}.st-bar i{display:block;height:100%;background:var(--gold)}.st-bar.big{height:9px}
.st-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.st-tile{border:0;border-radius:12px;min-height:110px;background-size:cover;background-position:center;color:#fff;text-align:left;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer}
.st-tile b{font-size:17px}.st-tile small{color:#efe6d2;font-size:14px}
.st-filters{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--ink-2)}
.st-filters select{border:1px solid var(--line-2);border-radius:9px;padding:7px 9px;background:var(--card);color:var(--ink);margin-left:6px}
.st-list{display:flex;flex-direction:column;gap:10px}
.st-row{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.st-row b{cursor:pointer;font-size:16px}.st-row .sub{font-size:14px;color:var(--ink-2);margin-top:3px;line-height:1.45}
.st-thumb{width:96px;height:72px;border-radius:9px;background-size:cover;background-position:center;flex:none;cursor:pointer;display:inline-block}
.st-thumb.sm{width:48px;height:48px}
.st-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:12px}
.st-box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.st-box h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;margin:0 0 10px}
.st-cont{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:6px 0;color:var(--ink);cursor:pointer}
.st-cont b{display:block;font-size:14px}.st-cont small{color:var(--ink-3);font-size:14px}
.st-lvrow{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:10px 0;color:var(--ink);cursor:pointer}
.st-lvrow:first-of-type{border-top:0}.st-lvrow small{color:var(--ink-2);font-size:14px;line-height:1.4;display:block}.st-lvrow b{font-size:14px;color:var(--gold-text);white-space:nowrap}
.st-tags{display:flex;flex-wrap:wrap;gap:6px}.st-tags button{border:1px solid var(--line-2);background:var(--paper);border-radius:999px;padding:5px 11px;font-size:14px;color:var(--ink-2);cursor:pointer}
.st-tags button:hover{border-color:var(--gold)}
.st-sub{margin:14px 0 8px;font-size:14px;color:var(--ink-2)}
.st-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.st-book{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 10px;text-align:left;cursor:pointer;color:var(--ink)}
.st-book b{display:block;font-size:14px}.st-book small{font-size:14px;color:var(--gold-text)}.st-book.soon small{color:var(--ink-3)}
.st-book:hover{border-color:var(--gold)}
.st-chs{display:flex;flex-wrap:wrap;gap:6px}.st-chs button{width:44px;height:38px;border:1px solid var(--line-2);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer}
.st-crumb{font-size:14px;color:var(--ink-3);margin-bottom:10px}.st-crumb a{color:var(--gold-text);text-decoration:none}
.st-title{font-family:"Cormorant Garamond",Georgia,serif;font-size:44px;margin:0}
.st-ohero{border-radius:16px;background-size:cover;background-position:center;color:#fff;padding:34px 36px;min-height:240px}
.st-ohero>div{max-width:640px}.st-ohero small{color:var(--gold-2);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:14px}
.st-ohero h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:46px;margin:4px 0 8px;color:#fff}.st-ohero p{color:#efe6d2;font-size:16.5px;line-height:1.55;margin:0 0 10px}
.st-ometa{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:14px;color:#efe6d2}.st-ometa.dark{color:var(--ink-2)}
.btn.light{color:#fff;border-color:rgba(255,255,255,.55)}
.st-read{font-size:17px;line-height:1.75;color:var(--ink)}
.st-outline{display:flex;flex-direction:column;gap:8px}
.st-ol{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.st-ol .grow{cursor:pointer}.st-ol b{display:block;font-size:15.5px}.st-ol small{color:var(--ink-3);font-size:14px}.st-ol.done b{color:var(--ink-2)}
.st-inc{padding-left:20px;margin:0 0 8px;font-size:14px;line-height:1.7}
.st-lh small{color:var(--gold-text);font-weight:700;font-size:14px;letter-spacing:.05em;text-transform:uppercase}
.st-lh h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:42px;margin:4px 0 8px}
.st-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0 4px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.st-depth{display:flex;align-items:center;gap:4px;background:var(--paper);border-radius:10px;padding:4px}
.st-depth span{font-size:14px;font-weight:700;color:var(--ink-2);padding:0 8px}
.st-depth button{border:0;background:transparent;border-radius:8px;padding:6px 11px;font-weight:600;font-size:14px;color:var(--ink-2);cursor:pointer}
.st-depth button.on{background:var(--green);color:#fff}
.st-tr{font-size:14px;color:var(--ink-2);display:flex;align-items:center;gap:6px}
.st-tr select,.st-tr input{border:1px solid var(--line-2);border-radius:8px;padding:6px 8px;background:var(--card);color:var(--ink)}
.btn.on{background:var(--green);color:#fff;border-color:var(--green)}
.st-grp{margin-top:12px;background:#f3ecd8;border:1px solid var(--gold-2);border-radius:12px;padding:12px 14px;color:#3d3214}
.st-part{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:16px}
.st-part h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:26px;margin:0 0 10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.st-part h2 i{font-style:normal;font-family:Inter,sans-serif;font-size:14px;font-weight:700;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.st-pass p{font-family:var(--rfam,Georgia,serif);font-size:18.5px;line-height:1.85;margin:0 0 8px}
.st-pass sup{color:var(--gold-text);font-size:14px;font-weight:700;margin:0 3px 0 6px;font-family:Inter,sans-serif}
.st-h3{font-size:17px;margin:16px 0 8px}
.st-vv{border-left:3px solid var(--gold);padding:4px 0 4px 12px;margin:10px 0}.st-vv b{font-size:14.5px;color:var(--gold-text)}.st-vv p{margin:3px 0 0;font-size:16.5px;line-height:1.65}
.st-xrb{margin-bottom:12px}.st-xrb h4{font-size:14.5px;margin:6px 0;color:var(--ink-2)}
.st-xr{font-size:15.5px;line-height:1.6;padding:6px 0;border-top:1px dashed var(--line)}.st-xr b{color:var(--green);margin-right:4px}
.st-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.st-word{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:10px 12px;cursor:pointer;text-align:left;color:var(--ink)}
.st-word:hover{border-color:var(--gold)}.st-word .o{font-size:22px;font-family:"SBL Hebrew","Ezra SIL","Gentium Plus",Georgia,serif}.st-word .tr{font-style:italic;color:var(--ink-2)}.st-word .gl{font-weight:600}.st-word small{color:var(--ink-3);font-size:14px}
.st-comm{margin:12px 0;padding:12px 16px;border-left:3px solid var(--green);background:var(--paper);border-radius:0 10px 10px 0}
.st-comm p{margin:0 0 6px;font-family:Georgia,serif;font-size:16px;line-height:1.7}.st-comm footer{font-size:14px;color:var(--ink-2)}
.st-q{padding-left:22px;font-size:16.5px;line-height:1.7}.st-q li{margin-bottom:6px}
.st-note-in{width:100%;min-height:130px;border:1px solid var(--line-2);border-radius:10px;padding:12px;font-size:16px;line-height:1.6;background:var(--paper);color:var(--ink);resize:vertical;box-sizing:border-box}
.st-qz{padding:10px 0;border-top:1px solid var(--line)}.st-qz p{margin:0 0 8px;font-size:16px}
.st-opts{display:flex;flex-wrap:wrap;gap:8px}.st-opts button{border:1px solid var(--line-2);background:var(--card);border-radius:9px;padding:8px 12px;font-size:14.5px;cursor:pointer;color:var(--ink)}
.st-opts button.ok{background:#dcefdc;border-color:#4f9a2c;color:#1f4a33}.st-opts button.no{background:#f7dcd6;border-color:#b4432f;color:#7a2a1c}
.st-fb{margin-top:6px;color:var(--ink-2)}
.st-done{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.st-mini{display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow:auto}
.st-mini a{display:grid;grid-template-columns:24px 1fr;gap:2px 8px;padding:7px 6px;border-radius:8px;text-decoration:none;color:var(--ink)}
.st-mini a span{grid-row:span 2;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);font-size:14px;display:flex;align-items:center;justify-content:center}
.st-mini a b{font-size:14px;font-weight:600;line-height:1.3}.st-mini a small{font-size:14px;color:var(--ink-3)}
.st-mini a.on{background:var(--paper)}.st-mini a.done span{background:var(--green);color:#fff;border-color:var(--green)}
.st-note{margin-top:14px}
.st-cert-wrap canvas{width:100%;max-width:900px;height:auto;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.12);display:block}
.st-cert-wrap.locked canvas{filter:grayscale(.6)}
.linkbtn{background:none;border:0;padding:0;color:var(--gold-text);text-decoration:underline;cursor:pointer;font:inherit}
.link.danger{color:var(--danger)}
:root[data-theme="dark"] .st-grp{background:#3a3220;color:#efe6d2}
:root[data-theme="dark"] .st-lv-beginner{background:#22401f;color:#cfe8c4}:root[data-theme="dark"] .st-lv-intermediate{background:#4a3c10;color:#f5e3a8}:root[data-theme="dark"] .st-lv-advanced{background:#37254f;color:#e1cdf5}
@media (max-width:980px){.st-layout{grid-template-columns:1fr}.st-side{position:static}.st-hero blockquote{text-align:left}}
@media (max-width:600px){.st-hero,.st-ohero{padding:22px}.st-hin h1,.st-ohero h1{font-size:36px}.st-row{flex-wrap:wrap}.st-lh h1{font-size:32px}}
@media print{
 #sidebar,.sidebar,header.top,.topbar,#bottomnav,.bottomnav,.noprint,.st-side,footer.site{display:none!important}
 body,main,.main,.view{background:#fff!important;color:#000!important;margin:0!important;padding:0!important}
 .st-layout{display:block}.st-part{border:0;padding:0;margin-top:18px;break-inside:avoid-page}.st-part h2 i{border:1px solid #000;background:#fff;color:#000}
 .st-note-in{border:1px solid #999;min-height:160px}.st-cert-wrap canvas{box-shadow:none;max-width:100%}
}
/* z7: interactive lesson template */
.st-lesson .st-read,.st-lesson .st-part p,.st-lesson .st-part li{font-size:16.5px;line-height:1.7}
.st-lesson .small{font-size:14px}
.st-lhero{margin:0 0 14px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.st-lhero img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}
.st-lhero figcaption{padding:10px 16px;font-size:14.5px;color:var(--ink-2);font-style:italic;font-family:"Cormorant Garamond",Georgia,serif;font-size:17px}
.st-lprog{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.st-lpb{flex:1 1 220px;height:8px;border-radius:6px;background:var(--line);overflow:hidden}.st-lpb i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--gold));transition:width .4s}
.st-chips{display:flex;flex-wrap:wrap;gap:6px;width:100%}.st-chips em{font-style:normal;font-size:13.5px;padding:3px 9px;border-radius:20px;border:1px solid var(--line-2);color:var(--ink-2)}.st-chips em.on{background:var(--green);border-color:var(--green);color:#fff}
.st-bgp{padding-left:22px;margin:6px 0 0}.st-bgp li{margin:0 0 12px}.st-bgp li b{font-family:"Cormorant Garamond",Georgia,serif;font-size:20px;color:var(--ink)}.st-bgp li p{margin:4px 0 0}
.st-tl{list-style:none;padding:0;margin:4px 0 0;border-left:3px solid var(--gold);padding-left:18px}
.st-tl li{position:relative;margin:0 0 14px;display:flex;flex-direction:column}.st-tl li:before{content:"";position:absolute;left:-26px;top:5px;width:13px;height:13px;border-radius:50%;background:var(--green);border:2px solid var(--paper)}
.st-tl li b{color:var(--gold-text);font-size:14.5px;text-transform:uppercase;letter-spacing:.04em}
.st-vbv{display:flex;flex-direction:column;gap:2px}
.st-vr{border-radius:10px;padding:4px 10px}.st-vr p{margin:0;font-family:var(--rfam,Georgia),Georgia,serif;font-size:18px;line-height:1.75}
.st-vr sup{color:var(--gold-text);font-weight:700;margin-right:5px;font-size:12.5px}
.st-vr.has{cursor:pointer}.st-vr.has:hover,.st-vr.has:focus{background:color-mix(in srgb,var(--gold) 12%,transparent);outline:none}
.st-vdot{color:var(--gold);font-size:14px;vertical-align:middle}
.st-vn{display:none;margin:6px 0 8px;padding:10px 14px;border-left:3px solid var(--gold);background:var(--paper);border-radius:0 10px 10px 0}.st-vr.open .st-vn{display:block}
.st-vn p{font-family:Inter,sans-serif!important;font-size:15px!important;line-height:1.6!important;margin:0 0 6px!important}
.st-obs{padding-left:20px}.st-obs li{margin-bottom:8px}
.st-dq{margin:14px 0 6px;font-weight:600}
.st-rf{margin:0 0 10px}.st-rf label{display:block;margin-bottom:4px}
.st-rf textarea{width:100%;min-height:74px;border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;font:inherit;font-size:15.5px;background:var(--paper);color:var(--ink);resize:vertical;box-sizing:border-box}
.st-rf textarea:focus{outline:2px solid var(--gold);border-color:transparent}
.st-sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}
.st-sidec{background:color-mix(in srgb,var(--green) 9%,var(--card));border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:14px 18px}
.st-sidec h3{margin:0 0 6px;font-family:"Cormorant Garamond",Georgia,serif;font-size:21px}.st-sidec p{margin:0;font-size:15.5px;line-height:1.65}
.st-cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.st-cmp .st-comm{margin:0}
.st-cmp .st-comm footer{margin-bottom:6px}.st-cmp .st-comm cite{display:block;font-size:13.5px;color:var(--ink-3);margin-top:6px}
.st-app{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px}
.st-app>div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.st-app h3{margin:0 0 4px;font-size:15px;color:var(--gold-text);text-transform:uppercase;letter-spacing:.04em}.st-app p{margin:0}
.st-lvh{border-top:1px solid var(--line);padding-top:12px;margin-top:16px;color:var(--green)}
.st-qz{margin:0 0 16px}.st-qz p{margin:0 0 8px}.st-opts button{font-size:15px;min-height:42px}
.st-fb{margin-top:6px;font-size:14.5px!important;line-height:1.55}
.st-score{margin-top:10px;font-size:15.5px}
.st-mrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.st-mrow span{font-size:16px;font-weight:600}.st-mrow select{width:100%;min-height:42px;border:1px solid var(--line-2);border-radius:9px;background:var(--paper);color:var(--ink);font-size:15px;padding:6px 8px}
.st-match{margin-bottom:12px}
select.ok,input.ok,.st-order li.ok{border-color:#4f9a2c!important;background:#dcefdc!important;color:#1f4a33!important}
select.no,input.no,.st-order li.no{border-color:#b4432f!important;background:#f7dcd6!important;color:#7a2a1c!important}
.st-order{list-style:none;padding:0;margin:0 0 12px;counter-reset:o}
.st-order li{display:flex;align-items:center;gap:10px;border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;margin-bottom:8px;background:var(--paper);counter-increment:o}
.st-order li:before{content:counter(o);font-weight:700;color:var(--gold-text);min-width:18px}
.st-order li>span:first-of-type{flex:1;font-size:15.5px}
.st-oa{display:flex;gap:4px}.st-oa button{width:40px;height:40px;border-radius:8px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);font-size:17px;cursor:pointer}
.st-bl{line-height:2.3!important}.st-bl input{border:1px solid var(--line-2);border-bottom:2px solid var(--gold);border-radius:6px;padding:4px 6px;font-size:16px;background:var(--paper);color:var(--ink);margin:0 3px;max-width:60vw}
.st-dig{border-color:var(--gold);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 10%,var(--card)),var(--card))}
.st-digr{margin:8px 0 10px}.st-dig details{margin:0 0 10px}.st-dig summary{cursor:pointer;color:var(--gold-text);font-weight:600}
.st-further{display:flex;flex-wrap:wrap;gap:8px}.st-further .st-ref,.st-ref{border:1px solid var(--line-2);border-radius:20px;padding:6px 12px;font-size:15px}
.st-srcs h2{font-size:20px!important}.st-srcs li{font-size:14px!important;line-height:1.55!important;color:var(--ink-2)}
@media (max-width:640px){.st-lhero img{aspect-ratio:16/9}.st-mrow{grid-template-columns:1fr}.st-vr p{font-size:17px}.st-part{padding:14px}.st-lesson .st-read,.st-lesson .st-part p,.st-lesson .st-part li{font-size:16px}}
@media print{.st-lhero img{max-height:240px}.st-vn{display:block!important}.st-rf textarea{min-height:60px;border:1px solid #999}}
.st-pass .st-vr p{margin:0}
@media (max-width:980px){.st-layout{grid-template-columns:minmax(0,1fr)}.st-main{min-width:0}.st-depth,.st-tools{flex-wrap:wrap}.st-lhero img{width:100%;height:auto}}
