:root {
    --rph-ink: #1d211e;
    --rph-ink-2: #2a302b;
    --rph-paper: #f5efe3;
    --rph-paper-2: #e8ddca;
    --rph-orange: #d66a2c;
    --rph-orange-dark: #a7471b;
    --rph-moss: #5f6f4b;
    --rph-tan: #c7a36a;
    --rph-white: #fffdfa;
    --rph-line: rgba(29, 33, 30, .16);
    --rph-shadow: 0 24px 70px rgba(22, 25, 22, .16);
    --rph-shell: min(1180px, calc(100% - 40px));
}

.rph-demo-page { margin: 0; background: var(--rph-paper); color: var(--rph-ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
.rph-demo-page *, .rph-demo-page *::before, .rph-demo-page *::after { box-sizing: border-box; }
.rph-demo-page img { display: block; max-width: 100%; }
.rph-demo-page a { color: inherit; }
.rph-demo-page h1, .rph-demo-page h2, .rph-demo-page h3, .rph-demo-page p { margin-top: 0; }
.rph-demo-page h1, .rph-demo-page h2, .rph-demo-page h3, .rph-brand-copy strong { font-family: Georgia, 'Times New Roman', serif; }
.rph-shell { width: var(--rph-shell); margin-inline: auto; }
.rph-skip-link { position: fixed; left: 16px; top: -80px; z-index: 99999; background: var(--rph-white); padding: 12px 18px; font-weight: 700; }
.rph-skip-link:focus { top: 16px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.rph-demo-bar { background: #111411; color: #f6ead5; font-size: 13px; border-bottom: 1px solid rgba(255,255,255,.12); }
.rph-demo-bar__inner { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rph-demo-bar p { margin: 0; }
.rph-demo-bar a { color: #ffb77f; font-weight: 700; text-decoration: none; white-space: nowrap; }

.rph-site-header { position: sticky; top: 0; z-index: 1000; background: rgba(245,239,227,.96); backdrop-filter: blur(16px); border-bottom: 1px solid var(--rph-line); }
.rph-header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.rph-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.rph-brand-mark { width: 50px; height: 50px; display: grid; place-items: center; background: var(--rph-orange); border-radius: 4px 18px 4px 4px; box-shadow: inset 0 0 0 2px rgba(255,255,255,.18); }
.rph-brand-mark svg { width: 34px; height: 34px; fill: var(--rph-paper); transform: rotate(-6deg); }
.rph-brand-copy { display: flex; flex-direction: column; line-height: 1; }
.rph-brand-copy strong { font-size: 24px; letter-spacing: -.04em; }
.rph-brand-copy em { color: var(--rph-orange); font-style: italic; }
.rph-brand-copy small { margin-top: 6px; text-transform: uppercase; letter-spacing: .22em; font-size: 9px; font-weight: 800; }
.rph-primary-nav { display: flex; align-items: center; gap: 28px; }
.rph-primary-nav a { font-size: 14px; font-weight: 800; text-decoration: none; }
.rph-primary-nav a:not(.rph-nav-cta):hover { color: var(--rph-orange-dark); }
.rph-nav-cta { padding: 13px 20px; background: var(--rph-ink); color: var(--rph-white) !important; border-radius: 2px; box-shadow: 4px 4px 0 var(--rph-tan); }
.rph-nav-cta:hover { transform: translate(-1px,-1px); box-shadow: 6px 6px 0 var(--rph-tan); }
.rph-menu-toggle { display: none; background: none; border: 0; width: 44px; height: 44px; padding: 8px; }
.rph-menu-toggle > span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; background: var(--rph-ink); margin: 6px 0; }

.rph-hero { position: relative; overflow: hidden; padding: clamp(70px, 9vw, 130px) 0 78px; background: var(--rph-paper); }
.rph-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 49.8%, rgba(29,33,30,.055) 50%, transparent 50.2%), linear-gradient(rgba(29,33,30,.04) 1px, transparent 1px); background-size: 100% 100%, 100% 52px; pointer-events: none; }
.rph-hero-grid { position: relative; display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(44px, 7vw, 90px); align-items: center; }
.rph-kicker, .rph-eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: 12px; font-weight: 900; color: var(--rph-orange-dark); }
.rph-kicker { display: flex; align-items: center; gap: 10px; }
.rph-kicker span { width: 34px; height: 2px; background: var(--rph-orange); }
.rph-hero h1 { font-size: clamp(54px, 7vw, 92px); line-height: .93; letter-spacing: -.06em; margin-bottom: 30px; }
.rph-hero h1 mark { color: var(--rph-orange-dark); background: none; }
.rph-hero-lede { max-width: 680px; font-size: clamp(18px, 2vw, 22px); line-height: 1.55; color: #4d554e; }
.rph-hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 34px; flex-wrap: wrap; }
.rph-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 54px; padding: 14px 24px; border: 2px solid transparent; border-radius: 2px; font-weight: 900; text-decoration: none; cursor: pointer; transition: .2s ease; }
.rph-button--primary { color: var(--rph-white); background: var(--rph-orange); box-shadow: 6px 6px 0 var(--rph-ink); }
.rph-button--primary:hover { background: var(--rph-orange-dark); transform: translate(-2px,-2px); box-shadow: 8px 8px 0 var(--rph-ink); }
.rph-button--outline { color: var(--rph-paper); border-color: rgba(255,255,255,.45); }
.rph-button--outline:hover { background: var(--rph-paper); color: var(--rph-ink); }
.rph-button--full { width: 100%; border: 0; font-size: 16px; }
.rph-text-link { font-weight: 900; color: var(--rph-orange-dark); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.rph-text-link--dark { color: var(--rph-ink); }
.rph-trust-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; padding-top: 45px; margin-top: 48px; border-top: 1px solid var(--rph-line); }
.rph-trust-row div { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; }
.rph-trust-row strong { font: 700 34px/1 Georgia,serif; color: var(--rph-orange-dark); }
.rph-trust-row span { font-size: 12px; font-weight: 700; line-height: 1.35; color: #687068; }
.rph-hero-visual { position: relative; }
.rph-hero-image-wrap { position: relative; padding: 16px; background: var(--rph-ink); box-shadow: var(--rph-shadow); transform: rotate(1.5deg); }
.rph-hero-image-wrap::before { content: ''; position: absolute; inset: -14px 18px 20px -18px; border: 2px solid var(--rph-tan); z-index: -1; }
.rph-hero-image-wrap img { width: 100%; aspect-ratio: 4/4.55; object-fit: cover; object-position: center center; }
.rph-availability-card { position: absolute; left: -40px; bottom: 28px; display: flex; align-items: center; gap: 12px; padding: 15px 18px; background: var(--rph-white); box-shadow: 0 15px 35px rgba(0,0,0,.18); transform: rotate(-1.5deg); }
.rph-availability-card small, .rph-availability-card strong { display: block; }
.rph-availability-card small { font-size: 10px; text-transform: uppercase; letter-spacing: .16em; color: #697269; }
.rph-availability-card strong { font-size: 14px; }
.rph-status-dot { width: 12px; height: 12px; border-radius: 50%; background: #5c8c43; box-shadow: 0 0 0 5px rgba(92,140,67,.17); }
.rph-hero-badge { position: absolute; right: -20px; top: -34px; width: 116px; height: 116px; border-radius: 50%; background: var(--rph-orange); color: var(--rph-white); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transform: rotate(8deg); border: 3px dashed rgba(255,255,255,.55); box-shadow: 0 0 0 5px var(--rph-orange); }
.rph-hero-badge span { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.rph-hero-badge strong { font-size: 21px; line-height: 1.1; }

.rph-service-strip { background: var(--rph-orange); color: var(--rph-white); padding: 16px 0; overflow: hidden; }
.rph-service-strip .rph-shell { display: flex; align-items: center; justify-content: space-between; gap: 18px; white-space: nowrap; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.rph-service-strip i { opacity: .45; }

.rph-section { padding: clamp(82px, 9vw, 130px) 0; }
.rph-section-heading { max-width: 780px; margin-bottom: 54px; }
.rph-section-heading--split { max-width: none; display: grid; grid-template-columns: 1.35fr .65fr; gap: 70px; align-items: end; }
.rph-section-heading h2, .rph-about-copy h2, .rph-faq-intro h2, .rph-estimate h2 { font-size: clamp(40px, 5vw, 66px); line-height: 1.05; letter-spacing: -.045em; margin-bottom: 0; }
.rph-section-heading > p:last-child, .rph-section-heading--split > p { margin-bottom: 6px; color: #606860; }
.rph-services { background: var(--rph-white); }
.rph-service-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--rph-line); border-left: 1px solid var(--rph-line); }
.rph-service-card { position: relative; min-height: 340px; padding: 42px; border-right: 1px solid var(--rph-line); border-bottom: 1px solid var(--rph-line); background: var(--rph-white); overflow: hidden; }
.rph-service-card--featured { background: var(--rph-ink); color: var(--rph-paper); }
.rph-card-number { position: absolute; top: 30px; right: 32px; color: rgba(29,33,30,.25); font: 700 64px/1 Georgia,serif; }
.rph-service-card--featured .rph-card-number { color: rgba(255,255,255,.15); }
.rph-icon { width: 56px; height: 56px; display: grid; place-items: center; margin-bottom: 40px; background: var(--rph-paper); border-radius: 50%; }
.rph-icon svg { width: 30px; height: 30px; fill: none; stroke: var(--rph-orange-dark); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rph-service-card--featured .rph-icon { background: var(--rph-orange); }
.rph-service-card--featured .rph-icon svg { stroke: var(--rph-white); }
.rph-service-card h3 { font-size: 30px; margin-bottom: 16px; }
.rph-service-card p { max-width: 530px; color: #656d65; }
.rph-service-card--featured p { color: #c4c9c3; }
.rph-service-card a { display: inline-block; margin-top: 12px; color: #f1aa77; font-weight: 800; }
.rph-scope-note { max-width: 820px; margin: 36px auto 0; text-align: center; color: #5d655d; }

.rph-projects { background: var(--rph-paper-2); }
.rph-section-heading--projects { max-width: none; display: grid; grid-template-columns: 1.35fr .65fr; gap: 70px; align-items: end; }
.rph-section-heading--projects > p { margin-bottom: 6px; color: #596159; }
.rph-project-grid { display: grid; grid-template-columns: 1fr; gap: 28px; }
.rph-project-card { overflow: hidden; background: var(--rph-ink); border: 1px solid rgba(29,33,30,.18); box-shadow: 10px 10px 0 rgba(95,111,75,.26); }
.rph-project-sequence { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); min-height: 520px; background: #151815; }
.rph-project-sequence figure { position: relative; min-width: 0; margin: 0; overflow: hidden; }
.rph-project-sequence figure + figure { border-left: 6px solid var(--rph-paper-2); }
.rph-project-sequence img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; transition: transform .45s ease; }
.rph-project-sequence figure:nth-child(1) img { object-position: center 42%; }
.rph-project-sequence figure:nth-child(2) img { object-position: center center; }
.rph-project-sequence figure:nth-child(3) img { object-position: center 48%; }
.rph-project-card:hover .rph-project-sequence img { transform: scale(1.025); }
.rph-project-sequence figcaption { position: absolute; top: 18px; left: 18px; display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: rgba(17,20,17,.9); color: var(--rph-white); border-left: 4px solid var(--rph-orange); font-size: 10px; line-height: 1; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.rph-project-sequence figcaption span { color: #f6b483; }
.rph-project-copy { padding: 28px 32px 32px; color: var(--rph-white); }
.rph-project-copy span { color: #f6b483; font-size: 10px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.rph-project-copy h3 { margin: 8px 0 8px; font-size: clamp(30px,3.7vw,48px); line-height: 1.05; }
.rph-project-copy p { max-width: 850px; margin: 0; color: rgba(255,255,255,.72); }
.rph-project-photo-note { max-width: 760px; margin: 28px 0 0 auto; padding-left: 18px; border-left: 3px solid var(--rph-orange); color: #5b635b; font-size: 13px; }

.rph-about { background: var(--rph-white); }
.rph-about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px,8vw,110px); align-items: center; }
.rph-about-visual { position: relative; min-height: 640px; }
.rph-about-panel { position: absolute; inset: 0 70px 40px 0; background: var(--rph-moss); color: var(--rph-white); padding: clamp(38px,4vw,54px); display: flex; flex-direction: column; justify-content: center; }
.rph-about-panel blockquote { margin: 0 0 16px; font: 700 clamp(30px,2.6vw,42px)/1.1 Georgia,serif; letter-spacing: -.035em; }
.rph-about-panel > p { margin: 0; color: rgba(255,255,255,.72); }
.rph-tool-lines { position: absolute; top: 48px; left: 48px; display: flex; gap: 8px; }
.rph-tool-lines span { display: block; width: 7px; background: rgba(255,255,255,.25); }
.rph-tool-lines span:nth-child(1){height:50px}.rph-tool-lines span:nth-child(2){height:35px}.rph-tool-lines span:nth-child(3){height:65px}.rph-tool-lines span:nth-child(4){height:43px}
.rph-small-photo { position: absolute; right: 0; bottom: 0; width: 42%; border: 10px solid var(--rph-white); box-shadow: var(--rph-shadow); }
.rph-small-photo img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.rph-about-copy > p:not(.rph-eyebrow) { font-size: 18px; color: #5e675f; }
.rph-check-list { list-style:none; padding:0; margin:35px 0; }
.rph-check-list li { display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--rph-line); }
.rph-check-list li > span { flex:0 0 30px; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--rph-orange); color:white; font-weight:900; }
.rph-check-list strong,.rph-check-list small { display:block; }
.rph-check-list strong { font-size:17px; }
.rph-check-list small { margin-top:3px; color:#737b73; font-size:13px; }

.rph-process { padding: 90px 0; background: var(--rph-ink); color: var(--rph-paper); }
.rph-section-heading--light h2 { color: var(--rph-paper); }
.rph-process-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.16); }
.rph-process-grid li { position:relative; padding:36px 30px 0 0; }
.rph-process-grid li:not(:last-child)::after { content:'→'; position:absolute; right:28px; top:42px; color:rgba(255,255,255,.2); font-size:28px; }
.rph-process-grid li > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--rph-orange); font-weight:900; margin-bottom:32px; }
.rph-process-grid h3 { font-size:25px; margin-bottom:10px; }
.rph-process-grid p { color:#aeb5ae; font-size:14px; }

.rph-reviews { background: var(--rph-paper); }
.rph-demo-disclosure { font-size:13px; padding:16px; border-left:3px solid var(--rph-orange); background:rgba(255,255,255,.45); }
.rph-review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.rph-review-grid article { padding:34px; background:var(--rph-white); border:1px solid var(--rph-line); box-shadow:8px 8px 0 rgba(199,163,106,.38); }
.rph-stars { color:var(--rph-orange); letter-spacing:4px; margin-bottom:25px; }
.rph-review-grid blockquote { margin:0 0 28px; font:700 21px/1.5 Georgia,serif; }
.rph-review-grid article > p { margin:0; }
.rph-review-grid strong,.rph-review-grid span { display:block; }
.rph-review-grid span { color:#777f77; font-size:12px; margin-top:2px; }

.rph-faq { background: var(--rph-white); }
.rph-faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; }
.rph-faq-intro > p:not(.rph-eyebrow) { color:#657065; }
.rph-faq-intro .rph-text-link { display:inline-block; margin-top:20px; }
.rph-accordion details { border-top:1px solid var(--rph-line); }
.rph-accordion details:last-child { border-bottom:1px solid var(--rph-line); }
.rph-accordion summary { position:relative; list-style:none; cursor:pointer; padding:25px 50px 25px 0; font-weight:900; font-size:18px; }
.rph-accordion summary::-webkit-details-marker { display:none; }
.rph-accordion summary span,.rph-accordion summary span::after { position:absolute; right:5px; top:50%; width:18px; height:2px; background:var(--rph-orange-dark); content:''; }
.rph-accordion summary span::after { right:0; top:0; transform:rotate(90deg); }
.rph-accordion details[open] summary span::after { transform:rotate(0); }
.rph-accordion details p { padding:0 40px 24px 0; color:#606960; }

.rph-estimate { padding: clamp(85px,10vw,140px) 0; background: var(--rph-orange); color:var(--rph-white); }
.rph-estimate-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(50px,8vw,100px); align-items:start; }
.rph-estimate .rph-eyebrow { color:#2d1a10; }
.rph-estimate-copy > p:not(.rph-eyebrow,.rph-service-area) { color:#ffe1ca; font-size:18px; }
.rph-contact-cards { display:grid; gap:10px; margin:35px 0; }
.rph-contact-cards a { display:block; padding:18px 20px; border:1px solid rgba(255,255,255,.35); text-decoration:none; }
.rph-contact-cards small,.rph-contact-cards strong { display:block; }
.rph-contact-cards small { color:#ffd8ba; font-size:11px; text-transform:uppercase; letter-spacing:.14em; }
.rph-contact-cards strong { font-size:18px; margin-top:2px; }
.rph-service-area { font-size:13px; color:#ffe5d0; }
.rph-estimate-form { padding:clamp(28px,5vw,48px); background:var(--rph-paper); color:var(--rph-ink); box-shadow:12px 12px 0 var(--rph-ink); }
.rph-form-row { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.rph-estimate-form label { display:block; margin-bottom:18px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:900; }
.rph-estimate-form input,.rph-estimate-form select,.rph-estimate-form textarea { width:100%; margin-top:7px; border:1px solid #b9b1a2; background:var(--rph-white); color:var(--rph-ink); border-radius:0; padding:14px; font:400 15px/1.4 Arial,sans-serif; text-transform:none; letter-spacing:0; }
.rph-estimate-form input:focus,.rph-estimate-form select:focus,.rph-estimate-form textarea:focus { outline:3px solid rgba(214,106,44,.25); border-color:var(--rph-orange-dark); }
.rph-form-note { text-align:center; color:#73776f; font-size:11px; margin:17px 0 0; }
.rph-form-message { display:none; margin-top:18px; padding:14px; background:#e1ead8; border-left:4px solid var(--rph-moss); font-size:13px; }
.rph-form-message.is-visible { display:block; }

.rph-footer { background:#111411; color:#ccd0cb; padding:75px 0 24px; }
.rph-footer-top { display:grid; grid-template-columns:auto 1fr auto; gap:60px; align-items:center; padding-bottom:55px; border-bottom:1px solid rgba(255,255,255,.12); }
.rph-brand--footer { color:var(--rph-paper); }
.rph-footer-top > p { max-width:520px; margin:0; color:#9ca39c; }
.rph-footer-bottom { display:flex; justify-content:space-between; gap:30px; padding-top:22px; font-size:12px; }
.rph-footer-bottom p { margin:0; }
.rph-footer-bottom a { color:#f5ad77; }

@media (max-width: 980px) {
    .rph-primary-nav { position:fixed; left:0; right:0; top:129px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:18px 20px 28px; background:var(--rph-paper); border-bottom:1px solid var(--rph-line); box-shadow:0 20px 40px rgba(0,0,0,.12); }
    .rph-primary-nav.is-open { display:flex; }
    .rph-primary-nav a { padding:15px 8px; border-bottom:1px solid var(--rph-line); }
    .rph-primary-nav .rph-nav-cta { margin-top:12px; text-align:center; border:0; }
    .rph-menu-toggle { display:block; }
    .rph-hero-grid,.rph-about-grid,.rph-faq-grid,.rph-estimate-grid { grid-template-columns:1fr; }
    .rph-hero-copy { max-width:760px; }
    .rph-hero-visual { width:min(680px,90%); margin:20px auto 0; }
    .rph-section-heading--split,.rph-section-heading--projects { grid-template-columns:1fr; gap:20px; }
    .rph-about-visual { min-height:600px; }
    .rph-process-grid { grid-template-columns:repeat(2,1fr); gap:30px 0; }
    .rph-review-grid { grid-template-columns:1fr; }
    .rph-footer-top { grid-template-columns:1fr; gap:28px; }
}

@media (max-width: 860px) {
    .rph-project-sequence { grid-template-columns:1fr; min-height:0; }
    .rph-project-sequence figure + figure { border-left:0; border-top:6px solid var(--rph-paper-2); }
    .rph-project-sequence img { min-height:480px; max-height:680px; }
}

@media (max-width: 700px) {
    :root { --rph-shell: min(100% - 28px, 1180px); }
    .rph-demo-bar__inner { padding:10px 0; align-items:flex-start; }
    .rph-demo-bar p { font-size:11px; line-height:1.4; }
    .rph-demo-bar a { font-size:11px; }
    .rph-header-inner { min-height:74px; }
    .rph-brand-mark { width:43px; height:43px; }
    .rph-brand-copy strong { font-size:20px; }
    .rph-primary-nav { top:116px; }
    .rph-hero { padding-top:62px; }
    .rph-hero h1 { font-size:52px; }
    .rph-trust-row { grid-template-columns:1fr; }
    .rph-trust-row div { grid-template-columns:60px 1fr; }
    .rph-availability-card { left:-8px; bottom:18px; }
    .rph-hero-badge { width:90px; height:90px; right:-8px; top:-24px; }
    .rph-hero-badge strong { font-size:17px; }
    .rph-service-strip .rph-shell { justify-content:flex-start; overflow:auto; }
    .rph-service-grid { grid-template-columns:1fr; }
    .rph-service-card { padding:32px 25px; min-height:auto; }
    .rph-project-sequence { grid-template-columns:1fr; min-height:0; }
    .rph-project-sequence figure + figure { border-left:0; border-top:6px solid var(--rph-paper-2); }
    .rph-project-sequence img { min-height:420px; max-height:620px; }
    .rph-project-copy { padding:25px 23px 28px; }
    .rph-project-photo-note { margin-left:0; }
    .rph-about-visual { min-height:540px; }
    .rph-about-panel { inset:0 24px 42px 0; padding:32px 26px; }
    .rph-small-photo { width:50%; border-width:8px; }
    .rph-process-grid { grid-template-columns:1fr; }
    .rph-process-grid li:not(:last-child)::after { display:none; }
    .rph-form-row { grid-template-columns:1fr; gap:0; }
    .rph-estimate-form { box-shadow:7px 7px 0 var(--rph-ink); }
    .rph-footer-bottom { flex-direction:column; gap:8px; }
}

@media (prefers-reduced-motion: reduce) {
    .rph-demo-page *, .rph-demo-page *::before, .rph-demo-page *::after { scroll-behavior:auto !important; transition:none !important; }
}
