/* V3 brand layer: shared components, neutral surfaces and restrained gamut details. */
:root{--gamut-gradient:var(--brand-gradient);--film-surface:var(--raised)}
body{background-image:none}
.primary{position:relative;overflow:hidden;border-color:var(--control);background:var(--action);color:var(--on-action)}
.primary:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--brand-gradient);pointer-events:none}
.primary:disabled:after{display:none}
.primary:hover:not(:disabled){background:var(--action-hover);border-color:var(--ink)}
.eyebrow,.hero .eyebrow,.upload-intro .eyebrow,.card-number,.panel-label{font-size:13px;letter-spacing:.095em}
.sample-controls .button,.mobile-order-bar button{font-size:14px}
.announcement{font-size:12px}.site-header{height:110px}.brand{width:274px;flex-shrink:0}
.brand img{transform:scale(1.08);transform-origin:left center}
.brand img.custom-logo,.hero-art img.custom-logo{clip-path:none;mix-blend-mode:normal}
.desktop-nav{gap:27px}.desktop-nav a{padding-block:12px}
.hero-v3{grid-template-columns:1.06fr 1fr;min-height:610px;gap:20px;padding-block:55px 65px}
.hero-v3 h1{font-size:clamp(66px,7.2vw,108px);line-height:.98;letter-spacing:-.035em}
.hero-v3 .hero-description{max-width:32em;font-size:18px;line-height:1.7;margin-block:27px 30px}
.hero-v3 .hero-art{justify-content:center}
.hero-v3 .hero-art img{width:117%;max-width:117%;margin:0 -8%;transform:rotate(-6deg)}
.hero-v3 .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-v3 .hero-actions .button{font-size:14px;padding:17px 21px;min-height:57px}
.section{padding-block:90px}.section-heading>p{max-width:32em;font-size:17px}
.entry-section{padding-top:72px}.entry-section .section-heading{align-items:end}
.entry-section h2{font-size:clamp(38px,4vw,60px)}
.order-grid{gap:24px}.entry-card{padding:32px 36px 35px;background:var(--panel)}
.entry-card-top{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:31px}
.entry-card-top .eyebrow{margin:0;color:var(--secondary)}
.entry-icon{width:49px;height:49px;color:var(--metal-mid);flex-shrink:0}
.entry-card h3{font-size:32px;letter-spacing:-.015em;margin:0 0 18px}
.entry-card>p{max-width:34em;margin-bottom:27px;min-height:3.4em;font-size:17px;line-height:1.7}
.entry-card .button{align-self:start}
.nesting-feature{padding-block:88px;background:var(--panel);border-block:1px solid var(--rule)}
.nesting-heading{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:end;margin-bottom:40px}
.nesting-heading h2{font-size:clamp(52px,6.2vw,88px);line-height:1;letter-spacing:-.03em}
.nesting-heading .eyebrow{margin-bottom:24px;color:var(--secondary)}
.nesting-heading>div:last-child{max-width:510px}
.nesting-promise{font-family:var(--display);font-size:36px;color:var(--ink);line-height:1.18;margin:0 0 18px;letter-spacing:-.01em}
.nesting-heading>div>p:last-child:not(.eyebrow){margin-bottom:0}
.nesting-demo{border:1px solid var(--control);background:var(--canvas);position:relative;min-width:0}
.nesting-demo:before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:var(--brand-gradient)}
.nesting-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule);padding:19px 26px;font-size:13px}
.nesting-state{color:var(--ink);font-weight:500;letter-spacing:.065em}
.nesting-width{color:var(--secondary);font-size:14px}
.nesting-view-controls{display:flex;gap:2px;margin-left:auto}
.nesting-view-controls button{min-height:44px;padding:9px 17px;border:1px solid var(--control);background:transparent;color:var(--secondary);font:inherit;font-size:14px;cursor:pointer}
.nesting-view-controls button[aria-pressed=true]{color:var(--ink);background:var(--raised);border-bottom:2px solid var(--brand-ink)}
.nesting-view-controls button:hover:not(:disabled){background:var(--hover);color:var(--ink)}
.nesting-view-controls button:disabled{color:var(--disabled-ink);background:var(--disabled-bg);cursor:default}
.nesting-stage{padding:22px 25px;overflow:hidden;min-height:340px;display:flex;align-items:center;justify-content:center}
.nesting-svg{display:block;width:100%;height:auto;max-height:445px;overflow:visible}
.nesting-film{fill:var(--film-surface);stroke:var(--film-edge);stroke-width:.06}
.nesting-original-edge{stroke:var(--control);stroke-width:.05;stroke-dasharray:.25 .2;fill:none}
.nesting-film-edge,.nesting-length-rule{stroke:var(--control);stroke-width:.06;fill:none}
.nesting-pending{color:var(--secondary);text-align:center;padding:50px 25px}
.nesting-pending svg{width:100px;display:block;margin:0 auto 24px}
.nesting-pending p{font-size:16px;max-width:25em;margin:0}
.nesting-result{border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 26px}
.nesting-result>div{padding:22px 22px 23px;border-left:1px solid var(--rule)}
.nesting-result>div:first-child{border-left:0;padding-left:0}
.nesting-result span{display:block;font-size:14px;color:var(--secondary);margin-bottom:5px}
.nesting-result strong{display:block;font-family:var(--display);font-size:43px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.15;letter-spacing:-.02em}
.nesting-result small{font-size:14px;color:var(--secondary)}
.nesting-result .nesting-saving strong{color:var(--ink)}
.nesting-saving:last-child strong{font-size:48px}
.nesting-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--rule);padding:20px 26px}
.nesting-bottom p{font-size:13px;margin:0;max-width:650px;line-height:1.7}
.nesting-bottom button{min-height:44px;white-space:nowrap;background:transparent;border:0;color:var(--ink);cursor:pointer}
.nesting-bottom button:disabled{background:transparent;color:var(--disabled-ink);cursor:default}
.nesting-action{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:28px}
.nesting-action p{font-size:16px;max-width:30em;margin:0}
.savings-story{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}
.savings-story h2{font-size:clamp(47px,5vw,72px)}
.savings-story .eyebrow{color:var(--secondary)}
.savings-steps article{display:flex;gap:22px;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--rule)}
.savings-steps article:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.savings-steps article>span{font-size:27px;line-height:1;color:var(--brand-ink)}
.savings-steps h3{font-size:26px;letter-spacing:0;margin-bottom:10px}
.savings-steps p{font-size:16px;line-height:1.75;margin:0}
.upload-feature-v3{padding-top:20px;gap:100px;padding-bottom:100px}
.upload-feature-v3>div:first-child>p:not(.eyebrow){max-width:30em;margin-bottom:27px}
.upload-receipt{text-align:left;border-style:solid;padding:34px 36px;background:var(--panel)}
.receipt-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px;padding-right:15px}
.receipt-heading svg{color:var(--metal-mid)}
.upload-receipt .receipt-file{font-size:16px;margin:0 0 8px;color:var(--secondary)}
.receipt-dimensions{font-family:var(--display);font-size:clamp(32px,3.3vw,49px);font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.upload-receipt .receipt-metadata{font-size:13px;letter-spacing:.065em;margin:15px 0 30px}
.receipt-metadata span{margin-inline:10px;color:var(--control)}
.receipt-price{border-block:1px solid var(--rule);padding-block:23px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.receipt-price>span{font-size:14px;color:var(--secondary)}
.receipt-price>strong{font-family:var(--body);font-weight:500;font-size:55px;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.upload-receipt p.small{font-size:13px;margin:20px 0 0}
.product-facts{padding-block:45px;background:var(--panel);border-block:1px solid var(--rule)}
.facts-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--rule);padding-bottom:25px;margin-bottom:7px}
.facts-intro h2{font-size:27px;letter-spacing:0}
.facts-intro p{font-size:15px;margin:0}
.product-facts .specs{padding-bottom:0}.product-facts .specs>div{flex-direction:column;align-items:start;gap:8px}.product-facts .specs strong{font-size:43px}
.product-facts .specs>div>span{font-size:13px;letter-spacing:.075em;max-width:none}
.production-v3 .section-heading{align-items:end}.production-v3 .section-heading>p{max-width:27em}
.production-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.production-slot{margin:0;min-width:0;border:1px solid var(--rule);background:var(--panel);display:flex;flex-direction:column;position:relative}
.production-media-placeholder{flex:1;min-height:125px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:25px 15px;color:var(--secondary)}
.production-media-placeholder svg{width:35px;height:28px;color:var(--control)}
.production-media-placeholder span{font-size:12px;line-height:1.5;text-align:center;max-width:12em}
.production-slot figcaption{font-size:14px;border-top:1px solid var(--rule);padding:11px 15px;color:var(--ink)}
.production-slot-featured{grid-column:span 2;grid-row:span 2}
.production-slot-featured .production-media-placeholder svg{width:60px;height:48px}
.production-slot-featured .production-media-placeholder span{font-size:15px;max-width:20em}
.production-slot-image{width:100%;height:100%;flex:1;min-height:0;object-fit:cover;aspect-ratio:1.8}
.production-slot-featured .production-slot-image{aspect-ratio:1.4}
.process-grid>div>span,.builder-summary li,.faq-list summary span{color:var(--secondary)}
.final-cta{padding-block:70px;background:var(--raised);border-top:1px solid var(--rule);position:relative}

.final-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}
.final-cta h2{font-size:clamp(38px,4.5vw,64px)}
.final-cta .hero-actions{display:grid;min-width:280px}
.final-cta .eyebrow{color:var(--secondary);margin-bottom:20px}
.site-footer{background:var(--canvas)}
.upload-main,.upload-workspace .quote-panel,.builder-launch,.builder-summary,.order-card{box-shadow:none}
.upload-workspace .quote-panel{background:var(--panel)}
.upload-workspace .quote-panel:before{background:var(--brand-gradient);height:2px;opacity:1}
.system-gamut-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.system-table-wrap{overflow-x:auto;border:1px solid var(--rule);margin-block:28px}
.system-palette-table{width:100%;border-collapse:collapse;font-size:15px}
.system-palette-table caption{text-align:left;padding:18px;background:var(--panel);font-size:16px;color:var(--ink)}
.system-palette-table th,.system-palette-table td{text-align:left;padding:15px 18px;border-top:1px solid var(--rule);vertical-align:top}
.system-palette-table th{font-weight:500;color:var(--ink)}.system-palette-table td{color:var(--secondary)}
.system-type-scale{margin-block:28px}.system-type-scale>div{display:grid;grid-template-columns:1fr 1.5fr;gap:25px;padding-block:20px;border-top:1px solid var(--rule)}
.system-type-scale dt{font-size:14px;color:var(--secondary)}.system-type-scale dd{margin:0}
.system-type-scale dd.eyebrow{margin:0;align-self:center}
.system-section .text-link{display:inline-block;margin-top:20px}.system-section{padding-block:42px}
@media(min-width:1600px){.hero-v3{min-height:685px}.hero-v3 h1{font-size:113px}}
@media(max-width:1200px){.brand{width:230px}.desktop-nav{gap:19px}.header-actions{gap:16px}.hero-v3{gap:12px}.hero-v3 .hero-actions .button{padding-inline:17px}.hero-v3 h1{font-size:7.7vw}.nesting-heading{gap:45px}.savings-story{gap:60px}.upload-feature-v3{gap:60px}}
@media(max-width:1000px){.desktop-nav{gap:17px}.desktop-nav a{font-size:14px}.brand{width:210px}.site-header{gap:20px}.hero-v3 .hero-art img{width:112%;max-width:112%;margin:0 -6%}.hero-v3 .hero-actions{display:grid}.entry-card{padding:28px}.entry-card h3{font-size:29px}.nesting-heading{gap:30px}.nesting-promise{font-size:32px}.nesting-result strong{font-size:37px}.nesting-saving:last-child strong{font-size:42px}.nesting-result>div{padding-inline:16px}.nesting-width{display:none}.upload-feature-v3{gap:40px}.receipt-price{display:block}.receipt-price>strong{display:block;margin-top:15px}.facts-intro{display:block}.facts-intro p{margin-top:12px}}
@media(max-width:760px){
.site-header{height:90px;gap:10px}.brand{width:192px;max-width:calc(100% - 139px)}.header-actions{gap:6px}
.hero-v3{padding-block:33px 24px;gap:0}.hero-v3 h1{font-size:clamp(44px,13.4vw,90px);line-height:1.01}.hero-v3 .eyebrow{font-size:13px;margin-bottom:22px}
.hero-v3 .hero-description{font-size:16px;margin-block:23px;max-width:32em}.hero-v3 .hero-actions{display:grid}.hero-v3 .hero-actions .button{font-size:14px;min-height:55px;padding:16px 19px}
.hero-v3 .hero-art{margin-top:6px;max-height:190px}.hero-v3 .hero-art img{width:109%;max-width:109%;margin:-4px -4.5% 0;transform:rotate(-4deg)}
.section{padding-block:55px}.entry-section{padding-top:43px}.section-heading>p{font-size:16px}.entry-section h2{font-size:38px}
.order-grid{gap:18px}.entry-card{padding:25px}.entry-card-top{margin-bottom:23px}.entry-icon{width:42px;height:42px}.entry-card h3{font-size:30px}.entry-card>p{font-size:16px;min-height:0;margin-bottom:24px}.entry-card .button{width:100%}
.nesting-feature{padding-block:54px}.nesting-heading{display:block;margin-bottom:28px}.nesting-heading h2{font-size:clamp(45px,12vw,70px);margin-bottom:26px}.nesting-heading .eyebrow{font-size:13px;margin-bottom:20px}.nesting-promise{font-size:29px;margin-bottom:16px}.nesting-promise br{display:none}.nesting-promise br:after{content:' '}.nesting-promise{max-width:11em}.nesting-heading>div:last-child>p:last-child{font-size:16px}
.nesting-toolbar{padding:13px 14px;gap:10px;flex-wrap:wrap}.nesting-state{font-size:12px;letter-spacing:.035em}.nesting-view-controls{gap:0}.nesting-view-controls button{font-size:14px;padding:9px 12px;min-height:44px}
.nesting-stage{padding:16px 8px;min-height:340px}.nesting-svg{max-height:550px}.nesting-result{padding:0 15px;grid-template-columns:repeat(2,minmax(0,1fr))}.nesting-result>div{padding:18px 15px}.nesting-result>div:nth-child(3){border-left:0;padding-left:0}.nesting-result>div:nth-child(n+3){border-top:1px solid var(--rule)}.nesting-result span{font-size:13px}.nesting-result strong,.nesting-saving:last-child strong{font-size:36px}.nesting-result small{font-size:13px}
.nesting-bottom{padding:16px;gap:10px;display:block}.nesting-bottom p{font-size:12px}.nesting-bottom button{margin-top:9px;font-size:14px}.nesting-action{display:block;margin-top:24px}.nesting-action p{font-size:16px;margin-bottom:18px}.nesting-action .button{width:100%;font-size:14px;letter-spacing:.01em;padding-inline:14px}
.savings-story{display:block}.savings-story h2{font-size:47px}.savings-story>.savings-steps{margin-top:32px}.savings-steps article{gap:16px;margin-bottom:23px;padding-bottom:23px}.savings-steps h3{font-size:25px}.savings-steps p{font-size:16px}
.upload-feature-v3{padding-top:10px;padding-bottom:55px;gap:30px}.upload-feature-v3 h2{font-size:43px}.upload-receipt{padding:25px}.receipt-heading{margin-bottom:28px;padding-right:13px}.receipt-dimensions{font-size:39px}.receipt-price{display:flex}.receipt-price>strong{font-size:48px;margin:0}.receipt-price>span{max-width:7em}.upload-receipt .receipt-metadata{font-size:12px;letter-spacing:.04em}.receipt-metadata span{margin-inline:6px}
.product-facts{padding-block:30px}.facts-intro{padding-bottom:23px;margin:0}.facts-intro h2{font-size:26px}.facts-intro p{font-size:15px}.product-facts .specs>div{padding-block:22px}.product-facts .specs strong{font-size:40px}.product-facts .specs>div>span{font-size:12px}
.production-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.production-slot-featured{grid-row:auto;grid-column:span 2}.production-slot-featured .production-media-placeholder{min-height:215px}.production-media-placeholder{min-height:103px;padding:20px 10px;gap:13px}.production-media-placeholder span{font-size:12px}.production-media-placeholder svg{width:27px;height:22px}.production-slot figcaption{font-size:13px;padding:10px 11px}
.final-cta{padding-block:48px}.final-cta-inner{display:block}.final-cta h2{font-size:42px}.final-cta .hero-actions{margin-top:28px;min-width:0}.final-cta .eyebrow{font-size:13px}.footer-top p{font-size:22px}
.system-gamut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-type-scale>div{grid-template-columns:1fr;gap:10px}.system-palette-table{min-width:560px}.system-section{padding-block:32px}
}
@media(max-width:380px){.brand{max-width:calc(100% - 126px)}.site-header{gap:6px}.header-actions{gap:3px}.hero-v3 h1{font-size:13vw}.hero-v3 .hero-actions .button{font-size:14px;padding-inline:14px}.entry-card{padding:21px}.entry-card h3{font-size:27px}.nesting-toolbar{display:block}.nesting-view-controls{margin-top:8px}.nesting-view-controls button{flex:1}.nesting-result strong,.nesting-saving:last-child strong{font-size:32px}.nesting-action .button{font-size:14px;letter-spacing:0;padding-inline:10px}.receipt-dimensions{font-size:32px}.receipt-price>strong{font-size:42px}.receipt-price>span{font-size:13px}.upload-receipt .receipt-metadata{letter-spacing:0}.receipt-metadata span{margin-inline:2px}.mobile-order-bar button{font-size:14px;padding-inline:12px}.system-gamut-grid .token{padding:16px 12px}.token code{overflow-wrap:anywhere}}
@media(forced-colors:active){.primary:after,.nesting-demo:before,.final-cta:before{display:none}.brand img,.hero-art img,.system-logo{mix-blend-mode:normal;clip-path:none}.nesting-artwork{fill:CanvasText}.nesting-film,.nesting-original-edge{stroke:CanvasText}}
@media(prefers-reduced-motion:reduce){.nesting-svg *{transition:none!important;animation:none!important}}
@media(forced-colors:active){.nesting-artwork rect{fill:CanvasText}}
@media(max-width:760px){.nesting-promise br{display:initial}.nesting-promise br:after{content:none}}

/* Preserve accordion spacing while replacing only its separator color. */
.faq-list{border-top-color:transparent;position:relative}.faq-list details{border-bottom-color:transparent;position:relative}.faq-list:before,.faq-list details:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,#00c7df,#5657ed,#df37ba,#fa7134,#eaff24,#36ae68);opacity:.55;pointer-events:none}.faq-list:before{top:-1px}.faq-list details:after{bottom:-1px}
