/* Native product layouts; shared widths, typography and purchase components. */
.product-layout-page{--product-text-width:var(--content-narrow-width);--product-art-width:var(--product-text-width);--product-detail-width:var(--product-text-width);--spec-label-size:var(--type-meta-size);--spec-title-size:var(--compact-title-size);--spec-number-size:26px;--spec-version-size:22px;--spec-format-size:18px;--spec-detail-size:var(--type-copy-size);--spec-item-gap:16px;--spec-label-gap:7px;--product-section-space:64px;--gallery-arrow-size:48px;--gallery-arrow-inset:16px;--gallery-icon-size:20px;padding-top:32px}.product-layout-page .dfvn-product{min-width:0}
.product-layout-page .woocommerce-breadcrumb{font-size:var(--type-caption-size);margin:0 0 24px;color:var(--muted);line-height:1.65}
.product-layout-page .product-heading{padding:0;text-align:inherit;min-width:0}
.product-layout-page .product-heading h1{text-transform:none}
.product-layout-page .product-subtitle{color:var(--muted)}
.product-layout-page .summary{margin:0;min-width:0}.product-layout-page .summary form.cart{min-width:0}
.product-layout-page .product-carousel{--slide-gap:0;width:100%;max-width:100%;margin:0;overflow:visible}
.product-layout-page .product-carousel-track{align-items:start;justify-content:flex-start;gap:0;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.product-layout-page .product-carousel-slide{width:100%;flex:0 0 100%;min-width:0}
.product-layout-page .product-carousel-slide img{width:100%;height:auto;border-radius:0;display:block}
.product-layout-page .product-carousel-window{position:relative;border-radius:var(--card-radius);overflow:hidden;cursor:grab;touch-action:pan-y pinch-zoom}
.product-layout-page .product-carousel-window:active{cursor:grabbing}
.product-layout-page .product-gallery-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:var(--gallery-arrow-size);height:var(--gallery-arrow-size);min-height:44px;padding:0;border:1px solid var(--glass-edge);border-radius:50%;background:var(--glass-bg);color:var(--ink);backdrop-filter:blur(18px);box-shadow:0 4px 16px var(--glass-shadow);transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity var(--speed),background var(--speed);cursor:pointer}
.product-layout-page .product-gallery-arrow--prev{left:var(--gallery-arrow-inset)}.product-layout-page .product-gallery-arrow--next{right:var(--gallery-arrow-inset)}
.product-gallery-arrow .dfvn-icon{width:var(--gallery-icon-size);height:var(--gallery-icon-size)}
.product-carousel-window:hover .product-gallery-arrow,.product-carousel-window:focus-within .product-gallery-arrow{opacity:1;pointer-events:auto}
.product-layout-page .product-gallery-thumbnails{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(76px,1fr);gap:var(--space-2);overflow-x:auto;width:100%;max-width:100%;padding:0 0 4px;margin:16px 0 0;scrollbar-width:thin;overscroll-behavior-x:contain}
.product-layout-page .product-gallery-thumbnails button{width:100%;height:auto;min-width:0;min-height:44px;aspect-ratio:3/2;border-radius:10px;border:2px solid transparent;padding:0;background:var(--surface);overflow:hidden;opacity:.65;box-shadow:none;transform:none}
.product-gallery-thumbnails button[aria-current=true]{border-color:var(--ink);opacity:1}.product-gallery-thumbnails button:hover{opacity:1}
.product-gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}.product-gallery-thumbnails .dfvn-icon{width:var(--gallery-icon-size);height:var(--gallery-icon-size)}
@media(hover:none){.product-layout-page .product-gallery-arrow{opacity:1;pointer-events:auto}}
.product-layout-page :is(a,button,summary,select):focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.product-layout-page .product-description>p:first-child{margin-top:0}
.product-layout-page .product-description img{max-width:100%;height:auto}
.product-layout-page .product-specs{margin:0}.product-layout-page :is(.product-support,.product-details){margin-top:var(--product-section-space)}
.product-layout-page .summary :is(.button,.single_add_to_cart_button,.dfvn-buy-now){box-shadow:none;transform:none;min-height:44px}
.product-layout-page .summary .price{overflow-wrap:anywhere}
/* 04: a full-screen cover, followed by the product's actual story and images. */
.product-immersive .product-layout-page{max-width:none;width:100%;margin:0;padding:0}
.case-hero,.product-layout-page .case-hero{position:relative;height:100vh;height:100svh;width:100%;overflow:hidden;isolation:isolate;transform:scale(var(--cover-scale,1));transform-origin:50% 50%;border-radius:var(--cover-radius,0);background:var(--surface)}
.product-layout-page .case-hero .product-carousel-slide:not([hidden]),.case-hero .product-carousel-slide>a{height:100%;width:100%;display:block}
.product-layout-page .case-hero .product-carousel-slide :is(img,video){height:100%;width:100%;object-fit:cover;object-position:center;border-radius:0}
.case-hero:after{position:absolute;inset:0;pointer-events:none;content:"";background:linear-gradient(180deg,#0007 0,transparent 22%,transparent 75%,#0005 100%)}
.case-hero-caption{position:absolute;z-index:1;left:clamp(20px,3.5vw,56px);right:clamp(20px,3.5vw,56px);bottom:20px;display:flex;align-items:center;justify-content:center;gap:var(--space-5);color:#fff;font-size:var(--type-meta-size);line-height:1.5}
.case-hero-caption>span{display:none}.case-scroll-link{min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:var(--pill);background:#16161680;display:inline-flex;align-items:center;gap:14px;color:inherit}
.case-scroll-link--glass{border-color:#ffffff30;box-shadow:inset 0 1px 0 #ffffff1a,0 8px 24px #0003;backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation))}
.product-layout-page .case-scroll-link:focus-visible{outline-color:#fff}
.case-hero-caption .dfvn-icon{width:18px;height:18px}
.case-content{padding-top:48px;padding-bottom:0}
:is(.case-content,.product-layout-tail)[data-content-width=narrow]{max-width:var(--content-narrow-width)}
.case-rail{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"intro intro" "story purchase";gap:32px 48px;align-items:start}
.case-intro{grid-area:intro;min-width:0;text-align:center}
.case-purchase{grid-area:purchase;position:sticky;top:var(--purchase-sticky-top,calc(var(--admin-offset,0px) + var(--panel-top,124px)));align-self:start;min-width:0;padding-top:4px}
.case-purchase .summary{padding:24px;border-radius:var(--card-radius)}
.case-specs{margin-top:var(--space-5)}.case-specs .product-specs{padding:22px 24px;background:var(--surface);border-radius:var(--card-radius)}
.case-story{grid-area:story;min-width:0}
.case-text-block{min-width:0;margin:0 0 32px}
.case-text-block .product-description>p:first-child{margin-top:0}
.case-text-block .product-description h2:first-child,.case-text-block .product-description .product-extra>h2:first-child{margin-top:0}
/* Story text and artwork use the same content width. */
.case-text-block .product-description :is(p,ul,ol){max-width:none}
.case-text-block .product-description h2{max-width:none}
.case-text--key-features .product-extra>ul:first-of-type:not(.case-list-continuation){display:block;max-width:none;padding-left:22px;list-style:disc;margin:24px 0}
.case-text--key-features .product-extra>ul:first-of-type:not(.case-list-continuation)>li{margin:0 0 14px}
.case-text-block+.case-text-block{margin-top:60px}
.case-figure{margin:0 0 32px;min-width:0}
.case-figure+.case-text-block{margin-top:60px}
.case-feed .product-carousel-slide{width:100%;min-width:0;display:block;flex:none}
.case-feed .product-carousel-slide>a{display:block;cursor:zoom-in}
.product-layout-page .case-feed .product-carousel-slide img{width:100%;height:auto;display:block;border-radius:var(--card-radius)}
/* Uncropped story artwork never grows beyond its source pixels; covers keep their chosen frame. */
.case-figure>.product-carousel-slide{max-width:var(--gallery-natural-width,100%);margin-inline:auto}
.case-media-block{margin:0 0 32px;width:100%;min-width:0}.case-media-block+.case-text-block{margin-top:60px}.case-media-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:center}.case-media-cell{min-width:0;overflow:hidden;border-radius:var(--card-radius)}.case-media--small{width:62%}.case-media-align--center{margin-inline:auto}.case-media-align--left{margin-right:auto}.case-media-align--right{margin-left:auto}
.case-media--pair .case-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-media--pair-left .case-media-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.case-media--pair-right .case-media-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.case-media--triple .case-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.case-media-grid[data-media-count="1"]{grid-template-columns:minmax(0,1fr)}
.product-layout-page .case-media-cell .product-carousel-slide{display:block;width:100%;height:auto;aspect-ratio:auto;min-width:0}.product-layout-page .case-media-cell .product-carousel-slide img{display:block;width:100%;height:auto;border-radius:0}.case-media-block figcaption{margin-top:var(--space-3);font-size:var(--type-caption-size);line-height:1.5;color:var(--muted)}
.case-media--spotlight.case-media-ratio--auto{--media-ratio:1713/1080}.case-media--banner.case-media-ratio--auto{--media-ratio:1920/517}.case-media-ratio--square{--media-ratio:1}.case-media-ratio--portrait{--media-ratio:4/5}.case-media-ratio--landscape{--media-ratio:16/9}.case-media-ratio--panorama{--media-ratio:21/9}.product-layout-page .case-media-block:not(.case-media-ratio--auto) .case-media-cell .product-carousel-slide,.product-layout-page :is(.case-media--banner,.case-media--spotlight) .case-media-cell .product-carousel-slide{aspect-ratio:var(--media-ratio);background:var(--surface)}
.product-layout-page .case-media-block:not(.case-media-ratio--auto) .case-media-cell .product-carousel-slide img,.product-layout-page :is(.case-media--banner,.case-media--spotlight) .case-media-cell .product-carousel-slide img{height:100%;object-fit:contain}.product-layout-page .case-media-fit--cover .case-media-cell .product-carousel-slide img{object-fit:cover}.case-media-gap--tight .case-media-grid{gap:var(--space-2)}.case-media-gap--airy .case-media-grid{gap:var(--space-8)}.case-media-cell .product-gallery-locked{min-height:280px}
@media(max-width:600px){.case-media-block{margin-bottom:30px}.case-media--small{width:82%}.case-media-block .case-media-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.case-media-cell{border-radius:var(--card-radius)}.case-media-block+.case-text-block{margin-top:44px}}
/* 03 / 05A–D: independent text/art/detail widths; related products keep the site width. */
.product-layout--05a{--product-art-width:var(--site-width)}
.product-layout--05b{--product-text-width:var(--site-width)}
.product-layout--05d{--product-detail-width:var(--site-width)}
:is(.product-layout--03,.product-layout--05a,.product-layout--05b,.product-layout--05c,.product-layout--05d) .case-text-block,
:is(.product-layout--03,.product-layout--05a,.product-layout--05b,.product-layout--05c,.product-layout--05d) .case-story-preview{width:100%;max-width:var(--product-text-width);margin-inline:auto}
:is(.product-layout--03,.product-layout--05a,.product-layout--05b,.product-layout--05c,.product-layout--05d) :is(.case-figure,.case-media-block){max-width:var(--product-art-width);margin-inline:auto}
:is(.product-layout--03,.product-layout--05a,.product-layout--05b,.product-layout--05c,.product-layout--05d) :is(.product-spec-cards,.product-support){max-width:var(--product-detail-width);margin-inline:auto}
.case-opening{position:relative}
.case-opening>.case-hero{height:max(100svh,var(--cover-min-height,0px))}
.case-cover-purchase{position:absolute;z-index:3;top:auto;right:48px;bottom:48px;width:min(410px,38%);padding:0}
.case-cover-purchase .summary{border:1px solid #ffffff40;background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 28px -16px #0004}
.case-cover-purchase .product-heading{text-align:left;margin-bottom:var(--heading-card-gap)}
.case-cover-purchase .product-heading h1{font-size:var(--product-cover-title-size);line-height:var(--page-title-leading)}
.case-cover-purchase .product-subtitle{margin-inline:0}
.case-cover-purchase .summary :is(.single_add_to_cart_button,.dfvn-buy-now){background-image:none;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.case-cover-purchase .summary .single_add_to_cart_button{background:var(--button-bg);color:var(--button-ink)}
.case-cover-purchase .summary .dfvn-buy-now[data-buy-now-tone=purple]{background:var(--lavender);color:#29253e}
.case-cover-purchase .summary .product-save-actions{background:color-mix(in srgb,var(--ink) 5%,var(--surface));border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.case-cover-purchase .summary .product-save-button{background:transparent;color:var(--muted)}
.product-spec-cards{margin-top:var(--product-section-space)}
.product-spec-cards>h2{font-size:var(--product-section-size);line-height:var(--prose-heading-leading);margin:0 0 var(--heading-card-gap)}
.product-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.product-spec-card{margin:0;min-width:0;padding:22px;background:var(--surface);border-radius:var(--card-radius-compact)}
.product-spec-item+.product-spec-item{margin-top:var(--spec-item-gap)}
.product-spec-card dt{font-size:var(--spec-label-size);color:var(--muted);line-height:1.5;margin-bottom:var(--spec-label-gap)}
.product-spec-card dd{margin:0;font:var(--font-weight) var(--spec-detail-size)/1.5 var(--dfvn-body-font);overflow-wrap:anywhere}
.product-spec-item[data-spec-role=title] dd{font:var(--font-heading) var(--spec-title-size)/1.22 var(--dfvn-title-font);letter-spacing:-.025em}
.product-spec-item[data-spec-role=number] dd{font-size:var(--spec-number-size);font-weight:var(--font-heading);line-height:1.22}
.product-spec-item[data-spec-role=version] dd{font-size:var(--spec-version-size);font-weight:var(--font-heading);line-height:1.22}
.product-spec-item[data-spec-role=formats] dd{font-size:var(--spec-format-size);font-weight:var(--font-heading);line-height:1.4}
.product-spec-item.is-missing dd{color:var(--muted)}
.product-spec-card .product-license-tip summary{font:inherit;justify-content:flex-start}
/* 06 retains the original story/purchase rail under a title on the cover. */
.case-cover-heading{position:absolute;z-index:2;left:clamp(24px,3.5vw,56px);bottom:96px;width:min(70%,900px);color:#fff}
.case-cover-heading .product-heading{text-align:left}
.case-cover-heading .product-subtitle{margin-inline:0;color:#ffffffe0;max-width:600px}
.product-layout--06 .case-intro{display:none}
.product-layout--06 .case-rail{grid-template-areas:"story purchase"}
.product-layout--06 .case-hero:after{background:linear-gradient(180deg,#0006,transparent 25%,#0002 50%,#000b)}
/* The same compact SVG controls stay over the image in the cover and viewer. */
.product-cover-controls{--cover-control-size:32px;--cover-control-icon:14px;position:absolute;z-index:4;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:var(--space-2);color:var(--ink)}
.product-cover-counter,.product-cover-zoom{height:var(--cover-control-size);background:color-mix(in srgb,var(--bg) 70%,transparent);border:1px solid #ffffff70;border-radius:var(--pill);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:none}
.product-cover-counter{display:flex;align-items:center;gap:4px;padding:0 3px;font-size:var(--type-caption-size);font-variant-numeric:tabular-nums}
.product-cover-controls button{display:grid;place-items:center;width:var(--cover-control-size);height:var(--cover-control-size);min-height:var(--cover-control-size);padding:0;box-shadow:none;color:inherit;transform:none;background-image:none}
.product-cover-counter button{width:28px;min-height:28px;height:28px;border:0;background:transparent}
.product-cover-counter>span{min-width:var(--cover-control-size);text-align:center}
.product-cover-controls .dfvn-icon{width:var(--cover-control-icon);height:var(--cover-control-icon)}
.product-cover-controls button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.product-cover-controls [hidden]{display:none}
/* The theme already adds header-height through html scroll-padding. */
.product-layout-page :is(#case-content,#hinh-anh,#gioi-thieu,#thong-tin,#lien-quan,#dac-diem){scroll-margin-top:calc(var(--admin-offset,0px) + 24px)}
/* 07: OTFVN's centered opening and full-width sections, using DFVN's palette and site width. */
.product-layout--07{--product-section-space:112px;--centered-head-width:1280px;--centered-aside-width:clamp(320px,23.2%,430px);--centered-grid-gap:clamp(24px,1.77vw,34px);--centered-title-size:var(--product-centered-title-size);--centered-title-leading:var(--product-centered-title-leading);padding-top:64px}
.centered-head{max-width:min(100%,var(--centered-head-width));margin:0 auto 32px;text-align:center}
.centered-head .woocommerce-breadcrumb{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--type-small-size);margin:6px 0 24px}
.centered-breadcrumb-separator,.centered-breadcrumb-separator .dfvn-icon{display:inline-flex;width:16px;height:16px}
.centered-head .product-heading{text-align:center}
.centered-head .product-heading h1{font-size:var(--centered-title-size);line-height:var(--centered-title-leading);letter-spacing:-.02em;text-wrap:balance}
.centered-head .product-subtitle{max-width:780px;margin:var(--title-lead-gap) auto 0;font-size:var(--product-subtitle-size);line-height:var(--lead-leading);}
.centered-head .product-subtitle p{margin:0}
.centered-flow{display:grid;grid-template-columns:minmax(0,1fr) var(--centered-aside-width);gap:var(--centered-grid-gap);align-items:start}
.centered-purchase{position:sticky;top:var(--purchase-sticky-top,calc(var(--admin-offset,0px) + var(--panel-top,124px)));min-width:0;align-self:start}
.centered-flow .summary{padding:24px;border-radius:var(--card-radius)}
.centered-specs{margin-top:30px}
.centered-flow .product-specs{padding:24px;background:var(--surface);border-radius:var(--card-radius)}
.centered-content{display:flex;flex-direction:column;gap:var(--product-section-space);margin-top:var(--product-section-space);min-width:0}
.centered-content>.font-preview,.centered-content>.font-character-map,.centered-content>.product-section-frame{margin-block:0}
/* The three original OTFVN section compositions share DFVN tokens and authored content. */
.product-section-frame{--section-padding:clamp(28px,3.25cqw,52px);--section-space:var(--product-section-space,var(--space));--section-radius:var(--card-radius);width:100%;min-width:0;margin-block:var(--section-space);container-type:inline-size}
.product-section-reading{min-width:0}.product-section-reading>.product-section-frame{margin-block:0}
.case-feed>.product-section-frame{max-width:var(--product-text-width);margin-inline:auto}
:is(.centered-features,.centered-about){--section-left-default-bg:var(--surface);--section-left-default-ink:var(--ink);--section-right-default-bg:#111113;--section-right-default-ink:#f5f5f5;--section-left-current-bg:var(--section-left-bg,var(--section-left-default-bg));--section-left-current-ink:var(--section-left-ink,var(--section-left-default-ink));--section-right-current-bg:var(--section-right-bg,var(--section-right-default-bg));--section-right-current-ink:var(--section-right-ink,var(--section-right-default-ink));min-width:0;overflow-wrap:anywhere}
.section-feature-heading{margin:0 0 var(--heading-card-gap);font-size:var(--product-feature-title-size);font-weight:var(--font-heading);line-height:var(--product-feature-title-leading);letter-spacing:-.04em;text-wrap:balance}
.section-feature-layout{display:grid;grid-template-columns:minmax(0,32%) minmax(0,68%);min-height:clamp(520px,36cqw,580px);overflow:hidden;border-radius:var(--section-radius)}
.centered-specimen{display:flex;flex-direction:column;gap:26px;min-width:0;padding:var(--section-padding);background:var(--section-left-current-bg);color:var(--section-left-current-ink)}
.centered-specimen-kicker{font-size:var(--type-copy-size);line-height:1.4;opacity:.72}
.centered-specimen-visual{min-width:0;max-width:100%;margin:auto 0 10px}
.centered-specimen-text{display:block;font-family:var(--dfvn-title-font);font-weight:var(--font-heading);font-size:clamp(42px,4.3cqw,82px);line-height:1.02;letter-spacing:-.05em;overflow-wrap:anywhere;color:inherit}
.centered-specimen-image{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.centered-specimen h2{font-family:var(--dfvn-title-font);font-weight:var(--font-heading);font-size:var(--panel-title-size);line-height:var(--panel-title-leading);letter-spacing:-.035em;margin:0;color:inherit}
.centered-specimen-tagline{margin:0;max-width:28ch;font-size:var(--type-label-size);line-height:1.4;opacity:.72}
.centered-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;background:var(--section-right-current-bg);color:var(--section-right-current-ink)}
.centered-feature-item{display:grid;grid-template-columns:34px minmax(0,1fr);align-content:end;gap:clamp(12px,1.4cqw,22px);padding:var(--section-padding);min-width:0;min-height:230px;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);border-left:1px solid color-mix(in srgb,currentColor 20%,transparent)}
.centered-feature-item:nth-child(-n+2){border-top:0}.centered-feature-item:nth-child(odd){border-left:0}
.centered-feature-number{font-size:var(--type-caption-size);line-height:1.5;letter-spacing:.06em;opacity:.7}
.centered-feature-copy{min-width:0}
.centered-feature-item h3{font-size:var(--compact-title-size);line-height:var(--compact-title-leading);letter-spacing:-.02em;margin:0 0 var(--card-title-copy-gap);color:inherit;font-weight:var(--font-semibold)}
.centered-feature-item p{font-size:var(--type-body-size);line-height:1.6;color:inherit;margin:0;opacity:.76}
/* 02: a dark specimen beside a typographic index. */
.centered-features[data-section-layout=index]{--section-left-default-bg:#111113;--section-left-default-ink:#f5f5f5}
.centered-features[data-section-layout=index] .section-feature-layout{min-height:680px}
.centered-features[data-section-layout=index] .centered-specimen{border-right:1px solid color-mix(in srgb,var(--section-left-current-ink) 20%,transparent)}
.centered-features[data-section-layout=index] .centered-feature-grid{grid-template-columns:minmax(0,1fr)}
.centered-features[data-section-layout=index] .centered-feature-item{grid-template-columns:44px minmax(0,1fr);gap:clamp(18px,2.2cqw,34px);align-content:center;min-height:170px;padding:clamp(26px,2.5cqw,40px);border-left:0}
.centered-features[data-section-layout=index] .centered-feature-item:nth-child(2){border-top:1px solid color-mix(in srgb,currentColor 20%,transparent)}
.centered-features[data-section-layout=index] .centered-feature-copy:has(h3){display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,3.2cqw,54px);align-items:center}
.centered-features[data-section-layout=index] .centered-feature-copy h3{margin:0}
/* 03: a wide specimen ribbon above four points. */
.centered-features[data-section-layout=ribbon]{--section-left-default-bg:var(--surface);--section-left-default-ink:var(--ink);--section-right-default-bg:var(--surface);--section-right-default-ink:var(--ink)}
.centered-features[data-section-layout=ribbon] .section-feature-layout{grid-template-columns:minmax(0,1fr);min-height:0}
.centered-features[data-section-layout=ribbon] .centered-specimen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,260px);gap:28px clamp(28px,4cqw,68px);align-items:center}
.centered-features[data-section-layout=ribbon] .centered-specimen-kicker{grid-column:1/-1;padding-bottom:22px;border-bottom:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.centered-features[data-section-layout=ribbon] .centered-specimen-visual{margin:0;padding-block:20px}
.centered-features[data-section-layout=ribbon] .centered-specimen-text{font-size:clamp(54px,8cqw,140px);letter-spacing:-.04em;line-height:1.04;text-wrap:balance}
.centered-features[data-section-layout=ribbon] .centered-specimen-tagline{font-size:clamp(18px,1.5cqw,24px);text-align:right;margin-left:auto}
.centered-features[data-section-layout=ribbon] .centered-specimen-image{max-height:360px;object-position:left center}
.centered-features[data-section-layout=ribbon] .centered-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid color-mix(in srgb,var(--section-right-current-ink) 25%,transparent)}
.centered-features[data-section-layout=ribbon] .centered-feature-item{grid-template-columns:minmax(0,1fr);gap:34px;align-content:start;padding:clamp(26px,2.4cqw,38px);border-top:0;min-height:245px}
.centered-features[data-section-layout=ribbon] .centered-feature-item:nth-child(odd){border-left:1px solid color-mix(in srgb,currentColor 20%,transparent)}
.centered-features[data-section-layout=ribbon] .centered-feature-item:first-child{border-left:0}
/* Complete openings are justified; long bodies use the normal reading weight. */
.centered-about[data-section-layout=ribbon]{--section-left-default-bg:#111113;--section-left-default-ink:#f5f5f5;--section-right-default-bg:#111113;--section-right-default-ink:#f5f5f5;position:relative;display:grid;grid-template-columns:minmax(0,1fr);border-radius:var(--section-radius);overflow:hidden;background:var(--section-right-current-bg);color:var(--section-right-current-ink)}
.section-about-heading{padding:var(--section-padding) var(--section-padding) 0;background:var(--section-left-current-bg);color:var(--section-left-current-ink)}
.section-about-heading h2{font-size:var(--panel-title-size);line-height:var(--panel-title-leading);letter-spacing:-.025em;font-weight:var(--font-heading);margin:0;color:inherit}
.section-about-reading{min-width:0;padding:28px var(--section-padding) var(--section-padding);background:var(--section-right-current-bg);color:var(--section-right-current-ink)}
.centered-about[data-section-layout=ribbon] .product-description{font-size:var(--prose-size);line-height:var(--prose-leading);font-weight:var(--font-regular);min-width:0;max-width:100%;margin:0;color:inherit}
.centered-about[data-section-layout=ribbon] .product-description :is(p,li,h2,h3,h4,strong,a){color:inherit}
.centered-about[data-section-layout=ribbon] .product-description h2{font-size:var(--product-section-size);line-height:var(--prose-heading-leading);font-weight:var(--font-heading);margin:var(--prose-heading-gap) 0 var(--prose-heading-copy-gap);}
.centered-about[data-section-layout=ribbon] .product-description h3{font-size:var(--prose-subheading-size);line-height:var(--panel-title-leading);}
.centered-about[data-section-layout=ribbon] .product-description p{margin:0 0 20px}
.centered-about[data-section-layout=ribbon] .product-description :is(ul,ol){padding-left:1.4em}
.centered-about[data-section-layout=ribbon] .product-description :last-child{margin-bottom:0}
.section-about-lead,.centered-about[data-section-layout=ribbon] .product-description>p:first-child{text-align:justify;text-justify:inter-word}

/* About01/02: accepted OTFVN geometry; 02 opens its existing chapters in place. */
.otfvn-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.otfvn-thub-about{--otfvn-text:var(--ink);--otfvn-muted:var(--muted);--otfvn-border:var(--line);--otfvn-surface:var(--surface);--otfvn-surface-2:var(--surface);--otfvn-font-body:var(--body-font);--otfvn-title-font:var(--display-font);--otfvn-title-letter-spacing:var(--dfvn-title-letter-spacing);--otfvn-fw-title:var(--font-heading);--otfvn-fw-bold:var(--font-bold);--otfvn-fw-medium:var(--font-medium);--otfvn-fw-regular:var(--font-regular);--otfvn-fw-semibold:var(--font-semibold);--otfvn-tracking-copy-tight:-.025em;--otfvn-tracking-tight:-.04em;--otfvn-product-section-space:0px;--otfvn-color-white:#fff;--otfvn-color-black:#000;--otfvn-radius-10:10px;--otfvn-radius-12:12px;--otfvn-radius-14:14px;--otfvn-radius-16:16px;--otfvn-radius-18:18px;--otfvn-radius-20:20px;--otfvn-radius-22:22px;--otfvn-radius-24:24px;--otfvn-radius-26:26px;--otfvn-radius-28:28px;--otfvn-radius-32:32px;--otfvn-radius-pill:999px;padding:18px;margin-top:0;}
.otfvn-thub-about h3{margin:0 0 var(--card-title-copy-gap);font-size:var(--panel-title-size);font-weight:var(--font-heading);letter-spacing:-.025em;color:var(--ink); line-height:var(--panel-title-leading); }
.otfvn-thub-prose p{margin:0 0 10px;}
.single-product .otfvn-thub-tester, .single-product .otfvn-thub-charmap, .single-product .otfvn-thub-about, .single-product .otfvn-thub-similar{width:min(100%, var(--otfvn-sp-shell-max));max-width:100%;margin-left:auto;margin-right:auto;}
.single-product .otfvn-thub-prose--intro{max-width:none;max-height:60rem;padding-top:16px;border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);overflow:hidden;opacity:1;transition:max-height .46s cubic-bezier(.22,1,.36,1), opacity .24s ease, padding-top .36s ease, border-color .24s ease;}
.single-product .otfvn-thub-about-more summary::-webkit-details-marker{display:none;}
.single-product .otfvn-thub-prose--full{margin-top:var(--space-4);padding-top:16px;border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);}
.single-product .otfvn-thub-prose--full :where(h2,h3,h4,h5,h6){margin:1.05em 0 .45em;color:inherit;line-height:1.08;letter-spacing:-.025em;font-weight:var(--font-heading);}
.single-product .otfvn-thub-prose--full h2{font-size:var(--product-prose-h2-size);}
.single-product .otfvn-thub-prose--full h3{font-size:var(--product-prose-h3-size);}
.single-product .otfvn-thub-prose--full h4{font-size:var(--product-prose-h4-size);}
.single-product .otfvn-thub-prose--full :where(h5,h6){font-size:var(--product-prose-minor-size);}
@media (max-width: 640px){.single-product .otfvn-thub-about{padding:16px;}}
.single-product .otfvn-thub-about:has(.otfvn-thub-about-more[open]) .otfvn-thub-prose--intro{max-height:0;padding-top:0;border-color:transparent;opacity:0;}
.single-product .otfvn-thub-about-more .otfvn-about-collapse{display:none;}
.single-product .otfvn-thub-about-more[open] .otfvn-about-readmore{display:none;}
.single-product .otfvn-thub-about-more[open] .otfvn-about-collapse{display:inline;}
.single-product .otfvn-thub-about-more[open] .otfvn-thub-prose--full{margin-top:0;}
.single-product .otfvn-thub-about{position:relative;border:0;}
.single-product .otfvn-thub-about--layout-1{padding:clamp(30px,3.4vw,54px);background:var(--otfvn-product-about-bg,var(--surface));}
.single-product .otfvn-thub-about h3{margin-right:clamp(110px, 12vw, 170px);}
.single-product .otfvn-thub-about-more{margin-top:0;}
.single-product .otfvn-thub-about-more summary{list-style:none;width:auto;min-height:0;padding-inline:20px;cursor:pointer;position:absolute;top:clamp(30px,3.4vw,54px);right:clamp(30px,3.4vw,54px);padding:0;border:0;background:transparent;color:var(--ink);box-shadow:none;font-size:var(--type-answer-size);text-decoration:none;}
.single-product .otfvn-thub-about-more summary:hover{color:var(--muted);transform:none;}
.single-product .otfvn-thub-about-more summary .otfvn-hovertext{display:inline-flex;align-items:center;gap:var(--space-2);}
.single-product .otfvn-thub-about-more summary .otfvn-hovertext::after{content:none;}
.single-product .otfvn-thub-about-more summary .otfvn-about-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;color:currentColor;transition:transform .42s cubic-bezier(.22,1,.36,1);}
.single-product .otfvn-thub-about-more summary .otfvn-about-toggle-icon svg{display:block;width:100%;height:100%;}
.single-product .otfvn-thub-about-more summary .otfvn-about-toggle-icon--up, .single-product .otfvn-thub-about-more[open] summary .otfvn-about-toggle-icon--down{display:none;}
.single-product .otfvn-thub-about-more[open] summary .otfvn-about-toggle-icon--up{display:inline-flex;}
.single-product .otfvn-thub-about-more[open] summary{margin-bottom:0;}
@media (max-width: 760px){.single-product .otfvn-thub-about{padding:18px;}}
@media (max-width: 760px){.single-product .otfvn-thub-about h3{margin-right:0;}}
@media (max-width: 760px){.single-product .otfvn-thub-about-more summary{position:static;margin-top:14px;}}
.single-product .otfvn-thub-about-collapse-bottom{display:none;align-items:center;gap:var(--space-2);margin-top:18px;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer;}
.single-product .otfvn-thub-about-collapse-bottom:hover{color:var(--muted);}
.single-product .otfvn-thub-about-collapse-bottom .otfvn-about-toggle-icon, .single-product .otfvn-thub-about-collapse-bottom svg{width:18px;height:18px;display:inline-flex;}
@media (max-width: 760px){.single-product .otfvn-thub-about-more[open] summary{margin-bottom:0;display:none;}}
@media (max-width: 760px){.single-product .otfvn-thub-about-more[open] .otfvn-thub-about-collapse-bottom{display:inline-flex;}}
.single-product .otfvn-thub-about--layout-2{position:relative;overflow:hidden;padding:clamp(34px, 4.2vw, 68px);border:0;border-radius:clamp(24px, 2.2vw, 34px);background:var(--surface);}
.single-product .otfvn-thub-about-deck__head{display:grid;}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__head h3{max-width:calc(100% - clamp(190px, 18vw, 280px));margin:0;color:var(--ink);font-family:var(--display-font);font-size:var(--product-deck-title-size);font-weight:var(--font-heading);letter-spacing:var(--dfvn-title-letter-spacing);line-height:var(--product-deck-title-leading);overflow-wrap:anywhere;}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all, .single-product .otfvn-thub-about-deck__chapter{margin:0;}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all, .single-product .otfvn-thub-about-deck__chapter > summary{list-style:none;cursor:pointer;}
.single-product .single-product .otfvn-thub-about-deck__chapter > summary::-webkit-details-marker{display:none;}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all{position:absolute;top:clamp(90px, 7.2vw, 128px);right:clamp(34px, 4.2vw, 68px);display:inline-grid;grid-template-columns:auto 22px;gap:14px;align-items:center;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-family:inherit;color:var(--ink);font-size:clamp(.92rem, 1vw, 1.06rem);font-weight:var(--font-semibold);}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all:hover, .single-product .otfvn-thub-about-deck__chapter > summary:hover strong{color:var(--muted);}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all:focus-visible, .single-product .otfvn-thub-about-deck__chapter > summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px;}
.single-product .otfvn-thub-about-deck__collapse{display:none;}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all[aria-expanded=true] .otfvn-thub-about-deck__read{display:none;}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all[aria-expanded=true] .otfvn-thub-about-deck__collapse{display:inline;}
.single-product .otfvn-thub-about-deck__indicator{position:relative;display:block;width:22px;height:22px;color:currentColor;}
.single-product .otfvn-thub-about-deck__indicator::before, .single-product .otfvn-thub-about-deck__indicator::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:1.5px;background:currentColor;transform:translate(-50%, -50%);transition:transform .42s cubic-bezier(.22,1,.36,1), opacity .24s ease;}
.single-product .otfvn-thub-about-deck__indicator::after{transform:translate(-50%, -50%) rotate(90deg);}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all[aria-expanded=true] .otfvn-thub-about-deck__indicator::after, .single-product .otfvn-thub-about-deck__chapter[open] > summary .otfvn-thub-about-deck__indicator::after{transform:translate(-50%, -50%) rotate(0);}
.single-product .otfvn-thub-about-deck__lead{max-width:1160px;margin-top:var(--heading-card-gap);color:var(--ink);font-size:var(--product-deck-lead-size);font-weight:var(--font-semibold);line-height:var(--lead-leading);}
.single-product .otfvn-thub-about-deck__lead > :last-child, .single-product .otfvn-thub-about-deck__chapter-body > :last-child{margin-bottom:0;}
.single-product .otfvn-thub-about-deck__chapters{margin-top:clamp(30px, 3.4vw, 50px);}
.single-product .otfvn-thub-about-deck__chapter{border-bottom:1px solid color-mix(in srgb, var(--line) 42%, transparent);}
.single-product .otfvn-thub-about-deck__chapter:last-child{border-bottom:0;}
.single-product .otfvn-thub-about-deck__chapter > summary{display:grid;grid-template-columns:72px minmax(0, 1fr) 24px;gap:22px;align-items:center;padding:clamp(24px, 2vw, 32px) 0;color:var(--ink);}
.single-product .otfvn-thub-about-deck__number{font-size:var(--type-answer-size);font-weight:var(--font-semibold);}
.single-product .otfvn-thub-about-deck__chapter > summary strong{font-size:var(--compact-title-size);font-weight:var(--font-semibold);letter-spacing:-.025em;line-height:var(--compact-title-leading);transition:color .2s ease;}
.single-product .otfvn-thub-about-deck__chapter-body{max-width:1120px;padding:0 50px clamp(26px, 2.4vw, 38px) 94px;color:var(--muted);}
@media (prefers-reduced-motion: reduce){.single-product .otfvn-thub-prose--intro, .single-product .otfvn-thub-about-more summary .otfvn-about-toggle-icon, .single-product .otfvn-thub-about-deck__indicator::before, .single-product .otfvn-thub-about-deck__indicator::after{transition-duration:.01ms;}}
@media (max-width: 900px){.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__head h3{max-width:none;font-size:var(--product-deck-title-size); line-height:var(--product-deck-title-leading); }}
@media (max-width: 900px){.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all{position:static;width:fit-content;margin-top:22px;}}
@media (max-width: 760px){.single-product .otfvn-thub-about--layout-2{padding:26px 18px;border-radius:24px;}}
@media (max-width: 760px){.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__head h3{font-size:var(--product-deck-title-size);line-height:var(--product-deck-title-leading);}}
@media (max-width: 760px){.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__all{grid-template-columns:auto 20px;gap:10px;margin-top:18px;font-size:var(--type-answer-size);}}
@media (max-width: 760px){.single-product .otfvn-thub-about-deck__lead{margin-top:var(--heading-card-gap);font-size:var(--product-deck-lead-size); line-height:var(--lead-leading); }}
@media (max-width: 760px){.single-product .otfvn-thub-about-deck__chapters{margin-top:22px;}}
@media (max-width: 760px){.single-product .otfvn-thub-about-deck__chapter > summary{grid-template-columns:38px minmax(0, 1fr) 22px;gap:10px;padding:22px 0;}}
@media (max-width: 760px){.single-product .otfvn-thub-about-deck__number{font-size:var(--type-small-size);}}
@media (max-width: 760px){.single-product .otfvn-thub-about-deck__chapter > summary strong{font-size:var(--compact-title-size); line-height:var(--compact-title-leading); }}
@media (max-width: 760px){.single-product .otfvn-thub-about-deck__chapter-body{padding:0 0 24px 48px;}}
.otfvn-thub-prose{font-size:var(--product-prose-compact-size);line-height:var(--product-prose-compact-leading);}.single-product .otfvn-thub-prose{min-width:0;}
.single-product .otfvn-thub-prose table{width:100%;margin:1.25em 0;border-collapse:separate;border:1px solid var(--otfvn-border, #dedee3);border-radius:14px;overflow:hidden;border-spacing:0;color:inherit;font:inherit;line-height:1.55;}
.single-product .otfvn-thub-prose :is(th,td){padding:16px 20px;border:0;border-inline-start:1px solid var(--otfvn-border, #dedee3);border-top:1px solid var(--otfvn-border, #dedee3);text-align:start;vertical-align:top;overflow-wrap:anywhere;}
.single-product .otfvn-thub-prose table > thead:first-of-type > tr:first-child > :is(th,td){border-top:0;}
.single-product .otfvn-thub-prose table:not(:has(thead)) > tbody:first-of-type > tr:first-child > :is(th,td){border-top:0;}
.single-product .otfvn-thub-prose table > thead ~ tbody > tr:first-child > :is(th,td), .single-product .otfvn-thub-prose table > :is(thead,tbody) ~ tfoot > tr:first-child > :is(th,td){border-top:1px solid var(--otfvn-border, #dedee3);}
.single-product .otfvn-thub-prose th{background:color-mix(in srgb, currentColor 5%, transparent);font-weight:var(--otfvn-fw-title, 600);}
.single-product .otfvn-thub-prose tr > :first-child{border-inline-start:0;min-width:8rem;}
.single-product .otfvn-thub-prose caption{caption-side:bottom;padding-top:10px;color:inherit;font-size:.9em;text-align:start;}
.single-product .otfvn-thub-prose .wp-block-table{max-width:100%;overflow-x:auto;}
@media(max-width:700px){.single-product .otfvn-thub-prose table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;}}
@media(max-width:700px){.single-product .otfvn-thub-prose :is(th,td){min-width:13rem;padding:12px 14px;}}
@media(max-width:700px){.single-product .otfvn-thub-prose tr > :first-child{min-width:8rem;}}
 .otfvn-about-toggle-icon--up svg{transform:rotate(180deg)}
.single-product .otfvn-thub-about--layout-2 .otfvn-thub-about-deck__collapse-bottom{display:inline-flex;align-items:center;gap:14px;margin-top:var(--space-6);min-height:0;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.single-product .otfvn-thub-about--layout-2 :is(.otfvn-thub-about-deck__all,.otfvn-thub-about-deck__collapse-bottom)[hidden]{display:none}
/* 03: rounded dark reading panel, complete opening and native disclosure. */
.section-about-more{margin-top:var(--space-7)}
.section-about-more>summary,.centered-about[data-section-layout=ribbon] .section-about-collapse-bottom{display:flex;align-items:center;gap:14px;width:fit-content;min-height:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:var(--font-semibold);cursor:pointer;list-style:none}
.section-about-more>summary::-webkit-details-marker{display:none}
.section-about-more>summary:focus-visible,.section-about-collapse-bottom:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.section-about-collapse,.section-about-more[open] .section-about-read{display:none}
.section-about-more[open] .section-about-collapse{display:inline}
.section-about-indicator{position:relative;display:block;width:18px;height:18px}
.section-about-indicator::before,.section-about-indicator::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.section-about-indicator::after{transform:translate(-50%,-50%) rotate(90deg)}
.section-about-more[open] .section-about-indicator::after{transform:translate(-50%,-50%)}
.section-about-body{padding-top:8px}
.section-about-collapse-bottom{margin-top:var(--space-7)}
.centered-about[data-section-layout=ribbon] .section-about-custom-intro{margin-bottom:var(--space-6)}
.centered-about[data-section-layout=ribbon][data-ribbon-layout=chapters] .section-about-more{max-width:none}
.centered-about[data-section-layout=ribbon] .section-about-reading>:is(.product-description,.section-about-more){max-width:86ch;margin-inline:auto}
.centered-about[data-section-layout=ribbon][data-ribbon-layout=reading] .section-about-heading h2{max-width:calc(86*17px*.5);margin-inline:auto}
.centered-about[data-section-layout=ribbon][data-ribbon-layout=split]{grid-template-columns:minmax(0,28%) minmax(0,72%)}
.centered-about[data-section-layout=ribbon][data-ribbon-layout=split] .section-about-heading{padding:var(--section-padding);border-right:1px solid color-mix(in srgb,var(--section-left-current-ink) 20%,transparent)}
.centered-about[data-section-layout=ribbon][data-ribbon-layout=split] .section-about-heading h2{font-size:var(--product-feature-title-size);text-wrap:balance; line-height:var(--product-feature-title-leading); }
.centered-about[data-section-layout=ribbon][data-ribbon-layout=split] .section-about-reading{padding-top:var(--section-padding)}
.centered-about[data-section-layout=ribbon][data-ribbon-layout=chapters] .section-about-open-chapter{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.65fr);gap:12px 40px;max-width:none;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);padding-top:32px;margin-top:var(--space-8)}
.centered-about[data-section-layout=ribbon][data-ribbon-layout=chapters] .section-about-open-chapter>h2{grid-column:1;grid-row:1/span 20;margin-top:0;font-size:var(--product-section-size); line-height:var(--prose-heading-leading); }
.centered-about[data-section-layout=ribbon][data-ribbon-layout=chapters] .section-about-open-chapter>:not(h2){grid-column:2;margin-top:0}
/* Automatic and custom palettes respond to both explicit dark and system dark. */
html[data-theme=dark] :is(.centered-features,.centered-about){--section-left-current-bg:var(--section-dark-left-bg,var(--surface));--section-left-current-ink:var(--section-dark-left-ink,var(--ink));--section-right-current-bg:var(--section-dark-right-bg,var(--surface));--section-right-current-ink:var(--section-dark-right-ink,var(--ink))}
@media(prefers-color-scheme:dark){html[data-theme=system] :is(.centered-features,.centered-about){--section-left-current-bg:var(--section-dark-left-bg,var(--surface));--section-left-current-ink:var(--section-dark-left-ink,var(--ink));--section-right-current-bg:var(--section-dark-right-bg,var(--surface));--section-right-current-ink:var(--section-dark-right-ink,var(--ink))}}
@container(max-width:1000px){
 .centered-features[data-section-layout=index] .centered-feature-copy:has(h3){grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
 .centered-features[data-section-layout=ribbon] .centered-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .centered-features[data-section-layout=ribbon] .centered-feature-item:nth-child(n){border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);border-left:1px solid color-mix(in srgb,currentColor 20%,transparent)}
 .centered-features[data-section-layout=ribbon] .centered-feature-item:nth-child(-n+2){border-top:0}
 .centered-features[data-section-layout=ribbon] .centered-feature-item:nth-child(odd){border-left:0}
}
@container(max-width:760px){
 .section-feature-layout{grid-template-columns:minmax(0,1fr);min-height:0}
 .centered-specimen{min-height:320px}
 .centered-specimen-text{font-size:clamp(40px,9cqw,64px)}
 .centered-features[data-section-layout=index] .section-feature-layout{min-height:0}
 .centered-features[data-section-layout=ribbon] .centered-specimen{grid-template-columns:minmax(0,1fr);min-height:0}
 .centered-features[data-section-layout=ribbon] .centered-specimen-tagline{text-align:left;margin-left:0;max-width:none}
 .centered-features[data-section-layout=ribbon] .centered-specimen-text{font-size:clamp(42px,10cqw,72px)}
 .centered-about[data-section-layout=ribbon][data-ribbon-layout=split]{grid-template-columns:minmax(0,1fr)}
 .centered-about[data-section-layout=ribbon][data-ribbon-layout=split] .section-about-heading{border-right:0;padding-bottom:0}
 .centered-about[data-section-layout=ribbon][data-ribbon-layout=chapters] .section-about-open-chapter{grid-template-columns:minmax(0,1fr)}
 .centered-about[data-section-layout=ribbon][data-ribbon-layout=chapters] .section-about-open-chapter>h2,.centered-about[data-section-layout=ribbon][data-ribbon-layout=chapters] .section-about-open-chapter>:not(h2){grid-column:1;grid-row:auto}
}
@container(max-width:480px){
 :is(.centered-features,.centered-about){--section-padding:24px}
 .centered-feature-grid,.centered-features[data-section-layout=ribbon] .centered-feature-grid{grid-template-columns:minmax(0,1fr)}
 .centered-feature-item,.centered-features[data-section-layout=ribbon] .centered-feature-item:nth-child(n){min-height:0;border-left:0;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent)}
 .centered-feature-item:first-child,.centered-features[data-section-layout=ribbon] .centered-feature-item:first-child{border-top:0}
 .centered-features[data-section-layout=index] .centered-feature-item{grid-template-columns:26px minmax(0,1fr);padding:24px;min-height:0}
 .centered-about[data-section-layout=ribbon] .product-description{font-size:var(--prose-size);line-height:var(--prose-leading);}
}
/* Local comparison UI; the previewed sections use the same native components. */
.product-section-lab{--lab-gap:18px;--lab-toolbar-pad:18px;--lab-title-size:var(--account-section-title-size);--lab-toolbar-bg:color-mix(in srgb,var(--bg) 94%,transparent);padding-block:40px 80px}
.section-lab-header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-7)}
.section-lab-header h1{font-size:var(--lab-title-size);line-height:var(--account-section-title-leading);letter-spacing:-.025em;margin:var(--eyebrow-title-gap) 0 var(--title-lead-gap);}
.section-lab-header p{font-size:var(--lead-size);line-height:var(--lead-leading);max-width:760px;margin:0;color:var(--muted)}
.product-section-lab--studies{--lab-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.4fr) auto}
.section-lab-toolbar{position:var(--lab-toolbar-position,sticky);top:12px;z-index:5;display:grid;grid-template-columns:var(--lab-columns,minmax(0,1fr) minmax(0,1fr) auto);align-items:end;gap:var(--lab-gap);padding:var(--lab-toolbar-pad);background:var(--lab-toolbar-bg);border:1px solid var(--line);border-radius:var(--card-radius-compact);backdrop-filter:blur(16px)}
.section-lab-toolbar label{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;font-size:var(--type-small-size)}
.section-lab-toolbar select{width:100%;max-width:100%;min-height:44px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font:inherit;font-size:var(--type-copy-size)}
.section-lab-toolbar .button{min-height:44px;padding:12px 18px;font-size:var(--type-copy-size);white-space:nowrap}
.section-lab-jumps{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:var(--space-5);font-size:var(--type-small-size)}
.section-lab-jumps a{text-decoration:underline;text-underline-offset:4px}
.section-lab-jumps span{color:var(--muted)}
.section-lab-stage{scroll-margin-top:140px;min-width:0}
.section-lab-caption{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:16px;border-bottom:1px solid var(--line);margin-top:var(--space-16);font-size:var(--type-meta-size);color:var(--muted)}
.section-lab-stage .product-section-frame{margin-block:40px 80px}
.section-lab-stage>[hidden]{display:none}
@media(max-width:600px){
 .product-section-lab--studies{--lab-toolbar-position:static}
 .product-section-lab{--lab-toolbar-pad:12px;--lab-gap:12px;padding-top:24px}
 .section-lab-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);top:6px;align-items:start}
 .section-lab-toolbar .button{grid-column:1/-1;width:100%;justify-content:center}
 .section-lab-toolbar select{font-size:var(--type-small-size);padding-inline:8px}
 .section-lab-stage{scroll-margin-top:200px}
 .section-lab-caption{margin-top:var(--space-10)}
}
.product-layout--07 .product-details .related{margin-top:0}
/* 02+: artwork/purchase first, then a centered reading column across the whole row. */
.product-layout--focus{padding-inline:0;max-width:var(--max)}
.focus-flow{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"art purchase";gap:var(--space-12);align-items:start}
.focus-flow>.focus-art{grid-area:art}
.focus-flow>.focus-purchase{grid-area:purchase;position:sticky;top:var(--purchase-sticky-top,calc(var(--admin-offset,0px) + var(--panel-top,124px)));align-self:start;min-width:0}
.product-layout--focus .focus-reading{width:100%;max-width:900px;margin:56px auto 40px}
.focus-flow .summary{margin-top:var(--space-6);padding:22px}
.focus-flow .focus-specs{margin-top:18px}
.focus-flow .product-specs{padding:20px 22px;background:var(--surface);border-radius:var(--card-radius)}
/* Image-only viewer; shared by the gallery, story images and cover zoom. */
.product-image-dialog{--image-viewer-edge:clamp(12px,2vw,32px);--image-viewer-control:48px;--image-viewer-ink:#fff;--image-viewer-control-bg:#161616b3;--image-viewer-top:max(16px,env(safe-area-inset-top));position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:72px 76px 56px;border:0;border-radius:0;background:transparent;color:var(--image-viewer-ink);overflow:hidden}
.product-image-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center}
.product-image-dialog::backdrop{background:#000d}
.product-image-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;width:100%;height:100%;min-width:0;min-height:0}
.product-image-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border:0;border-radius:0;background:transparent;user-select:none;-webkit-user-drag:none}
.product-image-dialog>.product-image-control{position:absolute;z-index:1;display:grid;place-items:center;width:var(--image-viewer-control);height:var(--image-viewer-control);min-height:44px;padding:0;margin:0;border:0;border-radius:50%;background:var(--image-viewer-control-bg);color:inherit;box-shadow:none;cursor:pointer;touch-action:manipulation}
.product-image-dialog>.product-image-control[hidden]{display:none}
.product-image-dialog [data-image-close]{top:var(--image-viewer-top);right:var(--image-viewer-edge)}
.product-image-dialog [data-image-prev]{left:var(--image-viewer-edge);top:50%;transform:translateY(-50%)}
.product-image-dialog [data-image-next]{right:var(--image-viewer-edge);top:50%;transform:translateY(-50%)}
.product-image-control .dfvn-icon{width:22px;height:22px}
.product-image-dialog p{position:absolute;bottom:16px;left:var(--image-viewer-edge);right:var(--image-viewer-edge);font-size:var(--type-meta-size);line-height:1.5;color:inherit;text-align:center;margin:0;pointer-events:none}
.product-image-dialog:focus-visible{outline:none}
.product-image-control:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:600px){.product-image-dialog{--image-viewer-control:44px;padding:76px 12px 56px}}

.product-layout-tail{padding-bottom:72px}
.case-hero .product-gallery-locked{display:grid;place-items:center;padding:110px 24px 80px}
.case-hero--locked:after{background:none}
.product-immersive:has(.case-hero--locked):not(.case-header-visible) .site-header :is(.brand,.nav-list>li>a,.account-link,.header-cart,.theme-picker,.header-search-trigger){color:var(--ink)}
.product-layout-page .product-carousel-slide.is-current{opacity:1}
html.product-image-open{overflow:hidden}
.product-layout-page .product-carousel.is-dragging .product-carousel-track{transition:none}
@media(max-width:1100px){
 .product-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .case-rail{grid-template-columns:minmax(0,1fr) 340px;column-gap:var(--space-8)}
 .focus-flow{grid-template-columns:minmax(0,1fr) 340px;column-gap:30px}
 .product-layout--07{--centered-aside-width:320px}
}
@media(max-width:991px){
 .centered-flow{grid-template-columns:minmax(0,1fr);gap:var(--space-7)}
 .centered-purchase{position:static}
}
@media(max-width:800px){
 .product-layout-page.product-layout--07{--product-section-space:56px;--centered-title-size:var(--product-centered-title-size);--centered-title-leading:var(--product-centered-title-leading);padding-top:32px}
 .centered-head{margin-bottom:22px}
 .centered-head .woocommerce-breadcrumb{font-size:var(--type-meta-size);gap:6px;margin-bottom:18px}
 .centered-head .product-subtitle{font-size:var(--product-subtitle-size); margin:var(--title-lead-gap) auto 0; }
 .centered-flow .summary,.centered-flow .product-specs{padding:22px}
 .product-layout-page{--spec-title-size:18px;--spec-number-size:24px;--spec-version-size:20px;--spec-format-size:16px;--spec-detail-size:13px;--product-section-space:48px;--gallery-arrow-size:44px;--gallery-arrow-inset:10px}
 .case-opening>.case-hero:not(.case-hero--locked){height:auto}
 .case-opening>.case-cover-purchase{position:static;width:100%;margin:0 auto;padding:0 clamp(16px,3vw,32px);max-width:var(--content-narrow-width)}
 .case-opening>.product-heading{padding:var(--heading-card-gap) 20px;text-align:center}
 .case-opening>.product-heading h1{font-size:var(--product-cover-title-size);}
 .case-opening>.product-heading .product-subtitle{margin-inline:auto}
 .case-cover-purchase .summary{background:var(--surface);border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
 .product-spec-grid{gap:var(--space-4)}.product-spec-card{padding:18px}
 .product-cover-controls{bottom:16px}
 .product-layout--06 .case-rail{grid-template-areas:"purchase" "story"}
 .product-layout--06 .case-hero:not(.case-hero--locked){height:75svh;min-height:480px}
 .product-layout--06 .case-hero:not(.case-hero--locked) .product-carousel-slide{height:100%}
 .product-layout--06 .case-hero:not(.case-hero--locked) .product-carousel-slide :is(img,video){height:100%;object-fit:cover}
 .case-cover-heading{left:24px;bottom:80px;width:calc(100% - 48px)}
 .case-cover-heading .product-heading h1{font-size:var(--product-cover-title-size);}
 .product-immersive:not(.case-header-visible) .site-header #primary-nav,.product-immersive:not(.case-header-visible) .site-header #primary-nav .nav-list a{color:var(--ink)}
 /* Landscape artwork stays legible on a narrow screen. */
 .case-hero:not(.case-hero--locked){height:auto}
 .product-layout-page:not(.product-layout--06) .case-hero:not(.case-hero--locked) .product-carousel-slide,.product-layout-page:not(.product-layout--06) .case-hero:not(.case-hero--locked) .product-carousel-slide>a{height:auto}
 .product-layout-page:not(.product-layout--06) .case-hero:not(.case-hero--locked) .product-carousel-slide :is(img,video){height:auto;object-fit:contain}
 .case-hero:not(.case-hero--locked) .case-hero-caption{display:none}
 .case-hero:after{background:linear-gradient(180deg,#0006 0,transparent 45%)}
 .case-hero-caption{gap:10px;font-size:var(--type-caption-size)}
 .case-hero-caption a{gap:var(--space-2)}.case-hero-caption .dfvn-icon{width:16px;height:16px}
 .case-content{padding-top:36px}
 .case-rail{grid-template-columns:1fr;grid-template-areas:"intro" "purchase" "story";gap:var(--space-8)}
 .case-purchase{position:static;padding:0}
 .case-purchase .summary{padding:22px}
 .case-specs{margin-top:18px}.case-specs .product-specs{padding:20px 22px}
 .case-text-block{margin-bottom:var(--space-7)}.case-figure{margin-bottom:30px}
 .case-figure+.case-text-block{margin-top:44px}
 .product-layout-page .case-feed .product-carousel-slide img{border-radius:var(--card-radius)}
 .focus-flow{grid-template-columns:1fr;grid-template-areas:"art" "purchase";gap:var(--space-8)}
 .focus-flow>.focus-purchase{position:static}
 .product-layout--focus .focus-reading{margin:32px auto 0}
 .product-layout-page .woocommerce-breadcrumb{font-size:var(--type-micro-size);margin-bottom:18px}
 .product-layout-page .product-carousel-window{border-radius:var(--card-radius)}
 .product-layout-page .product-gallery-thumbnails{grid-auto-columns:minmax(84px,1fr);margin-top:var(--space-3)}
 .product-layout-tail{padding-bottom:48px}
}
@media(prefers-reduced-motion:reduce){
 .case-hero{transform:none!important;border-radius:0!important}
 .product-layout-page .product-carousel-track{transition:none}
 html:has(.product-layout-page){scroll-behavior:auto}
}

.focus-art{position:relative;min-width:0}
.product-immersive .dfvn-product>.onsale,.focus-art>.onsale{position:absolute;z-index:2;left:24px;top:112px;padding:8px 14px;border-radius:999px;background:var(--button-bg);color:var(--button-ink);font-size:var(--type-meta-size)}
.focus-art>.onsale{left:16px;top:16px}

.case-story-preview{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding:16px 18px;margin-bottom:var(--space-7);background:var(--surface);border-radius:10px;font-size:var(--type-meta-size);line-height:1.6}.case-story-preview p{margin:0}.case-story-preview a{text-decoration:underline;text-underline-offset:4px}
