/* Architectural details and restrained motion; existing page structure stays intact. */
.reading-progress { position:fixed; top:0; left:0; width:100%; height:2px; background:#b66143; transform:scaleX(0); transform-origin:left center; z-index:250; pointer-events:none; }
.site-has-scrolled .header,.site-has-scrolled .reference-home #SITE_HEADER { box-shadow:0 3px 16px #00000020; }
.back-to-top { position:fixed; right:26px; bottom:calc(24px + env(safe-area-inset-bottom,0px)); width:46px; height:46px; display:grid; place-items:center; padding:0; border:1px solid #d6d9d1; border-radius:50%; background:#fff; color:#2c4036; box-shadow:0 4px 18px #00000012; z-index:80; transition:background .2s,transform .2s; animation:control-appear .2s ease both; }
.back-to-top:hover { background:#f2f3ed; transform:translateY(-2px); }
body:has(input:focus) .back-to-top,body:has(textarea:focus) .back-to-top,body:has(select:focus) .back-to-top { visibility:hidden; }
@keyframes control-appear { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.reveal-target,.reference-home .reveal-target { opacity:1; transform:none; }
.reveal-target.is-revealed,.reference-home .reveal-target.is-revealed { animation:content-enter .45s cubic-bezier(.2,.65,.3,1) both; }
@keyframes content-enter { from { transform:translate3d(0,8px,0); } to { transform:none; } }
.project-details { padding-top:52px; padding-bottom:58px; border-top:1px solid #e3e5dc; }
.details-intro { max-width:660px; margin-bottom:32px; }
.detail-kicker { display:block; color:#68745d; font:600 10px/1.5 Arial,Helvetica,sans-serif; letter-spacing:1.6px; margin-bottom:12px; }
.details-intro h2,.details-intro h3 { color:#25372d; font:500 clamp(25px,2.6vw,34px)/1.25 Arial,Helvetica,sans-serif; letter-spacing:-.7px; margin:0 0 13px; text-wrap:balance; }
.details-intro>p { color:#73796f; font:15px/1.8 Arial,Helvetica,sans-serif; margin:0; }
.process-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.process-steps>article { border-top:1px solid #ccd2c5; padding-top:19px; }
.process-step-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:19px; }
.process-step-top svg { color:#4c6a58; }
.process-step-top>span { font:400 11px/1 Arial,Helvetica,sans-serif; color:#8a9484; }
.process-steps h3,.process-steps h4 { font:600 16px/1.45 Arial,Helvetica,sans-serif; color:#2d3a2f; margin:0 0 10px; }
.process-steps p { font:14px/1.75 Arial,Helvetica,sans-serif; color:#73796f; margin:0; text-align:left; }
.specifications-grid,.checklist-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.specifications-grid article,.checklist-grid article { padding:23px 0 0; border-top:1px solid #d9ddd2; }
.specifications-grid article>svg,.checklist-grid article>svg { color:#60724e; margin-bottom:17px; }
.specifications-grid h3,.specifications-grid h4,.checklist-grid h3 { color:#374337; font:600 16px/1.5 Arial,Helvetica,sans-serif; margin:0 0 9px; }
.specifications-grid strong { display:block; color:#26372c; font:500 16px/1.6 Arial,Helvetica,sans-serif; margin-bottom:10px; }
.specifications-grid p,.checklist-grid p { color:#73796f; font:14px/1.8 Arial,Helvetica,sans-serif; margin:0; }
.specification-footnote { color:#81877b; font:12px/1.7 Arial,Helvetica,sans-serif; margin:23px 0 0; }
.audience-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 40px; }
.audience-details-grid article { display:flex; align-items:flex-start; gap:17px; padding-top:23px; border-top:1px solid #d9ddd2; }
.audience-details-grid article>svg { color:#60724e; flex-shrink:0; margin-top:2px; }
.audience-details-grid h3 { color:#374337; font:600 16px/1.5 Arial,Helvetica,sans-serif; margin:0 0 10px; }
.audience-details-grid p { color:#73796f; font:14px/1.8 Arial,Helvetica,sans-serif; margin:0; }
.benefits-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:35px 26px; }
.benefit>svg { display:block; margin:0 auto 18px; color:#60724e; }
.benefit h3 { font-size:19px; min-height:52px; }
.benefit p { font-size:14px; }

.reference-home .source-value-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:24px max(24px,calc((100vw - 1120px)/2)); background:#f4f4ee; border-bottom:1px solid #e4e5dd; box-sizing:border-box; }
.reference-home .source-value-strip>div { display:flex; align-items:center; justify-content:center; gap:12px; font:500 13px/1.6 Arial,Helvetica,sans-serif; color:#4c5b45; }
.reference-home .source-value-strip svg { color:#6d7e5f; flex-shrink:0; }
.reference-home #comp-mpwbrje2 .design-configuration { display:flex; align-items:center; justify-content:center; gap:8px; color:#77806f; font:12px/1.6 Arial,Helvetica,sans-serif; margin:0 0 17px; }
.reference-home .design-configuration svg { flex-shrink:0; color:#7b896f; }
.reference-home #comp-mpwbrje2 .home-specifications { grid-column:1/-1; padding-top:34px; margin-top:4px; border-top:1px solid #d9ddd2; }
.reference-home .home-specifications .details-intro { margin-bottom:23px; }
.reference-home .home-specifications .specifications-grid { gap:30px; }
.reference-home .home-specifications .specifications-grid article>svg { margin-bottom:14px; }
.reference-home #comp-ljgsdwjv1 .source-benefits-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 25px; }
.reference-home .source-benefits-grid article>svg { display:block; color:#60724e; margin:0 auto 18px; }
.reference-home #comp-ljgsdwjv1 .source-benefits-grid h3 { font-size:19px; min-height:52px; }
.reference-home #comp-ljgsdwjv1 .source-benefits-grid p { font-size:14px; line-height:1.8; }
.reference-home .home-process-details { margin-top:35px; padding-top:32px; border-top:1px solid #d9ddd2; }
.reference-home .source-about-copy .home-process-details p { font:14px/1.75 Arial,Helvetica,sans-serif; margin:0; color:#73796f; text-align:left; }
.reference-home .home-project-checklist { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; padding:26px 0 5px; margin-top:23px; border-top:1px solid #d9ddd2; text-align:left; }
.reference-home .home-project-checklist svg { color:#60724e; margin-bottom:12px; }
.reference-home .home-project-checklist h3 { color:#374337; font:600 15px/1.5 Arial,Helvetica,sans-serif; margin:0 0 9px; }
.reference-home .home-project-checklist p { color:#73796f; font:13px/1.8 Arial,Helvetica,sans-serif; margin:0; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .design-card:hover .design-photo img { transform:scale(1.025); }
  .reference-home .source-design-gallery>a img { transition:filter .3s; }
  .reference-home .source-design-gallery>a:hover img { filter:brightness(.95); }
}
@media(max-width:1100px) {
  .benefits-grid,.reference-home #comp-ljgsdwjv1 .source-benefits-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
}
@media(max-width:760px) {
  .project-details { padding-top:34px; padding-bottom:40px; }
  .details-intro { margin-bottom:25px; }
  .details-intro>p { font-size:14px; }
  .specifications-grid,.checklist-grid { gap:24px; }
  .reference-home .source-value-strip { padding:20px 22px; gap:18px; }
  .reference-home .source-value-strip>div { font-size:12px; gap:9px; }
  .reference-home .source-value-strip svg { width:21px; height:21px; }
}
@media(max-width:600px) {
  .back-to-top { right:16px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); width:44px; height:44px; }
  .specifications-grid,.checklist-grid,.audience-details-grid { grid-template-columns:1fr; gap:23px; }
  .benefits-grid,.reference-home #comp-ljgsdwjv1 .source-benefits-grid { grid-template-columns:1fr; gap:28px; }
  .benefit>svg,.reference-home .source-benefits-grid article>svg { margin-left:0; margin-bottom:13px; }
  .benefit h3,.reference-home #comp-ljgsdwjv1 .source-benefits-grid h3 { min-height:0; font-size:20px; }
  .reference-home .source-value-strip { grid-template-columns:1fr; gap:16px; padding:23px 24px; }
  .reference-home .source-value-strip>div { justify-content:flex-start; max-width:300px; width:100%; margin:auto; font-size:13px; }
  .reference-home .home-project-checklist { grid-template-columns:1fr; gap:23px; }
  .reference-home #comp-mpwbrje2 .home-specifications { padding-top:28px; }
  .reference-home .home-specifications .specifications-grid { gap:24px; }
  .specifications-grid article,.checklist-grid article { padding-top:20px; }
  .specifications-grid strong { font-size:16px; }
}
@media(max-width:480px) {
  .process-steps { grid-template-columns:1fr; gap:25px; }
  .process-step-top { margin-bottom:13px; }
}
/* Readable home copy must take precedence over the saved page's resets. */
.reference-home #comp-ljgsdwjs { height:auto!important; min-height:0!important; padding:36px 24px!important; box-sizing:border-box; }
.reference-home #comp-ljgsdwjs [data-mesh-id$="gridContainer"] { display:block!important; min-height:0!important; }
.reference-home #comp-ljgsdwjs [data-testid=richTextElement] { position:relative!important; left:0!important; width:100%!important; max-width:820px!important; margin:0 auto!important; padding:0!important; height:auto!important; }
.reference-home #comp-ljgsdwjs h2,.reference-home #comp-ljgsdwjs h2 span { font:500 clamp(24px,2.5vw,32px)/1.3 Arial,Helvetica,sans-serif!important; color:#2d3d2f!important; text-align:center!important; }
.reference-home #comp-ljgsdwjs p,.reference-home #comp-ljgsdwjs p span { font:400 15px/1.8 Arial,Helvetica,sans-serif!important; text-align:center!important; color:#626c60!important; letter-spacing:normal!important; word-spacing:normal!important; }
.reference-home #comp-ljgsdwjs p { margin:18px 0 0!important; }
.reference-home #comp-mg0qgmec .home-process-details .details-intro { margin:0 0 26px; max-width:660px; }
.reference-home #comp-mg0qgmec .home-process-details .detail-kicker { display:block; margin:0 0 12px; color:#68745d; font:600 11px/1.5 Arial,Helvetica,sans-serif; letter-spacing:1.6px; }
.reference-home #comp-mg0qgmec .home-process-details .details-intro h3 { margin:0; color:#25372d; font:500 clamp(25px,2.6vw,32px)/1.3 Arial,Helvetica,sans-serif; letter-spacing:-.6px; }
.reference-home #comp-mg0qgmec .process-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; }
.reference-home #comp-mg0qgmec .process-steps>article { min-width:0; padding-top:20px; border-top:1px solid #ccd2c5; }
.reference-home #comp-mg0qgmec .process-step-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; color:#60724e; }
.reference-home #comp-mg0qgmec .process-step-top>span { color:#84907b; font:400 12px/1 Arial,Helvetica,sans-serif; }
.reference-home #comp-mg0qgmec .process-steps h4 { margin:0 0 10px; color:#30422f; font:600 16px/1.5 Arial,Helvetica,sans-serif; }
.reference-home #comp-mg0qgmec .source-about-copy p { color:#626c60; font:400 15px/1.85 Arial,Helvetica,sans-serif; text-align:left; }
.reference-home #comp-mg0qgmec .process-steps p { margin:0; color:#69735f; font:400 14px/1.8 Arial,Helvetica,sans-serif; }
.reference-home main :is(section,h1,h2,h3,h4,summary,.home-specifications,.home-process-details) { scroll-margin-top:130px; }
.reference-home #comp-mrelzqvs h2,.reference-home #comp-mrelzqvs h2 span { font:500 clamp(28px,3vw,39px)/1.3 Arial,Helvetica,sans-serif!important; color:#26372b; }
@media(max-width:1100px) {
  .reference-home #comp-mg0qgmec .process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .reference-home main :is(section,h1,h2,h3,h4,summary,.home-specifications,.home-process-details) { scroll-margin-top:96px; }
}
@media(max-width:480px) {
  .reference-home #comp-mg0qgmec .process-steps { grid-template-columns:1fr; gap:25px; }
  .reference-home #comp-ljgsdwjs p,.reference-home #comp-ljgsdwjs p span { text-align:left!important; }
}
/* Configuration cards use scoped rules to avoid the imported gallery styles. */
.specifications-details .details-intro,
.reference-home #comp-mpwbrje2 .home-specifications .details-intro { max-width:680px; margin:0 0 28px; text-align:left; }
.reference-home #comp-mpwbrje2 .home-specifications .detail-kicker { display:block; background:transparent; color:#68745d; border:0; border-radius:0; padding:0; margin:0 0 12px; font:600 11px/1.5 Arial,Helvetica,sans-serif; letter-spacing:1.8px; }
.reference-home #comp-mpwbrje2 .home-specifications .details-intro h3 { display:block; min-height:0; margin:0; color:#25372d; text-align:left; font:500 clamp(25px,2.5vw,32px)/1.25 Arial,Helvetica,sans-serif; letter-spacing:-.6px; }
.specifications-details .specifications-grid,
.reference-home #comp-mpwbrje2 .home-specifications .specifications-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.specifications-details .specification-card,
.reference-home #comp-mpwbrje2 .home-specifications .specification-card { min-width:0; padding:26px; border:1px solid #dfe5d8; border-radius:10px; background:#f8faf5; text-align:left; box-sizing:border-box; }
.specification-icon,
.reference-home #comp-mpwbrje2 .home-specifications .specification-icon { display:grid; place-items:center; width:48px; height:48px; margin:0 0 22px; border:1px solid #dfe6d6; border-radius:12px; background:#edf2e6; color:#596e4c; }
.specification-icon svg { display:block; width:25px; height:25px; }
.specifications-details .specification-card h3,
.reference-home #comp-mpwbrje2 .home-specifications .specification-card h4 { display:block; min-height:0; margin:0 0 12px; text-align:left; color:#68765e; font:500 13px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.2px; }
.specifications-details .specification-card strong,
.reference-home #comp-mpwbrje2 .home-specifications .specification-card strong { display:block; margin:0 0 16px; color:#2d402c; font:500 clamp(17px,1.6vw,21px)/1.5 Arial,Helvetica,sans-serif; letter-spacing:-.25px; overflow-wrap:anywhere; }
.specifications-details .specification-card p,
.reference-home #comp-mpwbrje2 .home-specifications .specification-card p { margin:0; padding-top:16px; border-top:1px solid #dfe5d8; color:#687160; text-align:left; font:400 14px/1.8 Arial,Helvetica,sans-serif; }
.specifications-details .specification-footnote,
.reference-home #comp-mpwbrje2 .home-specifications .specification-footnote { max-width:760px; margin:20px 0 0; color:#77806f; font:400 12px/1.8 Arial,Helvetica,sans-serif; text-align:left; }
@media(max-width:900px) {
  .specifications-details .specifications-grid,
  .reference-home #comp-mpwbrje2 .home-specifications .specifications-grid { grid-template-columns:1fr; gap:16px; }
  .specifications-details .specification-card,
  .reference-home #comp-mpwbrje2 .home-specifications .specification-card { padding:24px; }
  .specifications-details .specification-card strong,
  .reference-home #comp-mpwbrje2 .home-specifications .specification-card strong { font-size:21px; }
}
@media(max-width:480px) {
  .specifications-details .specification-card,
  .reference-home #comp-mpwbrje2 .home-specifications .specification-card { padding:22px; }
  .specification-icon,.reference-home #comp-mpwbrje2 .home-specifications .specification-icon { margin-bottom:18px; }
  .specifications-details .specification-card strong,
  .reference-home #comp-mpwbrje2 .home-specifications .specification-card strong { font-size:19px; }
}
/* Benefits: consistent numbered cards on the home and dedicated pages. */
.benefits-grid,
.reference-home #comp-ljgsdwjv1 .source-benefits-grid { gap:20px; }
.reference-home #comp-ljgsdwjv1 .source-benefits-grid { max-width:1160px; padding-top:44px; padding-bottom:48px; }
.benefits-grid .benefit-card,
.reference-home #comp-ljgsdwjv1 .source-benefits-grid .benefit-card { padding:24px 22px 26px; border:1px solid #e0e4d9; border-radius:8px; background:#fafbf7; text-align:left; box-sizing:border-box; }
.benefit-card-top,.reference-home #comp-ljgsdwjv1 .benefit-card-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:23px; }
.benefit-icon,.reference-home #comp-ljgsdwjv1 .benefit-icon { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; border:1px solid #e1e6d8; border-radius:12px; background:#edf1e6; color:#536649; }
.benefit-icon svg { display:block; width:26px; height:26px; }
.benefit-number { color:#939d89; font:400 13px/1 Arial,Helvetica,sans-serif; letter-spacing:1px; font-variant-numeric:tabular-nums; }
.benefits-grid .benefit-card h3,
.reference-home #comp-ljgsdwjv1 .source-benefits-grid .benefit-card h3 { margin:0 0 12px; min-height:52px; color:#34462f; text-align:left; font:500 19px/1.4 Arial,Helvetica,sans-serif; letter-spacing:-.25px; }
.benefits-grid .benefit-card p,
.reference-home #comp-ljgsdwjv1 .source-benefits-grid .benefit-card p { margin:0; color:#646c60; text-align:left; font:400 14px/1.8 Arial,Helvetica,sans-serif; }
@media(max-width:600px) {
  .benefits-grid,
  .reference-home #comp-ljgsdwjv1 .source-benefits-grid { gap:14px; }
  .benefits-grid .benefit-card,
  .reference-home #comp-ljgsdwjv1 .source-benefits-grid .benefit-card { padding:22px; }
  .benefit-card-top { margin-bottom:19px; }
  .benefits-grid .benefit-card h3,
  .reference-home #comp-ljgsdwjv1 .source-benefits-grid .benefit-card h3 { min-height:0; font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .reveal-target { opacity:1!important; transform:none!important; transition:none!important; }
  .reveal-target.is-revealed,.reference-home .reveal-target.is-revealed { animation:none!important; }
  .back-to-top { animation:none!important; transition:none!important; }
}
