[hidden] { display:none !important; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.quote-section { background:#f7f7f4; }
.quote-intro { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; margin-bottom:36px; }
.quote-process { list-style:none; padding:0; margin:0; }
.quote-process li { display:flex; gap:20px; padding:19px 0; border-bottom:1px solid var(--line); }
.quote-process li > span { font-size:.8125rem; font-weight:750; color:var(--brand-deep); }
.quote-process strong { font-size:1.125rem; }
.quote-process p { margin:4px 0 0; color:var(--muted); }
.quote-builder { padding:32px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.quote-heading, .quote-item-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.quote-heading { padding-bottom:24px; border-bottom:1px solid var(--line); }
.quote-heading h3, .quote-review h3 { margin:0; font-size:1.3rem; }
.quote-heading p { margin:4px 0 0; color:var(--muted); }
.quote-count { flex-shrink:0; font-size:.8125rem; padding:5px 10px; background:var(--bg); border-radius:4px; }
.quote-item { border:0; border-bottom:1px solid var(--line); padding:24px 0; margin:0; min-width:0; }
.quote-item h4 { margin:0; font-size:.9375rem; }
.quote-item-fields { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:16px; margin-top:18px; }
.quote-builder label, .platform-form label { display:flex; flex-direction:column; gap:7px; font-size:.875rem; font-weight:650; min-width:0; }
.quote-builder label span { color:var(--muted); font-weight:400; display:contents; }
.quote-builder input, .quote-builder select, .quote-builder textarea, .platform-form input, .platform-form select, .platform-form textarea { width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid #c6c6c0; border-radius:4px; background:#fff; color:var(--ink); font:inherit; font-weight:400; }
.quote-builder input:focus-visible, .quote-builder select:focus-visible, .quote-builder textarea:focus-visible, .platform-form input:focus-visible, .platform-form select:focus-visible, .platform-form textarea:focus-visible { outline:2px solid var(--o); outline-offset:2px; }
.quote-builder textarea, .platform-form textarea { resize:vertical; }
.quote-quantity { display:grid; grid-template-columns:1.1fr 1fr; gap:8px; }
.quote-remove, .quote-select { border:0; padding:0; background:transparent; color:var(--brand-deep); font-size:.875rem; font-weight:650; text-align:left; }
.quote-remove { padding:8px 0 8px 8px; }
.quote-remove:hover, .quote-select:hover { text-decoration:underline; text-underline-offset:4px; }
.quote-remove:disabled { color:#999; cursor:default; text-decoration:none; }
.product .quote-select { align-self:flex-start; padding-top:14px; }
.quote-secondary { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; border:1px solid #bdbdb6; padding:10px 16px; border-radius:4px; background:#fff; font-weight:650; min-height:44px; }
.quote-secondary:hover { border-color:var(--ink); }
.quote-secondary:disabled, .btn:disabled { opacity:.5; cursor:default; }
.quote-list-footer { display:flex; flex-wrap:wrap; align-items:center; gap:18px; padding:24px 0; }
.quote-list-footer p { color:var(--muted); font-size:.8125rem; margin:0; }
.quote-details, .platform-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:26px 0; }
.quote-details { border-top:1px solid var(--line); }
.quote-wide { grid-column:1/-1; }
.quote-submit { display:flex; justify-content:space-between; align-items:start; gap:24px; border-top:1px solid var(--line); padding-top:26px; }
.quote-submit p, .quote-review > p { font-size:.8125rem; color:var(--muted); max-width:610px; margin:12px 0 0; }
.quote-submit > a { flex-shrink:0; font-size:.875rem; padding-top:14px; }
.quote-status, .platform-status { color:var(--brand-deep); font-size:.875rem; margin:18px 0 0; }
.quote-status:empty { display:none; }
.quote-review { margin-top:24px; border:1px solid var(--line); border-left:3px solid var(--o); padding:24px; background:#fafaf8; }
.quote-review pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:.875rem; margin:18px 0 24px; }
.brand-strip { overflow:hidden; border-block:1px solid var(--line); padding:22px 0; background:#fff; }
.brand-search { display:flex; flex-direction:column; gap:8px; font-size:.875rem; font-weight:650; max-width:440px; margin-top:26px; }
.brand-search input { font:inherit; font-weight:400; min-height:46px; padding:11px 14px; border:1px solid #c6c6c0; border-radius:4px; }
.brand-search input:focus-visible { outline:2px solid var(--o); outline-offset:2px; }
.product-material { display:grid; place-items:center; height:164px; margin:0 0 22px; background:#f7f7f4; border-radius:4px; }
.product-material img { width:90%; height:140px; object-fit:contain; }
.brand-strip .eyebrow { margin-bottom:18px; }
.brand-track { display:flex; width:max-content; animation:brand-scroll 42s linear infinite; }
.brand-run { display:flex; align-items:center; gap:54px; padding-right:54px; }
.brand-run > span { width:148px; flex-shrink:0; font-size:1.0625rem; font-weight:750; text-align:center; }
.brand-run img { width:148px; height:48px; object-fit:contain; }
.brand-track:hover { animation-play-state:paused; }
@keyframes brand-scroll { to { transform:translateX(-50%); } }
.platform-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:18px; border-bottom:1px solid var(--line); }
.platform-top img { width:164px; height:68px; object-fit:contain; }
.platform-top-links { display:flex; flex-wrap:wrap; gap:20px; align-items:center; font-weight:650; font-size:.875rem; }
.platform-top-links a { text-decoration:none; }
.platform-main { padding-block:48px 70px; }
.platform-main h1 { font-size:clamp(2rem,4vw,3rem); line-height:1.13; letter-spacing:-1.3px; margin:12px 0 20px; }
.platform-panel { border:1px solid var(--line); border-radius:7px; padding:28px; margin:24px 0; background:#fff; }
.platform-panel h2 { margin:0 0 14px; font-size:1.5rem; }
.platform-panel h3 { margin:0 0 10px; }
.platform-auth { max-width:510px; margin:28px auto; }
.platform-form { display:grid; gap:16px; }
.platform-form .platform-fields { padding:0; }
.platform-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.platform-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.platform-tabs button[aria-pressed="true"] { background:var(--ink); color:#fff; }
.order-card { padding:24px; border:1px solid var(--line); border-radius:6px; margin:16px 0; overflow-wrap:anywhere; }
.order-heading { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.order-heading h3 { font-size:1.125rem; }
.order-badge { background:#fff2e6; color:var(--brand-deep); padding:5px 10px; border-radius:4px; font-size:.8125rem; font-weight:650; }
.order-meta { color:var(--muted); font-size:.875rem; }
.order-items { margin:16px 0; padding-left:20px; }
.order-items li { margin:8px 0; }
.order-timeline { display:flex; flex-wrap:wrap; padding:0; list-style:none; gap:10px; }
.order-timeline li { padding:7px 12px; border:1px solid var(--line); font-size:.8125rem; }
.order-timeline li.complete { border-color:#e1a775; background:#fff5ec; }
.order-note { white-space:pre-wrap; font-size:.9375rem; }
.platform-empty { padding:32px; text-align:center; background:var(--bg); border-radius:6px; }
.material-assistant { position:fixed; right:22px; bottom:20px; z-index:35; }
.assistant-toggle { min-height:46px; padding:12px 18px; border:1px solid #353535; background:var(--ink); color:#fff; border-radius:6px; box-shadow:0 5px 15px #0002; font-size:.875rem; font-weight:650; }
.assistant-toggle span { color:var(--o); margin-left:10px; }
.assistant-panel { position:absolute; bottom:58px; right:0; width:370px; max-width:calc(100vw - 36px); border:1px solid var(--line); border-radius:7px; background:#fff; box-shadow:0 14px 50px #0003; overflow:hidden; }
.assistant-panel header { display:flex; justify-content:space-between; gap:16px; padding:16px; background:var(--ink); color:#fff; border-top:3px solid var(--o); }
.assistant-panel small { display:block; color:#c5c5c5; font-size:.75rem; }
.assistant-panel header button { border:0; background:transparent; color:#fff; font-size:1.5rem; padding:0 6px; }
.assistant-messages { height:280px; max-height:40dvh; overflow:auto; padding:14px; }
.assistant-message { background:#f4f4f1; padding:10px 12px; border-radius:5px; margin-bottom:12px; font-size:.875rem; overflow-wrap:anywhere; }
.assistant-message.user { background:#fff0e2; margin-left:32px; }
.assistant-message p { margin:0; white-space:pre-wrap; }
.assistant-message a { display:block; color:var(--brand-deep); margin-top:8px; font-weight:650; }
.assistant-topics { display:flex; flex-wrap:wrap; gap:7px; padding:0 14px 12px; }
.assistant-topics button { border:1px solid #ccc; border-radius:4px; background:#fff; padding:6px 8px; font-size:.75rem; }
#assistant-form { display:flex; gap:8px; padding:12px 14px; border-top:1px solid var(--line); }
#assistant-form input { min-width:0; flex:1; padding:10px; font:inherit; font-size:.875rem; border:1px solid #bdbdb7; border-radius:4px; }
#assistant-form button { padding:8px 12px; background:var(--o); border:0; border-radius:4px; font-weight:650; }
.assistant-footnote { margin:0; padding:0 14px 12px; font-size:.6875rem; color:var(--muted); }
@media (max-width:520px) { .material-assistant { right:18px; bottom:14px; } .platform-top { flex-direction:column; align-items:stretch; } .platform-top-links { justify-content:flex-start; } }
footer { padding-bottom:85px; }
.resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.resource-grid > article { padding:24px; border:1px solid var(--line); border-top:3px solid var(--o); border-radius:5px; }
.resource-grid h3 { font-size:1.25rem; margin:8px 0; }
.resource-grid p { color:var(--muted); }
.resource-grid a { font-weight:650; color:var(--brand-deep); }
@media (max-width:960px) { .quote-item-fields { grid-template-columns:1fr 1fr; } .quote-intro { gap:32px; } .quote-submit { flex-direction:column; } .resource-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:720px) { .quote-intro, .resource-grid { grid-template-columns:1fr; gap:20px; } .quote-builder { padding:22px; } .platform-top { align-items:start; } .platform-top img { width:135px; height:56px; } .platform-top-links { gap:12px; justify-content:flex-end; } .platform-panel { padding:22px; } }
@media (max-width:520px) { .quote-item-fields, .quote-details, .platform-fields { grid-template-columns:1fr; } .quote-heading { align-items:start; } .quote-count { font-size:.75rem; } .quote-builder { padding:18px; } .quote-review { padding:18px; } .quote-submit .btn { width:100%; } .platform-panel { padding:18px; } .order-card { padding:18px; } .order-heading { flex-direction:column; gap:8px; } .brand-run { gap:32px; padding-right:32px; } }
@media (prefers-reduced-motion:reduce) { .brand-track { animation:none; width:100%; } .brand-run { flex-wrap:wrap; gap:24px; padding:0; justify-content:center; } .brand-run[aria-hidden="true"] { display:none; } }

@media (min-width:961px) and (max-width:1100px) {
  .js-ready .menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 5px; background: #fff; font-size: .875rem; font-weight: 650; }
  .menu-icon { display: block; position: relative; width: 16px; height: 10px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
  .menu-icon::after { content: ''; position: absolute; left: 0; top: 3px; width: 16px; height: 2px; background: currentColor; }
  .menu-toggle[aria-expanded="true"] .menu-icon { border: none; }
  .menu-toggle[aria-expanded="true"] .menu-icon::before, .menu-toggle[aria-expanded="true"] .menu-icon::after { content: ''; position: absolute; top: 4px; left: 0; width: 16px; height: 2px; background: currentColor; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-icon::after { transform: rotate(-45deg); }
  .js-ready .navlinks { display: none; position: absolute; z-index: 30; left: 0; right: 0; top: 100%; padding: 14px; flex-direction: column; gap: 0; align-items: stretch; border: 1px solid var(--line); border-radius: 0 0 7px 7px; background: #fff; box-shadow: 0 16px 26px #20202012; max-height: calc(100dvh - var(--header-height) - 20px); overflow-y: auto; }
  .js-ready .navlinks.open { display: flex; }
  .navlinks a:not(.btn) { padding: 13px 12px; }
  .navlinks a:not(.btn)::after { display: none; }
  .navlinks a[aria-current] { background: #fff1e4; border-radius: 4px; }
  .navlinks .btn { margin-top: 10px; }
  html:not(.js-ready) nav { flex-wrap: wrap; padding-bottom: 12px; }
  html:not(.js-ready) .navlinks { flex-wrap: wrap; gap: 12px; }
}

[data-phone-login] { max-width: 460px; }
.phone-otp-form:not([hidden]) { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
[data-phone-captcha] { max-width: 100%; }
[data-phone-form] .btn { justify-self: start; }
