/* =========================================================================
   VGDev design system (v5.3.0)

   The last stylesheet in the cascade. It owns:
   - the type system (Commissioner, one family for Greek and English)
   - the vertical rhythm between eyebrows, titles, leads and content
   - the shared page hero, prose, legal text, forms, footer and prefooter
   - the home catalogue

   Rule kept from vg-lumora.css: whenever a background changes, every text
   colour inside it is set in the same block. No light text on light panels.
   ========================================================================= */

/* ---------- 1. Tokens ---------- */
body.vgdev{
	--vg-font:"Commissioner","Averta","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
	--vg-ink-t:#0a0a0a;
	--vg-body-t:#26231f;
	--vg-muted-t:#5f5b56;
	--vg-faint-t:#8a8681;
	--vg-stone:#f1f0ee;
	--vg-stone-2:#e8e6e3;
	--vg-hair:#e6e5e2;

	/* Type scale: body 17px, steps of roughly 1.25 */
	--vg-fs-xs:.8125rem;
	--vg-fs-sm:.9375rem;
	--vg-fs-body:1.0625rem;
	--vg-fs-lead:clamp(1.0625rem,1.2vw,1.1875rem);
	--vg-fs-h4:1.1875rem;
	--vg-fs-h3:clamp(1.25rem,1.6vw,1.5rem);
	--vg-fs-h2:clamp(1.875rem,3.4vw,3rem);
	--vg-fs-h1:clamp(2.25rem,4.6vw,3.875rem);
	--vg-fs-display:clamp(2.375rem,5vw,4.25rem);

	/* Rhythm */
	--vg-gap-eyebrow:1rem;      /* eyebrow -> title */
	--vg-gap-title:1.125rem;    /* title -> lead */
	--vg-gap-head:clamp(2.25rem,4vw,3.5rem); /* heading block -> content */
	--vg-sec:clamp(4.5rem,8vw,7.5rem);       /* section padding */
	--vg-gutter:clamp(1.25rem,3vw,2rem);

	font-family:var(--vg-font);
	font-size:var(--vg-fs-body);
	line-height:1.65;
	color:var(--vg-body-t);
	font-variation-settings:"FLAR" 0,"VOLM" 0;
	text-rendering:optimizeLegibility;
}
body.vgdev .vg-container{padding-left:var(--vg-gutter);padding-right:var(--vg-gutter);}

/* ---------- 2. Headings: flared display voice ---------- */
body.vgdev h1,body.vgdev h2,body.vgdev h3,body.vgdev h4,
body.vgdev .vg-h2,body.vgdev .vg-tpl-hero__title,body.vgdev .vg-hero2__title,
body.vgdev .product_title{
	font-family:var(--vg-font);
	font-variation-settings:"FLAR" 100,"VOLM" 40;
	letter-spacing:-.022em;
}
body.vgdev h1,
body.vgdev .vg-h2,
body.vgdev .vg-tpl-hero__title,
body.vgdev .vg-hero2__title,
body.vgdev .product_title{
	font-weight:700;
	font-variation-settings:"FLAR" 100,"VOLM" 100;
	letter-spacing:-.03em;
}
body.vgdev h3,body.vgdev h4{font-weight:650;}
body.vgdev h5,body.vgdev h6{font-weight:650;letter-spacing:-.01em;}
body.vgdev strong,body.vgdev b{font-weight:650;}

/* Buttons, nav and labels stay in the calm cut */
body.vgdev .vg-btn,
body.vgdev .vg-menu a,
body.vgdev button,
body.vgdev input,body.vgdev select,body.vgdev textarea{font-family:var(--vg-font);font-variation-settings:"FLAR" 0,"VOLM" 0;}
body.vgdev .vg-btn{font-weight:600;white-space:nowrap;}
body.vgdev h1,body.vgdev h2,body.vgdev .vg-h2{text-wrap:balance;}
/* Primary buttons: solid ink, neutral shadow (no coloured glow) */
body.vgdev .vg-btn--primary{box-shadow:none;}
body.vgdev .vg-btn--primary:hover{box-shadow:0 12px 28px rgba(10,10,10,.22);}
/* On dark panels the primary button flips to white so it stays visible */
body.vgdev .vg-cta .vg-btn--primary,
body.vgdev .vg-about .vg-btn--primary,
body.vgdev .vg-features .vg-btn--primary{background:#fff;color:var(--vg-black);}
body.vgdev .vg-cta .vg-btn--primary:hover,
body.vgdev .vg-about .vg-btn--primary:hover,
body.vgdev .vg-features .vg-btn--primary:hover{background:#fff;color:var(--vg-black);box-shadow:0 12px 28px rgba(0,0,0,.4);}

/* ---------- 3. Rhythm: eyebrow -> title -> lead -> content ---------- */
body.vgdev .vg-eyebrow{margin:0 0 var(--vg-gap-eyebrow);font-size:var(--vg-fs-sm);font-weight:550;}
body.vgdev .vg-h2{font-size:var(--vg-fs-h2);line-height:1.06;margin:0 0 var(--vg-gap-title);}
body.vgdev .vg-h2 + .vg-lead,
body.vgdev .vg-h2 + p{margin-top:0;}
body.vgdev .vg-lead{font-size:var(--vg-fs-lead);line-height:1.6;max-width:40rem;margin:0;}
body.vgdev .vg-head,
body.vgdev .vg-catalog__head{margin-bottom:var(--vg-gap-head);}
body.vgdev .vg-head .vg-h2{margin-bottom:var(--vg-gap-title);}

/* Light section leads use a readable grey; dark sections keep their own */
body.vgdev .vg-lead:not(.vg-lead--light){color:var(--vg-muted-t);}

/* Section padding on the shared light sections */
body.vgdev .vg-portfolio,
body.vgdev .vg-snippets,
body.vgdev .vg-features,
body.vgdev .vg-about,
body.vgdev .vg-catalog,
body.vgdev .vg-tpl-section{padding-top:var(--vg-sec);padding-bottom:var(--vg-sec);}

/* ---------- 4. Reveal: content is visible from the first paint ---------- */
body.vgdev .vg-reveal,
body.vgdev .vg-reveal.is-in{opacity:1!important;transform:none!important;}

/* ---------- 5. Shared page hero (about, contact, docs, legal, support...) ----------
   Light stone panel, left aligned, with the same faint grid as the home hero.
   Background AND every text colour are set here together. */
body.vgdev .vg-tpl-hero{
	position:relative;isolation:isolate;overflow:hidden;
	background:var(--vg-stone)!important;
	color:var(--vg-ink-t)!important;
	text-align:left!important;
	padding:clamp(3.5rem,7vw,6.5rem) 0 clamp(3rem,6vw,5rem);
	border-radius:0 0 var(--vg-r) var(--vg-r);
	border-bottom:0;
}
body.vgdev .vg-tpl-hero::before{
	content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
	background-image:linear-gradient(rgba(17,17,17,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.05) 1px,transparent 1px);
	background-size:56px 56px;
	-webkit-mask-image:linear-gradient(105deg,rgba(0,0,0,.9) 10%,transparent 75%);
	mask-image:linear-gradient(105deg,rgba(0,0,0,.9) 10%,transparent 75%);
	opacity:1;
}
body.vgdev .vg-tpl-hero::after{
	content:"";position:absolute;z-index:-1;pointer-events:none;
	width:42rem;height:42rem;right:-12rem;top:-18rem;border-radius:50%;
	background:radial-gradient(circle,rgba(233,77,53,.16),transparent 62%);
	opacity:1;
}
body.vgdev .vg-tpl-hero .vg-container{text-align:left!important;}
body.vgdev .vg-tpl-hero .vg-pill,
body.vgdev .vg-tpl-hero__title,
body.vgdev .vg-tpl-hero__sub{text-align:left!important;margin-left:0!important;margin-right:0!important;}
body.vgdev .vg-tpl-hero .vg-pill{
	display:inline-flex;margin:0 0 1.5rem;
	background:#fff;border:1px solid var(--vg-hair);color:var(--vg-muted-t);
	font-size:var(--vg-fs-xs);font-weight:550;padding:.45rem .95rem;
}
body.vgdev .vg-tpl-hero .vg-pill__dot{width:6px;height:6px;box-shadow:none;background:var(--vg-accent);}
body.vgdev .vg-tpl-hero__title{
	color:var(--vg-ink-t)!important;
	font-size:var(--vg-fs-h1);line-height:1.02;
	max-width:18ch;margin:0 0 1.5rem!important;
	text-wrap:balance;
}
body.vgdev .vg-tpl-hero__sub{
	color:var(--vg-muted-t)!important;
	font-size:var(--vg-fs-lead);line-height:1.6;
	max-width:38rem;margin:0!important;
}
body.vgdev .vg-tpl-hero a{color:var(--vg-ink-t);}

/* ---------- 6. Prose: a readable column with real gaps under titles ---------- */
body.vgdev .vg-page-body{padding:clamp(3.5rem,6vw,5.5rem) 0 var(--vg-sec);}
body.vgdev .vg-prose,
body.vgdev .vg-legal .vg-container{
	color:var(--vg-body-t);
	font-size:var(--vg-fs-body);line-height:1.75;
}
body.vgdev .vg-prose{max-width:44rem;margin-left:0;margin-right:auto;}
body.vgdev .vg-prose--wide{max-width:46rem;}
body.vgdev .vg-prose--center{margin-left:auto;text-align:center;}
body.vgdev .vg-prose > :first-child{margin-top:0;}
body.vgdev .vg-prose p,
body.vgdev .vg-legal p{margin:0 0 1.15em;}
body.vgdev .vg-prose h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;margin:2.2em 0 .6em;}
body.vgdev .vg-prose h3{font-size:var(--vg-fs-h3);line-height:1.25;margin:1.9em 0 .55em;}
body.vgdev .vg-prose h4{font-size:var(--vg-fs-h4);line-height:1.3;margin:1.6em 0 .5em;}
body.vgdev .vg-prose ul,body.vgdev .vg-prose ol{margin:0 0 1.3em;padding-left:1.25em;}
body.vgdev .vg-prose li{margin:0 0 .45em;}
body.vgdev .vg-prose li::marker{color:var(--vg-accent);}
body.vgdev .vg-prose a{color:var(--vg-ink-t);text-decoration:underline;text-decoration-color:rgba(233,77,53,.55);text-decoration-thickness:1.5px;text-underline-offset:3px;}
body.vgdev .vg-prose a:hover{color:var(--vg-accent);}
body.vgdev .vg-prose strong{color:var(--vg-ink-t);}
body.vgdev .vg-prose blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.25em;border-left:3px solid var(--vg-accent);color:var(--vg-ink-t);font-size:1.1em;}
body.vgdev .vg-prose img{border-radius:var(--vg-r-sm);}
body.vgdev .vg-page__content--custom{max-width:none;}

/* Old generic page head (cached HTML before 5.3) */
body.vgdev .vg-page__head{padding-top:clamp(2.5rem,5vw,4rem);margin-bottom:1.75rem;}

/* ---------- 7. Legal pages ---------- */
body.vgdev .vg-legal{padding:clamp(3.5rem,6vw,5.5rem) 0 var(--vg-sec);background:#fff;}
body.vgdev .vg-legal .vg-container{max-width:calc(46rem + 2 * var(--vg-gutter));margin-left:auto;margin-right:auto;}
body.vgdev .vg-legal__meta{
	display:inline-flex;align-items:center;gap:.6rem;
	margin:0 0 2.5rem;padding:.5rem 1rem;border:1px solid var(--vg-hair);border-radius:var(--vg-pill);
	background:var(--vg-stone);color:var(--vg-muted-t);font-size:var(--vg-fs-xs);font-weight:550;
}
body.vgdev .vg-legal__meta::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vg-accent);}
body.vgdev .vg-legal h2{
	font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2;color:var(--vg-ink-t);
	margin:2.75rem 0 .85rem;padding-top:2.25rem;border-top:1px solid var(--vg-hair);
}
body.vgdev .vg-legal__meta + p + h2,
body.vgdev .vg-legal h2:first-child{border-top:0;padding-top:0;}
body.vgdev .vg-legal h3{font-size:var(--vg-fs-h4);margin:1.75rem 0 .6rem;color:var(--vg-ink-t);}
body.vgdev .vg-legal p,body.vgdev .vg-legal ul,body.vgdev .vg-legal ol{color:var(--vg-body-t);line-height:1.75;}
body.vgdev .vg-legal ul,body.vgdev .vg-legal ol{margin:0 0 1.3em;padding-left:1.25em;}
body.vgdev .vg-legal li{margin-bottom:.5em;}
body.vgdev .vg-legal li::marker{color:var(--vg-accent);}
body.vgdev .vg-legal a{color:var(--vg-ink-t);text-decoration-color:rgba(233,77,53,.55);text-decoration-thickness:1.5px;text-underline-offset:3px;}
body.vgdev .vg-legal a:hover{color:var(--vg-accent);}
body.vgdev .vg-legal__note{
	margin:1.5rem 0;padding:1.1rem 1.25rem;border:1px solid var(--vg-hair);border-left:3px solid var(--vg-accent);
	border-radius:var(--vg-r-ctl);background:var(--vg-stone);color:var(--vg-body-t);
}

/* ---------- 8. Support page layout ---------- */
body.vgdev .vg-support-layout{padding:clamp(3rem,6vw,5rem) 0 var(--vg-sec);background:#fff;color:var(--vg-body-t);}
body.vgdev .vg-support-layout__grid{
	display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
	gap:clamp(2.5rem,5vw,5rem);align-items:start;
}
body.vgdev .vg-support-layout__side{position:sticky;top:110px;}
body.vgdev .vg-prose--side{max-width:none;font-size:var(--vg-fs-body);}
body.vgdev .vg-prose--side h2,
body.vgdev .vg-prose--side h3{font-size:var(--vg-fs-h3);margin:0 0 .75rem;}
body.vgdev .vg-facts{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--vg-hair);}
body.vgdev .vg-facts li{display:grid;gap:.2rem;padding:1rem 0;border-bottom:1px solid var(--vg-hair);}
body.vgdev .vg-facts__k{font-size:var(--vg-fs-xs);font-weight:600;color:var(--vg-faint-t);}
body.vgdev .vg-facts__v{color:var(--vg-ink-t);font-weight:500;}
body.vgdev .vg-facts__v a{color:var(--vg-ink-t);text-decoration:underline;text-decoration-color:rgba(233,77,53,.55);text-underline-offset:3px;}
body.vgdev .vg-facts__v a:hover{color:var(--vg-accent);}

/* ---------- 9. Forms: one style for support, contact and product forms ---------- */
body.vgdev .vg-support{
	max-width:none;margin:0;
	background:#fff;color:var(--vg-body-t);
	border:1px solid var(--vg-hair);border-radius:var(--vg-r);
	padding:clamp(1.5rem,3vw,2.5rem);
	box-shadow:0 1px 2px rgba(17,17,17,.04),0 24px 60px rgba(17,17,17,.06);
}
body.vgdev .vg-support > h2{font-size:var(--vg-fs-h3);line-height:1.2;margin:0 0 .6rem;color:var(--vg-ink-t);}
body.vgdev .vg-support > p{margin:0;color:var(--vg-muted-t);font-size:var(--vg-fs-sm);line-height:1.6;}
body.vgdev .vg-support__label{
	display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .6rem!important;
	font-size:var(--vg-fs-xs)!important;font-weight:600;color:var(--vg-ink-t)!important;
}
body.vgdev .vg-support__label::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vg-accent);}
body.vgdev .vg-support__form{display:grid;gap:1.25rem;margin-top:1.75rem;}
body.vgdev .vg-support__form label{
	display:grid;gap:.5rem;
	font-size:var(--vg-fs-sm);font-weight:600;color:var(--vg-ink-t);
}
body.vgdev .vg-support__row2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}

body.vgdev .vg-support__form input[type="text"],
body.vgdev .vg-support__form input[type="email"],
body.vgdev .vg-support__form input[type="url"],
body.vgdev .vg-support__form input[type="tel"],
body.vgdev .vg-support__form input[type="number"],
body.vgdev .vg-support__form select,
body.vgdev .vg-support__form textarea,
body.vgdev .vg-pcta__form input[type="text"],
body.vgdev .vg-pcta__form input[type="email"],
body.vgdev .vg-pcta__form textarea,
body.vgdev .comment-form input[type="text"],
body.vgdev .comment-form input[type="email"],
body.vgdev .comment-form input[type="url"],
body.vgdev .comment-form textarea{
	width:100%;min-height:3.25rem;
	padding:.8rem 1rem;
	font:inherit;font-size:1rem;font-weight:400;line-height:1.4;
	color:var(--vg-ink-t);background:#fff;
	border:1px solid #d9d7d3;border-radius:var(--vg-r-ctl);
	box-shadow:none;outline:0;
	transition:border-color .2s,box-shadow .2s,background .2s;
	-webkit-appearance:none;appearance:none;
}
body.vgdev .vg-support__form textarea,
body.vgdev .vg-pcta__form textarea,
body.vgdev .comment-form textarea{min-height:9rem;resize:vertical;}
body.vgdev .vg-pcta__form input:focus,
body.vgdev .vg-pcta__form textarea:focus{border-color:var(--vg-accent);box-shadow:0 0 0 4px rgba(233,77,53,.14);}
body.vgdev .vg-support__form input:hover,
body.vgdev .vg-support__form select:hover,
body.vgdev .vg-support__form textarea:hover{border-color:#bdbab5;}
body.vgdev .vg-support__form input:focus,
body.vgdev .vg-support__form select:focus,
body.vgdev .vg-support__form textarea:focus,
body.vgdev .comment-form input:focus,
body.vgdev .comment-form textarea:focus{
	border-color:var(--vg-accent);box-shadow:0 0 0 4px rgba(233,77,53,.14);
}
body.vgdev .vg-support__form select{
	padding-right:2.75rem;cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230a0a0a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 1.1rem center;background-size:12px 8px;
}

/* File input as a dashed drop area with a pill button */
body.vgdev .vg-support__file input[type="file"]{
	width:100%;padding:.75rem;font:inherit;font-size:var(--vg-fs-sm);font-weight:400;color:var(--vg-muted-t);
	background:var(--vg-stone);border:1.5px dashed #cfccc7;border-radius:var(--vg-r-ctl);cursor:pointer;
	transition:border-color .2s,background .2s;
}
body.vgdev .vg-support__file input[type="file"]:hover{border-color:var(--vg-accent);background:#fff;}
body.vgdev .vg-support__file input[type="file"]::file-selector-button{
	margin-right:1rem;padding:.6rem 1.1rem;border:0;border-radius:var(--vg-pill);
	background:var(--vg-black);color:#fff;font:inherit;font-size:var(--vg-fs-xs);font-weight:600;cursor:pointer;
	transition:background .2s;
}
body.vgdev .vg-support__file input[type="file"]::file-selector-button:hover{background:var(--vg-accent);}
body.vgdev .vg-support__form .vg-btn{
	justify-self:start;min-width:12rem;justify-content:center;margin-top:.25rem;
	padding:1rem 2rem;font-size:var(--vg-fs-sm);
}
body.vgdev .vg-support__resp{margin:0;font-size:var(--vg-fs-sm);font-weight:600;color:var(--vg-accent);}
body.vgdev .vg-support__resp:empty{display:none;}

/* ---------- 10. Contact page ---------- */
body.vgdev .vg-tpl-list{background:#fff;}
body.vgdev .vg-contact-grid{
	display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
	gap:clamp(2.5rem,5vw,5rem);align-items:start;
	padding:clamp(3rem,6vw,5rem) var(--vg-gutter) var(--vg-sec)!important;
}
body.vgdev .vg-contact-info{position:sticky;top:110px;color:var(--vg-body-t);}
body.vgdev .vg-contact-info h2{font-size:var(--vg-fs-h3);line-height:1.2;margin:0 0 1.25rem;color:var(--vg-ink-t);}
body.vgdev .vg-contact-list{margin:0 0 1.75rem;gap:0;border-top:1px solid var(--vg-hair);}
body.vgdev .vg-contact-list li{gap:.2rem;padding:1rem 0;border-bottom:1px solid var(--vg-hair);color:var(--vg-ink-t);font-weight:500;}
body.vgdev .vg-contact-list span{font-size:var(--vg-fs-xs);font-weight:600;letter-spacing:0;text-transform:none;color:var(--vg-faint-t);}
body.vgdev .vg-contact-list a{color:var(--vg-ink-t);text-decoration:underline;text-decoration-color:rgba(233,77,53,.55);text-underline-offset:3px;}
body.vgdev .vg-contact-info .vg-prose{font-size:var(--vg-fs-sm);color:var(--vg-muted-t);}

/* ---------- 11. About and other template sections ---------- */
body.vgdev .vg-tpl-section--white{background:#fff;color:var(--vg-body-t);}
body.vgdev .vg-tpl-section--soft{background:var(--vg-stone);color:var(--vg-body-t);}
body.vgdev .vg-tpl-section .vg-prose{margin-left:auto;margin-right:auto;}
body.vgdev .vg-tpl-h2{
	font-size:var(--vg-fs-h2);line-height:1.06;
	text-align:left;margin:0 0 var(--vg-gap-head);max-width:20ch;
	font-weight:700;font-variation-settings:"FLAR" 100,"VOLM" 100;letter-spacing:-.03em;color:var(--vg-ink-t);
}
body.vgdev .vg-tpl-h2::after{display:none;}
body.vgdev .vg-about-cards{gap:1.25rem;margin-bottom:clamp(2.5rem,5vw,4rem);}
body.vgdev .vg-about-card{
	display:flex;flex-direction:column;
	padding:clamp(1.5rem,2.5vw,2rem);border-radius:var(--vg-r-sm);
	background:#fff;border:1px solid var(--vg-hair);color:var(--vg-body-t);
}
body.vgdev .vg-about-card h3{font-size:var(--vg-fs-h3);margin:0 0 .75rem;color:var(--vg-ink-t);}
body.vgdev .vg-about-card p{color:var(--vg-muted-t);font-size:var(--vg-fs-sm);line-height:1.65;margin:0 0 1.5rem;flex:1;}
body.vgdev .vg-about-card .vg-arrow{color:var(--vg-ink-t);font-weight:600;text-decoration:none;}
body.vgdev .vg-about-card .vg-arrow:hover{color:var(--vg-accent);}

/* Stats: one hairline band of four figures instead of small boxes */
body.vgdev .vg-stats--light{
	display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
	max-width:none;margin:0;
	border-top:1px solid #d9d7d3;
}
body.vgdev .vg-stats--light .vg-stat{
	background:none;border:0;border-radius:0;text-align:left;
	padding:1.75rem 1.5rem 0 0;
}
body.vgdev .vg-stats--light .vg-stat + .vg-stat{padding-left:1.5rem;border-left:1px solid #d9d7d3;}
body.vgdev .vg-stats--light .vg-stat__num{
	display:block;font-size:clamp(2.5rem,5vw,4rem);line-height:1;
	font-weight:700;font-variation-settings:"FLAR" 100,"VOLM" 100;letter-spacing:-.04em;color:var(--vg-ink-t);
	margin-bottom:.6rem;
}
body.vgdev .vg-stats--light .vg-stat:hover .vg-stat__num{color:var(--vg-accent);}
body.vgdev .vg-stats--light .vg-stat__label{color:var(--vg-muted-t);font-size:var(--vg-fs-sm);}

/* Closing CTA band on templates: keep it dark, own every colour */
body.vgdev .vg-tpl-cta{
	background:var(--vg-black);color:#fff;
	padding:var(--vg-sec) var(--vg-gutter);
}
body.vgdev .vg-tpl-cta h2{color:#fff;font-size:var(--vg-fs-h2);line-height:1.06;max-width:22ch;margin:0 auto 1.125rem;}
body.vgdev .vg-tpl-cta p{color:rgba(255,255,255,.68);max-width:38rem;margin:0 auto 2rem;font-size:var(--vg-fs-lead);}
body.vgdev .vg-tpl-cta .vg-btn--ghost{color:#fff;border-color:rgba(255,255,255,.3);}
body.vgdev .vg-tpl-cta .vg-btn--ghost:hover{border-color:#fff;color:#fff;}
body.vgdev .vg-tpl-cta .vg-btn--primary{background:#fff;color:var(--vg-black);}
body.vgdev .vg-tpl-cta .vg-btn--primary:hover{background:#fff;color:var(--vg-black);}

/* ---------- 12. Home hero ---------- */
body.vgdev .vg-hero2__title{
	font-size:var(--vg-fs-display);line-height:1;
	margin:0 0 1.25rem;text-wrap:balance;max-width:16ch;
}
body.vgdev .vg-hero2__rotline{
	display:flex;align-items:center;flex-wrap:wrap;gap:.5ch;
	margin:0 0 1.5rem;font-size:var(--vg-fs-lead);font-weight:550;line-height:1.5;color:var(--vg-muted-t);
}
body.vgdev .vg-hero2__rotator{
	display:inline-grid;align-items:center;position:relative;
	height:1.6em;min-height:0;min-width:10ch;overflow:hidden;vertical-align:middle;
	padding:0 .7em;border-radius:var(--vg-pill);background:#fff;border:1px solid var(--vg-hair);
}
body.vgdev .vg-hero2__rot{
	grid-area:1 / 1;position:relative;left:auto;top:auto;width:auto;
	line-height:1.6em;font-size:1em;font-weight:700;white-space:nowrap;
}
body.vgdev .vg-hero2__sub{font-size:var(--vg-fs-lead);line-height:1.6;max-width:36rem;margin:0 0 2rem;}

/* ---------- 13. Home catalogue ---------- */
body.vgdev .vg-catalog{background:#fff;color:var(--vg-body-t);}
body.vgdev .vg-catalog__head{
	display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;
	max-width:none;margin-bottom:2rem;
}
body.vgdev .vg-catalog__intro{max-width:40rem;}
body.vgdev .vg-catalog__all{flex:none;}
body.vgdev .vg-catalog__cats{
	display:flex;flex-wrap:wrap;gap:.5rem;
	margin:0 0 2.25rem;padding:0 0 2.25rem;border-bottom:1px solid var(--vg-hair);
}
body.vgdev .vg-catalog__chip{
	display:inline-flex;align-items:center;gap:.55rem;
	padding:.55rem .6rem .55rem 1rem;border-radius:var(--vg-pill);
	background:var(--vg-stone);border:1px solid transparent;color:var(--vg-ink-t);
	font-size:var(--vg-fs-sm);font-weight:550;text-decoration:none;
	transition:background .2s,border-color .2s,color .2s;
}
body.vgdev .vg-catalog__chip span{
	display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .4rem;
	border-radius:var(--vg-pill);background:#fff;color:var(--vg-muted-t);font-size:.75rem;font-weight:650;
}
body.vgdev .vg-catalog__chip:hover{background:#fff;border-color:var(--vg-ink-t);color:var(--vg-ink-t);}
body.vgdev .vg-catalog__grid{
	display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;
}
body.vgdev .vg-pcard{
	position:relative;display:flex;flex-direction:column;
	padding:1.5rem;border-radius:var(--vg-r-sm);
	background:var(--vg-stone);border:1px solid transparent;color:var(--vg-body-t);
	transition:background .25s,border-color .25s,box-shadow .3s var(--vg-ease),transform .3s var(--vg-ease);
}
body.vgdev .vg-pcard:hover{background:#fff;border-color:var(--vg-hair);box-shadow:0 22px 50px rgba(17,17,17,.09);transform:translateY(-3px);}
body.vgdev .vg-pcard__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 1.25rem;}
body.vgdev .vg-pcard__ico{width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid var(--vg-hair);}
body.vgdev .vg-pcard__cat{
	font-size:.75rem;font-weight:600;color:var(--vg-muted-t);text-align:right;line-height:1.3;
}
body.vgdev .vg-pcard__name{
	margin:0 0 .6rem;font-size:1.125rem;line-height:1.25;font-weight:650;
	font-variation-settings:"FLAR" 100,"VOLM" 40;letter-spacing:-.015em;color:var(--vg-ink-t);
}
body.vgdev .vg-pcard__name a{color:inherit;text-decoration:none;}
/* The whole card is the link target */
body.vgdev .vg-pcard__name a::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1;}
body.vgdev .vg-pcard__name a:focus-visible{outline:0;}
body.vgdev .vg-pcard:focus-within{outline:2px solid var(--vg-accent);outline-offset:2px;}
body.vgdev .vg-pcard:hover .vg-pcard__name{color:var(--vg-accent);}
body.vgdev .vg-pcard__blurb{
	margin:0 0 1.5rem;flex:1;font-size:var(--vg-fs-sm);line-height:1.6;color:var(--vg-muted-t);
}
body.vgdev .vg-pcard__foot{
	display:flex;align-items:center;justify-content:space-between;gap:.75rem;
	padding-top:1rem;border-top:1px solid rgba(17,17,17,.1);
}
body.vgdev .vg-pcard__price{font-size:1.0625rem;font-weight:700;color:var(--vg-ink-t);}
body.vgdev .vg-pcard__price del{font-weight:500;color:var(--vg-faint-t);margin-right:.35em;}
body.vgdev .vg-pcard__price ins{text-decoration:none;}
body.vgdev .vg-pcard__link{
	display:inline-flex;align-items:center;gap:.4rem;
	font-size:var(--vg-fs-xs);font-weight:600;color:var(--vg-ink-t);
}
body.vgdev .vg-pcard__link::after{
	content:"";width:1.75rem;height:1.75rem;border-radius:50%;
	background:var(--vg-black) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 6h8M6.5 2.5L10 6l-3.5 3.5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
	transition:background-color .2s,transform .25s var(--vg-ease);
}
body.vgdev .vg-pcard:hover .vg-pcard__link::after{background-color:var(--vg-accent);transform:translateX(2px);}

/* Bundle bar under the catalogue */
body.vgdev .vg-bundlebar-wrap{margin-top:0;margin-bottom:var(--vg-sec);}
body.vgdev .vg-catalog + .vg-bundlebar-wrap{margin-top:calc(-1 * var(--vg-sec) + 2.5rem);}

/* ---------- 14. Dark home sections: title -> lead gaps ---------- */
body.vgdev .vg-cta .vg-h2,
body.vgdev .vg-features .vg-h2,
body.vgdev .vg-about .vg-h2{margin-bottom:var(--vg-gap-title);}
body.vgdev .vg-cta .vg-lead{margin:0 auto;}
body.vgdev .vg-cta .vg-form{margin-top:2.5rem;}
body.vgdev .vg-cta{padding-top:var(--vg-sec);padding-bottom:calc(var(--vg-sec) + 2rem);margin-bottom:-2rem;}

/* ---------- 15. Prefooter: plugin index ---------- */
body.vgdev .vg-prefooter{
	background:var(--vg-stone);color:var(--vg-body-t);
	border-top:0;padding:var(--vg-sec) 0 calc(var(--vg-sec) + 2rem);
	margin-bottom:-2rem;
}
body.vgdev .vg-prefooter .vg-container{
	display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2rem,5vw,5rem);align-items:start;
}
body.vgdev .vg-prefooter__head{margin:0;text-align:left;position:sticky;top:110px;}
body.vgdev .vg-prefooter__title{
	font-size:var(--vg-fs-h2);line-height:1.06;margin:0 0 var(--vg-gap-title);color:var(--vg-ink-t);
	font-weight:700;font-variation-settings:"FLAR" 100,"VOLM" 100;letter-spacing:-.03em;
}
body.vgdev .vg-prefooter__sub{margin:0;color:var(--vg-muted-t);font-size:var(--vg-fs-lead);line-height:1.6;max-width:24rem;}
body.vgdev .vg-prefooter__grid{
	display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2.5rem;
}
body.vgdev .vg-prefooter__col{
	background:none;border:0;border-radius:0;box-shadow:none;padding:0;
}
body.vgdev .vg-prefooter__col:hover{transform:none;box-shadow:none;}
body.vgdev .vg-prefooter__cat{
	margin:0 0 .75rem;padding:0 0 .75rem;border-bottom:1px solid #d9d7d3;
	font-size:var(--vg-fs-sm);font-weight:650;line-height:1.3;color:var(--vg-ink-t);
}
body.vgdev .vg-prefooter__cat::before{display:none;}
body.vgdev .vg-prefooter__cat a{color:var(--vg-ink-t);}
body.vgdev .vg-prefooter__col ul{gap:0;}
body.vgdev .vg-prefooter__col li a{
	display:block;padding:.4rem 0;border-radius:0;
	color:var(--vg-muted-t);font-size:var(--vg-fs-sm);line-height:1.4;background:none;
}
body.vgdev .vg-prefooter__col li a:hover{color:var(--vg-accent);background:none;padding-left:0;}

/* ---------- 16. Footer ---------- */
body.vgdev .vg-footer{
	position:relative;z-index:1;
	background:var(--vg-black);color:rgba(255,255,255,.62);
	padding:clamp(3.5rem,6vw,5rem) 0 .75rem;
	border-top:1px solid rgba(255,255,255,.12);
}
body.vgdev .vg-foot-badges{
	gap:1rem;padding-bottom:clamp(2.5rem,5vw,3.5rem);margin-bottom:clamp(2.5rem,5vw,3.5rem);
	border-bottom:1px solid rgba(255,255,255,.1);
}
body.vgdev .vg-badge{
	padding:1.5rem;border-radius:var(--vg-r-sm);
	background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
}
body.vgdev .vg-badge__t{
	display:flex;align-items:center;gap:.6rem;padding:0;margin:0 0 .5rem;
	font-size:var(--vg-fs-h4);line-height:1.3;color:#fff;
}
body.vgdev .vg-badge__t::before{position:static;transform:none;flex:none;width:8px;height:8px;background:var(--vg-accent);}
body.vgdev .vg-badge p{color:rgba(255,255,255,.58);font-size:var(--vg-fs-sm);line-height:1.6;}

body.vgdev .vg-foot-cols{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:2.5rem;margin-bottom:clamp(2.5rem,5vw,3.5rem);}
body.vgdev .vg-foot-col h3{
	margin:0 0 1.25rem;font-size:var(--vg-fs-sm);font-weight:650;letter-spacing:0;text-transform:none;color:#fff;
	font-variation-settings:"FLAR" 100,"VOLM" 40;
}
body.vgdev .vg-foot-col ul{gap:.75rem;}
body.vgdev .vg-foot-col a{color:rgba(255,255,255,.62);font-size:var(--vg-fs-sm);}
body.vgdev .vg-foot-col a:hover{color:#fff;}
body.vgdev .vg-foot-col--brand p{color:rgba(255,255,255,.58);font-size:var(--vg-fs-sm);line-height:1.65;max-width:21rem;margin:0 0 1.5rem;}
body.vgdev .vg-foot-col--brand img{height:34px;margin-bottom:1.25rem;}
body.vgdev .vg-footer .vg-social{display:flex;justify-content:flex-start;gap:.5rem;margin:0;}
body.vgdev .vg-footer .vg-social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.8);}
body.vgdev .vg-footer .vg-social a:hover{background:#fff;border-color:#fff;color:var(--vg-black);}

body.vgdev .vg-foot-bottom{
	position:relative;z-index:2;
	padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.1);
	font-size:var(--vg-fs-xs);color:rgba(255,255,255,.5);
}
body.vgdev .vg-foot-bottom p{margin:0;}
body.vgdev .vg-foot-legal{gap:1.5rem;}
body.vgdev .vg-foot-legal a{color:rgba(255,255,255,.62);}
body.vgdev .vg-foot-legal a:hover{color:#fff;}

/* The footer watermark was removed in 5.3.1 (also hidden in cached HTML) */
body.vgdev .vg-footer__mark{display:none!important;}

/* ---------- 17. Shop and product headings ---------- */
body.vgdev .vg-shop-hero h1,
body.vgdev .vg-shop-hero .vg-h2{font-size:var(--vg-fs-h1);line-height:1.02;margin:0 0 var(--vg-gap-title);}
body.vgdev .vg-shop-hero .vg-lead{max-width:40rem;}
body.vgdev .vgdev-single .product_title{font-size:clamp(1.875rem,3.2vw,2.75rem);line-height:1.06;margin-bottom:1.25rem;}
body.vgdev ul.products li.product .woocommerce-loop-product__title,
body.vgdev .vg-plugin__title{font-variation-settings:"FLAR" 100,"VOLM" 40;font-weight:650;letter-spacing:-.015em;}

/* Product request forms and related products */
body.vgdev .vg-pcta{gap:1.25rem;}
body.vgdev .vg-pcta__item{padding:clamp(1.5rem,2.5vw,2rem);border-radius:var(--vg-r-sm);border-color:var(--vg-hair);background:#fff;color:var(--vg-body-t);}
body.vgdev .vg-pcta__item h3{font-size:var(--vg-fs-h4);line-height:1.3;margin:0 0 .75rem;color:var(--vg-ink-t);}
body.vgdev .vg-pcta__tag{margin:0 0 1.5rem;padding:.35rem .8rem;border:1px solid var(--vg-hair);background:var(--vg-stone);color:var(--vg-muted-t);font-size:var(--vg-fs-xs);font-weight:600;}
body.vgdev .vg-pcta__form{gap:1rem;}
body.vgdev .vg-pcta__form label{gap:.5rem;font-size:var(--vg-fs-sm);color:var(--vg-ink-t);}
body.vgdev .vg-pcta__form .vg-btn{justify-content:center;padding:.95rem 1.5rem;}

/* Related plugins stay a swipeable row, but the cards now fill the width */
body.vgdev .vg-single-related ul.products::before,
body.vgdev .vg-single-related ul.products::after{display:none;content:none;}
body.vgdev .vg-single-related ul.products li.product{
	flex:1 0 240px!important;width:auto!important;
	border-radius:var(--vg-r-sm);border-color:var(--vg-hair);
}

/* ---------- 18. Article content: titles never sit on top of their text ---------- */
body.vgdev.single-post main h2:not([class*="vg-"]),
body.vgdev.single-post main h3:not([class*="vg-"]){margin-bottom:.65em;}
body.vgdev.single-post main h2:not([class*="vg-"]) + p,
body.vgdev.single-post main h3:not([class*="vg-"]) + p{margin-top:0;}

/* Custom HTML blocks (product descriptions, long-form articles) ship their own
   font stacks. Bring their text into the site face; code keeps its monospace. */
body.vgdev .vg-product-html,
body.vgdev .vg-product-html :is(div,section,p,li,dt,dd,h1,h2,h3,h4,h5,h6,span,a,strong,em,b,td,th,blockquote,figcaption,label,small):not(pre *):not(code *):not(code),
body.vgdev.single-post #vg-main :is(div,section,article,p,li,dt,dd,h1,h2,h3,h4,h5,h6,span,a,strong,em,b,td,th,blockquote,figcaption,label,small,button):not(pre *):not(code *):not(code):not([class*="icon"]):not([class*="dashicons"]){
	font-family:var(--vg-font);
}

/* ---------- 19. Responsive ---------- */
@media (max-width:1100px){
	body.vgdev .vg-catalog__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:900px){
	body.vgdev .vg-support-layout__grid,
	body.vgdev .vg-contact-grid{grid-template-columns:1fr;}
	body.vgdev .vg-support-layout__side,
	body.vgdev .vg-contact-info,
	body.vgdev .vg-prefooter__head{position:static;}
	body.vgdev .vg-support-layout__form{order:-1;}
	body.vgdev .vg-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
	body.vgdev .vg-prefooter .vg-container{grid-template-columns:1fr;}
	body.vgdev .vg-stats--light{grid-template-columns:repeat(2,minmax(0,1fr));}
	body.vgdev .vg-stats--light .vg-stat:nth-child(3){padding-left:0;border-left:0;}
	body.vgdev .vg-stats--light .vg-stat:nth-child(n+3){margin-top:1.5rem;border-top:1px solid #d9d7d3;}
	body.vgdev .vg-foot-cols{grid-template-columns:1fr 1fr;}
	body.vgdev .vg-foot-col--brand{grid-column:1 / -1;}
}
@media (max-width:640px){
	body.vgdev{--vg-fs-body:1rem;}
	body.vgdev .vg-tpl-hero{border-radius:0 0 var(--vg-r-sm) var(--vg-r-sm);}
	body.vgdev .vg-tpl-hero__title{max-width:none;}
	body.vgdev .vg-support__row2{grid-template-columns:1fr;}
	body.vgdev .vg-support__form .vg-btn{justify-self:stretch;}
	body.vgdev .vg-catalog__grid{grid-template-columns:1fr;}
	body.vgdev .vg-catalog__head{align-items:flex-start;}
	body.vgdev .vg-catalog__cats{flex-wrap:nowrap;overflow-x:auto;margin-left:calc(-1 * var(--vg-gutter));margin-right:calc(-1 * var(--vg-gutter));padding-left:var(--vg-gutter);padding-right:var(--vg-gutter);scrollbar-width:none;}
	body.vgdev .vg-catalog__cats::-webkit-scrollbar{display:none;}
	body.vgdev .vg-catalog__chip{flex:none;}
	body.vgdev .vg-prefooter__grid{grid-template-columns:1fr;gap:2rem;}
	body.vgdev .vg-foot-cols{grid-template-columns:1fr 1fr;gap:2rem 1.5rem;}
	body.vgdev .vg-foot-bottom{flex-direction:column;align-items:flex-start;}
	body.vgdev .vg-hero2__title{max-width:none;}
}
@media (prefers-reduced-motion:reduce){
	body.vgdev .vg-pcard,body.vgdev .vg-pcard__link::after{transition:none;}
	body.vgdev .vg-pcard:hover{transform:none;}
}

/* ---------- 20. Breadcrumbs: readable grey on the stone band ---------- */
body.vgdev .vg-breadcrumb{color:var(--vg-muted-t);font-size:var(--vg-fs-xs);}
body.vgdev .vg-breadcrumb a{color:var(--vg-muted-t);text-decoration:none;}
body.vgdev .vg-breadcrumb a:hover{color:var(--vg-accent);}
body.vgdev .vg-breadcrumb .vg-bc-sep{color:var(--vg-faint-t);}

/* Inline code in articles: its own solid chip, readable on light and dark panels */
body.vgdev.single-post #vg-main :not(pre) > code{
	background:#fff1ee;color:#a52d1b;border:1px solid rgba(233,77,53,.28);
	border-radius:6px;padding:.1em .45em;font-size:.88em;
}

/* ---------- 21. Home catalogue: "load more" on mobile ----------
   The checkbox is fixed in the viewport so toggling it never scrolls the page. */
body.vgdev .vg-catalog__toggle{position:fixed;top:50%;left:0;width:1px;height:1px;opacity:0;pointer-events:none;margin:0;}
body.vgdev .vg-catalog__more{display:none;justify-content:center;margin-top:1.5rem;}
body.vgdev .vg-catalog__more-btn{cursor:pointer;user-select:none;}
@media (max-width:640px){
	body.vgdev .vg-catalog__grid > .vg-pcard:nth-child(n+7){display:none;}
	body.vgdev .vg-catalog__more{display:flex;}
	body.vgdev .vg-catalog__more-btn{width:100%;justify-content:center;}
	body.vgdev .vg-catalog__toggle:checked ~ .vg-catalog__grid > .vg-pcard:nth-child(n+7){display:flex;}
	body.vgdev .vg-catalog__toggle:checked ~ .vg-catalog__more{display:none;}
}
