/* Shared information pages: the catalogue's paper, ink and measured spacing. */
[hidden] { display:none!important; }
.site-footer { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:28px; margin-top:80px; padding:32px 0 24px; color:var(--ink); font-size:14px; line-height:1.65; }
.site-footer h2 { font:inherit; margin:0 0 14px; }
.site-footer p { margin:0 0 12px; color:var(--muted); }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer a { display:inline-block; color:inherit; text-decoration:none; padding:5px 0; }
.site-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.site-footer .footer-wordmark { font-size:20px; letter-spacing:-.04em; }
.site-footer address { font-style:normal; }
.site-footer .footer-bottom { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; border-top:1px solid var(--fine-line); padding-top:22px; font-size:12px; }
.sample-table-page>.site-footer { width:var(--site-content-width,calc(100% - 144px)); max-width:1176px; margin:40px auto; }
.site-menu { position:relative; }
.site-menu>summary { min-height:44px; display:flex; align-items:center; cursor:pointer; list-style:none; gap:8px; }
.site-menu>summary::after { content:'+'; }
.site-menu[open]>summary::after { content:'−'; }
.site-menu>summary::-webkit-details-marker { display:none; }
.site-menu>div { position:absolute; right:0; z-index:12; width:260px; border:1px solid var(--ink); background:#eeece6; padding:14px 20px; box-shadow:0 12px 22px #30312c14; }
.site-menu>div>a { display:block; font-size:14px; }
.content-page h1 { max-width:15ch; font-size:clamp(36px,5.7vw,76px); line-height:1.08; letter-spacing:-.055em; }
.content-page h2 { font-size:clamp(22px,2.6vw,34px); font-weight:400; line-height:1.2; letter-spacing:-.035em; margin:0 0 22px; }
.content-page h3 { font-size:18px; font-weight:400; line-height:1.4; margin:0 0 12px; }
.content-page p,.content-page li { font-size:16px; line-height:1.75; }
.content-page a { color:inherit; text-underline-offset:5px; }
.content-page p { margin:0 0 18px; }
.content-page .eyebrow,.content-page .quiet-label { font-size:12px; line-height:1.6; text-transform:uppercase; letter-spacing:.045em; }
.content-hero { padding:64px 0 48px; display:grid; grid-template-columns:1.45fr 1fr; align-items:end; gap:48px; }
.content-hero>p { max-width:40ch; margin:0; }
.content-hero.compact { padding:46px 0 38px; }
.content-hero.compact h1 { font-size:clamp(36px,4.5vw,58px); }
.editorial-image { margin:0; overflow:hidden; }
.editorial-image img { display:block; width:100%; height:auto; object-fit:cover; }
.editorial-image figcaption { font-size:12px; padding:12px 0; color:var(--muted); }
.story-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:64px; padding-bottom:40px; }
.story-split .editorial-image img { aspect-ratio:4/5; }
.story-copy { max-width:45ch; }
.content-section { padding:44px 0; border-top:1px solid var(--ink); }
.content-columns { display:grid; grid-template-columns:1fr 1fr; gap:54px; }
.content-columns.thirds { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.policy-layout { display:grid; grid-template-columns:minmax(160px,1fr) minmax(0,3fr); gap:64px; align-items:start; }
.policy-navigation { display:flex; flex-direction:column; align-items:start; gap:8px; }
.policy-navigation a { padding:10px 0; font-size:14px; line-height:1.6; text-decoration:none; }
.policy-navigation a:hover,.policy-navigation a[aria-current="page"] { text-decoration:underline; }
.policy-copy { max-width:76ch; min-width:0; overflow-wrap:anywhere; }
.policy-copy h2,.policy-copy h3 { margin:44px 0 20px; }
.policy-copy h2 { font-size:clamp(23px,2.5vw,30px); }
.policy-copy h3 { font-size:22px; }
.policy-copy>h2:first-child { margin-top:0; }
.policy-copy ul { margin:0 0 22px; padding-left:24px; }
.policy-copy li { margin:0 0 9px; padding-left:4px; }
.policy-copy li p { margin-bottom:9px; }
.policy-copy strong { font-weight:600; }
@media(max-width:760px) { .policy-layout { grid-template-columns:1fr; gap:28px; } .policy-navigation { flex-direction:row; flex-wrap:wrap; gap:4px 22px; padding-bottom:22px; border-bottom:1px solid var(--fine-line); } }
.content-columns .quiet-label { color:var(--muted); margin-bottom:22px; }
.note-box { border:1px solid var(--fine-line); padding:24px; }
.note-box p:last-child { margin-bottom:0; }
.content-page .action-link,.sample-order-link { display:inline-flex; justify-content:space-between; align-items:center; min-height:48px; border:1px solid var(--ink); padding:12px 18px; gap:24px; font-size:14px; line-height:1.5; text-decoration:none; background:transparent; color:var(--ink); cursor:pointer; }
.action-link:hover,.sample-order-link:hover { background:var(--ink); color:var(--paper); }
.action-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; }
.content-page :focus-visible,.site-menu>summary:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
.content-page .fine-copy { font-size:14px; color:var(--muted); line-height:1.7; }
.large-number { display:block; font-size:clamp(44px,6vw,76px); letter-spacing:-.06em; line-height:1.05; margin:0 0 22px; font-weight:400; }
.spec-table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; line-height:1.6; }
.spec-table th { font-weight:400; color:var(--muted); }
.spec-table td,.spec-table th { padding:16px 12px 16px 0; border-bottom:1px solid var(--fine-line); vertical-align:top; }
.step-list { list-style:none; margin:0; padding:0; }
.step-list li { display:grid; grid-template-columns:70px 1fr; gap:20px; padding:24px 0; border-top:1px solid var(--fine-line); }
.step-list .step-no { font-size:14px; color:var(--muted); padding-top:4px; }
.step-list p { max-width:66ch; margin:0; }
.faq-list details { border-bottom:1px solid var(--fine-line); padding:0; }
.faq-list summary { position:relative; font-size:18px; line-height:1.5; padding:23px 48px 23px 0; list-style:none; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:8px; }
.faq-list details[open]>summary::after { content:'−'; }
.faq-list details p { max-width:75ch; padding-bottom:12px; }
.contact-email { font-size:clamp(18px,2.5vw,29px); overflow-wrap:anywhere; display:inline-block; margin-bottom:32px; }
.studio-hours { margin:20px 0; font-size:14px; }
.studio-hours>div { display:flex; justify-content:space-between; gap:20px; padding:9px 0; border-bottom:1px solid var(--fine-line); }
.studio-hours dd { margin:0; }
.content-form label { display:flex; flex-direction:column; gap:10px; font-size:14px; }
.content-form input,.content-form textarea,.content-form select { width:100%; min-width:0; border:0; border-bottom:1px solid var(--line); padding:12px 0; border-radius:0; background:transparent; font:inherit; font-size:16px; }
.content-form textarea { resize:vertical; line-height:1.65; }
.form-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.form-fields>.wide { grid-column:1/-1; }
.content-form button { font:inherit; }
.sample-pack-options { border:0; padding:0; margin:0 0 36px; }
.sample-pack-options legend { margin-bottom:18px; font-size:18px; }
.pack-options-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.pack-option { position:relative; display:grid; align-content:start; grid-template-columns:24px 1fr; gap:10px; padding:20px; border:1px solid var(--fine-line); cursor:pointer; font-size:14px; }
.pack-option:has(input:checked) { outline:1px solid var(--ink); border-color:var(--ink); }
.pack-option input { width:17px; height:17px; margin:2px 0; accent-color:var(--ink); }
.pack-option strong { display:block; font-size:28px; font-weight:400; margin-top:14px; }
.pack-option small { display:block; font-size:12px; color:var(--muted); margin-top:7px; }
.sample-shop-layout { display:grid; grid-template-columns:minmax(0,2.4fr) minmax(250px,1fr); gap:40px; align-items:start; }
.sample-choice-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.sample-choice { position:relative; border:1px solid var(--fine-line); padding:12px; min-width:0; cursor:pointer; }
.sample-choice.is-selected { outline:1px solid var(--ink); border-color:var(--ink); }
.sample-choice input { position:absolute; top:10px; left:10px; width:18px; height:18px; z-index:1; accent-color:var(--ink); }
.sample-choice img { width:100%; height:auto; aspect-ratio:1.54; object-fit:contain; display:block; margin:16px 0 14px; }
.sample-choice>span { display:block; font-size:12px; line-height:1.55; }
.sample-choice:has(input:disabled):not(.is-selected) { opacity:.55; cursor:default; }
.sample-summary { position:sticky; top:24px; border-top:1px solid var(--ink); padding-top:24px; }
.sample-summary h2 { font-size:24px; }
.sample-summary #sample-pack-price { font-size:42px; }
.sample-summary #sample-selected-list { padding-left:18px; margin:20px 0; }
.sample-summary #sample-selected-list li { font-size:12px; margin-bottom:8px; }
.sample-summary .action-link { width:100%; justify-content:center; }
.sample-summary button:disabled { cursor:not-allowed; opacity:.4; }
#sample-selection-status { font-size:14px; }
.sample-order-banner { width:calc(100% - 144px); max-width:1176px; margin:20px auto 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--fine-line); display:flex; justify-content:space-between; gap:32px; align-items:center; padding:30px 0; }
.sample-order-banner h2 { font-size:24px; font-weight:400; letter-spacing:-.04em; margin:0 0 12px; }
.sample-order-banner p { font-size:14px; line-height:1.6; margin:0; }
body.dialog-open .sample-order-banner,body.dialog-open>.site-footer { opacity:0; pointer-events:none; }
.finish-information .sample-order-link { margin:0 0 28px; }
.product-service-details { border-top:1px solid var(--fine-line); padding-top:18px; margin-top:22px; }
.product-service-details p { font-size:14px; line-height:1.6; margin:0 0 10px; }
.product-service-details a { color:inherit; text-underline-offset:4px; }
.product-service-links { display:flex; flex-wrap:wrap; gap:10px 20px; font-size:14px; }
.save-design-actions { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:16px; }
.save-design-actions button { border:0; border-bottom:1px solid var(--fine-line); background:transparent; padding:10px 0; min-height:44px; cursor:pointer; font-size:14px; }
.save-design-status { font-size:14px; line-height:1.6; }
.saved-designs-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.saved-design { border-top:1px solid var(--ink); padding-top:18px; }
.saved-design img { width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; }
.saved-design p { font-size:14px; }
.saved-design button { background:transparent; border:0; padding:12px 0; color:inherit; cursor:pointer; text-decoration:underline; font-size:14px; }
.room-plan { width:100%; display:block; border:1px solid var(--fine-line); margin-top:26px; }
.room-plan text { fill:var(--ink); font-family:var(--mono); font-size:15px; }
.room-results { display:flex; flex-wrap:wrap; gap:18px 34px; margin:22px 0; font-size:14px; line-height:1.6; }
.room-results strong { display:block; font-size:24px; font-weight:400; }
@media(max-width:1000px) { .site-footer { grid-template-columns:1fr 1fr; } .content-hero { gap:28px; } .story-split { gap:32px; } .sample-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .sample-table-page>.site-footer,.sample-order-banner { width:calc(100% - 96px); } }
@media(max-width:760px) { .content-hero,.story-split,.content-columns,.content-columns.thirds,.sample-shop-layout { grid-template-columns:1fr; gap:28px; } .content-hero { padding:36px 0; } .content-hero>p { max-width:60ch; } .story-copy { max-width:60ch; } .content-section { padding:32px 0; } .sample-summary { position:static; } .sample-choice-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .saved-designs-list { grid-template-columns:1fr 1fr; } .site-menu>div { left:0; right:auto; } }
@media(max-width:600px) { .site-footer { gap:26px 18px; margin-top:48px; font-size:13px; } .site-footer>div:first-child { grid-column:1/-1; } .site-footer .footer-bottom { display:block; } .site-footer .footer-bottom span { display:block; margin-bottom:8px; } .sample-table-page>.site-footer,.sample-order-banner { width:calc(100% - 60px); } .pack-options-grid { grid-template-columns:1fr; gap:12px; } .pack-option { padding:16px; } .pack-option strong { display:inline; float:right; font-size:22px; margin:0 0 0 12px; } .sample-choice-grid { grid-template-columns:1fr 1fr; gap:12px; } .sample-order-banner { flex-direction:column; align-items:start; gap:20px; } .form-fields { grid-template-columns:1fr; } .form-fields>.wide { grid-column:auto; } .step-list li { grid-template-columns:36px 1fr; gap:16px; } .saved-designs-list { grid-template-columns:1fr; } }
@media print { .site-footer,.site-menu,.save-design-actions,.save-design-status { display:none!important; } .content-hero { padding:22px 0; } }

/* Keep the complete workshop portrait visible at every screen width. */
[data-content-page="about"] .about-team-photo { margin:0; }
[data-content-page="about"] .about-team-photo img { display:block; width:100%; height:auto; }
