@font-face{font-family:"DM Sans";src:url("assets/dm-sans.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:optional}
@font-face{font-family:"DM Serif Display";src:url("assets/dm-serif-display.woff2") format("woff2");font-style:italic;font-weight:400;font-display:optional}

:root{
  --ink:#183127;
  --ink-soft:#58665d;
  --paper:#f8f6f1;
  --paper-deep:#f0ede5;
  --sage:#dfe4d3;
  --sage-dark:#78866d;
  --terracotta:#a8563e;
  --terracotta-dark:#8d432f;
  --line:rgba(24,49,39,.15);
  --white:#fffdf9;
  --shadow:0 28px 70px rgba(34,48,39,.13);
  --radius:2px;
  --container:min(1280px,calc(100% - 64px));
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open,body.dialog-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
svg{display:block}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.container{width:var(--container);margin-inline:auto}
.section{padding-block:126px}
.eyebrow{margin:0;color:var(--terracotta);font-size:11px;font-weight:700;letter-spacing:.18em;line-height:1.3;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2{margin-bottom:0;font-weight:500;letter-spacing:-.052em;line-height:.96}
h1{font-size:clamp(56px,5.9vw,91px)}
h2{font-size:clamp(46px,5vw,74px)}
h1 em,h2 em,.mobile-cta em{font-family:"DM Serif Display",Georgia,serif;font-weight:400;color:var(--terracotta)}
h3{font-size:22px;line-height:1.2;letter-spacing:-.025em}
.skip-link{position:fixed;z-index:9999;left:16px;top:12px;padding:10px 16px;background:var(--ink);color:white;transform:translateY(-150%);transition:transform .2s}
.skip-link:focus{transform:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:15px 20px 15px 24px;border:1px solid var(--terracotta);border-radius:0;background:var(--terracotta);color:#fffaf3;font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.button .icon{width:19px;height:19px}
.button:hover{background:var(--terracotta-dark);border-color:var(--terracotta-dark);transform:translateY(-2px)}
.button:focus-visible,.text-link:focus-visible,.service-link:focus-visible,.menu-toggle:focus-visible,.dialog-close:focus-visible,.carousel-arrow:focus-visible,.carousel-dots button:focus-visible,summary:focus-visible,.announcement a:focus-visible,.brand:focus-visible,.site-nav a:focus-visible,.footer-links a:focus-visible,.footer-links button:focus-visible,.footer-local a:focus-visible,.developer-credit:focus-visible{outline:2px solid var(--terracotta);outline-offset:4px}
.button-small{min-height:44px;padding:10px 14px 10px 18px;gap:14px;font-size:12px}
.text-link{display:inline-flex;align-items:center;gap:13px;border:0;border-bottom:1px solid currentColor;padding:4px 0;background:none;color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.02em;cursor:pointer}
.text-link .icon{width:17px;height:17px;transition:transform .2s}
.text-link:hover .icon{transform:translateX(4px)}
.status-dot,.small-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--terracotta)}

.announcement{height:34px;background:var(--ink);color:#e9eadf;font-size:9px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}
.announcement-inner{height:100%;display:flex;justify-content:space-between;align-items:center}
.announcement-inner>span{display:flex;align-items:center;gap:9px}
.announcement .icon{width:12px;height:12px}
.announcement-phone,.announcement-social{color:white;transition:color .2s}
.announcement-phone:hover,.announcement-social:hover{color:#e2a38f}
.announcement-social{display:grid;place-items:center;width:20px;height:20px}
.announcement .announcement-social .icon{width:15px;height:15px;stroke-width:1.7}
.announcement-divider{color:#89988f}
.announcement-location .small-dot{margin-left:8px;background:#b9bda9}
.site-header{position:sticky;z-index:60;top:0;height:98px;border-bottom:1px solid var(--line);background:rgba(248,246,241,.92);backdrop-filter:blur(14px)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:36px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:20px;font-weight:600;letter-spacing:-.035em;line-height:1;white-space:nowrap}
.brand-logo{width:76px;height:76px;flex:none;object-fit:contain}
.brand>span{display:flex;flex-direction:column;gap:4px}
.brand small{color:#7a5a49;font-size:7px;font-weight:700;letter-spacing:.26em;line-height:1;text-indent:.24em}
.site-nav{display:flex;align-items:center;gap:35px;margin-left:auto}
.site-nav>a{position:relative;font-size:12px;font-weight:600;letter-spacing:.01em}
.site-nav>a::after{position:absolute;content:"";left:0;right:100%;bottom:-7px;height:1px;background:var(--terracotta);transition:right .25s}
.site-nav>a:hover::after{right:0}
.site-nav .nav-phone,.site-nav .nav-instagram{display:none}
.nav-mobile-quote,.menu-toggle{display:none}
.nav-scrim[hidden]{display:none}

.hero{min-height:calc(100vh - 110px);display:grid;grid-template-columns:minmax(0,.83fr) minmax(480px,1.17fr);gap:clamp(36px,6vw,92px);align-items:center;padding-top:64px;padding-bottom:76px}
.hero-content{position:relative;z-index:1;padding-left:clamp(0px,2vw,28px)}
.hero-content>.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:30px}
.hero h1{max-width:700px}
.hero-description{max-width:525px;margin:32px 0 35px;color:var(--ink-soft);font-size:17px;line-height:1.7}
.hero-actions{display:flex;align-items:center;gap:30px}
.hero-note{display:flex;align-items:center;gap:13px;margin-top:47px;color:var(--ink);font-size:11px;font-weight:650;letter-spacing:.025em;line-height:1.6}
.hero-note span{color:#606d64;font-weight:450}
.note-icon{display:grid;place-items:center;width:39px;height:39px;border:1px solid #c8cebd;border-radius:50%;background:#eef0e7;color:var(--sage-dark)}
.note-icon .icon{width:18px;height:18px}
.hero-visual{position:relative;align-self:stretch;min-height:590px;margin-right:max(0px,calc((100vw - 1280px)/-2 + 5px));touch-action:pan-y}
.hero-slides,.hero-slide,.hero-slide picture{height:100%}
.hero-slide{position:absolute;inset:0;margin:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease}
.hero-slide.is-active{z-index:1;opacity:1;visibility:visible}
.hero-image{width:100%;height:100%;min-height:590px;object-fit:cover;object-position:center;transform:scale(1.12);transition:transform 7.2s cubic-bezier(.18,.66,.28,1)}
.hero-slide.is-active .hero-image{transform:scale(1)}
.hero-slide:first-child .hero-image{transform:scale(1)}
.hero-carousel-ready .hero-slide:first-child.is-active .hero-image{transform:scale(1.12)}
.hero-slide:nth-child(even) .hero-image{transform:scale(1)}
.hero-slide:nth-child(even).is-active .hero-image{transform:scale(1.12)}
.image-label{position:absolute;z-index:2;top:22px;left:22px;display:flex;align-items:center;gap:9px;padding:10px 13px;background:rgba(250,248,241,.89);backdrop-filter:blur(8px);font-size:9px;font-weight:700;letter-spacing:.15em}
.carousel-controls{position:absolute;z-index:3;inset:0;pointer-events:none;color:white}
.carousel-arrow{position:absolute;top:50%;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;background:transparent;color:white;filter:drop-shadow(0 2px 5px rgba(12,27,21,.7));cursor:pointer;pointer-events:auto;transform:translateY(-50%);transition:color .2s,transform .2s}
.carousel-arrow:hover{color:#e09982;transform:translateY(-50%) scale(1.12)}
.carousel-arrow .icon{width:25px;height:25px}
.carousel-prev{left:22px}
.carousel-next{right:22px}
.carousel-prev .icon{transform:rotate(180deg)}
.carousel-dots{position:absolute;left:50%;bottom:22px;display:flex;align-items:center;gap:2px;pointer-events:auto;transform:translateX(-50%)}
.carousel-dots button{position:relative;width:28px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;transition:width .25s}
.carousel-dots button::before{content:"";position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 1px 5px rgba(12,27,21,.6);transform:translate(-50%,-50%);transition:width .25s,background .25s,border-radius .25s}
.carousel-dots button.is-active{width:38px}
.carousel-dots button.is-active::before{width:22px;border-radius:10px;background:#e09982}
.hero-image-caption{position:absolute;right:-2px;bottom:10px;color:rgba(255,255,255,.88);font-size:8px;letter-spacing:.18em;writing-mode:vertical-rl;transform:rotate(180deg)}
.values-strip{border-block:1px solid var(--line);background:#eeeee4}
.values-inner{min-height:72px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}
.values-inner>span{display:flex;align-items:center;justify-content:center;gap:11px;min-height:34px;border-right:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center}
.values-inner>span:last-child{border-right:0}
.values-inner .icon{width:16px;height:16px;color:var(--terracotta)}

.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:58px}
.section-heading .eyebrow{margin-bottom:22px}
.section-heading>p{max-width:410px;margin-bottom:5px;color:var(--ink-soft);font-size:15px;line-height:1.8}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.service-card{grid-column:span 2;border:1px solid var(--line);background:var(--white);transition:transform .35s,box-shadow .35s}
.service-card:nth-child(4){grid-column:2/span 2}
.service-card:nth-child(5){grid-column:4/span 2}
.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(30,49,38,.08)}
.service-image-wrap{position:relative;height:300px;overflow:hidden;background:#d8dacd}
.service-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.service-card:hover .service-image-wrap img{transform:scale(1.035)}
.service-card:nth-child(2) img{object-position:center 58%}
.service-card:nth-child(4) img{object-position:center 58%}
.service-tag{position:absolute;left:15px;top:15px;padding:8px 10px;background:rgba(250,248,241,.9);backdrop-filter:blur(6px);font-size:8px;font-weight:700;letter-spacing:.14em}
.service-number{position:absolute;right:16px;top:13px;color:white;font-size:10px;font-weight:650;letter-spacing:.12em;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.service-content{padding:28px 27px 25px}
.service-content h3{margin-bottom:13px}
.service-content p{min-height:78px;margin-bottom:15px;color:var(--ink-soft);font-size:13px;line-height:1.75}
.service-frequency{display:block;margin-bottom:22px;color:var(--terracotta);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.service-link{display:flex;width:100%;align-items:center;justify-content:space-between;padding:16px 0 0;border:0;border-top:1px solid var(--line);background:transparent;font-size:11px;font-weight:700;letter-spacing:.035em;cursor:pointer;text-align:left}
.service-link>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;transition:background .2s,color .2s}
.service-link:hover>span{background:var(--terracotta);color:white}
.service-link .icon{width:14px;height:14px}
.services-footnote{display:flex;align-items:center;justify-content:center;gap:10px;margin:33px 0 0;color:var(--ink-soft);font-size:11px;letter-spacing:.025em}
.services-footnote .icon{width:13px;height:13px;color:var(--terracotta)}

.difference-section{padding-block:126px;background:var(--ink);color:#f7f4eb}
.difference-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(60px,10vw,140px);align-items:center}
.difference-art{border:1px solid rgba(255,255,255,.2)}
.editorial-kicker,.editorial-bottom{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.16);font-size:8px;letter-spacing:.17em}
.editorial-kicker span{color:#aeb9aa}
.editorial-art{position:relative;min-height:480px;display:grid;place-items:center;overflow:hidden;background:#d9ddcd;color:var(--ink)}
.large-flower{position:absolute;width:330px;height:330px;color:#8a987f;opacity:.45}
.editorial-art p{position:relative;margin:0;text-align:center;font-size:32px;line-height:1.25;letter-spacing:-.04em}
.editorial-art em{font-family:"DM Serif Display",serif;color:var(--terracotta);font-size:42px}
.editorial-bottom{border-top:1px solid rgba(255,255,255,.16);border-bottom:0}
.editorial-bottom .icon{width:14px;height:14px;color:#d7c2ac}
.difference-content>.eyebrow{margin-bottom:22px;color:#d59680}
.difference-content h2 em{color:#d79882}
.section-intro{max-width:530px;margin:30px 0 40px;color:#bac3bc;font-size:16px}
.difference-list{margin-bottom:40px}
.difference-list>div{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:23px 0;border-top:1px solid rgba(255,255,255,.15)}
.difference-list>div:last-child{border-bottom:1px solid rgba(255,255,255,.15)}
.difference-list>div>span{color:#d79882;font-size:20px;font-weight:700;letter-spacing:.14em}
.difference-list h3{margin:0 0 8px;font-size:18px}
.difference-list p{max-width:530px;margin:0;color:#aeb9b1;font-size:13px;line-height:1.75}
.difference-content .text-link{color:#f5f0e7}

.center-heading{text-align:center}
.center-heading .eyebrow{margin-bottom:19px}
.center-heading>p:last-child{margin:25px 0 0;color:var(--ink-soft)}
.process-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:65px}
.process-grid::before{position:absolute;content:"";top:43px;left:16.6%;right:16.6%;height:1px;background:var(--line)}
.process-step{position:relative;padding:0 30px;text-align:center}
.step-top{position:relative;z-index:1;width:86px;height:86px;display:grid;place-items:center;margin:0 auto 30px;border:1px solid var(--line);border-radius:50%;background:var(--paper)}
.step-top .icon{width:27px;height:27px;color:var(--terracotta)}
.step-number{position:absolute;top:1px;right:-6px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--terracotta);color:white;font-size:8px;font-weight:700}
.process-step h3{margin-bottom:12px;font-size:19px}
.process-step p{max-width:300px;margin:0 auto;color:var(--ink-soft);font-size:13px;line-height:1.75}
.process-action{display:flex;flex-direction:column;align-items:center;gap:13px;margin-top:55px}
.process-action>span{color:#829086;font-size:10px;letter-spacing:.04em}

.area-section{padding-block:125px;background:#e2e5d8}
.area-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(55px,9vw,130px);align-items:center}
.area-content .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:20px}
.area-content .eyebrow .icon{width:14px;height:14px}
.area-content>p:not(.eyebrow):not(.area-note){max-width:470px;margin:30px 0;color:#627064;font-size:15px;line-height:1.8}
.area-neighbourhoods{display:flex;flex-wrap:wrap;gap:8px;margin:27px 0 19px}
.area-neighbourhoods span{padding:8px 11px;border:1px solid rgba(24,49,39,.17);background:rgba(248,246,241,.42);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.area-note{max-width:450px;margin:0;color:#748076;font-size:10px;line-height:1.6}
.calgary-art{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.calgary-illustration{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;aspect-ratio:4/5;padding:27px 25px 17px;border:1px solid rgba(24,49,39,.19);background:#edf0e5;box-shadow:0 24px 55px rgba(30,49,38,.08)}
.map-coordinate{position:absolute;top:18px;right:20px;color:#7b887b;font-size:8px;letter-spacing:.13em}
.calgary-illustration>svg{display:block;width:100%;height:100%;min-height:0;padding-top:12px}
.calgary-map-photo{display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;aspect-ratio:4/5;margin:0;overflow:hidden;border:1px solid rgba(24,49,39,.19);background:#edf0e5;box-shadow:0 18px 40px rgba(30,49,38,.1)}
.calgary-map-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.calgary-map-photo figcaption{padding:11px 10px;color:#657267;font-size:8px;font-weight:700;letter-spacing:.11em;line-height:1.4;text-align:center;text-transform:uppercase}
.map-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line);color:var(--ink);font-size:8px;font-weight:700;letter-spacing:.15em}
.map-bottom span{display:flex;align-items:center;gap:8px}
.map-bottom .icon{width:13px;height:13px;color:var(--terracotta)}

.reviews-section{padding-block:126px;background:var(--paper-deep)}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:55px}
.reviews-heading .eyebrow{margin-bottom:20px}
.reviews-heading h2 em{color:var(--terracotta)}
.reviews-heading>p{max-width:465px;margin:0 0 5px;color:var(--ink-soft);font-size:14px;line-height:1.8}
.review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}
.review-card{min-height:330px;display:flex;flex-direction:column;padding:31px 29px 27px;border:1px solid var(--line);background:var(--white);box-shadow:0 16px 35px rgba(30,49,38,.05)}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px}
.review-stars{color:var(--terracotta);font-size:14px;letter-spacing:.16em}
.review-card blockquote{margin:38px 0 32px;color:var(--ink);font-family:"DM Serif Display",Georgia,serif;font-size:21px;font-style:italic;line-height:1.5}
.review-card footer{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:19px;border-top:1px solid var(--line)}
.review-avatar{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:var(--sage);color:var(--ink);font-size:12px;font-weight:700}
.review-card footer div{display:flex;flex-direction:column}
.review-card footer strong{font-size:11px}
.review-card footer div span{color:var(--ink-soft);font-size:9px;letter-spacing:.03em}
.reviews-layout{display:grid;grid-template-columns:1.13fr .87fr;gap:18px}
.review-invitation{position:relative;min-height:430px;display:flex;align-items:flex-start;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:58px;background:var(--ink);color:#f8f5ed}
.review-invitation::after{position:absolute;content:"";width:330px;height:330px;top:-190px;right:-90px;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.review-quote{position:absolute;top:20px;left:44px;color:#d79781;font-family:"DM Serif Display",Georgia,serif;font-size:145px;font-style:italic;line-height:1;opacity:.8}
.review-kicker{position:relative;margin-bottom:22px;color:#d8a28f;font-size:9px;font-weight:700;letter-spacing:.18em}
.review-invitation h3{position:relative;margin-bottom:14px;font-size:30px;font-weight:500}
.review-invitation>p{position:relative;max-width:620px;margin-bottom:30px;color:#b9c2bc;font-size:14px;line-height:1.8}
.review-invitation .button{position:relative}
.review-process{padding:49px 48px;border:1px solid var(--line);background:rgba(255,253,249,.72)}
.review-process>.eyebrow{margin-bottom:25px}
.review-process ol{margin:0 0 30px;padding:0;border-top:1px solid var(--line);list-style:none}
.review-process li{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:21px 0;border-bottom:1px solid var(--line)}
.review-process li>span{padding-top:3px;color:var(--terracotta);font-size:9px;font-weight:700;letter-spacing:.13em}
.review-process h3{margin:0 0 6px;font-size:16px}
.review-process li p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.7}

.faq-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,10vw,140px)}
.faq-intro{align-self:start;position:sticky;top:130px}
.faq-intro .eyebrow{margin-bottom:22px}
.faq-intro h2{font-size:clamp(43px,4.2vw,64px)}
.faq-intro>p:not(.eyebrow){max-width:360px;margin:28px 0 34px;color:var(--ink-soft);font-size:14px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px;padding:20px 0;list-style:none;cursor:pointer;font-size:17px;font-weight:600;letter-spacing:-.015em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .icon{flex:none;width:20px;height:20px;color:var(--terracotta);transition:transform .25s}
.faq-list details[open] summary .icon{transform:rotate(45deg)}
.faq-answer{max-width:650px;padding:0 45px 24px 0;color:var(--ink-soft);font-size:13px;line-height:1.8}
.faq-answer p{margin:0}

.closing-section{position:relative;overflow:hidden;padding-block:110px;background:var(--terracotta);color:#fff7ed;text-align:center}
.closing-section::before,.closing-section::after{position:absolute;content:"";width:430px;height:430px;border:1px solid rgba(255,255,255,.13);border-radius:50%;top:-190px}
.closing-section::before{left:-110px}.closing-section::after{right:-110px}
.closing-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.closing-sparkle{width:62px;height:62px;margin-bottom:27px;opacity:.65}
.closing-section .eyebrow{margin-bottom:18px;color:#f2d8cd}
.closing-section h2{font-size:clamp(48px,5.4vw,76px)}
.closing-section h2 em{color:#fff4e8}
.closing-section p:not(.eyebrow){margin:24px 0 30px;color:#f4d9cf}
.button-light{border-color:#fff8ed;background:#fff8ed;color:var(--terracotta)}
.button-light:hover{background:var(--ink);border-color:var(--ink);color:white}
.closing-caption{margin-top:36px;font-size:8px;letter-spacing:.18em}

.site-footer{padding-top:70px;background:#13271f;color:#ebeee8}
.footer-main{display:grid;grid-template-columns:1.2fr 1fr .8fr 1.1fr;gap:50px;padding-bottom:60px}
.site-footer .brand{margin-bottom:20px;color:white}
.site-footer .brand-logo{width:86px;height:86px}
.site-footer .brand small{color:#c99783}
.footer-main>div:first-child>p{color:#94a198;font-size:13px;line-height:1.7}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-links .eyebrow{margin-bottom:7px;color:#d98d75}
.footer-links a,.footer-links button{padding:0;border:0;background:none;color:#c3cac5;font-size:12px;cursor:pointer}
.footer-links a:hover,.footer-links button:hover{color:white}
.footer-local{display:grid;grid-template-columns:30px 1fr;gap:12px;align-self:start}
.footer-local>.icon{width:22px;height:22px;color:#d98d75}
.footer-local>span{font-size:13px;font-weight:600;line-height:1.5}
.footer-local>span span{color:#96a29a;font-weight:400}
.footer-local .footer-phone{grid-column:2;color:white;font-size:14px;font-weight:600;letter-spacing:.035em;transition:color .2s}
.footer-local .footer-phone:hover{color:#d98d75}
.footer-local .footer-email{grid-column:2;color:#c8d0ca;font-size:11px;font-weight:600;letter-spacing:.025em;transition:color .2s}
.footer-local .footer-email:hover{color:white}
.footer-local .footer-instagram{grid-column:2;color:#c8d0ca;font-size:11px;font-weight:600;letter-spacing:.025em;transition:color .2s}
.footer-local .footer-instagram:hover{color:white}
.footer-local .text-link{grid-column:2;color:#c8d0ca;font-size:10px}
.footer-bottom{position:relative;min-height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-top:1px solid rgba(255,255,255,.12);color:#849188;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.footer-bottom>span:last-child{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.footer-bottom .icon{width:12px;height:12px;color:#d98d75}
.developer-credit{position:relative;padding:8px 0;color:#bdc7c0;font-size:11px;font-weight:600;text-align:center;text-transform:none;letter-spacing:.035em}
.developer-name{border-bottom:1px solid rgba(216,141,117,.45);transition:color .2s,border-color .2s}
.developer-email{position:absolute;left:50%;bottom:calc(100% + 4px);padding:8px 11px;background:#f5efe7;color:#183127;font-size:10px;font-weight:600;letter-spacing:.015em;text-transform:none;white-space:nowrap;box-shadow:0 10px 28px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s,transform .2s,visibility .2s}
.developer-email::after{position:absolute;content:"";top:100%;left:50%;border:5px solid transparent;border-top-color:#f5efe7;transform:translateX(-50%)}
.developer-credit:hover .developer-name,.developer-credit:focus .developer-name{color:white;border-color:#d98d75}
.developer-credit:hover .developer-email,.developer-credit:focus .developer-email{opacity:1;visibility:visible;transform:translate(-50%,0)}

.mobile-cta{display:none}
.noscript-note{position:fixed;z-index:100;left:16px;right:16px;bottom:16px;padding:12px 16px;background:#fff5df;border:1px solid #d6a06e;color:#53351f;font-size:13px;text-align:center}

dialog{max-width:none;max-height:none;margin:auto;padding:0;border:0;color:var(--ink);background:var(--paper);box-shadow:0 30px 90px rgba(10,25,18,.3)}
dialog::backdrop{background:rgba(12,29,22,.68);backdrop-filter:blur(6px)}
.dialog-close{position:absolute;z-index:2;top:17px;right:17px;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:rgba(248,246,241,.92);cursor:pointer}
.dialog-close .icon{width:19px;height:19px}
.quote-dialog{width:min(1080px,calc(100vw - 36px));height:min(700px,calc(100dvh - 36px));overflow-x:hidden;overflow-y:auto}
.dialog-header{padding:42px 60px 28px;border-bottom:1px solid var(--line)}
.dialog-header .eyebrow{margin-bottom:10px}
.dialog-header h2{font-size:50px}
.dialog-header>p:last-child{margin:12px 0 0;color:var(--ink-soft);font-size:13px}
.quote-dialog form{display:grid;grid-template-columns:1.18fr .82fr;min-height:450px}
.quote-fields{padding:34px 60px 45px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{min-width:0;margin-bottom:20px}
.field label,.frequency-fieldset legend,.quote-contact legend{display:block;margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.035em}
.field select{width:100%;max-width:100%;min-width:0;min-height:48px;padding:0 42px 0 14px;border:1px solid var(--line);border-radius:0;background-color:white;color:var(--ink);cursor:pointer}
.quote-contact{margin:0 0 8px;padding:0;border:0}
.quote-contact>legend{width:100%;margin-bottom:12px;color:var(--terracotta);font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.quote-contact .field input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:0;background:white;color:var(--ink)}
.quote-contact .field input:focus{outline:2px solid var(--terracotta);outline-offset:-1px}
.field-hint{display:block;margin-top:6px;color:#748078;font-size:8px;line-height:1.45}
fieldset{min-width:0}
.frequency-fieldset{margin:2px 0 21px;padding:0;border:0}
fieldset:disabled{opacity:.42}
.frequency-fieldset legend{width:100%}
.frequency-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.frequency-choices label{min-width:0;cursor:pointer}
.frequency-choices input{position:absolute;opacity:0;pointer-events:none}
.frequency-choices span{display:flex;min-height:58px;flex-direction:column;justify-content:center;padding:9px;border:1px solid var(--line);background:white;font-size:10px;font-weight:700;text-align:center;transition:border-color .2s,background .2s}
.frequency-choices small{display:block;color:#8d978f;font-size:8px;font-weight:500}
.frequency-choices input:checked+span{border-color:var(--terracotta);background:#fcf0eb;color:var(--terracotta)}
.frequency-choices input:focus-visible+span{outline:2px solid var(--terracotta);outline-offset:2px}
.quote-notes{margin:6px 0 0}
.quote-notes label span{float:right;color:#879188;font-size:8px;font-weight:500;letter-spacing:.09em;text-transform:uppercase}
.quote-notes textarea{display:block;width:100%;min-height:125px;padding:12px 14px;border:1px solid var(--line);border-radius:0;background:white;color:var(--ink);line-height:1.55;resize:vertical}
.quote-notes textarea::placeholder{color:#8a948d;font-size:11px}
.quote-notes textarea:focus{outline:2px solid var(--terracotta);outline-offset:-1px}
.estimate-summary{position:relative;padding:38px 40px;background:#e3e6d9}
.estimate-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:33px}
.estimate-heading .icon{color:var(--terracotta)}
.estimate-label{font-size:11px;font-weight:600}
.estimate-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin:5px 0 2px;color:var(--terracotta)}
.estimate-price>span{font-family:"DM Serif Display",Georgia,serif;font-size:52px;font-style:italic;line-height:1}
.estimate-price small{width:100%;color:#768378;font-size:9px;font-weight:700;letter-spacing:.1em}
#estimate-frequency{margin:17px 0 3px;font-size:12px;font-weight:700}
.estimate-note{margin:0;color:#6d7a70;font-size:10px;line-height:1.5}
.estimate-divider{height:1px;margin:25px 0;background:rgba(24,49,39,.15)}
.estimate-disclaimer{margin-bottom:22px;color:#6e7a71;font-size:10px;line-height:1.65}
.estimate-disclaimer strong{color:var(--ink);font-weight:700}
.estimate-summary .button{width:100%}
.quote-turnstile{width:100%;min-height:65px;margin:0 0 17px;overflow:hidden}
.quote-turnstile iframe{max-width:100%}
.estimate-privacy{display:flex;align-items:center;justify-content:center;gap:7px;margin:11px 0 0;color:#78847b;font-size:9px}
.estimate-privacy .icon{width:13px;height:13px}
.reset-quote{display:block;margin:9px auto 0;padding:3px;border:0;border-bottom:1px solid currentColor;background:none;color:#748078;font-size:9px;cursor:pointer}
#quote-status{display:none;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(24,49,39,.16);background:rgba(255,255,255,.55);color:var(--ink);font-size:9px;line-height:1.5;text-align:left}
#quote-status:not(:empty){display:block}
#quote-status[data-state="error"]{border-color:rgba(170,75,54,.45);background:#fff4ef;color:#7b2e20}
#quote-status[data-state="progress"]{border-color:rgba(24,49,39,.2);background:rgba(255,255,255,.65)}
.quote-dialog form.is-success{display:block}
.quote-dialog form.is-success>.quote-fields,.quote-dialog form.is-success>.estimate-summary{display:none}
.quote-success[hidden]{display:none}
.quote-success{display:flex;min-height:450px;align-items:center;flex-direction:column;justify-content:center;padding:58px 30px;background:#e3e6d9;text-align:center}
.quote-success-icon{display:grid;place-items:center;width:66px;height:66px;margin-bottom:24px;border-radius:50%;background:var(--forest);color:#fff}
.quote-success-icon .icon{width:29px;height:29px}
.quote-success .eyebrow{margin-bottom:14px;color:var(--terracotta)}
.quote-success h3{max-width:680px;font-family:"DM Serif Display",Georgia,serif;font-size:48px;font-weight:400;line-height:1.05}
.quote-success h3 span{color:var(--terracotta);font-style:italic}
.quote-success>p:not(.eyebrow){max-width:580px;margin:18px auto 0;color:var(--ink-soft);font-size:13px;line-height:1.7}
.quote-success-actions{display:flex;align-items:center;gap:28px;margin-top:30px}
.quote-success-actions .button{min-width:190px}
.service-dialog{width:min(610px,calc(100vw - 36px));padding:55px 60px 50px}
.service-dialog .eyebrow{margin-bottom:15px}
.service-dialog h2{font-size:48px;margin-bottom:18px}
#service-dialog-description{color:var(--ink-soft);font-size:14px;line-height:1.75}
.service-checklist{display:grid;gap:0;margin:27px 0;padding:0;border-top:1px solid var(--line);list-style:none}
.service-checklist li{position:relative;padding:13px 0 13px 29px;border-bottom:1px solid var(--line);font-size:12px}
.service-checklist li::before{position:absolute;content:"✓";left:2px;color:var(--terracotta);font-weight:700}
.service-dialog-note{color:#7b867f;font-size:10px;line-height:1.6}
.service-dialog .button{margin-top:12px}
.review-dialog{width:min(720px,calc(100vw - 36px));max-height:calc(100dvh - 36px);overflow:auto}
.review-dialog-header{padding:48px 60px 28px;border-bottom:1px solid var(--line)}
.review-dialog-header .eyebrow{margin-bottom:12px}
.review-dialog-header h2{font-size:50px}
.review-dialog-header>p:last-child{max-width:540px;margin:14px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.7}
#review-form{padding:30px 60px 46px}
.review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.review-dialog .field label span{float:right;color:#879188;font-size:8px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.review-dialog .field input,.review-dialog .field textarea{width:100%;padding:0 14px;border:1px solid var(--line);border-radius:0;background:white;color:var(--ink)}
.review-dialog .field input{min-height:48px}
.review-dialog .field textarea{min-height:135px;padding-block:12px;line-height:1.6;resize:vertical}
.review-dialog .field input:focus,.review-dialog .field select:focus,.review-dialog .field textarea:focus{outline:2px solid var(--terracotta);outline-offset:-1px}
.review-rating{margin:2px 0 20px;padding:0;border:0}
.review-rating legend{margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.035em}
.rating-choices{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.rating-choices label{cursor:pointer}
.rating-choices input{position:absolute;opacity:0;pointer-events:none}
.rating-choices span{display:flex;min-height:55px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:white;transition:border-color .2s,background .2s,color .2s}
.rating-choices b{color:#aa806e;font-size:17px;font-weight:400}
.rating-choices small{font-size:9px;font-weight:700}
.rating-choices input:checked+span{border-color:var(--terracotta);background:#fcf0eb;color:var(--terracotta)}
.rating-choices input:checked+span b{color:var(--terracotta)}
.rating-choices input:focus-visible+span{outline:2px solid var(--terracotta);outline-offset:2px}
.review-message{position:relative}
.character-count{position:absolute;right:10px;bottom:7px;padding:1px 4px;background:white;color:#8a948d;font-size:8px}
.review-consent{display:grid;grid-template-columns:17px 1fr;gap:10px;align-items:start;margin:5px 0 25px;color:#657168;font-size:10px;line-height:1.55;cursor:pointer}
.review-consent input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--terracotta)}
.review-honeypot,.quote-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.review-turnstile{width:100%;min-height:65px;margin:0 0 17px;overflow:hidden}
.review-turnstile iframe{max-width:100%}
#review-form>.button{width:100%}
.button:disabled{cursor:not-allowed;opacity:.58;transform:none}
.review-privacy{display:flex;align-items:center;justify-content:center;gap:7px;margin:11px 0 0;color:#78847b;font-size:9px}
.review-privacy .icon{width:13px;height:13px}
#review-status{min-height:18px;margin:8px 0 0;color:var(--ink);font-size:10px;text-align:center}

.reveal-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal-ready .reveal.is-visible{opacity:1;transform:none}

@media (max-width:1100px){
  :root{--container:min(100% - 48px,1080px)}
  .site-nav{gap:17px}.site-nav>a{font-size:11px}.hero{grid-template-columns:.88fr 1.12fr;gap:45px}.hero h1{font-size:64px}.hero-visual{min-height:530px}.hero-image{min-height:530px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{grid-column:auto!important}.service-card-wide{grid-column:1/-1!important;display:grid;grid-template-columns:1fr 1fr}.service-card-wide .service-image-wrap{height:100%;min-height:330px}.footer-main{grid-template-columns:repeat(2,1fr)}.footer-local{grid-column:auto}.difference-grid{gap:70px}.area-grid{grid-template-columns:1fr;gap:55px}.area-content{max-width:680px}.faq-section{gap:70px}
}

@media (min-width:960px){
  .hero{min-height:calc(100svh - 132px);padding-top:58px;padding-bottom:68px}
  .hero h1{font-size:clamp(57px,5.3vw,82px)}
  .hero-content>.eyebrow{margin-bottom:27px}
  .hero-description{margin:29px 0 32px;font-size:15.5px}
  .hero-actions{gap:27px}
  .hero-actions .button{min-height:50px;padding:13px 18px 13px 22px}
  .hero-note{margin-top:42px}
  .note-icon{width:35px;height:35px}
  .hero-visual{align-self:center;height:clamp(520px,calc(100svh - 250px),675px);min-height:0}
  .hero-image{min-height:0}
}

@media (min-width:960px) and (max-height:820px){
  .hero{padding-top:30px;padding-bottom:34px}
  .hero h1{font-size:clamp(54px,5vw,68px)}
  .hero-content>.eyebrow{margin-bottom:18px;font-size:9px}
  .hero-description{margin:20px 0 22px;font-size:15px;line-height:1.6}
  .hero-note{margin-top:24px}
  .hero-visual{height:clamp(480px,calc(100svh - 196px),570px)}
}

@media (min-width:960px) and (max-height:680px){
  .hero{padding-top:20px;padding-bottom:20px}
  .hero h1{font-size:clamp(52px,4.6vw,60px)}
  .hero-content>.eyebrow{margin-bottom:12px}
  .hero-description{margin:13px 0 15px;font-size:14px;line-height:1.5}
  .hero-actions .button{min-height:44px;padding-block:10px}
  .hero-note{margin-top:12px}
  .hero-visual{height:clamp(400px,calc(100svh - 172px),480px)}
}

@media (max-width:959px){
  html{scroll-padding-top:85px}
  :root{--container:calc(100% - 40px)}
  .announcement{display:none}.site-header{height:86px}.header-quote{display:none}.menu-toggle{position:relative;z-index:62;display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:transparent;cursor:pointer}.menu-toggle span{width:19px;height:1px;background:var(--ink);transition:transform .25s}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-nav{position:fixed;z-index:60;top:0;right:0;width:min(420px,88vw);height:100dvh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;margin:0;padding:90px 40px 50px;background:var(--paper);box-shadow:-20px 0 60px rgba(20,40,31,.18);transform:translateX(105%);visibility:hidden;transition:transform .32s ease,visibility .32s}.menu-open .site-nav{transform:none;visibility:visible}.site-nav>a{width:100%;padding:16px 0;border-bottom:1px solid var(--line);font-size:20px;font-weight:500}.site-nav>a::after{display:none}.site-nav .nav-phone,.site-nav .nav-instagram{display:block;padding-block:8px;border-bottom:0;color:var(--terracotta);font-size:15px;font-weight:700}.site-nav .nav-phone{margin-top:13px}.site-nav .nav-instagram{color:var(--ink-soft);font-size:13px}.nav-mobile-quote{display:flex;width:100%;margin-top:15px}.nav-scrim{position:fixed;z-index:55;inset:0;background:rgba(12,29,22,.5)}
  .hero{min-height:auto;grid-template-columns:1fr;gap:46px;padding-top:70px;padding-bottom:72px}.hero-content{padding-left:0}.hero h1{font-size:clamp(58px,10vw,78px)}.hero-description{max-width:650px}.hero-visual{min-height:600px;margin-right:0}.hero-image{min-height:600px}.values-inner{grid-template-columns:1fr 1fr;padding:12px 0}.values-inner>span{justify-content:flex-start;padding:10px 18px;border:0}.service-grid{grid-template-columns:1fr 1fr}.service-card-wide{display:block}.service-card-wide .service-image-wrap{height:300px;min-height:0}
  .difference-grid{grid-template-columns:1fr 1fr;gap:45px}.editorial-art{min-height:420px}.large-flower{width:270px}.difference-content h2{font-size:54px}.area-grid{grid-template-columns:1fr;gap:55px}.area-content{max-width:680px}.reviews-heading{align-items:start;flex-direction:column;gap:24px}.reviews-heading>p{max-width:620px}.review-cards{grid-template-columns:1fr 1fr}.review-card:last-child{grid-column:1/-1}.reviews-layout{grid-template-columns:1fr}.review-invitation{min-height:390px}.faq-section{grid-template-columns:1fr;gap:55px}.faq-intro{position:static}.faq-intro>p:not(.eyebrow){max-width:500px}.footer-main{grid-template-columns:1fr 1fr}.footer-local{grid-column:auto}.quote-dialog{height:calc(100dvh - 24px);width:calc(100vw - 24px)}.dialog-header{padding:36px 40px 24px}.quote-fields{padding:32px 40px 40px}.quote-dialog form{grid-template-columns:1fr 1fr}.estimate-summary{padding:35px 30px}
}

@media (max-width:720px){
  :root{--container:calc(100% - 32px)}
  body{padding-bottom:72px}.section{padding-block:88px}.desktop-break{display:none}.brand{font-size:17px}.brand-logo{width:66px;height:66px}.brand small{font-size:6px}
  .hero{gap:34px;padding-top:52px;padding-bottom:52px}.hero-content>.eyebrow{margin-bottom:22px;font-size:9px}.hero h1{font-size:clamp(48px,12vw,60px);line-height:1.01}.hero-description{margin:25px 0 28px;font-size:15px;line-height:1.65}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-actions .button{width:100%}.hero-note{margin-top:34px}.hero-visual{min-height:470px}.hero-image{min-height:470px;object-position:53% center}.hero-image-caption{display:none}.image-label{left:12px;top:12px}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-dots{bottom:12px}.carousel-arrow{width:44px;height:44px}.carousel-arrow .icon{width:23px;height:23px}.values-inner{grid-template-columns:1fr}.values-inner>span{padding:9px 4px;border-bottom:1px solid var(--line)}.values-inner>span:last-child{border-bottom:0}
  .section-heading{align-items:start;flex-direction:column;gap:23px;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2{font-size:48px}.section-heading>p{margin:0}.service-grid{grid-template-columns:1fr;gap:15px}.service-image-wrap,.service-card-wide .service-image-wrap{height:260px}.service-card:hover{transform:none}.service-content{padding:24px 21px 20px}.service-content p{min-height:0}.services-footnote{align-items:flex-start;text-align:left;line-height:1.6}
  .difference-section{padding-block:88px}.difference-grid{grid-template-columns:1fr;gap:60px}.editorial-art{min-height:380px}.difference-content h2{font-size:49px}.difference-list>div{grid-template-columns:34px 1fr;gap:10px}.process-grid{grid-template-columns:1fr;gap:42px;margin-top:48px}.process-grid::before{top:40px;bottom:40px;left:43px;right:auto;width:1px;height:auto}.process-step{display:grid;grid-template-columns:86px 1fr;gap:22px;padding:0;text-align:left}.step-top{margin:0;background:var(--paper)}.process-step h3{align-self:end;margin-bottom:5px}.process-step p{grid-column:2;margin:0}.process-action{margin-top:45px}.process-action .button{width:100%}
  .area-section{padding-block:88px}.area-content h2{font-size:50px}.calgary-art{grid-template-columns:1fr;justify-items:center}.calgary-illustration,.calgary-map-photo{width:min(100%,460px)}.calgary-illustration{padding:18px 14px 12px}.map-coordinate{top:12px;right:12px}.reviews-section{padding-block:88px}.reviews-heading{margin-bottom:38px}.reviews-heading h2{font-size:48px}.review-cards{grid-template-columns:1fr}.review-card,.review-card:last-child{grid-column:auto;min-height:290px}.review-card blockquote{margin:30px 0;font-size:20px}.review-invitation{min-height:380px;padding:35px 25px}.review-quote{left:21px;font-size:115px}.review-invitation h3{font-size:25px}.review-process{padding:34px 25px}.faq-list summary{min-height:76px;font-size:15px}.faq-answer{padding-right:20px}.closing-section{padding-block:84px}.closing-section h2{font-size:49px}.closing-section p:not(.eyebrow){margin-top:20px}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;column-gap:16px;row-gap:38px;padding-bottom:48px;text-align:center}.footer-main>div:first-child{display:flex;grid-column:1/-1;flex-direction:column;align-items:center}.footer-links{align-items:center}.footer-local{grid-column:1/-1;grid-template-columns:1fr;justify-items:center;gap:9px}.footer-local>.icon,.footer-local>span,.footer-local .footer-phone,.footer-local .footer-email,.footer-local .footer-instagram,.footer-local .text-link{grid-column:1}.footer-bottom{min-height:0;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px;padding:24px 0 28px;text-align:center}.footer-bottom>span:last-child{justify-content:center}.developer-credit{order:3;padding:3px 0;font-size:10px}.developer-email{position:static;display:block;margin-top:3px;padding:0;background:transparent;color:#849188;font-size:9px;box-shadow:none;opacity:1;visibility:visible;transform:none}.developer-email::after{display:none}.mobile-cta{position:fixed;z-index:45;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px;padding:10px 13px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(248,246,241,.96);backdrop-filter:blur(12px);box-shadow:0 -8px 25px rgba(30,48,39,.08)}.mobile-cta>span{display:none}.mobile-cta em{font-size:12px}.mobile-cta .button{width:100%;min-height:45px;white-space:nowrap}
  .quote-dialog{width:100vw;height:100dvh}.dialog-header{padding:68px 20px 24px}.dialog-header h2{font-size:43px}.quote-dialog form{display:block}.quote-fields{padding:26px 20px 28px}.field-row{grid-template-columns:1fr}.frequency-choices{grid-template-columns:1fr 1fr}.estimate-summary{padding:30px 20px 40px}.estimate-price>span{font-size:42px}.quote-success{min-height:calc(100dvh - 210px);padding:44px 20px}.quote-success h3{font-size:40px}.quote-success-actions{width:100%;flex-direction:column;gap:16px}.quote-success-actions .button{width:100%}.service-dialog{width:calc(100vw - 20px);padding:65px 24px 35px}.service-dialog h2{font-size:43px}.service-dialog .button{width:100%}.review-dialog{width:100vw;max-height:100dvh;height:100dvh}.review-dialog-header{padding:68px 20px 24px}.review-dialog-header h2{font-size:43px}.review-form-grid{grid-template-columns:1fr}#review-form{padding:26px 20px 40px}.rating-choices{gap:5px}.rating-choices span{gap:4px}.review-consent{font-size:9px}
}

@media (max-width:390px){
  .hero h1{font-size:46px}.section-heading h2,.difference-content h2,.area-content h2,.closing-section h2{font-size:43px}.service-image-wrap,.service-card-wide .service-image-wrap{height:230px}.mobile-cta>span{display:none}.mobile-cta .button{width:100%}.estimate-price>span{font-size:38px}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-slide .hero-image{transform:none!important}}
