.fp-estimate-section{padding:18px 0 64px;background:linear-gradient(125deg,#fffefa,#f0f7f2)}
.fp-estimate-shell{padding:clamp(20px,3vw,38px);border:1px solid #245363;border-radius:28px;background:#0a3145;box-shadow:0 24px 54px #082c3b25;color:#fff}
.fp-estimate-heading{padding:0 3px clamp(20px,2.5vw,30px)}
.fp-estimate-heading .eyebrow{color:#95e8cf;margin:0 0 8px}
.fp-estimate-heading h1{font-size:clamp(2rem,3.5vw,3.5rem);letter-spacing:-.045em;line-height:1.09;max-width:940px}
.fp-estimate-heading>p:not(.eyebrow){color:#e0f0ed;font-size:clamp(1rem,1.3vw,1.2rem);margin:12px 0 4px;max-width:740px}
.fp-estimate-heading small{color:#a9e2d0;font-weight:750;letter-spacing:.02em}
.fp-estimate-direct{display:flex;align-items:center;flex-wrap:wrap;gap:9px 18px;margin-top:16px;font-size:.85rem;color:#c8ddde}
.fp-estimate-direct a{color:#b5efdf;font-weight:750;text-underline-offset:3px}
.fp-estimate-section .fp-grid{grid-template-columns:minmax(0,1.4fr) minmax(310px,.72fr);gap:20px;align-items:start}
.fp-estimate-section .fp-form{background:#f5faf7;color:#173e4a;border:0;box-shadow:none;padding:clamp(14px,2.3vw,28px);min-width:0}
.fp-estimate-section .fp-panel{background:#fff;border:1px solid #d1e6dc;border-radius:18px;padding:clamp(18px,2vw,26px);margin-bottom:16px;box-shadow:0 8px 28px #072a3310;min-width:0}
.fp-estimate-section .fp-panel>.eyebrow{display:block;margin-bottom:5px}
.fp-estimate-section .fp-panel h2{font-size:clamp(1.35rem,2vw,1.9rem);margin:.1em 0 .5em}
.fp-estimate-section .fp-panel h3{font-size:1.18rem}
.fp-estimate-section .fp-form .fp-panel label{color:#173f52}
.fp-estimate-section .fp-check{padding:7px 0}
.fp-estimate-section .fp-summary{background:linear-gradient(160deg,#173f55,#092939);border:1px solid #376676;color:#e6f2f0;box-shadow:none;top:100px;max-height:calc(100vh - 116px);overflow:auto;scrollbar-width:thin}
.fp-estimate-section .fp-summary .eyebrow{color:#95e8cf}
.fp-estimate-section .fp-summary h2{color:#fff;font-size:clamp(1.3rem,1.8vw,1.8rem);margin:7px 0 15px}
.fp-estimate-section #fp-summary{display:flex;flex-direction:column;min-width:0}
.fp-estimate-section .fp-lines{margin:10px 0 16px}
.fp-estimate-section .fp-lines li{border-color:#ffffff2c;font-size:.87rem}
.fp-estimate-section .fp-lines strong{text-align:right;white-space:normal}
.fp-estimate-section .fp-price{order:-1;margin:3px 0 10px;color:#fa58ac;line-height:1.12}
.fp-estimate-section .fp-price-label{display:block;color:#d6e7e7;font-size:.84rem;font-weight:750;letter-spacing:.02em;line-height:1.4}
.fp-estimate-section .fp-price strong{display:block;font-size:clamp(2rem,3vw,3.25rem);font-weight:850;letter-spacing:-.045em;overflow-wrap:anywhere;margin-top:4px}
.fp-estimate-section .fp-price-note{display:block;color:#e4eff0;font-size:.78rem;font-weight:600;line-height:1.45;margin-top:8px}
.fp-estimate-section .fp-flags{color:#ffe0a5;font-size:.87rem}
.fp-estimate-section .fp-summary .fine-note{color:#c9dcdc;font-size:.78rem}
.fp-estimate-section .fp-summary-actions .button{border-color:#87b7a7;color:#fff;background:transparent}
.fp-estimate-section .fp-summary-actions .text-link{color:#b1f0d6;margin:0}
.fp-summary-contact-links{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap}.fp-summary-contact-links a{display:inline-flex;align-items:center;gap:6px}.fp-summary-contact-links svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fp-summary-contact-links a:focus-visible{outline:3px solid #fa58ac;outline-offset:4px;border-radius:3px}
.fp-estimate-section .fp-email-option{background:#f2f9f5}
.fp-mobile-review{display:none}
.fp-area-check{background:#f1f8f3;border:1px solid #cce2d5;border-radius:16px;padding:clamp(16px,2vw,24px);margin:26px 0}
.fp-area-check .eyebrow{display:block;margin:0 0 6px}
.fp-area-check h3{margin:0 0 10px}.fp-area-check p{margin-bottom:12px}
.fp-area-check-controls{display:flex;align-items:end;gap:10px}
.fp-area-check-controls input{min-width:0;flex:1}
.fp-area-check-controls .button{white-space:nowrap;flex:none}
.fp-area-check-actions{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0}
.fp-area-link{border:0;background:transparent;color:#08785d;font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 0}
#fp-area-result{border-radius:10px;padding:12px 14px;background:#e0f2e8;color:#134536;margin:12px 0}
#fp-area-result.review{background:#fff1d8;color:#624715}#fp-area-result.outside,#fp-area-result.error{background:#fce9e9;color:#713334}
#fp-area-result strong{display:block;margin-bottom:3px}#fp-area-result p{margin:0}
#fp-area-use{margin:3px 0 10px}
#fp-area-map-wrap{margin-top:14px}#fp-area-map{height:330px;border-radius:12px;overflow:hidden;background:#dce7e0;color:#254955;position:relative}
#fp-area-map>p{padding:15px}
.fp-area-marker{width:23px;height:23px;border-radius:50%;background:#c40080;border:3px solid #fff;box-shadow:0 0 0 7px #c4008050,0 2px 10px #09293980;animation:fp-location-pulse 1.6s ease-in-out infinite}
@keyframes fp-location-pulse{50%{box-shadow:0 0 0 15px #c4008015,0 2px 10px #09293980}}
.fp-conversion{padding:16px 0 5px;border-top:1px solid #d0e1d8}.fp-conversion h3{margin:0 0 8px}
.fp-estimate-section #fp-submit{background:#c40080;min-width:210px;margin-top:12px}
@media(max-width:1050px){.fp-estimate-section .fp-grid{grid-template-columns:1fr}.fp-estimate-section .fp-summary{position:static;max-height:none}.fp-mobile-review{display:block;background:#123f52;color:#fff;border-radius:14px;padding:17px;margin:16px 0}.fp-mobile-review .eyebrow{color:#a5ebd2;margin:0 0 5px}.fp-mobile-review strong{color:#fa58ac;font-size:1.7rem;display:block}.fp-mobile-review .text-link{color:#b1f0d6}}
@media(max-width:650px){.fp-estimate-section{padding:8px 0 38px}.fp-estimate-shell{border-radius:20px;padding:16px}.fp-estimate-heading h1{font-size:2rem}.fp-estimate-section .fp-form,.fp-estimate-section .fp-summary{padding:14px}.fp-estimate-section .fp-panel{padding:16px}.fp-area-check-controls{display:grid}.fp-area-check-controls .button{width:100%}#fp-area-map{height:265px}}
@media(prefers-reduced-motion:reduce){.fp-area-marker{animation:none}.fp-estimate-section *{scroll-behavior:auto!important;transition:none!important}}
.fp-estimate-heading{position:relative;isolation:isolate;min-height:240px;padding-right:clamp(0px,17vw,280px)}
.fp-estimate-heading:before{content:'';position:absolute;z-index:-1;top:-28px;right:-28px;width:min(61%,780px);height:calc(100% + 43px);background:linear-gradient(90deg,#0a3145 0%,#0a314599 30%,transparent 68%),linear-gradient(0deg,#0a3145 0%,transparent 32%),url('/assets/estimate-interior.webp') center right/cover no-repeat;opacity:.8;mask-image:linear-gradient(90deg,transparent,#000 28%);pointer-events:none}
.fp-range-note,.mini-range-note{font-size:.83rem;color:#136a58;font-weight:700;margin:3px 0}
#fp-area-result.eligible strong{color:#c40080;font-size:1.18rem}#fp-area-result.outside strong{color:#a31834;font-size:1.08rem}#fp-area-result.review{background:#f1f3f2;color:#284c58}#fp-area-result a{display:inline-block;margin-top:8px;font-weight:800}#fp-area-check form>.button{margin-top:14px}
@media(max-width:650px){.fp-estimate-heading{min-height:0;padding-right:0}.fp-estimate-heading:before{display:none}#fp-area-toggle,#fp-area-map-wrap{display:none!important}}
/* The measurement detail card has a light surface; keep its text readable in the plan. */
.fp-estimate-section .fp-summary{background:#fffdf5;color:#173e3c;border-color:#c5d9ce;box-shadow:0 10px 30px #09293916}
.fp-estimate-section .fp-summary .eyebrow{color:#08674e}
.fp-estimate-section .fp-summary h2{color:#173e3c}
.fp-estimate-section .fp-summary .fp-lines li{border-color:#cbded2}
.fp-estimate-section .fp-summary .fp-price{color:#7f1653;background:#f7e9ef;border-radius:14px;padding:12px;transition:background-color .3s ease}
.fp-estimate-section .fp-summary .fp-price.fp-price-changed{background:#d5f2e5}
.fp-estimate-section .fp-summary .fp-price-label,.fp-estimate-section .fp-summary .fp-price-note{color:#254955}
.fp-estimate-section .fp-summary .fp-flags{color:#704a0d}
.fp-estimate-section .fp-summary .fine-note{color:#375b58}
.fp-estimate-section .fp-summary .fp-summary-actions .button{border-color:#477d69;color:#164b42;background:#f2f8f3}
.fp-estimate-section .fp-summary .fp-summary-actions .text-link{color:#075e49}
.fp-estimate-section .fp-measure-summary{background:#f1f8f3;color:#173e3c;border-color:#b7d4c5}
.fp-estimate-section .fp-measure-summary strong,.fp-estimate-section .fp-measure-summary li,.fp-estimate-section .fp-measure-summary p{color:#173e3c}
.fp-estimate-section #fp-carpet-section,.fp-estimate-section #fp-tile-section,.fp-estimate-section #fp-upholstery-section,.fp-estimate-section #fp-rugs-section{margin:2px 0 20px 28px;padding:14px;background:#f7fbf7;border:1px solid #cbded2;border-radius:14px;min-width:0}
.fp-estimate-section .fp-hall-length-control{display:flex;align-items:stretch;gap:4px}
.fp-estimate-section .fp-hall-length-control input{min-width:0;flex:1;appearance:textfield}
.fp-estimate-section .fp-hall-length-control input::-webkit-inner-spin-button,.fp-estimate-section .fp-hall-length-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.fp-estimate-section .fp-hall-length-control button{min-width:44px;min-height:44px;border:1px solid #6f9e87;background:#ecf8f0;color:#154a3b;border-radius:8px;font-size:1.3rem;cursor:pointer}
.fp-estimate-section .fp-hall-length-control button:focus-visible{outline:3px solid #ba3b83;outline-offset:2px}
.fp-estimate-section .fp-specialty-card{overflow:hidden}
.fp-estimate-section .fp-specialty-card select{min-height:44px}
@media(max-width:650px){.fp-estimate-section #fp-carpet-section,.fp-estimate-section #fp-tile-section,.fp-estimate-section #fp-upholstery-section,.fp-estimate-section #fp-rugs-section{margin-left:0;padding:12px}.fp-estimate-section .fp-summary{overflow:visible}}
@media(prefers-reduced-motion:reduce){.fp-estimate-section .fp-summary .fp-price{transition:none}}
.fp-estimate-section .fp-specialty-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:8px;margin:10px 0}
.fp-estimate-section .fp-specialty-picks button{display:grid;justify-items:center;align-content:center;gap:5px;min-height:76px;padding:6px;border:1px solid #a9cbbb;border-radius:10px;background:#fff;color:#17483d;cursor:pointer;font:inherit;font-size:.77rem;font-weight:700;line-height:1.2;text-align:center}
.fp-estimate-section .fp-specialty-picks button[aria-pressed=true]{border:2px solid #087456;background:#e1f3e9;color:#104835}
.fp-estimate-section .fp-furniture-sprite{position:absolute;overflow:hidden}
.fp-estimate-section .fp-specialty-picks svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.fp-estimate-section .fp-specialty-picks button:focus-visible{outline:3px solid #ba3b83;outline-offset:2px}
.fp-estimate-section .fp-selection-detail{border-bottom:1px solid #cbded2;padding:6px 0 10px;margin:0 0 8px;color:#254955;font-size:.88rem}
.fp-estimate-section .fp-selection-detail ul{padding-left:20px;margin:6px 0 0}

.fp-rug-price{display:block;color:#17573f;font-size:1rem;font-weight:800;margin:.5rem 0}

.fp-estimate-direct .fp-estimate-contact{color:#ff87cc;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.fp-estimate-direct .fp-estimate-contact:hover{color:#ffb3df}
.fp-estimate-direct .fp-estimate-contact:focus-visible{outline:3px solid #ff87cc;outline-offset:4px;border-radius:2px}
