/* Architectural composition. Shared controls and typography live in components.css. */
.site-header{position:sticky;top:0;z-index:30;background:var(--surface-page);border-bottom:1px solid var(--border)}
.nav-inner{min-height:5.5rem;display:flex;justify-content:space-between;align-items:center;gap:var(--space-8)}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-brand);font-size:1.5rem;letter-spacing:.03em;white-space:nowrap;line-height:1}
.brand-mark{width:2rem;height:2rem}.brand-mark svg{width:100%;height:100%;fill:none;stroke:var(--accent);stroke-width:1.5}
.site-nav{display:flex;align-items:center;gap:var(--space-8);font-size:var(--text-sm)}.site-nav>a:not(.button){padding-block:var(--space-3);border-bottom:1px solid transparent}.site-nav>a[aria-current=page]{border-color:var(--accent)}.site-nav>a:not(.button):hover{color:var(--accent)}.nav-toggle{display:none}
.hero{padding-top:var(--space-12)}.hero-copy{display:grid;grid-template-columns:1.2fr 1fr;column-gap:var(--space-16);align-items:center;margin-bottom:var(--space-12)}
.hero .eyebrow{grid-column:1/-1;font-size:.6875rem;margin-bottom:var(--space-6)}.hero h1{grid-row:2/4;max-width:15ch}.hero-copy>p{align-self:end;max-width:34ch;color:var(--text-muted);font-size:var(--text-lg)}.hero .actions{align-self:start;margin-top:var(--space-6);gap:var(--space-6)}.hero-visual>img{width:100%;aspect-ratio:2.3;object-fit:cover;object-position:50% 60%}
figcaption{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-3)}.hero-visual figcaption{text-align:right}
.services-section{padding-top:var(--space-16)}.services-section .section-heading h2{font-size:clamp(1.5rem,2.4vw,2rem)}.section-heading>p{margin:0;max-width:30ch;font-size:var(--text-sm)}.section-heading>.text-link{flex:none}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12)}.service-card{padding-block:var(--space-6) 0}.service-top{margin-bottom:var(--space-6)}.service-top .icon{width:1.75rem;height:1.75rem;color:var(--accent)}.service-card p{font-size:var(--text-base);max-width:32ch}.service-card h3{letter-spacing:-.025em}
.detail-label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--accent);margin-bottom:var(--space-3);letter-spacing:.06em}.anchor-target{scroll-margin-top:7rem}
.material-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-12)}.material-entry{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6) 0;border-top:1px solid var(--border);min-width:0}.material-entry>span:nth-child(2){flex:1;min-width:0}.material-entry strong{display:block;font-size:var(--text-lg);font-weight:600;letter-spacing:-.02em}.material-entry small{display:block;font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.material-entry>.icon{color:var(--accent)}.material-entry:hover strong{color:var(--accent)}.swatch{display:block;width:4rem;height:4rem;flex:none;overflow:hidden;background:var(--surface-page);border:1px solid var(--border)}.swatch img{width:100%;height:100%;object-fit:cover}.sample-unavailable{height:100%;display:grid;place-items:center;padding:var(--space-1);text-align:center;font-size:.625rem;color:var(--text-muted);line-height:1.4}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6)}.gallery-image{display:block;position:relative;overflow:hidden;aspect-ratio:3/4}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration)}.gallery-image:hover img{transform:scale(1.025)}.gallery-expand{position:absolute;right:var(--space-3);bottom:var(--space-3);width:2.75rem;height:2.75rem;display:grid;place-items:center;background:var(--surface-page);color:var(--text-primary)}.gallery-item figcaption{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.gallery-caption{margin-top:var(--space-6)}
.sectors{display:grid;grid-template-columns:.8fr 2fr;gap:var(--space-12);margin-top:var(--space-16);padding:var(--space-12)}.sector-heading{padding-top:var(--space-4)}.sector-heading .eyebrow{font-size:.6875rem;margin-bottom:var(--space-6)}.sector-heading h3{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2}.sector-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-8);list-style:none;margin:0;padding:0;font-size:var(--text-sm)}.sector-list li{display:flex;align-items:center;gap:var(--space-4);padding-block:var(--space-6);border-top:1px solid var(--border);min-width:0}.sector-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;color:var(--bronze-light)}.sector-icon .icon{width:1.75rem;height:1.75rem}.sector-list li>span:last-child{line-height:1.5;max-width:23ch}
.featured-chowkats{margin-top:var(--space-16)}.sample-label{display:block;font-size:.6875rem;line-height:1.5;margin-top:var(--space-1);color:var(--accent)}
.chowkat-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-24)}.chowkat-visual{min-width:0}.chowkat-visual>img{width:100%;aspect-ratio:4/5;object-fit:cover}.chowkat-visual figcaption{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.chowkat-copy>p{margin-top:var(--space-6);max-width:34ch;color:var(--text-muted)}.chowkat-copy h2{font-size:clamp(2rem,3.2vw,2.75rem)}.chowkat-copy .check-list{margin-block:var(--space-8)}.check-list li{font-size:var(--text-base)}.frame-controls{gap:var(--space-2);margin-top:var(--space-6)}.specification-list{margin:0 0 var(--space-6)}.specification-list>div{padding-block:var(--space-4);border-top:1px solid var(--border)}.specification-list dt{font-size:var(--text-xs);font-weight:600;margin-bottom:var(--space-2)}.specification-list dd{margin:0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.8}
.client-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-left:1px solid var(--border);border-top:1px solid var(--border)}.client-tile{display:flex;align-items:center;justify-content:center;text-align:center;min-height:9rem;padding:var(--space-6);border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-card)}.client-tile>img{width:100%;max-width:10.5rem;height:5.5rem;object-fit:contain}.client-wordmark{font-size:var(--text-base);font-weight:600;letter-spacing:-.02em;line-height:1.4}.client-wordmark small{display:block;font-size:.6875rem;font-weight:400;margin-top:var(--space-2);letter-spacing:0;color:var(--text-muted)}a.client-tile:hover{background:var(--surface-alt)}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:var(--space-16)}.contact-grid .button{margin-top:var(--space-8)}.contact-details{display:flex;flex-direction:column;align-items:start;gap:var(--space-3)}.contact-phone{font-size:clamp(1.5rem,2.7vw,2.25rem);letter-spacing:-.04em;line-height:1.2}.contact-email{font-size:var(--text-base)}.contact-details p{margin-top:var(--space-3)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);border-top:1px solid var(--border);padding-block:var(--space-6);font-size:var(--text-xs)}.footer-bottom .text-link{font-size:var(--text-xs);border:0}
.expertise-hero{padding-block:var(--space-12)}.breadcrumb{display:inline-block;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-8);min-height:2.75rem}.expertise-hero>div{display:flex;align-items:end;justify-content:space-between;gap:var(--space-12)}.expertise-hero h1{font-size:clamp(2.5rem,4vw,3.5rem);max-width:15ch}.expertise-hero p{max-width:30ch;color:var(--text-muted)}.expertise-subnav{border-block:1px solid var(--border);background:var(--surface-alt)}.expertise-subnav .container{display:flex;gap:var(--space-8);overflow:auto}.expertise-subnav a{white-space:nowrap;font-size:var(--text-sm);padding-block:var(--space-4)}.expertise-subnav a:hover{color:var(--accent)}
.material-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);align-items:start}.material-card{padding:var(--space-6);border:1px solid var(--border);background:var(--surface-card);scroll-margin-top:7rem;min-width:0}.material-card-heading{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.material-card-heading h3{font-size:1.25rem;letter-spacing:-.025em}.material-card>p{font-size:var(--text-sm);color:var(--text-muted)}.material-card .material-note{font-size:var(--text-xs);margin-top:var(--space-3)}.material-details{margin-top:var(--space-6);border-top:1px solid var(--border)}.material-details summary{font-size:var(--text-sm);padding-block:var(--space-4);min-height:2.75rem}.material-details .specification-list{margin-bottom:var(--space-2)}.material-card>.text-link{margin-top:var(--space-2)}.materials-note{margin-top:var(--space-8)}
.cutting-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-12)}.cutting-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.cutting-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:transparent;border:1px solid var(--border);text-align:left;min-height:3.75rem;padding:var(--space-4);font-size:var(--text-sm)}.cutting-option>.icon{width:1rem;height:1rem}.cutting-option:hover{border-color:var(--accent)}.cutting-option[aria-pressed=true]{background:var(--granite);color:var(--chalk);border-color:var(--granite)}.cutting-preview{padding:var(--space-8);background:var(--surface-page);border:1px solid var(--border);align-self:start}.shape-svg{width:100%;max-height:15rem;color:var(--border);display:block;margin-bottom:var(--space-6)}.shape-path{fill:var(--stone);stroke:var(--granite);stroke-width:1.5}.shape-guides{stroke:var(--bronze);stroke-width:.8;fill:none}.cutting-preview p{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-4)}.cutting-preview>small{display:block;font-size:var(--text-xs);margin-top:var(--space-6)}
.finish-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24)}.finish-grid h3{font-size:1.25rem}.finish-samples{display:flex;gap:var(--space-4);margin-block:var(--space-6)}.finish-samples figure{flex:1;max-width:8rem}.finish-samples img{width:100%;height:4.5rem;object-fit:cover}.finish-list{font-size:var(--text-sm);color:var(--text-muted);line-height:2.1;margin-top:var(--space-6)}
.laying-layout{display:grid;grid-template-columns:.8fr 1fr;gap:var(--space-24);align-items:center}.laying-image>img{width:100%;max-height:34rem;object-fit:cover}.laying-layout>div>p{margin-top:var(--space-6);color:var(--text-muted);max-width:35ch}.laying-areas{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-6);list-style:none;padding:0;margin:var(--space-8) 0;font-size:var(--text-sm)}.laying-areas li{border-top:1px solid var(--border);padding-top:var(--space-3)}
.process-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-6);padding:0;margin:0;list-style:none}.process-list li{padding-top:var(--space-4);border-top:1px solid var(--border)}.process-number{font-size:var(--text-xs);color:var(--accent)}.process-list h3{font-size:var(--text-sm);font-weight:600;line-height:1.5;letter-spacing:0;margin-top:var(--space-4)}
.lightbox{max-width:min(70rem,calc(100% - var(--space-8)));background:var(--surface-page)}.lightbox-toolbar,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);font-size:var(--text-sm)}.lightbox-toolbar .icon-button,.lightbox-bottom .icon-button{flex:none}.lightbox>img{max-height:70dvh;width:100%;object-fit:contain}.lightbox-bottom p{text-align:center}.lightbox-bottom [data-gallery-prev] .icon{transform:rotate(180deg)}
.enhanced-only{display:none}.js .enhanced-only{display:flex}html:not(.js) .cutting-options{display:none}html:not(.js) .cutting-layout{grid-template-columns:1fr}.not-found{min-height:65vh}.not-found p,.not-found .actions{margin-top:var(--space-8)}
.design-system .lead,.design-system .actions{margin-top:var(--space-6)}.palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4);margin-block:var(--space-8)}.palette-card{border:1px solid var(--border)}.palette-colour{height:6rem}.palette-card p{padding:var(--space-4);font-size:var(--text-sm)}.palette-card code{display:block;color:var(--text-muted);font-size:var(--text-xs)}.palette-chalk{background:var(--chalk)}.palette-stone{background:var(--stone)}.palette-granite{background:var(--granite)}.palette-bronze{background:var(--bronze)}.palette-slate{background:var(--slate)}.type-specimens{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin-block:var(--space-12)}.space-scale{display:flex;gap:var(--space-6);align-items:end;flex-wrap:wrap;margin-top:var(--space-8)}.space-scale>div{font-size:var(--text-xs)}.space-scale span{display:block;background:var(--bronze);width:var(--size);height:var(--size);margin-bottom:var(--space-3)}.system-component-row{padding-block:var(--space-12);border-bottom:1px solid var(--border)}.system-component-row>.detail-label{margin-bottom:var(--space-6)}.system-component-row>p{margin-top:var(--space-4)}
@media(max-width:1100px){.hero-copy{column-gap:var(--space-8)}.hero .actions{gap:var(--space-3)}.hero .actions>.button{padding-inline:var(--space-4)}.chowkat-layout,.laying-layout,.finish-grid{gap:var(--space-12)}.client-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.client-tile{padding:var(--space-4)}.process-list{grid-template-columns:repeat(4,1fr)}.material-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.hero-copy{grid-template-columns:1fr;gap:0}.hero h1{grid-row:auto;max-width:none}.hero-copy>p{margin-top:var(--space-6)}.hero .eyebrow{grid-column:auto}.hero-visual>img{aspect-ratio:1.7}.service-grid{gap:var(--space-6)}.service-card h3{font-size:1.125rem}.service-card p{font-size:var(--text-sm)}.material-directory{column-gap:var(--space-6)}.material-entry{gap:var(--space-4)}.material-entry strong{font-size:var(--text-base)}.material-entry small{font-size:var(--text-xs)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.sectors{grid-template-columns:1fr;gap:var(--space-8);padding:var(--space-8)}.sector-heading{padding-top:0}.sector-heading h3 br{display:none}.sector-heading .eyebrow{margin-bottom:var(--space-3)}.chowkat-layout,.laying-layout{gap:var(--space-8)}.chowkat-copy h2{font-size:1.875rem}.chowkat-copy .eyebrow{font-size:.625rem}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-grid{gap:var(--space-8)}.contact-email{font-size:var(--text-sm)}.expertise-hero>div{display:block}.expertise-hero p{margin-top:var(--space-6);max-width:none}.expertise-subnav .container{gap:var(--space-6)}.cutting-layout{gap:var(--space-6);grid-template-columns:1fr 1fr}.cutting-options{grid-template-columns:1fr}.cutting-preview{position:sticky;top:7rem;padding:var(--space-6)}.laying-areas{column-gap:var(--space-4);font-size:var(--text-xs)}.finish-grid{gap:var(--space-8)}.palette-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.nav-inner{min-height:4.75rem;flex-wrap:wrap;gap:var(--space-4)}.brand{font-size:1.25rem}.site-nav{width:100%;padding-bottom:var(--space-4);gap:var(--space-4);flex-wrap:wrap}.js .nav-toggle{display:grid}.js .site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:var(--space-6) var(--gutter);background:var(--surface-page);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch}.js .site-nav.is-open{display:flex}.js .site-nav .button{align-self:start}.chowkat-layout,.laying-layout{grid-template-columns:1fr}.chowkat-visual{width:100%;max-width:34rem;justify-self:center}.chowkat-copy h2{font-size:var(--type-section)}.laying-image>img{max-height:27rem}.laying-areas{font-size:var(--text-sm)}.contact-grid{grid-template-columns:1fr;gap:var(--space-12)}.contact-details{border-top:1px solid var(--border);padding-top:var(--space-8)}.contact-phone{font-size:2rem}.contact-email{font-size:var(--text-base)}.process-list{grid-template-columns:repeat(3,1fr)}.type-specimens{grid-template-columns:1fr}}
@media(max-width:540px){.hero{padding-top:var(--space-8)}.hero-copy{margin-bottom:var(--space-8)}.hero .eyebrow{font-size:.625rem}.hero h1{font-size:clamp(2.15rem,8.5vw,2.875rem)}.hero-copy>p{font-size:var(--text-base)}.hero .actions{align-items:start;flex-direction:column;gap:var(--space-3)}.hero-visual>img{aspect-ratio:1.1;object-position:60% 50%}.desktop-break{display:none}.section-heading{margin-bottom:var(--space-8)}.section-heading>p{margin-top:var(--space-4)}.service-grid{grid-template-columns:1fr;gap:var(--space-8)}.service-card h3{font-size:1.375rem}.service-card p{font-size:var(--text-base);max-width:none}.service-top{margin-bottom:var(--space-4)}.material-directory{grid-template-columns:1fr}.material-entry{padding-block:var(--space-4)}.material-entry strong{font-size:var(--text-lg)}.material-entry small{font-size:var(--text-sm)}.gallery-grid{gap:var(--space-4)}.gallery-item figcaption{font-size:var(--text-xs)}.gallery-expand{right:var(--space-2);bottom:var(--space-2);width:2rem;height:2rem}.sectors{padding:var(--space-6);margin-top:var(--space-12)}.sector-list{grid-template-columns:1fr;font-size:var(--text-sm)}.sector-list li{padding-block:var(--space-4)}.sector-list li>span:last-child{max-width:none}.featured-chowkats{margin-top:var(--space-12)}.client-tile>img{height:4.5rem}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-tile{min-height:8rem}.client-wordmark{font-size:var(--text-sm)}.material-card-grid{grid-template-columns:1fr}.expertise-hero{padding-block:var(--space-8)}.expertise-hero h1{font-size:2.5rem}.breadcrumb{margin-bottom:var(--space-4)}.cutting-layout{grid-template-columns:1fr}.cutting-options{grid-template-columns:1fr 1fr}.cutting-option{font-size:var(--text-xs);padding:var(--space-3)}.cutting-option>.icon{display:none}.cutting-preview{position:static}.finish-grid{grid-template-columns:1fr;gap:var(--space-12)}.process-list{grid-template-columns:repeat(2,1fr)}.palette-grid{grid-template-columns:repeat(2,1fr)}.lightbox-toolbar,.lightbox-bottom{padding:var(--space-3);font-size:var(--text-xs)}.contact-phone{font-size:1.875rem}}
