/* Home gallery and architectural price calculator, v1.4.0 */
.abs-home-types{background:#fbfcf9}
.abs-home-gallery{background:#f7f8f3}
.abs-calc-v2{padding:0;border:1px solid #dce6df;border-radius:18px;box-shadow:0 22px 55px #19372a12;overflow:hidden}
.abs-calc-v2 form{margin:0}
.abs-calc-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(335px,.8fr);align-items:stretch}
.abs-calc-main{padding:clamp(25px,3.3vw,48px)}
.abs-calc-intro{padding-bottom:20px;border-bottom:1px solid #e1e8e2}
.abs-calc-intro .abs-eyebrow{margin-bottom:12px}
.abs-calc-intro h3{font-size:clamp(26px,2.5vw,36px);max-width:560px}
.abs-calc-intro p{margin:16px 0 0;font-size:14px;color:#6e7f72;max-width:510px}
.abs-calc-v2 label{font-size:12px;font-weight:700;color:#294b3e;letter-spacing:.01em;margin:20px 0 0}
.abs-calc-v2 input:not([type=checkbox]),.abs-calc-v2 select{border:1px solid #cfdcd2;border-radius:9px;min-height:54px;padding:13px 14px;background:#fafbf8;color:#243b31;font-size:15px;transition:border-color .2s,box-shadow .2s}
.abs-calc-v2 input:not([type=checkbox]):focus,.abs-calc-v2 select:focus{border-color:#3f815b;box-shadow:0 0 0 3px #36734c1c;outline:0}
.abs-calc-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.abs-calc-more{margin-top:25px;border-top:1px solid #e2e9e1;padding-top:20px}
.abs-calc-more summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:700;color:#1e5a42;padding:8px 0}
.abs-calc-more summary::-webkit-details-marker{display:none}
.abs-calc-more summary:after{content:'+';font-size:25px;font-weight:400;line-height:1}
.abs-calc-more[open] summary:after{content:'−'}
.abs-calc-more summary span{font-weight:400;font-size:12px;color:#8a978d;margin-left:auto}
.abs-calc-extra{padding-bottom:16px}
.abs-calc-extra label{font-weight:600}
.abs-calc-aside{background:#153d33;display:flex;flex-direction:column;min-width:0;color:#fff}
.abs-calc-estimate{padding:42px 36px 30px;background:radial-gradient(circle at 100% 0%,#28604b,transparent 50%);border-bottom:1px solid #ffffff2c}
.abs-calc-overline{display:block;color:#d0decf;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.abs-calc-estimate strong{display:block;font:500 clamp(36px,3.4vw,54px)/1.15 Georgia,serif;color:#f2cd8f;letter-spacing:-.04em;margin:16px 0 4px}
.abs-calc-estimate>small{display:block;color:#ccdbce;font-size:12px}
.abs-calc-estimate #abs-calc-geometry{font-size:13px;line-height:1.6;color:#e1eae0;margin:24px 0 8px}
.abs-calc-estimate .abs-calc-note{font-size:12px;line-height:1.65;color:#cbd8cc;margin:8px 0 0}
.abs-calc-lead{background:#fff;color:#193b2b;padding:30px 36px 38px;flex:1}
.abs-calc-lead h4{font:500 27px/1.2 Georgia,serif;margin:0 0 8px}
.abs-calc-lead>p{font-size:13px;color:#66776a;margin:0 0 12px}
.abs-calc-lead label{margin-top:15px}
.abs-calc-lead .abs-check{display:flex;margin:20px 0 15px;align-items:flex-start;line-height:1.5;font-size:11px}
.abs-calc-lead .abs-check input{margin-top:3px;flex:0 0 auto}
.abs-calc-lead .abs-check span{color:#697a6e}
.abs-calc-lead .abs-check a{color:#225e46;text-decoration:underline}
.abs-calc-lead .abs-btn{width:100%;min-height:53px;font-size:13px}
.abs-calc-disclaimer{display:block;text-align:center;color:#7a877e;font-size:11px;line-height:1.5;margin-top:13px}
.abs-gallerycarousel{position:relative;min-width:0}
.abs-carouseltrack{display:flex;gap:20px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:1px 1px 10px}
.abs-carouseltrack::-webkit-scrollbar{display:none}
.abs-carouselslide{position:relative;flex:0 0 calc((100% - 40px)/3);min-width:0;display:block;overflow:hidden;border-radius:10px;scroll-snap-align:start;background:#dde5dc;min-height:270px;text-decoration:none;color:#fff!important}
.abs-carouselslide img{width:100%;height:310px;object-fit:cover;display:block;transition:transform .5s ease}
.abs-carouselslide:hover img{transform:scale(1.045)}
.abs-carouselslide:after{content:'';position:absolute;inset:40% 0 0;pointer-events:none;background:linear-gradient(transparent,#0d211abc)}
.abs-carouseltitle{position:absolute;z-index:1;bottom:24px;left:24px;right:22px;font:500 25px/1.2 Georgia,serif;text-shadow:0 2px 12px #0007}
.abs-carouselcontrols{display:flex;align-items:center;gap:22px;margin-top:20px}
.abs-carouselbuttons{display:flex;gap:8px}
.abs-carouselbuttons button{width:46px;height:46px;border:1px solid #a2b7a8;border-radius:50%;background:transparent;color:#2c5b45;font-size:28px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.abs-carouselbuttons button:hover{background:#204d3a;color:#fff}
.abs-carouselprogress{height:3px;flex:1;background:#d4e0d6;border-radius:3px;overflow:hidden}
.abs-carouselprogress span{display:block;height:100%;width:12%;background:#286e4d;transition:width .4s ease}
.abs-carouselcounter{font-size:12px;letter-spacing:.12em;color:#6e8174;min-width:65px;text-align:right}
@media(max-width:950px){.abs-calc-layout{grid-template-columns:1fr}.abs-calc-aside{display:grid;grid-template-columns:.9fr 1.1fr}.abs-calc-estimate{border-bottom:0;border-right:1px solid #ffffff2c}.abs-carouselslide{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:680px){.abs-calc-v2{border-radius:12px}.abs-calc-main{padding:25px 20px}.abs-calc-aside{display:flex}.abs-calc-estimate{padding:28px 22px;border-right:0}.abs-calc-lead{padding:26px 22px}.abs-calc-pair{grid-template-columns:1fr;gap:0}.abs-calc-intro h3{font-size:28px}.abs-calc-more summary span{font-size:11px}.abs-carouselslide{flex-basis:86%}.abs-carouselslide img{height:260px}.abs-carouseltitle{font-size:23px;bottom:18px;left:19px}.abs-carouselcontrols{margin-top:14px}.abs-carouselbuttons button{height:42px;width:42px}}
@media(prefers-reduced-motion:reduce){.abs-carouseltrack{scroll-behavior:auto}.abs-carouselslide img{transition:none}}

/* Four visual plans make the main calculator feel like a design tool. */
.abs-calc-v2{border-radius:24px;border-color:#d8e2d9;box-shadow:0 30px 75px #172d2117}
.abs-calc-v2 .abs-calc-main{padding:44px 44px 50px}
.abs-calc-intro{border:0;padding:0 0 4px}
.abs-calc-intro h3{font-size:clamp(30px,2.65vw,39px);letter-spacing:-.035em}
.abs-calc-intro p{margin:12px 0 0;max-width:590px;line-height:1.65}
.abs-calc-v2 .abs-calc-shapes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:25px}
.abs-calc-v2 .abs-shape-option{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:#f6f8f4;border:1px solid #dce5dc;border-radius:12px;color:#335044;min-height:105px;padding:10px 6px;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.abs-calc-v2 .abs-shape-option:hover{border-color:#7f9c89;background:#fff}
.abs-calc-v2 .abs-shape-option.is-selected{background:#e8f1e9;border-color:#23654c;box-shadow:0 0 0 1px #23654c}
.abs-calc-v2 .abs-shape-option svg{display:block;width:78px;max-width:100%;height:46px;fill:none;stroke:#477b60;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.abs-calc-v2 .abs-shape-option.is-selected svg{stroke:#14543b}
.abs-calc-v2 .abs-shape-option span{font-size:12px;font-weight:700;line-height:1.2}
.abs-calc-v2 .abs-calc-shape-select{margin-top:23px}
.abs-calc-v2 label{font-size:12px;letter-spacing:.035em}
.abs-calc-v2 input:not([type=checkbox]),.abs-calc-v2 select{min-height:54px;border-radius:10px;font-size:15px;background:#fff;border-color:#d4ded5}
.abs-calc-v2 .abs-calc-pair{gap:15px}
.abs-calc-v2 .abs-calc-estimate{padding:48px 38px 34px;background:radial-gradient(circle at 110% -18%,#4a7c5d 0%,#1e5846 36%,#153d33 78%)}
.abs-calc-v2 .abs-calc-estimate strong{font-size:clamp(40px,3.5vw,60px);line-height:1.12;margin:22px 0 12px}
.abs-calc-v2 .abs-calc-estimate #abs-calc-geometry{margin-top:32px;padding:16px 0 0;border-top:1px solid #ffffff32}
.abs-calc-v2 .abs-calc-estimate .abs-calc-note{color:#d0ddd4}
.abs-calc-v2 .abs-calc-lead{padding:33px 38px 44px}
.abs-calc-v2 .abs-calc-lead h4{font-size:29px}
.abs-calc-v2 .abs-calc-lead .abs-btn{border-radius:9px;background:#cda96b;color:#12261c!important}
.abs-calc-v2 .abs-calc-lead .abs-btn:hover{background:#e3c185}
.abs-gallerycarousel{margin-top:12px}
.abs-carouselslide{border-radius:14px;box-shadow:0 14px 27px #1a302017}
.abs-carouseltrack{padding-bottom:17px}
.abs-carouselslide img{height:330px}
.abs-carouselcontrols{margin-top:24px}
@media(max-width:1050px){.abs-calc-v2 .abs-calc-main{padding:36px 30px}.abs-calc-v2 .abs-calc-estimate{padding:34px 28px}.abs-calc-v2 .abs-calc-lead{padding:30px 28px}}
@media(max-width:680px){.abs-calc-v2{border-radius:14px}.abs-calc-v2 .abs-calc-main{padding:27px 20px 32px}.abs-calc-v2 .abs-calc-shapes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:17px}.abs-calc-v2 .abs-shape-option{min-height:88px}.abs-calc-v2 .abs-shape-option svg{height:35px}.abs-calc-v2 .abs-calc-estimate{padding:30px 24px}.abs-calc-v2 .abs-calc-lead{padding:28px 24px}.abs-carouselslide img{height:265px}}
