/* Round 45 editorial eco catalogue: restrained typography, premium residential rhythm. */
body.pmm-eco .r5-section{background:#f9f8f4}
body.pmm-eco .r5-hero .r5-inner p{max-width:620px;line-height:1.6}
.eco45-headline{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:45px;align-items:end;margin:4px 0 30px;padding-bottom:25px;border-bottom:1px solid #dce3db}
.eco45-eyebrow,.eco45-category{font:750 11px/1.5 system-ui,Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#9b7843}
.eco45-headline h2{font:400 clamp(32px,4vw,47px)/1.14 Georgia,serif;color:#173b34;margin:12px 0 0}
.eco45-headline p{font:15px/1.7 system-ui,Arial,sans-serif;color:#44584d;margin:0;max-width:540px}
.eco45-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.eco45-card{background:#fff;border:1px solid #e0e5df;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px #233c3010;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.eco45-card:hover{box-shadow:0 15px 26px #233c301c;transform:translateY(-2px)}
.eco45-photo-link{width:100%;display:block;padding:0;background:none;border:0;cursor:pointer}
.eco45-photo-link img{width:100%;height:227px;display:block;object-fit:cover;object-position:center;background:#e7ebe3}
.eco45-card-content{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;gap:12px}
.eco45-card-name{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.eco45-card-name h3{font:400 clamp(23px,2.5vw,29px)/1.1 Georgia,serif;color:#173b34;margin:0}
.eco45-card-name span{font:700 12px system-ui,Arial,sans-serif;white-space:nowrap;color:#677a70}
.eco45-teaser{font:14px/1.5 system-ui,Arial,sans-serif;color:#596961;margin:0!important;min-height:42px}
.eco45-teaser span{color:#c4b9a3;padding:0 4px}
.eco45-card-footer{margin-top:auto;padding-top:14px;border-top:1px solid #e5ebe4;display:flex;justify-content:space-between;align-items:end;gap:8px}
.eco45-price{color:#163d32;font:750 15px/1.28 system-ui,Arial,sans-serif;margin:0!important}
.eco45-price small{display:block;color:#76867c;font-weight:450;font-size:11px;line-height:1.6}
.eco45-more{background:none;border:none;color:#45674e;cursor:pointer;white-space:nowrap;font:750 12px system-ui,Arial,sans-serif;padding:5px 0;text-align:right;text-decoration:underline;text-underline-offset:4px}
.eco45-more:hover{color:#a67d3f}
.eco45-price-note{font:12px/1.65 system-ui,Arial,sans-serif;color:#65756e;max-width:980px;margin:24px 0 42px!important}
.eco45-outdoor{border:1px solid #e1e5db;border-radius:12px;background:#f1f2ec;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:center;overflow:hidden;margin:20px 0 35px}
.eco45-outdoor-copy{padding:28px 25px 29px 30px}.eco45-outdoor h3,.eco45-materials h3{font:400 30px/1.2 Georgia,serif;color:#173b34;margin:8px 0 13px}.eco45-outdoor p,.eco45-materials p{font:14px/1.75 system-ui,Arial,sans-serif;color:#52665b;margin:0}
.eco45-outdoor-pics{display:grid;grid-template-columns:1fr 1fr;gap:5px;height:230px}.eco45-outdoor-pics img{width:100%;height:230px;object-fit:cover}
.eco45-materials{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:28px 0;border-top:1px solid #d8e2da;border-bottom:1px solid #d8e2da;margin:0 0 35px}.eco45-materials h4{font:700 14px system-ui,Arial,sans-serif;color:#21473a;margin:0 0 7px}.eco45-materials h4:not(:first-child){margin-top:14px}
body.pmm-eco .eco45-custom{margin-top:30px}
/* Model detail dialog is a guided product sheet, not a second landing page. */
.eco45-dialog{width:min(1200px,calc(100% - 35px));max-height:min(91vh,1000px);border:0;border-radius:14px;padding:0;background:#fbfaf7;color:#203f33;box-shadow:0 28px 90px #081b14a8}
.eco45-dialog::backdrop{background:rgba(10,23,17,.76)}
.eco45-dialog-content{padding:24px 28px 30px}.eco45-modal-top{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #dae3da;padding-bottom:14px}
.eco45-modal-top button{border:1px solid #cddacf;color:#224439;background:#fff;border-radius:20px;padding:9px 15px;cursor:pointer;font:700 13px system-ui,Arial,sans-serif}
.eco45-modal-heading{padding:21px 0 19px}.eco45-modal-heading small{font:800 11px system-ui,Arial,sans-serif;text-transform:uppercase;color:#927044;letter-spacing:1px}.eco45-modal-heading h2{font:400 clamp(30px,4vw,45px)/1.1 Georgia,serif;color:#173c32;margin:9px 0}.eco45-modal-heading p{font:15px/1.65 system-ui,Arial,sans-serif;color:#56685c;max-width:910px;margin:0}
.eco45-modal-layout{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:32px;align-items:start}
.eco45-primary{margin:0;background:#eef0eb;border:1px solid #dbe3d9;border-radius:10px;overflow:hidden}.eco45-primary img{display:block;width:100%;height:385px;object-fit:cover;cursor:zoom-in}.eco45-primary img.is-plan{object-fit:contain;background:#fff}
.eco45-primary figcaption{padding:12px 14px;display:flex;justify-content:space-between;gap:10px;align-items:center;font:12px/1.3 system-ui,Arial,sans-serif;color:#65756a}
.eco45-primary figcaption a{color:#2a5a49;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.eco45-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.eco45-thumbs button{border:2px solid transparent;padding:0;background:#fff;cursor:pointer;border-radius:7px;overflow:hidden;min-width:0}.eco45-thumbs button.active{border-color:#b98f49}.eco45-thumbs img{height:70px;object-fit:cover;display:block;width:100%;background:#eef0eb}.eco45-thumbs button span{display:block;font:10px/1.3 system-ui,Arial,sans-serif;color:#5d6d62;text-align:left;padding:5px;min-height:36px}
.eco45-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-bottom:18px}.eco45-facts>div{border-bottom:1px solid #e1e7df;padding:10px 0;min-width:0}.eco45-facts dt{font:700 10px system-ui,Arial,sans-serif;text-transform:uppercase;color:#879587;letter-spacing:.5px;margin-bottom:6px}.eco45-facts dd{font:14px/1.45 system-ui,Arial,sans-serif;margin:0;color:#254539}
.eco45-price-panel{background:#f1ede4;padding:16px 20px;border:1px solid #e6decd;border-radius:8px;display:flex;flex-direction:column;gap:6px}.eco45-price-panel small{color:#967544;font:750 10px system-ui,Arial,sans-serif;letter-spacing:1px}.eco45-price-panel strong{font:750 24px system-ui,Arial,sans-serif;color:#1a4736}.eco45-price-panel span{font:12px system-ui,Arial,sans-serif;color:#5b6b60}
.eco45-spec-block{margin-top:17px}.eco45-spec-block h3{font:500 22px Georgia,serif;margin:0 0 9px}.eco45-spec-block p,.eco45-timing,.eco45-legal{font:12px/1.65 system-ui,Arial,sans-serif;color:#5a6c60;margin:5px 0 9px}
.eco45-timing{font-weight:650!important;color:#3a5a49!important}.eco45-inquire{display:block;text-align:center;background:#1b4939;color:#fff!important;text-decoration:none;border-radius:7px;font:750 13px system-ui,Arial,sans-serif;padding:14px 18px;margin:18px 0 10px}.eco45-inquire:hover{background:#916b36}.eco45-legal{font-size:11px!important}
@media(max-width:1060px){.eco45-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eco45-modal-layout{grid-template-columns:1fr}.eco45-dialog{width:min(820px,calc(100% - 26px))}.eco45-primary img{height:310px}}
@media(max-width:700px){.eco45-headline,.eco45-materials,.eco45-outdoor{grid-template-columns:1fr;gap:15px}.eco45-headline{padding-bottom:15px;margin-bottom:18px}.eco45-grid{grid-template-columns:1fr}.eco45-photo-link img{height:245px}.eco45-card-content{padding:18px}.eco45-outdoor-copy{padding:22px}.eco45-outdoor-pics,.eco45-outdoor-pics img{height:180px}.eco45-materials{gap:15px}.eco45-dialog-content{padding:15px 14px 20px}.eco45-modal-layout{gap:17px}.eco45-primary img{height:270px}.eco45-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.eco45-thumbs img{height:60px}.eco45-thumbs button span{font-size:9px}.eco45-facts{gap:0 10px}}
@media(prefers-reduced-motion:reduce){.eco45-card{transition:none}}
@media(max-width:700px){.eco45-modal-top button{white-space:nowrap;flex-shrink:0}.eco45-modal-top .eco45-eyebrow{max-width:210px}}

.eco45-hotel-terms{margin:8px 0 14px;border-top:1px solid #dbe3dc;border-bottom:1px solid #dbe3dc;padding:9px 0;font:12px/1.6 system-ui,Arial,sans-serif;color:#52675c}.eco45-hotel-terms summary{cursor:pointer;font-weight:750;color:#2f5c46}.eco45-hotel-terms p{margin:9px 0 0}
