/* Shared components. Legacy page layouts live in site.css. */
@import url('/site.css');
:root {
  --studio-paper:#f6f3ec; --studio-bone:#eeeae1;
  --studio-forest:#203c2d; --studio-forest-deep:#14281f;
  --studio-charcoal:#202923; --studio-muted:#59635b;
  --studio-cedar:#8a512e; --studio-cedar-dark:#754326;
  --studio-line:#d8ddd5; --studio-line-strong:#abb5ab;
  --studio-radius:12px; --studio-radius-lg:12px;
  --text:var(--studio-charcoal); --muted:var(--studio-muted);
  --border:var(--studio-line); --radius:10px;
  --gutter:clamp(20px,4vw,64px); --header-height:76px; --header-offset:77px;
}
[hidden] { display:none!important; }
html { scroll-behavior:auto; scroll-padding-top:calc(var(--header-offset) + 24px); scrollbar-gutter:stable; }
body { padding-bottom:0; font-size:17px; }
body.modal-open { overflow:hidden; }
.container,.site-header .container { width:min(1280px,calc(100% - var(--gutter)*2)); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
h1 { line-height:1.04; font-weight:500; letter-spacing:-.025em; }
h2 { line-height:1.12; font-weight:500; letter-spacing:-.025em; }
h3 { line-height:1.25; }
p { line-height:1.6; }
.eyebrow { font-size:12px; letter-spacing:.12em; }
.section { padding:clamp(56px,7vw,96px) 0; }
.section-heading h2,.studio-intro h2,.editorial-copy h2,.craft-copy h2,.studio-cta h2 { font-size:clamp(32px,3.8vw,48px); }
.section-heading { margin-bottom:32px; }
.nav-wrap,.site-header.scrolled .nav-wrap { min-height:var(--header-height); transition:none; }
.site-nav>a { font-size:14px; }
.site-nav>a[href='/quote/'] { border-radius:8px!important; }
.brand { min-width:0; }
.menu-toggle { min-height:44px; border-radius:8px; }
.btn { min-height:48px; border-radius:8px; font-size:15px; font-weight:700; padding:12px 20px; box-shadow:none; transition:background .15s,color .15s,border-color .15s; }
.btn:hover,.site-nav>a[href='/quote/']:hover { transform:none; box-shadow:none; }
.btn-primary,.btn-accent { background:var(--studio-forest-deep); color:#fff; box-shadow:none; }
.btn-primary:hover,.btn-accent:hover { background:#2b4938; box-shadow:none; }
.btn-outline { color:var(--studio-forest-deep); background:transparent; border:1px solid var(--studio-line-strong); }
.btn-outline:hover { background:#e8ede6; }
.btn-secondary { background:transparent; border:1px solid #b7c0b9; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #b8794c; outline-offset:4px; }
.text-link { display:inline-flex; align-items:center; min-height:44px; border:0; background:none; padding:0; font-size:15px; cursor:pointer; }
.studio-hero { min-height:640px; height:min(780px,calc(100svh - var(--header-height))); align-items:center; }
.studio-hero .hero-content { width:min(1280px,calc(100% - var(--gutter)*2)); max-width:none; min-height:0; margin-inline:auto; padding:64px 0; }
.studio-hero h1 { font-size:clamp(44px,5.8vw,80px); max-width:700px; margin:12px 0 24px; }
.studio-hero p { max-width:510px; font-size:18px; }
.studio-hero .hero-media img { transform:none; animation:none; object-position:60% center; }
.studio-hero .hero-actions { margin-top:24px; }
.studio-hero .btn-primary { background:#f6f3ec; color:#14281f; }
.studio-hero .btn-primary:hover { background:#fff; }
.studio-hero .trust-list { font-size:14px; gap:12px 24px; }
.studio-intro { padding:64px 0; }
.signature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto; gap:24px; }
.signature-card,.signature-card:first-child { grid-row:auto; min-height:0; background:transparent; border-radius:0; overflow:visible; }
.signature-card img { position:static; aspect-ratio:1/1; height:auto; border-radius:10px; object-fit:cover; }
.signature-card:hover img { transform:none; }
.signature-card::after { display:none; }
.signature-card-copy { position:static; color:var(--studio-charcoal); padding:22px 0 0; }
.signature-card-copy .eyebrow,.signature-card-copy .text-link { color:var(--studio-cedar-dark); }
.signature-card-copy h3 { font-size:30px; }
.signature-card-copy p { color:var(--studio-muted); font-size:16px; }
.craft-grid { gap:48px; }
.craft-image { min-height:0; aspect-ratio:1/1; margin:0; }
.craft-image figcaption { position:absolute; bottom:0; left:0; right:0; z-index:1; padding:20px; background:linear-gradient(transparent,rgba(8,20,12,.92)); color:#fff; font-size:13px; }
.craft-point span { font-size:15px; }
.editorial-band { min-height:0; }
.editorial-media { min-height:0; aspect-ratio:1/1; }
.editorial-copy { padding:64px clamp(32px,5vw,80px); }
.page-hero h1,.hero-split-copy h1 { font-size:clamp(34px,4.2vw,56px); line-height:1.1; }
.page-hero { padding:48px 0; }
.hero-split-copy { padding:56px var(--gutter); }
.hero-split-copy h1 { max-width:18ch; }
.hero-split-copy p { font-size:17px; max-width:60ch; }
.hero-split-media { min-height:0; }
.hero-split-media>img { width:100%; height:100%; object-fit:cover; }
.page-hero.browse-intro,body[data-page='quote'] .page-hero.request-intro { padding:32px 0; }
.browse-intro h1,body[data-page='quote'] .request-intro h1 { max-width:100%; margin:8px 0 12px; font-size:clamp(36px,4.2vw,58px); }
.browse-intro p,.request-intro p { margin:0; max-width:660px; }
.browse-intro .breadcrumbs,.request-intro .breadcrumbs { margin-bottom:12px; }
.browse-intro .eyebrow { margin-bottom:0; }
.browse-intro .text-link { margin-top:8px; }
#design-catalog,#gallery-catalog { padding-top:28px; scroll-margin-top:24px; }
.catalog-toolbar { position:sticky; top:var(--header-offset); z-index:20; background:#f6f3ec; border-block:1px solid var(--studio-line); backdrop-filter:none; }
.catalog-toolbar-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,320px); gap:12px 20px; align-items:center; padding-block:12px; }
.filter-group,.gallery-filter-row { display:flex; flex-wrap:wrap; gap:8px; }
.filter-chip { min-height:44px; padding:10px 14px; border:1px solid var(--studio-line-strong); border-radius:8px; color:var(--studio-forest-deep); background:transparent; font-size:14px; font-weight:600; cursor:pointer; transition:background .15s,color .15s; }
.filter-chip:hover { background:#e7ece4; }
.filter-chip.active { background:var(--studio-forest-deep); border-color:var(--studio-forest-deep); color:#fff; }
.catalog-search { min-width:0; width:100%; }
.catalog-search input,.catalog-select { width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--studio-line-strong); border-radius:8px; background:#fff; color:var(--studio-charcoal); font-size:16px; }
.catalog-count { font-size:14px; color:var(--studio-forest-deep); font-variant-numeric:tabular-nums; }
.catalog-note { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; color:var(--studio-muted); font-size:14px; margin-bottom:24px; }
.catalog-browser #design-catalog { padding-bottom:32px; }
.catalog-followup { padding-top:32px; }
.empty-state { padding:32px; background:var(--studio-bone); border:1px solid var(--studio-line); border-radius:10px; }
.empty-state h2 { font-size:28px; }
.designs-stack { display:grid; gap:32px; }
.design-explorer-card { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); grid-template-areas:'media heading' 'media details'; grid-template-rows:auto 1fr; border-radius:12px; border:1px solid var(--studio-line); background:#fff; box-shadow:none; overflow:hidden; }
.design-explorer-card:hover { box-shadow:none; border-color:var(--studio-line-strong); }
.design-media { grid-area:media; position:relative; min-width:0; padding:20px; background:var(--studio-bone); }
.design-heading { grid-area:heading; min-width:0; padding:32px 32px 0; }
.design-heading h2 { font-size:clamp(28px,2.8vw,36px); margin:0 0 12px; }
.design-heading>p { font-size:16px; margin:0; }
.design-main-button,.gallery-image-button { position:relative; display:block; width:100%; padding:0; border:0; border-radius:8px; background:#e6e0d5; overflow:hidden; cursor:zoom-in; }
.design-main-button { aspect-ratio:4/3; }
.design-main-image { display:block; width:100%; height:100%; object-fit:contain; }
.design-main-button::after { content:'View larger'; position:absolute; right:12px; bottom:12px; border-radius:6px!important; padding:7px 10px; background:#14281f!important; color:#fff; font-size:12px; opacity:1; transform:none; }
.design-main-button:hover .design-main-image,.gallery-image-button:hover img { transform:none; }
.design-number-badge { position:absolute; top:32px; left:32px; padding:6px 9px; border-radius:6px; background:#f6f3ec; color:var(--studio-forest-deep); font-size:12px; font-weight:700; pointer-events:none; }
.option-thumbs { display:flex; gap:12px; margin-top:16px; flex-wrap:nowrap; align-items:flex-start; }
.option-thumb { position:relative; flex:0 0 88px; width:88px; height:88px; padding:3px; background:#fff; border:2px solid transparent; border-radius:8px; cursor:pointer; }
.option-thumb img { display:block; width:100%; height:100%; object-fit:cover; border-radius:3px; }
.option-thumb.active { border-color:var(--studio-cedar); box-shadow:none; transform:none; }
.option-thumb.active::after { display:none; }
.option-thumb-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.design-copy { grid-area:details; display:flex; flex-direction:column; padding:24px 32px 32px; min-width:0; }
.design-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.design-meta .eyebrow { margin:0; }
.design-option-count { font-size:13px; color:var(--studio-muted); }
.design-copy>h2 { font-size:clamp(28px,3vw,40px); }
.design-copy>p { font-size:16px; }
.selected-option { min-height:148px; padding:16px 0; border-block:1px solid var(--studio-line); border-radius:0; background:none; margin:0; }
.selected-option-label { font-size:12px; color:var(--studio-muted); }
.selected-option h3 { margin:8px 0; font-size:24px; }
.selected-option p { margin:0; font-size:16px; }
.option-stepper { display:flex; align-items:center; gap:12px; margin-top:20px; }
.option-stepper button { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--studio-line-strong); border-radius:8px; background:#fff; color:var(--studio-forest-deep); cursor:pointer; }
.option-stepper button:hover { background:var(--studio-bone); }
.option-stepper span { font-size:14px; min-width:46px; text-align:center; }
.design-card-actions { display:flex; margin-top:24px; padding-top:0; }
.design-copy>.design-sizing-note { font-size:14px; color:var(--studio-muted); margin:18px 0 0; }
.gallery-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,300px); align-items:center; gap:16px; margin-bottom:24px; }
.gallery-results-count { grid-column:1/-1; margin:0; font-size:14px; }
.gallery-showcase-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.gallery-option-card { display:flex; flex-direction:column; border-radius:10px; box-shadow:none; }
.gallery-option-card:hover { transform:none; box-shadow:none; }
.gallery-image-button { aspect-ratio:4/3; border-radius:0; }
.gallery-image-button img { width:100%; height:100%; object-fit:contain; }
.gallery-parent { font-size:12px; color:var(--studio-cedar-dark); }
.gallery-option-card .card-body { display:flex; flex-direction:column; flex:1; padding:24px; }
.gallery-option-card h3 { margin:8px 0 12px; font-size:22px; }
.gallery-option-card p { font-size:16px; }
.gallery-card-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; }
.load-more-wrap { text-align:center; margin-top:32px; }
body[data-page='quote'] .section { padding-top:32px; }
body[data-page='quote'] .quote-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:40px; }
body[data-page='quote'] .quote-intro { top:calc(var(--header-height) + 24px); }
#quote-intro-heading { font-size:30px; margin:6px 0 10px; }
#quote-intro-text { font-size:15px; }
.selected-design-preview { border-radius:10px; }
body[data-page='quote'] .selected-design-preview { box-shadow:none; }
.selected-design-preview .design-main-button { aspect-ratio:4/3; }
.selected-design-preview img { width:100%; height:100%; object-fit:contain; }
.preview-copy { padding:20px; }
.preview-kicker { font-size:12px; color:var(--studio-cedar-dark); }
.preview-copy h3 { font-size:22px; margin:8px 0; }
.preview-copy p { font-size:15px; margin:0; }
body[data-page='quote'] .contact-card { margin-top:20px; padding:20px; }
.contact-card h3 { font-size:18px; }
.contact-card p { margin:0; }
.contact-card a { overflow-wrap:anywhere; }
.change-design { margin-top:8px; }
body[data-page='quote'] .quote-form { border-radius:10px; box-shadow:none; }
.quote-progress li { font-size:12px; letter-spacing:0; color:#59635b; padding:16px; }
.quote-panel { padding:32px; gap:18px; animation:none; scroll-margin-top:calc(var(--header-height) + 24px); }
.quote-panel-heading h2 { font-size:32px; }
.quote-panel-heading p,.field-help { font-size:15px; }
.quote-form label { font-size:16px; }
.quote-form input,.quote-form select,.quote-form textarea { font-size:16px; border-radius:8px; border-color:var(--studio-line-strong); min-width:0; }
.quote-form .consent input { min-height:20px; width:20px; height:20px; }
.planter-selection-label.selection-ready::after { content:none; }
.quote-assurance span { font-size:12px; color:#59635b; }
.form-error { color:#842f22; background:#fff3ed; padding:20px; margin:0 24px 24px; border:1px solid #b45737; border-radius:8px; }
.btn:disabled { opacity:.65; cursor:wait; }
.scroll-progress { display:none; }
.mobile-call { display:none!important; }
.back-to-top { position:fixed; right:20px; bottom:20px; z-index:44; display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:8px; color:#fff; background:var(--studio-forest-deep); opacity:0; visibility:hidden; pointer-events:none; cursor:pointer; }
.back-to-top.visible { opacity:1; visibility:visible; pointer-events:auto; }
/* Content remains visible if observation or animation fails. */
.reveal,.reveal.in-view { opacity:1; transform:none; transition:none; }
@keyframes content-arrive { from { transform:translateY(12px); } to { transform:none; } }
.reveal.motion-enter { animation:content-arrive .35s var(--ease-premium) both; }
.image-swap { animation:imageSwap .18s ease; }
.design-main-image,.gallery-option-card img { transition:transform .25s ease; }
.lightbox { position:fixed; inset:0; z-index:500; display:none; place-items:center; padding:24px; background:rgba(8,16,12,.9); }
.lightbox.open { display:grid; animation:viewer-arrive .2s ease-out; }
@keyframes viewer-arrive { from { opacity:0; } to { opacity:1; } }
.lightbox-panel { position:relative; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr); width:min(1280px,100%); max-height:calc(100dvh - 48px); overflow:auto; border-radius:10px; background:#14281f; color:#fff; }
.lightbox-media { display:grid; place-items:center; min-width:0; background:#0b1911; }
.lightbox-media img { display:block; max-width:100%; max-height:calc(100dvh - 64px); object-fit:contain; }
.lightbox-copy { display:flex; flex-direction:column; padding:64px 28px 28px; min-width:0; }
.lightbox-copy h2 { font-size:32px; }
.lightbox-copy p { color:#d2dbd4; font-size:16px; }
.lightbox-copy .eyebrow { color:#dfb592; }
.lightbox-copy .btn { margin-top:auto; background:#f6f3ec; color:#14281f; }
.lightbox-close { position:absolute; top:12px; right:12px; z-index:2; display:grid; place-items:center; width:44px; height:44px; border:1px solid #899a8e; border-radius:8px; background:#14281f; color:#fff; font-size:28px; cursor:pointer; }
.hover-peek { position:fixed; z-index:45; padding:8px; border-radius:10px; background:#14281f; color:#fff; box-shadow:0 20px 60px #0004; opacity:0; pointer-events:none; transition:opacity .18s; }
.hover-peek.visible { opacity:1; }
.hover-peek img { width:100%; max-height:65vh; object-fit:contain; border-radius:6px; }
.hover-peek span { display:block; font-size:14px; padding:8px; }
.image-disclaimer { font-size:14px; }
/* Shared editorial and buying components. */
.section-heading { margin-bottom:32px; }
.section-heading h2,.craft-copy h2,.editorial-copy h2,.studio-cta h2 { font-size:clamp(32px,3.6vw,48px); line-height:1.12; }
.section-heading p { font-size:17px; }
.purchase-facts { background:var(--studio-bone); border-bottom:1px solid var(--studio-line); }
.purchase-facts .container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-block:28px; }
.purchase-facts p { margin:0; font-size:15px; }
.purchase-facts strong,.purchase-facts span { display:block; }
.purchase-facts strong { color:var(--studio-forest-deep); font-weight:600; }
.purchase-facts span { color:var(--studio-muted); margin-top:4px; }
.ordering-steps { padding:0; margin:28px 0 12px; list-style:none; counter-reset:order; }
.ordering-steps li { position:relative; padding:0 0 24px 42px; counter-increment:order; }
.ordering-steps li::before { content:'0' counter(order); position:absolute; left:0; top:0; color:var(--studio-cedar-dark); font-size:14px; font-weight:600; }
.ordering-steps strong,.ordering-steps span { display:block; }
.ordering-steps span { margin-top:6px; font-size:16px; color:var(--studio-muted); }
.hero-split { min-height:0; }
.hero-split-copy { padding-left:max(var(--gutter),calc((100vw - 1280px)/2)); }
.hero-split-media { aspect-ratio:auto; align-self:stretch; }
.hero-split-media>img,.hero-split-shell:hover .hero-split-media>img { transform:scale(1.06); }
.media-card { overflow:hidden; }
.media-card img { transform:scale(1.06); }
.construction-reference { transform:scale(1.12)!important; object-position:center; }
.hero-media-note { font-size:12px; letter-spacing:.02em; }
.custom-project-label { font-size:13px; letter-spacing:.02em; }
body[data-page='custom'] .hero-split-copy h1 { color:#fff!important; }
body[data-page='custom'] .hero-split-copy>p { color:#d8e0d8!important; }
.studio-cta .btn-primary,body[data-page='custom'] .hero-split-copy .btn-accent { background:#f6f3ec; color:#14281f; }
.studio-cta .btn-primary:hover,body[data-page='custom'] .hero-split-copy .btn-accent:hover { background:#fff; }
.path-card { padding:24px; min-height:0; }
.path-card h3 { margin:16px 0 12px; }
.path-card .path-number { font-size:32px; }
.path-card p:last-child { margin-bottom:0; }
.quick-product { border-radius:12px; }
.quick-product:hover { box-shadow:none; }
.quick-product:hover .quick-product-media img { transform:none; }
.quick-product-media img { object-fit:contain; }
.quick-choice-row .choice-pill { min-height:52px; border-radius:8px; }
.quick-choice-row .choice-pill:hover { transform:none; }
.quick-choice-row .choice-pill span,.quick-choice-row .choice-pill strong { font-size:15px; }
.image-status-badge { border-radius:6px; font-size:12px; letter-spacing:0; text-transform:none; }
.catalog-select,.quote-form select { appearance:none; padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2314281f' stroke-width='1.6'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; }
body[data-page='faq'] .page-hero { padding:40px 0; }
body[data-page='faq'] .page-hero h1 { font-size:clamp(36px,4.2vw,58px); }
.faq-list { max-width:100%; gap:0; }
.faq-list details { padding:0; border:0; border-bottom:1px solid var(--studio-line); border-radius:0; background:transparent; }
.faq-list details:first-child { border-top:1px solid var(--studio-line); }
.faq-list summary,.material-guide-disclosure>summary { position:relative; padding:24px 48px 24px 0; list-style:none; font-size:18px; font-weight:600; cursor:pointer; color:var(--studio-forest-deep); }
.faq-list summary::-webkit-details-marker,.material-guide-disclosure>summary::-webkit-details-marker { display:none; }
.faq-list summary::after,.material-guide-disclosure>summary::after { content:'+'; position:absolute; right:8px; top:20px; font-size:24px; font-weight:400; }
.faq-list details[open]>summary::after,.material-guide-disclosure[open]>summary::after { content:'−'; }
.faq-list p { max-width:76ch; margin:0 0 24px; font-size:16px; }
.material-guide-disclosure>summary { font-family:'Newsreader',Georgia,serif; font-size:clamp(26px,3vw,36px); }
.material-guide-disclosure .cedar-guide { padding:24px 0 0; }
.material-guide-disclosure .cedar-choice { padding:16px 12px; }
.material-guide-disclosure .cedar-choice:hover { padding:16px 12px; }
.material-guide-disclosure .cedar-preview-card { box-shadow:none; border-radius:12px; }
.material-guide-disclosure .cedar-guide-copy h2 { font-size:32px; }
.material-guide-disclosure .cedar-choice-copy small { font-size:13px; }
summary:focus-visible { outline:3px solid #b8794c; outline-offset:4px; }
@media (max-width:1050px) {
 .hero-split-media { aspect-ratio:4/3; }
 .gallery-showcase-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalog-toolbar-inner,.gallery-controls { grid-template-columns:1fr; }
 .catalog-toolbar { position:static; }
 .design-explorer-card { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .design-copy { padding:20px 24px 24px; }
 .design-heading { padding:24px 24px 0; }
 body[data-page='quote'] .quote-grid { grid-template-columns:1fr; }
 body[data-page='quote'] .quote-intro { position:static; display:grid; grid-template-columns:180px 1fr; gap:8px 24px; }
 .quote-intro>.eyebrow,.quote-intro>#quote-intro-heading,.quote-intro>#quote-intro-text { display:none; }
 .quote-intro .selected-design-preview { grid-column:1/-1; display:grid; grid-template-columns:180px 1fr; align-items:center; }
 body[data-page='quote'] .contact-card { display:none; }
 .quote-intro .no-selection-card { grid-column:1/-1; }
 .quote-intro .change-design { grid-column:2; justify-self:start; margin:0; }
 .signature-grid { gap:20px; }
 .signature-card-copy h3 { font-size:26px; }
}
@media (max-width:900px) {
 .design-explorer-card { grid-template-columns:1fr; grid-template-areas:'heading' 'media' 'details'; grid-template-rows:auto; }
 .design-heading { padding:24px; }
 .design-copy { padding:24px; }
 .design-main-button { aspect-ratio:3/2; }
 .selected-option { min-height:0; }
 .hero-split-copy { padding:40px var(--gutter); }
}
@media (max-width:760px) {
 .purchase-facts .container { grid-template-columns:1fr; gap:16px; }
 .purchase-facts p+p { padding-top:16px; border-top:1px solid var(--studio-line); }
 .hero-split-copy { padding:32px var(--gutter); }
 .hero-split-media { min-height:0; }
 .quick-product-body { padding:24px 20px; }
 .editorial-copy { padding:40px var(--gutter); }
 .design-explorer-card { grid-template-columns:1fr; }
 .gallery-showcase-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .gallery-option-card .card-body { padding:16px; }
 .signature-grid { grid-template-columns:1fr; gap:36px; }
 .signature-card img { aspect-ratio:4/3; }
 .studio-intro-grid,.craft-grid,.editorial-band { grid-template-columns:1fr; gap:32px; }
 .editorial-band { gap:0; }
 .studio-hero { min-height:620px; height:auto; }
 .studio-hero .hero-content { padding:64px 0; }
 .studio-hero::after { background:linear-gradient(90deg,rgba(9,22,16,.84),rgba(9,22,16,.4)),linear-gradient(0deg,rgba(9,22,16,.5),transparent); }
 .studio-hero p { max-width:430px; }
 .lightbox-panel { grid-template-columns:1fr; }
 .lightbox-media img { max-height:52dvh; }
 .lightbox-copy { padding:24px; }
 .lightbox-copy .btn { margin-top:16px; }
 .hover-peek { display:none; }
}
@media (max-width:560px) {
 :root { --header-height:68px; }
 body { font-size:16px; }
 .brand { gap:8px; }
 .brand::before { width:30px; height:30px; }
 .brand::after { font-size:18px; }
 .menu-toggle { padding:8px 12px; font-size:14px; }
 .site-nav { left:20px; right:20px; }
 .site-nav.open { max-height:calc(100dvh - 96px); overflow-y:auto; }
 .btn { width:auto; }
 .studio-hero .hero-actions { gap:12px; }
 .studio-hero .hero-actions .btn { width:100%; }
 .studio-hero .trust-list { gap:8px 16px; font-size:13px; }
 .browse-intro .breadcrumbs,.request-intro .breadcrumbs { font-size:13px; }
 .page-hero.browse-intro,body[data-page='quote'] .page-hero.request-intro { padding:24px 0; }
 .browse-intro p,.request-intro p { font-size:16px; }
 .filter-group,.gallery-filter-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
 .filter-chip { font-size:13px; padding:10px 8px; width:100%; }
 .design-media { padding:12px; }
 .design-number-badge { top:24px; left:24px; }
 .option-thumbs { display:flex; gap:12px; margin-top:12px; }
 .option-thumb { width:76px; height:76px; flex-basis:76px; }
 .design-copy { padding:24px 20px; }
 .design-heading { padding:24px 20px; }
 .design-card-actions .btn { width:100%; }
 .gallery-showcase-grid { grid-template-columns:1fr; }
 .gallery-option-card .card-body { padding:20px; }
 .gallery-card-actions .btn { width:auto; }
 .quote-intro .selected-design-preview { grid-template-columns:104px minmax(0,1fr); }
 .quote-intro .preview-copy { padding:14px; }
 .quote-intro .preview-copy h3 { font-size:19px; }
 .quote-intro .preview-copy p { display:none; }
 .quote-intro .design-main-button::after { content:'Enlarge'; padding:4px 6px; right:6px; bottom:6px; font-size:12px; }
 body[data-page='quote'] .quote-intro { grid-template-columns:104px 1fr; gap:8px 12px; }
 .quote-panel { padding:24px 20px; }
 .quote-panel-heading h2 { font-size:28px; }
 .quote-progress li { padding:12px 6px; font-size:12px; display:flex; align-items:center; justify-content:center; gap:6px; }
 .quote-progress li span { display:inline; }
 .quote-progress li::before { display:none; }
 .quote-wizard-actions { display:grid; grid-template-columns:1fr; }
 .quote-wizard-actions .btn { width:100%; }
 .quote-assurance { grid-template-columns:1fr; }
 .quote-assurance span { padding:10px 16px; }
 .lightbox { padding:10px; }
 .lightbox-panel { max-height:calc(100dvh - 20px); }
 .lightbox-copy h2 { font-size:28px; }
 .lightbox-copy { padding:20px; }
 .back-to-top { bottom:16px; right:16px; }
 .studio-cta { padding:56px 0; }
}
@media (hover:none) { .design-main-button::after { content:'Tap to enlarge'; } }
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
}
