/* By Artista v10 — the same visual language as the prelaunch campaign. */
:root{--ink:#18191c;--accent:#414825;--lime:#e9f66e;--pink:#e2a5c2;--cream:#f1eee6}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #91506f;outline-offset:5px}
.notice{background:var(--ink)}header{background:var(--paper)}.live-dot{background:var(--ink);box-shadow:0 0 0 5px var(--lime)}.outline-word{color:var(--ink);isolation:isolate;white-space:nowrap}.outline-word:after{height:.2em;bottom:.05em;background:var(--lime);z-index:-1}.hero.compact-hero{grid-template-columns:1.12fr 1fr;gap:5%;padding-top:40px;padding-bottom:40px}.hero-copy{padding:10px 0}.compact-hero h1{font-size:clamp(58px,6.3vw,98px)}.compact-hero .intro{max-width:460px}.hero-copy .dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#343639}.hero-copy .outline:hover{background:var(--pink);border-color:var(--pink)}.hero-studio.brand-showcase{height:470px;background:var(--ink);border-radius:100px 0 64px 0;position:relative;isolation:isolate;overflow:hidden;padding:27px;display:flex;flex-direction:column;justify-content:space-between}.brand-showcase .brand-ribbon{position:absolute;inset:-70px -60px auto auto;width:86%;height:630px;object-fit:contain;z-index:-1;animation:brand-arrive 1.2s ease-out both}.brand-showcase-label{font-size:9px;letter-spacing:1.7px;color:var(--paper);padding-left:30px}.brand-product-frame{background:var(--paper);border-radius:65px 0 35px 0;overflow:hidden;width:78%;margin:15px 0 0 15px;transform:rotate(-5deg);transition:transform .35s ease}.brand-product-frame>img{width:100%;height:295px;object-fit:cover}.brand-showcase:hover .brand-product-frame{transform:rotate(-2deg)}.brand-showcase-caption{position:static!important;display:block!important;padding:16px 0 0 15px!important;background:none!important;color:var(--paper)!important;font-size:10px!important;letter-spacing:1px!important}.brand-showcase-caption b{display:block;font-weight:500;font-size:12px;letter-spacing:0;margin-top:5px}.quick-products{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f1eee6}.quick-products a:hover{background:var(--lime)}.quick-products img{border-radius:12px}.filters button.active{background:var(--lime);border-color:var(--ink);color:var(--ink)}.filters button:hover{border-color:var(--ink)}.shop .section-head .eyebrow:before,.studio-section .eyebrow:before{content:'';display:inline-block;width:18px;height:5px;background:var(--pink);margin-right:10px;vertical-align:middle}.product-photo{border-radius:22px 0 22px 0}.quick-view:hover{background:var(--lime)}.sample-price{border-color:#aaa99e}.brand-advisor{background:var(--ink);color:var(--paper);isolation:isolate}.brand-advisor:before{content:'';position:absolute;right:23%;top:-180px;width:550px;height:900px;background:url('/assets/brand-ribbon.svg') center/contain no-repeat;opacity:1;z-index:-1;pointer-events:none}.brand-advisor>div:first-child{position:relative;background:var(--ink);padding:20px 30px 20px 0}.brand-advisor .eyebrow{color:var(--lime)}.brand-advisor .button{background:var(--lime);color:var(--ink);max-width:330px}.brand-advisor .button:hover{background:var(--pink)}.custom-art{isolation:isolate}.custom-art img{border-radius:70px 0 25px 0}.custom-art span{background:var(--pink);color:var(--ink)}.process .step span{color:var(--ink);background:var(--lime)}footer{position:relative;background:var(--ink);color:var(--paper);isolation:isolate;overflow:hidden;border:0}footer:after{content:'';position:absolute;width:360px;height:600px;right:14%;top:-110px;background:url('/assets/brand-ribbon.svg') center/contain no-repeat;opacity:.16;z-index:-1;pointer-events:none}footer>img{background:var(--paper);padding:14px;border-radius:60px 60px 8px 8px}footer h2{max-width:590px}footer a{color:var(--paper)}footer>div:last-child{position:relative}footer .footer-button{color:var(--paper)}footer>div:last-child p{color:#c7c6c1}.portal-header header{border-top:4px solid var(--lime)}.status-pill{background:var(--lime);color:var(--ink)}.portal-warning,.sandbox-banner{background:#ecebdc;color:var(--ink)}.portal-box .button.dark{background:var(--ink)}.portal-step.current{border-color:var(--ink)}.portal-box textarea:focus-visible{outline-color:#91506f}.design-help{border-left-color:var(--ink);background:#f0eedf}
@keyframes brand-arrive{from{transform:translateY(18px);opacity:.5}to{transform:none;opacity:1}}
@media(min-width:761px) and (max-width:1100px){.hero-studio.brand-showcase{height:410px;padding:23px}.brand-product-frame{width:90%;margin-left:0}.brand-product-frame>img{height:255px}.brand-showcase-label{padding-left:10px}.compact-hero h1,html[lang=es] .compact-hero h1{font-size:62px}}
@media(max-width:760px){.hero.compact-hero{display:block;padding:28px 5% 30px}.compact-hero h1,html[lang=es] .compact-hero h1{font-size:49px;letter-spacing:-2.6px}.hero-copy .actions{flex-wrap:wrap!important;gap:10px!important}.hero-copy .actions>.button{flex:1;min-width:130px;font-size:11px!important;padding:14px!important}.hero-studio.brand-showcase{display:flex;height:285px;margin-top:24px;padding:19px;border-radius:65px 0 38px 0}.brand-showcase-label{font-size:8px;padding-left:22px}.brand-product-frame{width:68%;max-width:300px;border-radius:40px 0 20px 0;margin:8px 0 0 5px}.brand-product-frame>img{height:175px;object-fit:cover}.brand-showcase .brand-ribbon{height:420px;top:-70px;right:-50px;width:83%}.brand-showcase-caption{font-size:8px!important;padding:9px 0 0 5px!important}.brand-showcase-caption b{font-size:10px;margin-top:2px}.brand-advisor:before{right:-170px;top:80px;width:400px;height:740px}.brand-advisor>div:first-child{padding:10px 0 20px}.brand-advisor .custom-art{max-width:520px}.custom-art span{font-size:9px}footer:after{right:-160px;top:20px;opacity:.12}footer h2{font-size:28px}footer>img{padding:8px}.product-photo{border-radius:15px 0 15px 0}}
@media(max-width:370px){.compact-hero h1,html[lang=es] .compact-hero h1{font-size:43px}.hero-copy .actions>.button{font-size:10px!important;padding:12px!important;min-width:120px}.brand-product-frame{width:76%}.brand-showcase-label{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.brand-showcase .brand-ribbon{animation:none}.brand-product-frame{transition:none}.brand-showcase:hover .brand-product-frame{transform:rotate(-5deg)}}
@media(min-width:1001px) and (max-width:1450px){header .brand>span{display:none}header nav{gap:20px}header{gap:18px}}
@media(max-width:760px){.product .meta{flex-direction:column;align-items:stretch;gap:8px}.product .meta>span:first-child,.product .meta .sample-price{min-width:0;max-width:100%}.product .meta .sample-price{align-items:flex-start}.sample-price small{white-space:normal;overflow-wrap:anywhere}.product-title{overflow-wrap:anywhere}}
/* v11 — continuous decoration, quieter behind copy; shared corner geometry. */
.brand-advisor:before{right:-80px;top:-200px;width:760px;height:calc(100% + 400px);background-size:100% 100%;opacity:1;-webkit-mask-image:radial-gradient(ellipse at 100% 0%,#000 0%,#000 18%,#0006 42%,#0002 68%,transparent 92%);mask-image:radial-gradient(ellipse at 100% 0%,#000 0%,#000 18%,#0006 42%,#0002 68%,transparent 92%)}
.brand-advisor>div:first-child{background:transparent}
.brand-advisor .button{border-radius:28px 0 22px 0}
.brand-advisor .custom-art span{text-align:center;padding:15px 20px;border-radius:20px 0 18px 0;line-height:1.8;letter-spacing:1.4px;text-wrap:balance}
@media(max-width:760px){.brand-advisor:before{right:-170px;top:-100px;width:520px;height:calc(100% + 200px)}.brand-advisor .button{border-radius:25px 0 20px 0}.brand-advisor .custom-art span{padding:14px 18px;border-radius:17px 0 15px 0;font-size:9px}}
@media(max-width:760px){.brand-advisor:before{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 3%,#0004 15%,#0002 50%,#0003 78%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 3%,#0004 15%,#0002 50%,#0003 78%,transparent 100%)}}
/* v12 — direct white vector on the carbon footer, no enclosing plaque. */
footer>.footer-logo{display:block;width:120px;height:195px;max-width:100%;padding:0;background:none;border-radius:0;align-self:start}
@media(max-width:760px){footer{grid-template-columns:110px minmax(0,1fr);gap:25px}footer>.footer-logo{width:110px;height:179px}}
@media(max-width:500px){footer{grid-template-columns:95px minmax(0,1fr);gap:22px}footer>.footer-logo{width:95px;height:155px}footer h2{font-size:26px}footer a{overflow-wrap:anywhere}}
/* Brand treatment surrounds familiar social symbols, preserving their shapes. */
footer .social-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0 0 20px;min-width:270px}
footer .social-links a{display:flex;align-items:center;gap:9px;margin:0;min-height:48px;padding:3px 0;font-size:11px;white-space:nowrap}
footer .social-icon{display:grid;place-items:center;width:35px;height:39px;border:1px solid #66666a;border-radius:13px 0 11px 0;transition:background .2s,color .2s;flex-shrink:0}
footer .social-icon svg{display:block;width:19px;height:19px}
footer .social-links a:hover .social-icon,footer .social-links a:focus-visible .social-icon{background:var(--lime);color:var(--ink);border-color:var(--lime)}
footer .social-links a:nth-child(even):hover .social-icon,footer .social-links a:nth-child(even):focus-visible .social-icon{background:var(--pink);border-color:var(--pink)}
footer .social-links a:after{display:none}footer .social-arrow{font-size:11px}
@media(max-width:760px){footer .social-links{min-width:0;grid-template-columns:1fr}footer .social-links a{font-size:12px}}
@media(prefers-reduced-motion:reduce){footer .social-icon{transition:none}}

/* v16 collections */
@media(min-width:1100px){.quick-products{grid-template-columns:repeat(6,minmax(0,1fr))}}
.gifts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gifts-grid h2{font-size:30px;margin:22px 0 12px}.gifts-grid p{line-height:1.7}.gifts-grid .button{margin-top:15px}
@media(max-width:700px){.gifts-grid{grid-template-columns:1fr}}
#vehicle-quote label{display:block;font-size:13px;margin:22px 0 10px}#vehicle-quote input:not([type=hidden]),#vehicle-quote textarea{display:block;width:100%;margin-top:9px;padding:14px;border:1px solid #c8c6bd;background:#fffdf8;color:#18191c;font:inherit;box-sizing:border-box}#vehicle-quote input[readonly]{background:#eeebe3}#vehicle-quote .actions{display:flex;flex-wrap:wrap;gap:14px}#vehicle-quote .actions button{min-height:48px}#vehicle-quote fieldset{border:0;border-top:1px solid #d4d1c9;padding:24px 0;margin:24px 0}#vehicle-quote legend{font-size:12px;padding-right:16px}#vehicle-quote :focus-visible{outline:2px solid #8c7531;outline-offset:3px}

/* v17: keep each catalog card's quote and explanation in its own column */
.product{min-width:0}.product .meta{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.product .meta>span:first-child{min-width:0;max-width:100%}.product .meta .sample-price{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-width:0;max-width:100%;white-space:normal;gap:5px}.product .sample-price strong,.product .sample-price small{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}.product .sample-price small{line-height:1.6}

/* Catalog details stay inside their card at every width. */
.catalog-description{font-size:14px;line-height:1.65;color:#62645d;margin:12px 0 16px;overflow-wrap:anywhere}.product .product-title{line-height:1.3}.product .meta{margin-top:auto}.product{display:flex;flex-direction:column}.configuration fieldset label{min-width:0}

.signs-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;width:100%;height:100%;aspect-ratio:1}.product .signs-collage img{width:100%;height:100%;min-height:0;min-width:0;object-fit:cover}.material-links{display:flex;flex-wrap:wrap;gap:18px 28px}.sign-material-details{padding:40px 0}

/* Consistent, stacked labels and controls in quote forms. */
#catalog-quote label,#vehicle-quote label{display:block;margin:18px 0 8px;font-weight:500;line-height:1.5}
#catalog-quote label>input,#catalog-quote label>select,#catalog-quote label>textarea,#vehicle-quote label>input,#vehicle-quote label>textarea{display:block;width:100%;margin-top:9px;min-width:0}
#catalog-quote input,#catalog-quote select,#catalog-quote textarea,#vehicle-quote input,#vehicle-quote textarea{box-sizing:border-box;width:100%;max-width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:0}
#catalog-quote input[type=file]{padding:12px}#catalog-quote textarea,#vehicle-quote textarea{min-height:120px;resize:vertical}#catalog-quote fieldset,#vehicle-quote fieldset{min-width:0;margin-bottom:26px}#catalog-quote .banner-finishing select{margin-bottom:12px}

/* Material-specific quote configuration */
[data-supplier-replaced]{display:none!important}.supplier-config label{display:grid;gap:10px;margin:0 0 22px}.supplier-config select,.supplier-config input,.supplier-config textarea{width:100%;min-width:0;box-sizing:border-box;min-height:48px}.supplier-fields,.supplier-extra{display:grid;gap:0}.supplier-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:16px}.supplier-summary dl{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1.6fr);gap:12px 20px}.supplier-summary dd{margin:0;overflow-wrap:anywhere}.supplier-summary dt{font-weight:600}.supplier-config [hidden]{display:none!important}@media(max-width:480px){.supplier-dimensions{grid-template-columns:1fr}.supplier-summary dl{grid-template-columns:1fr;gap:6px}.supplier-summary dd{margin-bottom:12px}}

.supplier-gallery{margin-top:30px;padding:24px;border:1px solid #ded8ca;border-radius:14px;background:#faf7ef}.supplier-gallery h3{font-size:22px;margin-bottom:12px}.supplier-gallery img{width:100%;height:auto;border-radius:10px}.supplier-gallery svg{width:100%;max-width:330px;display:block;margin:16px auto}.supplier-gallery p{line-height:1.5}.supplier-gallery+.demo-label{margin-top:12px}
