/* A complete opening viewport and distinct visual bands throughout the site. */
html { scroll-padding-top:90px; }
main:not(.legal-page) > section { position:relative; min-height:100svh!important; display:flex; align-items:center; box-sizing:border-box; scroll-margin-top:0; }
main:not(.legal-page) > .section,
main:not(.legal-page) > .project-band,
main:not(.legal-page) > .buyers-cta { padding-top:100px; padding-bottom:72px; }
main:not(.legal-page) > .page-hero,
.buyers-page > .buyers-hero,
.buyers-page > .buyers-article-hero,
.project-page > .project-hero { min-height:100svh; padding-top:140px; padding-bottom:72px; display:flex; align-items:center; }
main:not(.legal-page) > .home-hero { display:flex; align-items:stretch; }
.screen-material { isolation:isolate; }
.screen-material::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.075; background:url('images/sortings/natur.jpeg') center / cover; pointer-events:none; }
.screen-material > .container { position:relative; }
main > .buyers-cta { background:linear-gradient(90deg,rgba(19,13,9,.9),rgba(19,13,9,.64)),url('images/about-premium-floor.jpg') center / cover; }
.buyers-cta .container { width:var(--container); align-items:center; }
.buyers-cta .container > div { max-width:700px; }
.service-quality { background:linear-gradient(90deg,rgba(18,12,8,.94),rgba(18,12,8,.7)),var(--screen-photo) center / cover; color:var(--white); }
.service-quality-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:64px; }
.service-quality-copy h2 { font-size:48px; line-height:1.1; margin:0 0 24px; }
.service-quality-copy h3 { font-size:28px; line-height:1.2; margin:28px 0 12px; }
.service-quality-copy p:not(.eyebrow) { color:rgba(255,250,243,.82); line-height:1.75; }
.service-quality-visual { margin:0; }
.service-quality-visual img { display:block; width:100%; aspect-ratio:1.15; object-fit:cover; }
.service-quality-visual figcaption { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding-top:20px; font-size:13px; line-height:1.5; }
.service-quality-visual figcaption span { border-top:1px solid var(--gold); padding-top:14px; }
.service-flow-track { border-top:0; gap:24px; }
.service-flow-track li { padding:0; }
.service-flow-track .service-flow-dot { display:none; }
.service-flow-track img { display:block; width:100%; aspect-ratio:1.25; object-fit:cover; margin-bottom:22px; }
.service-flow-track h3 { margin-top:0; }
.service-offer-grid img { aspect-ratio:1.9; }
.service-offer-grid { gap:28px; }
.service-offer-grid h3 { font-size:25px; }
.service-offer-grid p { font-size:14px; }
.screen-editorial-photo { width:100%; display:block; aspect-ratio:1.3; object-fit:cover; margin-top:28px; }
.buyers-screen-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.buyers-screen-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.buyers-screen-grid article { min-width:0; }
.buyers-screen-grid article img { display:block; width:100%; aspect-ratio:1.3; object-fit:cover; }
.buyers-screen-grid--two article img { aspect-ratio:1.9; }
.buyers-screen-grid h3 { font-size:27px; line-height:1.2; margin:22px 0 12px; }
.buyers-screen-grid p { font-size:15px; line-height:1.7; color:var(--muted); }
.buyers-screen-grid a { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.buyers-screen-heading { max-width:780px; margin-bottom:38px; }
.buyers-screen-heading h2 { font-size:46px; line-height:1.1; margin:0 0 18px; }
.buyers-screen-heading p { color:var(--muted); font-size:17px; }
.buyers-screen-note { padding-top:24px; margin-top:30px; border-top:1px solid var(--line); max-width:820px; }
.buyers-screen-note h3 { font-size:27px; margin:0 0 10px; }
.buyers-screen-note p { margin:0; color:var(--muted); line-height:1.7; }
.buyers-page .project-two { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; }
.buyers-page .project-two .buyers-intro { margin-bottom:0; }
.buyers-page .project-two .buyers-care-visual { margin:0; }
.project-page > .project-contact { background:linear-gradient(90deg,rgba(18,12,8,.95),rgba(18,12,8,.85)),url('images/about-premium-floor.jpg') center / cover; }
.project-promises-screen { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.project-promises-screen > img { width:100%; aspect-ratio:1.2; object-fit:cover; }
.project-promises-screen .project-promises { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:32px; }
.project-promises-screen h2 { margin:0; }
.about-intro .about-lead-grid { align-items:center; }
.about-intro .about-stats { margin-top:36px; padding-top:28px; border-top:1px solid var(--line); }
.about-intro .about-stats strong { font-size:27px; }
.about-page > .about-intro { flex-direction:column; justify-content:center; }
.about-page .about-intro .about-stats { margin-left:auto; margin-right:auto; }
.about-page .about-intro .about-stats strong { color:var(--ink); }
.about-page .about-intro .about-stats span { color:var(--muted); }
.about-values .screen-editorial-photo { margin:0 0 24px; }
.buyers-guides .buyers-guide-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; border:0; }
.buyers-guides .buyers-guide-list > a { display:flex; flex-direction:column; align-items:stretch; gap:16px; min-height:0; margin:0; padding:0; border:0; }
.buyers-guides .buyers-guide-list img { width:100%; height:auto; aspect-ratio:1.9; object-fit:cover; }
.buyers-guides .buyers-arrow { display:none; }
.buyers-guides .buyers-guide-copy strong { font-size:26px; line-height:1.2; }
.buyers-guides .buyers-guide-copy > span { font-size:14px; }
.buyers-guides .buyers-heading { margin-bottom:30px; }
.legal-page > section { min-height:0; display:block; }
main > .home-products { padding-top:92px; padding-bottom:48px; }
.home-products .container { width:min(1440px,92%); }
.home-products .section-title { margin-bottom:28px; }
.home-products .products-grid.products-grid--7 { grid-template-columns:repeat(12,minmax(0,1fr)); gap:22px; }
.home-products .products-grid--7 .product-card { grid-column:span 3; min-height:clamp(220px,27svh,280px); border-radius:4px; }
.home-products .products-grid--7 .product-card:nth-child(n+5) { grid-column:span 4; }
.home-products .product-card img { height:100%; min-height:0; max-height:none; width:100%; aspect-ratio:auto; object-fit:cover; }
.home-products .product-body { padding:14px 18px 18px; }
.home-products .product-body h3 { font-size:25px; line-height:1.15; margin:0; min-height:58px; }
.home-products .product-body p { display:none; }
.home-products .text-link { display:inline-block; margin-top:12px; font-size:12px; }
@media(min-width:701px) and (max-width:1000px) {
  .home-products .products-grid.products-grid--7 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-products .products-grid--7 .product-card,
  .home-products .products-grid--7 .product-card:nth-child(n+5) { grid-column:auto; }
  .home-products .products-grid--7 .product-card:last-child { grid-column:1 / -1; }
}
@media(max-width:1000px) {
  .service-quality-grid,.project-promises-screen { gap:32px; }
  .service-quality-copy h2 { font-size:40px; }
}
@media(max-width:700px) {
  html { scroll-padding-top:76px; }
  main:not(.legal-page) > .section,
  main:not(.legal-page) > .project-band,
  main:not(.legal-page) > .buyers-cta { min-height:100svh; padding-top:96px; padding-bottom:56px; }
  main:not(.legal-page) > .page-hero,
  .buyers-page > .buyers-hero,
  .buyers-page > .buyers-article-hero,
  .project-page > .project-hero { min-height:100svh; padding-top:116px; padding-bottom:56px; }
  .buyers-hero h1 { font-size:42px; }
  .service-quality-grid,.project-promises-screen { grid-template-columns:minmax(0,1fr); gap:32px; }
  .buyers-page .project-two { grid-template-columns:minmax(0,1fr); gap:32px; }
  .service-quality-copy h2,.buyers-screen-heading h2 { font-size:36px; }
  .service-quality-visual img { aspect-ratio:1.4; }
  .service-quality-visual figcaption { gap:10px; font-size:12px; }
  .service-flow-track { grid-template-columns:minmax(0,1fr); gap:36px; padding:0; }
  .service-flow-track li { border:0; padding:0; }
  .service-flow-track img { aspect-ratio:1.6; }
  .service-offer-grid img { aspect-ratio:1.5; }
  .buyers-screen-grid,.buyers-screen-grid--two { grid-template-columns:minmax(0,1fr); gap:36px; }
  .buyers-screen-grid article img { aspect-ratio:1.6; }
  .buyers-screen-grid h3 { margin-top:18px; }
  .buyers-cta .container { align-items:flex-start; }
  .about-intro .about-stats { gap:22px; }
  .buyers-guides .buyers-guide-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
  .buyers-guides .buyers-guide-list img { aspect-ratio:1.2; }
  .buyers-guides .buyers-guide-copy strong { font-size:23px; overflow-wrap:break-word; }
  .buyers-guides .buyers-guide-copy > span { font-size:13px; }
  .home-products .products-grid.products-grid--7 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .home-products .products-grid--7 .product-card,
  .home-products .products-grid--7 .product-card:nth-child(n+5) { grid-column:auto; }
  .home-products .products-grid--7 .product-card:last-child { grid-column:1 / -1; }
  .home-products .products-grid--7 .product-card { min-height:240px; }
  .home-products .product-card img { aspect-ratio:auto; }
  .home-products .product-body { padding:12px; }
  .home-products .product-body h3 { font-size:21px; min-height:74px; overflow-wrap:break-word; }
  .home-products .product-card:last-child h3 { min-height:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Project landing: hero, combined capabilities, configurator, request and FAQ. */
.project-compact > .project-possibilities,
.project-compact > .project-compact-contact { background:linear-gradient(90deg,rgba(18,12,8,.95),rgba(18,12,8,.77)),var(--project-scene) center / cover; color:var(--white); }
.project-compact .project-compact-heading { max-width:850px; margin-bottom:34px; }
.project-compact .project-compact-heading h2 { font-size:48px; margin:0 0 20px; }
.project-compact .project-compact-heading > p:last-child { max-width:760px; color:rgba(255,250,243,.82); }
.project-compact .eyebrow { color:var(--gold-soft); }
.project-possibility-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.project-possibility-grid > div { border-top:1px solid var(--gold); padding-top:20px; }
.project-compact h3 { font-size:27px; line-height:1.2; margin:0 0 12px; }
.project-possibility-grid p { font-size:14px; color:rgba(255,250,243,.82); line-height:1.65; margin:0; }
.project-compact-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,250,243,.2); }
.project-compact-process span { font-size:13px; color:var(--gold-soft); }
.project-compact-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:22px; }
.project-compact-details details { min-width:0; }
.project-compact-details summary { font-size:14px; cursor:pointer; }
.project-compact-details p,.project-compact-details li { font-size:14px; line-height:1.6; }
.project-compact-details .project-link { color:var(--gold-soft); font-size:14px; }
.project-compact-contact h2 { font-size:44px; margin-bottom:20px; }
.project-compact-faq { margin-top:24px; }
.project-compact-contact .project-two { gap:56px; align-items:start; }
.project-compact-contact .project-faq details { padding:12px 0; border-color:rgba(255,250,243,.2); }
.project-compact-contact .project-faq summary { font-size:14px; }
.project-compact-contact .project-faq p { color:rgba(255,250,243,.8); }
.project-compact-contact .project-request-details { margin-top:20px; padding-top:16px; }
.project-compact .project-config { grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:40px; }
.project-compact .project-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.project-compact .project-controls fieldset { margin:0; padding-bottom:16px; }
.project-compact .project-controls legend { margin-bottom:12px; font-size:17px; }
.project-compact .project-controls label { margin-bottom:10px; }
.project-compact .project-controls .project-control-pair { grid-template-columns:1fr; gap:0; }
.project-compact .project-controls .project-selection { grid-column:1 / -1; }
.project-compact .project-material-view { aspect-ratio:1.05; }
.project-compact .project-tones { grid-template-columns:repeat(2,minmax(0,1fr)); }
.project-compact .project-config-section .eyebrow { color:var(--gold-dark); }
.project-compact .project-section-heading { margin-bottom:28px; }
.project-compact .project-lead textarea { min-height:88px; }
@media(max-width:900px) {
 .project-compact .project-config { grid-template-columns:minmax(0,1fr); }
 .project-compact .project-visual-column { position:static; }
 .project-compact .project-material-view { aspect-ratio:1.6; }
}
@media(max-width:700px) {
 .project-compact .project-compact-heading h2,.project-compact-contact h2 { font-size:36px; }
 .project-possibility-grid,.project-compact-details { grid-template-columns:1fr; gap:24px; }
 .project-compact-process { grid-template-columns:1fr; gap:12px; }
 .project-compact-contact .project-two { gap:32px; }
 .project-compact .project-controls { grid-template-columns:1fr; gap:24px; }
 .project-compact .project-controls .project-control-pair { grid-template-columns:1fr 1fr; gap:12px; }
 .project-compact .project-tones { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
