/* Warm, visual, and easy to read. Shared across the agency's pages. */
body:not(.demo-body) { --color-foreground:#24352b; --color-muted:#5c675e; --color-border:#dfe3d9; --color-accent:#b84425; --color-link:#a53b20; --button-bg:#b84425; --button-color:#fff; --heading-lg:clamp(2.35rem,3.7vw,3.6rem); color:#24352b; background:#fffefa; }
body:not(.demo-body) h1,body:not(.demo-body) h2 { font-weight:650; letter-spacing:-.055em; }
body:not(.demo-body) h1 em,body:not(.demo-body) h2 em { font-family:var(--font-serif); font-weight:500; color:#a9482c; letter-spacing:-.035em; }
body:not(.demo-body) .container { --layout-width:1240px; }
body:not(.demo-body) .eyebrow { font-size:.66rem; font-weight:650; letter-spacing:.105em; color:#59675b; }
body:not(.demo-body) .eyebrow:before { width:6px; height:6px; border-radius:50%; background:#a9482c; }
body:not(.demo-body) .button { min-height:52px; border-radius:7px; padding:.9rem 1.4rem; font-size:.86rem; background:#b84425; color:white; }
body:not(.demo-body) .button:hover { background:#92381f; box-shadow:0 6px 18px #70342218; }
body:not(.demo-body) .button--outline { background:transparent; color:#24352b; border-color:#b8c2b7; }
body:not(.demo-body) .text-link { font-size:.85rem; gap:.75rem; }
.site-utility { background:#eaf0e6; border:0; font-size:.69rem; color:#445440; }
.site-utility > div { min-height:33px; }.site-utility a { gap:.55rem; }
.site-header { height:86px; background:#fffefa; border-bottom:1px solid #e5e7dd; }
.brand { font-size:1.45rem; font-weight:800; color:#27392e; letter-spacing:-.06em; }.brand-mark { color:#b84425; width:29px; }
.desktop-nav { font-size:.79rem; gap:1.7rem; }.desktop-nav a { min-height:44px; display:inline-flex; align-items:center; }.header-booking .button { min-height:45px!important; font-size:.8rem!important; }
.conversion-hero { overflow:hidden; padding:3.6rem 0 3.9rem; }
.conversion-hero > .container { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:3.2rem; }
.conversion-hero-copy .eyebrow { margin-bottom:1.6rem; }
.conversion-hero-copy h1 { font-size:clamp(3.6rem,5.65vw,5.4rem); line-height:1.015; font-weight:600!important; }
.conversion-hero-copy h1 em { display:inline-block; font-size:1.15em; line-height:.94; }
.conversion-hero-copy > p:not(.eyebrow) { margin-top:1.8rem; max-width:405px; font-size:1.04rem; line-height:1.75; }
.conversion-offer { display:flex; align-items:center; gap:1rem; margin-top:1.5rem; }
.conversion-offer strong { font-size:1.9rem; letter-spacing:-.06em; font-weight:700; white-space:nowrap; }
.conversion-offer strong > span { font-size:.79rem; font-weight:500; letter-spacing:-.02em; margin-left:.15rem; }
.conversion-offer > span { max-width:155px; font-size:.76rem; line-height:1.5; border-left:1px solid #d2d8cc; padding-left:1rem; color:#5c675e; }
.conversion-hero .actions { margin-top:1.4rem; gap:1.4rem; }.hero-smallprint { display:flex; gap:.5rem; align-items:center; font-size:.7rem; margin-top:1.1rem; color:#667062; }.hero-smallprint svg { width:16px; height:16px; }
.hero-workspace { position:relative; height:510px; background:#eaf0e2; border-radius:44% 44% 20px 20px; margin-top:1rem; }
.hero-workspace:before { content:''; position:absolute; width:86%; height:88%; border:1px solid #d1ddc8; border-radius:50%; top:7%; left:7%; transform:rotate(25deg); }
.hero-workspace-note { position:absolute; top:-22px; left:40px; display:flex; align-items:center; gap:.5rem; color:#4c5d47; font-size:.76rem; line-height:1.35; transform:rotate(-5deg); }.hero-workspace-note em { font-family:var(--font-serif); font-size:1.55em; }.hero-workspace-note svg { width:68px; height:58px; margin-top:18px; }
.hero-browser { position:absolute; top:93px; left:23px; right:-10px; background:white; border:7px solid #fffefa; border-radius:11px; box-shadow:0 24px 55px #32462e20; transform:rotate(-3deg); overflow:hidden; transition:transform .3s; }
.hero-browser:hover { transform:rotate(-1deg) translateY(-3px); }.hero-browser-bar { display:flex; justify-content:space-between; align-items:center; height:28px; padding:0 6px 3px; color:#7d857a; font-size:.42rem; font-weight:650; letter-spacing:.1em; }.hero-browser-bar > span:first-child { font-size:.5rem; color:#c9cfc2; letter-spacing:.15em; }.hero-browser-bar svg { width:13px; height:13px; }
.hero-browser > img { width:100%; height:320px; object-fit:cover; object-position:top; border-radius:4px; }
.hero-message { position:absolute; z-index:3; left:-18px; bottom:-10px; display:flex; align-items:flex-start; gap:.85rem; background:#fffefa; padding:1.2rem 1.5rem 1.2rem 1.1rem; border:1px solid #e6e9e0; border-radius:13px; box-shadow:0 12px 40px #32462e12; transform:rotate(2deg); }
.hero-message-icon { display:grid; place-items:center; width:36px; height:36px; background:#e7f0e0; color:#4c7044; border-radius:50%; }.hero-message-icon svg { width:20px; height:20px; }.hero-message small { font-size:.44rem; font-weight:750; letter-spacing:.08em; display:block; color:#6d7966; }.hero-message strong { display:block; font-size:1rem; line-height:1.4; font-weight:600; margin:.35rem 0 .5rem; }.hero-message > div > span { display:flex; gap:.35rem; align-items:center; color:#61705a; font-size:.58rem; }.hero-message > div > span svg { width:12px; height:12px; }
.hero-included { position:absolute; right:11px; top:32px; width:112px; height:112px; border-radius:50%; background:#f7ca75; color:#523e21; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font-size:.61rem; line-height:1.3; transform:rotate(8deg); z-index:2; border:5px solid #fffefa; }.hero-included > span { font-size:1.6rem; font-weight:700; letter-spacing:-.04em; }
.business-shortcuts { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-block:1px solid #e0e5d8; padding-block:1.25rem; }.business-shortcuts > span { font-size:.67rem; color:#6a7565; line-height:1.5; }.business-shortcuts strong { color:#3e4b39; font-weight:550; }.business-shortcuts > a { display:flex; align-items:center; gap:.6rem; font-size:.78rem; font-weight:550; min-height:44px; }.business-shortcuts svg { width:20px; height:20px; color:#65765e; }.business-shortcuts svg:last-child { width:14px; margin-left:.25rem; color:#75836e; }
.portfolio-section { padding-bottom:4rem; }.portfolio-section .section-head { margin-bottom:2.2rem; }.portfolio-section .section-head > div:last-child > p { font-size:.9rem; }.portfolio-section .section-head .text-link { margin-top:.6rem; }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem 1.5rem; }.portfolio-card { min-width:0; scroll-margin-top:110px; }.portfolio-image { position:relative; display:block; padding:1.3rem 1.2rem 0; background:#e8edf0; border:1px solid #e1e7e6; border-radius:13px; height:292px; overflow:hidden; }.portfolio-card--current .portfolio-image { background:#e3eff2; }.portfolio-card--clearflow .portfolio-image { background:#f3e5df; }.portfolio-card--ridgeline .portfolio-image { background:#e6e9ed; }.portfolio-card--olive .portfolio-image { background:#e4e8d8; }.portfolio-card--form .portfolio-image { background:#eae2ed; }
.portfolio-image .preview { transform:none!important; width:100%; border-radius:5px; box-shadow:0 8px 25px #23382618; min-height:0; }.portfolio-image .browser-bar { height:22px; min-height:22px; padding:.3rem .5rem; background:#fffefa; font-size:.43rem; }.portfolio-image .browser-bar b { width:4px; height:4px; }.portfolio-image .preview-capture { width:100%; height:auto; min-height:0; aspect-ratio:1440/1030; object-fit:cover; object-position:top; transition:transform .4s; }.portfolio-image:hover .preview-capture { transform:translateY(-7px); }
.portfolio-open { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); white-space:nowrap; display:flex; align-items:center; gap:.65rem; background:#fffefa; border:1px solid #dce3d7; border-radius:6px; padding:.65rem 1rem; font-size:.7rem; font-weight:650; box-shadow:0 3px 15px #2535240a; }.portfolio-open svg { width:14px; height:14px; }
.portfolio-meta { display:flex; gap:1rem; align-items:center; justify-content:space-between; padding-top:1rem; }.portfolio-meta p { font-size:.67rem; }.portfolio-meta p > span { color:#747b70; }.portfolio-meta h3 { font-size:1.2rem; margin-top:.3rem; font-weight:650; }.portfolio-details { display:grid; place-items:center; width:37px; height:37px; border:1px solid #d7dfd0; border-radius:50%; flex-shrink:0; }.portfolio-details svg { width:16px; height:16px; }.portfolio-details:hover { background:#eaf0e2; }
.portfolio-footnote { display:flex; justify-content:space-between; gap:1.5rem; align-items:center; margin-top:1.6rem; font-size:.7rem; }.portfolio-footnote a { display:flex; gap:.5rem; align-items:center; min-height:40px; font-weight:550; }.portfolio-footnote svg { width:15px; height:15px; }
/* Interactive product walkthrough: real browser layouts and messages, no video payload. */
.system-story { background:#f0f3e9; border-block:1px solid #e1e7d8; }.system-story h2 em { color:#5d7452!important; }.story-intro p { font-size:.9rem; }.story-play { display:flex; align-items:center; gap:.55rem; background:transparent; border:0; color:#415b36; padding:.4rem 0; min-height:44px; margin-top:.55rem; font-size:.78rem; font-weight:650; text-align:left; }.story-play svg { width:17px; height:17px; }.story-play[hidden] { display:none; }
.story-layout { display:grid; grid-template-columns:.87fr 1.25fr; align-items:start; gap:4.5rem; }.story-choices { display:flex; flex-direction:column; gap:.5rem; padding-top:.8rem; }.story-choices[hidden] { display:none; }.story-choices button { display:flex; align-items:center; width:100%; gap:1rem; padding:1.1rem; border:1px solid transparent; background:transparent; color:#3a4935; text-align:left; border-radius:9px; min-height:85px; transition:background .2s,border .2s; }.story-choice-icon { width:39px; height:39px; border:1px solid #ccd7c3; border-radius:10px; display:grid; place-items:center; flex-shrink:0; }.story-choice-icon svg { width:20px; height:20px; }.story-choices strong { display:block; font-size:.87rem; font-weight:650; line-height:1.35; }.story-choices small { display:block; margin-top:.4rem; font-size:.69rem; color:#6b7665; }.story-step-number { margin-left:auto; font-size:.62rem; color:#6b7665; }.story-choices button[aria-pressed=true] { background:#fffefa; border-color:#d9e3d0; box-shadow:0 4px 12px #37482e05; }.story-choices button[aria-pressed=true] .story-choice-icon { background:#526a44; color:#fff; border-color:#526a44; }.story-choices button:hover { border-color:#afbea3; }
.story-panel[hidden] { display:none; }.story-stage { position:relative; display:flex; align-items:center; justify-content:center; min-height:455px; border-radius:14px; background:#dfe8d5; padding:3rem 1.5rem 1.5rem; overflow:hidden; isolation:isolate; }.story-scene-label { position:absolute; top:17px; left:21px; font-size:.5rem; font-weight:650; letter-spacing:.13em; color:#516546; }.story-stage--inquiry { background:#e5ebdf; }.story-stage--missed-call { background:#e9e4d7; }.story-stage--review { background:#e6e9da; }.story-stage--search { background:#e3e8df; }
.story-website { position:relative; width:92%; background:#fff; border-radius:7px; box-shadow:0 20px 28px #34482c1a; transform:rotate(-2deg); }.story-browser { height:32px; display:flex; align-items:center; justify-content:space-between; padding:.4rem .7rem; font-size:.48rem; color:#76816e; }.story-browser svg { width:13px; height:13px; }.story-browser > span:first-child { color:#c6cebf; font-size:.5rem; }.story-website > img { width:100%; height:270px; object-fit:cover; object-position:top; border-radius:0 0 7px 7px; }.story-web-action { display:flex; gap:.75rem; justify-content:center; align-items:center; font-size:.73rem; padding:1rem; background:#fff; border-radius:0 0 7px 7px; font-weight:600; }.story-web-action > svg { width:18px; height:18px; color:#ac452a; }.story-sticker { position:absolute; bottom:21px; right:26px; display:flex; align-items:center; gap:.4rem; background:#fff5d5; padding:.65rem 1rem; border-radius:7px; font-size:.65rem; color:#63512a; box-shadow:0 5px 20px #2437260d; }.story-sticker svg { width:15px; height:15px; }
.story-phone { width:280px; height:448px; background:#fffefa; border:6px solid #354334; border-radius:29px; box-shadow:0 15px 35px #39433126; position:relative; overflow:hidden; z-index:1; flex-shrink:0; }.story-phone-status { padding:9px 16px 0; display:flex; justify-content:space-between; font-size:.55rem; font-weight:700; color:#485241; }.story-phone-header { position:relative; text-align:center; padding:9px 15px 10px; border-bottom:1px solid #e6e9df; }.story-back { position:absolute; left:14px; top:19px; font-size:1.4rem; color:#566b48; }.story-contact-icon { display:grid; place-items:center; width:26px; height:26px; background:#e7eddf; color:#617753; margin:0 auto 3px; border-radius:50%; }.story-contact-icon svg { width:15px; height:15px; }.story-phone-header strong { display:block; font-size:.72rem; font-weight:650; }.story-phone-header small { display:block; font-size:.5rem; color:#717b69; }.story-phone-body { padding:11px 12px; display:flex; flex-direction:column; gap:8px; }.story-event { display:flex; align-items:center; justify-content:center; gap:.35rem; font-size:.55rem; color:#637158; }.story-event svg { width:12px; height:12px; }.story-missed { color:#ad4931; background:#fff0e8; border-radius:5px; padding:6px; }
.story-bubble { background:#e8eddf; padding:8px 10px; border-radius:10px 10px 10px 2px; width:88%; }.story-bubble > span { font-size:.36rem; display:block; font-weight:650; color:#6c795f; margin-bottom:3px; text-transform:uppercase; letter-spacing:.05em; }.story-bubble p { font-size:.59rem; line-height:1.5; color:#3b4b32; }.story-customer { align-self:flex-end; background:#fff0e7; border-radius:10px 10px 2px 10px; }.story-customer > span { color:#a5684f; }.story-customer p { color:#694b39; }.story-result { display:flex; align-items:center; justify-content:center; gap:.35rem; padding:5px; border-radius:5px; font-size:.43rem; font-weight:550; color:#5d704d; }.story-result svg { width:12px; height:12px; }.story-phone-compose { position:absolute; bottom:12px; left:12px; right:12px; height:23px; display:flex; align-items:center; justify-content:space-between; padding:2px 4px 2px 10px; border:1px solid #dce3d5; border-radius:20px; font-size:.48rem; color:#7f8976; }.story-phone-compose b { color:#fff; background:#617752; border-radius:50%; width:17px; height:17px; text-align:center; font-size:.7rem; }
.story-stage--missed-call .story-phone { margin-left:105px; transform:rotate(4deg); }.story-job-photo { position:absolute; left:38px; top:85px; width:180px; height:270px; transform:rotate(-9deg); border:6px solid #fffefa; border-bottom-width:38px; box-shadow:0 8px 20px #3b412817; background:#fffefa; }.story-job-photo img { width:100%; height:100%; object-fit:cover; object-position:40% center; }.story-job-photo > span { position:absolute; bottom:-28px; left:5px; font-size:.5rem; color:#5b6553; font-weight:550; }
.story-review-card { width:88%; border:1px solid #d7e0cc; padding:11px 10px; border-radius:9px; background:#fff; text-align:center; }.story-review-card > span { color:#ac792c; font-size:1.3rem; display:block; letter-spacing:.02em; line-height:1; }.story-review-card strong { font-size:.57rem; display:block; margin-top:8px; }.story-review-card p { font-size:.47rem; margin-top:5px; }
.story-search { width:95%; padding:1.5rem; background:#fffefa; border-radius:10px; box-shadow:0 12px 25px #2e402416; }.story-search-label { font-size:.58rem; color:#6a7762; margin-bottom:1rem; }.story-search-box { border:1px solid #d5decd; border-radius:30px; padding:.65rem .85rem; display:flex; align-items:center; gap:.65rem; font-size:.78rem; }.story-search-box svg { width:17px; height:17px; }.story-search-box > span { margin-left:auto; }.story-search-result { padding-top:1.7rem; }.story-search-result > div:first-child { display:flex; gap:.5rem; align-items:center; font-size:.67rem; }.story-search-result > div:first-child svg { width:27px; height:27px; background:#e6eddf; border-radius:50%; padding:4px; }.story-search-result small { display:block; font-size:.45rem; color:#7d8774; }.story-search-result > strong { display:block; margin-top:.7rem; color:#2953a2; font-size:1rem; font-weight:600; }.story-search-result > p { font-size:.66rem; margin-top:.5rem; }.story-search-links { display:flex; flex-wrap:wrap; gap:.9rem; color:#2953a2; font-size:.63rem; margin-top:.7rem; }.story-search-checks { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem; }.story-search-checks span { display:flex; align-items:center; gap:.2rem; background:#edf2e7; padding:.35rem .5rem; font-size:.5rem; border-radius:4px; }.story-search-checks svg { width:12px; height:12px; }.story-search-note { font-size:.54rem; margin-top:1rem; }
.story-caption { display:flex; align-items:start; gap:1.5rem; padding-top:1.3rem; }.story-caption > div { flex:1; }.story-caption h3 { font-size:1rem; font-weight:650; letter-spacing:-.025em; line-height:1.35; }.story-caption p { font-size:.77rem; line-height:1.7; margin-top:.6rem; }.story-caption .text-link { font-size:.63rem!important; gap:.4rem; white-space:nowrap; }.story-caption .text-link svg { width:14px; }.story-disclaimer { margin-top:1.7rem; font-size:.66rem; text-align:right; color:#718065; }
[data-system-story][data-enhanced] .story-panel:not([hidden]) .story-beat { animation:story-arrive .5s both; }
[data-system-story][data-enhanced] .story-panel:not([hidden]) .story-beat:nth-child(2) { animation-delay:.25s; }
[data-system-story][data-enhanced] .story-panel:not([hidden]) .story-beat:nth-child(3) { animation-delay:.6s; }
[data-system-story][data-enhanced] .story-panel:not([hidden]) .story-beat:nth-child(4) { animation-delay:.95s; }
[data-system-story][data-enhanced] .story-panel:not([hidden]) .story-beat:nth-child(5) { animation-delay:1.25s; }
@keyframes story-arrive { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
.friendly-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }.process-picture { height:225px; position:relative; background:#e9eddf; overflow:hidden; border-radius:12px; }.process-picture > img { width:100%; height:100%; object-fit:cover; }.process-picture--build { padding:1.5rem 1.5rem 0; background:#e6eadd; }.process-picture--build > img { height:auto; transform:rotate(-5deg); box-shadow:0 5px 20px #2c3e2015; }.process-picture > span { position:absolute; left:15px; right:15px; bottom:15px; display:flex; gap:.5rem; align-items:center; background:#fffefa; border-radius:6px; padding:.75rem; font-size:.66rem; font-weight:550; box-shadow:0 5px 15px #23361e12; }.process-picture > span svg { width:17px; height:17px; color:#65784f; }.process-picture--ready > img { object-position:50% 42%; }.friendly-step-heading { display:flex; gap:.8rem; align-items:center; margin-top:1.2rem; }.friendly-step-heading > span { display:grid; place-items:center; width:28px; height:28px; font-size:.61rem; border-radius:50%; border:1px solid #d2dbca; color:#60734f; flex-shrink:0; }.friendly-step-heading h3 { font-size:1.15rem; font-weight:600; }.friendly-steps article > p { font-size:.8rem; margin-top:.8rem; padding-left:2.55rem; }
.friendly-pricing { background:#f1eadf; border-block:1px solid #e8dfd1; }.friendly-pricing > .container { display:grid; grid-template-columns:1.1fr 1fr; gap:6rem; align-items:center; }.friendly-price-copy > p:not(.eyebrow) { max-width:390px; margin-top:1.5rem; font-size:.97rem; }.friendly-price-photo { margin-top:2.2rem; display:flex; align-items:center; gap:1.1rem; }.friendly-price-photo img { width:75px; height:75px; object-fit:cover; border-radius:50%; }.friendly-price-photo span { color:#5c6756; font-size:.76rem; line-height:1.8; }.friendly-price-photo strong { color:#46533d; font-weight:600; }.friendly-price-card { padding:2.4rem 2.6rem; background:#fffefa; border:1px solid #e7ddcb; border-radius:14px; box-shadow:0 16px 35px #77583a08; }.price-card-label { font-size:.62rem; font-weight:650; letter-spacing:.12em; color:#78816d; }.friendly-price { display:flex; align-items:center; gap:.8rem; margin-top:1rem; }.friendly-price > strong { font-size:5rem; line-height:1.1; font-weight:600; letter-spacing:-.07em; }.friendly-price > span { font-size:.85rem; line-height:1.5; color:#7c826f; }.friendly-price > span small { font-size:.58rem; }.friendly-price-card > p:not(.price-card-label):not(.friendly-price-note) { margin-top:.7rem; font-size:.83rem; }.friendly-price-card ul { list-style:none; padding:1.3rem 0; margin:1.3rem 0; border-block:1px solid #e3e6d9; }.friendly-price-card li { display:flex; align-items:center; gap:.7rem; font-size:.83rem; margin:0; padding:.5rem 0; }.friendly-price-card li svg { width:17px; height:17px; color:#657b51; flex-shrink:0; }.friendly-price-card .button { width:100%; }.friendly-price-note { margin-top:1rem; font-size:.66rem; text-align:center; color:#75806b; }.friendly-price-card > .text-link { display:flex; justify-content:center; font-size:.71rem!important; margin-top:.25rem; }
.friendly-faq .faq-layout { gap:5rem; }.friendly-faq .faq-item { border-color:#dce3d4; }.friendly-faq .faq-item summary { font-size:.91rem; font-weight:550; padding-block:1.35rem; }.friendly-faq .faq-item p { font-size:.86rem; }.friendly-faq .text-link { margin-top:1.5rem; }
.friendly-final { background:#e8efdf; padding:3.7rem 0; border-block:1px solid #dfe6d5; }.friendly-final > .container { display:flex; align-items:center; gap:2.5rem; }.friendly-final .friendly-spark { font-size:6rem; color:#6b8157; line-height:1; }.friendly-final h2 { font-size:clamp(2.2rem,3.3vw,3.1rem); }.friendly-final h2 em { color:#63794e!important; }.friendly-final p:not(.eyebrow) { font-size:.85rem; margin-top:.9rem; }.friendly-final .button { margin-left:auto; flex-shrink:0; }.friendly-final .eyebrow { margin-bottom:.85rem; font-size:.6rem!important; }
.site-footer { background:#fffefa; }.footer-grid { border-color:#e0e5d8; }.footer-col a { font-size:.78rem; }.footer-bottom { font-size:.68rem; }.footer-brand p { color:#64705b; }.mobile-action-bar { background:#fffefa; border-color:#dce3d5; }.mobile-action-bar a:last-child { background:#b84425; }
.page-hero { padding-block:3.5rem; }.page-hero h1 { font-size:clamp(3rem,5.3vw,5rem); }.page-hero .lead { font-size:1.03rem; line-height:1.8; }.agency-breadcrumb { color:#687460; font-size:.66rem; }.friendly-services-hero { text-align:center; }.friendly-services-hero .eyebrow { justify-content:center; }.friendly-services-hero .lead { margin-inline:auto; max-width:540px; }.friendly-services-hero .button { margin-top:1.6rem; }.system-story--standalone { border-radius:0; }.included-simple { display:grid; grid-template-columns:.9fr 1.2fr; gap:6rem; }.included-simple > div > p { max-width:360px; margin-top:1.5rem; font-size:.91rem; }.included-detail { border-bottom:1px solid #d8e0cf; padding:1.15rem 0; scroll-margin-top:120px; }.included-detail:first-child { border-top:1px solid #d8e0cf; }.included-detail summary { display:flex; gap:1rem; align-items:center; cursor:pointer; font-size:.92rem; font-weight:600; list-style:none; min-height:44px; }.included-detail summary::-webkit-details-marker { display:none; }.included-detail summary > span { font-size:.66rem; color:#8b6848; }.included-detail summary > svg { width:18px; height:18px; margin-left:auto; transition:transform .2s; }.included-detail[open] summary > svg { transform:rotate(90deg); }.included-detail p,.included-detail ul { font-size:.86rem; margin:1rem 0 .5rem; color:#687460; }
.portfolio-page-hero { padding-bottom:2rem; }.portfolio-page-hero .lead { max-width:520px; }.portfolio-filters { display:flex; flex-wrap:wrap; gap:.75rem; padding-bottom:2rem; border-bottom:1px solid #dde4d5; }.portfolio-filters a { display:flex; align-items:center; gap:.6rem; padding:.6rem 1.1rem; border:1px solid #d4dec9; border-radius:30px; font-size:.79rem; min-height:44px; }.portfolio-filters a:hover { background:#e8efdf; }.portfolio-filters svg { width:18px; height:18px; }.portfolio-collection .portfolio-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }.portfolio-collection .portfolio-card { grid-column:span 2; }.portfolio-collection .portfolio-card:nth-child(n+4) { grid-column:span 3; }.portfolio-collection .portfolio-card:nth-child(n+4) .portfolio-image { height:365px; padding:1.5rem 1.8rem 0; }.portfolio-disclosure { margin-top:2.2rem; font-size:.75rem; text-align:center; }
.inquiry-form,.simple-inquiry { background:#fff; border:1px solid #e2e6d8; border-radius:13px; box-shadow:0 15px 35px #32442708; }.field input,.field select,.field textarea { border-radius:6px; border-color:#c8d1bf; }.field label { color:#45533b; font-weight:550; }.form-availability { background:#f4f1e9; border:1px solid #e6dfce; border-radius:6px; }.optional-inquiry { border-color:#dce3d3; }.optional-inquiry summary { min-height:48px; }.booking-agenda > img { border-radius:14px; }.price-card { background:#fffefa; border:1px solid #dce3d3; border-radius:12px; }.cta-section { background:#e8efdf; border-color:#dfe7d5; }.about-photo img,.service-detail-hero > img { border-radius:12px; }.service-detail-content aside { background:#edf2e6; border-color:#d7e0cd; border-radius:9px; }.service-detail-content > div > article p { font-size:.98rem; }.service-detail-hero h1 { font-size:clamp(2.7rem,4.4vw,4.3rem); }.service-detail-hero .lead { font-size:1.02rem; }.service-detail-hero { gap:4rem; }.other-services a { border-radius:7px; }.note-box { border-radius:8px; background:#f1f3e9; }.surface,.process-section,.about-statement { background:#f1f4ea; color:#24352b; }.about-statement h2 .serif { color:#a9482c; }
@media(min-width:761px) and (max-width:1100px) {
  .conversion-hero > .container { gap:2rem; grid-template-columns:1fr 1fr; }.conversion-hero-copy h1 { font-size:4rem; }.hero-workspace { height:450px; }.hero-browser { top:95px; left:6px; }.hero-browser > img { height:275px; }.hero-message { left:-20px; bottom:0; padding:1rem; }.hero-message strong { font-size:.88rem; }.hero-included { width:96px; height:96px; right:-8px; top:20px; }.hero-workspace-note { left:15px; }.business-shortcuts { gap:.6rem; }.business-shortcuts > a { font-size:.68rem; gap:.35rem; }.business-shortcuts > a > svg:last-child { display:none; }.portfolio-image { height:240px; padding:1rem .7rem 0; }.portfolio-open { font-size:.61rem; padding:.55rem .7rem; }.story-layout { gap:2rem; grid-template-columns:1fr 1.15fr; }.story-choices button { padding:.85rem .6rem; gap:.65rem; }.story-choices strong { font-size:.76rem; }.story-choices small { font-size:.61rem; }.story-choice-icon { width:32px; height:32px; }.story-step-number { display:none; }.story-stage { padding-inline:.8rem; }.story-caption { display:block; }.story-caption .text-link { margin-top:.4rem; }.story-job-photo { left:20px; width:140px; }.story-stage--missed-call .story-phone { margin-left:60px; }.friendly-pricing > .container { gap:3rem; }.friendly-price-card { padding:2rem; }.friendly-faq .faq-layout { gap:3rem; }.process-picture { height:200px; }.friendly-steps { gap:1.3rem; }.friendly-step-heading h3 { font-size:1rem; }.friendly-final .friendly-spark { font-size:4.5rem; }.friendly-final > .container { gap:1.5rem; }
}
@media(max-width:760px) {
  body:not(.demo-body) { --layout-gutter:1.25rem; --section-space:3.4rem; }.site-utility > div { justify-content:center; }.site-utility > div > span { display:none; }.site-utility { font-size:.64rem; }.site-header { height:74px; }.brand { font-size:1.3rem; }.brand-mark { width:25px; }.mobile-nav nav { background:#fffefa; }.conversion-hero { padding:2.6rem 0 2.8rem; }.conversion-hero > .container { display:flex; flex-direction:column; gap:2.7rem; align-items:stretch; }.conversion-hero-copy h1 { font-size:clamp(3.65rem,11.5vw,5.1rem); }.conversion-hero-copy h1 > br:nth-of-type(2) { display:none; }.conversion-hero-copy h1 em { font-size:1.1em; }.conversion-hero-copy .eyebrow { font-size:.56rem; margin-bottom:1.35rem; }.conversion-hero-copy > p:not(.eyebrow) { font-size:.95rem; margin-top:1.4rem; max-width:450px; }.conversion-offer { margin-top:1.3rem; }.conversion-offer strong { font-size:1.8rem; }.conversion-offer > span { max-width:none; font-size:.7rem; }.conversion-hero .actions { gap:1.1rem; }.conversion-hero .actions .button { font-size:.8rem; padding:.8rem 1.1rem; }.conversion-hero .actions .text-link { font-size:.75rem; }.hero-smallprint { font-size:.62rem; }.hero-workspace { height:385px; margin:1rem 4px .8rem; border-radius:42% 42% 20px 20px; }.hero-browser { top:83px; left:3px; right:-5px; border-width:5px; }.hero-browser > img { height:232px; }.hero-browser-bar { height:22px; font-size:.33rem; }.hero-workspace-note { left:17px; top:-20px; font-size:.66rem; }.hero-workspace-note svg { width:57px; height:46px; }.hero-included { width:89px; height:89px; font-size:.5rem; border-width:4px; top:9px; right:0; }.hero-included > span { font-size:1.35rem; }.hero-message { left:-7px; bottom:-9px; padding:.95rem 1.1rem .9rem .85rem; gap:.6rem; }.hero-message strong { font-size:.84rem; }.hero-message small { font-size:.34rem; }.hero-message > div > span { font-size:.49rem; }.hero-message-icon { width:30px; height:30px; }
  .business-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; padding-block:1.1rem; }.business-shortcuts > span { font-size:.57rem; }.business-shortcuts a { font-size:.63rem; gap:.3rem; }.business-shortcuts svg { width:17px; height:17px; flex-shrink:0; }.business-shortcuts svg:last-child { display:none; }
  .section-head { gap:1.3rem; }.section-head > div > p:not(.eyebrow) { font-size:.83rem; }.portfolio-grid,.portfolio-collection .portfolio-grid { grid-template-columns:1fr; gap:2rem; }.portfolio-image { height:330px; padding:1.3rem 1.1rem 0; }.portfolio-image .browser-bar { height:24px; }.portfolio-image .preview-capture { height:auto; }.portfolio-open { bottom:17px; font-size:.73rem; }.portfolio-meta h3 { font-size:1.2rem; }.portfolio-meta p { font-size:.67rem; }.portfolio-footnote { flex-direction:column; align-items:flex-start; gap:.4rem; font-size:.66rem; }.portfolio-section { padding-bottom:3rem; }.portfolio-collection .portfolio-card,.portfolio-collection .portfolio-card:nth-child(n+4) { grid-column:auto; }.portfolio-collection .portfolio-card:nth-child(n+4) .portfolio-image { height:330px; padding:1.3rem 1.1rem 0; }.portfolio-filters { gap:.55rem; }.portfolio-filters a { font-size:.73rem; padding:.5rem .8rem; }.portfolio-disclosure { text-align:left; font-size:.7rem; }
  .story-layout { grid-template-columns:1fr; gap:1.2rem; }.story-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; padding:0; }.story-choices button { min-height:66px; padding:.7rem; gap:.6rem; border:1px solid #d6e1cb; }.story-choices button:last-child { grid-column:span 2; }.story-choices strong { font-size:.71rem; line-height:1.35; }.story-choices small,.story-step-number { display:none; }.story-choice-icon { width:27px; height:27px; border:0; border-radius:7px; }.story-choice-icon svg { width:19px; height:19px; }.story-play { font-size:.74rem; margin-top:.3rem; }.story-stage { min-height:453px; padding:3rem .75rem 1.2rem; }.story-scene-label { left:15px; font-size:.47rem; }.story-website { width:94%; }.story-website > img { height:240px; }.story-browser { font-size:.39rem; padding:.3rem .4rem; }.story-sticker { font-size:.58rem; bottom:24px; right:18px; }.story-caption { display:block; }.story-caption h3 { font-size:1.02rem; }.story-caption p { font-size:.78rem; }.story-caption .text-link { margin-top:.5rem; font-size:.72rem!important; }.story-disclaimer { text-align:left; font-size:.62rem; }.story-stage--missed-call .story-phone { margin-left:40px; width:240px; transform:rotate(2deg); }.story-job-photo { left:15px; width:132px; height:240px; top:107px; }.story-search { padding:1.2rem; width:95%; }.story-search-result > strong { font-size:.91rem; }.story-search-result > p { font-size:.69rem; }.story-search-checks span { font-size:.53rem; }
  .friendly-steps { grid-template-columns:1fr; gap:2.1rem; }.process-picture { height:235px; }.process-picture--build { padding:1.5rem 2rem 0; }.friendly-step-heading h3 { font-size:1.12rem; }.friendly-steps article > p { font-size:.85rem; }.friendly-pricing > .container { grid-template-columns:1fr; gap:2rem; }.friendly-price-copy > p:not(.eyebrow) { font-size:.9rem; }.friendly-price-photo { margin-top:1.4rem; }.friendly-price-photo img { width:60px; height:60px; }.friendly-price-card { padding:1.8rem 1.5rem; }.friendly-price > strong { font-size:4.4rem; }.friendly-price-card li { font-size:.78rem; }.friendly-price-card .button { font-size:.8rem!important; padding:.8rem .9rem!important; }.friendly-faq .faq-layout { gap:2rem; }.friendly-faq .faq-item summary { font-size:.85rem; }.friendly-final { padding:2.8rem 0; }.friendly-final > .container { display:block; }.friendly-final .friendly-spark { font-size:3.8rem; display:block; margin-bottom:1rem; }.friendly-final .button { margin-top:1.4rem; }.friendly-final h2 { font-size:2.3rem; }.page-hero h1 { font-size:clamp(2.9rem,9vw,4rem); }.page-hero .lead { font-size:.96rem; }.included-simple { grid-template-columns:1fr; gap:2rem; }.included-detail summary { font-size:.85rem; }.friendly-services-hero { text-align:left; }.friendly-services-hero .eyebrow { justify-content:flex-start; }.friendly-services-hero .lead { margin-left:0; }.footer-col a { font-size:.8rem; }.service-detail-hero { gap:2rem; }
}
@media(max-width:360px) {
  .conversion-hero-copy h1 { font-size:3.25rem; }.conversion-hero-copy h1 em { font-size:1.06em; }.conversion-hero .actions { gap:.7rem; }.conversion-hero .actions .button { font-size:.73rem; padding:.8rem .85rem; }.conversion-hero .actions .text-link { font-size:.67rem; gap:.4rem; }.hero-workspace { height:355px; }.hero-browser > img { height:205px; }.hero-message { padding:.8rem; }.hero-message strong { font-size:.76rem; }.portfolio-image,.portfolio-collection .portfolio-card:nth-child(n+4) .portfolio-image { height:280px; }.story-choices button { padding:.6rem .4rem; gap:.4rem; }.story-choices strong { font-size:.65rem; }.story-stage--missed-call .story-phone { margin-left:20px; width:228px; }.story-job-photo { left:10px; width:100px; }.story-stage { padding-inline:.5rem; }.story-search { padding:1rem; }.story-search-result > strong { font-size:.8rem; }.business-shortcuts > a { font-size:.57rem; }.business-shortcuts > span { font-size:.51rem; }
}
/* Keep the actual example messages readable, including on small phones. */
.story-stage { min-height:510px; }
.hero-browser-bar,.portfolio-meta p > span,.story-browser,.story-choices small,.story-step-number,.story-disclaimer,.price-card-label,.friendly-price > span,.friendly-price-note,.story-phone-header small,.story-phone-compose { color:#58644f; }
.story-search-result small { color:#58644f; }
.hero-message { animation:hero-message-enter .65s .25s both; }
@keyframes hero-message-enter { from { opacity:0; transform:translateY(10px) rotate(2deg); } to { opacity:1; transform:translateY(0) rotate(2deg); } }
.story-bubble > span { color:#526146; }.story-customer > span { color:#8a4e36; }
.service-explainer { padding-block:1.25rem; border-bottom:1px solid #dce4d4; margin:0!important; }
.service-explainer summary { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; cursor:pointer; list-style:none; min-height:48px; }
.service-explainer summary::-webkit-details-marker { display:none; }.service-explainer summary > h2 { font-size:1.35rem; line-height:1.35; }
.service-explainer summary > svg { width:21px; height:21px; flex-shrink:0; }.service-explainer details[open] summary > svg { transform:rotate(90deg); }
.service-explainer details > p { margin-top:1.1rem; padding-right:1rem; }
.story-bubble p { font-size:.78rem; line-height:1.45; }
.story-bubble > span { font-size:.48rem; }
.story-result { font-size:.55rem; }
.story-review-card strong { font-size:.73rem; }.story-review-card p { font-size:.65rem; }
.story-review-card { padding:13px 10px; }.story-review-card > span { font-size:1.6rem; }
.story-layout:has(.story-choices[hidden]) { grid-template-columns:1fr; }
.story-layout:has(.story-choices[hidden]) .story-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; }
@media(max-width:760px) { .story-stage--missed-call .story-phone { width:270px; margin-left:15px; }.story-job-photo { left:-7px; }.story-layout:has(.story-choices[hidden]) .story-panels { grid-template-columns:1fr; }.conversion-hero .actions { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:1rem; }.conversion-hero .actions .button { width:auto; }.conversion-hero .actions .text-link { font-size:.76rem!important; gap:.4rem; }.conversion-hero-copy h1 { font-size:clamp(3.3rem,10.8vw,4.7rem); }.conversion-hero-copy > p:not(.eyebrow) { font-size:.93rem; }.conversion-hero .hero-smallprint { margin-top:.7rem; } }
@media(max-width:360px) { .story-stage--missed-call .story-phone { width:245px; margin-left:5px; }.story-phone { width:250px; }.story-bubble p { font-size:.72rem; }.story-stage--missed-call .story-bubble p { font-size:.75rem; } }
@media(max-width:760px) { body:not(.demo-body) .conversion-hero .actions .button { font-size:.82rem; padding:.85rem 1rem; gap:.65rem; } }
@media(prefers-reduced-motion:reduce) { body:not(.demo-body) * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }.hero-browser,.hero-browser:hover { transform:rotate(-3deg); } }
