:root{--brand:hsl(192,63%,19%);--brand-2:hsl(192,55%,27%);--copper:hsl(27,69%,54%);--copper-2:hsl(27,75%,64%);--cream:hsl(39,42%,94%);--ink:hsl(200,23%,12%);--mist:hsl(192,24%,96%)}
body{font-family:'Figtree',sans-serif;font-size:1.0625rem;color:var(--ink);background:#fff;overflow-x:hidden}
h1,h2,h3,h4,.brand-mark,.end-brand{font-family:'Zilla Slab',serif;font-weight:700}
img{max-width:100%;height:auto}
picture{display:block}
.row>*{min-width:0}
select,input,textarea{min-width:0;width:100%}
a{color:var(--brand-2)}
@media(max-width:543px){.row.g-4,.row.g-5,.row.gy-4{--bs-gutter-x:.75rem}}
.btn-quote{background:var(--copper);color:#fff;font-weight:600;padding:.72rem 1.5rem;border-radius:2rem;border:2px solid var(--copper)}
.btn-quote:hover{background:var(--copper-2);border-color:var(--copper-2);color:#fff}
.btn-ghost{border:2px solid var(--brand);color:var(--brand);font-weight:600;padding:.72rem 1.5rem;border-radius:2rem}
.btn-ghost:hover{background:var(--brand);color:#fff}
.site-top{position:sticky;top:0;z-index:1030;background:hsl(192,63%,19%);box-shadow:0 2px 14px hsla(200,30%,10%,.25)}
.top-nav .nav-link{color:hsl(39,40%,92%);font-weight:500;padding:.7rem 1rem;min-height:44px}
.top-nav .nav-link:hover,.top-nav .nav-link:focus{color:var(--copper-2)}
.brand-mark{color:#fff;font-size:1.55rem}
.brand-mark:hover{color:var(--copper-2)}
.brand-drop{display:inline-block;width:.85em;height:.85em;margin-right:.42rem;background:var(--copper);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.navbar-toggler{border-color:hsla(39,40%,92%,.5);min-width:44px;min-height:44px}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(247,242,234,.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.dropdown-menu{border-radius:.6rem;border:0;box-shadow:0 8px 24px hsla(200,30%,10%,.18)}
.dropdown-item{padding:.6rem 1.2rem}
.dropdown-item:hover{background:var(--mist);color:var(--brand)}
@media(max-width:991px){.top-nav .dropdown-menu{box-shadow:none;background:hsl(192,55%,24%)}.top-nav .dropdown-item{color:hsl(39,40%,92%)}.top-nav .dropdown-item:hover{background:hsl(192,55%,30%);color:#fff}.top-nav .btn-quote{margin:.5rem 0 .8rem;display:inline-block}}
.masthead{position:relative;background:var(--brand);color:#fff;overflow:hidden}
.masthead-img{position:absolute;inset:0}
.masthead-img img{width:100%;height:100%;object-fit:cover;opacity:.34}
.masthead-inner{position:relative;padding:clamp(4.5rem,11vw,9rem) 0}
.masthead h1{font-size:clamp(2.1rem,5.2vw,3.6rem);max-width:15ch;line-height:1.12}
.masthead .lede{font-size:clamp(1.1rem,2vw,1.3rem);max-width:52ch;color:hsl(39,42%,90%)}
.mast-note{display:inline-block;background:hsla(27,69%,54%,.18);border:1px solid var(--copper-2);color:var(--copper-2);border-radius:2rem;padding:.32rem 1rem;font-size:.95rem;font-weight:500;margin-bottom:1.1rem}
.pillars{background:var(--cream);padding:3.5rem 0}
.pillar{background:#fff;border-radius:.9rem;padding:1.9rem 1.7rem;height:100%;border-top:5px solid var(--copper);box-shadow:0 4px 18px hsla(200,30%,10%,.07)}
.pillar h2{font-size:1.35rem;color:var(--brand)}
.sect{padding:clamp(3.2rem,7vw,5.5rem) 0}
.sect-tag{text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;font-weight:600;color:var(--copper)}
.sect h2.sect-head,.sect .sect-head{font-size:clamp(1.7rem,3.4vw,2.4rem);color:var(--brand)}
.who-pic img{border-radius:1rem;box-shadow:14px 14px 0 hsla(27,69%,54%,.28)}
.who-list{list-style:none;padding:0;margin:1.2rem 0 0}
.who-list li{padding:.34rem 0 .34rem 2rem;position:relative}
.who-list li::before{content:"";position:absolute;left:.2rem;top:.78em;width:.85rem;height:.85rem;background:var(--copper);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.svc-zone{background:var(--mist)}
.svc-card{background:#fff;border-radius:1rem;overflow:hidden;height:100%;box-shadow:0 5px 20px hsla(200,30%,10%,.08);transition:transform .2s}
.svc-card:hover{transform:translateY(-5px)}
.svc-card img{width:100%;display:block}
.svc-card-body{padding:1.5rem 1.5rem 1.7rem}
.svc-card h3{font-size:1.28rem;color:var(--brand)}
.svc-more{font-weight:600;color:var(--copper);text-decoration:none;display:inline-block;padding:.55rem 0;min-height:44px}
.svc-more:hover{color:var(--brand)}
.why-band{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}
.why-band .sect-head{color:#fff}
.tick-grid{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(max-width:743px){.tick-grid{grid-template-columns:1fr}}
.tick-grid li{background:hsla(0,0%,100%,.08);border-left:4px solid var(--copper-2);border-radius:.5rem;padding:1.05rem 1.2rem;font-weight:500}
.step-row{counter-reset:step}
.step{counter-increment:step;position:relative;padding:1.6rem 1.5rem 1.6rem 1.5rem;background:var(--cream);border-radius:.9rem;height:100%}
.step::before{content:counter(step,decimal-leading-zero);font-family:'Zilla Slab',serif;font-size:2.6rem;font-weight:700;color:var(--copper);display:block;line-height:1}
.step h3{font-size:1.2rem;color:var(--brand);margin-top:.5rem}
.quote-stack{max-width:820px;margin:2.2rem auto 0}
.quote-stack blockquote{background:#fff;border-radius:1rem;padding:1.7rem 1.9rem;margin:0 0 1.3rem;box-shadow:0 4px 16px hsla(200,30%,10%,.07);border-left:5px solid var(--brand-2)}
.quote-stack blockquote:nth-child(2){margin-left:clamp(0rem,5vw,3.5rem);border-left-color:var(--copper)}
.quote-who{font-weight:600;color:var(--brand);margin:.7rem 0 0;font-size:.98rem}
.faq-zone{background:var(--mist)}
.faq-item{background:#fff;border-radius:.8rem;margin-bottom:.9rem;box-shadow:0 3px 12px hsla(200,30%,10%,.06)}
.faq-item summary{cursor:pointer;font-weight:600;color:var(--brand);padding:1.1rem 1.4rem;list-style:none;position:relative;min-height:44px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--copper)}
.faq-item[open] summary::after{content:"\2013"}
.faq-item .faq-a{padding:0 1.4rem 1.3rem;color:hsl(200,15%,30%)}
.cta-band{background:var(--copper);color:#fff;text-align:center}
.cta-band .sect-head{color:#fff}
.cta-band .btn-lightup{background:#fff;color:var(--copper);font-weight:600;padding:.8rem 2rem;border-radius:2rem;border:0;text-decoration:none;display:inline-block;margin-top:1.4rem}
.cta-band .btn-lightup:hover{background:var(--brand);color:#fff}
.page-head{background:linear-gradient(120deg,var(--brand),var(--brand-2));color:#fff;padding:clamp(3rem,7vw,5rem) 0}
.page-head h1{font-size:clamp(1.9rem,4.4vw,3rem)}
.page-head p{max-width:60ch;color:hsl(39,42%,90%)}
.svc-row{align-items:center}
.svc-row+.svc-row{margin-top:3.2rem}
.svc-row img{border-radius:1rem}
.stat-band{background:var(--brand);color:#fff;border-radius:1.2rem;padding:2.4rem 1rem}
.stat-band .num{font-family:'Zilla Slab',serif;font-size:2.4rem;font-weight:700;color:var(--copper-2);display:block}
.gal-card{border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 5px 18px hsla(200,30%,10%,.08);height:100%}
.gal-card figcaption{padding:1.2rem 1.4rem}
.gal-card figcaption strong{color:var(--brand);display:block;font-size:1.1rem}
.gal-card figure{margin:0}
.contact-card{background:var(--cream);border-radius:1rem;padding:2rem;height:100%}
.contact-card h2{font-size:1.35rem;color:var(--brand)}
.contact-card a{color:var(--brand-2);font-weight:500}
.lead-form{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 6px 24px hsla(200,30%,10%,.09)}
.lead-form label{font-weight:600;margin-bottom:.35rem}
.lead-form .form-control{border-radius:.6rem;padding:.72rem .95rem;font-size:1rem;border:1.5px solid hsl(192,20%,82%)}
.lead-form .form-control:focus{border-color:var(--copper);box-shadow:0 0 0 .2rem hsla(27,69%,54%,.2)}
.policy-body{max-width:820px}
.policy-body h2{font-size:1.45rem;color:var(--brand);margin-top:2.2rem}
.policy-body p,.policy-body li{color:hsl(200,15%,26%)}
.site-end{background:hsl(200,25%,10%);color:hsl(39,20%,80%);padding:3.5rem 0 0;margin-top:auto}
.end-brand{color:#fff;font-size:1.4rem}
.end-blurb{font-size:.97rem;color:hsl(39,15%,68%)}
.end-head{font-weight:600;color:#fff;text-transform:uppercase;font-size:.86rem;letter-spacing:.1em}
.end-links{list-style:none;padding:0;margin:0}
.end-links a{color:hsl(39,20%,78%);text-decoration:none;display:inline-block;padding:.3rem 0;min-height:38px}
.end-links a:hover{color:var(--copper-2)}
.end-contact{font-style:normal;font-size:.97rem;line-height:1.75}
.end-contact a{color:var(--copper-2);text-decoration:none}
.end-bar{border-top:1px solid hsla(39,20%,80%,.15);margin-top:2.6rem;padding:1.3rem 0;display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;font-size:.9rem}
.end-bar p{margin:0}
.end-policy{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;padding:0;margin:0}
.end-policy a{color:hsl(39,20%,78%)}
.end-policy a:hover{color:var(--copper-2)}
.ck-overlay{position:fixed;inset:0;background:hsla(200,30%,8%,.6);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}
.ck-box{background:#fff;border-radius:1rem;max-width:480px;padding:1.9rem;box-shadow:0 20px 60px hsla(200,30%,8%,.4)}
.ck-head{font-family:'Zilla Slab',serif;font-weight:700;font-size:1.3rem;color:var(--brand)}
.ck-text{font-size:.97rem;color:hsl(200,15%,28%)}
.ck-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.ck-gear{position:fixed;left:1rem;bottom:1rem;z-index:1990;width:48px;height:48px;border-radius:50%;border:0;background:var(--brand);color:#fff;font-size:1.4rem;box-shadow:0 4px 14px hsla(200,30%,10%,.3)}
.ck-gear:hover{background:var(--copper)}
.thanks-hero{min-height:52vh;display:flex;align-items:center}
@media(max-width:1007px){.masthead h1{max-width:100%}}
@media(min-width:744px){.lead-form{padding:2.5rem}}
