/* ==========================================================================
   Tezmy Full Access — product page design system (private preview).
   Mobile first. Desktop layers in at 760px and 1000px.
   One palette, one type scale, one spacing rhythm across every section.
   ========================================================================== */
.tezmy-fa2{
	--ink:#1f342a;
	--ink-2:#2c463a;
	--text:#42544a;
	--muted:#5d6d60;
	--paper:#faf8f2;
	--cream:#f4f0e4;
	--sage:#e4e9da;
	--line:#e3ded0;
	--line-2:#d3ccb8;
	--gold:#b0913f;
	--lime:#dfe8ad;
	--step: clamp(54px, 8.5vw, 104px);
}

/* ---------- Page frame ---------- */
.tezmy-fa2 .tp-main{ max-width:1280px; padding-bottom:0; }
.tezmy-fa2 .tp-page-top{ margin-bottom:12px; padding-bottom:12px; }
.tezmy-fa2 .fa2{ color:var(--text); font-family:Figtree, Arial, sans-serif; }
.tezmy-fa2 .fa2 *{ box-sizing:border-box; }
.tezmy-fa2 .fa2 p{ margin:0; }
.tezmy-fa2 .fa2 h1,
.tezmy-fa2 .fa2 h2,
.tezmy-fa2 .fa2 h3{ margin:0; color:var(--ink); }
html body.tezmy-fa2 .fa2 h1,
html body.tezmy-fa2 .fa2 h2,
html body.tezmy-fa2 .fa2 h3,
html body.tezmy-fa2 .fa2-statement p,
html body.tezmy-fa2 .fa2-strip b,
html body.tezmy-fa2 .fa2-sticky strong{
	font-family:Figtree, Arial, sans-serif !important;
}
/* The theme sets heading weight with !important, so these must too. */
html body.tezmy-fa2 .fa2 h1{ font-weight:700 !important; letter-spacing:-.031em; line-height:1.09; }
html body.tezmy-fa2 .fa2 h2{ font-weight:700 !important; letter-spacing:-.026em; line-height:1.16; }
html body.tezmy-fa2 .fa2 h3{ font-weight:600 !important; letter-spacing:-.008em; line-height:1.35; }
html body.tezmy-fa2 .fa2-statement p,
html body.tezmy-fa2 .fa2-strip b{ font-weight:700 !important; }
/* No italics in this system: the accent line is set in the muted green instead. */
html body.tezmy-fa2 .fa2 h1 em,
html body.tezmy-fa2 .fa2 h2 em{ font-style:normal; color:#5b7053; }
.tezmy-fa2 .fa2 a{ color:inherit; }
/* The generic link colour above must not win over the buttons. */
.tezmy-fa2 .fa2 a.fa2-cta{ color:#f7f5ec; }
.tezmy-fa2 .fa2 a.fa2-cta:hover{ color:#fff; }
.tezmy-fa2 .fa2 a.fa2-cta-light,
.tezmy-fa2 .fa2 a.fa2-cta-light:hover{ color:var(--ink); }

/* A calmer header and footer frame for this landing page only. */
.tezmy-fa2 .th-announcement{ min-height:32px; font-size:10px; }
.tezmy-fa2 .th-header{ border-bottom:1px solid var(--line); }
.tezmy-fa2 .th-footer{ border-top:1px solid var(--line); }

/* ---------- Type helpers ---------- */
.tezmy-fa2 .fa2-eyebrow{
	display:flex; align-items:center; gap:10px;
	font-size:10px !important; font-weight:700 !important; letter-spacing:.2em !important;
	text-transform:uppercase; color:var(--muted) !important; margin:0 0 16px !important;
}
.tezmy-fa2 .fa2-rule{ display:block; width:26px; height:1px; background:var(--gold); flex:none; }
.tezmy-fa2 .fa2-eyebrow-light{ color:#b9c8ae !important; }
.tezmy-fa2 .fa2-eyebrow-light .fa2-rule{ background:var(--lime); }

/* ---------- Buttons ---------- */
.tezmy-fa2 .fa2-cta{
	display:flex; align-items:center; justify-content:center; gap:13px; width:100%;
	min-height:60px; padding:17px 24px; background:var(--ink); color:#f7f5ec;
	border:1px solid var(--ink); text-decoration:none;
	font-size:15.5px; font-weight:600; line-height:1.2;
	transition:background .22s ease, transform .22s ease, box-shadow .22s ease;
}
.tezmy-fa2 .fa2-cta bdi,
.tezmy-fa2 .fa2-cta .amount{ color:inherit; font-weight:600; }
.tezmy-fa2 .fa2-cta svg{ width:18px; height:18px; flex:none; }
.tezmy-fa2 .fa2-cta:hover{ background:var(--ink-2); color:#fff; transform:translateY(-1px); box-shadow:0 10px 24px rgba(31,52,42,.16); }
.tezmy-fa2 .fa2-cta:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
.tezmy-fa2 .fa2-cta-light{ background:var(--lime); border-color:var(--lime); color:var(--ink); }
.tezmy-fa2 .fa2-cta-light:hover{ background:#eaf1c4; color:var(--ink); box-shadow:none; }

/* ==========================================================================
   Hero
   ========================================================================== */
.tezmy-fa2 .fa2-hero{ display:grid; grid-template-columns:minmax(0,1fr); gap:30px; padding:6px 0 var(--step); }
.tezmy-fa2 .fa2-gallery,
.tezmy-fa2 .fa2-buy{ min-width:0; }
@media (max-width:759px){
	/* Pull the gallery into the page gutters so the artwork is as large as it can be. */
	.tezmy-fa2 .fa2-gallery{ margin-left:-12px; margin-right:-12px; }
	.tezmy-fa2 .fa2-stage{ padding:3px; }
	.tezmy-fa2 .fa2-stage-meta{ padding-left:12px; padding-right:12px; }
	.tezmy-fa2 .fa2-thumbs{ padding-left:12px; padding-right:12px; }
}

.tezmy-fa2 .fa2-stage{ position:relative; margin:0; background:var(--cream); border:1px solid var(--line); padding:4px; }
.tezmy-fa2 .fa2-stage-link{ display:block; background:#fff; }
/* Each preview keeps its own shape: full width, never cropped, never stretched.
   The width/height attributes reserve the right space before it loads. */
.tezmy-fa2 .fa2-stage img{ display:block; width:100%; height:auto; object-fit:contain; background:#fff; margin:0; }
.tezmy-fa2 .fa2-stage-meta{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	padding:10px 2px 0; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.tezmy-fa2 .fa2-chip{ display:inline-flex; align-items:center; gap:7px; }
.tezmy-fa2 .fa2-chip::before{ content:''; width:5px; height:5px; border-radius:50%; background:var(--gold); }
.tezmy-fa2 .fa2-count{ font-variant-numeric:tabular-nums; }

.tezmy-fa2 .fa2-thumbs{
	display:flex; gap:8px; margin-top:10px; overflow-x:auto; padding-bottom:2px;
	scrollbar-width:none; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity;
}
.tezmy-fa2 .fa2-thumbs::-webkit-scrollbar{ display:none; }
.tezmy-fa2 .fa2-thumb{
	flex:0 0 auto; width:64px; height:64px; padding:3px; cursor:pointer; scroll-snap-align:start;
	background:#fff; border:1px solid var(--line); opacity:.74;
	transition:opacity .18s ease, border-color .18s ease;
}
.tezmy-fa2 .fa2-thumb img{ display:block; width:100%; height:100%; object-fit:cover; margin:0; }
.tezmy-fa2 .fa2-thumb.is-active{ opacity:1; border-color:var(--ink); }
.tezmy-fa2 .fa2-thumb:hover{ opacity:1; }
.tezmy-fa2 .fa2-thumb:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* Headline: balanced wrapping, tighter leading, no stray single words. */
.tezmy-fa2 .fa2-buy h1{
	font-size:clamp(25px,7.6vw,41px);
	line-height:1.1;
	letter-spacing:-.034em;
	text-wrap:balance;
}
.tezmy-fa2 .fa2-buy h1 em{ display:block; font-style:normal; color:#55694e; }

/* Accent line: a low sage highlight sitting behind the words. */
.tezmy-fa2 .fa2-sub{ margin-top:14px !important; }
.tezmy-fa2 .fa2-sub span{
	display:inline; font-size:clamp(17px,4.6vw,20px); font-weight:600; line-height:1.5;
	letter-spacing:-.015em; color:var(--ink);
	background-image:linear-gradient(transparent 58%, rgba(178,203,150,.55) 58%);
	background-repeat:no-repeat;
	box-decoration-break:clone; -webkit-box-decoration-break:clone;
	padding:0 3px;
}
.tezmy-fa2 .fa2-support{ margin-top:14px !important; font-size:15.5px; line-height:1.62; color:var(--text); max-width:34ch; }
.tezmy-fa2 .fa2-lead{ margin-top:10px !important; font-size:13.5px; line-height:1.6; color:var(--muted); }

.tezmy-fa2 .fa2-points{ list-style:none; margin:22px 0 0; padding:0; display:grid; gap:12px; }
.tezmy-fa2 .fa2-points li{ position:relative; padding-left:27px; font-size:14px; line-height:1.6; color:var(--text); }
.tezmy-fa2 .fa2-points strong{ color:var(--ink); font-weight:600; }
.tezmy-fa2 .fa2-points li::before{
	content:''; position:absolute; left:0; top:3px; width:17px; height:17px; border-radius:50%;
	background:var(--sage) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f342a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='m5 12 4 4L19 6'/></svg>") center/10px no-repeat;
}

/* ---------- Purchase panel ---------- */
.tezmy-fa2 .fa2-panel{
	margin-top:26px; padding:22px 20px; background:var(--cream);
	border:1px solid var(--line-2); border-top:2px solid var(--gold);
}
.tezmy-fa2 .fa2-panel-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.tezmy-fa2 .fa2-price{ font-size:38px; font-weight:700; line-height:1; letter-spacing:-.025em; color:var(--ink); }
.tezmy-fa2 .fa2-price del{ font-size:16px; font-weight:400; color:#8d9389; margin-right:10px; }
.tezmy-fa2 .fa2-price ins{ background:none; text-decoration:none; }
.tezmy-fa2 .fa2-panel-tag{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.tezmy-fa2 .fa2-panel .fa2-cta{ margin-top:18px; }
.tezmy-fa2 .fa2-cta-note{ margin-top:11px !important; font-size:11.5px; line-height:1.55; color:var(--muted); text-align:center; }

.tezmy-fa2 .fa2-countdown{
	display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
	margin-top:16px; padding:11px 14px; background:#fbf8ee; border:1px solid var(--gold);
}
.tezmy-fa2 .fa2-countdown-label{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.tezmy-fa2 .fa2-clock{ display:flex; align-items:baseline; gap:3px; font-variant-numeric:tabular-nums; color:var(--ink); }
.tezmy-fa2 .fa2-clock b{ font-size:20px; font-weight:600; }
.tezmy-fa2 .fa2-clock i{ font-style:normal; color:var(--muted); }

/* WooCommerce's own form, kept as the quiet alternative to the main button. */
.tezmy-fa2 .fa2-panel-cart{ margin-top:14px; text-align:center; }
.tezmy-fa2 .fa2-panel-cart form.cart{ margin:0 !important; display:block !important; }
.tezmy-fa2 .fa2-panel-cart .quantity,
.tezmy-fa2 .fa2-panel-cart .tz-buy-now,
.tezmy-fa2 .fa2-panel-cart .tp-bag-feedback,
.tezmy-fa2 .fa2-panel-cart .tp-purchase-note,
.tezmy-fa2 .fa2-panel-cart .tp-qty-control,
.tezmy-fa2 .fa2-panel-cart .live-preview{ display:none !important; }
.tezmy-fa2 .fa2-panel-cart button.single_add_to_cart_button{
	width:auto !important; min-height:0 !important; padding:3px 2px !important;
	background:transparent !important; color:var(--muted) !important;
	border:0 !important; border-bottom:1px solid var(--line-2) !important; border-radius:0 !important;
	font-size:12px !important; font-weight:500 !important; letter-spacing:0 !important;
	text-transform:none !important; box-shadow:none !important;
}
.tezmy-fa2 .fa2-panel-cart button.single_add_to_cart_button:hover{ color:var(--ink) !important; border-color:var(--ink) !important; }

.tezmy-fa2 .fa2-sample-line{ margin-top:16px !important; font-size:13px; }
.tezmy-fa2 .fa2-sample-line a{ color:var(--ink); border-bottom:1px solid var(--line-2); padding-bottom:3px; text-decoration:none; }
.tezmy-fa2 .fa2-sample-line a:hover{ border-color:var(--ink); }

/* Hidden WooCommerce screen-reader price text must not take up space. */
.tezmy-fa2 .fa2 .screen-reader-text{
	position:absolute !important; width:1px !important; height:1px !important;
	overflow:hidden !important; clip:rect(1px,1px,1px,1px) !important; white-space:nowrap !important;
}

/* ==========================================================================
   Value strip
   ========================================================================== */
.tezmy-fa2 .fa2-strip{
	list-style:none; margin:0; padding:0;
	display:grid; grid-template-columns:1fr 1fr; gap:1px;
	background:rgba(255,255,255,.1); border:1px solid var(--ink); overflow:hidden;
}
.tezmy-fa2 .fa2-strip li{ background:var(--ink); padding:20px 16px; display:flex; flex-direction:column; gap:6px; }
.tezmy-fa2 .fa2-strip b{ font-family:Figtree, Arial, sans-serif; font-weight:600; font-size:29px; color:#f4f2e6; line-height:1; }
.tezmy-fa2 .fa2-strip span{ font-size:11px; letter-spacing:.05em; color:#a9bda7; line-height:1.45; }

/* ==========================================================================
   Sections
   ========================================================================== */
.tezmy-fa2 .fa2-section{ padding:var(--step) 0 0; }
.tezmy-fa2 .fa2-section-tint{
	margin-top:var(--step);
	padding:clamp(32px,6vw,64px) clamp(20px,4vw,52px) clamp(36px,6vw,64px);
	background:var(--cream); border:1px solid var(--line);
}
.tezmy-fa2 .fa2-head{ max-width:44ch; margin-bottom:clamp(24px,3.4vw,40px); }
.tezmy-fa2 .fa2-head h2{ font-size:clamp(28px,6.6vw,42px); }
.tezmy-fa2 .fa2-head-lead{ margin-top:14px !important; font-size:14.5px; line-height:1.62; color:var(--muted); }
.tezmy-fa2 .fa2-section-foot{ margin-top:22px !important; font-size:13px; }
.tezmy-fa2 .fa2-section-foot a{ color:var(--ink); border-bottom:1px solid var(--line-2); padding-bottom:3px; text-decoration:none; }
.tezmy-fa2 .fa2-section-foot a:hover{ border-color:var(--ink); }

/* ---------- Category cards ---------- */
.tezmy-fa2 .fa2-cats{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tezmy-fa2 .fa2-cat{ display:block; text-decoration:none; background:var(--paper); border:1px solid var(--line); transition:border-color .2s ease, transform .2s ease; }
.tezmy-fa2 .fa2-cat-img{ display:block; overflow:hidden; background:var(--cream); }
.tezmy-fa2 .fa2-cat-img img{ display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; margin:0; transition:transform .45s ease; }
.tezmy-fa2 .fa2-cat-body{ display:block; padding:13px 14px 15px; }
.tezmy-fa2 .fa2-cat-name{ display:block; font-size:13.5px; font-weight:600; color:var(--ink); line-height:1.35; }
.tezmy-fa2 .fa2-cat-count{ display:block; margin-top:5px; font-size:11px; letter-spacing:.06em; color:var(--muted); }
.tezmy-fa2 .fa2-cat:hover{ border-color:var(--ink); transform:translateY(-3px); }
.tezmy-fa2 .fa2-cat:hover .fa2-cat-img img{ transform:scale(1.045); }
.tezmy-fa2 .fa2-cat:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ---------- Real product examples ---------- */
.tezmy-fa2 .fa2-examples{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tezmy-fa2 .fa2-example{ display:flex; flex-direction:column; text-decoration:none; }
.tezmy-fa2 .fa2-example-img{ display:block; background:#fff; border:1px solid var(--line); overflow:hidden; }
.tezmy-fa2 .fa2-example-img img{ display:block; width:100%; aspect-ratio:1/1; object-fit:cover; margin:0; transition:transform .45s ease; }
.tezmy-fa2 .fa2-example:hover .fa2-example-img img{ transform:scale(1.04); }
.tezmy-fa2 .fa2-example-title{ display:block; margin-top:11px; font-size:12.5px; line-height:1.5; color:var(--ink); }
.tezmy-fa2 .fa2-example-price{ display:block; margin-top:6px; font-size:12px; color:var(--muted); }
.tezmy-fa2 .fa2-example-price del{ opacity:.7; margin-right:5px; }
.tezmy-fa2 .fa2-example-price ins{ background:none; text-decoration:none; color:var(--ink); }
.tezmy-fa2 .fa2-example:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ---------- Beginner benefits ---------- */
.tezmy-fa2 .fa2-benefits{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }
.tezmy-fa2 .fa2-benefits > div{ background:var(--paper); padding:22px 20px 24px; }
.tezmy-fa2 .fa2-benefit-no{ display:block; font-family:Figtree, Arial, sans-serif; font-size:13px; color:var(--gold); margin-bottom:12px; }
.tezmy-fa2 .fa2-benefits h3{ font-size:16px; margin-bottom:9px; }
.tezmy-fa2 .fa2-benefits p{ font-size:13.5px; line-height:1.68; color:var(--muted); }

/* ---------- How it works ---------- */
.tezmy-fa2 .fa2-steps{ list-style:none; margin:0; padding:0; display:grid; gap:0; }
.tezmy-fa2 .fa2-steps li{ padding:20px 0; border-top:1px solid var(--line-2); }
.tezmy-fa2 .fa2-steps li:last-child{ border-bottom:1px solid var(--line-2); }
.tezmy-fa2 .fa2-step-no{ display:block; font-family:Figtree, Arial, sans-serif; font-size:13px; color:var(--gold); margin-bottom:8px; }
.tezmy-fa2 .fa2-steps h3{ font-size:16.5px; margin-bottom:7px; }
.tezmy-fa2 .fa2-steps p{ font-size:13.5px; line-height:1.65; color:var(--muted); max-width:38ch; }

/* ---------- Licensing ---------- */
.tezmy-fa2 .fa2-licence{ display:grid; gap:22px; }
.tezmy-fa2 .fa2-head-tight{ margin-bottom:0; }
.tezmy-fa2 .fa2-licence-body{ display:grid; gap:14px; font-size:14px; line-height:1.72; color:var(--text); }
.tezmy-fa2 .fa2-licence-body strong{ color:var(--ink); }
.tezmy-fa2 .fa2-licence-body a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.tezmy-fa2 .fa2-licence-ask{ margin-top:6px !important; padding:14px 16px; background:var(--sage); border-left:2px solid var(--gold); font-size:13.5px; }

/* ---------- Trust ---------- */
.tezmy-fa2 .fa2-trust-grid{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }
.tezmy-fa2 .fa2-trust-grid > div{ background:var(--paper); padding:20px; }
.tezmy-fa2 .fa2-trust-grid h3{ font-size:13px; margin-bottom:8px; }
.tezmy-fa2 .fa2-trust-grid p{ font-size:13px; line-height:1.65; color:var(--muted); }
.tezmy-fa2 .fa2-trust-grid a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

/* ---------- FAQ ---------- */
.tezmy-fa2 .fa2-faq{ border-top:1px solid var(--line-2); }
.tezmy-fa2 .fa2-faq details{ border-bottom:1px solid var(--line-2); }
.tezmy-fa2 .fa2-faq summary{
	list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px;
	padding:19px 0; font-size:14.5px; font-weight:600; color:var(--ink);
}
.tezmy-fa2 .fa2-faq summary::-webkit-details-marker{ display:none; }
.tezmy-fa2 .fa2-faq summary i{ position:relative; flex:none; width:15px; height:15px; }
.tezmy-fa2 .fa2-faq summary i::before,
.tezmy-fa2 .fa2-faq summary i::after{ content:''; position:absolute; left:0; top:7px; width:15px; height:1px; background:var(--ink); transition:transform .22s ease; }
.tezmy-fa2 .fa2-faq summary i::after{ transform:rotate(90deg); }
.tezmy-fa2 .fa2-faq details[open] summary i::after{ transform:rotate(0deg); }
.tezmy-fa2 .fa2-faq summary:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.tezmy-fa2 .fa2-faq-body{ padding:0 0 20px; font-size:13.5px; line-height:1.75; color:var(--muted); max-width:62ch; }
.tezmy-fa2 .fa2-faq-body a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

/* ---------- Final band ---------- */
.tezmy-fa2 .fa2-final{
	margin:var(--step) 0 0;
	padding:clamp(34px,6vw,64px) clamp(22px,4vw,56px) clamp(38px,6vw,64px);
	background:var(--ink); color:#e9ece0; display:grid; gap:28px;
}
.tezmy-fa2 .fa2-final h2{ color:#f5f2e6; font-size:clamp(30px,7.4vw,44px); }
.tezmy-fa2 .fa2-final-copy p{ margin-top:14px !important; font-size:14.5px; line-height:1.7; color:#bdcbb9; max-width:42ch; }
.tezmy-fa2 .fa2-final-price{ font-size:34px; font-weight:700; color:#f5f2e6; margin-bottom:16px; letter-spacing:-.02em; }
.tezmy-fa2 .fa2-final-price del{ font-size:16px; font-weight:400; color:#9aae98; margin-right:9px; }
.tezmy-fa2 .fa2-final-price ins{ background:none; text-decoration:none; }
.tezmy-fa2 .fa2-final small{ display:block; margin-top:14px; font-size:11px; color:#a8bba6; }

/* ---------- Sticky purchase bar (phones) ---------- */
.tezmy-fa2 .fa2-sticky{
	position:fixed; left:0; right:0; bottom:0; z-index:60;
	background:rgba(250,248,242,.97); backdrop-filter:blur(6px);
	border-top:1px solid var(--line-2);
	padding:10px 16px calc(10px + env(safe-area-inset-bottom));
	box-shadow:0 -8px 24px rgba(31,52,42,.1);
}
.tezmy-fa2 .fa2-sticky[hidden]{ display:none; }
.tezmy-fa2 .fa2-sticky-inner{ display:flex; align-items:center; gap:14px; max-width:540px; margin:0 auto; }
.tezmy-fa2 .fa2-sticky-price{ display:flex; flex-direction:column; line-height:1.2; }
.tezmy-fa2 .fa2-sticky-price strong{ font-size:19px; font-weight:700; color:var(--ink); }
.tezmy-fa2 .fa2-sticky-price span{ font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.tezmy-fa2 .fa2-cta-compact{ width:auto; flex:1; min-height:50px; padding:13px 18px; font-size:14.5px; }

/* ==========================================================================
   760px and up
   ========================================================================== */
@media (min-width:760px){
	.tezmy-fa2 .fa2-strip{ grid-template-columns:repeat(4,1fr); }
	.tezmy-fa2 .fa2-strip li{ padding:22px; }
	.tezmy-fa2 .fa2-cats{ grid-template-columns:repeat(3,1fr); gap:14px; }
	.tezmy-fa2 .fa2-examples{ grid-template-columns:repeat(3,1fr); gap:20px; }
	.tezmy-fa2 .fa2-benefits{ grid-template-columns:1fr 1fr; }
	.tezmy-fa2 .fa2-trust-grid{ grid-template-columns:1fr 1fr; }
	.tezmy-fa2 .fa2-licence{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:44px; align-items:start; }
	.tezmy-fa2 .fa2-final{ grid-template-columns:1.15fr .85fr; align-items:end; }
	.tezmy-fa2 .fa2-final-buy{ justify-self:end; text-align:right; min-width:300px; }
	.tezmy-fa2 .fa2-final .fa2-cta{ width:auto; padding:17px 34px; }
	.tezmy-fa2 .fa2-steps{ grid-template-columns:repeat(2,1fr); gap:0 40px; }
	.tezmy-fa2 .fa2-steps li:nth-child(2){ border-top:1px solid var(--line-2); }
	.tezmy-fa2 .fa2-steps li:nth-child(3){ border-bottom:1px solid var(--line-2); }
}

/* ==========================================================================
   1000px and up — full editorial layout
   ========================================================================== */
@media (min-width:1000px){
	.tezmy-fa2 .fa2-hero{
		grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
		gap:clamp(40px,4.6vw,72px); align-items:start; padding:16px 0 var(--step);
	}
	.tezmy-fa2 .fa2-gallery{ position:sticky; top:22px; }
	.tezmy-fa2 .fa2-thumb{ width:74px; height:74px; }
	/* Two lines on desktop as well: the accent half keeps its own line.
	   Balancing is off here, or it splits the first half in two. */
	.tezmy-fa2 .fa2-buy h1{ font-size:clamp(36px,3.1vw,46px); line-height:1.07; text-wrap:pretty; }
	.tezmy-fa2 .fa2-buy h1 em{ display:block; }
	.tezmy-fa2 .fa2-sub{ margin-top:18px !important; }
	.tezmy-fa2 .fa2-sub span{ font-size:22px; }
	.tezmy-fa2 .fa2-support{ font-size:16.5px; max-width:36ch; }
	.tezmy-fa2 .fa2-lead{ font-size:14px; max-width:40ch; }
	.tezmy-fa2 .fa2-points li{ font-size:14.5px; }
	.tezmy-fa2 .fa2-panel{ padding:28px 28px 26px; }
	.tezmy-fa2 .fa2-price{ font-size:46px; }
	.tezmy-fa2 .fa2-cta{ font-size:16px; min-height:64px; }
	.tezmy-fa2 .fa2-cats{ grid-template-columns:repeat(4,1fr); }
	.tezmy-fa2 .fa2-benefits{ grid-template-columns:repeat(4,1fr); }
	.tezmy-fa2 .fa2-trust-grid{ grid-template-columns:repeat(3,1fr); }
	.tezmy-fa2 .fa2-steps{ grid-template-columns:repeat(4,1fr); gap:0 32px; }
	.tezmy-fa2 .fa2-steps li,
	.tezmy-fa2 .fa2-steps li:nth-child(2),
	.tezmy-fa2 .fa2-steps li:nth-child(3){ border-top:1px solid var(--line-2); border-bottom:0; padding:22px 0 0; }
	.tezmy-fa2 .fa2-steps li:last-child{ border-bottom:0; }
	.tezmy-fa2 .fa2-head h2{ font-size:clamp(34px,3.1vw,44px); }
	.tezmy-fa2 .fa2-sticky{ display:none !important; }
	.tezmy-fa2 .fa2-strip li{ padding:26px 24px; }
	.tezmy-fa2 .fa2-strip b{ font-size:32px; }
}

@media (min-width:1280px){
	.tezmy-fa2 .fa2-buy h1{ font-size:46px; }
}

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
	.tezmy-fa2 .fa2-cta,
	.tezmy-fa2 .fa2-cat,
	.tezmy-fa2 .fa2-cat-img img,
	.tezmy-fa2 .fa2-example-img img,
	.tezmy-fa2 .fa2-thumb,
	.tezmy-fa2 .fa2-faq summary i::before,
	.tezmy-fa2 .fa2-faq summary i::after{ transition:none !important; }
	.tezmy-fa2 .fa2-cta:hover,
	.tezmy-fa2 .fa2-cat:hover{ transform:none; }
}


/* ---------- Section index numerals ---------- */
.tezmy-fa2 .fa2-idx{ color:var(--gold); font-weight:700; letter-spacing:.14em; }

/* ---------- Category card arrow ---------- */
.tezmy-fa2 .fa2-cat-body{ position:relative; }
.tezmy-fa2 .fa2-cat-go{
	position:absolute; right:13px; bottom:14px; font-size:13px; color:var(--muted);
	opacity:0; transform:translateX(-4px); transition:opacity .2s ease, transform .2s ease;
}
.tezmy-fa2 .fa2-cat:hover .fa2-cat-go,
.tezmy-fa2 .fa2-cat:focus-visible .fa2-cat-go{ opacity:1; transform:translateX(0); color:var(--ink); }

/* ---------- Editorial statement band ---------- */
.tezmy-fa2 .fa2-statement{
	margin-top:var(--step); padding:clamp(30px,5.4vw,58px) clamp(20px,4vw,52px);
	background:var(--sage); border:1px solid var(--line-2);
}
.tezmy-fa2 .fa2-statement p{
	font-family:Figtree, Arial, sans-serif; font-weight:600;
	font-size:clamp(23px,5.4vw,36px); line-height:1.24; letter-spacing:-.02em; color:var(--ink);
	max-width:24ch;
}
.tezmy-fa2 .fa2-statement span{ color:#657a63; }

/* ---------- Quiet reveal on scroll (skipped when motion is reduced) ---------- */
@media (prefers-reduced-motion:no-preference){
	.tezmy-fa2 .fa2-reveal{ opacity:0; transform:translateY(14px); }
	.tezmy-fa2 .fa2-reveal.is-in{ opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease; }
}


/* ==========================================================================
   Typography refinements — one sans system, thin rules, tidy numerals
   ========================================================================== */
html body.tezmy-fa2 .fa2-eyebrow{ font-size:10.5px !important; letter-spacing:.17em !important; font-weight:600 !important; }
html body.tezmy-fa2 .fa2-idx{ font-weight:600; letter-spacing:.1em; }
html body.tezmy-fa2 .fa2-statement p{ font-size:clamp(22px,4.9vw,33px); line-height:1.32; letter-spacing:-.022em; font-weight:600; }
html body.tezmy-fa2 .fa2-strip b{ font-weight:700; letter-spacing:-.02em; font-size:26px; }
html body.tezmy-fa2 .fa2-benefit-no,
html body.tezmy-fa2 .fa2-step-no{ font-size:11px; font-weight:700; letter-spacing:.12em; }
html body.tezmy-fa2 .fa2-price{ font-variant-numeric:tabular-nums; }
html body.tezmy-fa2 .fa2-faq summary{ letter-spacing:-.008em; }
html body.tezmy-fa2 .fa2-benefits p,
html body.tezmy-fa2 .fa2-steps p,
html body.tezmy-fa2 .fa2-trust-grid p{ line-height:1.62; }

/* ==========================================================================
   Promotional offer card
   ========================================================================== */
.tezmy-fa2 .fa2-offer{
	margin-top:18px; padding:15px 16px 14px;
	background:#fbf8ef; border:1px solid var(--gold);
}
.tezmy-fa2 .fa2-offer-top{
	display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap;
	padding-bottom:11px; border-bottom:1px solid rgba(176,145,63,.35);
}
.tezmy-fa2 .fa2-offer-label{ font-size:10px; font-weight:600; letter-spacing:.17em; text-transform:uppercase; color:var(--gold); }
.tezmy-fa2 .fa2-offer-price{ font-size:11.5px; letter-spacing:.02em; color:var(--muted); }
.tezmy-fa2 .fa2-offer-price bdi{ font-weight:600; color:var(--ink); }
.tezmy-fa2 .fa2-clock{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.tezmy-fa2 .fa2-clock span{
	display:flex; flex-direction:column; align-items:center; gap:4px;
	padding:9px 4px 8px; background:#fff; border:1px solid rgba(176,145,63,.3);
}
.tezmy-fa2 .fa2-clock b{
	font-size:23px; font-weight:700; line-height:1; letter-spacing:.01em;
	color:var(--ink); font-variant-numeric:tabular-nums;
}
.tezmy-fa2 .fa2-clock small{ font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); }
.tezmy-fa2 .fa2-offer-note{
	margin-top:11px !important; font-size:10.5px; line-height:1.5; color:var(--muted);
}
.tezmy-fa2 .fa2-offer.is-demo{ border-style:dashed; }

/* The saving line under the clock — figures come straight from WooCommerce. */
.tezmy-fa2 .fa2-offer-saving{
	display:flex; align-items:baseline; flex-wrap:wrap; gap:8px;
	margin-top:11px !important; padding-top:10px; border-top:1px solid rgba(176,145,63,.28);
	font-size:12px; color:var(--muted);
}
.tezmy-fa2 .fa2-offer-saving b{
	font-size:13px; font-weight:700; letter-spacing:.02em; color:var(--gold);
	text-transform:uppercase;
}
.tezmy-fa2 .fa2-offer-saving bdi{ color:var(--ink); font-weight:600; }
.tezmy-fa2 .fa2-offer-saving span{ line-height:1.5; }

/* ==========================================================================
   Customer reviews
   ========================================================================== */
.tezmy-fa2 .fa2-placeholder-note{
	margin-bottom:20px; padding:14px 16px; font-size:12.5px; line-height:1.6;
	color:var(--text); background:var(--sage); border-left:2px solid var(--gold);
}
.tezmy-fa2 .fa2-placeholder-note strong{ color:var(--ink); }
.tezmy-fa2 .fa2-reviews{ display:grid; gap:12px; }
.tezmy-fa2 .fa2-review{
	margin:0; padding:20px; background:var(--paper); border:1px solid var(--line);
	display:flex; flex-direction:column; gap:12px;
}
.tezmy-fa2 .fa2-review-rating{ font-size:13px; letter-spacing:.2em; color:var(--gold); }
.tezmy-fa2 .fa2-review blockquote{ margin:0; font-size:13.5px; line-height:1.66; color:var(--text); }
.tezmy-fa2 .fa2-review blockquote p{ margin:0; }
.tezmy-fa2 .fa2-review-by{
	margin-top:auto; padding-top:12px; border-top:1px solid var(--line);
	font-size:12px; font-weight:600; color:var(--ink);
	display:flex; align-items:baseline; justify-content:space-between; gap:10px;
}
.tezmy-fa2 .fa2-review-by span{ font-weight:400; font-size:11px; color:var(--muted); }
.tezmy-fa2 .fa2-reviews.is-placeholder .fa2-review{ background:repeating-linear-gradient(135deg,#faf8f2,#faf8f2 9px,#f5f2e8 9px,#f5f2e8 18px); border-style:dashed; }
.tezmy-fa2 .fa2-reviews.is-placeholder .fa2-review-rating,
.tezmy-fa2 .fa2-reviews.is-placeholder .fa2-review-by{ color:var(--muted); }

@media (min-width:760px){
	.tezmy-fa2 .fa2-reviews{ grid-template-columns:repeat(3,1fr); gap:18px; }
	.tezmy-fa2 .fa2-offer{ padding:18px 20px 17px; }
	.tezmy-fa2 .fa2-clock b{ font-size:26px; }
}

/* ==========================================================================
   v3 additions
   ========================================================================== */

/* --------------------------------------------------------------------------
   Saving badge. Shown whenever WooCommerce reports a real sale price, with no
   countdown and no deadline implied. Both figures come from the product, so
   the badge removes itself the moment the sale ends.
   -------------------------------------------------------------------------- */
.tezmy-fa2 .fa2-saving{
	display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px;
	margin:0 0 14px; padding:10px 13px;
	background:var(--lime); border:1px solid #cdd894; border-radius:2px;
}
.tezmy-fa2 .fa2-saving b{
	font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
	color:var(--ink);
}
.tezmy-fa2 .fa2-saving span{ font-size:12.5px; color:var(--ink-2); }
.tezmy-fa2 .fa2-saving .woocommerce-Price-amount{ font-weight:600; white-space:nowrap; }

/* --------------------------------------------------------------------------
   Collection cards: keep every card the same height regardless of how long the
   collection name is, so the grid reads as one block rather than a ragged one.
   Two lines are reserved for the name at every breakpoint.
   -------------------------------------------------------------------------- */
.tezmy-fa2 .fa2-cat{ display:flex; flex-direction:column; }
.tezmy-fa2 .fa2-cat-body{ display:flex; flex-direction:column; flex:1 1 auto; }
.tezmy-fa2 .fa2-cat-name{
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
	overflow:hidden; min-height:calc(2 * 1.35em);
}
.tezmy-fa2 .fa2-cat-count{ margin-top:auto; padding-top:5px; }

/* --------------------------------------------------------------------------
   The smaller collections, listed rather than shown as cards so a collection
   holding one product does not occupy the same space as one holding 27.
   -------------------------------------------------------------------------- */
.tezmy-fa2 .fa2-cats-more{ margin-top:18px; }
.tezmy-fa2 .fa2-cats-more-label{
	margin:0 0 10px; font-size:11px; font-weight:600;
	letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.tezmy-fa2 .fa2-cats-more ul{
	display:grid; grid-template-columns:1fr; gap:0;
	margin:0; padding:0; list-style:none;
	border-top:1px solid var(--line);
}
.tezmy-fa2 .fa2-cats-more li{ margin:0; border-bottom:1px solid var(--line); }
.tezmy-fa2 .fa2-cats-more a{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	min-height:46px; padding:11px 2px;
	font-size:13.5px; color:var(--ink); text-decoration:none;
	transition:color .2s ease;
}
.tezmy-fa2 .fa2-cats-more a b{
	flex:none; font-size:11.5px; font-weight:600; letter-spacing:.04em;
	color:var(--muted); font-variant-numeric:tabular-nums;
}
.tezmy-fa2 .fa2-cats-more a:hover{ color:var(--gold); }
.tezmy-fa2 .fa2-cats-more a:hover b{ color:var(--gold); }
.tezmy-fa2 .fa2-cats-more a:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

@media (min-width:560px){
	.tezmy-fa2 .fa2-cats-more ul{ grid-template-columns:1fr 1fr; column-gap:26px; }
	.tezmy-fa2 .fa2-cats-more li:nth-last-child(2):nth-child(odd){ border-bottom:0; }
	.tezmy-fa2 .fa2-cats-more li:last-child{ border-bottom:0; }
}
@media (min-width:1000px){
	.tezmy-fa2 .fa2-cats-more ul{ grid-template-columns:repeat(3,1fr); column-gap:30px; }
}
