.cph-catalog-shell{background:#f2f0ea;color:#171717;margin:0;padding:92px 0 96px}
.cph-catalog-wrap{max-width:1340px;margin:0 auto;padding:0 34px}
.cph-catalog-eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#6c6962}
.cph-catalog-shell h1{font-size:clamp(48px,6vw,86px);line-height:.98;letter-spacing:-.035em;margin:14px 0 26px;max-width:1050px}
.cph-catalog-lead{font-size:21px;line-height:1.62;color:#3f3d38;max-width:900px;margin:0 0 60px}
.cph-catalog-list{border-top:1px solid #c8c4ba}
.cph-catalog-row{display:grid;grid-template-columns:90px minmax(260px,.85fr) minmax(0,1.15fr);gap:28px;padding:32px 0;border-bottom:1px solid #c8c4ba;align-items:start}
.cph-catalog-num{font-size:13px;letter-spacing:.14em;color:#6c6962;padding-top:7px}
.cph-catalog-title{font-size:clamp(26px,2.3vw,34px);line-height:1.1;margin:0}
.cph-catalog-title a{color:inherit;text-decoration:none}
.cph-catalog-title a:hover{text-decoration:underline;text-underline-offset:5px}
.cph-catalog-desc{font-size:16px;line-height:1.65;color:#5d5a54;margin:0 0 18px}
.cph-catalog-children{display:flex;flex-wrap:wrap;gap:9px 10px}
.cph-catalog-child-group{display:flex;flex-direction:column;align-items:flex-start}.cph-catalog-child{display:inline-block;border:1px solid #aaa59b;padding:9px 12px;text-decoration:none;color:#171717;font-size:14px;line-height:1.2;background:transparent}
.cph-catalog-child:hover{background:#171717;color:#fff;border-color:#171717}
.cph-catalog-grandchildren{display:block;margin-top:8px;font-size:13px;color:#6c6962;line-height:1.55}
.cph-catalog-grandchildren a{color:inherit;text-underline-offset:3px}
.cph-catalog-products{background:#f2f0ea;padding:0 0 96px}
.cph-catalog-products>.wp-block-group,.cph-catalog-products>.wp-block-query{max-width:1340px;margin-left:auto;margin-right:auto;padding-left:34px;padding-right:34px}
.cph-catalog-products .wp-block-post-template{gap:0!important}
.cph-catalog-products .wp-block-post{padding:28px 0;border-top:1px solid #c8c4ba}
.cph-catalog-products .wp-block-post:last-child{border-bottom:1px solid #c8c4ba}
.cph-catalog-products .wp-block-post-title{font-size:28px;margin:0 0 10px}
.cph-catalog-products .wp-block-post-title a{text-decoration:none}
.cph-catalog-products .wp-block-post-excerpt{color:#5d5a54}
@media(max-width:800px){.cph-catalog-shell{padding:68px 0 72px}.cph-catalog-wrap{padding:0 26px}.cph-catalog-row{grid-template-columns:46px 1fr;gap:14px}.cph-catalog-row>div:last-child{grid-column:2}.cph-catalog-products>.wp-block-group,.cph-catalog-products>.wp-block-query{padding-left:26px;padding-right:26px}}

/* Single product editorial layout */
.cph-product-page{background:#f2f0ea;color:#171717;margin:0}
.cph-product-hero{background:#e9e6de;padding:86px 34px 74px;border-bottom:1px solid #cbc6bb}
.cph-product-hero>.wp-block-group{max-width:1340px;margin-left:auto;margin-right:auto}
.cph-product-eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#6c6962;margin:0 0 14px}
.cph-product-hero .wp-block-post-title{font-size:clamp(48px,6vw,86px);line-height:.98;letter-spacing:-.035em;margin:0 0 22px;max-width:1050px}
.cph-product-hero .wp-block-post-excerpt{font-size:21px;line-height:1.62;color:#3f3d38;max-width:880px}
.cph-product-family{margin-top:22px;font-size:14px;color:#5d5a54}
.cph-product-family a{color:inherit;text-underline-offset:4px}
.cph-product-body{max-width:1100px!important;margin:0 auto!important;padding:76px 34px 100px!important}
.cph-product-editorial{font-size:18px;line-height:1.72}
.cph-product-editorial .cph-product-lead{font-size:23px;line-height:1.62;color:#3f3d38;margin-bottom:48px}
.cph-product-editorial h2,.cph-technical-data h2,.cph-related-documents h2,.cph-related-systems h2{font-size:clamp(30px,3vw,44px);line-height:1.08;letter-spacing:-.02em;margin-top:64px;margin-bottom:22px}
.cph-product-editorial ul{padding-left:1.3em}
.cph-technical-data{margin-top:62px;padding-top:10px;border-top:1px solid #c8c4ba}
.cph-technical-data table{width:100%;border-collapse:collapse;font-size:16px}
.cph-technical-data th,.cph-technical-data td{padding:16px 8px;border-bottom:1px solid #d3cfc5;vertical-align:top;text-align:left}
.cph-technical-data th{width:42%;font-weight:650}
.cph-technical-data td{color:#4d4a44}
.cph-review-status{font-size:13px;color:#6c6962}
@media(max-width:800px){.cph-product-hero{padding:62px 26px 56px}.cph-product-body{padding:58px 26px 78px!important}.cph-product-editorial .cph-product-lead{font-size:20px}.cph-technical-data th,.cph-technical-data td{display:block;width:100%;padding-left:0;padding-right:0}.cph-technical-data th{padding-bottom:5px;border-bottom:0}.cph-technical-data td{padding-top:0}}


/* Product family taxonomy — editorial hierarchy first, products second */
.cph-family-page{background:#f2f0ea;color:#171717;margin:0}
.cph-family-wrap{max-width:1340px;margin:0 auto;padding-left:34px;padding-right:34px}
.cph-family-hero{padding:82px 0 76px;background:#ebe8e0;border-bottom:1px solid #cbc6bb}
.cph-family-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:#6c6962;margin-bottom:38px}
.cph-family-breadcrumb a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.cph-family-breadcrumb a:hover{border-bottom-color:currentColor}
.cph-family-sep{color:#a29d92}
.cph-family-eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#6c6962}
.cph-family-hero h1{font-size:clamp(48px,6vw,86px);line-height:.98;letter-spacing:-.035em;margin:14px 0 24px;max-width:1100px}
.cph-family-lead{font-size:21px;line-height:1.62;color:#3f3d38;max-width:930px;margin:0}
.cph-family-section{padding:88px 0;border-bottom:1px solid #d3cfc5}
.cph-family-section-title{font-size:clamp(34px,3.8vw,58px);line-height:1.06;letter-spacing:-.025em;margin:12px 0 44px;max-width:900px}
.cph-family-child-list,.cph-family-products{border-top:1px solid #c8c4ba}
.cph-family-child-row{display:grid;grid-template-columns:70px minmax(240px,.8fr) minmax(160px,.35fr);gap:28px;padding:28px 0;border-bottom:1px solid #c8c4ba;align-items:start}
.cph-family-child-num,.cph-family-product-num{font-size:13px;letter-spacing:.14em;color:#6c6962;padding-top:7px}
.cph-family-child-row h2{font-size:clamp(26px,2.3vw,34px);line-height:1.12;margin:0 0 12px}
.cph-family-child-row h2 a,.cph-family-product-row h3 a{color:inherit;text-decoration:none}
.cph-family-child-row h2 a:hover,.cph-family-product-row h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.cph-family-child-row p,.cph-family-product-row p{font-size:16px;line-height:1.62;color:#5d5a54;margin:0;max-width:760px}
.cph-family-child-cta,.cph-family-product-cta{justify-self:end;padding-top:7px}
.cph-family-child-cta a,.cph-family-product-cta a,.cph-family-support-link{font-weight:700;color:#171717;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.cph-family-grandchildren{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.cph-family-grandchildren a{font-size:13px;color:#171717;text-decoration:none;border:1px solid #aaa59b;padding:8px 10px}
.cph-family-grandchildren a:hover{background:#171717;color:#fff;border-color:#171717}
.cph-family-product-row{display:grid;grid-template-columns:70px minmax(0,1fr) 150px;gap:28px;padding:28px 0;border-bottom:1px solid #c8c4ba;align-items:start}
.cph-family-product-row h3{font-size:clamp(25px,2.2vw,32px);line-height:1.12;margin:0 0 11px}
.cph-family-product-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.cph-family-product-tags span{font-size:12px;color:#6c6962;border:1px solid #bbb6ab;padding:6px 8px}
.cph-family-empty{max-width:780px;padding:26px 0 6px;font-size:17px;line-height:1.6;color:#4f4b44}
.cph-family-support{padding:82px 0 90px;background:#e7e3d9}
.cph-family-support-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.cph-family-support h2{font-size:clamp(32px,3.7vw,54px);line-height:1.06;letter-spacing:-.025em;margin:12px 0 0}
.cph-family-support p{font-size:18px;line-height:1.65;color:#4b4842;margin:0 0 26px;max-width:720px}
@media(max-width:800px){.cph-family-wrap{padding-left:26px;padding-right:26px}.cph-family-hero{padding:60px 0 58px}.cph-family-section{padding:64px 0}.cph-family-child-row,.cph-family-product-row{grid-template-columns:44px 1fr;gap:14px}.cph-family-child-cta,.cph-family-product-cta{grid-column:2;justify-self:start}.cph-family-support-grid{grid-template-columns:1fr;gap:34px}.cph-family-support{padding:62px 0 70px}}

.cph-painting-service{max-width:1100px;margin:3rem auto;padding:clamp(1.25rem,4vw,3rem);background:#f1f6f3;border-left:4px solid #176846;border-radius:12px;box-sizing:border-box}.cph-painting-service h2{margin-top:0}.cph-contact-block input:not([type=checkbox]),.cph-contact-block textarea,.cph-contact-block select{max-width:100%;box-sizing:border-box}.cph-contact-block input[type=file]{width:100%}

/* 2.2.11: retain the catalogue layout on small screens. */
.cph-stiferite-catalog .cph-family-product-main{min-width:0;overflow-wrap:anywhere}
/* 2.2.12: the page template must not constrain the catalogue to the prose column. */
.wp-block-post-content > .cph-stiferite-catalog{max-width:none;width:100%;box-sizing:border-box}
.cph-contact-block .cf-turnstile{max-width:100%;margin:16px 0}
@media(max-width:480px){.cp-home-final .cp-wrap{padding-left:20px;padding-right:20px}.cp-home-final .cp-hero-inner{padding:64px 20px}.cp-home-final .cp-hero h1{font-size:42px;overflow-wrap:anywhere}.cp-home-final .cp-course-stack{grid-template-columns:1fr}.cph-family-wrap{padding-left:20px;padding-right:20px}}

/* 2.2.13: exact original text with responsive document layout. */
.cph-source-original{max-width:100%;font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.cph-source-original p{margin:0 0 1em;white-space:normal}
.cph-source-original h2{font-size:clamp(20px,3vw,30px);line-height:1.25;margin:1.5em 0 .65em}
.cph-source-original table{width:100%;border-collapse:collapse;table-layout:fixed}
.cph-source-original td{padding:10px;vertical-align:top;border-bottom:1px solid #d8d4c9;background:#f2f0ea;overflow-wrap:anywhere}
.cph-source-original td p{margin:0 0 .4em}
.cph-source-table-wrap{max-width:100%;overflow-x:auto}
.cph-source-original sup,.cph-source-original sub{font-size:.75em;line-height:0}
.cph-source-download{margin:2rem 0}.cph-source-status{padding:1.5rem;border-left:4px solid #67614d;background:#f2f0ea}
#cph-course-sheets-2213{margin:2rem 0}#cph-course-sheets-2213 li{margin:.45rem 0}
@media(max-width:480px){.cph-source-original{font-size:15px}.cph-source-original td{padding:6px}}
