/* Express visual extension of the approved landing snapshot 1c526057fac2aa5ebe91897acbd482037ac22f50.
 * Source hierarchy: brand-type-v34, conversation-v35/V37, gallery-v42, conversation-v43.
 * Only visuals; no promotions, stock assertions, contact actions or quotation logic are imported.
 * Helvetica Neue is local-only exactly as approved in BRAND-TYPOGRAPHY.md.
 * On devices without that installed family, no licensed webfont is supplied and no substitute is declared.
 * Layout overrides are screen-only; approved typefaces also apply to print/PDF.
 */
@font-face{font-family:'Layer Noto Serif Display';src:url('/assets/fonts/noto-serif-display.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Layer Cormorant Garamond';src:url('/assets/fonts/cormorant-garamond-light-italic.woff') format('woff');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'Layer Cormorant Garamond';src:url('/assets/fonts/cormorant-garamond-bold-italic.woff') format('woff');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:'Layer Helvetica Neue';src:local('Helvetica Neue Light'),local('HelveticaNeue-Light');font-weight:300;font-style:normal}
@font-face{font-family:'Layer Helvetica Neue';src:local('Helvetica Neue'),local('HelveticaNeue');font-weight:400;font-style:normal}
@font-face{font-family:'Layer Helvetica Neue';src:local('Helvetica Neue Bold'),local('HelveticaNeue-Bold');font-weight:700;font-style:normal}

/* Typography is shared with the PDF; print geometry and pagination are unchanged. */
:root{--layer-title:'Layer Noto Serif Display';--layer-accent:'Layer Cormorant Garamond';--layer-body:'Layer Helvetica Neue';font-synthesis:none}
body{font-family:var(--layer-body);font-synthesis:none}
body :where(div,p,span,a,button,input,textarea,select,option,summary,label,legend,td,th,figcaption,small,strong,b,em,li,dt,dd){font-family:var(--layer-body);font-weight:400;font-synthesis:none}
body :where(p,figcaption,small,td){font-weight:300}
body :is(h1,h2,h3,h4){font-family:var(--layer-title);font-weight:400;font-style:normal}
body :is(h1,h2,h3) em{font-family:var(--layer-accent);font-weight:300;font-style:italic}
body .paper-heading h3{font-family:var(--layer-title)}

@media screen{
 .skip{position:fixed;left:16px;top:-80px;z-index:101;background:#fff;padding:14px;color:var(--blue);font-size:16px;line-height:1.4}
 .skip:focus{top:10px;outline:3px solid var(--blue);outline-offset:3px}
 #main:focus{outline:none}
 :root{--blue:#2147f2;--ink:#151922;--muted:#556174;--line:#dce2eb;--lime:#deff59;--pale:#f5f7fb;--paper:#fff;--bg:#fafbfc;--layer-title:'Layer Noto Serif Display';--layer-accent:'Layer Cormorant Garamond';--layer-body:'Layer Helvetica Neue';--layer-chat-paper:#eeeeed;--layer-chat-ink:#252729;--layer-soft-line:#dedfdf;--layer-control-radius:4px;font-family:var(--layer-body);font-size:16px;font-synthesis:none;color-scheme:light}
 body{background:var(--bg);color:var(--ink);font-family:var(--layer-body);font-synthesis:none}
 body :where(div,p,span,a,button,input,textarea,select,option,summary,label,legend,td,th,figcaption,small,strong,b,em,li,dt,dd){font-family:var(--layer-body);font-weight:400;font-synthesis:none}
 body :where(p,figcaption,small,td){font-weight:300}
 body :is(h1,h2,h3,h4){font-family:var(--layer-title);font-weight:400;font-style:normal;line-height:1.22}
 body :is(h1,h2,h3) em{font-family:var(--layer-accent);font-weight:300;font-style:italic}
 body .layer-question{font-family:var(--layer-body);font-weight:700;font-style:normal;letter-spacing:-.025em;line-height:1.22;text-wrap:pretty}
 body .layer-question em{font-family:var(--layer-accent);font-weight:700;font-style:italic;font-size:1.34em;line-height:.85;vertical-align:baseline;letter-spacing:-.04em;color:var(--blue)}
 button,input,select,textarea{max-width:100%}
 button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
 .topbar{position:sticky;top:0;z-index:100;height:auto;min-height:0;padding:0;background:#fff;border-bottom:1px solid var(--line)}
 .topbar>.header-inner{width:100%;max-width:1200px;margin:auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0}
 .topbar .brand{display:flex;align-items:center;min-height:44px;min-width:0;flex-shrink:0}
 .topbar .brand img{display:block;width:205px;height:auto;max-width:100%}
 .topbar-end{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-width:0}
 .topbar .private-tag{font-size:12px;line-height:1.4;min-width:0}
 .topbar .private-tag span{background:var(--blue)}
 .topbar .text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:11px 16px;border:1px solid var(--blue);border-radius:100px;font-size:14px;line-height:1.35;text-decoration:none;color:var(--blue);background:#fff}
 .topbar .text-button:hover{background:#f0f3ff}
 main{max-width:1200px;margin:auto;padding:32px;min-width:0;min-height:60vh}
 .intro{gap:24px;margin-bottom:25px}
 .intro .eyebrow{font-size:14px;line-height:1.45;letter-spacing:0;color:var(--blue);margin-bottom:10px}
 .intro h1.layer-question{font-size:clamp(24px,3vw,34px);line-height:1.22;letter-spacing:-.025em;margin:0 0 18px}
 .intro p{font-size:14px;line-height:1.5;max-width:70ch;margin-top:0;color:var(--muted)}
 .intro-mark{display:none}
 .notice{border-color:var(--layer-soft-line);border-radius:4px;background:var(--pale)}
 .notice p{font-size:12px;line-height:1.6}
 .workspace{grid-template-columns:minmax(0,1fr) 305px;gap:24px;min-width:0}
 .editor,.panel,.summary,.product,.product-body,.product-actions{min-width:0}
 .panel{padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}
 .stepper{gap:8px;padding:0 0 18px;margin-bottom:20px;border:0;border-bottom:1px solid var(--layer-soft-line);border-radius:0;background:#fff}
 .step{min-width:0;min-height:48px;padding:10px 8px;gap:7px;white-space:normal;border:1px solid var(--layer-soft-line);border-radius:4px;background:#fff;color:var(--layer-chat-ink);font-size:12px;line-height:1.35}
 .step.active{background:#fff;color:var(--blue);border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
 .section-head{margin-bottom:18px;align-items:baseline}
 .section-head h2{font-size:clamp(21px,2.1vw,28px);letter-spacing:-.025em;line-height:1.22;margin-bottom:5px}
 .section-head p{font-size:13px;line-height:1.45;color:#5b5e61;margin:0;max-width:70ch}
 .filters{gap:12px;margin-bottom:18px;min-width:0}
 .search{min-width:0}
 input,select,textarea{border-color:#b8bcbe;border-radius:4px;background:#fff;color:var(--layer-chat-ink);min-height:48px;padding:12px;font-size:16px;line-height:1.5}
 input:focus,textarea:focus,select:focus{box-shadow:none;border-color:var(--blue)}
 input::placeholder,textarea::placeholder{color:#687386;opacity:1}
 .filters select{max-width:44%;font-size:14px;min-width:0}
 .search input{font-size:14px}
 .catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
 .product{border:0;border-radius:0;background:#fff;box-shadow:none;overflow:visible}
 .product-visual.catalog-photo{height:clamp(190px,23vw,285px);padding:24px 12px 25px;border-radius:0;border-bottom:1px solid #eee;background:#fff;overflow:visible}
 .catalog-photo img,.catalog-photo svg{object-fit:contain;object-position:center;background:#fff;mix-blend-mode:normal}
 .demo-tag{top:4px;left:0;font-size:9px;line-height:1.4;letter-spacing:.01em;color:#55595c;background:#fff}
 .photo-reference{left:0;right:0;bottom:5px;font-size:9px;line-height:1.4;color:#55595c}
 .product-body{padding:13px 0 0}
 .product-family{font-size:11px;line-height:1.4;letter-spacing:.01em;color:#55595c;margin-bottom:5px;overflow-wrap:anywhere}
 .product h3{font-family:var(--layer-body);font-size:15px;font-weight:500;line-height:1.35;letter-spacing:0;min-height:0;margin:0 0 6px;overflow-wrap:break-word}
 .product-detail{font-size:12px;line-height:1.4;color:#55595c;min-height:0;margin-bottom:12px}
 .variant-field{font-size:12px;line-height:1.4;gap:6px;margin-top:12px;color:#55595c}
 .variant-field select{font-size:13px;line-height:1.4;height:auto;min-height:44px;padding:10px 7px;max-width:100%;border-radius:4px}
 .variant-details{font-size:12px;line-height:1.4;color:#55595c;min-height:60px}
 .variant-details small{font-size:11px}
 .variant-details code{font-size:9px;overflow-wrap:anywhere}
 .product-price{font-size:12px;line-height:1.4;color:var(--ink)}
 .product-actions{gap:8px;align-items:stretch}
 .quantity-field{width:70px;flex:0 0 70px}
 .quantity-field input{min-height:44px;padding:8px 5px;font-size:14px}
 .add-button{min-width:0;min-height:44px;font-size:13px;line-height:1.35;border:1px solid var(--blue);border-radius:4px;background:#fff;color:var(--blue);padding:9px 8px}
 .add-button:hover{background:#f0f3ff}
 .button{min-height:48px;padding:13px 19px;font-size:14px;line-height:1.35;border-radius:4px}
 .button.primary,.button.custom-accent{background:var(--blue);color:#fff;border:1px solid var(--blue)}
 .button.primary:hover,.button.custom-accent:hover{background:#1535c6}
 .button.secondary{border-color:var(--blue);color:var(--blue);background:#fff}
 .text-button{min-height:44px;font-size:14px;line-height:1.4;text-decoration:underline;text-underline-offset:4px}
 .custom-entry{gap:16px;padding:18px;border:1px solid var(--lime);border-radius:4px;background:var(--lime);color:var(--ink);margin-bottom:25px}
 .custom-entry-eyebrow{font-size:11px;line-height:1.3;letter-spacing:.08em;color:var(--ink)}
 .custom-entry h3{font-family:var(--layer-title);font-size:22px;line-height:1.22;letter-spacing:-.025em;margin:6px 0}
 .custom-entry p{font-size:12px;line-height:1.5;color:var(--ink)}
 .custom-entry .button{flex-shrink:0}
 .summary{top:118px;padding:0 0 0 24px;border:0;border-left:1px solid var(--layer-soft-line);border-radius:0;background:#fff;box-shadow:none}
 .summary-head{padding:0 0 16px;border-color:var(--layer-soft-line)}
 .summary-head .eyebrow{font-size:11px;line-height:1.4;letter-spacing:.08em}
 .summary-head h2{font-family:var(--layer-title);font-size:25px;line-height:1.22;letter-spacing:-.025em;margin-top:6px}
 .summary-count{background:#eeeeed;color:var(--ink)}
 .summary-bottom{padding:20px 0 0;border-color:var(--layer-soft-line);border-radius:0;background:#fff}
 .selection-list{padding:0}
 .selection-item{grid-template-columns:42px minmax(0,1fr) 32px;gap:10px;border-color:var(--layer-soft-line)}
 .small-visual{background:#fff;border-radius:0}
 .selection-title{font-family:var(--layer-body);font-size:13px;line-height:1.4;font-weight:500}
 .selection-qty input{min-height:40px}
 .remove{width:32px;height:44px;min-height:44px}
 .summary .text-button{font-size:12px}
 .summary .button{padding-inline:10px}
 .totals-row,.total-row{gap:10px;line-height:1.5}
 .totals-row{font-size:12px}
 .total-row{font-size:14px}
 .total-row strong{font-size:18px}
 .pending-note,.save-indicator,.tax-note{font-size:10px;line-height:1.6}
 .form-grid label{font-size:14px;line-height:1.4;min-width:0}
 .form-grid label span{font-size:12px}
 .form-grid input,.form-grid textarea,.shipping-fields input{font-size:16px}
 .design-service{border:1px solid var(--layer-soft-line);border-radius:4px;background:#fff}
 .design-service h3{font-family:var(--layer-title);font-size:23px}
 .shipping-option{border-color:var(--layer-soft-line);border-radius:4px;min-width:0}
 .shipping-option>div{min-width:0;overflow-wrap:anywhere}
 .privacy-note{border-radius:4px;background:#f2f2f0;font-size:12px;line-height:1.6}
 .footer{max-width:1136px;border-top:1px solid var(--line);padding:20px 0;margin:32px auto 15px;font-size:14px;line-height:1.5;gap:20px;flex-wrap:wrap;color:var(--muted)}
 .footer .text-button{font-size:12px}
 .footer-actions{gap:20px;flex-wrap:wrap}
 .custom-dialog,.small-dialog,.preview-dialog{border-radius:4px}
 .dialog-bar{background:#fff;border-color:var(--layer-soft-line)}
 .dialog-bar h2{font-family:var(--layer-title)}
 .pending-product{font-size:12px;line-height:1.5;min-height:0;padding:0 0 14px}
 .reference-size-note,.reference-size-source{font-size:11px;line-height:1.5;overflow-wrap:anywhere}
}
@media screen and (min-width:761px) and (max-width:1000px){
 .topbar>.header-inner{gap:12px;padding-inline:22px}
 .topbar .brand img{width:164px}
 .topbar .text-button{padding-inline:12px}
}
@media screen and (max-width:1000px){
 .workspace{grid-template-columns:1fr}
 .summary{position:static;padding:20px 0 0;margin-top:8px;border:0;border-top:1px solid var(--layer-soft-line)}
 .selection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .summary-bottom{max-width:440px;margin-left:auto}
}
@media screen and (max-width:760px){
 .topbar>.header-inner{padding:7px 18px;gap:8px;min-height:62px}
 .topbar .brand{max-width:128px;min-height:44px}
 .topbar .brand img{width:128px}
 .topbar-end{gap:8px}
 .topbar .private-tag{display:none}
 .topbar .text-button{min-height:44px;padding:8px 10px;font-size:13px;gap:5px}
 .topbar .text-button span{margin-left:0}
 main{padding:25px 18px}
 .intro{margin-bottom:17px}
 .intro h1.layer-question{font-size:26px;margin-bottom:14px}
 .intro p{font-size:13px;max-width:70ch}
 .section-head h2{font-size:24px}
 .section-head p{font-size:12px}
 .catalog{gap:22px 9px}
 .product-visual.catalog-photo{height:clamp(105px,24vw,175px);padding:19px 4px 24px}
 .product-body{padding-top:9px}
 .product h3{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
 .product-family,.product-detail{font-size:11px;line-height:1.4}
 .variant-field{font-size:11px;gap:5px}
 .variant-field select{font-size:12px;padding:9px 5px}
 .variant-details,.variant-details small,.product-price{font-size:11px}
 .product-actions{gap:6px}
 .quantity-field{width:58px;flex-basis:58px}
 .quantity-field input{font-size:12px}
 .add-button{font-size:12px;padding:8px 5px}
 .add-button span{margin-right:3px}
 .demo-tag,.photo-reference{font-size:8px;line-height:1.3}
 .custom-entry{padding:16px;gap:12px}
 .custom-entry h3{font-size:21px}
 .button{font-size:13px;padding:12px 15px}
 .pending-product{font-size:11px}
 .reference-size-note,.reference-size-source{font-size:10px}
 .footer{margin:25px 0 0;padding:17px 0;gap:5px 16px;align-items:flex-start;flex-direction:column;font-size:12px}
 .footer>span:nth-child(2){display:block}
 .footer-actions{gap:16px}
 .shipping-option{flex-wrap:wrap}
 .shipping-option>div:last-child{align-items:flex-start;flex-shrink:1}
}
@media screen and (max-width:600px){
 .custom-entry{flex-direction:column;align-items:stretch}
 .custom-entry .button{width:100%}
 .filters{flex-direction:column}
 .filters select{width:100%;max-width:100%}
 .form-grid{grid-template-columns:1fr}
 .selection-list{grid-template-columns:1fr}
 .summary-bottom{max-width:none}
 .step{gap:4px;font-size:11px;padding:9px 5px}
 .step b{font-size:10px}
 .stepper{gap:5px}
 .catalog-pagination .button{font-size:11px;padding:9px 10px}
 .catalog-pagination>span{font-size:11px}
}
@media screen and (max-width:360px){
 main{padding-left:14px;padding-right:14px}
 .topbar>.header-inner{padding-inline:14px}
 .topbar .brand img{width:116px}
 .topbar .text-button{padding-inline:8px;font-size:12px}
 .quantity-field{width:50px;flex-basis:50px}
 .add-button{font-size:11px}
 .add-button span{margin-right:1px}
 .product-family{font-size:10px}
 .step{font-size:10px;gap:3px}
}
@media screen and (prefers-reduced-motion:reduce){.product,.button,.add-button{transition:none}}

@media print{body>.skip{display:none!important}}

/* Quotation choice extends the same landing components; no alternate brand skin. */
.quotation-kind{display:grid;grid-template-columns:minmax(260px,390px) minmax(0,1fr);gap:12px 26px;margin:22px 0;padding:22px 24px;border:1px solid var(--line,#dce2eb);border-radius:18px;background:#fff;align-items:center}
.quotation-kind label{font-size:13px;font-weight:700;display:grid;gap:9px}
.quotation-kind select{width:100%;padding:13px 14px;background:#fafbfc;border:1px solid #dce2eb;border-radius:10px;color:#151922;font:inherit}
.quotation-kind>p{font-size:13px;line-height:1.6;color:#556174;margin:0}
.quotation-kind .alternative-origin{grid-column:1/-1;padding-top:12px;border-top:1px solid #dce2eb;font-size:11px;overflow-wrap:anywhere}
.option-label{display:block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#2147f2;font-weight:700;margin:0 0 8px}
.selection-item.alternative-item{align-items:start}
.option-subtotal{padding-top:8px;border-top:1px solid #e9edf3;font-size:12px!important}
.option-condition-label{display:block;font-size:11px;font-weight:700;margin-top:12px}
.option-condition-label textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #dce2eb;border-radius:8px;padding:9px;font:400 12px/1.5 var(--font-body,Arial,sans-serif);resize:vertical;margin-top:7px;background:#fafbfc}
.choose-option{width:100%;margin-top:12px;font-size:12px!important;padding:10px!important}
.alternatives-notice{padding:15px;background:#eff3ff;border:1px solid #dce4ff;border-radius:12px;font-size:13px;line-height:1.5;color:#151922}
.alternatives-notice>p{margin:7px 0 0;color:#556174}
.alternative-common{font-size:11px;line-height:1.6;color:#556174;margin:14px 0}
.alternative-common .totals-row{font-size:12px}
.alternative-fees-note{padding:14px;background:#eff3ff;border-radius:10px;line-height:1.6;font-size:12px!important;color:#556174}
.paper-option{border:1px solid #dce2eb;padding:18px;margin:20px 0;break-inside:avoid}
.paper-option h4{font-size:17px;margin:0 0 10px;color:#2147f2}
.paper-option-details{font-size:11px;line-height:1.5;color:#556174}
.paper-option .quote-table{margin:14px 0}
.option-charges{font-size:11px;line-height:1.5;margin-left:auto;max-width:430px}
.option-charges>div{display:flex;gap:18px;justify-content:space-between;margin:8px 0}
.option-charges strong{white-space:nowrap}
.option-total{border-top:1px solid #dce2eb;padding-top:9px}
.service-benefit{color:#2147f2}
.service-benefit td{background:#f4f7ff}
.sample-service{border-left:3px solid #deff59}
.option-conditions{font-size:11px;line-height:1.6;margin-top:15px;overflow-wrap:anywhere}
.option-conditions p{margin:4px 0 0}
.paper-origin,.paper-footer{overflow-wrap:anywhere}
@media screen and (max-width:600px){.quotation-kind{grid-template-columns:1fr;padding:18px;gap:12px}.quotation-kind select{font-size:12px}.paper-option{padding:12px}.option-charges>div{gap:10px}}
@media print{.paper-option{border-color:#cdd3df}.paper-option h4{font-size:15px}.paper-option .quote-table td{font-size:11px}.paper-origin{font-size:10px}}

/* Per-product timing follows the existing capture panel language. */
.selection-delivery{font-size:12px;line-height:1.6;color:var(--muted,#626877);overflow-wrap:anywhere}.custom-form select{width:100%;min-height:44px;border:1px solid #d7dae2;border-radius:6px;background:#fff;color:#151922;padding:10px 12px;font:inherit}.custom-form textarea{max-width:100%}
