/* Touch32: restrained, contextual cards and one shared action language. */
html[data-profile=touch32] body.minimal #app .mini-card{height:322px;padding:18px 20px;border:1px solid var(--line)}
html[data-profile=touch32] body.minimal #app .mini-card .product-image{height:174px;min-height:174px;margin-top:6px}
html[data-profile=touch32] body.minimal #app .mini-card .touch-card-heading h3{font-size:29px;margin:0 0 7px}
html[data-profile=touch32] body.minimal #app .touch-card-criteria{display:flex;gap:20px;margin-top:13px;color:var(--ink);line-height:1.25}
html[data-profile=touch32] body.minimal #app .touch-card-criteria>span{display:flex;align-items:baseline;gap:9px}
html[data-profile=touch32] body.minimal #app .touch-card-criteria small{font-size:17px;color:var(--touch-secondary)}
html[data-profile=touch32] body.minimal #app .touch-card-criteria strong{font-size:23px;font-weight:400;white-space:nowrap;color:var(--ink)}
html[data-profile=touch32] body.minimal #app .mini-card[data-owned=exact]{border:2px solid var(--ink);box-shadow:inset 0 0 0 5px var(--touch-surface),inset 0 0 0 6px var(--line)}
html[data-profile=touch32] body.minimal #app .mini-card[data-owned=model]{border:2px solid var(--touch-secondary)}
html[data-profile=touch32] body.minimal #app .touch-purchase-stamp{font-size:20px;top:14px;left:17px;right:auto;max-width:calc(100% - 90px);padding:5px 9px;background:var(--ink);color:var(--touch-nav-bg,#10100e);letter-spacing:0;line-height:1.2}
html[data-profile=touch32][data-touch-theme=white-city] body.minimal #app .touch-purchase-stamp{color:#f5f1e8;background:#403e37}
html[data-profile=touch32] body.minimal #app .mini-card[data-owned]:not([data-owned=false]) .product-image{margin-top:16px;height:164px;min-height:164px}
html[data-profile=touch32] body.minimal #app .touch-icon{width:27px;height:27px;flex:none;display:block}
html[data-profile=touch32] body.minimal #app .touch-save{position:absolute;right:16px;top:16px;z-index:6;width:60px;height:60px;display:grid;place-items:center;padding:13px;background:transparent;color:var(--ink);border-color:transparent}
html[data-profile=touch32] body.minimal #app .touch-save .touch-icon{width:30px;height:30px}
html[data-profile=touch32] body.minimal #app .touch-save-mark[data-saved=true] svg{fill:currentColor;stroke-width:1}
html[data-profile=touch32] body.minimal #app .touch-save:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
html[data-profile=touch32] body.minimal #app .touch-product-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;width:100%}
html[data-profile=touch32] body.minimal #app .touch-product-actions .touch-product-action{display:flex;align-items:center;justify-content:center;gap:10px;min-height:78px;font:400 23px/1.2 Arial;padding:17px 11px;color:var(--ink);background:var(--touch-surface)}
html[data-profile=touch32] body.minimal #app .touch-product-actions .touch-action-buy{background:var(--ink);color:var(--touch-nav-bg,#10100e);border-color:var(--ink)}
html[data-profile=touch32] body.minimal #app .touch-product-actions .touch-action-buy :is(svg,span){color:inherit}
html[data-profile=touch32] body.minimal #app .mini-detail{position:relative;padding:24px}
html[data-profile=touch32] body.minimal #app .mini-detail .detail-visuals,html[data-profile=touch32] body.minimal #app .mini-detail .detail-model{height:350px;min-height:350px}
html[data-profile=touch32] body.minimal #app .touch-product-identity{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:10px 0 14px}
html[data-profile=touch32] body.minimal #app .touch-product-identity .touch-colour{font-size:26px}
html[data-profile=touch32] body.minimal #app .touch-product-identity .touch-colour i{width:30px;height:30px;flex-basis:30px}
html[data-profile=touch32] body.minimal #app .touch-product-identity>strong{font-size:32px;font-weight:400;color:var(--ink)}
html[data-profile=touch32] body.minimal #app .studio{position:relative}
html[data-profile=touch32] body.minimal #app .studio>.touch-save{top:14px;right:16px;background:var(--touch-surface);border:1px solid var(--line)}
html[data-profile=touch32] body.minimal #app .studio>.fitting-controls>.swatches{top:90px;max-height:438px;padding:8px;gap:4px}
html[data-profile=touch32] body.minimal #app .touch-fitting-caption{padding:12px 0 0}
html[data-profile=touch32] body.minimal #app .try-carousel-track{gap:16px;padding:0 0 4px;scroll-snap-type:x mandatory}
html[data-profile=touch32] body.minimal #app .try-tile{flex:0 0 36%;width:36%;height:174px;min-width:0;padding:12px 10px;position:relative;scroll-snap-align:start;background:var(--touch-surface)}
html[data-profile=touch32] body.minimal #app .touch-clean-thumbnail{display:block;position:relative;width:100%;height:114px;overflow:hidden}
html[data-profile=touch32] body.minimal #app .touch-clean-thumbnail img{display:block;width:88%;height:100%;object-fit:contain;margin:auto}
html[data-profile=touch32] body.minimal #app .try-tile strong{font-size:23px;line-height:1.3;display:block;text-align:center;margin:4px 0 0}
html[data-profile=touch32] body.minimal #app .touch-swipe-navigation{display:flex;align-items:center;justify-content:center;gap:28px;background:none;border:0;padding:12px 0;margin:6px 0 14px;min-height:68px}
html[data-profile=touch32] body.minimal #app .touch-frame-count{font-size:20px;color:var(--touch-secondary);font-variant-numeric:tabular-nums}
html[data-profile=touch32] body.minimal #app .touch-swipe-cue{width:132px;height:60px;min-height:60px;padding:8px;background:transparent;border:0;display:block;color:var(--ink)}
html[data-profile=touch32] body.minimal #app .touch-swipe-cue svg{width:116px;height:32px;display:block;overflow:visible}
html[data-profile=touch32] body.minimal #app .touch-page-dots{display:flex;gap:3px;align-items:center}
html[data-profile=touch32] body.minimal #app .touch-page-dots button{width:38px;min-height:52px;padding:12px;background:transparent;border:0}
html[data-profile=touch32] body.minimal #app .touch-page-dots button i{width:7px;height:7px;border:1px solid currentColor;border-radius:50%;display:block}
html[data-profile=touch32] body.minimal #app .touch-page-dots button[aria-current=page] i{background:currentColor}
html[data-profile=touch32] body.minimal #app #lenses-form{min-height:0}
html[data-profile=touch32] body.minimal #app #lenses-form>.mini-pair,html[data-profile=touch32] body.minimal #app #lenses-form>.mini-pair .detail-model{height:254px!important;min-height:254px}
html[data-profile=touch32] body.minimal #app .mini-pair-identity small{margin-left:auto;font-size:20px;color:var(--touch-secondary)}
html[data-profile=touch32] body.minimal #app .customer-lens-routes[data-prescription-section]{padding:20px 22px;margin:0 0 25px;background:#30352f;border:1px solid #7c8575;color:#edf0e6}
html[data-profile=touch32] body.minimal #app .rx-section-heading h3{font-size:25px;color:inherit;margin:0 0 15px}
html[data-profile=touch32] body.minimal #app .rx-source-choices{gap:12px}
html[data-profile=touch32] body.minimal #app .rx-source-choice{padding:14px 12px;min-height:110px;background:transparent;color:inherit;border:1px solid #8c9585;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
html[data-profile=touch32] body.minimal #app .rx-source-choice span{font-size:22px;line-height:1.25;color:inherit}
html[data-profile=touch32] body.minimal #app .rx-source-choice svg{width:29px;height:29px;color:inherit}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-source-summary{background:transparent;border:0;color:inherit;padding:0;min-height:76px}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-source-summary :is(strong,span,svg){color:inherit}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-source-summary strong{font-size:25px}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-source-summary>div>span{font-size:20px;opacity:.88}
html[data-profile=touch32] body.minimal #app .customer-lens-routes button{color:inherit;background:transparent;border-color:#939c89}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-values{background:transparent;color:inherit;padding:15px 0 0}
html[data-profile=touch32] body.minimal #app .touch-lens-navigation{background:none;position:static;margin:22px 0 0;padding:0;justify-content:space-between}
html[data-profile=touch32] body.minimal #app .touch-lens-navigation .touch-back{font-size:22px;min-height:60px;background:transparent;padding:12px 16px}
html[data-profile=touch32] body.minimal #app .touch-add-pair{display:flex;align-items:center;justify-content:center;gap:12px;font-size:22px;min-height:64px;padding:13px 20px;background:transparent}
html[data-profile=touch32] body.minimal #app .touch-order-summary{width:100%;text-align:left;padding:26px;display:flex;flex-direction:column;gap:20px;background:var(--touch-surface);border:1px solid var(--ink);color:var(--ink)}
html[data-profile=touch32] body.minimal #app .touch-order-kicker{display:flex;gap:12px;align-items:center;font-size:22px}
html[data-profile=touch32] body.minimal #app .touch-order-line{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding-bottom:19px;border-bottom:1px solid var(--line)}
html[data-profile=touch32] body.minimal #app .touch-order-line>div{display:grid;gap:7px}
html[data-profile=touch32] body.minimal #app .touch-order-line strong{font-size:28px;font-weight:400}
html[data-profile=touch32] body.minimal #app .touch-order-line small{font-size:21px;color:var(--touch-secondary)}
html[data-profile=touch32] body.minimal #app .touch-order-total{display:flex;align-items:baseline;justify-content:space-between;width:100%;font-size:25px}
html[data-profile=touch32] body.minimal #app .touch-order-total>strong{font-size:38px;font-weight:500}
html[data-profile=touch32] body.minimal #app .touch-order-confirm{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:25px;padding-top:7px}
html[data-profile=touch32] body.minimal #app .touch-order-caption{font-size:21px;line-height:1.4;color:var(--touch-secondary);margin:14px 0}
html[data-profile=touch32] body.minimal #app .touch-basket-models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
html[data-profile=touch32] body.minimal #app .touch-basket-models[data-count="1"]{grid-template-columns:1fr}
html[data-profile=touch32] body.minimal #app .touch-basket-models .mini-pair{height:260px;position:relative;margin:0 0 30px}
html[data-profile=touch32] body.minimal #app .touch-basket-models .model-mount{height:220px;position:relative}
html[data-profile=touch32] body.minimal #app .touch-basket-models button{font-size:20px;min-height:52px;position:relative;margin:0 auto}
html[data-profile=touch32] body.minimal #app #mini-celebration .celebration-models{position:absolute;top:12%;left:44px;right:44px;height:420px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
html[data-profile=touch32] body.minimal #app #mini-celebration[data-count="1"] .celebration-models{grid-template-columns:1fr}
html[data-profile=touch32] body.minimal #app #mini-celebration .celebration-3d{height:100%;position:relative}
html[data-profile=touch32] body.minimal #app #mini-celebration .celebration-copy{top:45%;padding:25px}
html[data-profile=touch32] body.minimal #app #mini-celebration .celebration-copy h2{font-size:40px}
html[data-profile=touch32] body.minimal #app #mini-celebration .celebration-copy h3{font-size:29px;margin:16px 0 5px}
html[data-profile=touch32] body.minimal #app #mini-celebration .celebration-copy p{font-size:24px}
html[data-profile=touch32] body.minimal #app #mini-celebration .celebration-copy .celebration-options{font-size:20px;margin:0 0 10px}
html[data-profile=touch32] body.minimal #app #mini-celebration .celebration-actions{top:auto;bottom:12%;gap:12px;flex-wrap:wrap}
html[data-profile=touch32] body.minimal #app #mini-celebration .celebration-actions button{font-size:22px;min-height:64px;padding:15px}
.customer-entry{position:relative;overflow:hidden}
.customer-entry-content{display:flex;align-items:center;gap:14px}
.customer-entry-skeleton{position:absolute;inset:0;display:flex;gap:16px;align-items:center;padding:14px 20px;pointer-events:none}
.customer-entry-skeleton i{width:29px;height:29px;border:1px solid currentColor;border-radius:50%;opacity:.35}
.customer-entry-skeleton b{display:block;width:82%;height:13px;background:currentColor;opacity:.2}
@media(prefers-reduced-motion:no-preference){
 .customer-entry .customer-entry-content{animation:customer-label-reveal .7s 1.1s ease both}
 .customer-entry .customer-entry-skeleton{animation:customer-skeleton-fade .8s 1s ease both}
 .customer-entry .customer-entry-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent,#d6ccb61a,transparent);animation:customer-skeleton-shimmer 1.3s ease both}
 .touch-swipe-cue .swipe-orbit,.touch-swipe-cue .swipe-traveller{animation:touch-swipe-invite 3.6s ease-in-out infinite}
 @keyframes customer-label-reveal{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:none}}
 @keyframes customer-skeleton-fade{from{opacity:1}to{opacity:0}}
 @keyframes customer-skeleton-shimmer{to{transform:translateX(100%)}}
 @keyframes touch-swipe-invite{0%,20%,100%{transform:translateX(0);opacity:.5}55%{transform:translateX(27px);opacity:1}75%{transform:translateX(27px);opacity:.2}}
}
@media(prefers-reduced-motion:reduce){.customer-entry-skeleton{display:none}}
html[data-profile=touch32] body.minimal #app .model-mount[data-ready=true]>.model-loading{display:none}
.touch-comparison-picker{max-width:740px;width:calc(100% - 88px)}.touch-comparison-picker header{display:flex;align-items:center;justify-content:space-between}.touch-comparison-picker h2{font:400 29px Arial}.touch-comparison-picker fieldset{display:flex;gap:12px;margin:22px 0;border:0;padding:0}.touch-comparison-picker legend{font-size:20px;margin:0 0 12px}.touch-comparison-picker label{flex:1;position:relative}.touch-comparison-picker input{position:absolute;opacity:0}.touch-comparison-picker label span{display:block;padding:18px;border:1px solid var(--line);text-align:center;font-size:23px}.touch-comparison-picker input:checked+span{background:var(--ink);color:var(--touch-nav-bg,#10100e)}.touch-comparison-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.touch-comparison-options button{text-align:left;display:grid;gap:7px;padding:17px;min-height:80px;font-size:24px}.touch-comparison-options small{font-size:20px;color:var(--touch-secondary)}

/* Study 14: the same navigation, optical scale and actions in every scene. */
html[data-profile=touch32] body.minimal #app .touch-context-navigation{height:70px;flex:none;display:flex;align-items:flex-start;margin:0 0 12px}
html[data-profile=touch32] body.minimal #app .touch-context-navigation .touch-back{display:flex;align-items:center;gap:12px;max-width:100%;margin:0;min-height:64px;font-size:22px;text-align:left}
.touch-context-navigation svg{width:25px;height:25px;flex:none}
html[data-profile=touch32] body.minimal #app .mini-card .product-image>img{width:80%;height:100%;object-fit:contain;margin:auto}
html[data-profile=touch32] body.minimal #app .studio .try-carousel-track{display:flex;grid-auto-columns:unset;height:184px;gap:16px}
html[data-profile=touch32] body.minimal #app .studio .try-carousel-track .try-tile{flex:0 0 36%;width:36%;height:180px;padding:12px 8px;display:flex;flex-direction:column;gap:8px;justify-content:center}
html[data-profile=touch32] body.minimal #app .studio .touch-frame-photo{height:112px;min-height:112px;width:100%;display:flex;justify-content:center;align-items:center}
html[data-profile=touch32] body.minimal #app .studio .touch-frame-photo img{width:80%;max-width:none;height:auto;max-height:100%;object-fit:contain}
html[data-profile=touch32] body.minimal #app .studio .try-tile strong{font-size:23px;line-height:1.25;margin:0}
html[data-profile=touch32] body.minimal #app .touch-preview-fallback{position:absolute;width:80%;height:100%;object-fit:contain;left:10%;top:0;opacity:1}
html[data-profile=touch32] body.minimal #app .model-mount[data-ready=true]>.touch-preview-fallback{display:none}
html[data-profile=touch32] body.minimal #app .model-mount[data-preview-state=unavailable]>.model-loading{position:absolute;inset:auto 5% 8px;width:90%;font-size:18px;text-align:center;background:var(--touch-surface);padding:10px}
html[data-profile=touch32] body.minimal #app .customer-lens-routes[data-prescription-section] .rx-source-choice{background:#414b3e;color:#f3f2e9;border-color:#9ba78e}
html[data-profile=touch32] body.minimal #app .customer-lens-routes[data-prescription-section] .rx-source-choice:hover{background:#4c5947}
html[data-profile=touch32] body.minimal #app .customer-lens-routes[data-prescription-section] .rx-source-choice svg{color:inherit}
html[data-profile=touch32] body.minimal #app .touch-order-confirm{background:var(--ink);color:var(--touch-nav-bg,#10100e);padding:20px 22px;margin-top:4px;min-height:76px;font-size:26px;border:1px solid var(--ink)}
html[data-profile=touch32] body.minimal #app .touch-order-confirm svg{color:inherit}
html[data-profile=touch32] body.minimal #app .touch-order-total{padding:4px 0 12px}
html[data-profile=touch32] body.minimal #app .touch-review-models{height:285px;margin:0 0 20px;gap:20px}
html[data-profile=touch32] body.minimal #app .touch-review-models figure{margin:0;min-width:0;position:relative;border:1px solid var(--line);background:var(--touch-surface);display:flex;flex-direction:column}
html[data-profile=touch32] body.minimal #app .touch-review-models .model-mount{height:190px;flex:0 0 190px;position:relative}
html[data-profile=touch32] body.minimal #app .touch-review-models figcaption{padding:4px 16px 14px;display:grid;grid-template-columns:1fr auto;gap:6px 12px}
.touch-review-models figcaption strong{font-size:25px;font-weight:400}.touch-review-models figcaption .touch-colour{font-size:20px;grid-column:1}.touch-review-models figcaption small{font-size:17px;grid-column:2;grid-row:1/3;align-self:center;color:var(--touch-secondary)}
/* Details overlay their own visual rather than growing a card beyond the screen. */
html[data-profile=touch32] body.minimal #app .page-heading:has([data-action=buy-both]){display:flex;align-items:center;justify-content:space-between;gap:20px}
html[data-profile=touch32] body.minimal #app [data-action=buy-both]{display:flex;gap:10px;align-items:center;min-height:64px;padding:14px 20px;background:var(--ink);color:var(--touch-nav-bg,#10100e);font-size:22px}
html[data-profile=touch32] body.minimal #app .comparison>.card{position:relative;padding-top:72px;isolation:isolate}
html[data-profile=touch32] body.minimal #app .comparison .comparison-copy{padding:14px 18px 18px}
html[data-profile=touch32] body.minimal #app .comparison .comparison-copy .card-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:0 0 10px}
html[data-profile=touch32] body.minimal #app .comparison .comparison-copy .card-top h3{font-size:28px;margin:0}
html[data-profile=touch32] body.minimal #app .comparison .comparison-copy .card-top>span{font-size:24px;color:var(--ink)}
html[data-profile=touch32] body.minimal #app .comparison .comparison-colour{display:flex;align-items:center;gap:10px;font-size:22px;min-height:32px}
html[data-profile=touch32] body.minimal #app .comparison .comparison-colour-disc{width:24px;height:24px;border-radius:50%}
html[data-profile=touch32] body.minimal #app .comparison .card-actions{display:flex;margin-top:14px;border:0;justify-content:flex-start}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-try{display:flex;gap:10px;align-items:center;font-size:22px;min-height:60px;padding:12px 18px;background:var(--touch-surface)}
html[data-profile=touch32] body.minimal #app .comparison .touch-expand{position:absolute;right:14px;top:310px;width:58px;padding:14px;justify-content:center;background:var(--touch-surface);z-index:5}
html[data-profile=touch32] body.minimal #app .comparison .touch-remove-comparison{position:absolute;right:14px;top:12px;width:52px;height:52px;padding:8px;min-height:52px;background:transparent;border:0;font-size:28px}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-details{position:absolute;inset:0;pointer-events:none;margin:0;width:auto}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-details>button{position:absolute;top:12px;left:14px;min-height:52px;padding:10px 13px;display:flex;align-items:center;gap:9px;font-size:21px;pointer-events:auto}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-specs{position:absolute;inset:72px 12px auto;margin:0;padding:20px;background:var(--touch-surface);border:1px solid var(--ink);z-index:10;pointer-events:auto;box-shadow:0 8px 30px #0004}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-specs[hidden]{display:none}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-specs header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-specs header>button{width:44px;height:44px;min-height:44px;padding:5px;background:transparent;border:0;font-size:26px}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-specs dl{grid-template-columns:1fr 1fr;gap:18px 12px;margin:20px 0 0}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-specs dl>div{display:flex;flex-direction:column;gap:7px;padding:0 0 12px;min-width:0}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-specs dl>div:last-child{grid-column:1/-1}
html[data-profile=touch32] body.minimal #app .comparison .comparison-visual>.product-image img{width:80%;height:100%;object-fit:contain;margin:auto}
@media(prefers-reduced-motion:no-preference){
 .customer-entry[data-entry-phase=waiting] .customer-entry-content{opacity:0;animation:none}
 .customer-entry[data-entry-phase=waiting] .customer-entry-skeleton{opacity:1;animation:none}
 .customer-entry[data-entry-phase=revealing] .customer-entry-content{animation:customer-label-reveal .65s 1.15s ease both}
 .customer-entry[data-entry-phase=revealing] .customer-entry-skeleton{animation:customer-skeleton-fade .65s 1s ease both}
 .customer-entry[data-entry-phase=revealing] .customer-entry-skeleton:after{animation:customer-skeleton-shimmer 1.6s ease both}
 .customer-entry[data-entry-phase=complete] .customer-entry-skeleton{display:none}
 body[data-visit=active] .quiet-welcome .customer-entry{animation:none}
}

html[data-profile=touch32] body.minimal #app .model-mount[data-preview-state=unavailable]>.model-loading:after{display:none}
html[data-profile=touch32] body.minimal #app .comparison .touch-comparison-specs{background:var(--touch-panel-solid,#1c1b17)}

html[data-profile=touch32] body.minimal #app .comparison .comparison-visual>.product-image{padding:0}
html[data-profile=touch32] body.minimal #app .studio .try-carousel-track{flex-direction:row;flex-wrap:nowrap;align-items:stretch}
html[data-profile=touch32] body.minimal[data-view=studio] #app #page{top:132px}
html[data-profile=touch32] body.minimal #app .model-mount[data-preview-state=unavailable]>.model-loading{animation:none}
html[data-profile=touch32] body.minimal #app .model-mount[data-preview-state=unavailable]>.model-loading:before{display:none}
html[data-profile=touch32] body.minimal #app .model-mount[data-ready=true]>.model-poster{display:none}
/* The optional four-way comparison keeps the same controls in a compact grid. */
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"]>.card{padding-top:60px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .comparison-visual>.live-vto-mount{height:210px;flex-basis:210px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .comparison-colours{height:62px;min-height:62px;flex-basis:62px;padding:3px 0}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .comparison-copy{padding:9px 14px 12px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .comparison-copy .card-top h3{font-size:23px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .comparison-copy .card-top>span{font-size:21px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .comparison-colour{font-size:20px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .touch-expand{top:208px;min-height:48px;height:48px;width:48px;padding:10px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .card-actions{margin:0}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .touch-comparison-specs{top:60px;padding:16px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .touch-comparison-specs dl{gap:10px;margin-top:12px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .touch-comparison-specs h3{font-size:23px}
html[data-profile=touch32] body.minimal #app .comparison[data-count="4"] .touch-comparison-specs dd{font-size:21px}

html[data-profile=touch32] body.minimal #app #lenses-form>.mini-pair,html[data-profile=touch32] body.minimal #app #lenses-form>.mini-pair .detail-model{height:320px!important;min-height:320px}

html[data-profile=touch32] body.minimal #app .celebration-3d>.touch-preview-fallback{opacity:0}
html[data-profile=touch32] body.minimal #app .celebration-3d[data-preview-state=unavailable]>.touch-preview-fallback,html[data-profile=touch32] body.minimal #app #mini-celebration[data-preview-error=true] .touch-preview-fallback{opacity:1}
html[data-profile=touch32] body.minimal #app .celebration-3d[data-ready=true]>.touch-preview-fallback{display:none}
/* Study 15: editorial anchors and live fitting retain distinct visual roles. */
html[data-profile=touch32]{--touch-editorial:#303a38e8;--touch-editorial-ink:#e6e9df}
html[data-profile=touch32] body.minimal #app .mini-look-anchors .anchor-stage,
html[data-profile=touch32] body.minimal #app .touch-anchor-tabs button:not([aria-pressed=true]){background:var(--touch-editorial);color:var(--touch-editorial-ink);border-color:color-mix(in srgb,var(--touch-editorial-ink) 32%,transparent)}
html[data-profile=touch32] body.minimal #app .mini-look-anchors .anchor-stage :is(p,strong,.touch-colour){color:var(--touch-editorial-ink)}
html[data-profile=touch32] body.minimal #app .touch-live-badge{position:absolute;left:16px;bottom:16px;padding:7px 10px;font-size:13px;letter-spacing:.07em;color:#efeade;background:#151711d9;z-index:4}
html[data-profile=touch32] body.minimal #app .touch-looks-count{position:absolute;left:16px;top:16px;z-index:6;display:flex;align-items:center;gap:10px;padding:12px 16px;min-height:52px;background:var(--touch-editorial);color:var(--touch-editorial-ink);font-size:19px}
html[data-profile=touch32] body.minimal #app .touch-looks-count .touch-icon{width:23px;height:23px}
html[data-profile=touch32] body.minimal #app .studio[data-details=true]>.camera-slot{width:100%;justify-self:stretch}
html[data-profile=touch32] body.minimal #app .studio[data-details=true]>.mini-fitting-details{position:absolute;top:80px;left:16px;right:auto;width:252px;max-height:410px;padding:18px;overflow:hidden;background:var(--touch-editorial);color:var(--touch-editorial-ink);z-index:5}
html[data-profile=touch32] body.minimal #app .studio[data-details=true]>.mini-fitting-details :is(h3,dt,dd,p){color:inherit}
html[data-profile=touch32] body.minimal #app .studio[data-details=true]>.mini-fitting-details h3{font-size:24px;margin-bottom:12px}
html[data-profile=touch32] body.minimal #app .studio[data-details=true]>.mini-fitting-details dl{display:grid;grid-template-columns:1fr;gap:6px}
html[data-profile=touch32] body.minimal #app .studio[data-details=true]>.mini-fitting-details :is(dt,dd){font-size:19px;margin:0;line-height:1.15}
html[data-profile=touch32] body.minimal #app .studio[data-details=true]>.mini-fitting-details dt{opacity:.75;margin-top:7px}
html[data-profile=touch32] body.minimal #app .studio[data-details=true]>.fitting-controls>.swatches{position:absolute;top:90px;right:18px;left:auto;flex-direction:column;flex-wrap:nowrap;margin:0;padding:8px;gap:4px;max-height:414px;width:auto;z-index:6}
html[data-profile=touch32] body.minimal #app .mini-fittings-nav .touch-swipe-cue{background:transparent;border:0}
html[data-profile=touch32] body.minimal #app #lenses-form>.mini-pair,
html[data-profile=touch32] body.minimal #app #lenses-form>.mini-pair .detail-model{height:210px!important;min-height:210px}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-source-summary{min-height:62px}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-source-summary>div:first-of-type{min-width:0;flex:1}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-source-summary strong{font-size:23px}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-source-summary>div>span{font-size:18px}
html[data-profile=touch32] body.minimal #app .rx-source-actions{display:flex;gap:8px;flex:none}
html[data-profile=touch32] body.minimal #app .rx-source-actions button{font-size:18px;min-height:56px;padding:12px}
html[data-profile=touch32] body.minimal #app .rx-source-actions .rx-confirm{background:#e6eadf;color:#283325;border-color:#e6eadf}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-values{padding:8px 0 0}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-values :is(th,td){padding:8px;font-size:20px}
html[data-profile=touch32] body.minimal #app .customer-lens-routes .rx-values .customer-note{font-size:17px;line-height:1.2;margin:8px 0 0}
/* A missing vendor preview retains its genuine front packshot. */
html[data-profile=touch32] body.minimal #app .product-image[data-model-expected=true]:has(.touch-card-model[data-failed=true])>img{opacity:1!important}
html[data-profile=touch32] body.minimal #app .touch-card-model[data-failed=true]{place-items:end center;pointer-events:none}
html[data-profile=touch32] body.minimal #app .touch-card-model[data-failed=true]:after{font-size:12px;background:var(--touch-surface);padding:3px 6px}
html[data-profile=touch32] body.minimal #app #mini-guide{background:var(--touch-editorial);color:var(--touch-editorial-ink)}
html[data-profile=touch32] body.minimal #app #mini-guide :is(small,p){color:inherit}
