:root{--blaze:hsl(18 92% 53%);--ember:hsl(41 97% 55%);--ink:hsl(240 14% 9%);--ink2:hsl(240 10% 14%);--paper:hsl(42 45% 97%);--mute:hsl(240 6% 38%);--line:hsl(240 8% 88%);--grad:linear-gradient(112deg,hsl(18 92% 53%),hsl(41 97% 55%))}
body{font-family:'Figtree',system-ui,sans-serif;font-size:1rem;color:var(--ink);background:var(--paper);line-height:1.65}
h1,h2,h3,h4,.brand-mark{font-family:'Archivo',sans-serif;font-weight:800;letter-spacing:-.015em}
a{color:var(--blaze)}
.skip-jump{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:2000}
.skip-jump:focus{left:0}
.site-top{background:hsl(240 14% 9% / .96);backdrop-filter:blur(8px)}
.navbar{padding-block:.65rem}
.brand-mark{font-size:1.45rem;color:#fff}
.brand-mark span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-mark em{font-style:normal;font-weight:500;font-size:.72em;color:hsl(42 30% 80%)}
.navbar-brand.brand-mark:hover,.navbar-brand.brand-mark:focus{color:#fff}
.foot-brand{font-size:1.35rem;margin-bottom:.75rem}
.site-top .nav-link{color:hsl(42 20% 88%);font-weight:500;padding:.6rem 1rem;min-height:44px;display:flex;align-items:center}
.site-top .nav-link:hover,.site-top .nav-link:focus{color:var(--ember)}
.site-top .nav-link.active{color:var(--ember)}
.navbar-toggler{border-color:hsl(0 0% 100% / .35);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(255,255,255,.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.btn-blaze{background:var(--grad);color:#fff;font-weight:600;border:0;border-radius:999px;padding:.72rem 1.55rem;min-height:44px;box-shadow:0 8px 22px hsl(18 92% 53% / .32)}
.btn-blaze:hover,.btn-blaze:focus{color:#fff;filter:brightness(1.07);box-shadow:0 10px 26px hsl(18 92% 53% / .42)}
.btn-hollow{border:2px solid hsl(0 0% 100% / .55);color:#fff;border-radius:999px;padding:.66rem 1.5rem;min-height:44px;font-weight:600}
.btn-hollow:hover,.btn-hollow:focus{border-color:var(--ember);color:var(--ember)}
.btn-hollow.on-light{border-color:var(--ink);color:var(--ink)}
.btn-hollow.on-light:hover{border-color:var(--blaze);color:var(--blaze)}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;font-weight:600;color:var(--blaze);margin-bottom:.7rem}
.hero-wrap{position:relative;min-height:88vh;display:flex;align-items:center;background:var(--ink);overflow:hidden}
.hero-wrap picture,.hero-wrap img.hero-shot{position:absolute;inset:0;width:100%;height:100%}
.hero-wrap img.hero-shot{object-fit:cover;opacity:.5}
.hero-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,hsl(240 14% 7% / .92) 18%,hsl(240 14% 7% / .35) 65%,hsl(18 92% 30% / .28))}
.hero-inner{position:relative;z-index:2;padding-block:clamp(4.5rem,10vw,7.5rem);color:#fff;max-width:46rem}
.hero-inner h1{font-size:clamp(2.3rem,5.6vw,4.1rem);line-height:1.06;margin-bottom:1.1rem}
.hero-inner h1 mark{background:none;padding:0;color:transparent;background-image:var(--grad);-webkit-background-clip:text;background-clip:text}
.hero-inner p{font-size:clamp(1.05rem,1.6vw,1.25rem);color:hsl(42 25% 90%);max-width:36rem}
.hero-acts{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.7rem}
.stat-band{background:var(--ink);color:#fff;padding-block:2.4rem;border-top:1px solid hsl(240 10% 20%)}
.stat-cell{text-align:center;padding-block:.5rem}
.stat-cell b{display:block;font-family:'Archivo',sans-serif;font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-cell small{color:hsl(42 18% 78%);font-size:.92rem;text-transform:uppercase;letter-spacing:.09em}
.sect{padding-block:clamp(3.6rem,7vw,5.8rem)}
.sect-dim{background:hsl(42 38% 94%)}
.sect-dark{background:var(--ink2);color:#fff}
.sect-dark .eyebrow{color:var(--ember)}
.sect h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:1rem}
.lead-copy{color:var(--mute);font-size:1.08rem;max-width:44rem}
.sect-dark .lead-copy{color:hsl(42 20% 80%)}
.svc-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px hsl(240 14% 9% / .07);height:100%;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px hsl(240 14% 9% / .13)}
.svc-card img{width:100%;height:auto;display:block}
.svc-body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.svc-body h3{font-size:1.22rem;margin-bottom:.55rem}
.svc-body p{color:var(--mute);font-size:.98rem;flex:1}
.svc-more{font-weight:600;text-decoration:none;color:var(--blaze);display:inline-flex;align-items:center;min-height:44px}
.svc-more::after{content:"\2192";margin-left:.4rem;transition:margin .2s}
.svc-more:hover::after{margin-left:.7rem}
.split-shot{border-radius:16px;box-shadow:0 18px 40px hsl(240 14% 9% / .16);width:100%;height:auto}
.tick-list{list-style:none;padding:0;margin:1.2rem 0 0}
.tick-list li{position:relative;padding:.45rem 0 .45rem 2.1rem}
.tick-list li::before{content:"";position:absolute;left:0;top:.72rem;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--grad);mask:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath d='M13.6 3.4 6.5 10.5l-4.1-4L1 7.9l5.5 5.4 8.5-8.5z'/%3e%3c/svg%3e") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath d='M13.6 3.4 6.5 10.5l-4.1-4L1 7.9l5.5 5.4 8.5-8.5z'/%3e%3c/svg%3e") center/contain no-repeat}
.step-tile{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.6rem 1.4rem;height:100%}
.sect-dark .step-tile{background:hsl(240 10% 18%);border-color:hsl(240 8% 26%)}
.step-tile b.num{font-family:'Archivo',sans-serif;font-size:2.4rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:.4rem}
.step-tile h3{font-size:1.12rem}
.step-tile p{color:var(--mute);font-size:.95rem;margin:0}
.sect-dark .step-tile p{color:hsl(42 18% 78%)}
.quote-card{background:#fff;border-radius:14px;padding:1.7rem;box-shadow:0 6px 24px hsl(240 14% 9% / .07);height:100%;display:flex;flex-direction:column}
.quote-card p{font-size:1rem;color:var(--ink2);flex:1}
.quote-card p::before{content:"\201C";font-family:'Archivo',sans-serif;font-size:2.6rem;line-height:0;display:block;margin:.9rem 0 .2rem;color:var(--blaze)}
.quote-who{margin-top:1rem;font-size:.92rem}
.quote-who b{display:block;color:var(--ink)}
.quote-who span{color:var(--mute)}
.stars{color:var(--ember);letter-spacing:.15em;font-size:.95rem}
.faq-stack{max-width:47rem;margin-inline:auto}
.faq-stack details{border-bottom:1px solid var(--line);padding-block:.35rem}
.faq-stack summary{list-style:none;cursor:pointer;font-family:'Archivo',sans-serif;font-weight:700;font-size:1.06rem;padding:.9rem 2.4rem .9rem 0;position:relative;min-height:44px}
.faq-stack summary::-webkit-details-marker{display:none}
.faq-stack summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-size:1.6rem;font-weight:500;color:var(--blaze);transition:transform .25s}
.faq-stack details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-stack details p{color:var(--mute);padding-bottom:1rem;margin:0}
.cta-band{background:var(--grad);border-radius:20px;padding:clamp(2.2rem,5vw,3.6rem);color:#fff;text-align:center;box-shadow:0 18px 44px hsl(18 92% 40% / .35)}
.cta-band h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}
.cta-band p{max-width:34rem;margin-inline:auto;color:hsl(42 60% 96%)}
.cta-band .btn-invert{background:#fff;color:var(--ink);border-radius:999px;font-weight:700;padding:.75rem 1.7rem;min-height:44px;border:0}
.cta-band .btn-invert:hover{background:var(--ink);color:#fff}
.page-hero{background:var(--ink);color:#fff;padding-block:clamp(3.2rem,6.5vw,5rem);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;right:-12rem;top:-10rem;width:32rem;height:32rem;border-radius:50%;background:var(--grad);opacity:.16;filter:blur(70px)}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);position:relative}
.page-hero p{color:hsl(42 22% 84%);max-width:44rem;font-size:1.08rem;position:relative}
.crumbs{font-size:.86rem;color:hsl(42 18% 70%);margin-bottom:1rem;position:relative}
.crumbs a{color:hsl(42 30% 82%);text-decoration:none}
.crumbs a:hover{color:var(--ember)}
.case-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px hsl(240 14% 9% / .09)}
.case-card img{width:100%;height:auto;display:block}
.case-pad{padding:1.7rem}
.case-pad h2{font-size:1.35rem}
.tag-chip{display:inline-block;background:hsl(18 92% 53% / .1);color:var(--blaze);border-radius:999px;font-size:.8rem;font-weight:600;padding:.28rem .85rem;margin:0 .35rem .5rem 0}
.contact-tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.5rem;height:100%}
.contact-tile h3{font-size:1.05rem}
.contact-tile a{text-decoration:none;font-weight:600}
.form-shell{background:#fff;border-radius:16px;padding:clamp(1.5rem,3vw,2.4rem);box-shadow:0 10px 32px hsl(240 14% 9% / .09)}
.form-shell label{font-weight:600;margin-bottom:.35rem}
.form-shell .form-control,.form-shell .form-select{border-radius:10px;padding:.72rem .95rem;font-size:1rem;border-color:var(--line);min-height:48px}
.form-shell .form-control:focus,.form-shell .form-select:focus{border-color:var(--blaze);box-shadow:0 0 0 .2rem hsl(18 92% 53% / .18)}
.err-note{display:none;color:hsl(4 76% 46%);font-size:.86rem;margin-top:.25rem}
.is-bad+.err-note{display:block}
.is-bad{border-color:hsl(4 76% 52%)!important}
.alert-soft{border-radius:12px;padding:1rem 1.2rem;background:hsl(4 80% 96%);border:1px solid hsl(4 60% 82%);color:hsl(4 70% 34%)}
.thanks-blk{max-width:40rem;margin-inline:auto;text-align:center;padding-block:clamp(4rem,9vw,7rem)}
.thanks-blk .glyph{width:5rem;height:5rem;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;margin:0 auto 1.4rem;color:#fff;font-size:2.2rem}
.legal-copy{max-width:50rem}
.legal-copy h2{font-size:1.35rem;margin-top:2.2rem}
.legal-copy p,.legal-copy li{color:var(--mute)}
.legal-copy .upd{font-size:.9rem;color:var(--mute)}
.foot{background:var(--ink);color:hsl(42 18% 82%);padding:3.4rem 0 1.6rem}
.foot-note{font-size:.93rem;color:hsl(42 14% 70%)}
.foot-head{font-family:'Archivo',sans-serif;font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:1rem}
.foot-list{list-style:none;padding:0;margin:0;font-size:.95rem}
.foot-list li{margin-bottom:.55rem}
.foot-list a{color:hsl(42 18% 78%);text-decoration:none;display:inline-block;padding-block:.2rem}
.foot-list a:hover{color:var(--ember)}
.foot-base{border-top:1px solid hsl(240 10% 20%);margin-top:2.6rem;padding-top:1.4rem;display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;font-size:.87rem}
.foot-base p{margin:0}
.foot-legal{list-style:none;display:flex;flex-wrap:wrap;gap:1.1rem;padding:0;margin:0}
.foot-legal a{color:hsl(42 18% 74%);text-decoration:none;display:inline-block;padding-block:.2rem}
.foot-legal a:hover{color:var(--ember)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
.ck-veil{position:fixed;inset:0;background:hsl(240 14% 9% / .55);z-index:3000;display:flex;align-items:center;justify-content:center;padding:1rem}
.ck-box{background:#fff;border-radius:16px;max-width:26rem;width:100%;padding:1.8rem;box-shadow:0 24px 60px hsl(240 14% 9% / .35)}
.ck-box h2{font-size:1.2rem;margin-bottom:.6rem}
.ck-box p{font-size:.93rem;color:var(--mute)}
.ck-acts{display:flex;gap:.7rem;margin-top:1.2rem}
.ck-acts button{flex:1;min-height:46px;border-radius:999px;font-weight:600;font-size:.95rem;cursor:pointer}
.ck-yes{background:var(--grad);color:#fff;border:0}
.ck-no{background:#fff;color:var(--ink);border:2px solid var(--line)}
.ck-no:hover{border-color:var(--ink)}
.ck-gear{position:fixed;left:1rem;bottom:1rem;z-index:2500;width:48px;height:48px;border-radius:50%;border:0;background:var(--ink);color:var(--ember);font-size:1.35rem;cursor:pointer;box-shadow:0 8px 22px hsl(240 14% 9% / .35);display:flex;align-items:center;justify-content:center}
.ck-gear:hover{background:var(--ink2)}
@media (max-width:560px){.row{--bs-gutter-x:1.25rem}.hero-wrap{min-height:76vh}.hero-acts .btn-blaze,.hero-acts .btn-hollow{width:100%;text-align:center;justify-content:center}.foot-base{flex-direction:column;align-items:flex-start}}
@media (min-width:784px){.hero-inner h1{max-width:15ch}}
@media (max-width:990px){.site-top .navbar-collapse{padding-block:.8rem}.site-top .btn-blaze{margin-top:.5rem;display:inline-block}}
