/* JVT utility pages (2026-09-24): styled to match the author bio card */
.jvt-util-page{--jvt-g:#00610e;--jvt-g-dark:#004a0b;--jvt-lime:#2ed71f;--jvt-sage:#eef6ea;--jvt-ink:#1d2320;--jvt-mute:#5c6660;--jvt-serif:Lora,Georgia,serif;--u-g:#00610e;--u-g2:#004a0b;--u-lime:#2ed71f;--u-ink:#1f1f1f;--u-text:#393939;--u-mute:#5c6660;--u-line:#e6e6e6;--u-serif:Lora,Georgia,serif}
.jvt-util-page .nv-single-page-wrap{margin-top:36px}
.jvt-util{max-width:1080px;margin:0 auto 64px}
.jvt-util-head{position:relative;border:1px solid var(--u-line);border-radius:16px;background:linear-gradient(135deg,#f2faf0 0%,#fff 70%);box-shadow:0 2px 16px rgba(20,23,28,.05);padding:44px 48px;margin:0 0 28px}
.jvt-util-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--u-g);margin:0 0 8px}
.jvt-util-head .jvt-util-title{font-family:var(--u-serif);font-size:clamp(32px,4vw,44px);line-height:1.12;font-weight:700;color:var(--u-ink);margin:0}
.jvt-util-sub{margin:12px 0 0;font-size:18px;line-height:1.55;color:var(--u-mute);max-width:640px}
.jvt-util-main{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.jvt-util-body{background:#fff;border:1px solid var(--u-line);border-radius:16px;box-shadow:0 2px 16px rgba(20,23,28,.04);padding:40px 48px;font-size:17px;line-height:1.75;color:var(--u-text);min-width:0;overflow-wrap:anywhere}
.jvt-util-body>*:first-child{margin-top:0}
.jvt-util-body>*:last-child{margin-bottom:0}
.jvt-util-body p{margin:0 0 1.1em}
.jvt-util-body h2{font-family:var(--u-serif);font-size:26px;line-height:1.25;font-weight:700;color:var(--u-ink);margin:1.9em 0 .6em;padding-top:1.3em;border-top:1px solid #eee;scroll-margin-top:24px}
.jvt-util-body>h2:first-child,.jvt-util-body>p:first-child+h2{border-top:0;padding-top:0}
.jvt-util-body h3{font-size:20px;font-weight:700;color:var(--u-ink);margin:1.6em 0 .5em;font-family:inherit}
.jvt-util-body h4{font-size:17px;font-weight:700;color:var(--u-ink);margin:1.4em 0 .4em;font-family:inherit}
.jvt-util-body ul,.jvt-util-body ol{margin:0 0 1.2em;padding-left:1.3em}
.jvt-util-body li{margin:0 0 .5em}
.jvt-util-body li::marker{color:var(--u-g)}
.jvt-util-body a{color:var(--u-g);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.jvt-util-body a:hover{color:var(--u-g2);text-decoration-thickness:2px}
.jvt-util-body strong{color:var(--u-ink)}
.jvt-lead{font-size:20px;line-height:1.6;color:#262626}

/* Legal: table of contents */
.jvt-util--legal .jvt-util-main{grid-template-columns:250px minmax(0,1fr)}
.jvt-toc{position:sticky;top:24px;border:1px solid var(--u-line);border-radius:16px;background:#fff;padding:20px 22px;font-size:14.5px;line-height:1.4;max-height:calc(100vh - 48px);overflow:auto}
.jvt-toc summary{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--u-g);cursor:pointer;list-style:none;margin:0 0 12px}
.jvt-toc summary::-webkit-details-marker{display:none}
.jvt-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.jvt-toc li{margin:0;counter-increment:toc}
.jvt-toc a{display:block;padding:7px 0 7px 26px;position:relative;color:var(--u-text);text-decoration:none;border-top:1px solid #f2f2f2}
.jvt-toc li:first-child a{border-top:0}
.jvt-toc a::before{content:counter(toc);position:absolute;left:0;top:7px;font-size:12px;font-weight:700;color:var(--u-g)}
.jvt-toc a:hover{color:var(--u-g)}

/* Contact */
.jvt-util--contact .jvt-util-main{grid-template-columns:minmax(0,1fr) 300px}
.jvt-aside-card{border:1px solid #cfe8c9;border-radius:16px;background:#f2faf0;padding:26px 24px}
.jvt-aside-card h2{font-family:var(--u-serif);font-size:21px;margin:0 0 12px;color:var(--u-ink)}
.jvt-aside-card ul{list-style:none;margin:0;padding:0}
.jvt-aside-card li{margin:0}
.jvt-aside-card a{display:block;padding:10px 0;border-top:1px solid #d9ecd4;color:var(--u-g);font-weight:600;text-decoration:none}
.jvt-aside-card li:first-child a{border-top:0}
.jvt-aside-card a::after{content:" \2192"}
.jvt-util-page .contact-form label,.jvt-util-page .grunion-field-label{font-weight:600;color:var(--u-ink);font-size:15px}
.jvt-util-page .contact-form input[type=text],.jvt-util-page .contact-form input[type=email],.jvt-util-page .contact-form input[type=url],.jvt-util-page .contact-form textarea{width:100%!important;max-width:none!important;border:1px solid #d6d9d6!important;border-radius:10px!important;padding:12px 14px!important;font-size:16px;background:#fbfcfb!important;box-shadow:none!important}
.jvt-util-page .contact-form input:focus,.jvt-util-page .contact-form textarea:focus{outline:none;border-color:var(--u-g)!important;box-shadow:0 0 0 3px rgba(0,97,14,.12)!important;background:#fff!important}
.jvt-util-page .contact-form textarea{min-height:180px}
.jvt-util-page .contact-form button[type=submit],.jvt-util-page .contact-form .wp-block-button__link,.jvt-util-page .contact-form input[type=submit]{width:auto!important;background:var(--u-g)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:14px 34px!important;font-weight:600;font-size:16px;cursor:pointer}
.jvt-util-page .contact-form button[type=submit]:hover{background:var(--u-g2)!important}

/* Newsletter + unsubscribe forms */
.jvt-util--form .jvt-util-body,.jvt-util--status .jvt-util-body{max-width:720px}
.jvt-util--form .jvt-util-main,.jvt-util--status .jvt-util-main{justify-items:start}
.jvt-util-page form.boxlabs-optin,.jvt-util-page form.boxlabs-unsub{display:grid;gap:14px;max-width:none;margin:24px 0 0;padding:0;background:none;box-shadow:none;border:0}
.jvt-util-page form.boxlabs-optin label,.jvt-util-page form.boxlabs-unsub label{display:block;font-weight:600;color:var(--u-ink);font-size:15px;margin:0}
.jvt-util-page form.boxlabs-optin input[type=email],.jvt-util-page form.boxlabs-optin input[type=text]:not([name=website]),.jvt-util-page form.boxlabs-unsub input[type=email]{display:block;width:100%;margin-top:6px;border:1px solid #d6d9d6;border-radius:10px;padding:13px 14px;font-size:16px;background:#fbfcfb;box-sizing:border-box}
.jvt-util-page form.boxlabs-optin input:focus,.jvt-util-page form.boxlabs-unsub input:focus{outline:none;border-color:var(--u-g);box-shadow:0 0 0 3px rgba(0,97,14,.12);background:#fff}
.jvt-util-page form.boxlabs-optin label:has(input[type=checkbox]){font-weight:400;font-size:14px;color:var(--u-mute);display:block;padding-left:28px;text-indent:-28px;line-height:1.5}
.jvt-util-page form.boxlabs-optin input[type=checkbox]{margin:0 10px 0 0;width:18px;height:18px;vertical-align:-3px;accent-color:var(--u-g);text-indent:0}
.jvt-util-page form.boxlabs-optin button,.jvt-util-page form.boxlabs-unsub button{justify-self:start;background:var(--u-g);color:#fff;border:0;border-radius:999px;padding:14px 34px;font-weight:600;font-size:16px;cursor:pointer}
.jvt-util-page form.boxlabs-optin button:hover,.jvt-util-page form.boxlabs-unsub button:hover{background:var(--u-g2)}
.jvt-perks{list-style:none!important;padding:0!important;margin:0 0 8px!important;display:grid;gap:10px}
.jvt-perks li{position:relative;padding-left:32px;margin:0}
.jvt-perks li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:#e6f4e2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300610e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}

/* Status (thank-you / confirmation) */
.jvt-util--status .jvt-util-head{text-align:center;padding:52px 48px 44px}
.jvt-util--status .jvt-util-head .jvt-util-title,.jvt-util--status .jvt-util-sub{margin-left:auto;margin-right:auto}
.jvt-util-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--u-g);color:#fff;box-shadow:0 0 0 8px #e6f4e2}
.jvt-util--status .jvt-util-main{justify-items:center}
.jvt-util--status .jvt-util-body{text-align:center}
.jvt-util--status .jvt-util-body .wp-block-buttons{justify-content:center;gap:12px}
.jvt-util-body .wp-block-button__link{background:var(--u-g);color:#fff;border-radius:999px;padding:14px 28px;font-weight:600;font-size:16px;text-decoration:none}
.jvt-util-body .wp-block-button__link:hover{background:var(--u-g2);color:#fff}
.jvt-util-body .is-style-outline .wp-block-button__link{background:#fff;color:var(--u-g);border:1.5px solid var(--u-g)}
.jvt-util--status .jvt-sec{text-align:left;width:100%}
.jvt-util--status .jvt-sec h2{border:0;padding:0;margin:0}

/* About: topic tiles + writers */
.jvt-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:18px 0 8px}
.jvt-util-body a.jvt-topic{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border:1px solid #d9ecd4;border-radius:14px;background:#f7fbf5;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.jvt-util-body a.jvt-topic:hover{border-color:var(--u-g);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.06)}
.jvt-topic b{color:var(--u-ink);font-size:16px}
.jvt-topic span{color:var(--u-mute);font-size:13.5px}
.jvt-util-body .jvt-writers{margin:2.2em 0;padding:32px!important;grid-template-columns:1fr}
.jvt-util-body .jvt-writers h2{border:0;padding:0;margin:0}
.jvt-util-body .jvt-writers-intro p{margin:8px 0 0}
.jvt-util-body a.jvt-writer{text-decoration:none}

@media (max-width:900px){
.jvt-util--legal .jvt-util-main,.jvt-util--contact .jvt-util-main{grid-template-columns:minmax(0,1fr)}
.jvt-toc{position:static;max-height:none}
}
@media (max-width:640px){
.jvt-util-page .nv-single-page-wrap{margin-top:16px}
.jvt-util-head{padding:28px 22px;border-radius:14px;margin-bottom:18px}
.jvt-util--status .jvt-util-head{padding:36px 22px 30px}
.jvt-util-sub{font-size:16px}
.jvt-util-body{padding:26px 20px;font-size:16px;border-radius:14px}
.jvt-util-body h2{font-size:22px}
.jvt-lead{font-size:18px}
.jvt-util-body .jvt-writers{padding:22px 16px!important}
.jvt-topics{grid-template-columns:1fr 1fr}
}
.jvt-util-body a.jvt-writer{color:var(--u-ink)}
.jvt-util-body a.jvt-writer b{color:var(--u-ink)}
.jvt-util-body a.jvt-writer span{color:var(--u-mute)}

.jvt-util--legal{max-width:1200px}
.jvt-util-body>p:first-child>br:first-of-type{display:none}
.jvt-util--legal .jvt-util-body>*{max-width:760px}
.jvt-util--form,.jvt-util--status{max-width:780px}
.jvt-util--form .jvt-util-body,.jvt-util--status .jvt-util-body{max-width:none;width:100%;box-sizing:border-box}
.jvt-toc summary{display:flex;justify-content:space-between;align-items:center}
.jvt-toc summary::after{content:"+";font-size:20px;line-height:1;font-weight:400;letter-spacing:0}
.jvt-toc[open] summary::after{content:"\2212"}
.jvt-toc:not([open]) summary{margin:0}

/* Imagery (2026-09-24) */
.jvt-util-head.has-media{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);padding:0;overflow:hidden;min-height:340px}
.jvt-util-head.has-media .jvt-util-head-text{padding:48px;align-self:center;position:relative;z-index:2}
.jvt-util-media{position:relative;min-height:300px;overflow:hidden}
.jvt-util-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%);border-radius:0!important;box-shadow:none!important}
.jvt-util-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f7fbf5 0%,rgba(247,251,245,.6) 12%,rgba(247,251,245,0) 34%);pointer-events:none}

/* Newsletter: photo beside the form */
.jvt-util--form.has-photo-aside{max-width:1120px}
.jvt-util--form.has-photo-aside .jvt-util-head{max-width:none}
.jvt-util--form.has-photo-aside .jvt-util-main{grid-template-columns:minmax(0,1fr) minmax(0,420px);justify-items:stretch;align-items:stretch}
.jvt-util--form.has-photo-aside .jvt-util-body{max-width:none}
.jvt-photo-aside figure{position:relative;margin:0;height:100%;min-height:460px;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(20,23,28,.12)}
.jvt-photo-aside img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%);border-radius:0!important}
.jvt-photo-aside figcaption{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-radius:14px;padding:14px 18px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.jvt-photo-aside figcaption span{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--u-g);margin-bottom:3px}
.jvt-photo-aside figcaption b{font-family:var(--u-serif);font-size:19px;color:var(--u-ink)}

/* About: photo mosaic */
.jvt-mosaic{display:grid;grid-template-columns:1.25fr 1fr 1.25fr;gap:14px;margin:2em 0 .4em;align-items:stretch}
.jvt-mosaic-img{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:#f1f3f0}
.jvt-mosaic-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0!important;transition:transform .4s}
.jvt-mosaic-img:hover img{transform:scale(1.04)}
.jvt-mosaic-quote{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;border-radius:14px;padding:22px;background:linear-gradient(160deg,#0a7a1c 0%,#00610e 55%,#004a0b 100%);color:#fff}
.jvt-mosaic-quote svg{color:#b9f5b0}
.jvt-mosaic-quote p{margin:0!important;font-family:var(--u-serif);font-size:24px;line-height:1.2;font-weight:700;color:#fff}

@media (max-width:900px){
.jvt-util--form.has-photo-aside .jvt-util-main{grid-template-columns:minmax(0,1fr)}
.jvt-photo-aside{order:-1}
.jvt-photo-aside figure{min-height:280px}
}
@media (max-width:760px){
.jvt-util-head.has-media{grid-template-columns:1fr;min-height:0}
.jvt-util-media{order:-1;min-height:230px}
.jvt-util-media::before{background:linear-gradient(0deg,#f7fbf5 0%,rgba(247,251,245,0) 30%)}
.jvt-util-head.has-media .jvt-util-head-text{padding:22px 22px 28px}
.jvt-mosaic{grid-template-columns:1fr 1fr}
.jvt-mosaic-quote{grid-column:1/-1;order:3;padding:20px}
.jvt-mosaic-quote p{font-size:21px}
.jvt-mosaic-img{aspect-ratio:1/1}
}.jvt-q{font-family:var(--u-serif);font-size:72px;line-height:.6;color:#b9f5b0;display:block;height:30px}
.jvt-util--about .jvt-util-body>p,.jvt-util--about .jvt-util-body>h2,.jvt-util--contact .jvt-util-body>p{max-width:780px}
.jvt-util-page form.boxlabs-optin+p,.jvt-util-page form.boxlabs-unsub+p{margin-top:22px;font-size:15px;color:var(--u-mute)}
@media (max-width:900px){.jvt-util--form.has-photo-aside .jvt-photo-aside{order:2}.jvt-photo-aside figure{min-height:240px}}
