:root{--ink:hsl(228 32% 10%);--paper:hsl(42 45% 97%);--pop:hsl(228 82% 55%);--pop_deep:hsl(228 72% 42%);--zest:hsl(22 90% 62%);--dim:hsl(228 12% 40%);--line:hsl(228 16% 87%);--card:hsl(42 50% 99%)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Figtree',system-ui,sans-serif;font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--paper)}
img{display:block;max-width:100%;height:auto}
a{color:var(--pop_deep)}
h1,h2,h3,h4{font-family:'Syne',sans-serif;line-height:1.14;letter-spacing:-.01em}
.wrap{max-width:72.5rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.skip_jump{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:99}
.skip_jump:focus{left:0}
.btn_pop,.btn_line{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.7rem 1.5rem;border-radius:.625rem;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;border:2px solid var(--pop);transition:transform .18s ease,background .18s ease,color .18s ease}
.btn_pop{background:var(--pop);color:#fff}
.btn_pop:hover{background:var(--pop_deep);border-color:var(--pop_deep);transform:translateY(-2px)}
.btn_line{background:transparent;color:var(--pop_deep)}
.btn_line:hover{background:var(--pop);color:#fff;transform:translateY(-2px)}
.top_bar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}
.top_in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.25rem;position:relative}
.brand_mark{font-family:'Syne',sans-serif;font-weight:800;font-size:1.45rem;color:var(--ink);text-decoration:none}
.brand_mark span{color:var(--pop)}
.nav_switch{position:absolute;opacity:0;pointer-events:none}
.nav_burger{display:none;width:2.75rem;height:2.75rem;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:.55rem}
.nav_burger i{display:block;height:3px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.nav_links{display:flex;align-items:center;gap:1.75rem}
.nav_links ul{display:flex;list-style:none;gap:1.6rem}
.nav_links ul a{color:var(--ink);text-decoration:none;font-weight:600;font-size:1rem;padding:.5rem 0;border-bottom:3px solid transparent}
.nav_links ul a:hover,.nav_links ul a.here{border-bottom-color:var(--zest);color:var(--pop_deep)}
.hero_stage{position:relative;min-height:min(88vh,46rem);display:grid;align-items:center;overflow:hidden}
.hero_stage picture,.hero_stage picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero_stage::before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,hsl(228 40% 8% / .88) 22%,hsl(228 40% 10% / .55) 62%,hsl(228 40% 12% / .3));z-index:1}
.hero_box{position:relative;z-index:2;max-width:44rem;padding-block:5rem;color:#fff}
.hero_kicker{display:inline-block;background:var(--zest);color:var(--ink);font-weight:700;font-size:.95rem;padding:.3rem .9rem;border-radius:999px;margin-bottom:1.2rem}
.hero_box h1{font-size:clamp(2.2rem,5.4vw,3.7rem);margin-bottom:1.1rem}
.hero_box .lede{font-size:clamp(1.1rem,2vw,1.3rem);color:hsl(42 45% 92%);margin-bottom:2rem;max-width:38rem}
.hero_acts{display:flex;flex-wrap:wrap;gap:1rem}
.hero_acts .btn_line{border-color:#fff;color:#fff}
.hero_acts .btn_line:hover{background:#fff;color:var(--ink)}
.stat_band{background:var(--ink);color:var(--paper);padding-block:3rem}
.stat_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat_cell b{display:block;font-family:'Syne',sans-serif;font-size:clamp(1.9rem,3.4vw,2.7rem);color:var(--zest)}
.stat_cell span{color:hsl(228 12% 72%);font-size:.98rem}
.sec_pad{padding-block:clamp(3.5rem,8vw,6rem)}
.sec_head{max-width:46rem;margin-bottom:clamp(2rem,5vw,3.2rem)}
.kicker{display:inline-block;color:var(--pop_deep);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;margin-bottom:.6rem}
.sec_head h2{font-size:clamp(1.7rem,3.6vw,2.5rem);margin-bottom:.8rem}
.sec_head p{color:var(--dim)}
.svc_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.svc_card{background:var(--card);border:1px solid var(--line);border-radius:.875rem;padding:1.8rem 1.6rem;display:flex;flex-direction:column;gap:.7rem;transition:transform .2s ease,border-color .2s ease}
.svc_card:hover{transform:translateY(-4px);border-color:var(--pop)}
.svc_card h3{font-size:1.22rem}
.svc_card p{color:var(--dim);font-size:.99rem;flex-grow:1}
.svc_num{font-family:'Syne',sans-serif;font-weight:800;color:var(--zest);font-size:1.05rem}
.card_link{font-weight:700;text-decoration:none;color:var(--pop_deep)}
.card_link:hover{text-decoration:underline}
.step_row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;counter-reset:step}
.step_cell{border-top:3px solid var(--pop);padding-top:1.1rem}
.step_cell::before{counter-increment:step;content:"0" counter(step);font-family:'Syne',sans-serif;font-weight:800;font-size:1.7rem;color:var(--zest);display:block;margin-bottom:.4rem}
.step_cell h3{font-size:1.12rem;margin-bottom:.45rem}
.step_cell p{color:var(--dim);font-size:.97rem}
.work_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.work_card{background:var(--card);border:1px solid var(--line);border-radius:.875rem;overflow:hidden;transition:transform .2s ease}
.work_card:hover{transform:translateY(-4px)}
.work_card img{width:100%}
.work_body{padding:1.4rem 1.5rem 1.6rem}
.work_tag{display:inline-block;background:hsl(228 82% 55% / .1);color:var(--pop_deep);font-size:.85rem;font-weight:700;padding:.2rem .7rem;border-radius:999px;margin-bottom:.6rem}
.work_body h3{font-size:1.25rem;margin-bottom:.4rem}
.work_body p{color:var(--dim);font-size:.98rem}
.work_metric{margin-top:.9rem;font-weight:700;color:var(--ink)}
.work_metric b{color:var(--zest);font-family:'Syne',sans-serif;font-size:1.3rem}
.quote_rail{display:flex;gap:1.3rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}
.quote_card{scroll-snap-align:start;flex:0 0 min(23rem,84vw);background:var(--ink);color:hsl(42 45% 93%);border-radius:.875rem;padding:1.7rem 1.6rem;display:flex;flex-direction:column;gap:1rem}
.quote_card blockquote{font-size:1.04rem;line-height:1.6}
.quote_card figcaption{color:var(--zest);font-weight:700;font-size:.95rem}
.faq_stack{max-width:50rem}
.faq_item{border:1px solid var(--line);border-radius:.75rem;background:var(--card);margin-bottom:.8rem;overflow:hidden}
.faq_q{width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:'Figtree',sans-serif;font-size:1.05rem;font-weight:700;color:var(--ink);padding:1.05rem 3rem 1.05rem 1.3rem;position:relative;min-height:2.75rem}
.faq_q::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--pop);transition:transform .2s ease}
.faq_item.open .faq_q::after{transform:translateY(-50%) rotate(45deg)}
.faq_a{max-height:0;overflow:hidden;transition:max-height .28s ease}
.faq_a p{padding:0 1.3rem 1.2rem;color:var(--dim)}
.cta_band{background:var(--pop);color:#fff;border-radius:1.1rem;padding:clamp(2.2rem,5vw,3.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
.cta_band h2{font-size:clamp(1.6rem,3.2vw,2.3rem);max-width:34rem}
.cta_band .btn_pop{background:var(--ink);border-color:var(--ink)}
.cta_band .btn_pop:hover{background:hsl(228 32% 18%)}
.page_head{background:linear-gradient(160deg,hsl(228 40% 12%),hsl(228 60% 22%));color:#fff;padding-block:clamp(3rem,7vw,4.5rem)}
.page_head h1{font-size:clamp(2rem,4.6vw,3.1rem);max-width:46rem;margin-bottom:.9rem}
.page_head p{color:hsl(42 45% 90%);max-width:40rem;font-size:1.1rem}
.crumb_line{font-size:.9rem;margin-bottom:1.2rem;color:hsl(228 12% 75%)}
.crumb_line a{color:var(--zest);text-decoration:none}
.crumb_line a:hover{text-decoration:underline}
.split_sec{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.img_frame{border-radius:1rem;overflow:hidden;border:1px solid var(--line)}
.img_frame img{width:100%}
.check_list{list-style:none;display:grid;gap:.7rem}
.check_list li{padding-left:1.9rem;position:relative}
.check_list li::before{content:"";position:absolute;left:0;top:.42rem;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--zest)}
.check_list li::after{content:"";position:absolute;left:.28rem;top:.68rem;width:.5rem;height:.28rem;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
.prose{max-width:46rem}
.prose h2{font-size:1.55rem;margin:2.2rem 0 .8rem}
.prose h3{font-size:1.2rem;margin:1.7rem 0 .6rem}
.prose p,.prose li{color:hsl(228 20% 24%)}
.prose p{margin-bottom:1rem}
.prose ul,.prose ol{margin:0 0 1.1rem 1.4rem}
.prose li{margin-bottom:.45rem}
.meta_row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;color:var(--dim);font-size:.92rem;margin-bottom:1.4rem}
.tag_pill{background:hsl(22 90% 62% / .16);color:hsl(22 80% 34%);font-weight:700;padding:.2rem .75rem;border-radius:999px;font-size:.85rem}
.post_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.post_card{background:var(--card);border:1px solid var(--line);border-radius:.875rem;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease}
.post_card:hover{transform:translateY(-4px)}
.post_body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;flex-grow:1}
.post_body h3{font-size:1.14rem}
.post_body h2{font-size:1.14rem;font-family:'Syne',sans-serif}
.post_body p{color:var(--dim);font-size:.96rem;flex-grow:1}
.form_grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.field{display:flex;flex-direction:column;gap:.35rem}
.field_full{grid-column:1/-1}
.field label{font-weight:600;font-size:.98rem}
.field input,.field textarea{font:inherit;font-size:1rem;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:.6rem;background:#fff;color:var(--ink);min-height:2.75rem}
.field input:focus,.field textarea:focus{outline:2px solid var(--pop);border-color:var(--pop)}
.consent_row{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;color:var(--dim)}
.consent_row input{width:1.15rem;height:1.15rem;margin-top:.2rem;accent-color:var(--pop)}
.form_note{font-size:.9rem;color:var(--dim)}
.alert_bar{background:hsl(4 78% 94%);border:1px solid hsl(4 60% 70%);color:hsl(4 70% 30%);border-radius:.6rem;padding:.9rem 1.1rem;margin-bottom:1.4rem;font-weight:600}
.hp_field{position:absolute;left:-6000px;top:auto;width:1px;height:1px;overflow:hidden}
.contact_cols{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,3.5rem);align-items:start}
.contact_card{background:var(--ink);color:hsl(42 45% 92%);border-radius:1rem;padding:1.9rem 1.7rem}
.contact_card h2{color:#fff;font-size:1.35rem;margin-bottom:1rem}
.contact_card a{color:var(--zest)}
.contact_card ul{list-style:none;display:grid;gap:.85rem}
.contact_card .hours{margin-top:1.3rem;border-top:1px solid hsl(228 20% 28%);padding-top:1.1rem;font-size:.95rem;color:hsl(228 12% 74%)}
.thanks_box{max-width:38rem;margin-inline:auto;text-align:center;padding-block:clamp(3.5rem,9vw,6rem)}
.thanks_box h1{font-size:clamp(2rem,4.5vw,2.8rem);margin-bottom:1rem}
.thanks_box p{color:var(--dim);margin-bottom:1.6rem}
.site_foot{background:var(--ink);color:hsl(228 12% 78%);margin-top:clamp(3rem,7vw,5rem)}
.foot_grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.2rem;padding-block:3.2rem}
.foot_logo{font-size:1.35rem;color:#fff;margin-bottom:.7rem}
.foot_brand p{font-size:.96rem;margin-bottom:1rem}
.foot_contact{list-style:none;display:grid;gap:.5rem;font-size:.95rem}
.foot_contact a{color:var(--zest);text-decoration:none}
.foot_contact a:hover{text-decoration:underline}
.foot_head{font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;color:#fff;margin-bottom:.9rem}
.foot_nav{list-style:none;display:grid;gap:.55rem}
.foot_nav a{color:hsl(228 12% 78%);text-decoration:none;font-size:.96rem}
.foot_nav a:hover{color:var(--zest)}
.foot_cookie_btn{background:none;border:0;color:hsl(228 12% 78%);font:inherit;font-size:.96rem;cursor:pointer;padding:0;min-height:2.75rem;display:inline-flex;align-items:center}
.foot_cookie_btn:hover{color:var(--zest)}
.foot_base{border-top:1px solid hsl(228 20% 22%);padding-block:1.3rem;font-size:.9rem}
.ck_sheet{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--ink);color:hsl(42 45% 92%);border-radius:1.1rem 1.1rem 0 0;box-shadow:0 -8px 30px hsl(228 40% 8% / .35);transform:translateY(105%);transition:transform .3s ease;visibility:hidden}
.ck_sheet.show{transform:translateY(0);visibility:visible}
.ck_in{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;padding-block:1.5rem}
.ck_copy{max-width:38rem}
.ck_copy a{color:var(--zest)}
.ck_title{font-family:'Syne',sans-serif;font-weight:700;font-size:1.1rem;color:#fff;margin-bottom:.3rem}
.ck_copy p{font-size:.95rem}
.ck_opts{margin-top:.9rem;display:grid;gap:.4rem;font-size:.93rem}
.ck_acts{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.ck_acts .btn_line{border-color:hsl(228 12% 60%);color:#fff}
.ck_more{background:none;border:0;color:var(--zest);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;min-height:2.75rem}
.ck_gear{position:fixed;left:1.1rem;bottom:1.1rem;z-index:70;width:3rem;height:3rem;border-radius:50%;background:var(--ink);color:var(--zest);border:1px solid hsl(228 20% 30%);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px hsl(228 40% 8% / .3)}
.ck_gear:hover{color:#fff}
@media (max-width:73.75rem){.svc_grid{grid-template-columns:repeat(2,1fr)}.step_row{grid-template-columns:repeat(2,1fr);row-gap:2.2rem}}
@media (max-width:58.5rem){.nav_burger{display:flex}.nav_links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1.2rem clamp(1rem,4vw,2rem) 1.6rem;flex-direction:column;align-items:flex-start;gap:1.1rem}.nav_switch:checked~.nav_links{display:flex}.nav_links ul{flex-direction:column;gap:.2rem;width:100%}.nav_links ul a{display:block;padding:.65rem 0;font-size:1.08rem;border-bottom:0}.nav_links ul a.here{color:var(--pop_deep)}.stat_grid{grid-template-columns:repeat(2,1fr)}.work_grid,.contact_cols,.split_sec,.post_grid{grid-template-columns:1fr}.foot_grid{grid-template-columns:1fr 1fr}}
@media (max-width:38.875rem){body{font-size:1rem}.svc_grid,.step_row,.stat_grid,.form_grid{grid-template-columns:1fr}.foot_grid{grid-template-columns:1fr;gap:1.8rem}.hero_box{padding-block:4rem}.cta_band{flex-direction:column;align-items:flex-start}.ck_acts{width:100%}.ck_acts .btn_pop,.ck_acts .btn_line{flex:1}}
