/* ===== assets/css/source/styles.css ===== */
:root{--ink:#162521;--cream:#f5f1e9;--paper:#fffdfa;--clay:#bd694f;--sage:#7d927f;--sand:#ded2c0;--line:#d9d7cf;--muted:#68716d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Microsoft YaHei",sans-serif;font-size:16px;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.utility{background:var(--ink);color:#fff;font-size:12px;letter-spacing:.08em}.utility .wrap{height:34px;display:flex;justify-content:space-between;align-items:center}.header{height:88px;background:rgba(255,253,250,.96);border-bottom:1px solid #e9e5dc;display:flex;align-items:center}.header .wrap{display:grid;grid-template-columns:220px 1fr 200px;align-items:center}.logo{font:700 27px Georgia,serif;letter-spacing:.16em}.logo small{display:block;font:9px Arial,sans-serif;letter-spacing:.24em;color:var(--muted)}.nav{display:flex;justify-content:center;gap:32px;font-size:14px}.actions{display:flex;justify-content:flex-end;align-items:center;gap:20px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 23px;background:var(--ink);color:#fff;font-size:12px;font-weight:bold;letter-spacing:.09em;text-transform:uppercase;border:1px solid var(--ink)}.button.light{background:#fff;color:var(--ink)}.button.clay{background:var(--clay);border-color:var(--clay)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;font-weight:bold;color:var(--clay)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.06}h1{font-size:72px;letter-spacing:-.035em;margin-bottom:27px}h2{font-size:50px;letter-spacing:-.025em;margin-bottom:22px}.lead{font-size:18px;color:#58635f;max-width:590px}.hero{background:var(--cream);min-height:700px;position:relative;overflow:hidden}.hero .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;padding:82px 0}.hero-copy{padding-bottom:40px}.hero-copy .eyebrow{margin-bottom:24px}.hero-note{display:flex;gap:34px;margin-top:42px;font-size:12px;color:#4d5b56}.hero-note span{padding-left:17px;border-left:2px solid var(--clay)}.collage{height:536px;position:relative}.collage .main{position:absolute;width:73%;height:480px;right:0;top:0}.collage .small{position:absolute;width:36%;height:236px;left:0;bottom:0;border:10px solid var(--cream)}.collage .stamp{position:absolute;left:3%;top:19%;width:128px;height:128px;border-radius:50%;background:var(--clay);color:#fff;display:grid;place-content:center;text-align:center;font:italic 16px Georgia,serif;transform:rotate(-9deg);letter-spacing:.04em}.trust{border-bottom:1px solid var(--line)}.trust .wrap{height:92px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;text-align:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.trust div+div{border-left:1px solid var(--line)}section{padding:105px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.section-head p{max-width:460px;color:var(--muted);margin-bottom:8px}.product-mosaic{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:310px 310px;gap:18px}.tile{position:relative;overflow:hidden;background:#eee}.tile:first-child{grid-row:span 2}.tile:last-child{grid-column:span 2}.tile:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(9,22,18,.68))}.tile-copy{position:absolute;left:28px;bottom:23px;color:white;z-index:2}.tile-copy h3{font:400 26px Georgia,serif;margin:0}.tile-copy span{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.story{background:#e8e0d3}.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.story-images{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:190px 310px;gap:14px}.story-images img:first-child{grid-column:span 2}.ticks{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:38px 0}.ticks div{font-size:13px;padding:14px 0;border-top:1px solid rgba(22,37,33,.24)}.material{background:var(--ink);color:white}.material .section-head p{color:#bdc6c2}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.swatch{height:265px;padding:26px;display:flex;align-items:flex-end;font:18px Georgia,serif;color:var(--ink)}.process{counter-reset:step}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:45px}.step{counter-increment:step;padding-top:22px;border-top:1px solid #aeb3b0}.step:before{content:"0" counter(step);display:block;color:var(--clay);font:36px Georgia,serif;margin-bottom:46px}.step h3{font:22px Georgia,serif}.step p{font-size:13px;color:var(--muted)}.proof{padding:0;background:var(--cream)}.proof-grid{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.proof-photo{min-height:620px}.proof-copy{padding:95px 90px;display:flex;flex-direction:column;justify-content:center}.metrics{display:grid;grid-template-columns:1fr 1fr;margin-top:28px}.metric{padding:25px 0;border-top:1px solid #cfc9bf}.metric strong{font:34px Georgia,serif;display:block}.metric span{font-size:12px;color:var(--muted)}.quote{background:var(--clay);color:white}.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.quote h2{color:white}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{background:rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.65);padding:17px;color:white;font-size:13px}.field.wide{grid-column:span 2;height:90px}.form .button{margin-top:13px;width:190px}.footer{background:#101d19;color:#dce3df;padding:78px 0 28px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:60px;margin-bottom:70px}.footer h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#82928b;margin:0 0 18px}.footer a,.footer p{display:block;font-size:13px;margin:0 0 9px;color:#ced7d2}.copyright{border-top:1px solid #30403a;padding-top:22px;font-size:11px;color:#82928b;display:flex;justify-content:space-between}
/* detail */.detail-hero{padding:70px 0 95px;background:var(--cream)}.crumb{font-size:11px;letter-spacing:.1em;color:var(--muted);margin-bottom:34px}.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:66px}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:275px 275px;gap:14px}.gallery .large{grid-row:span 2}.product-info{padding:16px 0}.product-info h1{font-size:57px;margin-top:14px}.spec-list{margin:33px 0}.spec{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #cfc9bf;font-size:13px}.spec span{color:var(--muted)}.detail-nav{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center}.detail-nav .wrap{display:flex;justify-content:center;gap:60px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.editorial{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.editorial-photo{height:600px}.fold-layout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.fold{position:relative;height:390px}.fold span{position:absolute;left:20px;bottom:18px;background:white;padding:8px 13px;font:15px Georgia,serif}.applications{display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:14px;height:430px}.related{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:16px;height:400px}.caption{font-size:12px;text-transform:uppercase;letter-spacing:.13em;margin-top:12px}.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}@media(max-width:900px){.wrap{width:calc(100% - 40px)}.nav{display:none}.header .wrap{grid-template-columns:1fr auto}.hero .wrap,.story-grid,.proof-grid,.quote-grid,.detail-grid,.editorial{grid-template-columns:1fr}.product-mosaic{grid-template-columns:1fr 1fr}.product-mosaic .tile:first-child{grid-row:auto}.product-mosaic .tile:last-child{grid-column:span 2}.steps,.swatches{grid-template-columns:1fr 1fr}h1{font-size:54px}.footer-grid{grid-template-columns:1fr 1fr}}


/* ===== assets/css/source/site-pages.css ===== */
.subhero{padding:92px 0;background:var(--cream);overflow:hidden}.subhero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}.subhero h1{font-size:66px}.subhero-media{height:500px;display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.subhero-stack{display:grid;gap:14px}.darkband{background:var(--ink);color:#fff;padding:86px 0}.darkband p{color:#bfc9c4}.catalog{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.catalog-card{position:relative;min-height:390px;overflow:hidden}.catalog-card:nth-child(1){grid-column:span 7}.catalog-card:nth-child(2){grid-column:span 5}.catalog-card:nth-child(3){grid-column:span 5}.catalog-card:nth-child(4){grid-column:span 7}.catalog-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,25,20,.74))}.catalog-copy{position:absolute;left:28px;bottom:24px;color:#fff;z-index:2}.catalog-copy h3{font:30px Georgia,serif;margin:0}.icon-row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.icon-item{padding:30px 0;border-top:1px solid var(--line)}.icon-item b{display:block;font:24px Georgia,serif;margin:12px 0}.editorial-cards{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:18px}.editorial-card img{height:370px}.editorial-card:nth-child(2) img{height:290px}.editorial-card:nth-child(3) img{height:445px}.editorial-card h3{font:24px Georgia,serif;margin:18px 0 8px}.editorial-card p{font-size:13px;color:var(--muted)}.feature-split{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.feature-split>div:not(.feature-img){padding:90px}.feature-img{min-height:600px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.timeline div{padding:28px;border-left:1px solid var(--clay)}.timeline strong{font:32px Georgia,serif;color:var(--clay)}.faq-list{max-width:920px;margin:auto}.faq-item{display:grid;grid-template-columns:1fr 40px;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.faq-item h3{font:21px Georgia,serif;margin:0}.big-number{font:96px Georgia,serif;color:var(--sand);line-height:1}.application-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:14px}.application-grid img:first-child{grid-row:span 2}.application-grid img:last-child{grid-column:span 2}.page-intro{max-width:760px;margin-bottom:58px}.page-intro h2{max-width:700px}@media(max-width:900px){.subhero-grid,.feature-split{grid-template-columns:1fr}.catalog-card{grid-column:span 12!important}.icon-row,.timeline{grid-template-columns:1fr 1fr}.editorial-cards{grid-template-columns:1fr}.subhero-media{height:400px}}


/* ===== assets/css/source/refinement-v3.css ===== */
/* V3 audit corrections: one typography scale, shorter sections, page-specific rhythm */
:root{--font-display:Georgia,"Times New Roman",serif;--font-body:Arial,"Microsoft YaHei",sans-serif}
body{font-family:var(--font-body);font-size:16px;color:var(--ink)}
h1,h2,h3,.logo{font-family:var(--font-display);color:var(--ink);font-weight:400}
h1,.hero h1,.subhero h1,.product-info h1{font-size:clamp(48px,4.5vw,64px);line-height:1.06;letter-spacing:-.035em}
h2{font-size:clamp(36px,3.2vw,46px);line-height:1.09;letter-spacing:-.025em}
h3,.tile-copy h3,.catalog-copy h3,.editorial-card h3{font-size:22px;line-height:1.2;font-weight:400}
.darkband h1,.darkband h2,.darkband h3,.material h1,.material h2,.material h3,.quote h1,.quote h2,.quote h3,.footer .logo{color:#fff}
.eyebrow{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--clay)}
section{padding:74px 0}.hero{min-height:auto;padding:0}.hero .wrap{padding:54px 0}.collage{height:430px}.collage .main{height:390px}.collage .small{height:205px}.subhero{padding:54px 0}.subhero-media{height:390px}.editorial-photo{height:430px}.feature-split{min-height:440px}.feature-img,.proof-photo{min-height:440px}.proof-grid{min-height:440px}.proof-copy{padding:62px 68px}.darkband{padding:66px 0}.quote{padding:64px 0}.footer{padding-top:60px}.product-mosaic{grid-template-rows:220px 220px}.swatch{height:200px}.fold{height:300px}.applications{height:330px}.application-grid{grid-template-rows:190px 190px}.editorial-card img{height:285px}.editorial-card:nth-child(2) img{height:235px}.editorial-card:nth-child(3) img{height:325px}.detail-hero{padding:52px 0}.gallery{grid-template-rows:230px 230px}.detail-grid{gap:56px}.product-info h1{margin-bottom:18px}.spec-list{margin:24px 0}
.micro-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.micro-proof>div{background:var(--paper);padding:28px;color:var(--ink)}.micro-proof b{font:22px var(--font-display);display:block;margin-bottom:8px;color:var(--ink)}.micro-proof p{font-size:13px;color:var(--muted);margin:0}
.image-rail{display:grid;grid-template-columns:1.4fr .8fr 1fr .7fr;gap:12px;height:300px}.image-rail img:nth-child(2){margin-top:40px;height:220px}.image-rail img:nth-child(4){margin-top:65px;height:190px}
.choice-table{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.choice-table>div{padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:150px}.choice-table strong{display:block;font:21px var(--font-display);margin:10px 0}.choice-table span{font-size:11px;color:var(--clay);letter-spacing:.12em}.choice-table p{font-size:13px;color:var(--muted)}
.process-ribbon{display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.process-ribbon div{padding:22px 18px;border-bottom:2px solid var(--sand);position:relative}.process-ribbon div:after{content:"";position:absolute;right:-5px;bottom:-6px;width:10px;height:10px;border-radius:50%;background:var(--clay)}.process-ribbon b{font:19px var(--font-display)}.process-ribbon small{display:block;color:var(--muted);margin-top:5px}
/* Product directory: catalog-led, compact hero */
body.page-products .subhero{background:#e9e1d5}body.page-products .subhero-grid{grid-template-columns:.72fr 1.28fr}body.page-products .catalog{grid-template-columns:repeat(4,1fr);align-items:start}body.page-products .catalog-card{grid-column:auto!important;grid-row:auto!important;min-height:390px!important}body.page-products .catalog-card:nth-child(2),body.page-products .catalog-card:nth-child(4){margin-top:34px}body.page-products .darkband{background:#263631}
/* Custom solutions: atelier / specification-board feeling */
body.page-custom .subhero{background:var(--paper)}body.page-custom .subhero-grid{grid-template-columns:1fr 1fr}body.page-custom .subhero-media{transform:rotate(-1deg);padding:16px;background:#efe8dc}body.page-custom .editorial-cards{grid-template-columns:1.1fr .75fr .95fr;align-items:start}body.page-custom .story{background:#dfe4dc}
/* Manufacturing: dark opening and horizontal factory rhythm */
body.page-manufacturing .subhero{background:var(--ink);color:#fff}body.page-manufacturing .subhero h1,body.page-manufacturing .subhero .lead{color:#fff}body.page-manufacturing .subhero-media{height:390px}body.page-manufacturing .darkband{background:#d9cbbb;color:var(--ink)}body.page-manufacturing .darkband h2{color:var(--ink)}body.page-manufacturing .darkband p{color:#4f5b56}
/* About: reversed editorial opening, softer storytelling */
body.page-about .subhero{background:#ece4d7}body.page-about .subhero-grid{grid-template-columns:1.15fr .85fr}body.page-about .subhero-grid>div:first-child{order:2;padding-left:30px}body.page-about .subhero-media{order:1;height:450px}body.page-about .story{background:#f3eee6}
/* Quality: precise and technical without factory-template repetition */
body.page-quality .subhero{background:#fff}body.page-quality .subhero-grid{grid-template-columns:.9fr 1.1fr}body.page-quality .subhero-media{grid-template-columns:1fr 1fr;height:350px}body.page-quality .darkband{background:#1d2b27}body.page-quality .steps{gap:24px}body.page-quality .step{background:rgba(255,255,255,.04);padding:24px}body.page-quality .step:before{margin-bottom:22px}body.page-quality .feature-split{min-height:400px}body.page-quality .feature-img{min-height:400px}
/* Resources: magazine-index layout */
body.page-resources .subhero{text-align:center;background:#edf0eb}body.page-resources .subhero-grid{display:block}body.page-resources .subhero-grid>div:first-child{max-width:780px;margin:auto}body.page-resources .subhero-media{height:240px;margin-top:36px;grid-template-columns:1.4fr .8fr}body.page-resources .editorial-cards{grid-template-columns:1.25fr .8fr .8fr}body.page-resources .editorial-card:first-child img{height:320px}
/* Quote: form is the content; no repeated CTA after it */
body.page-quote .subhero{background:#e8ded0}body.page-quote .subhero-grid{grid-template-columns:.8fr 1.2fr}body.page-quote main>.quote{display:none}
body.page-home main>section:nth-of-type(2){padding:58px 0}body.page-home .product-mosaic{grid-template-rows:205px 205px}
body.page-products main>section:nth-of-type(2){padding:54px 0}body.page-products .catalog-card{min-height:350px!important}
body.page-quality main>section:nth-of-type(3){padding:58px 0}body.page-quality .feature-split{min-height:360px}body.page-quality .feature-img{min-height:360px}body.page-quality .feature-split>div:not(.feature-img){padding:48px!important}
/* Product pages gain individual visual personalities while retaining product UX */
body.detail-woven .material{background:#172722}body.detail-woven .editorial{grid-template-columns:.8fr 1.2fr}
body.detail-care .detail-hero{background:#edf0ec}body.detail-care .material{background:#596963}body.detail-care .fold-layout{grid-template-columns:1.2fr .8fr 1fr}body.detail-care .editorial{grid-template-columns:1.15fr .85fr}body.detail-care .editorial>div:first-child{order:2}body.detail-care .editorial-photo{order:1;height:420px}body.detail-care .applications{height:310px;grid-template-columns:.8fr 1.4fr .8fr}
body.detail-patch .detail-hero{background:#e5ddd0}body.detail-patch .gallery{transform:rotate(-.5deg)}body.detail-patch .material{background:#202f2b}body.detail-patch .fold-layout{grid-template-columns:.8fr 1.25fr .95fr}body.detail-patch .editorial{grid-template-columns:1fr 1fr}body.detail-patch .editorial-photo{height:430px;border-radius:220px 220px 0 0;overflow:hidden}body.detail-patch .applications{height:330px;grid-template-columns:1.3fr .9fr .8fr}
body.detail-tag .detail-hero{background:#f1e8dc}body.detail-tag .material{background:#3a4541}body.detail-tag .fold-layout{grid-template-columns:1.25fr .8fr .95fr}body.detail-tag .applications{grid-template-columns:1.4fr .8fr 1fr}body.detail-tag .editorial{grid-template-columns:1.2fr .8fr}body.detail-tag .editorial-photo{height:500px;transform:rotate(1.5deg);box-shadow:18px 18px 0 #dfd1be}
body.detail-care section:has(.steps){background:#edf0ec}body.detail-care .steps{grid-template-columns:1fr 1fr;max-width:960px;margin-left:auto!important;margin-right:auto}body.detail-care .step{display:grid;grid-template-columns:80px 1fr;column-gap:22px;padding:24px;border:1px solid #cfd7d1}body.detail-care .step:before{grid-row:span 2;margin:0;font-size:46px}
body.detail-patch section:has(.steps){background:#1d2b27;color:#fff}body.detail-patch section:has(.steps) h2,body.detail-patch section:has(.steps) h3{color:#fff}body.detail-patch section:has(.steps) .step p{color:#bac5c0}body.detail-patch .step{border-color:#63716b}
body.detail-tag section:has(.steps){background:#eee4d7}body.detail-tag .steps{gap:0}body.detail-tag .step{padding:24px;border:1px solid #d2c6b7;margin-right:-1px}body.detail-tag .step:before{margin-bottom:18px}
.care-content-map{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.care-content-map img{height:390px}.care-lines>div{padding:18px 0;border-bottom:1px solid #8b9993;display:grid;grid-template-columns:40px 1fr}.care-lines b{font:20px var(--font-display)}
.patch-finish-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}.patch-finish-grid>div{height:350px;position:relative}.patch-finish-grid span,.tag-stock-grid span{position:absolute;left:18px;bottom:16px;background:#fff;padding:7px 11px;font:16px var(--font-display);color:var(--ink)}
.tag-stock-grid{display:grid;grid-template-columns:.85fr 1.3fr .85fr;gap:14px}.tag-stock-grid>div{height:340px;position:relative}.tag-stock-grid>div:nth-child(2){height:390px;margin-top:-25px}
body[class^="detail-"] .story{padding-bottom:96px}body[class^="detail-"] .story+section{padding-top:96px}body[class^="detail-"] section:has(.steps) .center{margin-bottom:34px}body[class^="detail-"] section:has(.steps) .steps{margin-top:0!important}
/* Containment fix: grid images must never retain an intrinsic minimum height and cross into the next section. */
.subhero-media,.subhero-stack,.applications,.image-rail{min-height:0;overflow:hidden}
.subhero-stack{grid-template-rows:repeat(2,minmax(0,1fr))}
.subhero-media>img,.subhero-stack>img,.applications>img,.image-rail>img{min-width:0;min-height:0;max-height:100%;height:100%!important;object-fit:cover;overflow:hidden}
.image-rail>img{height:300px!important;max-height:300px}.image-rail>img:nth-child(2){height:220px!important;max-height:220px}.image-rail>img:nth-child(4){height:190px!important;max-height:190px}
@media(max-width:900px){section{padding:60px 0}.subhero-grid{grid-template-columns:1fr!important}.subhero-grid>div{order:initial!important;padding-left:0!important}.image-rail,.choice-table,.process-ribbon{grid-template-columns:1fr 1fr;height:auto}.image-rail img{height:220px!important;margin:0!important}.micro-proof{grid-template-columns:1fr}.subhero-media{height:360px}}


/* ===== assets/css/source/editorial-v4.css ===== */
/* V4 — replace repeated table/card language with image-led editorial components */

/* Four-option components: arched imagery + staggered captions, no grid borders */
.choice-table{border:0;background:transparent;gap:22px;align-items:start;padding:4px 0 42px}
.choice-table>div{position:relative;border:0!important;background:transparent!important;min-height:330px;padding:210px 12px 12px}
.choice-table>div:nth-child(even){margin-top:38px}
.choice-table>div:before{content:"";position:absolute;left:0;top:0;width:100%;height:188px;background-size:cover;background-position:center;border-radius:140px 140px 8px 8px}
.choice-table>div span{display:block;margin-bottom:8px}.choice-table>div strong{font-size:23px}.choice-table>div p{max-width:240px}
body.page-products .choice-table>div:nth-child(1):before{background-image:url('assets/woven-1.jpg')}body.page-products .choice-table>div:nth-child(2):before{background-image:url('assets/care-1.jpg')}body.page-products .choice-table>div:nth-child(3):before{background-image:url('assets/patch-1.jpg')}body.page-products .choice-table>div:nth-child(4):before{background-image:url('assets/tag-1.jpg')}
body.page-quality .choice-table>div:nth-child(1):before{background-image:url('assets/woven-5.jpg')}body.page-quality .choice-table>div:nth-child(2):before{background-image:url('assets/care-2.jpg')}body.page-quality .choice-table>div:nth-child(3):before{background-image:url('assets/patch-2.jpg')}body.page-quality .choice-table>div:nth-child(4):before{background-image:url('assets/tag-5.jpg')}
body.detail-care .choice-table>div:nth-child(1):before{background-image:url('assets/care-1.jpg')}body.detail-care .choice-table>div:nth-child(2):before{background-image:url('assets/care-2.jpg')}body.detail-care .choice-table>div:nth-child(3):before{background-image:url('assets/care-3.jpg')}body.detail-care .choice-table>div:nth-child(4):before{background-image:url('assets/care-5.jpg')}
body.detail-tag .choice-table>div:nth-child(1):before{background-image:url('assets/tag-1.jpg')}body.detail-tag .choice-table>div:nth-child(2):before{background-image:url('assets/tag-2.jpg')}body.detail-tag .choice-table>div:nth-child(3):before{background-image:url('assets/tag-3.jpg')}body.detail-tag .choice-table>div:nth-child(4):before{background-image:url('assets/tag-5.jpg')}

/* Three-option components: circular material crops with text beside them */
.micro-proof{background:transparent;gap:38px;align-items:start}
.micro-proof>div{position:relative;background:transparent!important;padding:12px 0 10px 142px;min-height:132px;border:0!important}
.micro-proof>div:before{content:"";position:absolute;left:0;top:0;width:116px;height:116px;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 0 0 9px rgba(216,203,185,.34)}
.micro-proof b{font-size:21px}.micro-proof p{font-size:12px}
body.detail-woven .micro-proof>div:nth-child(1):before{background-image:url('assets/woven-1.jpg')}body.detail-woven .micro-proof>div:nth-child(2):before{background-image:url('assets/woven-3.jpg')}body.detail-woven .micro-proof>div:nth-child(3):before{background-image:url('assets/woven-5.jpg')}
body.detail-patch .micro-proof>div:nth-child(1):before{background-image:url('assets/patch-3.jpg')}body.detail-patch .micro-proof>div:nth-child(2):before{background-image:url('assets/patch-1.jpg')}body.detail-patch .micro-proof>div:nth-child(3):before{background-image:url('assets/patch-5.jpg')}
body.page-about .micro-proof>div:nth-child(1):before{background-image:url('assets/tag-3.jpg')}body.page-about .micro-proof>div:nth-child(2):before{background-image:url('assets/woven-3.jpg')}body.page-about .micro-proof>div:nth-child(3):before{background-image:url('assets/patch-3.jpg')}
body.page-about .darkband .micro-proof b{color:#fff}body.page-about .darkband .micro-proof p{color:#bfc9c4}

/* Process components: remove repeated boxes, vary rhythm by page */
.steps{position:relative}.step{position:relative;border:0!important;background:transparent!important;padding:24px 12px 20px!important;z-index:1}.step:after{content:"";position:absolute;left:0;top:8px;width:76px;height:76px;border-radius:50%;background:rgba(189,105,79,.09);z-index:-1}.step:before{position:relative;margin-bottom:28px!important;font-size:46px!important}.steps .step:nth-child(even){margin-top:32px}
body.page-home .steps .step:nth-child(2),body.page-home .steps .step:nth-child(4){margin-top:42px}
body.detail-care .steps{gap:28px}body.detail-care .step{grid-template-columns:70px 1fr!important;padding:20px!important}body.detail-care .step:nth-child(even){margin-top:26px}
body.detail-patch .step:after{background:rgba(189,105,79,.2)}body.detail-tag .steps{gap:22px}body.detail-tag .step:nth-child(even){margin-top:42px}
body.page-quality .step{padding:18px 14px!important}body.page-quality .step:after{background:rgba(189,105,79,.18)}

/* Five-part ribbons become floating editorial markers instead of a ruled diagram */
.process-ribbon{gap:18px;align-items:start}.process-ribbon>div{border:0;padding:74px 10px 12px;min-height:138px;position:relative}.process-ribbon>div:after{display:none}.process-ribbon>div:before{content:"";position:absolute;top:0;left:8px;width:58px;height:58px;border-radius:58% 42% 61% 39%;background:var(--clay);opacity:.9}.process-ribbon>div:nth-child(even){margin-top:28px}.process-ribbon>div:nth-child(2):before{background:var(--sage)}.process-ribbon>div:nth-child(3):before{background:var(--sand)}.process-ribbon>div:nth-child(4):before{background:#9ca9ae}.process-ribbon>div:nth-child(5):before{background:#d5aa97}

/* About and manufacturing lists: lighter editorial dividers */
.icon-item{border:0;padding-top:18px;position:relative}.icon-item:before{content:"";display:block;width:46px;height:4px;background:var(--clay);margin-bottom:24px}.icon-item:nth-child(even){margin-top:28px}
.timeline div{border:0;padding:18px 24px 20px 0}.timeline div:nth-child(even){margin-top:32px}.timeline strong{display:inline-grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--cream);color:var(--clay);margin-bottom:22px}

@media(max-width:900px){.choice-table{grid-template-columns:1fr 1fr}.choice-table>div:nth-child(even){margin-top:0}.micro-proof{grid-template-columns:1fr}.process-ribbon{grid-template-columns:1fr 1fr}.steps .step:nth-child(even),.icon-item:nth-child(even),.timeline div:nth-child(even){margin-top:0}}


/* ===== assets/css/source/mobile-v5.css ===== */
/* Mobile adaptation for Elementor responsive containers */
@media(max-width:900px){body{font-size:15px}.wrap{width:calc(100% - 36px)}section{padding:58px 0}h1,.hero h1,.subhero h1,.product-info h1{font-size:46px}h2{font-size:36px}.lead{font-size:16px}.section-head{display:block;margin-bottom:34px}.section-head p{margin-top:18px}.hero .wrap{padding:46px 0;gap:34px}.hero-copy{padding-bottom:0}.collage{height:390px}.collage .main{height:340px;width:80%}.collage .small{height:160px}.trust .wrap{grid-template-columns:1fr 1fr;height:auto;padding:18px 0;gap:12px}.trust div{padding:8px}.trust div+div{border:0}.detail-hero{padding:42px 0}.gallery{height:430px;grid-template-rows:1fr 1fr}.detail-nav{overflow:hidden}.detail-nav .wrap{justify-content:flex-start;gap:28px;overflow-x:auto;white-space:nowrap;padding:0 18px}.proof-copy{padding:54px 28px}.quote-grid{gap:36px}.footer-grid{gap:32px}.choice-table{grid-template-columns:1fr 1fr}.choice-table>div{min-height:310px;padding-top:195px}.choice-table>div:before{height:176px}.micro-proof>div{padding-left:132px}.fold-layout{grid-template-columns:1fr 1fr}.applications{height:430px;grid-template-columns:1fr 1fr}.applications img:first-child{grid-row:span 2}.related{grid-template-columns:1fr 1fr 1fr}.form{grid-template-columns:1fr 1fr}.catalog{grid-template-columns:1fr 1fr!important}.catalog-card{grid-column:auto!important;margin-top:0!important}.product-mosaic{grid-template-columns:1fr 1fr}.swatches{grid-template-columns:1fr 1fr}.process-ribbon{grid-template-columns:repeat(3,1fr)}.image-rail{grid-template-columns:1fr 1fr}.editorial-cards{grid-template-columns:1fr 1fr}.editorial-card:nth-child(3){grid-column:span 2}.timeline{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.wrap{width:calc(100% - 28px)}section{padding:50px 0}h1,.hero h1,.subhero h1,.product-info h1{font-size:39px}h2{font-size:32px}h3{font-size:20px}.button{padding:12px 16px}.hero .wrap{padding:38px 0}.hero-note{gap:14px;display:grid;grid-template-columns:1fr 1fr}.collage{height:330px}.collage .main{height:285px;width:84%}.collage .small{height:135px;width:40%}.collage .stamp{width:92px;height:92px;font-size:13px}.product-mosaic{display:block}.product-mosaic .tile{display:block;height:275px;margin-bottom:12px}.story-images{grid-template-rows:150px 220px}.swatches{grid-template-columns:1fr 1fr}.swatch{height:155px}.steps,.icon-row,.timeline,body.detail-care .steps{grid-template-columns:1fr!important}.steps .step,.steps .step:nth-child(even),.icon-item:nth-child(even),.timeline div:nth-child(even),body.detail-care .step:nth-child(even){margin-top:0}.step,body.detail-care .step{min-height:150px;grid-template-columns:58px 1fr!important;max-width:100%;overflow:hidden}.metrics{grid-template-columns:1fr 1fr}.quote-grid{display:block}.quote-grid>div:first-child{margin-bottom:30px}.form{grid-template-columns:1fr}.field.wide{grid-column:auto}.subhero-media{height:300px}.gallery{height:360px}.detail-nav{height:60px}.fold-layout,body.detail-woven .fold-layout,body.detail-care .fold-layout,body.detail-patch .fold-layout,body.detail-tag .fold-layout{grid-template-columns:1fr!important}.fold{height:260px}.applications{display:grid;height:auto;grid-template-columns:1fr}.applications img,.applications img:first-child{height:230px;grid-row:auto}.choice-table{grid-template-columns:1fr}.choice-table>div,.choice-table>div:nth-child(even){margin-top:0;min-height:360px;padding-top:245px}.choice-table>div:before{height:225px;border-radius:180px 180px 8px 8px}.micro-proof>div{padding-left:125px}.process-ribbon{grid-template-columns:1fr 1fr}.catalog{grid-template-columns:1fr!important}.catalog-card{min-height:330px!important}.editorial-cards{grid-template-columns:1fr}.editorial-card:nth-child(3){grid-column:auto}.application-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}.image-rail{grid-template-columns:1fr 1fr}.image-rail>img{height:210px!important}.image-rail>img:nth-child(2),.image-rail>img:nth-child(4){height:180px!important;margin-top:0}.care-content-map{grid-template-columns:1fr;gap:32px}.patch-finish-grid,.tag-stock-grid{grid-template-columns:1fr}.patch-finish-grid>div,.tag-stock-grid>div,.tag-stock-grid>div:nth-child(2){height:260px;margin-top:0}.detail-tag .editorial-photo{transform:none!important;box-shadow:none!important}.footer-grid{display:grid!important}}


/* ===== assets/css/site.css ===== */
:root {
  --hm-ink: #102b3a;
  --hm-paper: #fffdf9;
  --hm-linen: #f3f7fa;
  --hm-clay: #f17005;
  --hm-sage: #75a9c9;
  --hm-mist: #a9c8da;
  --hm-sand: #d7e7f1;
  --hm-text: #465e6b;
  --hm-border: rgba(16, 43, 58, .16);
  --hm-banner: #f2f1ed;
  --hm-container: 1440px;
  --hm-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, 'Microsoft YaHei', sans-serif;
  --hm-serif: var(--hm-sans);
  --font-display: var(--hm-sans);
  --font-body: var(--hm-sans);
  /* Page-content aliases: keep legacy Elementor markup in the same brand system. */
  --ink: #102b3a;
  --cream: #f3f7fa;
  --paper: #fffdf9;
  --clay: #d96818;
  --sage: #75a9c9;
  --sand: #d7e7f1;
  --line: #d9e1e5;
  --muted: #5c6e78;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--hm-paper); color: var(--hm-text); font-family: var(--hm-sans); font-size: 16px; line-height: 1.6; }
body.admin-bar .hm-site-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
.hm-main .application-grid img,
.hm-main .feature-img img,
.hm-main .proof-photo img { height: 100%; }
/* Photo-first product edit: preserve screenshot proportions without overlays. */
body.page-home .hm-main .product-mosaic { grid-template-rows: 230px 230px; }
.hm-main .product-mosaic .tile { display: block; background: #dfe4e0; text-decoration: none; }
.hm-main .product-mosaic .tile::after { display: none; }
.hm-main .product-mosaic .tile > img { width: 100%; height: 100%; min-height: 0; min-width: 0; object-fit: cover; object-position: center; }
.hm-main .product-mosaic .tile:first-child > img { object-position: 48% center; }
.hm-main .product-mosaic .tile:nth-child(2) > img { object-position: center 42%; }
.hm-main .product-mosaic .tile:nth-child(3) > img { object-position: center 55%; }
.hm-main .product-mosaic .tile:last-child > img { object-position: center 58%; }
.hm-main .product-mosaic .tile-copy { position: absolute; left: 18px; right: auto; bottom: 18px; max-width: calc(100% - 36px); padding: 10px 14px; background: rgba(255,253,249,.94); color: #102b3a; text-shadow: none; border-left: 0; backdrop-filter: blur(5px); }
.hm-main .product-mosaic .tile-copy h3 { color: #102b3a; font-weight: 600; font-size: 18px; line-height: 1.25; letter-spacing: -.01em; }
.hm-main .product-mosaic .tile-copy span { display: block; margin-bottom: 3px; color: #465e6b; font-size: 14px; line-height: 1.35; letter-spacing: .08em; font-weight: 500; }
.hm-main .product-mosaic .tile-copy h3, .hm-main .product-mosaic .tile-copy span { text-shadow: none; }
@media (max-width: 900px) and (min-width: 561px) {
  body.page-home .hm-main .product-mosaic { grid-template-rows: 260px 260px; }
  .hm-main .product-mosaic .tile-copy { left: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 10px 12px; }
}
@media (max-width: 560px) {
  body.page-home .hm-main .product-mosaic .tile { height: 300px; }
  .hm-main .product-mosaic .tile > img { height: 100%; }
  .hm-main .product-mosaic .tile-copy { left: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 10px 12px; }
}
/* Desktop product edit: the square lead image determines the mosaic height. */
@media (min-width: 901px) {
  body.page-home .hm-main section:has(.product-mosaic) {
    height: auto;
    min-height: 0;
    padding-block: 48px;
  }
  body.page-home .hm-main section:has(.product-mosaic) > .wrap {
    height: auto;
    display: grid;
    grid-template-rows: auto auto;
    gap: 30px;
  }
  body.page-home .hm-main section:has(.product-mosaic) .section-head { margin-bottom: 0; }
  body.page-home .hm-main section:has(.product-mosaic) .section-head h2 {
    max-width: 560px;
    margin-bottom: 0;
    font-size: 42px;
    line-height: 1.1;
  }
  body.page-home .hm-main section:has(.product-mosaic) .product-mosaic {
    height: auto;
    aspect-ratio: 2.25 / 1;
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
}
/* Constrain each photograph to its grid track, not its intrinsic size. */
.page-home .hm-main .story { padding-block: 74px; }
.page-home .hm-main .story-images { min-width: 0; min-height: 0; overflow: hidden; }
.page-home .hm-main .story-images img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: cover; object-position: center; }
@media (max-width: 560px) {
  .page-home .hm-main .story { padding-block: 50px; }
}
a { color: inherit; }
.hm-container { width: min(calc(100% - 48px), var(--hm-container)); margin-inline: auto; }
.hm-container, .hm-main .wrap { width: min(1440px, calc(100% - 40px)); margin-inline: auto; }
.hm-main { min-height: 40vh; }
.hm-skip-link { position: fixed; left: 16px; top: -80px; z-index: 99999; padding: 10px 16px; background: #fff; color: #000; }
.hm-skip-link:focus { top: 16px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.hm-site-header { position: sticky; top: 0; z-index: 1000; background: var(--hm-paper); transition: box-shadow .2s ease; }
.hm-site-header.is-scrolled { box-shadow: 0 5px 22px rgba(22,37,33,.10); }
html { scroll-padding-top: 160px; }
.hm-topbar { background: var(--hm-ink); color: #fff; font-size: 11px; letter-spacing: .05em; }
.hm-topbar-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hm-header-main { border-bottom: 1px solid var(--hm-border); }
.hm-header-inner { min-height: 84px; display: flex; align-items: center; gap: 40px; }
.hm-header-inner.hm-container { width: min(1440px, calc(100% - 40px)); }
.hm-brand { display: inline-flex; flex-direction: column; text-decoration: none; color: var(--hm-ink); line-height: 1; letter-spacing: .22em; }
.hm-brand img { display: block; width: auto; height: 50px; max-width: 150px; object-fit: contain; }
.hm-footer-main .hm-brand img { height: 58px; max-width: 180px; filter: brightness(0) invert(1); }
.hm-brand strong { font-family: var(--hm-serif); font-size: 23px; font-weight: 500; }
.hm-brand small { margin-top: 7px; font-size: 7px; letter-spacing: .26em; }
.hm-primary-navigation { margin-left: auto; display: flex; align-items: center; gap: clamp(24px, 2.1vw, 38px); }
.hm-nav-list { display: flex; align-items: center; gap: clamp(20px, 1.8vw, 34px); margin: 0; padding: 0; list-style: none; }
.hm-nav-list > li { position: relative; display: flex; align-items: center; }
.hm-nav-list a { display: block; color: var(--hm-ink); text-decoration: none; font-size: 13px; white-space: nowrap; }
.hm-nav-list a, .hm-header-cta { font-size: 16px; }
.hm-nav-list > li > a { padding-block: 14px; }
.hm-nav-list a:hover, .hm-nav-list a:focus { color: var(--hm-clay); }
.hm-submenu-toggle { align-self: stretch; display: inline-flex; align-items: center; justify-content: center; width: 24px; margin-left: 2px; padding: 0; border: 0; background: transparent; color: var(--hm-ink); cursor: pointer; }
.hm-submenu-toggle > span { display: block; width: 7px; height: 7px; overflow: hidden; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; font-size: 0; line-height: 0; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
.menu-item-has-children.is-open > .hm-submenu-toggle > span { transform: translateY(2px) rotate(225deg); }
.sub-menu { position: absolute; left: 0; top: 100%; width: 220px; display: none; margin: 0; padding: 14px 0; list-style: none; background: var(--hm-paper); border: 1px solid var(--hm-border); box-shadow: 0 16px 35px rgba(22,37,33,.10); }
.sub-menu a { padding: 9px 20px; }
.menu-item-has-children:hover > .sub-menu, .menu-item-has-children:focus-within > .sub-menu, .menu-item-has-children.is-open > .sub-menu { display: block; }
.hm-header-cta, .hm-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border: 1px solid var(--hm-ink); background: var(--hm-ink); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; text-decoration: none; }
.hm-header-cta:hover, .hm-button:hover { background: var(--hm-clay); border-color: var(--hm-clay); }
.hm-menu-toggle { display: none; margin-left: auto; width: 44px; height: 44px; padding: 11px; border: 1px solid var(--hm-border); background: transparent; }
.hm-menu-toggle > span:not(.screen-reader-text) { display: block; height: 1px; margin: 5px 0; background: var(--hm-ink); }

.hm-footer-cta { padding: 64px 0; background: var(--hm-clay); color: #fff; }
.hm-footer-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.hm-footer-cta h2 { max-width: 700px; margin: 6px 0 0; color: #fff; font-family: var(--hm-serif); font-size: clamp(36px, 5vw, 60px); font-weight: 400; line-height: 1.04; }
.hm-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hm-button-light { background: #fff; border-color: #fff; color: var(--hm-ink); }
.hm-footer-main { padding: 72px 0 24px; background: #0b2738; color: rgba(255,255,255,.76); }
.hm-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 64px; }
.hm-footer-grid h3 { margin: 0 0 18px; color: #fff; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.hm-footer-grid p { max-width: 300px; font-size: 13px; }
.hm-footer-grid > div > a:not(.hm-brand):not(.hm-button) { display: block; margin: 8px 0; color: rgba(255,255,255,.72); font-size: 13px; text-decoration: none; }
.hm-brand-light { color: #fff; }
.hm-footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 56px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); font-size: 11px; }
.hm-footer-bottom a { margin-left: 20px; text-decoration: none; }
.hm-content-list, .hm-article, .hm-error-page { padding-block: 96px; }
.hm-entry-card { padding: 32px 0; border-bottom: 1px solid var(--hm-border); }
.hm-entry-card h2, .hm-article h1, .hm-error-page h1 { font-family: var(--hm-serif); color: var(--hm-ink); font-weight: 400; }
.hm-cf7-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hm-cf7-grid > p { display: contents; margin: 0; }
.hm-cf7-grid > p > br { display: none; }
.hm-cf7-grid label { display: grid; gap: 7px; color: inherit; font-size: 12px; }
.hm-cf7-wide { grid-column: 1 / -1; }
.hm-cf7-grid input:not([type="submit"]), .hm-cf7-grid select, .hm-cf7-grid textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.30); border-radius: 0; background: rgba(255,255,255,.10); color: inherit; font: inherit; }
.hm-cf7-grid textarea { height: 112px; min-height: 112px; resize: vertical; }
.hm-cf7-grid input[type="submit"] { min-height: 44px; padding: 10px 22px; border: 1px solid var(--hm-ink); background: var(--hm-ink); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }

@media (max-width: 1100px) {
  .hm-header-inner { min-height: 72px; }
  .hm-menu-toggle { display: block; }
  .hm-primary-navigation { position: absolute; top: 100%; left: 0; right: 0; display: none; margin: 0; padding: 24px; background: var(--hm-paper); border-bottom: 1px solid var(--hm-border); }
  .hm-primary-navigation.is-open { display: block; }
  .hm-nav-list { display: block; }
  .hm-nav-list > li { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--hm-border); }
  .hm-nav-list > li > a { flex: 1; padding: 13px 0; font-size: 16px; }
  .hm-submenu-toggle { width: 44px; }
  .sub-menu { position: static; width: 100%; display: none; border: 0; border-top: 1px solid var(--hm-border); box-shadow: none; }
  .hm-header-cta { margin-top: 20px; }
  .hm-footer-grid { grid-template-columns: 1fr 1fr; }
}

/* Bounded split sections: align with the global container at every width. */
.hm-main .feature-split {
  width: min(1440px, calc(100% - 40px));
  margin-inline: auto;
}
.hm-main .proof-grid {
  width: min(1440px, calc(100% - 40px));
  margin-inline: auto;
}
/* Intrinsic square images must not set section height on wide screens. */
@media (min-width: 901px) {
  .hm-main .proof-grid,
  .hm-main .feature-split {
    height: 580px;
    min-height: 0;
    margin-inline: auto;
    grid-template-rows: minmax(0, 1fr);
    overflow: hidden;
  }
  .hm-main .proof-photo,
  .hm-main .feature-img {
    height: 580px;
    min-height: 0;
    overflow: hidden;
  }
  .hm-main .proof-photo img,
  .hm-main .feature-img img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
  .hm-main .proof-grid { height: auto; min-height: 680px; grid-template-rows: auto; overflow: visible; }
  .hm-main .proof-photo { position: relative; height: auto; min-height: 680px; }
  .hm-main .proof-photo img { position: absolute; inset: 0; }
  .hm-main .proof-copy { min-height: 0; padding: 84px 60px; overflow: visible; }
  .hm-main .feature-split > div:not(.feature-img) { min-height: 0; overflow: hidden; }
}

/* Keep large photography crisp inside the shared 1440px content frame. */
.hm-main img { image-rendering: auto; }
.hm-main .proof-photo,
.hm-main .feature-img { background: #f7fafc; }
.hm-main .proof,
.hm-main .proof-grid,
.hm-main .proof-copy { background: #f7fafc; }

/* The proof image spans from the viewport edge to the exact screen midpoint. */
.hm-main .proof-grid { grid-template-columns: 1fr 1fr; }
@media (max-width: 900px) {
  .hm-main .proof-grid { grid-template-columns: 1fr; }
  .hm-main .proof-photo { min-height: 0; height: auto; aspect-ratio: 1.3; }
  .hm-main .proof-copy { padding: 56px 20px; }
}
.hm-main .proof-photo { align-self: stretch; }
.hm-main .proof-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

/* Shared inner-page banner contract. */
@media (min-width: 901px) {
  body:not(.page-home) .hm-main .subhero {
    height: 650px;
    min-height: 650px;
    padding: 0;
    overflow: hidden;
    background: var(--hm-banner);
    color: var(--hm-ink);
  }
  body:not(.page-home) .hm-main .subhero > .wrap,
  body:not(.page-home) .hm-main .subhero .subhero-grid {
    height: 100%;
    min-height: 0;
    align-items: center;
  }
  body:not(.page-home) .hm-main .subhero h1 {
    width: min(100%, 690px);
    max-width: 690px;
    margin-bottom: 22px;
    color: var(--hm-ink);
    font-size: 48px;
    line-height: 1.08;
    text-wrap: balance;
  }
  body:not(.page-home) .hm-main .subhero .lead { color: #53615b; }
  body:not(.page-home) .hm-main .subhero-media { height: 390px; min-height: 0; }
  body.page-resources .hm-main .subhero-media { height: 260px; }
}
@media (max-width: 900px) {
  body:not(.page-home) .hm-main .subhero { min-height: 0; background: var(--hm-banner); color: var(--hm-ink); }
  body:not(.page-home) .hm-main .subhero h1 { max-width: 680px; color: var(--hm-ink); text-wrap: balance; }
  body:not(.page-home) .hm-main .subhero .lead { color: #53615b; }
}

@media (max-width: 782px) { body.admin-bar .hm-site-header { top: 46px; } }
@media (max-width: 700px) {
  .hm-container { width: min(calc(100% - 40px), var(--hm-container)); }
  .hm-topbar { display: none; }
  .hm-footer-cta-inner, .hm-footer-bottom { align-items: flex-start; flex-direction: column; }
  .hm-footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .hm-footer-main { padding-top: 56px; }
  .hm-cf7-grid { grid-template-columns: 1fr; }
  .hm-cf7-wide { grid-column: auto; }
  .hm-brand img { height: 42px; max-width: 120px; }
  .hm-footer-main .hm-brand img { height: 52px; max-width: 150px; }
  .hm-nav-list a, .hm-header-cta, .hm-nav-list > li > a { font-size: 14px; }
}
@media (max-width: 600px) {
  body.admin-bar .hm-site-header { top: 0; }
}
@media (max-width: 1100px) {
  .hm-primary-navigation.is-open { max-height: calc(100dvh - 160px); overflow-y: auto; }
}
/* One font family throughout the public site, preserving colour contexts. */
body .hm-main *, body .hm-site-header *, body .hm-site-footer * { font-family: var(--hm-sans); }
body .hm-main .collage .stamp { font-family: var(--hm-sans); }
body .hm-main :is(h1,h2,h3,h4) { font-family: var(--hm-sans); font-weight: 600; letter-spacing: -.03em; }
body .hm-main :is(h1,h2) { line-height: 1.14; }
body .hm-main p { line-height: 1.75; }
.hm-main .eyebrow { letter-spacing: .12em; }
.hm-brand strong { font-weight: 650; }

/* Desktop minimum: explicit small-text roles, without shrinking headings. */
@media (min-width: 1101px) {
  .hm-topbar, .hm-brand small, .hm-header-cta, .hm-button,
  .hm-eyebrow, .hm-footer-grid h3, .hm-footer-bottom,
  .hm-footer-grid p, .hm-footer-grid > div > a:not(.hm-brand):not(.hm-button),
  .hm-nav-list a, .hm-submenu-toggle,
  .hm-main .eyebrow, .hm-main .tile-copy span,
  .hm-main .choice-table span, .hm-main .choice-table p, .hm-main .crumb,
  .hm-main .button, .hm-main .hero-note, .hm-main .trust .wrap,
  .hm-main .ticks div, .hm-main .step p, .hm-main .metric span,
  .hm-main .field, .hm-main .spec, .hm-main .detail-nav .wrap,
  .hm-main .caption, .hm-main .editorial-card p, .hm-main .micro-proof p, .hm-main small,
  .hm-main .hm-cf7-grid label, .hm-main .hm-cf7-grid input[type="submit"] { font-size: 14px; }
  .hm-brand small { letter-spacing: .08em; }
  .hm-header-inner { gap: 32px; }
  .hm-nav-list a, .hm-header-cta, .hm-submenu-toggle { font-size: 16px; }
}

/* Consistent desktop vertical rhythm for ordinary content sections. */
@media (min-width: 901px) {
  .hm-main section:not(.hero):not(.subhero):not(.proof) { padding-block: 72px; }
  body.page-home .hm-main section:has(.product-mosaic) { padding-block: 36px; }
}

/* Shared inquiry section: blue brand background, orange reserved for the action. */
.hm-main .quote { background: #f2f1ed; color: #102b3a; }
.hm-main .quote h2 { color: #102b3a; }
.hm-main .quote p { color: #465e6b; }
.hm-main .quote .eyebrow { color: #985013 !important; } /* Imported quote markup contains a pale inline colour. */
.hm-main .quote .hm-cf7-grid label { color: #102b3a; font-size: 14px; }
.hm-main .quote .hm-cf7-grid input:not([type="submit"]), .hm-main .quote .hm-cf7-grid select, .hm-main .quote .hm-cf7-grid textarea { background: #fff; border-color: #abb7bc; color: #102b3a; }
.hm-main .quote .hm-cf7-grid input[type="submit"] { background: #f17005; border-color: #f17005; color: #fff; }
.hm-main .quote .hm-cf7-grid input[type="submit"]:hover { background: #cc5900; border-color: #cc5900; }
.hm-main .quote .hm-cf7-grid select option { background: #fff; color: #102b3a; }
.hm-main .quote .hm-cf7-grid :is(input,select,textarea):focus-visible { outline: 2px solid #32677f; outline-offset: 3px; }
.hm-main .quote input[type="file"]::file-selector-button { border: 0; padding: 7px 12px; margin-right: 12px; background: #e7f3fb; color: #102b3a; cursor: pointer; }

/* Homepage and inner-page banners share one logo-coordinated background. */
body.page-home .hm-main .hero,
body:not(.page-home) .hm-main .subhero {
  background-color: var(--hm-banner);
  background-image: none;
}

/* Phase-one palette: restrained neutral surfaces, blue reserved for emphasis. */
body:is(.page-home,.page-products,.page-custom,.page-manufacturing,.page-quality,.page-about,.page-resources,.page-quote) .hm-main .story { background: #f4f3ef; }
body:is(.page-home,.page-products,.page-custom,.page-manufacturing,.page-quality,.page-about,.page-resources,.page-quote) .hm-main .darkband { background: #edf0ef; color: var(--hm-ink); }
body:is(.page-home,.page-products,.page-custom,.page-manufacturing,.page-quality,.page-about,.page-resources,.page-quote) .hm-main .darkband :is(h2,h3,p) { color: var(--hm-ink); }
body.page-home .hm-main .material { background: #102b3a; color: #fff; }
body.page-home .hm-main .material h2 { color: #fff; }
body.page-home .hm-main .material .eyebrow { color: #f6b978; }
body.page-home .hm-main .material .section-head p { color: #d6e2e8; }
body:is(.page-home,.page-manufacturing) .hm-main :is(.proof,.proof-copy,.proof-grid) { background: #f4f3ef; }
body.page-custom .hm-main .subhero-media { transform: none; padding: 0; background: transparent; }

/* Page-owned contrasts: avoid flattening distinct sections into one pale surface. */
body.page-custom .hm-main .darkband,
body.page-quality .hm-main .darkband { background: #102b3a; color: #fff; }
body.page-custom .hm-main .darkband :is(h2,h3,strong,b),
body.page-quality .hm-main .darkband :is(h2,h3,strong,b) { color: #fff; }
body.page-custom .hm-main .darkband p,
body.page-quality .hm-main .darkband p { color: #d6e2e8; }
body.page-custom .hm-main .darkband .eyebrow,
body.page-quality .hm-main .darkband .eyebrow { color: #f6b978; }
body.page-quality .hm-main .darkband .step { background: #1c3d4e; border-color: #72909f; border-radius: 6px; }
body.page-quality .hm-main .darkband .step::before { color: #f6b978; }
body.page-quality .hm-main section:has(.feature-split) { background: #fffdf9; }
body.page-quality .hm-main .story { background: #dce6e8; }
body.page-quality .hm-main .story :is(h2,strong,p,span) { color: #102b3a; }
body.page-quality .hm-main .choice-table > div { background-color: #f9fbfc; padding-inline: 20px; border-bottom: 3px solid #849eaa; }
body.page-quality .hm-main .quote { background: #f2ede4; }
body.page-home .hm-main .proof { padding-block: 0; background: #e3e9e8; }
body.page-manufacturing .hm-main .darkband { background: #e5d9c9; }
body.page-manufacturing .hm-main .darkband .metrics { gap: 20px; }
body.page-manufacturing .hm-main .darkband .metric { background: #fffdf9; padding: 24px; border: 1px solid #cec4b5; border-top: 3px solid #527486; }
.hm-production-flow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin-top: 28px; }
.hm-production-flow article { padding: 20px; background: rgba(255,255,255,.65); border: 1px solid #c8bba9; }
.hm-production-flow .hm-stage-number { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #102b3a; color: #fff; font-size: 14px; margin-bottom: 14px; }
.hm-production-flow h3 { font-size: 20px; margin-bottom: 8px; }
.hm-production-flow p { font-size: 14px; margin: 0; }
@media(max-width:900px) { .hm-production-flow { grid-template-columns: 1fr 1fr; } }
@media(max-width:560px) { .hm-production-flow { grid-template-columns: 1fr; } body.page-home .hm-main .proof { padding-block: 0; } }

/* Custom specification cards: consistent reading order and uncropped text. */
body.page-custom .hm-main .editorial-cards { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: stretch; }
body.page-custom .hm-main .editorial-card { min-width: 0; background: #fff; border: 1px solid #e4e5df; padding-bottom: 24px; }
body.page-custom .hm-main .editorial-card:nth-child(n) img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; }
body.page-custom .hm-main .editorial-card h3 { margin: 22px 24px 10px; font-size: 24px; line-height: 1.3; }
body.page-custom .hm-main .editorial-card p { margin: 0 24px; font-size: 16px; line-height: 1.7; }
body.page-custom .hm-main section:has(.editorial-cards) .section-head { align-items: center; gap: 36px; margin-bottom: 36px; }
body.page-custom .hm-main section:has(.editorial-cards) h2 { font-size: clamp(32px,3vw,42px); max-width: 660px; }
@media (max-width: 700px) {
  body.page-custom .hm-main .editorial-cards { grid-template-columns: 1fr; }
  body.page-custom .hm-main .editorial-card:nth-child(n) { grid-column: auto; }
  body.page-custom .hm-main .editorial-card h3 { font-size: 22px; }
}


/* ===== assets/css/content-structure.css ===== */
/* Page roles and merged content, version 0.3.4. */
/* About: contain image geometry within its own section, never overlap siblings. */
body.page-about .hm-main section:has(> .editorial) { padding:40px 0; background:#fffdfa; }
body.page-about .hm-main .editorial { height:auto; min-height:0; align-items:center; gap:56px; }
body.page-about .hm-main .editorial-photo { position:relative; height:clamp(360px,56vh,560px); min-height:0; overflow:hidden; margin:0; }
body.page-about .hm-main .editorial-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:100%; object-fit:cover; }
body.page-about .hm-main .editorial .big-number { font-size:72px; line-height:1; color:#54839a; }
body.page-about .hm-main .editorial h2 { font-size:clamp(30px,2.7vw,44px); }
body.page-about .hm-main .story { background:#e5d9c9; padding:64px 0; }
body.page-about .hm-main .story .icon-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
body.page-about .hm-main .story .icon-item { padding:0 0 24px; margin:0; transform:none; background:#fffdfa; overflow:hidden; }
body.page-about .hm-main .story .icon-item::before { display:none; }
body.page-about .hm-main .story .hm-work-photo { display:block; width:100%; height:210px; object-fit:cover; margin:0 0 24px; }
body.page-about .hm-main .story .icon-item b { display:block; padding:0 24px; font-size:24px; color:#102b3a; }
body.page-about .hm-main .story .icon-item p { padding:0 24px; color:#395568; font-size:16px; }
body.page-about .hm-main .darkband { background:#102b3a; padding:64px 0; }
body.page-about .hm-main .darkband :is(h2,h3,b) { color:#fff; }
body.page-about .hm-main .darkband p { color:#dce8ed; }
body.page-about .hm-main .hm-contact-link { background:#eef2f3; }
@media(max-width:1024px){
 body.page-about .hm-main .story .icon-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-about .hm-main .editorial { gap:28px; }
}
@media(max-width:767px){
 body.page-about .hm-main .editorial { grid-template-columns:1fr; }
 body.page-about .hm-main .editorial-photo { height:340px; }
 body.page-about .hm-main .story .icon-row { grid-template-columns:1fr; }
 body.page-about .hm-main .story .hm-work-photo { height:240px; }
 body.page-about .hm-main :is(.story,.darkband) { padding:44px 0; }
}
body.page-quote .hm-live-quote-form :is(input:not([type=submit]):not([type=hidden]),select,textarea) { background:#f5f7f7; border:1px solid #a9b9c1; color:#102b3a; border-radius:0; }
body.page-quote .hm-live-quote-form :is(input,select,textarea):focus { outline:2px solid #008acf; outline-offset:2px; }
body.page-home .hm-main .proof, body.page-home .hm-main section:has(> .proof-grid) { background:#f4f3ef; padding-block:0; }
.hm-main .hm-contact-link { background:#e3e9e8; padding:64px 0; }
.hm-contact-link > .wrap { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.hm-contact-link h2 { font-size:clamp(28px,3vw,40px); margin:0 0 16px; }
.hm-contact-link p { margin:0; }
.hm-contact-link .button { flex-shrink:0; }
body.page-manufacturing .hm-main .hm-quality-checks, body.page-quote .hm-main .hm-contact-brief { background:#102b3a; color:#e4edf1; }
body.page-manufacturing .hm-main .hm-quality-checks :is(h2,h3,p,li), body.page-quote .hm-main .hm-contact-brief :is(h2,h3,p,li) { color:#f5f8fa; }
body.page-manufacturing .hm-main .hm-quality-reference { background:#dce6e8; color:#102b3a; }
body.page-quote .hm-main .hm-contact-guide { background:#e5d9c9; color:#102b3a; }
.hm-main #quality-control,.hm-main #buying-guide { scroll-margin-top:160px; }
.hm-news-list { padding:80px 0; background:#fffdfa; }
.hm-news-list article { padding:28px 0; border-bottom:1px solid #cad3d6; }
body.page-news .subhero { background:#f2f1ed; padding:96px 0; }
body.page-news .subhero h1 { max-width:850px; }
@media(max-width:767px){
 .hm-contact-link > .wrap{flex-direction:column;align-items:flex-start;}
 .hm-main .hm-contact-link{padding:44px 0;}
 body.page-news .subhero{padding:60px 0;}
}

/* Scoped presentation for Manufacturing, News and Contact, 0.3.3. */
.hm-main .hm-r { color:#465e6b; font-size:16px; line-height:1.65; }
.hm-main .hm-r .hm-r-wrap { width:calc(100% - 80px); max-width:1440px; margin-inline:auto; }
.hm-main .hm-r section { padding:80px 0; margin:0; min-height:0; }
.hm-main .hm-r :is(h1,h2,h3) { color:#102b3a; margin:0 0 20px; font-family:var(--hm-sans); font-weight:600; letter-spacing:-.035em; text-wrap:balance; }
.hm-main .hm-r h1 { font-size:clamp(38px,4.15vw,64px); line-height:1.08; max-width:800px; }
.hm-main .hm-r h2 { font-size:clamp(28px,2.7vw,42px); line-height:1.15; }
.hm-main .hm-r h3 { font-size:23px; line-height:1.25; }
.hm-main .hm-r p { font-size:16px; line-height:1.7; margin:0 0 20px; max-width:none; }
.hm-main .hm-r .hm-r-kicker { font-size:14px; font-weight:650; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; color:#526f7e; margin:0 0 18px; }
.hm-main .hm-r .hm-r-lead { max-width:580px; font-size:18px; }
.hm-main .hm-r .hm-r-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:50px; background:#102b3a; color:white; padding:14px 24px; text-decoration:none; font-size:15px; font-weight:600; border:1px solid #102b3a; }
.hm-main .hm-r .hm-r-button:hover { background:#24536a; border-color:#24536a; }
.hm-main .hm-r :is(a,summary):focus-visible { outline:3px solid #008acf; outline-offset:5px; }
.hm-main .hm-r .hm-r-textlink { font-size:16px; color:#102b3a; text-underline-offset:5px; }
.hm-main .hm-r .hm-r-hero { background:#f2f1ed; padding:52px 0; }
.hm-r-hero-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:64px; }
.hm-r-hero-copy { padding:20px 0; }
.hm-r-hero-photo { height:390px; position:relative; margin:0; overflow:hidden; background:#deded8; }
.hm-main .hm-r .hm-r-hero-photo img { width:100%; height:100%; object-fit:cover; }
.hm-main .hm-r figcaption { font-size:14px; letter-spacing:.06em; line-height:1.5; }
.hm-r-hero-photo figcaption { position:absolute; left:20px; bottom:20px; padding:8px 12px; background:rgba(255,253,249,.94); color:#102b3a; }
.hm-main .hm-r .hm-r-foundation { background:#102b3a; padding:56px 0; }
.hm-r-foundation-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:70px; align-items:center; }
.hm-main .hm-r .hm-r-foundation :is(h2,p,.hm-r-kicker) { color:#f6f8fa; }
.hm-main .hm-r .hm-r-foundation p:last-child { margin-bottom:0; color:#c6d8e1; }
.hm-r-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:0; }
.hm-r-metrics > div { border-top:1px solid #557080; padding-top:20px; }
.hm-r-metrics dt { color:#c6d8e1; font-size:14px; }
.hm-r-metrics dd { margin:12px 0 0; font-size:clamp(28px,3vw,44px); letter-spacing:-.04em; line-height:1.2; color:#fff; white-space:nowrap; }
.hm-r-metrics small { font-size:20px; }
.hm-main .hm-r .hm-r-capabilities { background:#fffdf9; }
.hm-r-heading { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:40px; }
.hm-r-heading > p { max-width:500px!important; }
.hm-r-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.hm-r-card { background:#f2f1ed; min-width:0; }
.hm-main .hm-r .hm-r-card > img { width:100%; height:250px; object-fit:cover; }
.hm-r-card > div { padding:30px; }
.hm-main .hm-r .hm-r-card p:last-child { margin-bottom:0; }
.hm-main .hm-r .hm-r-note { font-size:14px; margin:24px 0 0; }
.hm-main .hm-r .hm-r-workflow { background:#eee5d9; overflow:hidden; }
.hm-r-workflow .hm-r-heading { align-items:center; margin-bottom:50px; }
.hm-r-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin:0; padding:0; list-style:none; }
.hm-r-steps li { position:relative; min-width:0; background:#fffdf9; border-radius:18px 18px 4px 4px; overflow:hidden; box-shadow:0 12px 34px rgba(16,43,58,.08); transition:transform .25s ease,box-shadow .25s ease; }
.hm-r-steps li:nth-child(even) { transform:translateY(28px); }
.hm-r-steps li:hover { transform:translateY(-6px); box-shadow:0 20px 42px rgba(16,43,58,.14); }
.hm-r-steps li:nth-child(even):hover { transform:translateY(20px); }
.hm-r-steps figure { position:relative; margin:0; height:190px; overflow:visible; background:#d8d8d2; }
.hm-main .hm-r .hm-r-steps img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.hm-r-steps li:hover img { transform:scale(1.04); }
.hm-r-number { position:absolute; left:22px; bottom:0; transform:translateY(50%); width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:#102b3a; color:#fff; border:4px solid #fffdf9; font-size:16px; font-weight:700; letter-spacing:.06em; line-height:1; }
.hm-r-step-copy { display:flex; flex-direction:column; min-height:240px; padding:42px 24px 24px; }
.hm-main .hm-r .hm-r-step-copy h3 { margin-bottom:12px; font-size:22px; }
.hm-main .hm-r .hm-r-step-copy p { margin-bottom:22px; }
.hm-r-steps strong { display:block; font-size:13px; font-weight:650; letter-spacing:.03em; margin-top:auto; color:#52778b; border-top:1px solid #d8d3ca; padding-top:15px; }

.hm-main .hm-r .hm-r-quality { background:#eef2f3; }
.hm-r-quality-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; }
.hm-r-quality-photo { margin:30px 0 0; }
.hm-main .hm-r .hm-r-quality-photo img { width:100%; height:260px; object-fit:cover; }
.hm-r-quality-photo figcaption { margin-top:10px; }
.hm-r-checks { padding:0; margin:0; list-style:none; }
.hm-r-checks li { display:flex; gap:24px; padding:24px 0; border-top:1px solid #bbcbd1; }
.hm-r-checks li > span { font-size:20px; color:#52778b; }
.hm-main .hm-r .hm-r-checks p { margin:0; }
.hm-main .hm-r .hm-r-checks h3 { margin-bottom:8px; }
.hm-main .hm-r .hm-r-cta { background:#e5d9c9; padding:56px 0; }
.hm-r-cta > div { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.hm-r-cta .hm-r-button { flex-shrink:0; }
.hm-main .hm-r .hm-r-cta p:last-child { margin:0; }

/* Restore the home palette and give every page the same warm banner. */
body .hm-main :is(.hero,.subhero,.detail-hero,.hm-r-hero) {
 background:#f2f1ed!important;
 color:#102b3a;
}
body .hm-main :is(.hero,.subhero,.detail-hero,.hm-r-hero) :is(h1,h2,h3,p,.lead,.hm-r-lead) { color:#102b3a; }

/* Deep feature bands are followed by a mid-tone bridge into the dark footer. */
body.page-custom .hm-main .darkband,
body.page-about .hm-main .darkband,
body.page-manufacturing .hm-main .hm-r-foundation { background:#102b3a; color:#fff; }
body.page-custom .hm-main .darkband :is(h1,h2,h3,b),
body.page-about .hm-main .darkband :is(h1,h2,h3,b),
body.page-manufacturing .hm-main .hm-r-foundation :is(h2,.hm-r-kicker,dd) { color:#fff; }
body.page-custom .hm-main .darkband p,
body.page-custom .hm-main .darkband small,
body.page-about .hm-main .darkband p,
body.page-about .hm-main .darkband .micro-proof p,
body.page-manufacturing .hm-main .hm-r-foundation p,
body.page-manufacturing .hm-r-foundation-grid .hm-r-metrics dt { color:#c6d8e1; }
body.page-manufacturing .hm-r-foundation-grid .hm-r-metrics > div { border-top-color:#557080; }
body:is(.page-custom,.page-about) .hm-main .hm-contact-link,
body.page-manufacturing .hm-main .hm-r-cta { background:#52778b; color:#fff; }
body:is(.page-custom,.page-about) .hm-main .hm-contact-link :is(h2,p),
body.page-manufacturing .hm-main .hm-r-cta :is(h2,p,.hm-r-kicker) { color:#fff; }

/* Home hero CTA interactions. */
body.page-home .hm-main .hero a.button {
 transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease,color .22s ease;
}
body.page-home .hm-main .hero a.button:hover {
 transform:translateY(-3px);
 box-shadow:0 12px 24px rgba(16,43,58,.18);
}
body.page-home .hm-main .hero a.button.clay:hover {
 background:#a84f35;
 border-color:#a84f35;
}
body.page-home .hm-main .hero a.button.light:hover {
 background:#102b3a;
 border-color:#102b3a;
 color:#fff;
}
body.page-home .hm-main .hero a.button:focus-visible {
 outline:3px solid #008acf;
 outline-offset:4px;
}

/* WooCommerce product archives with a practical category sidebar. */
.hm-shop-archive { background:#f2f1ed; padding:72px 0 88px; color:#102b3a; }
.hm-shop-container { width:min(1440px,calc(100% - 48px)); margin:0 auto; }
.hm-shop-archive.has-category-sidebar .hm-shop-container { display:grid; grid-template-columns:minmax(220px,280px) minmax(0,1fr); gap:64px; align-items:start; }
.hm-shop-sidebar { position:sticky; top:130px; padding:28px 26px; background:#fffdf9; border-top:3px solid #e66f2d; box-shadow:0 16px 36px rgba(16,43,58,.07); }
.hm-shop-eyebrow { margin:0 0 8px; color:#52778b; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.hm-shop-sidebar h2 { margin:0 0 22px; font-size:24px; line-height:1.2; }
.hm-shop-category-list { list-style:none; margin:0; padding:0; }
.hm-shop-category-list li { margin:0; border-top:1px solid #d6e0e3; }
.hm-shop-category-list li:first-child { border-top:0; }
.hm-shop-category-list a { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; color:#102b3a; text-decoration:none; transition:color .2s ease,padding-left .2s ease; }
.hm-shop-category-list a:hover,.hm-shop-category-list .current-cat>a { color:#d55d25; padding-left:6px; }
.hm-shop-category-list .children { list-style:none; margin:0 0 8px; padding:0 0 0 16px; }
.hm-shop-products { min-width:0; }
.hm-shop-products .woocommerce-products-header { margin-bottom:34px; }
.hm-shop-products .woocommerce-products-header__title { margin:0 0 12px; font-size:clamp(34px,4vw,54px); line-height:1.05; }
.hm-shop-products .woocommerce-result-count,.hm-shop-products .woocommerce-ordering { margin-bottom:28px; }
.hm-shop-products ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; clear:both; }
.hm-shop-products ul.products::before,.hm-shop-products ul.products::after { display:none; }
.hm-shop-products ul.products li.product { width:auto!important; margin:0!important; padding:0 0 24px; background:#fffdf9; border-bottom:2px solid transparent; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.hm-shop-products ul.products li.product:hover { transform:translateY(-4px); border-color:#e66f2d; box-shadow:0 16px 34px rgba(16,43,58,.09); }
.hm-shop-products ul.products li.product a img { margin:0 0 20px; aspect-ratio:4/3; object-fit:cover; }
.hm-shop-products ul.products li.product .woocommerce-loop-product__title,.hm-shop-products ul.products li.product .price,.hm-shop-products ul.products li.product .button { margin-left:20px; margin-right:20px; }
.hm-shop-products ul.products li.product .button { margin-top:14px; background:#102b3a; color:#fff; border-radius:0; }
@media(max-width:1024px){.hm-shop-archive.has-category-sidebar .hm-shop-container{grid-template-columns:220px minmax(0,1fr);gap:32px}.hm-shop-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.hm-shop-archive{padding:44px 0 56px}.hm-shop-container{width:min(100% - 32px,1440px)}.hm-shop-archive.has-category-sidebar .hm-shop-container{grid-template-columns:1fr;gap:30px}.hm-shop-sidebar{position:static;padding:22px 20px}.hm-shop-products ul.products{grid-template-columns:1fr;gap:22px}}
.hm-main .hm-r .hm-r-inquiry { background:#fffdf9; }
.hm-r-inquiry-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:start; }
.hm-r-brief { list-style:none; margin:32px 0; padding:0; }
.hm-r-brief li { padding:16px 0; border-top:1px solid #d2dadd; }
.hm-r-brief strong,.hm-r-brief span { display:block; }
.hm-r-brief strong { color:#102b3a; margin-bottom:4px; }
.hm-r-next { border-left:3px solid #7699aa; padding-left:22px; }
.hm-main .hm-r .hm-r-next h3 { font-size:20px; }
.hm-r-form { background:#eef2f3; padding:40px; min-width:0; }
.hm-main .hm-r .hm-r-form > h2 { font-size:30px; }
.hm-main .hm-r .hm-r-form label { font-size:14px; color:#102b3a; }
.hm-main .hm-r .hm-r-form :is(input:not([type=submit]):not([type=hidden]),select,textarea) { font-size:16px; width:100%; max-width:100%; background:#fffdf9; color:#102b3a; }
.hm-main .hm-r .hm-r-form input[type=submit] { font-size:14px; letter-spacing:.04em; min-height:50px; }
.hm-main .hm-r .hm-r-faq { background:#e6ddd0; }
.hm-r-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.hm-r-faq details { border-top:1px solid #b8b0a5; }
.hm-r-faq details:last-child { border-bottom:1px solid #b8b0a5; }
.hm-r-faq summary { padding:23px 32px 23px 0; position:relative; cursor:pointer; list-style:none; color:#102b3a; font-size:18px; font-weight:600; line-height:1.5; }
.hm-r-faq summary::-webkit-details-marker { display:none; }
.hm-r-faq summary::after { content:'+'; position:absolute; right:0; top:21px; font-size:23px; }
.hm-r-faq details[open] summary::after { content:'−'; }
.hm-main .hm-r .hm-r-faq details p { margin:0 24px 24px 0; }
.hm-main .hm-r .hm-r-news { background:#fffdf9; padding:52px 0 64px; }
.hm-r-tabs { display:flex; flex-wrap:wrap; gap:36px; border-bottom:1px solid #c8d1d5; }
.hm-r-tabs a { padding:14px 0 18px; margin-bottom:-1px; color:#526875; text-decoration:none; font-size:17px; border-bottom:3px solid transparent; }
.hm-r-tabs a[aria-current] { color:#102b3a; border-bottom-color:#102b3a; font-weight:650; }
.hm-r-tabs a:hover { color:#102b3a; border-bottom-color:#7899a8; }
.hm-r-empty { padding:60px 20px 30px; text-align:center; }
.hm-main .hm-r .hm-r-empty h2 { font-size:28px; }
.hm-r-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding-top:40px; }
.hm-r-news-card { min-width:0; }
.hm-r-news-card img { width:100%; height:250px; object-fit:cover; margin-bottom:20px; }
.hm-r-news-card time { display:block; font-size:14px; margin-bottom:12px; }
.hm-r-news-card h3 a { text-decoration:none; }
.hm-r-pagination { display:flex; flex-wrap:wrap; gap:16px; padding-top:32px; }
.hm-r-pagination .page-numbers { padding:8px 16px; border:1px solid #c8d1d5; }
.hm-r-pagination .current { background:#102b3a; color:#fff; }
.hm-main .hm-r :is(#inquiry,#faq,#news-list,#quality-control,#buying-guide) { scroll-margin-top:155px; }
@media(max-width:1100px) {
 .hm-r-hero-grid { gap:36px; }
 .hm-r-hero-photo { height:340px; }
 .hm-r-foundation-grid { grid-template-columns:1fr; gap:30px; }
 .hm-r-metrics { max-width:800px; }
 .hm-r-heading,.hm-r-quality-grid,.hm-r-inquiry-grid,.hm-r-faq-grid { gap:40px; }
 .hm-r-card > div { padding:22px; }
 .hm-r-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
 .hm-r-steps li:nth-child(even) { transform:none; }
 .hm-r-steps li:hover,.hm-r-steps li:nth-child(even):hover { transform:translateY(-4px); }
 .hm-main .hm-r .hm-r-card > img { height:200px; }
}
@media(max-width:767px) {
 .hm-main .hm-r .hm-r-wrap { width:calc(100% - 40px); }
 .hm-main .hm-r section { padding:48px 0; }
 .hm-main .hm-r .hm-r-hero { padding:30px 0; }
 .hm-r-hero-grid,.hm-r-heading,.hm-r-cards,.hm-r-quality-grid,.hm-r-inquiry-grid,.hm-r-faq-grid,.hm-r-news-grid { grid-template-columns:1fr; gap:28px; }
 .hm-r-hero-copy { padding:0; }
 .hm-main .hm-r h1 { font-size:38px; }
 .hm-main .hm-r h2 { font-size:30px; }
 .hm-main .hm-r .hm-r-lead { font-size:16px; }
 .hm-r-hero-photo { height:250px; }
 .hm-r-hero-photo figcaption { left:12px; bottom:12px; font-size:12px; }
 .hm-main .hm-r .hm-r-foundation { padding:40px 0; }
 .hm-r-metrics { gap:14px; }
 .hm-r-metrics dd { font-size:27px; white-space:normal; }
 .hm-r-metrics small { font-size:16px; }
 .hm-r-metrics dt { font-size:14px; }
 .hm-r-heading { margin-bottom:28px; gap:0; }
 .hm-main .hm-r .hm-r-card > img { height:250px; }
 .hm-r-workflow .hm-r-heading { margin-bottom:28px; }
 .hm-r-steps { grid-template-columns:1fr; gap:24px; }
 .hm-r-steps figure { height:210px; }
 .hm-r-step-copy { min-height:0; padding:40px 22px 22px; }
 .hm-r-checks li { gap:18px; }
 .hm-r-form { padding:26px 20px; }
 .hm-r-form .hm-cf7-grid { grid-template-columns:1fr; }
 .hm-r-cta > div { flex-direction:column; align-items:flex-start; gap:24px; }
 .hm-r-tabs { justify-content:space-between; gap:12px; }
 .hm-r-tabs a { font-size:14px; }
 .hm-r-empty { padding:44px 0 10px; }
 .hm-main .hm-r .hm-r-empty h2 { font-size:26px; }
 .hm-r-faq summary { font-size:16px; }
}

/* One title scale and type treatment across every page banner. */
body .hm-main :is(.hero,.subhero,.detail-hero,.hm-r-hero) h1 {
 font-family:var(--hm-sans); font-size:clamp(42px,3.65vw,56px)!important; font-weight:600;
 line-height:1.08; letter-spacing:-.035em;
}

/* Footer social icons and separate contact/project columns. */
.hm-site-footer .hm-footer-grid { grid-template-columns:1.15fr .72fr .85fr 1.35fr 1fr; gap:44px; }
.hm-footer-social { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.hm-footer-social .hm-social-icon { display:inline-grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid rgba(166,199,214,.45); border-radius:12px; color:#d9e7ed; background:rgba(255,255,255,.035); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); text-decoration:none; cursor:default; transition:color .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease; }
.hm-footer-social .hm-social-icon svg { width:20px; height:20px; fill:currentColor; }
.hm-footer-social .hm-social-icon:hover { color:#fff; transform:translateY(-3px); box-shadow:0 9px 20px rgba(0,0,0,.2); }
.hm-footer-social .hm-social-facebook:hover { background:#1877f2; border-color:#1877f2; }
.hm-footer-social .hm-social-instagram:hover { background:linear-gradient(135deg,#f9ce34 0%,#ee2a7b 48%,#6228d7 100%); border-color:#ee2a7b; }
.hm-footer-social .hm-social-linkedin:hover { background:#0a66c2; border-color:#0a66c2; }
.hm-footer-social .hm-social-youtube:hover { background:#ff0033; border-color:#ff0033; }
.hm-footer-contact,.hm-footer-project-cta { min-width:0; }
.hm-footer-contact .hm-footer-note { margin:0 0 16px; color:rgba(255,255,255,.62); line-height:1.65; }
.hm-footer-contact dl { margin:0; }
.hm-footer-contact dl > div { margin-bottom:13px; }
.hm-footer-contact dt { margin-bottom:3px; color:#8facba; font-size:11px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.hm-footer-contact dd { margin:0; }
.hm-footer-grid .hm-footer-contact a { display:block; width:max-content; max-width:100%; color:#fff; font-size:14px; overflow-wrap:anywhere; text-decoration:none; }
.hm-footer-grid .hm-footer-contact a:hover { color:#f6b978; }
.hm-footer-project-cta p { margin-bottom:20px; }
.hm-footer-email-form { margin-top:22px; }
.hm-footer-email-form label { display:block; margin-bottom:8px; color:#9fb8c4; font-size:11px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.hm-footer-email-row { display:grid; grid-template-columns:minmax(0,1fr) auto; border:1px solid rgba(174,202,214,.52); border-radius:4px; overflow:hidden; background:rgba(255,255,255,.05); transition:border-color .2s ease,box-shadow .2s ease; }
.hm-footer-email-row:focus-within { border-color:#f6b978; box-shadow:0 0 0 3px rgba(241,112,5,.18); }
.hm-footer-email-form input { min-width:0; height:48px; padding:0 13px; border:0; outline:0; background:transparent; color:#fff; font:inherit; font-size:14px; }
.hm-footer-email-form input::placeholder { color:#8ba4b0; opacity:1; }
.hm-footer-email-form button { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:48px; padding:0 14px; border:0; background:#f17005; color:#fff; font:inherit; font-size:12px; font-weight:700; letter-spacing:.04em; cursor:pointer; transition:background-color .2s ease; }
.hm-footer-email-form button:hover { background:#cf5b00; }
.hm-footer-email-form button:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
.hm-footer-email-form small { display:block; margin-top:9px; color:rgba(255,255,255,.48); font-size:11px; line-height:1.5; }

@media(max-width:1200px) {
 .hm-site-footer .hm-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 36px; }
 .hm-footer-contact { grid-column:span 2; }
}

@media(max-width:767px) {
 body .hm-main :is(.hero,.subhero,.detail-hero,.hm-r-hero) h1 { font-size:38px!important; line-height:1.1; }
 .hm-footer-social { gap:12px; }
 .hm-site-footer .hm-footer-grid { grid-template-columns:1fr; }
 .hm-footer-contact { grid-column:auto; }
 .hm-footer-email-form { max-width:420px; }
}

/* Contact editorial layout, 0.3.5. */
.hm-main .hm-r .hm-c-story { padding:96px 0 110px; background:#fffdf9; }
.hm-c-story-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.hm-c-photos { position:relative; padding:0 70px 62px 0; }
.hm-c-photos figure { margin:0; }
.hm-c-photo-main { height:440px; overflow:hidden; }
.hm-main .hm-r .hm-c-photo-main img { width:100%; height:100%; object-fit:cover; }
.hm-c-photo-detail { position:absolute; right:0; bottom:0; width:46%; border:10px solid #fffdf9; background:#fffdf9; }
.hm-main .hm-r .hm-c-photo-detail img { width:100%; height:200px; object-fit:cover; }
.hm-main .hm-r .hm-c-photo-detail figcaption { padding:12px 0 0; font-size:14px; letter-spacing:0; }
.hm-c-story-copy > p { max-width:520px!important; }
.hm-c-story-copy .hm-r-textlink { display:inline-block; margin:8px 0 24px; }
.hm-c-conversation { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:14px; padding-top:24px; border-top:1px solid #d3dde0; }
.hm-c-conversation > span { flex-basis:100%; font-size:14px; color:#5d737e; }
.hm-c-conversation a { color:#102b3a; font-size:16px; text-underline-offset:5px; }
.hm-main .hm-r .hm-c-inquiry { background:#edf2f3; padding:76px 0 84px; }
.hm-c-form-heading { text-align:center; max-width:820px; margin:0 auto 34px; }
.hm-main .hm-r .hm-c-form { max-width:900px; margin:auto; background:transparent; padding:0; }
.hm-main .hm-r .hm-c-required { font-size:14px; margin-bottom:16px; }
.hm-main .hm-r .hm-c-form .hm-cf7-grid { gap:22px 28px; }
.hm-main .hm-r .hm-c-form textarea { min-height:160px; }
.hm-main .hm-r .hm-r-faq { background:#fffdf9; }
.hm-main .hm-r .hm-c-address { padding:40px 0; background:#f2f1ed; }
.hm-c-address-line { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.hm-c-address-line strong { display:block; color:#102b3a; font-size:16px; margin-bottom:8px; }
.hm-main .hm-r .hm-c-address-line p,.hm-main .hm-r .hm-c-address-line a { font-size:14px; }
.hm-main .hm-r .hm-c-address-line p { margin-bottom:10px; max-width:560px; }
.hm-main .hm-r .hm-c-visit-note { font-size:14px; margin:24px 0 0; }
.hm-main .hm-r #our-locations { scroll-margin-top:155px; }
@media(max-width:1100px) { .hm-c-story-grid { gap:45px; } .hm-c-photos { padding-right:40px; } .hm-c-photo-main { height:390px; } .hm-main .hm-r .hm-c-photo-detail img { height:160px; } }
@media(max-width:767px) { .hm-main .hm-r .hm-c-story { padding:48px 0; } .hm-c-story-grid { grid-template-columns:1fr; gap:32px; } .hm-c-photos { padding:0 45px 45px 0; } .hm-c-photo-main { height:300px; } .hm-c-photo-detail { width:48%; border-width:7px; } .hm-main .hm-r .hm-c-photo-detail img { height:135px; } .hm-main .hm-r .hm-c-photo-detail figcaption { font-size:12px; } .hm-main .hm-r .hm-c-inquiry { padding:48px 0; } .hm-c-form-heading { text-align:left; } .hm-c-address-line { grid-template-columns:1fr; gap:24px; } }

/* Contact details and location typography, 0.3.6. */
.hm-main .hm-r .hm-c-story { padding:80px 0; }
.hm-c-details { border-top:1px solid #ccd9de; padding-top:22px; }
.hm-main .hm-r .hm-c-person { font-size:14px; margin:0 0 18px; }
.hm-c-person strong { color:#102b3a; font-size:18px; margin-left:14px; }
.hm-c-details dl { display:grid; grid-template-columns:1fr 1.2fr; gap:22px; margin:0; }
.hm-c-details dt { color:#526f7e; font-size:14px; margin-bottom:6px; }
.hm-c-details dd { margin:0; color:#102b3a; font-size:16px; line-height:1.7; overflow-wrap:anywhere; }
.hm-c-details a { color:#102b3a; text-decoration:none; }
.hm-c-details a:hover { text-decoration:underline; text-underline-offset:4px; }
.hm-main .hm-r .hm-c-address { padding:64px 0; background:#e4ecee; }
.hm-c-location-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; padding-bottom:32px; margin-bottom:36px; border-bottom:1px solid #b5c9d0; }
.hm-main .hm-r .hm-c-location-heading h2 { margin:0; }
.hm-main .hm-r .hm-c-location-heading p:last-child { max-width:390px; margin:0; font-size:14px; }
.hm-c-address-line { gap:80px; }
.hm-c-address-line article { min-width:0; }
.hm-c-address-line article+article { border-left:1px solid #b5c9d0; padding-left:64px; }
.hm-c-location-title { display:flex; gap:20px; align-items:center; margin-bottom:22px; }
.hm-c-location-title svg { color:#527d90; flex-shrink:0; }
.hm-c-location-title span { display:block; font-size:14px; color:#526f7e; margin-bottom:5px; }
.hm-main .hm-r .hm-c-location-title h3 { font-size:28px; margin:0; }
.hm-c-address-line address { font-size:16px; font-style:normal; color:#304e5e; line-height:1.8; margin:0 0 20px; }
@media(max-width:1100px) { .hm-c-details dl { grid-template-columns:1fr; } .hm-c-address-line { gap:36px; } .hm-c-address-line article+article { padding-left:36px; } }
@media(max-width:767px) { .hm-main .hm-r .hm-c-story { padding:48px 0; } .hm-c-location-heading { flex-direction:column; align-items:flex-start; gap:16px; } .hm-c-address-line article+article { border-left:0; border-top:1px solid #b5c9d0; padding:28px 0 0; } .hm-main .hm-r .hm-c-address { padding:48px 0; } }
