.tpvz-header{background:#f5f1ea;padding:3rem 0 1.5rem}.tpvz-header-inner{width:min(1440px,calc(100% - 2rem));margin:0 auto}.tpvz-crumb{font-size:.72rem;color:#7d8595;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:.65rem}.tpvz-crumb a{color:#7d8595;text-decoration:none}.tpvz-crumb a:hover,.tpvz-title{color:var(--navy,#0a1524)}.tpvz-title{font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-size:clamp(2.2rem,4.5vw,3.75rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin:0 0 .85rem;max-width:26ch}.tpvz-title em{font-style:italic;color:var(--orange,#e55d1c);font-weight:800}.tpvz-lede{font-size:1rem;color:#3d4b5e;line-height:1.6;max-width:60ch;margin:0}.tpvz{--tpvz-canvas:#f5f1ea;--tpvz-canvas-strong:#ebe5da;--tpvz-paper:#ffffff;--tpvz-ink:var(--navy,#0a1524);--tpvz-ink-soft:#3d4b5e;--tpvz-muted:#7d8595;--tpvz-line:rgba(10,21,36,0.08);--tpvz-line-strong:rgba(10,21,36,0.18);--tpvz-accent:var(--orange,#e55d1c);--tpvz-shadow-preview:0 32px 80px -24px rgba(10,21,36,0.28),0 8px 24px -12px rgba(10,21,36,0.14);--tpvz-shadow-card:0 2px 12px rgba(10,21,36,0.05);color:var(--tpvz-ink);background:var(--tpvz-canvas);padding:1.5rem 0 4rem}.tpvz-shell{width:min(1440px,calc(100% - 2rem));margin:0 auto}.tpvz-layout{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:2rem;align-items:start;position:relative}@media (max-width:1200px){.tpvz-layout{grid-template-columns:minmax(0,1fr) 400px}}@media (max-width:1024px){.tpvz-layout{grid-template-columns:1fr}}.tpvz-stage{display:flex;flex-direction:column;gap:1.75rem;min-width:0;align-items:center}.tpvz-preview{margin:0;background:var(--tpvz-paper);border-radius:24px;padding:clamp(1rem,2vw,1.75rem);box-shadow:var(--tpvz-shadow-preview);width:100%;max-width:900px}.tpvz-preview-matboard{position:relative;width:100%;max-height:clamp(520px,78vh,820px);border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 12px var(--tpvz-paper)}.tpvz-preview-color{position:absolute;inset:0;animation:tpvz-fade-in .24s ease-out}.tpvz-preview-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--tpvz-preview-overscan,1.06));transform-origin:center;display:block;animation:tpvz-fade-in .32s ease-out}.tpvz-preview-vignette{position:absolute;inset:12px;pointer-events:none;background:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.06) 0,rgba(255,255,255,0) 45%,rgba(10,21,36,.08) 85%,rgba(10,21,36,.12) 100%);border-radius:4px}@keyframes tpvz-fade-in{0%{opacity:.55}to{opacity:1}}.tpvz-preview-badge{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:.6rem 1rem .6rem .6rem;border-radius:999px;box-shadow:0 10px 26px rgba(10,21,36,.18);border:1px solid rgba(255,255,255,.7);max-width:calc(100% - 40px);z-index:3}.tpvz-preview-badge-dot{width:28px;height:28px;border-radius:999px;flex:none;border:2px solid #fff;box-shadow:0 0 0 1px rgba(10,21,36,.1)}.tpvz-preview-badge-name{display:block;font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-size:1rem;font-weight:700;color:var(--tpvz-ink);line-height:1.15;letter-spacing:-.005em}.tpvz-preview-badge-name em{font-style:italic}.tpvz-preview-badge-code{display:block;font-size:.65rem;color:var(--tpvz-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-top:2px}.tpvz-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%;max-width:900px}@media (max-width:640px){.tpvz-thumbs{grid-auto-flow:column;grid-template-columns:unset;grid-auto-columns:62%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 4px 12px}.tpvz-thumb{scroll-snap-align:start}}.tpvz-thumb{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;background:var(--tpvz-paper);border:1px solid var(--tpvz-line);border-radius:14px;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.tpvz-thumb:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(10,21,36,.09)}.tpvz-thumb-active{border-color:var(--tpvz-ink);box-shadow:0 12px 28px rgba(10,21,36,.14)}.tpvz-thumb-visual{position:relative;width:100%;aspect-ratio:4/3;border-radius:9px;overflow:hidden;transition:background-color .24s ease}.tpvz-thumb-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.06);transform-origin:center}.tpvz-thumb-caption{display:flex;flex-direction:column;gap:2px;padding:.15rem .25rem .25rem}.tpvz-thumb-name{font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-size:.92rem;font-weight:700;color:var(--tpvz-ink);letter-spacing:-.005em}.tpvz-thumb-cat{font-size:.66rem;color:var(--tpvz-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.tpvz-sheet-trigger{display:none}@media (max-width:1024px){.tpvz-sheet-trigger{display:flex;align-items:center;gap:.85rem;width:100%;max-width:900px;background:var(--tpvz-paper);border:1px solid var(--tpvz-line);border-radius:16px;padding:.9rem 1rem;cursor:pointer;box-shadow:var(--tpvz-shadow-card)}.tpvz-sheet-trigger-dot{width:36px;height:36px;border-radius:8px;border:1px solid rgba(10,21,36,.08);flex:none}.tpvz-sheet-trigger-label{display:flex;flex-direction:column;flex:1;text-align:left}.tpvz-sheet-trigger-eyebrow{font-size:.65rem;color:var(--tpvz-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.tpvz-sheet-trigger-label em{font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-style:italic;font-size:1rem;color:var(--tpvz-ink);margin-top:2px}.tpvz-sheet-trigger-label em span{font-family:inherit;color:var(--tpvz-muted);font-size:.72rem;font-style:normal;text-transform:uppercase;letter-spacing:.06em;margin-left:.25rem}.tpvz-sheet-trigger-cta{font-size:.75rem;color:var(--tpvz-ink);font-weight:700;letter-spacing:.02em;white-space:nowrap}}.tpvz-palette{background:var(--tpvz-paper);border:1px solid var(--tpvz-line);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:var(--tpvz-shadow-card);position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);min-height:0}.tpvz-backdrop,.tpvz-sheet-close,.tpvz-sheet-handle{display:none}@media (max-width:1024px){.tpvz-palette{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:88dvh;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);z-index:60;border-radius:20px 20px 0 0;box-shadow:0 -20px 60px rgba(10,21,36,.25);padding-top:.85rem}.tpvz-palette-open{transform:translateY(0)}.tpvz-sheet-handle{display:block;width:42px;height:4px;background:rgba(10,21,36,.15);border-radius:999px;margin:0 auto .75rem}.tpvz-sheet-close{display:grid;place-items:center;position:absolute;top:12px;right:14px;background:var(--tpvz-canvas);border:0;width:30px;height:30px;border-radius:999px;font-size:1.15rem;line-height:1;cursor:pointer;color:var(--tpvz-ink)}.tpvz-backdrop{display:block;position:fixed;inset:0;background:rgba(10,21,36,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:55;animation:tpvz-fade-in .22s ease-out}}.tpvz-specimen{display:flex;align-items:stretch;gap:1rem;padding:.85rem;background:var(--tpvz-canvas);border-radius:14px}.tpvz-specimen-chip{width:132px;height:132px;border-radius:12px;flex:none;border:1px solid rgba(10,21,36,.1);box-shadow:inset 0 0 0 2px rgba(255,255,255,.4),inset 0 -8px 16px rgba(10,21,36,.05);transition:background-color .24s ease}@media (max-width:480px){.tpvz-specimen-chip{width:96px;height:96px}}.tpvz-specimen-meta{display:flex;flex-direction:column;justify-content:center;gap:.35rem;min-width:0;flex:1}.tpvz-specimen-eyebrow{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--tpvz-muted)}.tpvz-specimen-name{font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-weight:700;font-size:1.55rem;line-height:1.1;color:var(--tpvz-ink);margin:.1rem 0 .35rem;letter-spacing:-.018em;overflow-wrap:break-word}@media (max-width:480px){.tpvz-specimen-name{font-size:1.3rem}}.tpvz-specimen-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tpvz-specimen-code{font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-size:.78rem;font-weight:700;color:var(--tpvz-ink-soft);letter-spacing:.04em;padding:3px 10px;border:1px solid var(--tpvz-line-strong);border-radius:999px}.tpvz-specimen-family{font-size:.66rem;color:var(--tpvz-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.tpvz-specimen-sample{align-self:flex-start;margin-top:.5rem;display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--tpvz-ink);color:var(--tpvz-ink);border-radius:999px;padding:.35rem .85rem;font-size:.75rem;font-weight:700;letter-spacing:.02em;cursor:not-allowed;opacity:.75;transition:background .14s ease,color .14s ease,border-color .14s ease}.tpvz-specimen-sample:hover:not(:disabled){background:var(--tpvz-accent);border-color:var(--tpvz-accent);color:#fff}.tpvz-specimen-sample-soon{font-size:.6rem;padding:1px 6px;border-radius:999px;background:rgba(10,21,36,.08);color:var(--tpvz-muted);text-transform:uppercase;letter-spacing:.1em}.tpvz-controls{display:grid;grid-template-columns:1fr 44%;gap:.5rem}.tpvz-search{position:relative;display:block}.tpvz-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--tpvz-muted);pointer-events:none}.tpvz-search input{width:100%;padding:.6rem .9rem .6rem 2rem;border:1px solid var(--tpvz-line-strong);border-radius:10px;font-size:.85rem;background:var(--tpvz-paper);color:var(--tpvz-ink)}.tpvz-search input:focus{outline:none;border-color:var(--tpvz-ink);box-shadow:0 0 0 3px rgba(10,21,36,.08)}.tpvz-family-select{position:relative;display:block}.tpvz-family-select select{width:100%;appearance:none;-webkit-appearance:none;padding:.6rem 2rem .6rem .85rem;border:1px solid var(--tpvz-line-strong);border-radius:10px;font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-size:.85rem;font-weight:700;color:var(--tpvz-ink);background:var(--tpvz-paper);cursor:pointer}.tpvz-family-select select:focus{outline:none;border-color:var(--tpvz-ink);box-shadow:0 0 0 3px rgba(10,21,36,.08)}.tpvz-family-select-chev{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--tpvz-ink-soft);pointer-events:none;font-size:.85rem}.tpvz-fandeck{flex:1;min-height:0;overflow-y:auto;background:var(--tpvz-canvas);border-radius:12px;padding:.25rem .6rem .5rem;margin:0 -.15rem}.tpvz-group+.tpvz-group{margin-top:.85rem}.tpvz-group-header{position:sticky;top:0;z-index:2;background:linear-gradient(to bottom,var(--tpvz-canvas) 70%,rgba(245,241,234,0) 100%);display:flex;align-items:baseline;justify-content:space-between;padding:.55rem .35rem .5rem}.tpvz-group-name{font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-size:.82rem;font-weight:700;color:var(--tpvz-ink);letter-spacing:-.005em}.tpvz-group-count{font-size:.65rem;color:var(--tpvz-muted);font-weight:700;letter-spacing:.06em}.tpvz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px}.tpvz-swatch{position:relative;width:100%;aspect-ratio:1/1;border:1px solid rgba(10,21,36,.08);border-radius:10px;cursor:pointer;padding:0;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.tpvz-swatch:hover{transform:scale(1.1);z-index:2;border-color:var(--tpvz-ink)}.tpvz-swatch-active{box-shadow:0 0 0 2px var(--tpvz-paper),0 0 0 5px var(--tpvz-ink);transform:scale(1.06);z-index:3}.tpvz-swatch-tick{position:absolute;top:4px;right:4px;width:16px;height:16px;display:grid;place-items:center;background:var(--tpvz-paper);color:var(--tpvz-ink);font-size:10px;font-weight:700;border-radius:999px;box-shadow:0 1px 3px rgba(10,21,36,.2)}.tpvz-count{margin:0;font-size:.72rem;color:var(--tpvz-muted);text-align:center;letter-spacing:.04em}.tpvz-empty{padding:2rem 1rem;text-align:center}.tpvz-empty-title{font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-style:italic;font-size:1.05rem;color:var(--tpvz-ink);margin:0 0 .35rem}.tpvz-empty-hint{font-size:.82rem;color:var(--tpvz-muted);margin:0}.tpvz-empty-hint code{background:var(--tpvz-paper);border:1px solid var(--tpvz-line-strong);padding:1px 6px;border-radius:4px;font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-weight:700}.tpvz-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.vhero{position:relative;background:#0A1524}.vhero__frame{position:relative;width:100%;height:clamp(420px,68vh,640px);overflow:hidden;isolation:isolate}.vhero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .48s ease;z-index:0;will-change:opacity}.vhero__bg--active{opacity:1;z-index:1}.vhero__scrim{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(10,21,36,.72),rgba(10,21,36,.42) 42%,rgba(10,21,36,.05) 70%,rgba(10,21,36,0))}.vhero__inner{position:relative;z-index:3;width:min(1440px,100%);height:100%;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(20px,4vw,56px);display:flex;align-items:center}.vhero__copy{color:#F3EEE6;max-width:520px;display:flex;flex-direction:column;gap:20px}.vhero .vhero__title{font-family:var(--font-serif);font-weight:700;font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.02em;margin:0;color:#ffffff;text-shadow:0 2px 24px rgba(0,0,0,.55),0 0 3px rgba(0,0,0,.35)}.vhero .vhero__title em{font-style:italic;font-weight:700;color:#ffffff}.vhero__lede{margin:0;font-size:clamp(15px,1.15vw,18px);line-height:1.55;color:rgba(246,239,231,.86);max-width:30ch}.vhero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.vhero__cta{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.02em;text-decoration:none;transition:transform .25s var(--ease-out),background .2s ease,color .2s ease,border-color .2s ease}.vhero__cta--primary{background:var(--orange,#F87303);color:#fff}.vhero__cta--primary:hover{transform:translateY(-2px);background:#FF8419}.vhero__cta--ghost{background:transparent;color:#FBFAF8;border:1.5px solid rgba(255,255,255,.55)}.vhero__cta--ghost:hover{border-color:#FBFAF8;transform:translateY(-2px)}.vhero__chips-wrap{margin-top:8px}.vhero__chips-label{margin:0 0 10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#FBFAF8;opacity:.9;font-weight:700}.vhero__chips{display:flex;gap:10px;align-items:center}.vhero__chip{width:40px;height:40px;border-radius:999px;border:2px solid rgba(255,255,255,.85);cursor:pointer;padding:0;transition:transform .2s var(--ease-out),box-shadow .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.22)}.vhero__chip:hover{transform:scale(1.1)}.vhero__chip--active{transform:scale(1.14);box-shadow:0 0 0 3px rgba(255,255,255,.9),0 6px 16px rgba(0,0,0,.28)}.vhero__chip-name{margin:10px 0 0;font-family:var(--font-serif);font-style:italic;font-size:15px;color:rgba(251,250,248,.9)}@media (max-width:900px){.vhero__frame{height:clamp(460px,82vh,720px)}.vhero__scrim{background:linear-gradient(180deg,rgba(10,21,36,.3),rgba(10,21,36,.55) 55%,rgba(10,21,36,.82))}.vhero__inner{align-items:flex-end;padding-bottom:32px}.vhero__copy,.vhero__lede{max-width:none}}@media (max-width:520px){.vhero__title{font-size:clamp(34px,9vw,44px)}.vhero__chip{width:36px;height:36px}}