/* preview.css */
/* Brand v0.1. Both proposals use original signs and the same factual catalog. */
:root{--graphite:#2e3031;--gold:#e3cb7b;--warm:#f4f1ea;--white:#fff;--black:#000;--muted:#62625d;--rule:#c4c1b8;--radius:6px;--container:min(1280px,calc(100% - 96px));color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;font:16px/1.5 Arial,sans-serif;color:var(--graphite);background:var(--warm);padding-bottom:96px}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:700;line-height:1.12;text-wrap:balance}h1{font-size:56px;letter-spacing:-.035em}h2{font-size:36px;letter-spacing:-.025em}h3{font-size:24px;letter-spacing:-.02em}p{max-width:65ch}::selection{color:var(--graphite);background:var(--gold)}input{caret-color:var(--graphite)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px;box-shadow:0 0 0 6px var(--graphite)}a:hover{text-decoration:underline;text-underline-offset:5px}button:hover{filter:brightness(.96)}button:disabled{cursor:default;opacity:.6}svg{flex-shrink:0}fieldset{min-width:0}select{max-width:100%}input[type=checkbox]{accent-color:var(--graphite);width:18px;height:18px;flex-shrink:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:fixed;top:12px;left:12px;transform:translateY(-160%);z-index:20;background:var(--gold);padding:12px 20px}.skip:focus{transform:none}.section{width:var(--container);margin-inline:auto;padding-block:72px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:32px}.section-title p{max-width:360px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 24px;border:1px solid transparent;border-radius:var(--radius);background:var(--gold);color:var(--graphite);font-weight:700;line-height:1.3}.button:hover{text-decoration:none;background:#ead58f}.button.secondary{border-color:var(--graphite);background:transparent}.text-link{display:inline-flex;align-items:center;gap:16px;font-weight:700;min-height:44px;background:none;border:0;padding:0}.icon-button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;min-height:44px;min-width:44px;padding:8px;color:inherit}.icon-button span{font-size:14px}.site-header{background:var(--graphite);color:var(--white)}.header-inner{width:var(--container);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:96px}.brand{display:flex;align-items:center;flex-shrink:0;gap:16px}.brand:hover{text-decoration:none}.emblem{position:relative;overflow:hidden;width:60px;height:60px;flex-shrink:0}.emblem img{position:absolute;max-width:none;width:80.972px;height:113.036px;left:-10.567px;top:-18.502px}.wordmark{display:flex;align-items:center;padding:24px 0;width:196px}.wordmark img{width:100%;height:auto}.desktop-nav{display:flex;gap:28px;font-size:16px}.header-actions{display:flex;align-items:center;gap:16px}.cart-count{font-size:12px;min-width:18px;display:inline-flex;justify-content:center;align-items:center;line-height:18px;background:var(--gold);color:var(--graphite);border-radius:4px;margin-left:4px}.mobile-menu-button{display:none}.mobile-menu{padding:16px 24px;border-top:1px solid #74746a}.mobile-menu a{display:block;padding:12px 0}.type-navigation{display:flex;justify-content:center;gap:48px;background:var(--white);color:var(--graphite);border-bottom:1px solid var(--rule);padding:16px 32px}.search{display:flex;align-items:center;gap:12px;border:1px solid var(--rule);background:var(--white);color:var(--graphite);border-radius:var(--radius);min-height:50px;padding:0 12px}.search input{width:100%;min-width:0;border:0;background:none;padding:12px 0;color:var(--graphite);outline:none;font-size:16px}.search input::placeholder{color:var(--muted)}.search:focus-within{outline:2px solid var(--graphite);outline-offset:2px}.search button{display:flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border:0;background:none}.header-inner>.search{flex:1;max-width:450px}
.architecture-hero{display:grid;grid-template-columns:42% 58%;min-height:600px;background:var(--graphite);color:var(--white)}.hero-copy{padding:64px 48px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:28px}.hero-copy h1 em{font-style:normal;color:var(--gold)}.hero-copy p{font-size:18px;line-height:1.55;max-width:360px}.architecture-hero .hero-copy p{color:var(--warm)}.hero-copy .text-link{font-size:14px;font-weight:400;min-height:40px}.hero-scene{position:relative;min-width:0;min-height:0}.hero-scene>img{width:100%;height:100%;object-fit:cover;object-position:55% 50%}.hero-scene figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--graphite);color:var(--white);padding:16px 24px;font-size:14px}.architecture-hero .hero-scene{margin:24px 24px 24px 0}.architecture-hero .hero-scene figcaption{background:var(--black)}.architecture-hero .hero-copy{padding-left:max(48px,calc((100vw - 1280px)/2));padding-right:40px}.light-hero{width:var(--container);margin:40px auto 0;display:grid;grid-template-columns:48% 52%;background:var(--warm);min-height:464px}.light-hero .hero-copy{padding:32px 48px 32px 0}.light-hero .hero-copy h1{font-size:48px}.light-hero .hero-scene>img{object-fit:contain;background:#2e3031}.light-hero .hero-scene figcaption{display:flex;justify-content:space-between;gap:16px}.light-hero .hero-scene figcaption a{display:flex;align-items:center;gap:16px}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.category-tile{position:relative;display:block;overflow:hidden}.category-tile>img{width:100%;height:320px;object-fit:cover}.category-tile>div{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--white);padding:24px}.category-tile:hover{text-decoration:none}.category-tile:hover h3{text-decoration:underline;text-underline-offset:5px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.product-card{min-width:0;background:var(--white)}.product-picture{position:relative;display:block;background:var(--warm);aspect-ratio:6/5;overflow:hidden}.product-picture img{width:100%;height:100%;object-fit:contain}.product-tag{position:absolute;top:16px;left:16px;background:var(--graphite);color:var(--gold);font-size:14px;line-height:1;padding:8px 10px;border-radius:4px}.card-copy{padding:20px}.card-category{display:block;font-size:14px;color:var(--muted);margin-bottom:8px}.card-name{display:block;font-size:24px;font-weight:700;line-height:1.2}.card-copy p{margin-top:10px;font-size:14px;color:var(--muted)}.card-action{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;border-top:1px solid var(--rule);font-size:14px;font-weight:700;min-height:44px}.no-photo{display:flex;height:100%;width:100%;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--graphite);background:var(--warm)}.model-section{padding-top:24px}.collection-section{display:grid;grid-template-columns:58% 42%;background:var(--graphite);color:var(--white)}.collection-photo img{width:100%;height:100%;max-height:500px;object-fit:cover}.collection-copy{padding:56px 48px;display:flex;flex-direction:column;justify-content:center;gap:24px}.collection-copy p{color:var(--warm)}.collection-links{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.collection-links a{padding:16px 0;border-bottom:1px solid #88877c;display:flex;justify-content:space-between;gap:16px;color:var(--gold);font-size:24px}.professional-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}.professional-links button{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:132px;text-align:left;padding:24px;border:0;border-bottom:1px solid var(--rule);background:none}.professional-links button+button{border-left:1px solid var(--rule)}.professional-links strong{display:block;font-size:24px;line-height:1.2;margin-bottom:12px}.professional-links small{display:block;font-size:14px;color:var(--muted);line-height:1.5}.footer{padding:48px max(48px,calc((100vw - 1280px)/2));background:var(--graphite);color:var(--white)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:48px;padding-bottom:40px}.footer-top p{font-size:14px;color:var(--warm)}.footer-top>a:last-child{display:flex;align-items:center;gap:16px;color:var(--gold)}.footer-bottom{border-top:1px solid #88877c;padding-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:14px;color:var(--warm)}
/* B prioritizes choosing an item; A prioritizes the architectural composition. */
[data-variant=light]{background:var(--white)}[data-variant=light] .section{padding-block:56px}[data-variant=light] .categories-section{padding-bottom:40px}[data-variant=light] .category-grid{grid-template-columns:repeat(4,1fr);gap:24px}[data-variant=light] .category-tile>img{height:180px;object-fit:contain}[data-variant=light] .category-tile>div{padding:16px 0;align-items:start}[data-variant=light] .category-tile h3{font-size:20px}[data-variant=light] .product-card{border-bottom:1px solid var(--rule)}[data-variant=light] .card-copy{padding:16px 0 20px}[data-variant=light] .collection-section{width:var(--container);margin:32px auto;grid-template-columns:1fr 1fr}[data-variant=light] .collection-photo img{max-height:460px}[data-variant=light] .collection-copy{padding:40px}[data-variant=light] .professional-links{display:block}[data-variant=light] .professional-links button{width:100%;min-height:88px;padding:20px 0}[data-variant=light] .professional-links button+button{border-left:0}[data-variant=light] .professional-links button>span{display:flex;align-items:center;gap:48px;width:100%}[data-variant=light] .professional-links strong{margin:0;min-width:300px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:14px;color:var(--muted);margin-bottom:28px}.breadcrumbs a:after{content:' /';margin-left:16px;color:var(--muted)}.catalog-intro{padding-block:40px}.catalog-title{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:28px}.catalog-title h1{font-size:48px}.catalog-title p{max-width:380px;color:var(--muted)}.catalog-intro>.search{max-width:560px}.catalog-layout{padding-top:0;display:block}.filters{display:flex;align-items:start;justify-content:space-between;gap:32px;background:var(--white);padding:24px;margin-bottom:32px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.filters fieldset{border:0;padding:0;margin:0}.filters legend{font-size:16px;font-weight:700;margin-bottom:16px}.filters label{display:flex;align-items:start;gap:8px;font-size:14px;padding:6px 0}.filters select{border:1px solid var(--rule);border-radius:var(--radius);background:var(--white);min-height:44px;padding:8px 12px;width:170px}.filters fieldset:nth-of-type(1){display:grid;grid-template-columns:1fr 1fr;gap:0 20px;flex:1}.filter-heading h2{font-size:20px;max-width:170px;margin-bottom:12px}.filter-heading button{font-size:14px;background:none;border:0;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:0}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.results-heading p{font-weight:700}.results-heading>span{font-size:14px;color:var(--muted)}#show-more{display:flex;margin:32px auto 0}.empty-results{padding:64px 0}.empty-results h2{font-size:28px}.empty-results p{margin:16px 0 24px}[data-variant=light] .catalog-title{display:block}[data-variant=light] .catalog-title p{margin-top:16px;max-width:560px}[data-variant=light] .catalog-intro{padding-bottom:24px}[data-variant=light] .catalog-intro>.search{display:none}[data-variant=light] .catalog-layout{display:grid;grid-template-columns:224px 1fr;gap:40px;padding-top:0}[data-variant=light] .filters{display:block;background:var(--warm);padding:24px;border:0;margin:0;align-self:start}[data-variant=light] .filter-heading h2{max-width:none}[data-variant=light] .filters fieldset{margin-top:24px}[data-variant=light] .filters fieldset:nth-of-type(1){display:block}[data-variant=light] .catalog-products{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-intro{padding-block:32px 0}.product-intro .breadcrumbs{margin:0}.product-detail{display:grid;grid-template-columns:58% 42%;gap:0;padding-top:32px;padding-bottom:48px}.gallery{padding-right:48px;min-width:0}.main-photo{aspect-ratio:6/5;background:var(--white)}.main-photo img{width:100%;height:100%;object-fit:contain}.thumbnails{display:flex;gap:12px;margin-top:16px}.thumbnails button{padding:0;width:calc((100% - 48px)/5);aspect-ratio:6/5;border:2px solid transparent;background:var(--white);border-radius:4px;overflow:hidden}.thumbnails button[aria-pressed=true]{border-color:var(--graphite)}.thumbnails img{width:100%;height:100%;object-fit:contain}.product-info{padding:32px;background:var(--graphite);color:var(--white);align-self:start}.product-type{font-size:16px;color:var(--warm);margin-bottom:16px}.product-info h1{font-size:48px}.product-summary{font-size:18px;margin:20px 0 24px;color:var(--warm);max-width:370px}.specifications{margin:0}.specifications>div{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:16px}.specifications dt{color:var(--muted)}.specifications dd{margin:0}.product-info .specifications>div{border-color:#858579}.product-info .specifications dt{color:var(--warm)}.purchase{background:var(--white);color:var(--graphite);padding:24px;margin:32px 0 20px}.length-label{display:block;font-weight:700;margin-bottom:12px}.lengths{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.lengths button{min-height:44px;min-width:76px;padding:8px 16px;background:var(--white);border:1px solid var(--muted);border-radius:4px}.lengths button[aria-pressed=true]{background:var(--graphite);color:var(--gold);border-color:var(--graphite)}.purchase-action{display:flex;gap:16px;align-items:center}.purchase-action>.button{flex:1;padding-inline:16px;gap:16px}.quantity{display:flex;align-items:center;justify-content:center;border:1px solid var(--muted);border-radius:4px;min-height:52px}.quantity button{background:none;border:0;min-width:34px;min-height:44px;padding:8px}.quantity output{min-width:24px;text-align:center;font-variant-numeric:tabular-nums}.demo-purchase{font-size:14px;color:var(--muted);margin-top:16px}.product-info>.text-link{font-size:14px;color:var(--gold)}.features-section{padding-top:0}.features-section h2{font-size:28px;margin-bottom:24px}.features{display:flex;flex-wrap:wrap;gap:12px}.features span{padding:12px 16px;background:var(--white);border:1px solid var(--rule);border-radius:4px;font-size:14px}.technical-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:40px;border-top:1px solid var(--rule)}.technical-section h2{margin-bottom:24px}.technical-section p{margin-bottom:24px}.technical-section .text-link{margin-top:24px}.drawing{background:var(--white);padding:32px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px}.drawing img{width:100%;max-height:320px;object-fit:contain}.drawing figcaption{font-size:14px;color:var(--muted)}[data-variant=light] .product-info{padding:0 0 0 32px;background:var(--white);color:var(--graphite)}[data-variant=light] .product-type,[data-variant=light] .product-summary,[data-variant=light] .product-info .specifications dt{color:var(--muted)}[data-variant=light] .product-info .specifications>div{border-color:var(--rule)}[data-variant=light] .purchase{background:var(--warm);margin-block:28px 16px}[data-variant=light] .product-info>.text-link{color:var(--graphite)}[data-variant=light] .features span{background:var(--warm)}
.prototype-bar{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);display:flex;align-items:center;gap:24px;z-index:10;background:var(--graphite);color:var(--white);padding:12px 20px;border-radius:6px;box-shadow:0 8px 32px #0003;font-size:14px}.compare-link{text-decoration:underline;text-underline-offset:4px;color:var(--gold)}.variant-switch{display:flex;align-items:center;gap:12px;white-space:nowrap}.variant-switch button{background:var(--gold);color:var(--graphite);border:0;border-radius:4px;min-width:36px;min-height:36px;font-size:20px}.page-picker{display:flex;gap:8px;align-items:center}.page-picker select{background:var(--white);color:var(--graphite);border:0;border-radius:4px;padding:6px;min-height:36px}.prototype-note{color:var(--warm);font-size:12px}.embedded{padding-bottom:0}.embedded .prototype-bar{display:none}dialog{width:min(600px,calc(100% - 32px));max-height:90vh;overflow:auto;border:0;border-radius:6px;padding:32px;color:var(--graphite);background:var(--white)}dialog::backdrop{background:#0008}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.dialog-heading h2{font-size:32px}.dialog-heading button{font-size:28px}.cart-item{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-block:1px solid var(--rule)}.cart-item p{font-size:14px;color:var(--muted);margin-top:8px}.cart-note{color:var(--muted);font-size:14px;margin:24px 0}#notice{position:fixed;bottom:106px;left:50%;transform:translateX(-50%);width:min(580px,calc(100% - 32px));z-index:15;background:var(--graphite);color:var(--white);padding:20px 24px;border-radius:6px;display:none}#notice.visible{display:block}.embedded #notice{bottom:24px}
@media(min-width:1600px){.architecture-hero{grid-template-columns:44% 56%}.architecture-hero .hero-copy{padding-left:calc((100vw - 1280px)/2)}.architecture-hero .hero-scene{margin-right:calc((100vw - 1440px)/2)}}
@media(max-width:1100px){:root{--container:calc(100% - 64px)}.header-inner{gap:16px}.desktop-nav{gap:20px}.header-actions{gap:8px}.account-button span{display:none}.wordmark{width:160px}.hero-copy{padding:40px 32px}.architecture-hero .hero-copy{padding-left:32px;padding-right:28px}h1{font-size:48px}.light-hero .hero-copy h1{font-size:44px}.product-grid{gap:20px}.card-copy{padding:16px}.card-name{font-size:22px}.collection-copy{padding:40px 32px}.professional-links button{padding:20px}.professional-links strong{font-size:20px}.footer{padding-inline:32px}.prototype-note{display:none}.filters{gap:20px}.filters fieldset:nth-of-type(1){grid-template-columns:1fr}.product-detail{grid-template-columns:55% 45%}.gallery{padding-right:32px}.product-info{padding:24px}.purchase{padding:20px}.purchase-action{flex-wrap:wrap}.purchase-action>.button{min-width:140px}[data-variant=light] .catalog-layout{grid-template-columns:200px 1fr;gap:24px}[data-variant=light] .catalog-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){:root{--container:calc(100% - 40px)}body{padding-bottom:136px}h1{font-size:36px}h2{font-size:28px}h3{font-size:22px}.header-inner{min-height:88px;flex-wrap:wrap;gap:8px;padding-block:8px}.emblem{width:52px;height:52px}.emblem img{width:68.825px;height:96.081px;left:-8.481px;top:-15.515px}.wordmark{width:148px;padding:17px 0}.brand{gap:8px}.desktop-nav,.account-button{display:none}.header-actions{gap:4px}.icon-button span{display:none}.cart-button .cart-count{display:block}.cart-button{position:relative}.cart-button span{display:block;position:absolute;top:1px;right:0;font-size:0}.mobile-menu-button{display:flex}.type-navigation{padding:12px 20px;justify-content:start;gap:24px;overflow-x:auto;font-size:14px}.type-navigation a{flex-shrink:0;min-height:32px;display:flex;align-items:center}.header-inner>.search{order:3;max-width:none;flex-basis:100%;margin-bottom:8px}.section{padding-block:48px}.section-title{display:block;margin-bottom:24px}.section-title p{margin-top:16px;font-size:16px}.section-title>.text-link{margin-top:12px}.architecture-hero{grid-template-columns:1fr;min-height:0}.architecture-hero .hero-copy{padding:36px 20px;gap:20px}.hero-copy h1{font-size:36px}.hero-copy p{font-size:16px;max-width:36ch}.architecture-hero .hero-copy h1 br:nth-child(2){display:none}.hero-copy .button{min-height:48px;padding:12px 20px}.architecture-hero .hero-copy .text-link{display:none}.architecture-hero .hero-scene{margin:0;height:300px}.hero-scene>img{object-position:55% 50%}.hero-scene figcaption{font-size:12px;padding:12px 20px}.light-hero{width:100%;grid-template-columns:1fr;margin-top:0;min-height:0}.light-hero .hero-copy{padding:32px 20px;gap:20px}.light-hero .hero-copy h1{font-size:36px}.light-hero .hero-copy p br{display:none}.light-hero .hero-scene{height:340px}.light-hero .hero-scene>img{object-fit:contain}.category-grid{grid-template-columns:1fr;gap:20px}.category-tile>img{height:auto;aspect-ratio:6/5;object-fit:contain}.category-tile>div{padding:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.product-tag{left:10px;top:10px;font-size:12px;padding:6px 8px}.card-copy{padding:14px}.card-category{font-size:12px;line-height:1.5;min-height:36px}.card-name{font-size:20px}.card-copy p{font-size:12px}.card-action{font-size:12px;margin-top:12px;gap:4px}.card-action svg{width:18px}.collection-section{grid-template-columns:1fr}.collection-photo img{max-height:300px}.collection-copy{padding:32px 20px;gap:20px}.professional-links{display:block}.professional-links button{width:100%;min-height:112px;padding:20px 0}.professional-links button+button{border-left:0}.professional-links strong{font-size:22px}.footer{padding:32px 20px}.footer-top{display:block;padding-bottom:24px}.footer-top p{margin:12px 0 24px}.footer-bottom{flex-direction:column;gap:12px;font-size:12px}.catalog-intro{padding-top:28px;padding-bottom:24px}.catalog-title{display:block;margin-bottom:20px}.catalog-title h1{font-size:36px}.catalog-title p{margin-top:16px}.breadcrumbs{font-size:12px;margin-bottom:20px}.catalog-layout{padding-top:0}.filters{display:block;padding:20px;margin-bottom:24px}.filter-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.filter-heading h2{max-width:none;margin:0;font-size:20px}.filters fieldset{margin-top:20px}.filters fieldset:nth-of-type(1){grid-template-columns:1fr 1fr;gap:0 12px}.filters label{font-size:12px;align-items:start;line-height:1.5;min-height:36px}.filters legend{margin-bottom:8px}.results-heading{align-items:start;gap:16px}.results-heading>span{max-width:145px;text-align:right;font-size:12px}.product-intro{padding-top:24px;padding-bottom:0}.product-detail{grid-template-columns:1fr;padding-top:24px;gap:28px;padding-bottom:32px}.gallery{padding:0}.product-info{padding:24px}.product-info h1{font-size:36px}.product-type{font-size:14px;margin-bottom:12px}.product-summary{font-size:16px;margin:16px 0 20px}.specifications>div{font-size:14px;gap:16px;grid-template-columns:1fr 1.15fr}.purchase{padding:20px;margin-top:24px}.purchase-action{gap:12px}.purchase-action>.button{min-width:0;gap:8px;padding-inline:12px}.quantity button{min-width:30px}.quantity output{min-width:20px}.demo-purchase{font-size:12px}.features-section{padding-top:0}.features-section h2{font-size:24px}.features{gap:8px}.features span{font-size:12px;padding:10px 12px}.technical-section{grid-template-columns:1fr;gap:24px;padding-top:32px}.drawing{padding:24px}.drawing img{max-height:280px}.prototype-bar{bottom:8px;display:grid;grid-template-columns:1fr;gap:8px;padding:12px 16px;max-width:calc(100% - 16px);width:340px;text-align:center}.variant-switch{justify-content:space-between;font-size:13px}.variant-switch button{min-height:32px;min-width:32px}.compare-link{position:absolute;right:16px;bottom:20px;font-size:12px}.page-picker{font-size:12px}.page-picker select{font-size:12px;max-width:140px}.prototype-note{display:none}.embedded{padding-bottom:0}dialog{padding:24px}#notice{bottom:120px}[data-variant=light] .section{padding-block:40px}[data-variant=light] .category-grid{grid-template-columns:repeat(2,1fr);gap:20px 16px}[data-variant=light] .category-tile>img{height:auto;aspect-ratio:6/5}[data-variant=light] .category-tile>div{padding:12px 0;gap:8px}[data-variant=light] .category-tile h3{font-size:16px}[data-variant=light] .category-tile svg{width:18px}[data-variant=light] .card-copy{padding:12px 0 16px}[data-variant=light] .collection-section{width:100%;grid-template-columns:1fr;margin:0}[data-variant=light] .collection-copy{padding:32px 20px}[data-variant=light] .professional-links button>span{display:block}[data-variant=light] .professional-links strong{min-width:0;margin-bottom:10px}[data-variant=light] .catalog-layout{display:block;padding-top:0}[data-variant=light] .filters{margin-bottom:24px;padding:20px}[data-variant=light] .filters fieldset:nth-of-type(1){display:grid;grid-template-columns:1fr 1fr}[data-variant=light] .product-info{padding:0}[data-variant=light] .product-intro{padding-bottom:0}[data-variant=light] .product-detail{padding-top:24px}.product-detail .main-photo{aspect-ratio:6/5}}
@media(max-width:360px){:root{--container:calc(100% - 32px)}.header-inner{gap:0}.emblem{display:none}.wordmark{width:156px;padding:24px 0}.brand{gap:0}.hero-copy h1,.light-hero .hero-copy h1{font-size:32px}.section-title h2{font-size:26px}.card-copy{padding:12px}.card-name{font-size:18px}.card-action{font-size:11px}.product-info{padding:20px}.purchase{padding:16px}.purchase-action{display:block}.purchase-action>.button{width:100%;margin-top:12px}.quantity{width:112px}.prototype-bar{width:304px}.compare-link{font-size:11px}.page-picker select{max-width:122px}.catalog-title h1{font-size:32px}.filters{padding:16px}.filter-heading{gap:12px}.filter-heading h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Accessible field edges and readable mobile captions. */
.search,.filters select{border-color:#85857c}.site-header .search:focus-within{outline-color:var(--gold)}
@media(max-width:780px){.card-category{font-size:14px;min-height:42px}.card-copy p,.card-action,.demo-purchase,.filters label{font-size:14px}}
@media(max-width:360px){.card-action{font-size:14px}}

/* Mobile selection starts with products; full filters remain one disclosure away. */
.filter-panel>summary{display:none}.filter-panel:not([open]) .filters{display:none}.category-tile>img{object-fit:contain;background:var(--graphite)}[data-variant=light] .category-tile>img{background:var(--warm)}
@media(max-width:780px){.filter-panel{margin-bottom:24px}.filter-panel>summary{display:flex;align-items:center;gap:16px;min-height:52px;padding:12px 16px;border:1px solid #85857c;border-radius:4px;background:var(--white);cursor:pointer;list-style:none}.filter-panel>summary::-webkit-details-marker{display:none}.filter-panel>summary span{margin-left:auto;font-size:12px;color:var(--muted)}.filter-panel>summary svg{width:18px;transform:rotate(90deg)}.filter-panel[open]>summary svg{transform:rotate(-90deg)}.filter-panel[open] .filters{margin-top:16px;margin-bottom:0}[data-variant=light] .filter-panel .filters{margin-bottom:0}}

/* professional.css */
/* Selected architectural direction: one panoramic scene, precise product surfaces. */
[data-variant="architecture"] {
  --container: min(1280px, calc(100% - 96px));
  --space-section: 96px;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  scrollbar-color: #85857c #f4f1ea;
  -webkit-tap-highlight-color: rgba(227,203,123,.18);
}
[data-variant="architecture"] .site-header { border-bottom: 1px solid #62645f; }
[data-variant="architecture"] .header-inner { min-height: 96px; }
[data-variant="architecture"] .desktop-nav { gap: 36px; }
[data-variant="architecture"] .desktop-nav a { padding-block: 16px; }
[data-variant="architecture"] .brand { gap: 16px; }
[data-variant="architecture"] .section { padding-block: var(--space-section); }
[data-variant="architecture"] h2 { font-size: 40px; line-height: 1.15; letter-spacing: -.025em; }
[data-variant="architecture"] .section-title { align-items: start; margin-bottom: 40px; }
[data-variant="architecture"] .section-title p { line-height: 1.65; }
[data-variant="architecture"] .button { min-height: 52px; border-radius: 4px; }
[data-variant="architecture"] .button:hover { background: #eed994; }
[data-variant="architecture"] .button:active { transform: translateY(1px); }
[data-variant="architecture"] .text-link { font-size: 16px; }
[data-variant="architecture"] a { text-decoration-thickness: 1px; text-underline-offset: 6px; }

/* The opener is a showroom; product browsing stays immediately available. */
[data-variant="architecture"] .professional-hero { display: block; min-height: 0; padding: 48px 0 0; }
.hero-intro { width: var(--container); margin: auto; display: grid; grid-template-columns: 1.75fr 1fr; align-items: end; gap: 64px; padding-bottom: 48px; }
.hero-intro h1 { font-size: clamp(48px,5.55vw,80px); font-weight: 700; line-height: 1.01; letter-spacing: -.035em; color: #fff; }
.hero-intro-copy { display: flex; flex-direction: column; align-items: start; gap: 24px; padding-bottom: 4px; }
.hero-intro-copy p { max-width: 34ch; font-size: 18px; line-height: 1.6; color: #f4f1ea; }
.hero-showroom { width: calc(100% - 48px); max-width: 1700px; margin: auto; }
.hero-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 56px; gap: 24px; padding: 0 24px 16px; }
.hero-toolbar>span { font-size: 14px; color: #f4f1ea; }
.scene-controls { display: flex; align-items: center; gap: 8px; }
.scene-controls button { min-height: 44px; border: 1px solid #85857c; background: transparent; padding: 10px 20px; border-radius: 4px; color: #fff; font-size: 14px; }
.scene-controls button[aria-pressed="true"] { color: #2e3031; background: #e3cb7b; border-color: #e3cb7b; }
.scene-controls button:hover { background: #fff; color: #2e3031; filter: none; }
.hero-stage { position: relative; height: clamp(360px,36vw,560px); overflow: hidden; background: #000; }
.hero-room { width: 100%; height: 100%; }
.hero-room>img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-product-board { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; align-items: center; height: 100%; padding: 32px; background: #f4f1ea; color: #2e3031; }
.hero-room[hidden],.hero-product-board[hidden] { display: none; }
.hero-product { display: block; min-width: 0; text-align: left; padding-bottom: 16px; border-bottom: 1px solid #85857c; }
.hero-product>div { aspect-ratio: 6/5; background: #fff; }
.hero-product img { width: 100%; height: 100%; object-fit: contain; }
.hero-product strong { display: block; margin-top: 20px; font-size: 28px; line-height: 1.15; letter-spacing: -.02em; }
.hero-product>span { display: block; margin-top: 8px; font-size: 14px; color: #62625d; }
.hero-product:hover { text-decoration: none; }
.hero-product:hover strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.hero-close { display: flex; justify-content: space-between; align-items: center; padding: 24px 24px 32px; gap: 24px; }
.hero-close p { font-size: 14px; color: #f4f1ea; }
.hero-close a { display: flex; align-items: center; gap: 16px; min-height: 44px; font-size: 16px; color: #e3cb7b; }

/* Images form the structure; controls and factual labels remain quiet. */
[data-variant="architecture"] .category-grid { gap: 48px 32px; }
[data-variant="architecture"] .category-tile { background: transparent; }
[data-variant="architecture"] .category-tile>img { height: auto; aspect-ratio: 6/5; object-fit: contain; background: #2e3031; }
[data-variant="architecture"] .category-tile>div { padding: 20px 0; background: transparent; border-bottom: 1px solid #85857c; }
[data-variant="architecture"] .category-tile h3 { font-size: 28px; }
[data-variant="architecture"] .model-section { padding-top: 0; }
[data-variant="architecture"] .product-grid { gap: 40px 24px; }
[data-variant="architecture"] .product-card { background: transparent; }
[data-variant="architecture"] .product-picture { background: #fff; }
[data-variant="architecture"] .card-copy { padding: 20px 0 0; }
[data-variant="architecture"] .card-name { font-size: 28px; }
[data-variant="architecture"] .card-action { border-color: #85857c; padding: 14px 0; margin-top: 16px; min-height: 48px; }
[data-variant="architecture"] .collection-section { grid-template-columns: 1.2fr 1fr; }
[data-variant="architecture"] .collection-copy { padding: 64px 56px; gap: 32px; }
[data-variant="architecture"] .collection-photo img { max-height: none; min-height: 520px; }
[data-variant="architecture"] .collection-copy p { max-width: 40ch; font-size: 18px; line-height: 1.65; }
[data-variant="architecture"] .collection-links a { min-height: 60px; }
[data-variant="architecture"] .professional-links button { min-height: 156px; padding: 32px 24px; }
[data-variant="architecture"] .professional-links small { line-height: 1.6; }
[data-variant="architecture"] .footer { padding-top: 56px; padding-bottom: 40px; }

/* A catalog is for choosing: stable columns and precise, readable information. */
[data-variant="architecture"] .catalog-intro { padding-block: 40px; }
[data-variant="architecture"] .catalog-title h1 { font-size: 56px; }
[data-variant="architecture"] .catalog-title p { font-size: 18px; line-height: 1.6; }
[data-variant="architecture"] .catalog-layout { padding-top: 0; }
[data-variant="architecture"] .filters { padding: 24px 0; background: transparent; border-color: #85857c; margin-bottom: 32px; }
[data-variant="architecture"] .filter-heading h2 { font-size: 20px; }
[data-variant="architecture"] .results-heading { margin-bottom: 32px; font-variant-numeric: tabular-nums; }
[data-variant="architecture"] .results-heading p { font-size: 18px; }
[data-variant="architecture"] .catalog-products { gap: 40px 24px; }

/* Detail page: the end of the profile is visible, and buying controls sit beside it. */
[data-variant="architecture"] .product-intro { padding: 32px 0 0; }
[data-variant="architecture"] .product-detail { padding-top: 32px; padding-bottom: 64px; }
[data-variant="architecture"] .product-info { color: #2e3031; background: transparent; padding: 24px 0 0 24px; }
[data-variant="architecture"] .product-info h1 { font-size: 56px; }
[data-variant="architecture"] .product-type,[data-variant="architecture"] .product-summary { color: #62625d; }
[data-variant="architecture"] .product-type { margin-bottom: 16px; }
[data-variant="architecture"] .product-summary { max-width: 36ch; line-height: 1.6; }
[data-variant="architecture"] .product-info .specifications dt { color: #62625d; }
[data-variant="architecture"] .product-info .specifications>div { border-color: #c4c1b8; }
[data-variant="architecture"] .purchase { margin-top: 32px; padding: 24px; background: #fff; }
[data-variant="architecture"] .product-info>.text-link { color: #2e3031; font-size: 16px; }
[data-variant="architecture"] .quantity button { min-width: 44px; }
[data-variant="architecture"] .quantity output { min-width: 24px; }
[data-variant="architecture"] .lengths button { min-width: 88px; }
[data-variant="architecture"] .features-section { padding-top: 0; padding-bottom: 64px; }
[data-variant="architecture"] .features-section h2 { font-size: 28px; }
[data-variant="architecture"] .features span { background: transparent; border-color: #85857c; }
[data-variant="architecture"] .technical-section { padding-top: 64px; border-color: #85857c; }
[data-variant="architecture"] .technical-section p { line-height: 1.65; }
.photo-open { position: relative; width: 100%; height: 100%; display: block; padding: 0; border: 0; background: #fff; cursor: zoom-in; }
.photo-open>img { width: 100%; height: 100%; object-fit: contain; }
.photo-open:hover { filter: none; }
.photo-open-label { display: flex; align-items: center; gap: 12px; position: absolute; bottom: 16px; right: 16px; padding: 12px 16px; background: #2e3031; color: #fff; font-size: 14px; min-height: 44px; border-radius: 4px; }
[data-variant="architecture"] .thumbnails { overflow-x: auto; padding: 4px; margin: 12px -4px 0; scroll-padding: 4px; }
[data-variant="architecture"] .thumbnails button { flex: 0 0 calc((100% - 48px)/5); min-width: 64px; }
[data-variant="architecture"] .thumbnails button[aria-pressed="true"] { border-color: #2e3031; }

/* Native dialog supplies focus trapping, Escape, and focus restoration. */
#gallery-dialog { width: min(1400px,calc(100% - 48px)); max-width: none; height: min(940px,calc(100dvh - 48px)); max-height: none; padding: 24px; background: #000; color: #fff; overflow: hidden; overscroll-behavior: contain; }
.gallery-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; }
.gallery-dialog-header h2 { font-size: 24px; letter-spacing: -.02em; }
#gallery-full-image { height: calc(100% - 112px); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px; }
#gallery-full-image img { width: 100%; flex: 1; min-height: 0; object-fit: contain; }
#gallery-full-image figcaption { flex: 0 0 auto; font-size: 14px; text-align: center; color: #f4f1ea; }
.gallery-dialog-controls { min-height: 56px; display: flex; justify-content: center; align-items: center; gap: 32px; }
#gallery-position { text-align: center; font-size: 14px; font-variant-numeric: tabular-nums; min-width: 60px; }
#cart-dialog { overscroll-behavior: contain; }

@media (min-width: 1700px) {
  .hero-intro { padding-block: 16px 56px; }
  .hero-stage { height: 580px; }
}
@media (max-width: 1100px) {
  [data-variant="architecture"] { --container: calc(100% - 64px); --space-section: 72px; }
  .hero-intro { grid-template-columns: 1.6fr 1fr; gap: 40px; }
  .hero-intro h1 { font-size: 56px; }
  .hero-intro-copy p { font-size: 16px; }
  .hero-stage { height: 400px; }
  .hero-product-board { padding: 24px; gap: 20px; }
  .hero-product strong { font-size: 24px; }
  [data-variant="architecture"] .collection-copy { padding: 40px 32px; }
  [data-variant="architecture"] .product-info { padding: 16px 0 0 0; }
  [data-variant="architecture"] .product-info h1 { font-size: 48px; }
  [data-variant="architecture"] .purchase-action { flex-wrap: wrap; }
}
@media (max-width: 780px) {
  [data-variant="architecture"] { --container: calc(100% - 40px); --space-section: 56px; }
  [data-variant="architecture"] .header-inner { min-height: 88px; }
  [data-variant="architecture"] .brand { gap: 8px; }
  [data-variant="architecture"] h2 { font-size: 28px; }
  [data-variant="architecture"] .section-title { margin-bottom: 24px; }
  [data-variant="architecture"] .section-title p { max-width: 40ch; margin-top: 16px; }
  [data-variant="architecture"] .professional-hero { padding-top: 32px; }
  .hero-intro { display: block; padding-bottom: 32px; }
  .hero-intro h1 { font-size: 36px; line-height: 1.08; max-width: none; }
  .hero-intro-copy { gap: 20px; margin-top: 24px; padding: 0; }
  .hero-intro-copy p { font-size: 16px; max-width: 37ch; }
  .hero-intro-copy .button { min-height: 48px; }
  .hero-showroom { width: 100%; }
  .hero-toolbar { gap: 12px; padding: 0 20px 16px; }
  .hero-toolbar>span { font-size: 14px; }
  .scene-controls { gap: 8px; }
  .scene-controls button { font-size: 14px; padding: 10px 12px; }
  .hero-stage { height: auto; min-height: 420px; }
  .hero-room { height: 420px; }
  .hero-room>img { object-position: 52% 50%; }
  .hero-product-board { grid-template-columns: repeat(2,minmax(0,1fr)); height: auto; min-height: 420px; align-content: center; align-items: stretch; gap: 16px; padding: 20px; }
  .hero-product { padding-bottom: 12px; }
  .hero-product strong { font-size: 20px; margin-top: 12px; }
  .hero-product>span { font-size: 14px; line-height: 1.4; margin-top: 6px; }
  .hero-close { display: block; padding: 24px 20px 32px; }
  .hero-close a { margin-top: 12px; }
  [data-variant="architecture"] .category-grid { gap: 24px; }
  [data-variant="architecture"] .category-tile h3 { font-size: 24px; }
  [data-variant="architecture"] .category-tile>div { padding: 16px 0; }
  [data-variant="architecture"] .product-grid { gap: 32px 16px; }
  [data-variant="architecture"] .card-copy { padding-top: 14px; }
  [data-variant="architecture"] .card-name { font-size: 22px; }
  [data-variant="architecture"] .card-copy p,.card-category,.card-action { font-size: 14px; }
  [data-variant="architecture"] .collection-section { grid-template-columns: 1fr; }
  [data-variant="architecture"] .collection-photo img { min-height: 0; max-height: 300px; }
  [data-variant="architecture"] .collection-copy { padding: 40px 20px; gap: 24px; }
  [data-variant="architecture"] .collection-copy p { font-size: 16px; }
  [data-variant="architecture"] .professional-links button { min-height: 120px; padding: 24px 0; }
  [data-variant="architecture"] .catalog-intro { padding-block: 32px; }
  [data-variant="architecture"] .catalog-title h1 { font-size: 36px; }
  [data-variant="architecture"] .catalog-title p { font-size: 16px; }
  [data-variant="architecture"] .catalog-layout { padding-top: 0; }
  [data-variant="architecture"] .filters { padding: 20px; margin-bottom: 0; background: #fff; }
  [data-variant="architecture"] .results-heading { margin-bottom: 24px; }
  [data-variant="architecture"] .catalog-products { gap: 32px 16px; }
  [data-variant="architecture"] .product-intro { padding-top: 24px; padding-bottom: 0; }
  [data-variant="architecture"] .product-detail { padding-top: 24px; padding-bottom: 40px; gap: 32px; }
  [data-variant="architecture"] .product-info { padding: 0; }
  [data-variant="architecture"] .product-info h1 { font-size: 36px; }
  [data-variant="architecture"] .product-info>.text-link { font-size: 14px; }
  [data-variant="architecture"] .purchase { padding: 20px; margin-top: 24px; }
  [data-variant="architecture"] .features-section { padding-top: 0; padding-bottom: 40px; }
  [data-variant="architecture"] .features-section h2 { font-size: 24px; }
  [data-variant="architecture"] .features span { font-size: 14px; }
  [data-variant="architecture"] .technical-section { padding-top: 40px; }
  .photo-open-label { bottom: 12px; right: 12px; padding: 10px 12px; font-size: 14px; }
  #gallery-dialog { width: calc(100% - 16px); height: calc(100dvh - 24px); padding: 16px; }
  .gallery-dialog-header h2 { font-size: 20px; }
  #gallery-full-image figcaption { font-size: 14px; }
}
@media (max-width: 360px) {
  [data-variant="architecture"] { --container: calc(100% - 32px); }
  .hero-intro h1 { font-size: 32px; }
  .hero-toolbar { padding-inline: 16px; }
  .hero-toolbar>span { display: none; }
  .hero-product-board { padding: 16px; gap: 12px; }
  .hero-product strong { font-size: 18px; }
  .hero-stage { min-height: 404px; }
  .hero-room { height: 404px; }
  .hero-product-board { min-height: 404px; }
  [data-variant="architecture"] .brand { gap: 0; }
  [data-variant="architecture"] .category-tile h3 { font-size: 22px; }
  [data-variant="architecture"] .card-name { font-size: 20px; }
  [data-variant="architecture"] .catalog-title h1 { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* shop-ui.css */
/* Shopping extends the selected architectural system; the showroom stays intact. */
[data-variant="architecture"] .desktop-nav { gap: 24px; }
[data-variant="architecture"] .header-actions { gap: 8px; }
[data-variant="architecture"] .header-actions>a:hover { text-decoration: none; }
.wishlist-link { position: relative; }
.wishlist-link .wishlist-count { position: absolute; right: 0; top: 0; font-size: 12px; line-height: 18px; padding-inline: 4px; border-radius: 4px; background: #e3cb7b; color: #2e3031; }
.wishlist-count:empty { display: none; }
.global-search-panel { background: #f4f1ea; color: #2e3031; padding: 24px 0; border-bottom: 1px solid #85857c; }
.global-search-panel[hidden],#search-suggestions[hidden] { display: none; }
.global-search-inner { width: var(--container); margin: auto; display: grid; grid-template-columns: minmax(0,1fr) 44px; gap: 16px; }
.global-search-inner .search { max-width: 720px; }
#search-suggestions { grid-column: 1; max-width: 720px; }
#search-suggestions>p { font-size: 14px; color: #62625d; margin-bottom: 12px; }
#search-suggestions ul { margin: 0; padding: 0; list-style: none; }
#search-suggestions a { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 52px; padding-block: 12px; border-top: 1px solid #85857c; }
#search-suggestions a span { font-size: 14px; color: #62625d; text-align: right; }
[data-variant="architecture"] .product-card { position: relative; }
.save-product { flex: 0 0 44px; min-height: 44px; border: 1px solid #85857c; border-radius: 4px; color: #2e3031; background: #fff; }
.save-product[aria-pressed="true"] { background: #e3cb7b; }
.save-product[aria-pressed="true"] svg { fill: currentColor; }
.card-save { position: absolute; right: 12px; top: 12px; }
.pdp-title-row { display: flex; align-items: start; justify-content: space-between; gap: 24px; }
.pdp-title-row h1 { min-width: 0; overflow-wrap: anywhere; }
.pdp-title-row .save-product { margin-top: 8px; }

/* Numeric bounds complement the established type / collection filters. */
[data-variant="architecture"] .filters { display: grid; grid-template-columns: 160px minmax(0,1fr) 170px 160px; gap: 24px; }
[data-variant="architecture"] .dimension-filters { grid-column: 1 / -1; width: 100%; border-top: 1px solid #c4c1b8; padding-top: 20px; }
.dimension-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
[data-variant="architecture"] .filters .dimension-grid label { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-width: 0; font-size: 14px; }
.dimension-grid input,.dimension-grid select { display: block; width: 100%; min-width: 0; min-height: 44px; background: #fff; border: 1px solid #85857c; padding: 8px 12px; border-radius: 4px; font: inherit; font-size: 16px; color: #2e3031; }
.dimension-grid input::placeholder { color: #62625d; }
.dimension-help { font-size: 14px; line-height: 1.5; color: #62625d; margin-top: 16px; max-width: 85ch; }
.field-error { color: #2e3031; font-size: 14px; font-weight: 700; margin-top: 12px; line-height: 1.5; }
.field-error[hidden] { display: none; }
[aria-invalid="true"] { outline: 2px solid #2e3031; outline-offset: 2px; }
.catalog-sort { display: flex; align-items: center; gap: 16px; font-size: 14px; color: #62625d; }
.catalog-sort select { min-height: 44px; padding: 8px 12px; background: #fff; color: #2e3031; font-size: 16px; border: 1px solid #85857c; border-radius: 4px; }

/* The calculator is disclosed beside the purchase; nothing looks like a price. */
.profile-calculator { margin: 20px 0 24px; border-top: 1px solid #85857c; border-bottom: 1px solid #85857c; }
.profile-calculator summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 60px; cursor: pointer; font-size: 16px; font-weight: 700; list-style: none; }
.profile-calculator summary::-webkit-details-marker { display: none; }
.profile-calculator[open] summary svg { transform: rotate(90deg); }
.profile-calculator form { padding: 8px 0 24px; }
.profile-calculator form>p:first-child { font-size: 14px; color: #62625d; line-height: 1.6; margin-bottom: 20px; }
.calculator-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }
.calculator-fields label { display: flex; flex-direction: column; gap: 8px; min-width: 0; font-size: 14px; }
.calculator-fields input { min-width: 0; width: 100%; min-height: 48px; padding: 10px 12px; background: #fff; border: 1px solid #85857c; border-radius: 4px; color: #2e3031; font-size: 16px; }
.calculator-fields input::placeholder { color: #62625d; }
.profile-calculator .field-error { margin-bottom: 16px; }
#calculator-result { margin-top: 24px; }
.calculator-hint,.calculator-limit { font-size: 14px; line-height: 1.6; color: #62625d; }
.calculator-limit { margin-top: 20px; }
.calculation-result { margin: 0 0 20px; font-variant-numeric: tabular-nums; }
.calculation-result>div { display: flex; justify-content: space-between; align-items: start; gap: 24px; padding: 12px 0; border-top: 1px solid #c4c1b8; }
.calculation-result dt { font-size: 14px; color: #62625d; }
.calculation-result dd { margin: 0; text-align: right; font-size: 16px; }
.calculation-result strong { font-size: 22px; }
#calculator-result>.button { width: 100%; gap: 12px; }
.purchase-dock { display: none; }

/* A saved selection is a list of real models. Cart lines retain their length. */
[data-variant="architecture"] .shopping-intro { padding-top: 40px; padding-bottom: 32px; }
.shopping-title { display: flex; align-items: start; justify-content: space-between; gap: 48px; }
.shopping-title h1 { font-size: 56px; }
.shopping-title>p { max-width: 36ch; font-size: 18px; color: #62625d; line-height: 1.6; }
#wishlist-total { color: #62625d; margin-top: 24px; font-size: 16px; }
[data-variant="architecture"] .saved-products,[data-variant="architecture"] .shopping-cart { padding-top: 16px; }
.shopping-empty { padding: 56px 0; max-width: 640px; }
.shopping-empty h2 { margin-bottom: 24px; }
.shopping-empty p { margin-bottom: 32px; line-height: 1.65; color: #62625d; }
.cart-layout { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(280px,.8fr); gap: 64px; align-items: start; }
.cart-lines { min-width: 0; }
.shopping-cart-line { display: grid; grid-template-columns: 144px minmax(0,1fr) 140px; gap: 24px; padding-block: 24px; border-top: 1px solid #85857c; }
.shopping-cart-line:last-child { border-bottom: 1px solid #85857c; }
.cart-product-image { display: block; aspect-ratio: 6 / 5; background: #fff; }
.cart-product-image img { width: 100%; height: 100%; object-fit: contain; }
.cart-product-copy { min-width: 0; }
.cart-product-copy>span { font-size: 14px; color: #62625d; }
.cart-product-name { display: block; font-size: 24px; font-weight: 700; line-height: 1.2; margin-top: 8px; overflow-wrap: anywhere; }
.cart-product-copy>p { margin-top: 12px; font-size: 14px; color: #62625d; }
.cart-line-actions { display: flex; align-items: center; gap: 16px; margin-top: 20px; }
.cart-line-actions .save-product { min-width: 44px; }
.cart-line-actions .cart-remove { font-size: 14px; font-weight: 400; text-decoration: underline; }
.cart-quantity { min-width: 0; }
.cart-quantity>label { display: block; font-size: 14px; margin-bottom: 12px; color: #62625d; }
.cart-quantity .quantity { width: fit-content; max-width: 100%; background: #fff; }
.cart-quantity .quantity button { min-width: 44px; padding: 8px; }
.cart-quantity input { border: 0; background: none; width: 56px; min-width: 0; text-align: center; padding: 8px 0; color: #2e3031; font-size: 16px; font-variant-numeric: tabular-nums; appearance: textfield; }
.cart-quantity input::-webkit-inner-spin-button,.cart-quantity input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.cart-line-metres { font-size: 14px; color: #62625d; margin-top: 12px; }
.cart-summary { background: #fff; padding: 32px; position: sticky; top: 32px; }
[data-variant="architecture"] .cart-summary h2 { font-size: 28px; }
.cart-summary dl { margin-block: 24px; font-variant-numeric: tabular-nums; }
.cart-summary dl>div { display: flex; justify-content: space-between; align-items: start; gap: 24px; padding-block: 16px; border-bottom: 1px solid #c4c1b8; }
.cart-summary dt { color: #62625d; font-size: 14px; }
.cart-summary dd { margin: 0; text-align: right; font-size: 18px; }
.cart-summary p { font-size: 14px; line-height: 1.6; color: #62625d; }
.cart-summary>.button { width: 100%; margin-block: 24px; padding-inline: 16px; gap: 12px; }
.cart-demo-note { border-top: 1px solid #c4c1b8; padding-top: 20px; }
[data-variant="architecture"] #notice { display: none; width: min(640px,calc(100% - 32px)); padding: 16px; align-items: center; gap: 16px; bottom: 24px; }
[data-variant="architecture"] #notice.visible { display: flex; }
#notice>span { flex: 1; min-width: 0; font-size: 14px; }
.notice-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; color: #e3cb7b; background: none; border: 1px solid #e3cb7b; border-radius: 4px; font-size: 14px; flex-shrink: 0; }

@media (max-width: 1100px) {
  [data-variant="architecture"] .filter-panel { margin-bottom: 24px; }
  [data-variant="architecture"] .filter-panel>summary { display: flex; align-items: center; gap: 16px; min-height: 52px; padding: 12px 16px; border: 1px solid #85857c; border-radius: 4px; background: #fff; cursor: pointer; list-style: none; }
  [data-variant="architecture"] .filter-panel>summary::-webkit-details-marker { display: none; }
  [data-variant="architecture"] .filter-panel>summary span { margin-left: auto; font-size: 14px; color: #62625d; }
  [data-variant="architecture"] .filter-panel>summary svg { width: 18px; transform: rotate(90deg); }
  [data-variant="architecture"] .filter-panel[open]>summary svg { transform: rotate(-90deg); }
  [data-variant="architecture"] .filter-panel[open] .filters { margin-top: 16px; margin-bottom: 0; }
  [data-variant="architecture"] .desktop-nav { display: none; }
  [data-variant="architecture"] .mobile-menu-button { display: flex; }
  [data-variant="architecture"] .filters { grid-template-columns: 140px minmax(0,1fr) 150px; gap: 20px; }
  [data-variant="architecture"] .filters>fieldset:nth-of-type(3) { grid-column: 2 / -1; }
  .cart-layout { gap: 32px; grid-template-columns: minmax(0,1.6fr) minmax(280px,1fr); }
  .shopping-cart-line { grid-template-columns: 104px minmax(0,1fr); gap: 20px; }
  .cart-quantity { grid-column: 2; }
}
@media (max-width: 900px) {
  .cart-layout { grid-template-columns: 1fr; gap: 32px; }
  .shopping-cart-line { grid-template-columns: 144px minmax(0,1fr) 140px; }
  .cart-quantity { grid-column: auto; }
  .cart-summary { position: static; }
}
@media (max-width: 780px) {
  [data-variant="architecture"] .header-actions { gap: 0; }
  [data-variant="architecture"] .filters { display: block; }
  .header-actions .wishlist-link { display: none; }
  .global-search-panel { padding: 20px 0; }
  .global-search-inner { gap: 12px; }
  #search-suggestions { grid-column: 1 / -1; }
  #search-suggestions a { display: block; padding-block: 16px; }
  #search-suggestions a span { display: block; text-align: left; margin-top: 6px; }
  [data-variant="architecture"] .dimension-filters { margin-top: 24px; padding-top: 24px; }
  .dimension-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .dimension-grid>label:last-child { grid-column: 1 / -1; }
  .dimension-help { font-size: 14px; }
  [data-variant="architecture"] .results-heading { flex-wrap: wrap; align-items: center; gap: 16px; }
  .catalog-sort { width: 100%; justify-content: space-between; gap: 16px; }
  .catalog-sort select { min-width: 0; max-width: 235px; }
  .card-save { top: 8px; right: 8px; }
  .pdp-title-row { gap: 16px; }
  .pdp-title-row .save-product { margin-top: 0; }
  .profile-calculator { margin-bottom: 24px; }
  .purchase-dock { display: flex; justify-content: space-between; align-items: center; gap: 16px; position: fixed; bottom: 0; left: 0; right: 0; z-index: 10; padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); background: #2e3031; color: #fff; border-top: 1px solid #85857c; }
  .purchase-dock>div { min-width: 0; }
  .purchase-dock strong { display: block; font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
  .purchase-dock p { margin-top: 6px; font-size: 14px; color: #f4f1ea; }
  .purchase-dock .button { padding-inline: 20px; gap: 12px; flex-shrink: 0; min-height: 48px; }
  [data-variant="architecture"][data-page="product"].embedded { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
  [data-variant="architecture"][data-page="product"]:not(.embedded) .purchase-dock { bottom: 126px; }
  [data-variant="architecture"][data-page="product"]:not(.embedded) { padding-bottom: 244px; }
  html { scroll-padding-bottom: 120px; }
  .profile-calculator input,.profile-calculator button,summary { scroll-margin-block: 120px; }
  [data-variant="architecture"] .shopping-intro { padding-top: 32px; padding-bottom: 24px; }
  .shopping-title { display: block; }
  .shopping-title h1 { font-size: 36px; }
  .shopping-title>p { font-size: 16px; margin-top: 20px; }
  .shopping-empty { padding-block: 24px; }
  .shopping-empty h2 { font-size: 28px; }
  .shopping-cart-line { grid-template-columns: 96px minmax(0,1fr); gap: 16px; }
  .cart-product-name { font-size: 22px; }
  .cart-quantity { grid-column: 2; }
  .cart-line-actions { margin-top: 16px; }
  .cart-summary { padding: 24px 20px; }
  [data-variant="architecture"] #notice { flex-wrap: wrap; bottom: 16px; gap: 8px 12px; }
  [data-variant="architecture"][data-page="product"] #notice { bottom: calc(108px + env(safe-area-inset-bottom)); }
  #notice>span { flex-basis: calc(100% - 60px); }
  #notice>.notice-action { order: 3; }
  #notice>.icon-button { order: 2; }
}
@media (max-width: 360px) {
  .purchase-dock { padding-inline: 16px; gap: 12px; }
  .purchase-dock .button { padding-inline: 14px; gap: 8px; }
  .catalog-sort { display: block; }
  .catalog-sort select { display: block; width: 100%; max-width: none; margin-top: 8px; }
  .shopping-cart-line { grid-template-columns: 80px minmax(0,1fr); }
}

/* catalog.css */
/* The selected A catalog: the products lead; detailed selection sits alongside. */
[data-variant="architecture"][data-page="catalog"] { background: #fff; --catalog-gap: 32px; }
[data-variant="architecture"][data-page="catalog"] .catalog-intro { padding: 24px 0 0; }
[data-variant="architecture"][data-page="catalog"] .breadcrumbs { margin-bottom: 24px; font-size: 14px; }
[data-variant="architecture"][data-page="catalog"] .catalog-title { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 24px; }
[data-variant="architecture"][data-page="catalog"] .catalog-title h1 { font-size: 48px; letter-spacing: -.025em; }
[data-variant="architecture"][data-page="catalog"] .catalog-title p { font-size: 16px; line-height: 1.5; margin: 12px 0 0; color: #62625d; }
#catalog-mobile-count { display: none; }
[data-variant="architecture"][data-page="catalog"] .catalog-title .search { width: 360px; max-width: 40%; min-height: 48px; background: #fff; border-color: #85857c; flex-shrink: 0; }
[data-variant="architecture"][data-page="catalog"] .catalog-title .search input { min-width: 0; }
.catalog-type-nav { display: flex; gap: 32px; border-bottom: 1px solid #c4c1b8; overflow-x: auto; padding: 0 4px; margin-inline: -4px; }
.catalog-type-nav button { position: relative; flex-shrink: 0; min-height: 56px; padding: 12px 0; border: 0; background: none; color: #62625d; font-size: 16px; white-space: nowrap; }
.catalog-type-nav button[aria-pressed="true"] { color: #2e3031; font-weight: 700; }
.catalog-type-nav button[aria-pressed="true"]::after { content: ""; height: 3px; background: #2e3031; position: absolute; bottom: 0; left: 0; right: 0; }
.catalog-type-nav button:hover { color: #2e3031; filter: none; }
.catalog-type-nav button:focus-visible { outline-offset: -4px; box-shadow: inset 0 0 0 6px #2e3031; }
[data-variant="architecture"][data-page="catalog"] .catalog-layout { display: grid; grid-template-columns: 224px minmax(0,1fr); gap: 40px; padding: 24px 0 64px; align-items: start; }
.catalog-refined-filters { min-width: 0; position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; padding: 0 16px 8px 0; border-right: 1px solid #c4c1b8; }
[data-variant="architecture"] .catalog-refined-filters>summary { display: none; }
[data-variant="architecture"] .catalog-refined-filters .filters { display: flex; flex-direction: column; gap: 24px; background: none; border: 0; padding: 0; margin: 0; }
[data-variant="architecture"] .catalog-refined-filters .filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
[data-variant="architecture"] .catalog-refined-filters .filter-heading h2 { font-size: 20px; letter-spacing: -.01em; margin: 0; }
.catalog-refined-filters .filter-heading button { font-size: 14px; min-height: 44px; padding: 8px 0; color: #62625d; }
[data-variant="architecture"] .catalog-refined-filters fieldset { display: block; width: 100%; border: 0; padding: 0; margin: 0; }
[data-variant="architecture"] .catalog-refined-filters legend { font-size: 14px; font-weight: 700; margin-bottom: 8px; padding: 0; }
[data-variant="architecture"] .catalog-refined-filters .filters label { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.45; min-height: 36px; padding: 4px 0; }
.catalog-refined-filters input[type="checkbox"] { flex: 0 0 18px; margin: 0; accent-color: #2e3031; }
.catalog-refined-filters label span { min-width: 0; }
[data-variant="architecture"] .catalog-refined-filters .filters select { width: 100%; min-height: 44px; background: #fff; color: #2e3031; border: 1px solid #85857c; font-size: 14px; }
.filter-dimensions { border-top: 1px solid #c4c1b8; border-bottom: 1px solid #c4c1b8; }
.filter-dimensions>summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; min-height: 52px; font-size: 14px; font-weight: 700; list-style: none; }
.filter-dimensions>summary::-webkit-details-marker { display: none; }
.filter-dimensions>summary svg { width: 18px; height: 18px; }
.filter-dimensions[open]>summary svg { transform: rotate(45deg); }
[data-variant="architecture"] .catalog-refined-filters .dimension-filters { border: 0; padding: 0 0 16px; }
.catalog-refined-filters .dimension-filters>legend { display: none; }
.catalog-refined-filters .dimension-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
[data-variant="architecture"] .catalog-refined-filters .dimension-grid label { display: flex; flex-direction: column; align-items: start; padding: 0; gap: 8px; font-size: 14px; }
.catalog-refined-filters .dimension-grid label:last-child { grid-column: 1 / -1; width: 100%; }
.catalog-refined-filters .dimension-grid input { font-size: 16px; padding: 8px; }
.catalog-refined-filters .dimension-help { margin-top: 16px; font-size: 14px; }
.dimension-help summary { cursor: pointer; font-size: 14px; min-height: 44px; display: flex; align-items: center; text-decoration: underline; text-underline-offset: 4px; }
.dimension-help p { margin-top: 8px; font-size: 14px; line-height: 1.5; }
[data-variant="architecture"][data-page="catalog"] #results { min-width: 0; }
[data-variant="architecture"][data-page="catalog"] .results-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; min-height: 44px; }
[data-variant="architecture"][data-page="catalog"] .results-heading>p { font-size: 16px; margin-right: auto; white-space: nowrap; }
.catalog-image-view { display: flex; gap: 0; border: 1px solid #85857c; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.catalog-image-view button { border: 0; background: #fff; padding: 8px 16px; min-height: 42px; font-size: 14px; }
.catalog-image-view button[aria-pressed="true"] { color: #fff; background: #2e3031; }
.catalog-image-view button:focus-visible { outline-offset: -4px; box-shadow: inset 0 0 0 6px #2e3031; }
[data-variant="architecture"][data-page="catalog"] .catalog-sort { gap: 8px; font-size: 14px; }
[data-variant="architecture"][data-page="catalog"] .catalog-sort select { max-width: 196px; font-size: 14px; padding-inline: 8px; }
.active-catalog-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.active-catalog-filters button { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; background: #f4f1ea; color: #2e3031; border: 0; border-radius: 4px; font-size: 14px; text-align: left; max-width: 100%; overflow-wrap: anywhere; }
.active-catalog-filters button svg { width: 16px; height: 16px; }
.active-catalog-filters [data-clear-catalog] { background: none; text-decoration: underline; text-underline-offset: 4px; }
[data-variant="architecture"][data-page="catalog"] .catalog-products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 24px; }
[data-variant="architecture"][data-page="catalog"] .catalog-card { background: none; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .product-picture { aspect-ratio: 6 / 5; background: #f4f1ea; overflow: hidden; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .product-picture img { width: 100%; height: 100%; object-fit: contain; transition: transform 180ms ease-out; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .profile-picture { background: #000; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .product-picture:hover img { transform: scale(1.025); }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-copy { padding: 16px 0 0; border-bottom: 0; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-category { min-height: 0; display: block; font-size: 14px; color: #62625d; line-height: 1.4; margin: 0 0 8px; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-name { display: inline-block; font-size: 24px; line-height: 1.15; font-weight: 700; margin: 0; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-copy p { font-size: 14px; margin: 8px 0 0; color: #62625d; line-height: 1.5; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-action { display: flex; justify-content: space-between; align-items: center; min-height: 44px; border-top: 1px solid #c4c1b8; margin-top: 16px; padding: 8px 0 0; font-size: 14px; color: #2e3031; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-save { right: 12px; top: 12px; border: 0; }
[data-variant="architecture"][data-page="catalog"] #show-more { margin-top: 40px; min-height: 48px; font-size: 16px; }
[data-variant="architecture"][data-page="catalog"] .empty-results { padding: 48px 24px; background: #f4f1ea; }
[data-variant="architecture"][data-page="catalog"] .empty-results h2 { font-size: 28px; }
@media (max-width: 1279px) and (min-width: 1000px) {
  [data-variant="architecture"][data-page="catalog"] .catalog-layout { grid-template-columns: 208px minmax(0,1fr); gap: 32px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  [data-variant="architecture"][data-page="catalog"] .results-heading { flex-wrap: wrap; }
  [data-variant="architecture"][data-page="catalog"] .catalog-sort { width: auto; justify-content: flex-end; }
}
@media (max-width: 999px) {
  [data-variant="architecture"][data-page="catalog"] .catalog-layout { display: block; padding-top: 16px; }
  .catalog-refined-filters { position: static; max-height: none; overflow: visible; padding: 0; border: 0; margin-bottom: 24px; }
  [data-variant="architecture"] .catalog-refined-filters>summary { display: flex; align-items: center; gap: 16px; padding: 8px 16px; min-height: 48px; border: 1px solid #85857c; border-radius: 4px; background: #fff; font-size: 14px; cursor: pointer; }
  [data-variant="architecture"] .catalog-refined-filters>summary span { margin-left: auto; font-size: 14px; }
  [data-variant="architecture"] .catalog-refined-filters[open] .filters { padding: 16px; margin: 0; background: #f4f1ea; }
  [data-variant="architecture"] .catalog-refined-filters .filters>fieldset { margin: 0; }
  [data-variant="architecture"] .catalog-refined-filters .filters label { min-height: 44px; }
  [data-variant="architecture"] .catalog-refined-filters .filter-types { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 780px) {
  [data-variant="architecture"][data-page="catalog"] .catalog-intro { padding-top: 20px; }
  [data-variant="architecture"][data-page="catalog"] .breadcrumbs { display: none; }
  [data-variant="architecture"][data-page="catalog"] .catalog-title { display: block; margin-bottom: 16px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-title h1 { font-size: 36px; }
  .catalog-title-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  #catalog-mobile-count { display: block; flex-shrink: 0; font-size: 14px; color: #62625d; }
  [data-variant="architecture"][data-page="catalog"] .catalog-title p { display: none; }
  [data-variant="architecture"][data-page="catalog"] .catalog-title .search { width: 100%; max-width: none; min-height: 44px; margin-top: 16px; }
  .catalog-type-nav { gap: 24px; }
  .catalog-type-nav button { min-height: 48px; font-size: 14px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-layout { padding-top: 16px; }
  .catalog-refined-filters { margin-bottom: 16px; }
  [data-variant="architecture"][data-page="catalog"] .results-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
  [data-variant="architecture"][data-page="catalog"] .results-heading>p { display: none; }
  .catalog-image-view { width: fit-content; }
  .catalog-image-view button { padding-inline: 12px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-sort { width: auto; justify-content: flex-end; font-size: 0; }
  [data-variant="architecture"][data-page="catalog"] .catalog-sort select { width: 100%; max-width: 210px; font-size: 14px; min-height: 44px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 16px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-category { font-size: 14px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-name { font-size: 20px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-copy { padding-top: 12px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-action { margin-top: 12px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-save { right: 8px; top: 8px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .product-tag { left: 8px; top: 8px; }
}
@media (max-width: 360px) {
  [data-variant="architecture"][data-page="catalog"] .catalog-title h1 { font-size: 32px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-name { font-size: 18px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-save { right: 6px; top: 6px; }
  [data-variant="architecture"] .catalog-refined-filters .filter-types { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  [data-variant="architecture"][data-page="catalog"] .catalog-card .product-picture img { transition: none; }
}

/* full-site.css */
/* Full local mockup extends A; existing product truth and main catalog remain. */
[data-variant="architecture"][data-full-page="true"] { background: #fff; }
[data-variant="architecture"] .desktop-nav { gap: 20px; }
.desktop-nav a { white-space: nowrap; }
.full-footer { background: #2e3031; color: #fff; padding: 48px 0 24px; }
.full-footer-inner { width: var(--container); margin: auto; display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 40px; }
.full-footer-brand p { color: #f4f1ea; font-size: 16px; margin: 24px 0; max-width: 26ch; }
.full-footer h2 { font-size: 16px !important; margin: 8px 0 16px; letter-spacing: 0; }
.full-footer a:not(.brand) { display: flex; align-items: center; width: fit-content; min-height: 36px; font-size: 14px; color: #fff; }
.full-footer-bottom { width: var(--container); margin: 32px auto 0; padding-top: 24px; border-top: 1px solid #85857c; display: flex; justify-content: space-between; gap: 24px; font-size: 14px; }
.full-footer-bottom div { display: flex; flex-wrap: wrap; gap: 24px; }
.full-page.section { padding: 32px 0 64px; }
.full-page-heading { margin-bottom: 40px; }
.full-page-heading .breadcrumbs { font-size: 14px; margin: 0 0 24px; }
.full-page-heading h1 { font-size: 48px; letter-spacing: -.025em; }
.full-page-heading>p { max-width: 64ch; font-size: 18px; line-height: 1.55; color: #62625d; margin-top: 20px; }
.full-hero.section { display: grid; grid-template-columns: 1fr 1.15fr; gap: 56px; padding: 40px 0 64px; align-items: center; }
.full-hero-copy .breadcrumbs { font-size: 14px; margin-bottom: 32px; }
.full-hero-copy h1 { font-size: 56px; letter-spacing: -.025em; line-height: 1.08; }
.full-hero-copy>p { font-size: 18px; line-height: 1.6; max-width: 42ch; color: #62625d; margin-top: 24px; }
.full-hero-copy>.button { margin-top: 32px; }
.full-hero-copy>.text-link { display: flex; margin-top: 20px; }
.full-hero>figure { min-width: 0; height: 500px; background: #f4f1ea; }
.full-hero>figure img { width: 100%; height: 100%; object-fit: cover; }
.full-hero>figure img[src*="assets/products/"] { object-fit: contain; }
.full-short-spec { margin: 32px 0 0; font-size: 14px; }
.full-short-spec>div { display: grid; grid-template-columns: 80px 1fr; gap: 16px; border-top: 1px solid #c4c1b8; padding: 12px 0; }
.full-short-spec dt { color: #62625d; }.full-short-spec dd { margin: 0; }
.full-editorial.section { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding: 56px 0 72px; border-top: 1px solid #c4c1b8; }
.full-editorial h2 { font-size: 40px; }
.full-editorial p { font-size: 18px; line-height: 1.65; margin: 0 0 24px; }
.full-editorial h3 { font-size: 24px; margin-bottom: 12px; }
.full-editorial .text-link { display: flex; width: fit-content; min-height: 44px; }
.full-product-section { border-top: 1px solid #c4c1b8; }
.full-demo-note { font-size: 14px; color: #62625d; background: #f4f1ea; padding: 16px; border-radius: 4px; margin: 24px 0; max-width: 75ch; line-height: 1.55; }
.full-map-opening { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; margin-bottom: 56px; }
.full-map-opening figure { height: 360px; background: #2e3031; }
.full-map-opening figure img { width: 100%; height: 100%; object-fit: cover; }
.full-map-opening h2 { font-size: 36px; }.full-map-opening p { margin: 24px 0; font-size: 18px; line-height: 1.55; }
.full-map-opening .text-link { display: flex; min-height: 44px; margin-top: 16px; width: fit-content; }
.full-map-groups { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; border-top: 1px solid #c4c1b8; padding-top: 32px; }
.full-map-groups h2 { font-size: 24px !important; margin-bottom: 16px; }.full-map-groups ul { list-style: none; margin: 0; padding: 0; }
.full-map-groups a { min-height: 44px; font-size: 16px; display: flex; justify-content: space-between; gap: 12px; }
.full-review-states { border-top: 1px solid #c4c1b8; margin-top: 48px; padding-top: 32px; }
.full-review-states h2 { font-size: 28px !important; margin-bottom: 16px; }.full-review-states>div { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px 32px; }
.full-review-states a { min-height: 44px; }
.full-collections-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 32px; }
.full-collection figure { height: 300px; background: #f4f1ea; }
.full-collection figure img { height: 100%; width: 100%; object-fit: contain; }
.full-collection figure img[src*="media/"] { object-fit: cover; }
.full-collection>div { display: grid; grid-template-columns: 80px 1fr; gap: 16px 24px; padding-top: 24px; }
.full-collection h2 { font-size: 36px; }.full-collection p { font-size: 16px; line-height: 1.55; }
.full-collection .text-link { grid-column: 2; font-size: 16px; min-height: 44px; }
.full-collection:hover,.full-interior:hover,.full-audiences>a:hover { text-decoration: none; }
.full-interiors { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 32px; }
.full-interior figure { aspect-ratio: 6/5; background: #f4f1ea; }.full-interior figure img { width: 100%; height: 100%; object-fit: contain; }
.full-interior>div { padding-top: 24px; }.full-interior h2 { font-size: 28px; }.full-interior p { margin: 12px 0; font-size: 16px; color: #62625d; }
.full-case { display: grid; grid-template-columns: minmax(0,1.75fr) minmax(0,1fr); gap: 48px; align-items: start; }
.full-case figure { background: #f4f1ea; }.full-case figure img { width: 100%; max-height: 900px; object-fit: contain; }
.full-case aside { position: sticky; top: 32px; padding: 32px; background: #f4f1ea; }.full-case h2 { font-size: 24px; }.full-case h3 { margin-top: 24px; }
.full-case p { margin-top: 16px; }.full-case .button { margin-top: 24px; }.full-case .text-link { display: flex; margin-top: 20px; }
.full-audiences { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.full-audiences figure { aspect-ratio: 6/5; background: #f4f1ea; }.full-audiences figure img { width: 100%; height: 100%; object-fit: contain; }
.full-audiences h2 { font-size: 28px; margin-top: 24px; }.full-audiences p { margin: 16px 0; }.full-audiences .text-link { min-height: 44px; }
.full-install-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
.full-install-layout figure { background: #f4f1ea; padding: 32px; }.full-install-layout figure img { width: 100%; max-height: 420px; object-fit: contain; }
.full-link-list { display: grid; gap: 8px; margin-top: 24px; }.full-link-list a { min-height: 44px; font-size: 16px; }
.full-read-layout { display: grid; grid-template-columns: 224px minmax(0,1fr); gap: 56px; align-items: start; }
.full-document-nav { display: grid; position: sticky; top: 24px; gap: 4px; }
.full-document-nav a { display: flex; min-height: 44px; align-items: center; border-bottom: 1px solid #c4c1b8; font-size: 16px; }
.full-prose { max-width: 75ch; font-size: 18px; line-height: 1.65; }.full-prose section { margin-bottom: 48px; scroll-margin-top: 32px; }
.full-prose h2 { font-size: 28px !important; margin: 0 0 20px; }.full-prose p { margin-bottom: 20px; }.full-prose .text-link { min-height: 44px; display: flex; }
.full-prose details { border-bottom: 1px solid #c4c1b8; }.full-prose summary { min-height: 56px; padding-block: 12px; cursor: pointer; font-weight: 700; }
.full-prose details p { font-size: 16px; }.full-drawing { padding: 24px; background: #f4f1ea; margin-bottom: 20px; }.full-drawing img { max-height: 380px; object-fit: contain; margin: auto; }
.full-legal h2:not(:first-child) { margin-top: 40px; }
.full-split-content { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.full-split-content>div>h2 { font-size: 36px; }.full-split-content>div>p { font-size: 18px; line-height: 1.6; margin-top: 24px; max-width: 44ch; }
.full-form { max-width: 620px; width: 100%; display: flex; flex-direction: column; gap: 20px; padding: 32px; background: #f4f1ea; border-radius: 4px; }
.full-form h2 { font-size: 28px !important; }.full-form h3 { font-size: 24px; }
.full-form>label,.full-form section>label { display: flex; flex-direction: column; align-items: stretch; gap: 8px; font-size: 14px; }
.full-form input:not([type="checkbox"]):not([type="radio"]),.full-form textarea,.full-form select { width: 100%; min-width: 0; min-height: 48px; border: 1px solid #85857c; border-radius: 4px; padding: 10px 12px; font-size: 16px; color: #2e3031; background: #fff; }
.full-form input::placeholder,.full-form textarea::placeholder { color: #62625d; }
.full-form label.full-check { flex-direction: row; gap: 12px; align-items: start; font-size: 14px; line-height: 1.5; padding: 8px 0; }
.full-check input { margin: 4px 0 0; flex-shrink: 0; width: 18px; height: 18px; accent-color: #2e3031; }
.inline-link { text-decoration: underline; text-underline-offset: 3px; display: inline !important; }.inline-link svg { display: none; }
.full-form-caption { font-size: 14px; line-height: 1.5; color: #62625d; margin: 0; }
.full-form-error { font-size: 14px; font-weight: 700; line-height: 1.5; }.full-form-error[hidden],.full-form-result[hidden],#demo-code-field[hidden],[data-checkout-panel][hidden] { display: none; }
.full-form-result { border-top: 1px solid #85857c; padding-top: 20px; }.full-form-result h3 { margin-bottom: 12px; }.full-form-result p { font-size: 16px; }
.full-contact-copy>a { display: block; font-size: 24px; line-height: 1.3; width: fit-content; padding: 16px 0; overflow-wrap: anywhere; }
.full-contact-copy>p { font-size: 14px !important; color: #62625d; }
.full-purchase-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }.full-purchase-paths>section { padding: 32px; background: #f4f1ea; }.full-purchase-paths h2 { font-size: 28px; }.full-purchase-paths p { font-size: 18px; line-height: 1.55; margin: 24px 0; }
.full-wide-image { margin-top: 48px; }.full-wide-image img { width: 100%; }
.full-download-main { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding: 32px; background: #f4f1ea; align-items: center; }
.full-download-main h2 { font-size: 36px; }.full-download-main p { margin: 24px 0; font-size: 18px; }.full-download-main img { width: 100%; max-height: 300px; object-fit: contain; }
.full-download-drawings { margin-top: 48px; }.full-download-drawings>h2 { font-size: 28px; margin-bottom: 24px; }
.full-document-list { display: grid; }.full-document-list>a { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 0; border-top: 1px solid #c4c1b8; }
.full-document-list strong { display: block; font-size: 20px; }.full-document-list small { display: block; font-size: 14px; margin-top: 8px; }.full-document-list>a>span:last-child { display: flex; gap: 12px; align-items: center; font-size: 14px; }
.full-support-strip { display: flex; align-items: center; justify-content: space-between; gap: 32px; border-top: 1px solid #c4c1b8; padding-top: 32px; margin-top: 48px; }
.full-support-strip h2 { font-size: 28px; }.full-support-strip p { margin-top: 16px; line-height: 1.55; }
.full-faq { max-width: 900px; }.full-faq details { border-top: 1px solid #c4c1b8; }.full-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; cursor: pointer; font-size: 24px; line-height: 1.3; min-height: 80px; padding: 20px 0; list-style: none; }
.full-faq summary::-webkit-details-marker { display: none; }.full-faq details[open] summary svg { transform: rotate(45deg); }.full-faq p { font-size: 18px; line-height: 1.6; margin: 0 0 24px; max-width: 68ch; }
.full-empty-category,.full-success { max-width: 760px; padding: 40px; background: #f4f1ea; }.full-empty-category h2,.full-success h2 { font-size: 32px; }.full-empty-category p,.full-success p { font-size: 18px; margin: 24px 0; line-height: 1.6; }
.full-empty-category .text-link,.full-success .text-link { display: flex; min-height: 44px; margin-top: 20px; }.full-success>.button { margin-top: 16px; }
.full-login-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: start; }.full-login-layout>figure { height: 500px; }.full-login-layout>figure img { width: 100%; height: 100%; object-fit: cover; }
.full-role-switch { display: flex; gap: 24px; border-bottom: 1px solid #85857c; }.full-role-switch a { font-size: 16px; min-height: 44px; display: flex; align-items: center; }.full-role-switch a svg { display: none; }
.full-role-switch .is-current { font-weight: 700; border-bottom: 3px solid #2e3031; }
#demo-code-field label { display: grid; gap: 8px; font-size: 14px; margin-bottom: 12px; }
.full-account-layout { display: grid; grid-template-columns: 224px minmax(0,1fr); gap: 48px; align-items: start; }
.full-account-nav { display: flex; flex-direction: column; gap: 4px; position: sticky; top: 24px; }
.full-account-nav a { min-height: 48px; display: flex; align-items: center; padding: 12px 16px; font-size: 16px; }.full-account-nav .is-current { background: #f4f1ea; font-weight: 700; border-radius: 4px; }
.full-account-nav .full-account-exit { font-size: 14px; margin-top: 24px; color: #62625d; }
.full-account-content { min-width: 0; }.full-account-content>h2 { font-size: 32px; }.full-account-content>p { margin-top: 16px; }
.full-account-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; }.full-account-heading h2 { font-size: 32px; }
.full-order-row { display: grid; grid-template-columns: 144px 1fr auto; align-items: center; gap: 24px; padding: 24px 0; border-block: 1px solid #c4c1b8; margin: 24px 0 32px; }
.full-order-row figure img { aspect-ratio: 6/5; width: 100%; object-fit: contain; }.full-order-row strong { font-size: 24px; }.full-order-row p { margin: 12px 0; }.full-order-row span { font-size: 14px; }.full-order-row>span { display: flex; align-items: center; gap: 12px; }
.full-project-card { display: grid; grid-template-columns: 240px 1fr; gap: 32px; align-items: center; border-block: 1px solid #c4c1b8; padding: 24px 0; margin-bottom: 40px; }.full-project-card figure img { width: 100%; object-fit: contain; }.full-project-card h3 { font-size: 28px; }.full-project-card p { margin: 16px 0; }
.full-project-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(260px,1fr); gap: 48px; align-items: start; }.full-project-tools { display: flex; flex-wrap: wrap; gap: 24px; margin-bottom: 24px; }.full-project-tools a { min-height: 44px; }
.full-project-lines article { display: grid; grid-template-columns: 144px 1fr 96px; align-items: center; gap: 24px; padding: 24px 0; border-top: 1px solid #c4c1b8; }
.full-project-lines figure img { width: 100%; object-fit: contain; }.full-project-lines h2 { font-size: 24px; }.full-project-lines p { margin: 12px 0; font-size: 14px; }.full-project-lines .text-link { font-size: 14px; min-height: 44px; }
.full-project-lines label { font-size: 14px; }.full-project-lines input { width: 100%; min-height: 44px; padding: 8px; font-size: 16px; border: 1px solid #85857c; border-radius: 4px; margin-top: 8px; }
.full-project-summary,.full-checkout-summary,.full-order-help { background: #f4f1ea; padding: 24px; position: sticky; top: 24px; border-radius: 4px; }
.full-project-summary h2,.full-checkout-summary h2,.full-order-help h2 { font-size: 28px; }.full-project-summary p,.full-checkout-summary>p,.full-order-help p { font-size: 14px; line-height: 1.55; margin-top: 20px; }
.full-project-summary dl,.full-checkout-summary dl { margin: 24px 0; font-size: 16px; }.full-project-summary dl>div,.full-checkout-summary dl>div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-top: 1px solid #c4c1b8; }.full-project-summary dd,.full-checkout-summary dd { margin: 0; font-weight: 700; }
.full-project-summary>.button { width: 100%; gap: 16px; }.full-project-summary>.text-link { display: flex; min-height: 44px; margin-top: 20px; }
.full-empty-account { padding: 32px; background: #f4f1ea; margin-top: 24px; }.full-empty-account p { margin: 20px 0; }
.full-checkout-layout,.full-order-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(320px,1fr); gap: 48px; align-items: start; }
.full-checkout-steps { display: flex; gap: 8px; margin-bottom: 24px; }.full-checkout-steps button { border: 0; border-bottom: 2px solid #c4c1b8; padding: 12px 16px; min-height: 48px; font-size: 16px; color: #62625d; background: none; }.full-checkout-steps [aria-current="step"] { color: #2e3031; border-color: #2e3031; font-weight: 700; }
#demo-checkout { max-width: none; }.full-form [data-checkout-panel] { display: grid; gap: 20px; }.full-form [data-checkout-panel][hidden] { display: none; }
.full-radio-group { padding: 0; border: 0; margin: 0; }.full-radio-group legend { font-size: 14px; margin-bottom: 8px; }.full-radio-group label { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 16px; }.full-radio-group input { accent-color: #2e3031; }
.full-order-items article { display: grid; grid-template-columns: 80px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-top: 1px solid #c4c1b8; }
.full-order-items figure img { width: 100%; aspect-ratio: 6/5; object-fit: contain; }.full-order-items strong { font-size: 16px; }.full-order-items p { font-size: 14px; margin-top: 8px; }.full-order-items article>span { font-size: 16px; white-space: nowrap; }
.full-checkout-summary .full-total { font-size: 20px; }.full-checkout-summary .text-link { font-size: 14px; min-height: 44px; margin-top: 16px; display: flex; }
.full-order-status { margin-bottom: 32px; }.full-order-status strong { font-size: 24px; }.full-order-status ol { display: flex; flex-wrap: wrap; gap: 24px; list-style: none; padding: 0; margin: 24px 0 0; font-size: 14px; }.full-order-status li { color: #62625d; border-bottom: 2px solid #c4c1b8; padding-bottom: 12px; }.full-order-status li.is-current { color: #2e3031; border-color: #2e3031; }
.full-order-layout>section>h2 { font-size: 28px; margin-bottom: 24px; }.full-order-help .text-link { display: flex; min-height: 44px; margin-top: 16px; }
@media(max-width:1200px) { [data-variant="architecture"] .desktop-nav { display: none; } [data-variant="architecture"] .mobile-menu-button { display: flex; } }
@media(max-width:1000px) {
  .full-hero.section { gap: 32px; }.full-hero-copy h1 { font-size: 48px; }.full-hero>figure { height: 440px; }
  .full-map-groups { grid-template-columns: 1fr 1fr; }.full-map-opening { gap: 32px; }
  .full-footer-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .full-read-layout,.full-account-layout { grid-template-columns: 176px minmax(0,1fr); gap: 32px; }
  .full-checkout-layout,.full-order-layout,.full-project-layout { gap: 24px; grid-template-columns: minmax(0,1fr) minmax(270px,.8fr); }
  .full-project-lines article { grid-template-columns: 104px 1fr; }.full-project-lines label { grid-column: 2; }
  .full-account-heading { display: block; }.full-account-heading .button { margin-top: 16px; }
  .full-order-row { grid-template-columns: 104px 1fr; }.full-order-row>span { grid-column: 2; }
}
@media(max-width:780px) {
  .full-page.section { padding: 24px 0 48px; }.full-page-heading { margin-bottom: 28px; }
  .full-page-heading .breadcrumbs { margin-bottom: 20px; }.full-page-heading h1 { font-size: 36px; }.full-page-heading>p { font-size: 16px; margin-top: 16px; }
  .full-hero.section { display: flex; flex-direction: column; gap: 32px; padding: 24px 0 48px; align-items: stretch; }
  .full-hero-copy .breadcrumbs { margin-bottom: 24px; }.full-hero-copy h1 { font-size: 36px; }.full-hero-copy>p { font-size: 16px; margin-top: 20px; }.full-hero-copy>.button { margin-top: 24px; }
  .full-hero>figure { height: 320px; }.full-editorial.section { display: block; padding: 40px 0; }.full-editorial h2 { font-size: 28px; margin-bottom: 28px; }.full-editorial p { font-size: 16px; }
  .full-map-opening { display: flex; flex-direction: column; align-items: stretch; gap: 28px; margin-bottom: 40px; }.full-map-opening figure { height: 240px; }.full-map-opening h2 { font-size: 28px; }.full-map-opening p { font-size: 16px; margin: 20px 0; }
  .full-map-groups { grid-template-columns: 1fr; gap: 32px; }.full-map-groups h2 { font-size: 24px !important; }.full-review-states>div { grid-template-columns: 1fr; }
  .full-footer { padding-top: 40px; }.full-footer-inner { gap: 32px 24px; }.full-footer-brand { grid-column: 1 / -1; }.full-footer-bottom { display: block; }.full-footer-bottom>div { margin-top: 16px; gap: 8px 24px; }
  .full-collections-grid,.full-interiors { grid-template-columns: 1fr; gap: 40px; }.full-collection figure { height: 240px; }.full-collection>div { grid-template-columns: 64px 1fr; gap: 12px 16px; }.full-collection h2 { font-size: 28px; }.full-collection p { font-size: 16px; }
  .full-interior h2 { font-size: 28px; }.full-case { grid-template-columns: 1fr; gap: 24px; }.full-case aside { position: static; padding: 24px; }.full-case h2 { font-size: 24px; }
  .full-audiences { grid-template-columns: 1fr; gap: 40px; }.full-audiences h2 { font-size: 28px; }
  .full-install-layout { grid-template-columns: 1fr; gap: 32px; }.full-install-layout figure { padding: 24px; }
  .full-read-layout { grid-template-columns: 1fr; gap: 24px; }.full-document-nav { position: static; grid-template-columns: 1fr 1fr; gap: 8px 16px; }.full-document-nav a { font-size: 14px; }
  .full-prose { font-size: 16px; }.full-prose h2 { font-size: 24px !important; }.full-prose section { margin-bottom: 32px; }.full-drawing { padding: 16px; }
  .full-split-content { grid-template-columns: 1fr; gap: 32px; }.full-split-content>div>h2 { font-size: 28px; }.full-split-content>div>p { font-size: 16px; margin-top: 20px; }
  .full-form { padding: 24px; gap: 20px; }.full-form h2 { font-size: 24px !important; }.full-contact-copy>a { font-size: 24px; }
  .full-purchase-paths { grid-template-columns: 1fr; gap: 24px; }.full-purchase-paths>section { padding: 24px; }.full-purchase-paths p { font-size: 16px; }
  .full-download-main { grid-template-columns: 1fr; gap: 24px; padding: 24px; }.full-download-main h2 { font-size: 28px; }.full-download-main p { font-size: 16px; }
  .full-document-list>a { align-items: start; gap: 16px; }.full-document-list>a>span:last-child { max-width: 140px; font-size: 14px; }
  .full-support-strip { display: block; margin-top: 32px; }.full-support-strip h2 { font-size: 28px; }.full-support-strip .button { margin-top: 24px; }
  .full-faq summary { font-size: 20px; min-height: 72px; }.full-faq p { font-size: 16px; }
  .full-success,.full-empty-category { padding: 24px; }.full-success h2,.full-empty-category h2 { font-size: 28px; }.full-success p,.full-empty-category p { font-size: 16px; }
  .full-login-layout { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 32px; }.full-login-layout>figure { height: 240px; }
  .full-account-layout { grid-template-columns: 1fr; gap: 24px; }.full-account-nav { flex-direction: row; flex-wrap: wrap; position: static; gap: 4px; border-bottom: 1px solid #c4c1b8; padding-bottom: 16px; }
  .full-account-nav a { font-size: 14px; padding: 8px 12px; min-height: 44px; }.full-account-nav .full-account-exit { margin: 0; }
  .full-account-content>h2,.full-account-heading h2 { font-size: 28px; }
  .full-order-row { gap: 16px; grid-template-columns: 80px 1fr; }.full-order-row strong { font-size: 20px; }.full-order-row p { font-size: 14px; }
  .full-project-card { display: block; }.full-project-card h3 { font-size: 24px; margin-top: 20px; }.full-project-card figure img { max-height: 300px; }
  .full-project-layout,.full-order-layout,.full-checkout-layout { grid-template-columns: 1fr; gap: 32px; }.full-project-summary,.full-order-help,.full-checkout-summary { position: static; }
  .full-project-lines article { grid-template-columns: 88px minmax(0,1fr); gap: 16px; }.full-project-lines h2 { font-size: 20px; }.full-project-lines label { max-width: 120px; }
  .full-checkout-steps { gap: 0; }.full-checkout-steps button { padding: 10px 12px; font-size: 14px; flex: 1; }
  .full-order-items article { grid-template-columns: 64px minmax(0,1fr); gap: 12px; }.full-order-items article>span { grid-column: 2; font-size: 16px; }
  .full-order-status strong { font-size: 20px; }.full-order-status ol { gap: 16px; }
}
@media(max-width:360px) {
  .full-page-heading h1,.full-hero-copy h1 { font-size: 32px; }.full-form { padding: 20px; }.full-footer-inner { grid-template-columns: 1fr; }.full-footer-brand { grid-column: auto; }
  .full-document-nav { grid-template-columns: 1fr; }.full-order-status ol { display: grid; gap: 12px; }
}
[data-variant="architecture"] .professional-links>a { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 156px; padding: 32px 24px; border-bottom: 1px solid var(--rule); }
[data-variant="architecture"] .professional-links>a+a { border-left: 1px solid var(--rule); }
.cart-summary>.text-link { display: flex; min-height: 44px; }
@media(max-width:780px) {
  [data-variant="architecture"] .professional-links>a { min-height: 120px; padding: 24px 0; }
  [data-variant="architecture"] .professional-links>a+a { border-left: 0; }
}

/* Fluid image boxes must not inherit the source pixel height in operational rows. */
.full-order-row figure img,.full-project-card figure img,.full-project-lines figure img,.full-order-items figure img,.full-wide-image img,.full-case figure img { height: auto; }
.full-form section>label[hidden] { display: none; }

.full-project-empty-cover { display: flex; align-items: center; justify-content: center; min-height: 160px; background: #f4f1ea; font-size: 16px; text-align: center; padding: 24px; }
.full-project-context { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 24px; padding: 20px 24px; border: 1px solid #85857c; }
.full-project-context strong,.full-project-context span { display: block; }.full-project-context span { font-size: 14px; margin-top: 8px; color: #62625d; }
.full-project-pick { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding: 0 0 24px; }
.full-project-pick label { display: grid; gap: 8px; font-size: 14px; }.full-project-pick select { min-height: 44px; font-size: 16px; border: 1px solid #85857c; border-radius: 4px; padding: 8px; background: #fff; }
.full-project-pick .button { min-height: 44px; padding: 10px 12px; font-size: 14px; gap: 12px; }.full-pdp-project { margin-block: 20px; }
.full-project-lines [data-project-remove] { display: flex; font-size: 14px; }
@media(max-width:780px) { .full-project-context { flex-direction: column; align-items: start; gap: 12px; padding: 16px; } .full-project-pick { display: grid; grid-template-columns: 1fr; } .full-project-pick .button { justify-content: space-between; } }

/* home-scene.css */
/* Selected homepage image, 12 Oct 2026. Scoped to the local architecture home. */
[data-variant="architecture"][data-page="home"] {
  --container: min(1700px, calc(100% - 80px));
  background: #f4f1ea;
}
.library-icon { display: inline-block; width: 24px; height: 24px; flex: 0 0 24px; background: currentColor; mask: var(--icon) center / contain no-repeat; -webkit-mask: var(--icon) center / contain no-repeat; }
.icon-search { --icon: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%2F%3E%3Cline%20x1%3D%2221%22%20y1%3D%2221%22%20x2%3D%2216.65%22%20y2%3D%2216.65%22%2F%3E%3C%2Fsvg%3E'); }
.icon-shopping-cart { --icon: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2221%22%20r%3D%221%22%2F%3E%3Cpath%20d%3D%22M1%201h4l2.68%2013.39a2%202%200%200%200%202%201.61h9.72a2%202%200%200%200%202-1.61L23%206H6%22%2F%3E%3C%2Fsvg%3E'); }
.icon-heart { --icon: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.84%204.61a5.5%205.5%200%200%200-7.78%200L12%205.67l-1.06-1.06a5.5%205.5%200%200%200-7.78%207.78l1.06%201.06L12%2021.23l7.78-7.78%201.06-1.06a5.5%205.5%200%200%200%200-7.78z%22%2F%3E%3C%2Fsvg%3E'); }
.icon-user { --icon: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2021v-2a4%204%200%200%200-4-4H8a4%204%200%200%200-4%204v2%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E'); }
.icon-arrow-right { --icon: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%225%22%20y1%3D%2212%22%20x2%3D%2219%22%20y2%3D%2212%22%2F%3E%3Cpolyline%20points%3D%2212%205%2019%2012%2012%2019%22%2F%3E%3C%2Fsvg%3E'); }
.icon-menu { --icon: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%223%22%20y1%3D%2212%22%20x2%3D%2221%22%20y2%3D%2212%22%2F%3E%3Cline%20x1%3D%223%22%20y1%3D%226%22%20x2%3D%2221%22%20y2%3D%226%22%2F%3E%3Cline%20x1%3D%223%22%20y1%3D%2218%22%20x2%3D%2221%22%20y2%3D%2218%22%2F%3E%3C%2Fsvg%3E'); }
.icon-x { --icon: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2218%22%20y1%3D%226%22%20x2%3D%226%22%20y2%3D%2218%22%2F%3E%3Cline%20x1%3D%226%22%20y1%3D%226%22%20x2%3D%2218%22%20y2%3D%2218%22%2F%3E%3C%2Fsvg%3E'); }
[data-variant="architecture"][data-page="home"] .site-header { border: 0; }
[data-variant="architecture"][data-page="home"] .header-inner { min-height: clamp(88px, 8vw, 116px); gap: 24px; }
[data-variant="architecture"][data-page="home"] .wordmark { width: clamp(176px, 16.5vw, 236px); }
[data-variant="architecture"][data-page="home"] .emblem { width: 78px; height: 78px; }
[data-variant="architecture"][data-page="home"] .emblem img { width: 105.264px; height: 146.947px; left: -13.737px; top: -24.053px; }
[data-variant="architecture"][data-page="home"] .desktop-nav { gap: 32px; }
[data-variant="architecture"][data-page="home"] .header-actions { gap: 8px; }
[data-variant="architecture"][data-page="home"] .header-actions .icon-button { width: 44px; padding: 10px; position: relative; }
[data-variant="architecture"][data-page="home"] .account-button>span:not(.library-icon),
[data-variant="architecture"][data-page="home"] .cart-button>span:not(.library-icon) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.scene-hero { height: clamp(620px, 57.3vw, 880px); position: relative; color: #fff; background: #2e3031; }
.scene-panorama { position: absolute; inset: 0; display: grid; grid-template-columns: 32.8fr 42.5fr 24.7fr; }
.scene-pane { overflow: hidden; min-width: 0; }
.scene-pane img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.78); }
.scene-pane-molding img { object-position: 0% center; }
.scene-pane-room img { object-position: 52% center; filter: brightness(.58); }
.scene-pane-panel img { object-position: 100% center; }
.scene-content { position: absolute; bottom: clamp(64px, 6.3vw, 96px); left: max(40px, calc((100% - 1700px) / 2)); max-width: 75%; }
.scene-collection { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; letter-spacing: .08em; margin-bottom: 16px; }
.scene-content h1 { font: 700 clamp(56px, 5.3vw, 80px)/1.02 Arial, sans-serif; letter-spacing: -.035em; text-wrap: initial; }
.scene-content p { font-size: 18px; line-height: 1.5; margin-top: 28px; max-width: 38ch; }
.scene-content .scene-cta { min-height: 64px; margin-top: 32px; padding: 16px 32px; gap: 32px; font-size: 18px; }
[data-variant="architecture"][data-page="home"] .categories-section { padding-block: 32px 40px; }
[data-variant="architecture"][data-page="home"] .categories-section .section-title { margin-bottom: 24px; align-items: center; }
[data-variant="architecture"][data-page="home"] .categories-section h2 { font-size: 32px; line-height: 1.15; letter-spacing: -.035em; }
[data-variant="architecture"][data-page="home"] .category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
[data-variant="architecture"][data-page="home"] .category-tile>img { width: 100%; height: auto; aspect-ratio: 6 / 5; object-fit: contain; }
[data-variant="architecture"][data-page="home"] .category-tile { border-bottom: 1px solid #85857c; }
[data-variant="architecture"][data-page="home"] .category-tile>div { min-height: 56px; padding-block: 16px; gap: 12px; align-items: start; border-bottom: 0; }
[data-variant="architecture"][data-page="home"] .category-tile h3 { font-size: 20px; }
[data-variant="architecture"][data-page="home"] .model-section { padding-top: 0; }
@media (min-width: 1100px) {
  [data-variant="architecture"][data-page="home"] .desktop-nav { display: flex; }
  [data-variant="architecture"][data-page="home"] .mobile-menu-button { display: none; }
}
@media (max-width: 999px) {
  [data-variant="architecture"][data-page="home"] { --container: calc(100% - 48px); }
  [data-variant="architecture"][data-page="home"] .desktop-nav { display: none; }
  [data-variant="architecture"][data-page="home"] .mobile-menu-button { display: flex; }
  .scene-content { left: 24px; max-width: calc(100% - 48px); }
  .scene-content h1 { font-size: clamp(40px, 6vw, 56px); }
  .scene-content p { max-width: 22ch; }
  [data-variant="architecture"][data-page="home"] .categories-section h2 { font-size: 32px; }
  [data-variant="architecture"][data-page="home"] .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  [data-variant="architecture"][data-page="home"] { --container: calc(100% - 40px); }
  [data-variant="architecture"][data-page="home"] .header-inner { min-height: 88px; flex-wrap: nowrap; gap: 8px; }
  [data-variant="architecture"][data-page="home"] .brand { gap: 4px; }
  [data-variant="architecture"][data-page="home"] .wordmark { width: 140px; padding-block: 20px; }
  [data-variant="architecture"][data-page="home"] .emblem { width: 48px; height: 48px; }
  [data-variant="architecture"][data-page="home"] .emblem img { width: 64.778px; height: 90.429px; left: -8.454px; top: -14.802px; }
  [data-variant="architecture"][data-page="home"] .header-actions { gap: 0; }
  [data-variant="architecture"][data-page="home"] .account-button,
  [data-variant="architecture"][data-page="home"] .wishlist-link { display: none; }
  .scene-hero { height: 640px; }
  .scene-panorama { display: block; }
  .scene-pane-molding, .scene-pane-panel { display: none; }
  .scene-pane-room { width: 100%; height: 100%; }
  .scene-pane-room img { object-position: 52% center; filter: brightness(.45); }
  .scene-content { left: 20px; bottom: 40px; max-width: calc(100% - 40px); }
  .scene-collection { font-size: 14px; margin-bottom: 12px; }
  .scene-content h1 { font-size: 36px; line-height: 1.08; }
  .scene-content p { font-size: 16px; line-height: 1.5; margin-top: 24px; max-width: 38ch; }
  .scene-copy-break { display: none; }
  .scene-content .scene-cta { min-height: 56px; margin-top: 28px; font-size: 16px; padding: 16px 24px; gap: 24px; }
  [data-variant="architecture"][data-page="home"] .categories-section { padding-block: 32px 40px; }
  [data-variant="architecture"][data-page="home"] .categories-section .section-title { display: block; margin-bottom: 24px; }
  [data-variant="architecture"][data-page="home"] .categories-section h2 { font-size: 28px; line-height: 1.15; }
  [data-variant="architecture"][data-page="home"] .categories-section .section-title p { margin-top: 20px; font-size: 16px; }
  [data-variant="architecture"][data-page="home"] .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  [data-variant="architecture"][data-page="home"] .category-tile h3 { font-size: 16px; line-height: 1.3; letter-spacing: -.01em; }
  [data-variant="architecture"][data-page="home"] .category-tile>div { min-height: 76px; }
  [data-variant="architecture"][data-page="home"] .category-tile .library-icon { width: 18px; height: 18px; flex-basis: 18px; }
}
@media (max-width: 360px) {
  [data-variant="architecture"][data-page="home"] { --container: calc(100% - 32px); }
  [data-variant="architecture"][data-page="home"] .wordmark { width: 128px; }
  [data-variant="architecture"][data-page="home"] .cart-button { display: none; }
  .scene-content { left: 16px; max-width: calc(100% - 32px); }
  .scene-content h1 { font-size: 32px; }
}

[data-variant="architecture"][data-page="home"] .header-actions .library-icon { display: block; position: static; }
[data-variant="architecture"][data-page="home"] .emblem { display: block; }
@media (min-width: 900px) {
  [data-variant="architecture"][data-page="home"] .category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
[data-variant="architecture"][data-page="home"] .collection-links { gap: 0 24px; }
[data-variant="architecture"][data-page="home"] .collection-links a { align-items: start; padding-block: 20px; gap: 12px; }
[data-variant="architecture"][data-page="home"] .collection-links a>span { min-width: 0; }
[data-variant="architecture"][data-page="home"] .collection-links strong { display: block; font-size: 24px; line-height: 1.2; font-weight: 700; }
[data-variant="architecture"][data-page="home"] .collection-links small { display: block; margin-top: 10px; font-size: 16px; line-height: 1.5; color: #f4f1ea; }
[data-variant="architecture"][data-page="home"] .collection-links .library-icon { margin-top: 2px; }
@media (max-width: 1100px) {
  [data-variant="architecture"][data-page="home"] .collection-section { grid-template-columns: 1fr; }
  [data-variant="architecture"][data-page="home"] .collection-photo img { min-height: 0; height: auto; aspect-ratio: 1700 / 580; object-fit: contain; }
}
@media (max-width: 600px) {
  [data-variant="architecture"][data-page="home"] .collection-links { grid-template-columns: 1fr; }
  [data-variant="architecture"][data-page="home"] .collection-links a { padding-block: 16px; }
  [data-variant="architecture"][data-page="home"] .collection-links strong { font-size: 22px; }
}

/* calculator-page.css */
[data-page="calculator"] { background: #fff; }
html:has(body[data-page="calculator"]) { scroll-behavior: auto; }
[data-variant="architecture"][data-page="calculator"] .room-calculator-page { padding-block: 32px 64px; }
[data-page="calculator"] .header-actions .library-icon { display: block; position: static; }
.room-heading { margin: 24px 0 40px; }
.room-heading h1 { font-size: 48px; letter-spacing: -.025em; line-height: 1.1; }
.room-heading p { margin-top: 20px; font-size: 18px; max-width: 55ch; color: #62625d; }
.room-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 64px; align-items: start; }
#room-calculator { min-width: 0; }
.room-type { display: flex; gap: 8px; margin-bottom: 32px; }
.room-type button { border: 1px solid #85857c; background: #fff; color: #2e3031; border-radius: 4px; padding: 12px 20px; min-height: 48px; }
.room-type button[aria-pressed="true"] { background: #2e3031; color: #fff; border-color: #2e3031; }
.room-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.room-fields label, .room-reserve label { display: flex; flex-direction: column; gap: 10px; font-size: 16px; }
.room-fields label[hidden] { display: none; }
#room-openings-field { grid-column: 1 / -1; }
.room-fields input, .room-fields select, .room-reserve input { min-width: 0; width: 100%; height: 52px; border: 1px solid #85857c; border-radius: 4px; padding: 12px 14px; color: #2e3031; background: #fff; font-size: 18px; }
.room-fields small, .room-reserve small { color: #62625d; font-size: 14px; line-height: 1.5; }
#room-calculator [aria-invalid="true"] { border-color: #8a3232; }
.room-ceiling-note { font-size: 14px; color: #62625d; margin-top: 24px; }
.room-reserve { margin-top: 24px; border-block: 1px solid #c4c1b8; }
.room-reserve summary { cursor: pointer; min-height: 52px; padding-block: 14px; font-size: 16px; }
.room-reserve label { padding-block: 8px 24px; }
.room-reserve input { max-width: 160px; }
#room-error { margin-top: 20px; }
.room-actions { display: flex; align-items: center; gap: 24px; margin-top: 24px; }
.room-reset { min-height: 48px; padding: 12px 4px; border: 0; background: transparent; text-decoration: underline; text-underline-offset: 4px; }
.room-result { min-width: 0; background: #f4f1ea; padding: 32px; border-radius: 4px; }
[data-variant="architecture"] .room-result h2 { font-size: 24px; }
.room-empty p { font-size: 16px; color: #62625d; margin-top: 20px; }
.room-quantity { margin-top: 24px; font-size: 20px; }
.room-quantity strong { font-size: 64px; line-height: 1; font-weight: 700; letter-spacing: -.035em; }
.room-result-length { font-size: 14px; color: #62625d; margin-top: 12px; }
.room-result-details { margin: 24px 0; }
.room-result-details>div { display: flex; justify-content: space-between; gap: 20px; padding-block: 14px; border-bottom: 1px solid #c4c1b8; font-size: 16px; }
.room-result-details dt { color: #62625d; }
.room-result-details dd { margin: 0; white-space: nowrap; font-weight: 700; }
.room-result .button { display: flex; width: 100%; padding-inline: 16px; gap: 12px; }
.room-result-note { color: #62625d; font-size: 14px; margin-top: 16px; }
.room-explanation { border-top: 1px solid #c4c1b8; margin-top: 56px; padding-top: 32px; }
[data-variant="architecture"] .room-explanation h2 { font-size: 24px; }
.room-explanation p { font-size: 16px; line-height: 1.6; max-width: 75ch; margin-top: 16px; color: #62625d; }
@media (max-width: 999px) {
  .room-layout { grid-template-columns: 1fr 1fr; gap: 32px; }
  .room-fields { grid-template-columns: 1fr; }
  .room-result { padding: 24px; }
}
@media (max-width: 700px) {
  .room-heading { margin: 24px 0 32px; }
  .room-heading h1 { font-size: 32px; }
  .room-heading p { font-size: 16px; }
  .room-layout { grid-template-columns: 1fr; gap: 32px; }
  .room-type button { flex: 1; padding-inline: 12px; }
  .room-result-details>div { gap: 12px; font-size: 14px; }
  .room-result .button { font-size: 14px; }
  .room-explanation { margin-top: 40px; }
}
@media (max-width: 600px) {
  [data-page="calculator"] .header-inner { min-height: 88px; flex-wrap: nowrap; gap: 8px; }
  [data-page="calculator"] .header-actions { gap: 0; }
  [data-page="calculator"] .account-button, [data-page="calculator"] .wishlist-link { display: none; }
  [data-page="calculator"] .site-header .brand { gap: 4px; }
  [data-page="calculator"] .site-header .wordmark { width: 140px; padding-block: 20px; }
  [data-page="calculator"] .site-header .emblem { display: block; width: 48px; height: 48px; }
  [data-page="calculator"] .site-header .emblem img { width: 64.778px; height: 90.429px; left: -8.454px; top: -14.802px; }
}
@media (max-width: 360px) {
  [data-page="calculator"] .site-header .wordmark { width: 128px; }
  [data-page="calculator"] .cart-button { display: none; }
}

/* commerce-polish.css */
/* Catalog / PDP continue the selected homepage. Original media stays intact. */
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) {
  --container: min(1700px, calc(100% - 80px));
  background: #fff;
}
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .site-header { border: 0; }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .header-inner { min-height: clamp(88px, 8vw, 116px); gap: 24px; }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .wordmark { width: clamp(176px, 16.5vw, 236px); }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .emblem { display: block; width: 78px; height: 78px; }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .emblem img { width: 105.264px; height: 146.947px; left: -13.737px; top: -24.053px; }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .desktop-nav { gap: 32px; }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .header-actions { gap: 8px; }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .header-actions .icon-button { width: 44px; padding: 10px; position: relative; }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) :is(.account-button, .cart-button)>span:not(.library-icon) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .header-actions .library-icon { display: block; position: static; }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .commerce-cart-count { position: absolute; top: 4px; right: -2px; margin: 0; min-width: 18px; }
[data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .save-product .library-icon { display: block; }

[data-variant="architecture"][data-page="catalog"] .catalog-title { margin-bottom: 16px; }
[data-variant="architecture"][data-page="catalog"] .catalog-title h1 { font-size: 44px; line-height: 1.1; }
[data-variant="architecture"][data-page="catalog"] .catalog-title p { margin-top: 8px; }
[data-variant="architecture"][data-page="catalog"] .catalog-layout { gap: 32px; }
[data-variant="architecture"][data-page="catalog"] .catalog-products { gap: 28px 20px; }
[data-variant="architecture"][data-page="catalog"] .catalog-card { display: flex; flex-direction: column; }
[data-variant="architecture"][data-page="catalog"] .catalog-media { position: relative; }
[data-variant="architecture"][data-page="catalog"] .catalog-media .product-picture { aspect-ratio: 3 / 4; touch-action: pan-y pinch-zoom; }
[data-variant="architecture"][data-page="catalog"] .catalog-media .product-picture img { object-fit: contain; object-position: center; }
[data-variant="architecture"][data-page="catalog"] .catalog-gallery-control { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #c4c1b8; border-radius: 50%; background: #fff; color: #2e3031; cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
[data-variant="architecture"][data-page="catalog"] .catalog-gallery-control[hidden], [data-variant="architecture"][data-page="catalog"] .catalog-photo-count[hidden] { display: none; }
[data-variant="architecture"][data-page="catalog"] .catalog-gallery-prev { left: 8px; }
[data-variant="architecture"][data-page="catalog"] .catalog-gallery-next { right: 8px; }
[data-variant="architecture"][data-page="catalog"] .catalog-gallery-control .library-icon, [data-variant="architecture"][data-page="catalog"] .catalog-gallery-control svg { width: 18px; height: 18px; flex-basis: 18px; }
[data-variant="architecture"][data-page="catalog"] .catalog-gallery-prev .library-icon, [data-variant="architecture"][data-page="catalog"] .catalog-gallery-prev svg { transform: rotate(180deg); }
[data-variant="architecture"][data-page="catalog"] .catalog-gallery-control:active { background: #f4f1ea; }
[data-variant="architecture"][data-page="catalog"] .catalog-gallery-control:focus-visible { outline: 3px solid #e3cb7b; outline-offset: 2px; box-shadow: 0 0 0 5px #2e3031; }
[data-variant="architecture"][data-page="catalog"] .catalog-photo-count { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); padding: 4px 9px; border-radius: 12px; background: #2e3031; color: #fff; font-size: 12px; line-height: 1.25; font-variant-numeric: tabular-nums; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
  [data-variant="architecture"][data-page="catalog"] .catalog-gallery-control { opacity: 0; pointer-events: none; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card:hover .catalog-gallery-control,
  [data-variant="architecture"][data-page="catalog"] .catalog-card:focus-within .catalog-gallery-control { opacity: 1; pointer-events: auto; }
  [data-variant="architecture"][data-page="catalog"] .catalog-gallery-control:hover { background: #2e3031; color: #fff; }
}
[data-variant="architecture"][data-page="catalog"] .catalog-card .product-picture:hover img { transform: none; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-name { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 22px; min-height: 30px; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-name .library-icon { width: 20px; height: 20px; flex-basis: 20px; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-copy { flex: 1; padding: 12px 0; border-bottom: 1px solid #c4c1b8; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-copy p { margin-top: 6px; }
[data-variant="architecture"][data-page="catalog"] .catalog-card .card-category { margin-bottom: 4px; }
@media (min-width: 700px) {
  [data-variant="architecture"][data-page="catalog"] .catalog-products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (min-width: 1280px) {
  [data-variant="architecture"][data-page="catalog"] .catalog-products { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 699px) {
  [data-variant="architecture"][data-page="catalog"] .catalog-products { gap: 24px 16px; }
}
@media (hover: hover) and (pointer: fine) {
  [data-variant="architecture"][data-page="catalog"] .catalog-card:hover .card-name { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
}

/* Large photograph, compact factual overview, length and quantity beside it. */
[data-variant="architecture"][data-page="product"] .product-intro { padding: 24px 0 0; }
[data-variant="architecture"][data-page="product"] .product-detail { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(360px, 1fr); gap: clamp(32px, 4vw, 72px); align-items: start; padding: 24px 0 56px; }
[data-variant="architecture"][data-page="product"] .gallery { min-width: 0; }
[data-variant="architecture"][data-page="product"] .main-photo { aspect-ratio: 6 / 5; background: #f4f1ea; }
[data-variant="architecture"][data-page="product"] .main-photo img { object-fit: contain; }
[data-variant="architecture"][data-page="product"] .gallery-meta { display: flex; align-items: center; gap: 24px; justify-content: space-between; padding-top: 16px; color: #62625d; font-size: 14px; }
[data-variant="architecture"][data-page="product"] .gallery-meta p { margin: 0; }
[data-variant="architecture"][data-page="product"] .thumbnails { gap: 12px; margin-top: 12px; }
[data-variant="architecture"][data-page="product"] .thumbnails button { flex: 0 0 88px; height: 74px; padding: 2px; border-radius: 4px; background: #f4f1ea; }
[data-variant="architecture"][data-page="product"] .product-info { padding: 8px 0 0; }
[data-variant="architecture"][data-page="product"] .product-type { font-size: 16px; margin-bottom: 12px; }
[data-variant="architecture"][data-page="product"] .product-info h1 { font-size: clamp(36px, 3.2vw, 48px); line-height: 1.1; letter-spacing: -.025em; }
[data-variant="architecture"][data-page="product"] .pdp-title-row { align-items: center; gap: 16px; }
[data-variant="architecture"][data-page="product"] .pdp-title-row .save-product { margin-top: 0; }
[data-variant="architecture"][data-page="product"] .product-summary { margin-top: 12px; font-size: 16px; line-height: 1.5; }
[data-variant="architecture"][data-page="product"] .product-overview { margin: 24px 0 0; }
[data-variant="architecture"][data-page="product"] .product-overview>div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 14px; }
[data-variant="architecture"][data-page="product"] .product-overview dd { margin: 0; text-align: right; }
[data-variant="architecture"][data-page="product"] .purchase { margin: 24px 0 0; padding: 24px; background: #f4f1ea; border-radius: 4px; }
[data-variant="architecture"][data-page="product"] :is(.length-label, .quantity-label) { font-size: 14px; font-weight: 700; margin-bottom: 12px; }
[data-variant="architecture"][data-page="product"] .lengths { flex-wrap: wrap; margin-bottom: 24px; }
[data-variant="architecture"][data-page="product"] .lengths button { background: #fff; min-height: 44px; font-size: 16px; }
[data-variant="architecture"][data-page="product"] .lengths button[aria-pressed="true"] { background: #2e3031; color: #fff; border-color: #2e3031; }
[data-variant="architecture"][data-page="product"] .purchase-action { display: flex; align-items: stretch; gap: 16px; }
[data-variant="architecture"][data-page="product"] .quantity { display: flex; align-items: center; width: auto; flex-shrink: 0; background: #fff; }
[data-variant="architecture"][data-page="product"] .quantity output { min-width: 36px; font-size: 16px; }
[data-variant="architecture"][data-page="product"] .purchase-action>.button { flex: 1; min-width: 0; margin: 0; gap: 12px; padding-inline: 16px; }
[data-variant="architecture"][data-page="product"] .demo-purchase { font-size: 14px; margin-top: 16px; line-height: 1.5; }
[data-variant="architecture"][data-page="product"] .profile-calculator { margin: 20px 0 12px; }
[data-variant="architecture"][data-page="product"] .product-info>.text-link { font-size: 14px; justify-content: space-between; width: 100%; }
[data-variant="architecture"][data-page="product"] .features-section { padding: 0 0 48px; }
[data-variant="architecture"][data-page="product"] :is(.features-section, .technical-section, .model-section) h2 { font-size: 32px; }
[data-variant="architecture"][data-page="product"] .features span { font-size: 14px; }
[data-variant="architecture"][data-page="product"] .technical-section { padding: 48px 0 64px; gap: 64px; }
[data-variant="architecture"][data-page="product"] .technical-section>div { max-width: 68ch; }
[data-variant="architecture"][data-page="product"] .technical-section .drawing { background: #f4f1ea; padding: 24px; }
[data-variant="architecture"][data-page="product"] .model-section { padding: 0 0 64px; }
[data-variant="architecture"][data-page="product"] .home-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (min-width: 1100px) {
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .desktop-nav { display: flex; }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .mobile-menu-button { display: none; }
}
@media (max-width: 1099px) {
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .desktop-nav { display: none; }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .mobile-menu-button { display: flex; }
}
@media (max-width: 999px) {
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) { --container: calc(100% - 48px); }
  [data-variant="architecture"][data-page="product"] .product-detail { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  [data-variant="architecture"][data-page="product"] .main-photo { aspect-ratio: 6 / 5; max-height: 650px; }
  [data-variant="architecture"][data-page="product"] .product-info { padding: 0; }
  [data-variant="architecture"][data-page="product"] .technical-section { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 600px) {
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) { --container: calc(100% - 40px); }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .header-inner { min-height: 88px; flex-wrap: nowrap; gap: 8px; }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .brand { gap: 4px; }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .wordmark { width: 140px; padding-block: 20px; }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .emblem { width: 48px; height: 48px; }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .emblem img { width: 64.778px; height: 90.429px; left: -8.454px; top: -14.802px; }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .header-actions { gap: 0; }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) :is(.account-button, .wishlist-link) { display: none; }
  [data-variant="architecture"][data-page="catalog"] .catalog-title h1 { font-size: 32px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-name { font-size: 20px; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-name .library-icon { width: 16px; height: 16px; flex-basis: 16px; }
  [data-variant="architecture"][data-page="product"] .product-intro { padding-top: 20px; }
  [data-variant="architecture"][data-page="product"] .product-detail { padding: 20px 0 32px; gap: 28px; }
  [data-variant="architecture"][data-page="product"] .main-photo { aspect-ratio: 6 / 5; }
  [data-variant="architecture"][data-page="product"] .photo-open-label { bottom: 12px; right: 12px; padding: 8px 12px; }
  [data-variant="architecture"][data-page="product"] .gallery-meta { font-size: 14px; padding-top: 12px; }
  [data-variant="architecture"][data-page="product"] .thumbnails button { flex-basis: 64px; height: 56px; }
  [data-variant="architecture"][data-page="product"] .product-info h1 { font-size: 32px; }
  [data-variant="architecture"][data-page="product"] .product-overview { margin-top: 16px; }
  [data-variant="architecture"][data-page="product"] .product-overview>div { font-size: 14px; }
  [data-variant="architecture"][data-page="product"] .purchase { padding: 20px; margin-top: 20px; }
  [data-variant="architecture"][data-page="product"] .purchase-action { flex-wrap: wrap; }
  [data-variant="architecture"][data-page="product"] :is(.features-section, .technical-section, .model-section) h2 { font-size: 28px; }
  [data-variant="architecture"][data-page="product"] .technical-section { padding-block: 32px 48px; }
  [data-variant="architecture"][data-page="product"] .technical-section .drawing { padding: 16px; }
  [data-variant="architecture"][data-page="product"] .home-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 360px) {
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) { --container: calc(100% - 32px); }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .wordmark { width: 128px; }
  [data-variant="architecture"]:is([data-page="catalog"], [data-page="product"], [data-page="collections"]) .cart-button { display: none; }
  [data-variant="architecture"][data-page="catalog"] .catalog-card .card-name { font-size: 18px; }
  [data-variant="architecture"][data-page="product"] .purchase { padding: 16px; }
  [data-variant="architecture"][data-page="product"] .purchase-action>.button { flex-basis: 100%; }
}

.accessory-section{padding-block:40px}.accessory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.accessory-grid img{width:100%;height:260px;object-fit:contain}.accessory-grid h3{margin-block:20px 12px}.accessory-grid p{margin-block:10px}.skip-link{position:absolute;left:16px;top:-100px;z-index:1000}.skip-link:focus{top:16px;background:#fff;color:#2e3031;padding:12px}@media(max-width:600px){.accessory-grid{grid-template-columns:1fr}}

/* Collection directory: one architectural scene, followed by three material families. */
.collection-directory.section{padding:32px 0 72px}
.collection-directory>.breadcrumbs{font-size:14px;margin-bottom:32px}
.collection-directory-heading{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:36px}
.collection-directory-heading h1{font-size:48px;line-height:1.1;letter-spacing:-.035em}
.collection-directory-heading p{font-size:17px;line-height:1.55;color:#62625d;max-width:470px}
.collection-feature{display:grid;grid-template-columns:1.35fr 1fr;min-height:400px;background:#2e3031;color:#fff}
.collection-feature-scene{position:relative;overflow:hidden;min-height:400px}
.collection-feature-scene img{position:absolute;max-width:none;width:340%;height:100%;left:-123%;object-fit:cover}
.collection-feature-copy{padding:44px;display:flex;flex-direction:column;align-items:flex-start}
.collection-feature-copy h2{font-size:48px;line-height:1;color:#e3cb7b;letter-spacing:-.035em;margin-bottom:24px}
.collection-feature-copy h3{font-size:24px;line-height:1.25;margin-bottom:16px}
.collection-feature-copy>p{font-size:16px;line-height:1.6;max-width:42ch;color:#e9e8e3}
.collection-feature-copy .collection-material{margin:24px 0;color:#e3cb7b;font-size:14px}
.collection-feature-copy .button{margin-top:auto}
.collection-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:48px}
.collection-option-image{display:block;aspect-ratio:1.8;background:#f4f1ea;overflow:hidden}
.collection-option-image img{width:100%;height:100%;object-fit:contain}
.collection-option-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px}
.collection-option-heading h2{font-size:32px;line-height:1.1;letter-spacing:-.025em}
.collection-open{display:grid;place-items:center;width:44px;height:44px;border:1px solid #8b8b83;border-radius:50%}
.collection-open:hover{background:#e3cb7b;border-color:#e3cb7b}
.collection-option h3{font-size:20px;line-height:1.35;margin-bottom:12px}
.collection-option>p{font-size:16px;line-height:1.55;color:#62625d;max-width:42ch}
.collection-option .collection-material{font-size:14px;border-top:1px solid #c4c1b8;margin-top:20px;padding-top:16px;color:#2e3031}
.collection-directory-help{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:32px;margin-top:64px;border-top:1px solid #c4c1b8}
.collection-directory-help h2{font-size:24px;margin-bottom:10px}.collection-directory-help p{font-size:16px;color:#62625d}
@media(max-width:999px){.collection-feature{grid-template-columns:1fr 1fr}.collection-feature-copy{padding:28px}.collection-feature-copy h3{font-size:22px}.collection-options{gap:20px}.collection-directory-heading{align-items:flex-start}.collection-directory-heading p{max-width:350px}}
@media(max-width:700px){.collection-directory.section{padding:24px 0 48px}.collection-directory>.breadcrumbs{margin-bottom:24px}.collection-directory-heading{display:block;margin-bottom:24px}.collection-directory-heading h1{font-size:32px}.collection-directory-heading p{font-size:16px;margin-top:16px}.collection-directory-heading br{display:none}.collection-feature{grid-template-columns:1fr}.collection-feature-scene{min-height:0;height:270px}.collection-feature-copy{padding:28px 24px}.collection-feature-copy h2{font-size:36px;margin-bottom:16px}.collection-feature-copy h3{font-size:22px}.collection-feature-copy .button{width:100%;justify-content:space-between}.collection-options{grid-template-columns:1fr;margin-top:32px;gap:36px}.collection-option-heading{margin-top:16px}.collection-option .collection-material{margin-top:16px}.collection-directory-help{display:block;margin-top:40px;padding-top:24px}.collection-directory-help h2{font-size:22px}.collection-directory-help .button{margin-top:24px}.collection-option-image{aspect-ratio:1.8}}

/* Direct audience links: a dedicated navigation row keeps all six labels readable. */
@media (min-width: 1201px) {
 body[data-variant="architecture"] .site-header .header-inner { display:flex; flex-wrap:wrap; justify-content:space-between; gap:0 24px; padding-block:12px 0; }
 body[data-variant="architecture"] .site-header .header-actions { margin-left:auto; }
 body[data-variant="architecture"] .site-header .desktop-nav { display:flex; order:3; flex:0 0 100%; justify-content:center; gap:clamp(24px,3vw,56px); border-top:1px solid #62645f; margin-top:12px; }
 body[data-variant="architecture"] .site-header .desktop-nav a { display:flex; align-items:center; min-height:52px; white-space:nowrap; font-size:16px; }
 body[data-variant="architecture"] .site-header .mobile-menu-button { display:none; }
}
@media (max-width: 1200px) {
 body[data-variant="architecture"] .site-header .desktop-nav { display:none; }
 body[data-variant="architecture"] .site-header .mobile-menu-button { display:flex; }
}
