.custom-products-section{background:#fffaf0;scroll-margin-top:110px}
.custom-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.custom-product-card{transition:transform .3s ease,box-shadow .3s ease}
@media(hover:hover){.custom-product-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #173e7312}}
.custom-product-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #d9dfe7;border-radius:8px}
.custom-product-visual{position:relative;display:grid;width:100%;border:0;padding:0;cursor:zoom-in;place-items:center;aspect-ratio:1;background:#e6f0ed;overflow:hidden}
.custom-product-card:nth-child(3n+2) .custom-product-visual{background:#f4dce4}
.custom-product-card:nth-child(3n) .custom-product-visual{background:#f3e6c4}
.custom-product-visual img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
.custom-product-card:hover .custom-product-visual img{transform:scale(1.035)}
.custom-product-copy{display:flex;flex:1;flex-direction:column;padding:22px}
.custom-product-copy h3{font-size:1.3rem;line-height:1.25;margin:0 0 10px;color:#193f72}
.custom-product-copy p{font-size:.95rem;line-height:1.6;margin:0 0 22px;color:#53647b;flex:1}
.custom-product-copy button{border:0;border-top:1px solid #d9dfe7;padding:16px 0 0;display:flex;justify-content:space-between;gap:10px;color:#173e73;background:transparent;font:inherit;font-weight:800;text-align:left;cursor:pointer;min-height:44px}
.custom-product-copy button:hover{color:#ad3455}
.custom-product-copy button:focus-visible{outline:3px solid #c94265;outline-offset:5px}
.custom-products-other{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:26px;background:#e6efef;border-radius:8px}
.custom-products-other h3{margin:0 0 8px;color:#193f72;font-size:1.35rem}
.custom-products-other p,.custom-products-note{line-height:1.6;color:#53647b}
.custom-products-other p{margin:0}.custom-products-note{margin:22px 0 0;font-size:.9rem}
.product-card .product-copy h3{height:auto;min-height:3em;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
.product-card .product-brand-fit{display:block;color:#53647b;font-size:.85rem;line-height:1.5;margin-top:8px}
.hero-manifesto.hero-manifesto-natural{font-size:clamp(3rem,6.8vw,6.8rem);line-height:1.02;letter-spacing:-.045em;max-width:10ch;text-transform:uppercase}
@media(max-width:1050px){.custom-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.custom-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.custom-product-copy{padding:17px}.custom-product-copy h3{font-size:1.15rem}.custom-products-other{align-items:stretch;flex-direction:column}.hero-manifesto.hero-manifesto-natural{font-size:clamp(3rem,12vw,5rem)}}
@media(max-width:380px){.custom-products-grid{grid-template-columns:1fr}.custom-product-visual{aspect-ratio:1}}
@media(prefers-reduced-motion:reduce){.custom-product-visual img,.custom-product-card{transition:none}.custom-product-card:hover,.custom-product-card:hover .custom-product-visual img{transform:none}}

.product-studio{margin-bottom:46px;border-radius:18px;overflow:hidden;background:#102237;border:1px solid #304359;box-shadow:0 24px 60px #173e7315}
.product-studio-view{height:460px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 62%,#36516c 0%,#162c43 53%,#0c1929 100%)}
.product-studio-view canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab;opacity:0;transition:opacity .22s ease-out}
.product-studio-view[data-ready=true] canvas{opacity:1}
.product-studio-loading{position:absolute;inset:0;display:grid;place-items:center;color:#c8d3df;font-size:.9rem}
.product-studio-view canvas:active{cursor:grabbing}.product-studio-view[data-selection=all] canvas{cursor:default}
.product-studio-poster{position:absolute;inset:0;display:block}
.product-studio-poster img{width:100%;height:100%;object-fit:cover;display:block}
.product-studio-view[data-ready=true] .product-studio-poster{display:none}
.product-studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 26px 0}
.product-studio-choices{display:flex;gap:6px;flex-wrap:wrap}
.product-studio-toolbar button{font:inherit;font-size:.86rem;font-weight:700;color:#dfe6ee;border:1px solid #4d6074;background:transparent;padding:11px 16px;border-radius:6px;cursor:pointer;min-height:44px;transition:background .2s,color .2s}
.product-studio-choices button[aria-pressed=true]{background:#fff7e8;border-color:#fff7e8;color:#193f72}
.product-studio-toolbar button:hover{background:#38516c}.product-studio-choices button[aria-pressed=true]:hover{background:#fff7e8}
.product-studio-toolbar button:focus-visible{outline:3px solid #edaa9e;outline-offset:3px}
.product-studio-toolbar button:disabled{opacity:.45;cursor:default}.product-studio-pause{white-space:nowrap}
.product-studio-hint{margin:12px 26px 20px;color:#c8d3df;font-size:.83rem;line-height:1.5}
.custom-product-zoom{position:absolute;bottom:12px;right:12px;background:#fffdf4eb;border:1px solid #d9dfe7;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:#173e73;font-size:22px}
.custom-product-visual:focus-visible{outline:3px solid #c94265;outline-offset:-4px}
.custom-product-dialog{position:fixed;border:0;border-radius:16px;padding:0;width:min(850px,94vw);max-height:92dvh;overflow:auto;box-shadow:0 30px 100px #07162766;background:#fffaf0;color:#173e73}
.custom-product-dialog::backdrop{background:#071627cc;backdrop-filter:blur(5px)}
.custom-product-dialog>img{display:block;width:100%;max-height:68dvh;object-fit:contain;background:#f5eee2}
.custom-product-dialog>div{padding:22px 28px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.custom-product-dialog h3{font-size:1.6rem;margin:0}.custom-product-dialog p{flex:1;line-height:1.5;min-width:180px;margin:0}
.custom-product-dialog-close{position:absolute;right:14px;top:14px;border:1px solid #d9dfe7;width:44px;height:44px;border-radius:50%;background:#fffdf6f5;color:#193f72;font-size:30px;cursor:pointer;z-index:1}
@media(max-width:760px){.product-studio-toolbar{align-items:flex-start;flex-direction:column;padding:14px 14px 0;gap:10px}.product-studio-choices{gap:5px;justify-content:center;width:100%}.product-studio-toolbar button{font-size:.77rem;padding:9px 11px}.product-studio-pause{align-self:center}.product-studio-hint{text-align:center;margin:10px 18px 18px}.product-studio-view{height:440px}.product-studio{margin-bottom:28px;border-radius:12px}.custom-product-dialog>div{padding:20px}.custom-product-dialog>img{max-height:60dvh}}
@media(prefers-reduced-motion:reduce){.product-studio-view canvas,.product-studio-toolbar button{transition:none}.custom-product-dialog::backdrop{backdrop-filter:none}}

/* A roomy, image-led combobox shared by every item in the quote. */
.quote-form .quote-item-card{min-width:0;padding:20px;border:1px solid #bdcedc;border-radius:12px;background:#f3f9f7}
.quote-form .quote-item-card>.field-grid{grid-template-columns:minmax(76px,.6fr) minmax(0,1fr) minmax(0,1.5fr);gap:14px;margin-top:18px}
.quote-item-picker{min-width:0;position:relative;color:#173e73}
.quote-item-picker>label{display:block;font-size:.92rem;font-weight:700}
.quote-picker-field{display:flex;align-items:center;gap:12px;margin-top:8px;padding:9px 12px;min-height:76px;background:#fff;border:1px solid #a4bacd;border-radius:10px;transition:border-color .18s,box-shadow .18s}
.quote-picker-field:focus-within{border-color:#173e73;box-shadow:0 0 0 3px #173e731c}
.quote-picker-preview{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;overflow:hidden;border-radius:7px;background:#edf3f6;color:#365875}
.quote-picker-preview>svg{width:27px;height:27px}
.quote-picker-preview img{width:100%;height:100%;object-fit:contain}
.quote-form .quote-picker-field input{flex:1;min-width:0;width:0;height:52px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;outline:none;background:transparent;color:#173e73;font-size:16px;font-weight:600;text-overflow:ellipsis}
.quote-form .quote-picker-field input::placeholder{color:#526b80;opacity:1;font-weight:400}
.quote-picker-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;height:44px;border:0;border-radius:6px;background:transparent;color:#173e73;cursor:pointer}
.quote-picker-toggle:hover{background:#edf3f6}
.quote-picker-toggle svg{width:22px;height:22px;transition:transform .18s ease-out}
.quote-item-picker[data-open=true] .quote-picker-toggle svg{transform:rotate(180deg)}
.quote-picker-hint{margin:8px 0 0;font-size:.8rem;line-height:1.5;color:#526b80}
.quote-picker-panel{margin-top:12px;overflow:hidden;border:1px solid #bdcedc;border-radius:10px;background:#fff;box-shadow:0 12px 24px #173e7310;animation:quote-picker-enter .18s ease-out}
.quote-picker-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #e1e8ee;font-size:.85rem;font-weight:700;color:#173e73}
.quote-picker-summary span:last-child{font-size:.78rem;font-weight:400;color:#526b80}
.quote-picker-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:420px;max-height:min(420px,55dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9db2c3 #edf3f6;padding:8px;scroll-padding:8px}
.quote-picker-option{display:flex;align-items:center;gap:11px;min-width:0;min-height:78px;padding:9px;text-align:left;border:1px solid transparent;border-radius:8px;background:#fff;color:#173e73;font:inherit;cursor:pointer;transition:background .15s,border-color .15s}
.quote-picker-option:hover,.quote-picker-option[data-active=true]{background:#edf4f7;border-color:#aec3d3}
.quote-picker-option[aria-selected=true]{background:#e6f1ee;border-color:#789b95}
.quote-picker-option>img{display:block;flex:0 0 52px;width:52px;height:52px;object-fit:contain;background:#f5f4ee;border-radius:6px}
.quote-picker-option>span{flex:1;min-width:0}
.quote-picker-option strong{display:block;font-size:.91rem;line-height:1.35;font-weight:700;overflow-wrap:anywhere}
.quote-picker-option small{display:block;margin-top:4px;color:#526b80;font-size:.75rem;line-height:1.35}
.quote-picker-check{flex:0 0 17px;width:17px;height:17px;color:#245d50}
.quote-picker-empty{padding:10px 16px 18px;margin:0;font-size:.9rem;line-height:1.5;color:#526b80}
.quote-picker-custom{display:block;width:100%;padding:14px 16px;border:0;border-top:1px solid #e1e8ee;background:#f3f9f7;color:#173e73;text-align:left;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.quote-picker-custom:hover{background:#e6f1ee}
@keyframes quote-picker-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.quote-form .quote-item-card{padding:14px}.quote-picker-options{grid-template-columns:1fr}.quote-picker-option{min-height:76px}.quote-picker-option strong{font-size:1rem}.quote-picker-field{gap:9px;padding:9px;min-height:76px}.quote-picker-preview{flex-basis:46px;width:46px;height:46px}.quote-form .quote-item-card>.field-grid{grid-template-columns:minmax(70px,.6fr) minmax(0,1fr)}.quote-form .quote-item-card>.field-grid>label:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.quote-picker-panel{animation:none}.quote-picker-field,.quote-picker-toggle svg,.quote-picker-option{transition:none}}
