/* Public components: shared grammar in object-tokens.css; homepage in home-editorial.css. */
.object-layout .site-header {height:80px; padding-inline:var(--gutter); background:var(--warm); backdrop-filter:none;}
.object-layout.depth-enabled .site-header:not(.nav-open) {background-color:rgb(var(--scroll-paper-rgb,216,207,195));}
.object-layout .brand-logo img {width:174px;}
.object-layout .main-nav {gap:26px;}
.object-layout .main-nav a {min-height:var(--target-size); font-weight:700;}
.object-layout .main-nav .nav-cta {border-radius:var(--radius-flat);}
.object-layout .menu-toggle {border-radius:var(--radius-flat); background:transparent; min-height:var(--target-size);}
.object-layout .btn {border-radius:var(--radius-flat); min-height:46px; font-weight:700; transition:background-color var(--motion-feedback) var(--ease-feedback),color var(--motion-feedback),border-color var(--motion-feedback); box-shadow:var(--shadow-flat); backdrop-filter:none;}
.object-layout .btn.primary {background:var(--olive-deep); border-color:var(--olive-deep); color:#fff;}
.object-layout .btn.secondary {background:transparent; border-color:var(--olive-deep);}
.object-layout .btn:hover {background:var(--ink); border-color:var(--ink); color:#fff;}
.object-layout .main-nav a:not(.nav-cta):hover {text-decoration:underline; text-underline-offset:6px;}
.object-layout .scroll-atmosphere {display:none;}
/* Shared container contract; components assign a measure, not a new width formula. */
.object-layout :is(.hero,.section,.page-hero,.product-shell,.product-build-section,.contribution-brief,.contribution-steps,.process-visual,.custom-process-strip,.custom-wizard,.custom-info-sections,.site-footer) { width:min(var(--measure,var(--measure-catalog)),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.object-layout :is(.page-hero,.how-note,.brand-values,.contact-paths,.custom-info-sections) { --measure:var(--measure-story); }
.object-layout :is(.collections-section,.category-hero-media,.product-shell,.product-build-section) { --measure:var(--measure-catalog); }
.object-layout :is(.collections-hero,.site-footer) { --measure:var(--measure-wide); }
.object-layout :is(.contribution-brief,.faq-grid,.faq-cta,.custom-process-strip) { --measure:var(--measure-note); }
.object-layout .custom-wizard { --measure:var(--measure-workspace); }
.object-layout :is(.auth-panel,.auth-hero) { --measure:var(--measure-form); }
.object-layout .auth-panel { width:min(var(--measure),calc(100% - var(--gutter)*2)); }
.object-layout .section { --section-space:var(--rhythm-standard); }
.object-layout :is(.how-steps,.contact-paths,.faq-grid,.collections-section) { --section-space:var(--rhythm-compact); }
.object-layout :is(.brand-values,.how-note) { --section-space:var(--rhythm-open); }
.object-layout .section {padding-block:var(--section-space);}
.object-layout .section.alt {padding-inline:0; background:transparent; border:0;}
.object-layout .eyebrow {letter-spacing:.09em; font-size:.7rem;}
.object-layout .page-hero {padding-block:var(--rhythm-standard) var(--rhythm-compact);}
.object-layout .page-hero h1 {font-size:var(--type-display); max-width:20ch; letter-spacing:-.025em;}
.object-layout .page-hero > p:not(.eyebrow) {max-width:66ch; color:var(--muted); line-height:1.65;}
.object-layout .grid-heading {gap:var(--space-5);}
.object-layout .grid-heading h2 {font-size:1.15rem;}
.object-layout .grid-heading::after {transform:none; background:var(--line);}
.object-layout .collections-hero {display:grid; grid-template-columns:1fr 2fr; column-gap:40px; padding-bottom:var(--space-5); border-bottom:1px solid var(--olive-deep);}
.object-layout .collections-hero .eyebrow {grid-column:1;}
.object-layout .collections-hero h1 {grid-column:1; margin-bottom:0;}
.object-layout .collections-hero > p:last-child {grid-column:2; grid-row:2; align-self:end; margin:0;}
.object-layout .collections-section {padding-block:var(--rhythm-compact) var(--rhythm-standard);}
.object-layout .collections-section .category-grid {grid-template-columns:1fr; gap:var(--space-6); padding:0;}
.object-layout .collections-section .category-card {display:grid; grid-template-columns:minmax(0,1.25fr) minmax(150px,.6fr) minmax(0,1fr); gap:var(--space-5); min-height:0; align-items:center; padding:0 0 var(--space-6); border:0; border-bottom:var(--rule-hairline); border-radius:var(--radius-flat); background:none; box-shadow:var(--shadow-flat); overflow:visible;}
.object-layout .collections-section .card-image {position:static; aspect-ratio:auto; background:none; transform:none; filter:none;}
.object-layout .collections-section .card-image img {width:100%; height:auto; max-height:390px; object-fit:contain; object-position:left;}
.object-layout .collections-section .category-card::before,.object-layout .collections-section .category-card::after {display:none;}
.object-layout .collections-section .category-title-row {padding:0; margin:0;}
.object-layout .collections-section .category-title-row h3 {font-size:clamp(1.3rem,2.2vw,2rem); color:var(--ink); text-shadow:none;}
.object-layout .collections-section .category-card p {padding:0; margin:0; width:auto; color:var(--muted); font-size:1rem; line-height:1.6;}
.object-layout .collections-section .category-card a {min-height:var(--target-size); display:inline-flex; align-items:center;}
.object-layout .category-hero-media {display:grid; grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr); gap:36px; min-height:0; padding:36px 0; align-items:center; overflow:visible;}
.object-layout .category-hero-media::before {display:none;}
.object-layout .category-hero-photo {width:100%; max-height:600px; object-fit:contain;}
.object-layout .category-hero-copy {padding:var(--space-4) 0 var(--space-4) var(--space-5); border-left:var(--rule-marker);}
.object-layout .category-hero-media.has-bg :is(h1,p) {color:var(--ink); text-shadow:none;}
.object-layout .category-hero-media.has-bg h1 {font-size:clamp(2rem,3.5vw,3.3rem);}
.object-layout .category-hero-media.has-bg p {font-size:1rem; line-height:1.6;}
.object-layout .product-grid {grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-6); padding:0;}
.object-layout .product-card {display:flex; flex-direction:column; min-height:0; border:0; border-radius:var(--radius-flat); background:none; box-shadow:var(--shadow-flat); overflow:visible;}
.object-layout .product-card::before {display:none;}
.object-layout .product-card .product-image {position:relative; inset:auto; width:100%; aspect-ratio:1; margin:0 0 14px; background:none; transform:none; filter:none; border-radius:var(--radius-flat);}
.object-layout .product-card .product-image img {width:100%; height:100%; object-fit:contain;}
.object-layout .product-card > h3 {padding:0; margin:0; min-height:0; color:var(--ink); text-shadow:none; font-size:var(--type-subhead);}
.object-layout .product-card > p {padding:0; margin:var(--space-2) 0 0; width:auto; min-height:0; color:var(--muted); font-size:.95rem; line-height:1.6;}
.object-layout .product-card .badges {margin:0;}
.object-layout .product-card h3 a {min-height:var(--target-size); display:inline-flex; align-items:center;}
.object-layout .product-card h3 a:hover {text-decoration:underline; text-underline-offset:5px;}
.object-layout :is(.card-ai-disclosure,.ai-disclosure-badge) {border-radius:var(--radius-flat); box-shadow:var(--shadow-flat); backdrop-filter:none; background:var(--sheet); color:var(--ink);}
.object-layout .product-shell {grid-template-columns:var(--grid-product); gap:clamp(28px,4vw,var(--space-8)); padding-block:var(--space-6) 52px;}
.object-layout .product-media-rail {top:100px;}
.object-layout .gallery {padding:0; border-radius:var(--radius-flat); background:none!important; overflow:visible;}
.object-layout .gallery::before {display:none;}
.object-layout .gallery-main {border:0; border-radius:var(--radius-flat); box-shadow:var(--shadow-flat); background-color:transparent;}
.object-layout .gallery-thumbs {gap:var(--space-2); padding-top:var(--space-3);}
.object-layout .gallery-thumbs button {border-radius:var(--radius-flat); border-color:transparent;}
.object-layout .gallery-thumbs button.active {outline:2px solid var(--olive-deep); outline-offset:-2px;}
.object-layout .product-story-panel {padding:10px 0 0; background:none; border:0; border-radius:var(--radius-flat); box-shadow:var(--shadow-flat); gap:20px;}
.object-layout .product-info h1 {font-size:var(--type-product); line-height:1.05; margin:0;}
.object-layout .product-info .lead {font-size:1.05rem;}
.object-layout .object-ready-panel {border:0; border-left:var(--rule-marker); border-radius:var(--radius-flat); box-shadow:var(--shadow-flat); background:none; padding:var(--space-1) 0 var(--space-1) 20px;}
.object-layout .product-description-inline {margin:6px 0 0;}
.object-layout .quick-card {border:0; border-top:var(--rule-hairline); border-radius:var(--radius-flat); padding:var(--space-4) 0 0; background:none;}
.object-layout .product-build-section {gap:var(--space-6) 5%; padding-top:28px; border-top:1px solid var(--olive-deep);}
.object-layout :is(.product-build-panel,.product-spec-panel) {border:0; border-radius:var(--radius-flat); box-shadow:var(--shadow-flat); background:none; padding:0; gap:20px;}
.object-layout .spec-panel-head {padding-bottom:20px;}
.object-layout .spec-panel-head h2 {font-size:var(--type-subhead); max-width:38ch;}
.object-layout .spec-card {border:0; border-bottom:var(--rule-hairline); border-radius:var(--radius-flat); padding:var(--space-3) 0 20px; background:none;}
.object-layout .product-custom-panel {padding-block:28px; border-top:1px solid var(--olive-deep);}
.object-layout :is(.option-checks label,.configuration-options label>span,.spec-pills span,.badges span,.review-reply) {border-radius:var(--radius-flat);}
.object-layout .configuration-options label>span {background:var(--sheet); box-shadow:var(--shadow-flat);}
.object-layout .configuration-options input:checked+span {border-color:var(--olive-deep); background:#e3e5da; box-shadow:inset 0 -3px var(--olive-deep);}
.object-layout .option-checks label {min-height:var(--target-size);}
.object-layout .product-build-section>.product-reviews-panel {padding:18px; background:var(--sheet); border-radius:var(--radius-flat);}
.object-layout .review-card {border-radius:var(--radius-flat);}
.object-layout .request-panel.dark {padding-block:var(--space-7); background:var(--olive-deep);}
.object-layout .request-panel h2 {font-size:clamp(1.8rem,3vw,2.8rem);}
.object-layout :is(input,select,textarea) {border-radius:var(--radius-flat);}
.object-layout :is(.contact-card,.faq-cta,.auth-panel form,.wizard-shell,.builder-summary,.customer-panel,.thanks-summary) {border-radius:var(--radius-flat); box-shadow:var(--shadow-flat); background:var(--sheet);}
.object-layout .contribution-brief {padding:28px 0; border:0; border-top:1px solid var(--olive-deep); background:none; gap:var(--space-6);}
.object-layout .contribution-brief h2 {font-size:1.7rem;}
.object-layout :is(.brand-values-grid,.how-steps,.contact-paths) {grid-template-columns:var(--grid-pair); gap:var(--space-6) var(--gap-editorial);}
.object-layout .brand-values-grid {grid-template-columns:var(--grid-annotated);}
.object-layout .contact-paths {grid-template-columns:var(--grid-catalog);}
.object-layout :is(.brand-values-grid,.how-steps,.contact-paths,.custom-process-strip,.custom-info-sections)>article {border:0; border-top:var(--rule-hairline); border-radius:var(--radius-flat); background:none; box-shadow:var(--shadow-flat); padding:20px 0; min-height:0;}
.object-layout .how-steps article {display:grid; grid-template-columns:36px 1fr; column-gap:20px;}
.object-layout .how-steps article>span {grid-column:1; grid-row:1;}
.object-layout .how-steps article>img {grid-column:1; grid-row:2;}
.object-layout .how-steps article h2 {grid-column:2; grid-row:1;}
.object-layout .how-steps article p {grid-column:2; grid-row:2;}
.object-layout .brand-story img {border:0; border-radius:var(--radius-flat);}
.object-layout .faq-grid {grid-template-columns:1fr; gap:0;}
.object-layout .faq-item {display:grid; grid-template-columns:var(--grid-annotated); gap:40px; border:0; border-top:var(--rule-hairline); border-radius:var(--radius-flat); padding:var(--space-5) 0; background:none;}
.object-layout .faq-item h2 {font-size:1.2rem;}
.object-layout .faq-item p {margin:0;}
.object-layout .legal-text {max-width:var(--measure-reading);}
.object-layout .custom-process-strip {gap:20px;}
.object-layout .custom-process-strip span {background:none; color:var(--olive-deep); border-radius:var(--radius-flat); justify-content:flex-start;}
.object-layout :is(.visual-choice,.photo-slot,.estimate-box,.draft-banner,.builder-step,.auth-panel,.customer-card) {border-radius:var(--radius-flat); box-shadow:var(--shadow-flat);}
.object-layout .site-footer {padding-block:40px; border-top:var(--rule-strong);}
.object-layout .footer-links a {display:inline-flex; min-height:32px; align-items:center;}
@media (max-width:1000px) {
.object-layout .product-shell {grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px;}
.object-layout .product-media-rail {position:static;}
.object-layout .collections-section .category-card {grid-template-columns:1fr 1fr;}
.object-layout .collections-section .card-image {grid-row:1/3;}
.object-layout .collections-section .category-card p {grid-column:2;}
.object-layout .custom-process-strip {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:720px) {
.object-layout .site-header {height:72px;}
.object-layout .brand-logo img {width:145px;}
.object-layout .main-nav {background:var(--warm); border-radius:var(--radius-flat); box-shadow:var(--shadow-flat); backdrop-filter:none;}
.object-layout .collections-hero {display:block;}
.object-layout .collections-hero h1 {margin-bottom:18px;}
.object-layout .collections-section .category-card {grid-template-columns:1fr; gap:var(--space-3);}
.object-layout .collections-section .card-image {grid-row:auto;}
.object-layout .collections-section .category-card p {grid-column:1;}
.object-layout .collections-section .card-image img {max-height:none;}
.object-layout .category-hero-media {grid-template-columns:1fr; gap:20px; padding-block:var(--space-5);}
.object-layout .category-hero-copy {padding:0 0 0 var(--space-4);}
.object-layout .category-hero-copy h1 {margin-bottom:var(--space-4);}
.object-layout .product-grid {grid-template-columns:1fr; gap:36px;}
.object-layout .product-shell {grid-template-columns:1fr; padding-top:20px; gap:var(--space-5);}
.object-layout .product-info h1 {font-size:2.2rem;}
.object-layout .product-build-section {grid-template-columns:1fr;}
.object-layout .product-detail-stack {grid-column:1; grid-row:auto;}
.object-layout .product-custom-panel {grid-column:1;}
.object-layout .product-options-panel {grid-template-columns:1fr;}
.object-layout :is(.brand-values-grid,.how-steps,.contact-paths,.faq-item) {grid-template-columns:1fr;}
.object-layout .faq-item {gap:var(--space-3);}
.object-layout .contribution-brief {grid-template-columns:1fr;}
.object-layout .custom-process-strip {grid-template-columns:repeat(2,minmax(0,1fr));}
.object-layout .product-quick-grid {grid-template-columns:1fr;}
.object-layout .request-panel {grid-template-columns:1fr;}
.object-layout .site-footer {row-gap:var(--space-5);}
}
@media (prefers-reduced-motion:reduce) {
.object-layout .btn {transition:none;}
}
.object-layout .product-card {justify-content:flex-start; min-width:0;}
.object-layout .product-card:hover .product-image {transform:none; filter:none;}
.object-layout .section.home-reviews {padding:var(--space-4); border-radius:var(--radius-flat);}
.object-layout .cta-band .btn.primary {background:var(--sheet); color:var(--olive-deep); border-color:var(--sheet);}
.object-layout .cta-band .btn.primary:hover {background:#fff;}
.object-layout .category-hero-media.has-bg .eyebrow {font-size:.7rem; color:var(--clay);}
.object-layout .category-hero-media + .section .product-grid {grid-template-columns:var(--grid-catalog); align-items:start;}
.object-layout .category-hero-media + .section .product-card:first-child {padding-top:var(--space-7);}
.object-layout .cta-visual {display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:var(--space-7) var(--gutter); text-align:left;}
.object-layout .cta-visual>img {position:static; height:auto; object-fit:contain;}
.object-layout .cta-visual-content {width:auto; background:none; padding:0; border-radius:var(--radius-flat);}
.object-layout .cta-visual-content h2 {font-size:clamp(1.7rem,3vw,2.8rem);}
.object-layout .cta-visual-content .cta-steps {grid-template-columns:1fr 1fr;}
.object-layout .cta-visual-content .step-icon {background:none; border-radius:var(--radius-flat);}
.object-layout .cta-visual-content .btn.primary {background:var(--olive-deep); color:white;}
.object-layout .review-reply {padding:10px;}
@media (max-width:720px) {
.object-layout .category-hero-media + .section .product-grid {grid-template-columns:1fr;}
.object-layout .category-hero-media + .section .product-card:first-child {padding-top:0; width:88%;}
.object-layout .cta-visual {grid-template-columns:1fr;}
}
.object-layout .wizard-shell {color:var(--ink); background:var(--sheet);}
.object-layout .wizard-shell :is(h2,p,legend,label,.form-note,.draft-banner p) {color:var(--ink);}
.object-layout .builder-step {border:0; border-top:var(--rule-hairline); padding-inline:0; background:none;}
.object-layout .visual-choice-grid button {border:1px solid var(--line); border-radius:var(--radius-flat); background:transparent; color:var(--ink); transform:none; min-height:150px;}
.object-layout .visual-choice-grid button.selected,.object-layout .visual-choice-grid button:hover {border-color:var(--olive-deep); background:#e3e5da; transform:none; box-shadow:inset 0 -3px var(--olive-deep);}
.object-layout .visual-choice-grid img {border-radius:var(--radius-flat); background:none; padding:6px;}
.object-layout .idea-steps button {border:1px solid var(--line); border-radius:var(--radius-flat); background:none; color:var(--muted); min-height:var(--target-size);}
.object-layout .idea-steps button.active {background:var(--olive-deep); color:white;}
.object-layout .builder-summary {border-left:1px solid var(--line);}
.object-layout .draft-banner {border:1px solid var(--line); background:none;}
.object-layout .draft-banner[hidden] {display:none;}
.object-layout .wizard-shell :is(input,select,textarea) {border-color:var(--line);}
.object-layout .contribution-brief {background:transparent;}
.object-layout :is(.form-card,.request-product-summary,.contribution-guidance,.home-review-card,.quote-card,.quote-chat-box,.payment-callout,.order-updates) {border-radius:var(--radius-flat); box-shadow:var(--shadow-flat);}
.object-layout .request-panel .dark-form {padding:0; border:0; background:none;}
.object-layout .request-panel .btn.primary {background:var(--sheet); color:var(--olive-deep); border-color:var(--sheet);}
.object-layout .request-panel .btn.primary:hover {background:white;}
.object-layout :is(.object-value-block,.object-value-block.muted-block) {background:none;}
.object-layout .main-nav a {border-radius:var(--radius-flat);}

.object-layout :is(input,select,textarea) { border-radius:var(--radius-control); }
.object-layout .review-viewer { border-radius:var(--radius-dialog); box-shadow:var(--shadow-dialog); }
