/* Rose and Thorn: styles for reviews, floor finder, estimator, before/after, process, mobile bar */
:root{--rt-ink:#282b25;--rt-muted:#5b5d53;--rt-paper:#efebe1;--rt-sand:#dcd8c9;--rt-card:#f7f4ec;--rt-line:#c9c9ba;--rt-olive:#707451;--rt-olive-dk:#555c3d;--rt-dark:#242722;--rt-gold:#a58b51}

/* Hero trust line */
.rt-hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:22px;font-size:12px;letter-spacing:.3px;color:#c9cbbd}
.rt-hero-trust>span{position:relative;padding-left:14px}
.rt-hero-trust>span:before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#b6b990}
.rt-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid #ffffff38;background:#ffffff10;text-decoration:none;color:#eee9dc;font-size:12px}
.rt-badge strong{font-size:13px}
.rt-stars{color:#d9b45b;letter-spacing:1px}
@media(max-width:480px){.rt-hero-trust{justify-content:center;text-align:center}}

/* Shared card */
.rt-card{background:var(--rt-card);border:1px solid var(--rt-line);padding:34px;display:flex;flex-direction:column;min-width:0}
.rt-card h3{margin:8px 0 22px;font-size:28px}
.rt-card-kicker{margin:0;font-size:10px;letter-spacing:2.6px;text-transform:uppercase;font-weight:bold;color:#595e40}
.rt-plan{background:#e6e2d6;border-block:1px solid var(--rt-line)}
.rt-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
@media(max-width:900px){.rt-plan-grid{grid-template-columns:1fr}.rt-card{padding:26px 22px}}

/* Quiz */
.rt-quiz-progress{height:3px;background:#d6d2c4;margin-bottom:18px}
.rt-quiz-progress i{display:block;height:100%;background:var(--rt-olive);transition:width .35s ease}
.rt-quiz-count{margin:0 0 6px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--rt-muted)}
.rt-quiz-q,.rt-quiz-result{font-family:Georgia,serif;font-size:23px;line-height:1.25;margin:0 0 18px;outline:none}
.rt-quiz-result{font-size:30px;color:var(--rt-olive-dk)}
.rt-quiz-options{display:grid;gap:10px}
.rt-quiz-options button{text-align:left;padding:14px 16px;border:1px solid #b4b5a3;background:#fff;color:var(--rt-ink);cursor:pointer;font-size:15px;transition:border-color .15s,background .15s,transform .15s}
.rt-quiz-options button:hover{border-color:var(--rt-olive);background:#f1efe5;transform:translateX(3px)}
.rt-quiz-back,.rt-quiz-restart{margin-top:16px;align-self:flex-start;background:none;border:0;padding:6px 0;color:var(--rt-muted);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.rt-quiz-why{font-size:15px;color:#4e5247;margin:0 0 14px}
.rt-quiz-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:8px}
.rt-quiz-more{font-size:14px;color:#48503b}
.rt-quiz-note{font-size:12px;color:var(--rt-muted);margin:14px 0 0}

/* Estimator */
.rt-est-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.rt-est-form label{font-size:12px;color:#3d4136;font-weight:600}
.rt-est-form label:first-child{grid-column:1/-1}
.rt-est-form input[type=number],.rt-est-form select{background:#fff;color:var(--rt-ink);border:1px solid #b4b5a3;padding:11px 12px;font-size:16px}
.rt-est-form label[hidden]{display:none}
.rt-est-form small{display:block;font-weight:400;color:var(--rt-muted);margin-top:5px}
.rt-est-form fieldset{grid-column:1/-1;border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.rt-est-form legend{font-size:12px;font-weight:600;color:#3d4136;margin-bottom:8px;padding:0}
.rt-check{display:flex!important;align-items:center;gap:9px;font-weight:400!important;font-size:14px!important;cursor:pointer}
.rt-check input{width:18px;height:18px;margin:0;accent-color:var(--rt-olive);flex:none}
@media(max-width:480px){.rt-est-form,.rt-est-form fieldset{grid-template-columns:1fr}}
.rt-est-result{margin-top:24px;padding-top:22px;border-top:1px solid var(--rt-line)}
.rt-est-label{margin:0;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--rt-muted)}
.rt-est-total{margin:4px 0 12px;font-family:Georgia,serif;font-size:clamp(30px,3.4vw,40px);line-height:1.1;color:var(--rt-olive-dk)}
.rt-est-break{margin:0 0 20px;display:grid;gap:6px;font-size:14px}
.rt-est-break div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted #c3c1b2;padding-bottom:6px}
.rt-est-break dt{color:var(--rt-muted)}.rt-est-break dd{margin:0;font-weight:600}
.rt-est-note,.rt-est-empty{font-size:12px;color:var(--rt-muted);margin:12px 0 0}
.rt-est-subfloor{margin:0 0 18px;padding:12px 14px;border-left:3px solid var(--rt-gold);background:#efe9da;font-size:13px;line-height:1.5;color:#4e5247}
.rt-est-subfloor strong{display:block;color:var(--rt-ink);margin-bottom:3px}
.rt-est-soon{font-size:15px;color:#4e5247;margin:0 0 18px}

/* Reviews */
.rt-reviews{background:var(--rt-paper)}
.rt-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.rt-review{margin:0;background:var(--rt-card);border:1px solid var(--rt-line);padding:28px;display:flex;flex-direction:column;gap:14px}
.rt-review blockquote{margin:0;font-family:Georgia,serif;font-size:19px;line-height:1.45;color:var(--rt-ink)}
.rt-review figcaption{margin-top:auto;font-size:13px;color:var(--rt-muted)}
.rt-review figcaption strong{color:var(--rt-ink)}
.rt-review figcaption small{display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;margin-top:4px}
.rt-review-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:26px;font-size:14px;max-width:none}
.rt-review-links a{color:#48503b;font-weight:600}

/* Before / after */
.rt-ba-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.rt-ba{margin:0}
.rt-ba-frame{--pos:50%;position:relative;aspect-ratio:4/3;overflow:hidden;background:#ccc;user-select:none;touch-action:pan-y}
.rt-ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rt-ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.rt-ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;pointer-events:none;box-shadow:0 0 0 1px #0003}
.rt-ba-handle:after{content:"‹ ›";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;color:var(--rt-ink);display:grid;place-items:center;font-size:18px;box-shadow:0 2px 10px #0004}
.rt-ba-frame input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.rt-ba-frame input:focus-visible~.rt-ba-handle:after{outline:3px solid var(--rt-gold)}
.rt-ba-tag{position:absolute;top:12px;padding:4px 9px;background:#242722d0;color:#eee9dc;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;pointer-events:none}
.rt-ba-tag-b{left:12px}.rt-ba-tag-a{right:12px}
.rt-ba figcaption{padding:12px 0;font-size:14px;display:flex;flex-wrap:wrap;gap:4px 12px}
.rt-ba figcaption span{color:var(--rt-muted)}

/* Process */
.rt-process{background:var(--rt-paper)}
.rt-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--rt-line)}
.rt-steps li{padding:28px 24px 28px 0;position:relative}
.rt-steps li+li{padding-left:24px;border-left:1px solid var(--rt-line)}
.rt-steps span{font-size:11px;letter-spacing:2px;color:#777c57;font-weight:bold}
.rt-steps h3{font-size:24px;margin:10px 0 10px}
.rt-steps p{font-size:14px;color:#5d6155;margin:0 0 12px}
.rt-steps small{display:inline-block;font-size:11px;letter-spacing:.5px;padding:4px 9px;background:var(--rt-sand);color:#3d4136}
@media(max-width:900px){.rt-steps{grid-template-columns:1fr 1fr}.rt-steps li:nth-child(3){padding-left:0;border-left:0}.rt-steps li:nth-child(n+3){border-top:1px solid var(--rt-line)}}
@media(max-width:520px){.rt-steps{grid-template-columns:1fr}.rt-steps li,.rt-steps li+li{padding:22px 0;border-left:0}.rt-steps li+li{border-top:1px solid var(--rt-line)}}
.rt-portal{margin-top:46px;background:var(--rt-dark);color:#ece9df;padding:38px;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.rt-portal .eyebrow{color:#b5b895}
.rt-portal h3{margin:10px 0 12px;font-size:30px}
.rt-portal p{color:#c0c2b8;font-size:15px;margin:0}
.rt-portal-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rt-portal-list li{padding:12px 14px;border:1px solid #ffffff24;font-size:13px;position:relative;padding-left:32px}
.rt-portal-list li:before{content:"✓";position:absolute;left:13px;color:#b6b990}
@media(max-width:800px){.rt-portal{grid-template-columns:1fr;padding:28px 22px}}

/* Measure timing inside the estimate form */
.rt-timing{border:0;margin:18px 0 6px;padding:0}
.rt-timing legend{font-size:12px;padding:0;margin-bottom:9px}
.rt-chips{display:flex;flex-wrap:wrap;gap:8px}
.rt-chips label{position:relative;font-size:13px;cursor:pointer}
.rt-chips input{position:absolute;opacity:0;width:1px;height:1px}
.rt-chips label{padding:9px 14px;border:1px solid #6b7060;color:#dcdccf;transition:background .15s,border-color .15s}
.rt-chips label:has(input:checked){background:var(--rt-olive);border-color:#b6b990;color:#fff}
.rt-chips label:has(input:focus-visible){outline:3px solid var(--rt-gold);outline-offset:2px}
.rt-daytime{margin-top:12px}
.rt-book-now{margin:10px 0 0;font-size:13px}
.rt-book-now a{color:#48503b;font-weight:600}

/* Referral nudges */
.rt-referral{display:grid;gap:4px;margin-top:22px;padding:18px 20px;border:1px dashed #8c916f;background:#2d3129;color:#ece9df;font-size:14px}
.rt-referral strong{font-family:Georgia,serif;font-weight:400;font-size:18px}
.rt-referral span{color:#c0c2b8}.rt-referral b{color:#e6d39f}
.rt-referral a{color:#d5dcb2;font-weight:600;margin-top:4px}

/* FAQ guide link + city links */
.rt-guide-link{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 14px;margin:6px 0 18px;padding:16px 18px;border:1px solid var(--rt-line);background:var(--rt-card);text-decoration:none;max-width:360px}
.rt-guide-link b{font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:#595e40}
.rt-guide-link span{grid-column:1;font-family:Georgia,serif;font-size:18px;line-height:1.3}
.rt-guide-link i{grid-row:1/3;grid-column:2;font-style:normal;font-size:20px}
.rt-guide-link:hover{border-color:var(--rt-olive)}
.rt-city-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.rt-city-links a{padding:7px 14px;border:1px solid #ffffff66;text-decoration:none;font-size:13px}
.rt-city-links a:hover{background:#ffffff1a}

/* Mobile action bar (replaces the single call bar) */
.rt-mobile-bar{display:none}
@media(max-width:850px){
  .rt-mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:11;box-shadow:0 -4px 18px #0003;transition:transform .25s ease;padding-bottom:env(safe-area-inset-bottom);background:var(--rt-dark)}
  .rt-mobile-bar a{display:flex;align-items:center;justify-content:center;min-height:54px;text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.3px}
  .rt-mb-call{background:var(--rt-dark);color:#eee9dc}
  .rt-mb-est{background:var(--rt-olive);color:#fff}
  .rt-mobile-bar.rt-mb-hide{transform:translateY(110%)}
  body{padding-bottom:54px}
}
@media(prefers-reduced-motion:reduce){.rt-quiz-progress i,.rt-mobile-bar,.rt-quiz-options button{transition:none}}

/* Seasonal offer: show the current standard rates without claiming a historic price. */
.rt-est-sale{display:grid;gap:5px;margin:12px 0;color:inherit;font-size:14px;line-height:1.4}
.rt-est-sale strong,.seasonal-rate-label{color:#eeb567}
.rt-est-sale strong{font-size:15px}
.rt-est-sale span{opacity:.9}
.seasonal-banner{max-width:1100px;margin:30px auto;padding:20px 24px;border:1px solid #c38c46;border-radius:14px;background:#f3e3c8;color:#402b17}
.seasonal-banner strong{font-size:20px}.seasonal-banner p{margin:7px 0 0;font-size:14px;line-height:1.6}
.seasonal-standard,.seasonal-price,.seasonal-rate-label{display:block;line-height:1.5;white-space:normal}
.seasonal-standard{font-size:12px;color:#6e675a}.seasonal-price{font-size:18px;color:#4d361a}
.seasonal-rate-label{font-size:11px;color:#895417}
@media(max-width:650px){.seasonal-banner{margin:18px 20px;padding:16px}.price-table td.num{min-width:115px}}

/* A clear seasonal invitation, with savings beside the calculated total. */
.seasonal-site-offer{display:flex;align-items:center;justify-content:center;gap:18px;padding:15px 5%;background:linear-gradient(110deg,#f8dba3,#e9aa51,#f3c677);color:#30200e;text-decoration:none;text-align:center}
.seasonal-site-offer strong{font:700 clamp(17px,2vw,23px)/1.2 Arial,sans-serif}
.seasonal-site-offer span{font:14px/1.4 Arial,sans-serif}.seasonal-site-offer b{font-size:24px}
#price-estimator .rt-est-sale{padding:16px;border:1px solid #edbd75;border-radius:14px;background:linear-gradient(120deg,#dc9a351f,#f4ce8b18);gap:8px}
#price-estimator .rt-est-sale strong{font-size:clamp(19px,2.2vw,25px);color:#ffd38d}
@media(max-width:600px){.seasonal-site-offer{flex-wrap:wrap;gap:5px 12px;padding:12px 5%}.seasonal-site-offer span{flex-basis:100%;font-size:12px}.seasonal-site-offer b{display:none}}
