/* Products: application imagery and copy in separate, readable surfaces. */
.products-overview-hero h1{font-size:clamp(40px,5vw,72px);max-width:24ch}
.phero:has(>img[src="img/ig/07-mallikivikuutiot.jpg"]) .lede{max-width:80ch}
.stone-info-link{color:#fff;text-decoration:underline;text-underline-offset:5px;font-weight:600}
.phero:has(>img[src="img/ig/07-mallikivikuutiot.jpg"])::after{background:linear-gradient(90deg,rgba(20,25,24,.8),rgba(20,25,24,.58) 52%,rgba(20,25,24,.35)),linear-gradient(0deg,rgba(20,25,24,.6),transparent 75%)}
.product-lead {padding:110px 0 52px;background:var(--tint)}
.product-lead-grid {display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,76px);align-items:center}
.product-lead figure {margin:0;overflow:hidden;border-radius:16px}
.product-lead figure img {display:block;width:100%;aspect-ratio:5/4;object-fit:cover}
.product-lead h1 {font-size:clamp(36px,4.3vw,64px);line-height:1.08;letter-spacing:-.035em;margin:22px 0;overflow-wrap:normal;text-wrap:balance}
.product-lead h1 em {font-family:var(--serif);font-weight:500;letter-spacing:-.02em}
.product-lede {color:#46514e;font-size:16px;line-height:1.8;max-width:46ch;margin:0 0 28px}
.product-category-grid,.product-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.product-category,.product-item {min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg)}
.product-category figure,.product-photo {margin:0}
.product-category figure img,.product-photo>img {display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.product-category figcaption,.product-photo figcaption {font-size:12px;line-height:1.6;color:var(--mute);padding:12px 28px 0}
.product-category>div,.product-item-copy {padding:24px 28px 30px}
.product-category h3,.product-item h2 {font-size:clamp(24px,2.2vw,30px);line-height:1.2;margin-bottom:14px;letter-spacing:-.02em}
.product-category p,.product-item p {font-size:15px;line-height:1.8;color:#46514e}
.product-category .textlink {display:inline-block;margin-top:20px}
.product-item .spec {font-size:13px;gap:8px 16px;grid-template-columns:90px minmax(0,1fr);margin-top:22px}
.product-detail {display:block;width:112px;height:88px;object-fit:cover;border-radius:8px;margin-top:20px}
.product-catalog {padding-top:20px}
.product-grid>article,.product-blanks {scroll-margin-top:96px}
.product-blanks-grid {display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.product-blanks figure {margin:0}
.product-blanks figure img {display:block;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:16px}
.product-blanks figcaption {color:var(--mute);font-size:12px;line-height:1.6;margin-top:12px}
.product-blanks .h2 {font-size:clamp(30px,3vw,44px);margin:18px 0}
.product-blanks p:not(.kicker),.product-blanks ul {font-size:15px;line-height:1.8;color:#46514e}
.product-blanks ul {padding-left:19px;margin:20px 0 26px}
.product-process .head {align-items:start}
.product-process .head .h2 {max-width:600px}
.product-process .head>p {font-size:15px;line-height:1.8}
.product-process-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.product-process-grid article {border-top:1px solid var(--line);padding-top:24px}
.product-process-grid span {color:var(--accent);font:italic 24px var(--serif)}
.product-process-grid h3 {font-size:19px;line-height:1.3;margin:12px 0}
.product-process-grid p {color:#46514e;font-size:14px;line-height:1.8}
.product-process .actions {margin-top:32px}
@media(max-width:900px) {
  .product-lead h1 {font-size:40px}
  .product-lead-grid {gap:32px;grid-template-columns:1fr 1fr}
  .product-lead figure img {aspect-ratio:4/5}
  .product-category-grid,.product-grid {gap:24px}
  .product-blanks-grid {grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:640px) {
  .product-lead {padding:94px 0 36px}
  .product-lead-grid,.product-category-grid,.product-grid,.product-blanks-grid,.product-process-grid {grid-template-columns:1fr;gap:28px}
  .product-lead figure img {aspect-ratio:16/10}
  .product-lead h1 {font-size:38px;margin:16px 0}
  .product-lead .kicker {font-size:10px}
  .product-lede {font-size:14px;line-height:1.75;margin-bottom:22px}
  .product-category>div,.product-item-copy {padding:22px}
  .product-category figcaption,.product-photo figcaption {padding-inline:22px}
  .product-category p,.product-item p {font-size:14px}
  .product-process .head .h2 {font-size:32px}
  .product-blanks figure img {aspect-ratio:16/10}
}

.product-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.product-evidence-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.product-evidence-grid h3{font-size:20px;line-height:1.3;margin:20px 0 12px}
.product-evidence-grid p{color:#46514e;font-size:14px;line-height:1.8}
@media(max-width:640px){.product-evidence-grid{grid-template-columns:1fr;gap:36px}}

#product-content{scroll-margin-top:90px}
.product-photo-grid{display:grid;height:300px;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);gap:3px;overflow:hidden}
.product-photo-grid:has(img:nth-child(2)){grid-template-columns:1.6fr 1fr}
.product-photo-grid img{display:block;width:100%;height:100%;object-fit:cover;min-width:0;min-height:0}
@media(max-width:640px){.product-photo-grid{height:220px}}

/* Kerb guide shares the product typography and page palette. */
.kerb-guide{max-width:1080px}.kerb-section{margin-bottom:42px}.kerb-section p{max-width:85ch;line-height:1.8}.kerb-section .h2{font-size:clamp(26px,3vw,40px);margin-bottom:18px}.kerb-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0 48px}.kerb-profiles article{border:1px solid var(--line,#dedbd5);border-radius:16px;padding:26px}.kerb-profiles h3{font-size:23px;line-height:1.3;margin:12px 0}.kerb-profiles p{line-height:1.7}.kerb-size{font-size:14px;font-weight:600;border-top:1px solid #dedbd5;padding-top:18px}.kerb-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.kerb-gallery figure{margin:0}.kerb-gallery img{width:100%;height:360px;object-fit:cover;border-radius:16px}.kerb-gallery figcaption{padding-top:12px;font-size:14px;color:#65706a}.kerb-source{margin-top:35px;color:#65706a;font-size:14px;line-height:1.8}.kerb-card-link{display:inline-block;margin-top:22px}.product-item h2 a{color:inherit;text-decoration:none}.product-item h2 a:hover{text-decoration:underline}.product-item>a{display:block}.product-item a:focus-visible{outline:3px solid #ae714e;outline-offset:4px}
@media(max-width:760px){.kerb-profiles,.kerb-gallery{grid-template-columns:1fr}.kerb-gallery img{height:280px}.kerb-profiles article{padding:24px}.kerb-section{margin-bottom:32px}}

.attachment-field .file-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:145px;padding:24px;border:1px dashed #9baba3;border-radius:12px;background:rgba(255,255,255,.55);color:#263e34;text-align:center;cursor:pointer}.file-drop span{text-decoration:underline;text-underline-offset:4px}.attachment-field .file-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-drop:focus-within,.attachment-field .file-drop.dragging{outline:2px solid #a87650;outline-offset:3px;background:#fff}.file-help{font-size:13px;line-height:1.6;margin:10px 0 0;color:#607169}.file-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.file-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ddd7ce;padding:12px 0;font-size:14px}.file-list span{overflow-wrap:anywhere;min-width:0}.file-list button{border:1px solid #a9b1aa;border-radius:20px;padding:5px 12px;background:transparent;color:inherit;cursor:pointer;flex-shrink:0}.file-error{font-size:13px;line-height:1.6;color:#9f352c;margin:0}.file-error:empty{display:none}

.kerb-epd{margin:0 0 48px}.kerb-epd .pill{height:auto;min-height:46px;padding:12px 20px;line-height:1.4;gap:8px;max-width:100%;border-radius:5px;white-space:normal;flex-wrap:wrap}
.kerb-section p+p,.kerb-profile-body p+p{margin-top:18px}
.kerb-profiles{grid-template-columns:1fr;gap:24px}
.kerb-profiles article{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);gap:36px;padding:32px}
.kerb-profile-heading .kicker{font-size:11px;letter-spacing:.09em}
.kerb-profiles .kerb-size{font-size:13px;overflow-wrap:anywhere}
.kerb-profile-body p{margin:0}
@media(max-width:760px){.kerb-profiles article{grid-template-columns:1fr;gap:20px;padding:24px}}
