:root{--blue: #0057B8;--blue-dark: #003F87;--yellow: #F5B700;--ink: #1A1A1A;--body: #3D434C;--muted: #6A7280;--bg: #FFFFFF;--bg-alt: #F4F6F8;--line: #E3E7EC;--dark: #0E1116;--radius: 12px;--shadow: 0 8px 30px rgba(14, 24, 60, .1);--font-head: "Fredoka One", "Rubik", system-ui, sans-serif;--font-body: "Rubik", system-ui, sans-serif;--maxw: 1180px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{font-family:var(--font-body);color:var(--body);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:var(--font-head);color:var(--ink);line-height:1.12;font-weight:400}h1{font-size:clamp(2rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3.6vw,2.4rem)}h3{font-size:1.25rem}p+p{margin-top:1em}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--blue-dark)}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}img{max-width:100%;height:auto;display:block}.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}.section{padding:72px 0}.section.alt{background:var(--bg-alt)}.section.dark{background:var(--dark)}.section.dark h2,.section.dark h3{color:#fff}.section.dark p{color:#ffffffc7}.kicker{display:inline-block;font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}.kicker:after{content:"";display:inline-block;width:38px;height:4px;background:var(--yellow);margin-left:10px;vertical-align:middle;border-radius:2px}.lede{font-size:1.12rem;max-width:680px}.btn{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:1rem;padding:14px 28px;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;text-align:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow)}.btn-quote{background:var(--yellow);color:var(--ink)}.btn-quote:hover{transform:translateY(-2px);box-shadow:0 10px 28px #b4b40059;color:var(--ink)}.btn-outline{border-color:var(--blue);color:var(--blue);background:transparent}.btn-outline:hover{background:var(--blue);color:#fff}.btn-ghost-dark{border-color:#ffffffa6;color:#fff;background:#080a0f8c}.btn-ghost-dark:hover{border-color:var(--yellow);color:var(--yellow);background:#080a0fbf}.site-header{position:sticky;top:0;z-index:80;background:#fffffff5;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 22px;max-width:var(--maxw);margin:0 auto}.logo-link{display:flex;align-items:center;gap:10px;text-decoration:none}.logo-link img{height:54px;width:auto}.main-nav{display:flex;gap:22px;align-items:center}.main-nav>a,.nav-trigger{color:var(--ink);text-decoration:none;font-weight:500;font-size:.98rem}.main-nav>a:hover,.nav-trigger:hover{color:var(--blue)}.header-phone{font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}.header-phone:hover{color:var(--blue)}.nav-toggle{display:none;background:none;border:0;font-size:1.7rem;color:var(--ink);cursor:pointer;padding:6px}.nav-item{position:relative}.nav-item.has-mega{display:flex;align-items:center}.nav-trigger{display:inline-flex;align-items:center;gap:6px;padding:18px 0}.mega:before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}.submenu-icon{font-size:.7rem;transition:transform .25s ease}.nav-item:hover .submenu-icon,.nav-item.open .submenu-icon{transform:rotate(180deg)}.submenu-toggle{display:none;background:none;border:0;color:var(--ink);cursor:pointer;font-size:.9rem;padding:6px}.mega{position:absolute;top:100%;left:0;display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) 240px;gap:28px;padding:26px 30px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:90}.nav-item:hover .mega,.nav-item.open .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.mega-col h4{font-family:var(--font-body, inherit);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);margin:0 0 12px}.mega-col ul{list-style:none;margin:0;padding:0}.mega-col li{margin-bottom:9px}.mega-col a{color:var(--ink);text-decoration:none;font-size:.95rem;font-weight:500}.mega-col a:hover{color:var(--blue);text-decoration:underline}.mega-featured{background:#e5eff9;border-left:4px solid var(--blue);border-radius:10px;padding:18px}.mega-featured h5{margin:0 0 8px;color:var(--blue-dark);font-size:.95rem}.mega-featured p{margin:0 0 14px;font-size:.88rem;line-height:1.45;color:var(--ink)}.mega-featured .btn-quote{font-size:.85rem;padding:8px 14px}.mega-all{display:inline-block;margin-top:12px;font-size:.85rem;font-weight:600;color:var(--blue);text-decoration:none}.mega-all:hover{color:var(--blue-dark)}@media(prefers-reduced-motion:reduce){.mega,.submenu-icon{transition:none}}@media(max-width:900px){.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:14px 22px 20px;gap:14px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.nav-toggle{display:block}.header-phone span.label{display:none}.nav-item.has-mega{flex-wrap:wrap;justify-content:space-between}.nav-trigger{flex:1}.submenu-icon{display:none}.submenu-toggle{display:block}.mega{position:static;grid-template-columns:1fr;gap:16px;width:100%;margin-top:10px;padding:16px;border-radius:10px;transform:none;display:none;opacity:1;visibility:visible;pointer-events:auto}.nav-item:hover .mega{display:none}.nav-item.open .mega{display:grid}.mega-featured{display:none}}.callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:70;grid-template-columns:1fr 1fr}.callbar a{text-align:center;padding:15px 8px;font-weight:700;text-decoration:none;font-size:1rem}.callbar .call{background:var(--blue);color:#fff}.callbar .quote{background:var(--yellow);color:var(--ink)}@media(max-width:760px){.callbar{display:grid}body{padding-bottom:56px}}.trustbar{background:var(--ink)}.trustbar ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 38px;padding:13px 22px;max-width:var(--maxw);margin:0 auto}.trustbar li{color:#fff;font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:9px}.trustbar li:before{content:"";width:9px;height:9px;border-radius:2px;background:var(--yellow);flex:none}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue)}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--blue)}.card .price{display:inline-block;margin-top:12px;font-weight:700;font-size:.9rem;color:var(--blue-dark);background:#e5eff9;padding:4px 12px;border-radius:999px}.faq details{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:12px}.faq summary{cursor:pointer;font-weight:600;color:var(--ink);padding:16px 20px;list-style:none;display:flex;justify-content:space-between;gap:14px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--blue);font-weight:700;font-size:1.2rem}.faq details[open] summary:after{content:"–"}.faq .a{padding:0 20px 18px}.quote-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 28px}.quote-form h3{margin-bottom:4px}.quote-form .sub{color:var(--muted);font-size:.95rem;margin-bottom:20px}.quote-form label{display:block;font-weight:600;color:var(--ink);font-size:.92rem;margin-bottom:14px}.quote-form input,.quote-form textarea,.quote-form select{width:100%;margin-top:6px;padding:12px 13px;border:1px solid #C9CFD8;border-radius:8px;font-size:1rem;font-family:var(--font-body);background:#fff;color:var(--ink)}.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #104df329}.quote-form fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:14px}.quote-form legend{font-weight:600;font-size:.92rem;color:var(--ink);padding:0 6px}.quote-form .check{display:flex;align-items:center;gap:9px;font-weight:400;margin-bottom:8px}.quote-form .check input{width:auto;margin:0}.quote-form fieldset.choice-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.quote-form fieldset.choice-grid legend{grid-column:1 / -1}.quote-form fieldset.choice-grid .check{margin-bottom:6px}@media(max-width:480px){.quote-form fieldset.choice-grid{grid-template-columns:1fr}}.quote-form button[type=submit]{width:100%}.form-fine{text-align:center;margin-top:14px;font-size:.88rem;color:var(--muted)}.hp-field{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}.crumbs{font-size:.88rem;padding:14px 0 0}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.crumbs li+li:before{content:"›";margin-right:6px;color:var(--muted)}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--blue)}.crumbs [aria-current]{color:var(--ink);font-weight:600}.gallery-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.gallery-grid figure{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{padding:10px 14px;font-size:.88rem;color:var(--muted)}.tag{display:inline-block;background:#e5eff9;color:var(--blue-dark);font-size:.78rem;font-weight:700;padding:2px 10px;border-radius:999px;margin-right:6px}.review-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--yellow);border-radius:var(--radius);padding:24px}.review-card .stars{color:#e8a800;letter-spacing:2px;font-size:1.05rem}.review-card blockquote{margin:10px 0;color:var(--body)}.review-card cite{font-style:normal;font-weight:600;color:var(--ink)}.plans{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));align-items:stretch}.plan{background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:28px 24px;display:flex;flex-direction:column}.plan.recommended{border-color:var(--blue);position:relative;box-shadow:var(--shadow)}.plan.recommended:before{content:"RECOMMENDED";position:absolute;top:-13px;left:50%;transform:translate(-50%);background:var(--blue);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;padding:4px 14px;border-radius:999px}.plan ul{list-style:none;margin:16px 0 22px;flex:1}.plan li{padding:7px 0 7px 26px;position:relative;font-size:.95rem}.plan li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}.site-footer{background:var(--ink);color:#fffc;margin-top:0}.site-footer .cols{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:56px 22px 30px;max-width:var(--maxw);margin:0 auto}.site-footer h3{color:#fff;font-size:1.05rem;margin-bottom:14px}.site-footer ul{list-style:none}.site-footer li{margin-bottom:9px;font-size:.94rem}.site-footer a{color:#fffc;text-decoration:none}.site-footer a:hover{color:var(--yellow)}.footer-legal{border-top:1px solid rgba(255,255,255,.14);text-align:center;padding:18px 22px calc(18px + env(safe-area-inset-bottom));font-size:.84rem;color:#ffffff8c}.footer-legal a{color:#ffffffa6}.hero-cinematic{position:relative;height:420vh;background:var(--dark)}.hero-cinematic .sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}.hero-cinematic canvas,.hero-cinematic .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-cinematic .shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,transparent 24%,transparent 50%,rgba(0,0,0,.78) 100%)}.hero-overlay{position:relative;z-index:5;width:100%;height:100%}.hero-line{position:absolute;left:50%;bottom:12%;top:auto;transform:translate(-50%);width:max-content;max-width:92vw;text-align:center;opacity:0;will-change:opacity,transform;background:transparent;padding:0 16px}.hero-line h1,.hero-line p.h{font-family:var(--font-head);color:#fff;font-size:clamp(2.1rem,6.4vw,5rem);line-height:1.06;text-shadow:0 2px 6px rgba(0,0,0,.95),0 6px 40px rgba(0,0,0,.7)}.hero-line .sub{margin-top:14px;color:#ffffffd9;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:500}.hero-line .accent{color:var(--yellow)}.hero-ctas{margin-top:26px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.hero-static{position:relative;min-height:86vh;display:grid;place-items:center;background:var(--dark)}.scroll-hint{position:absolute;bottom:18px;left:50%;transform:translate(-50%);z-index:6;color:#ffffffbf;font-size:.8rem;font-weight:600;letter-spacing:.28em;animation:bob 1.8s ease-in-out infinite}@keyframes bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}@media(max-width:760px),(prefers-reduced-motion:reduce){.hero-cinematic{height:auto}.hero-cinematic .sticky{position:relative;height:86vh}}.rp-chat-launch{position:fixed;right:18px;bottom:74px;z-index:90;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:14px 20px;font-family:var(--font-body);font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 10px 30px #104df366;display:flex;align-items:center;gap:9px}@media(min-width:761px){.rp-chat-launch{bottom:22px}}.rp-chat-launch:hover{background:var(--blue-dark)}.rp-chat{position:fixed;right:18px;bottom:74px;z-index:95;width:min(370px,calc(100vw - 28px));background:#fff;border-radius:16px;box-shadow:0 18px 60px #0a143c4d;border:1px solid var(--line);display:none;flex-direction:column;overflow:hidden;max-height:min(560px,calc(100vh - 110px))}@media(min-width:761px){.rp-chat{bottom:22px}}.rp-chat.open{display:flex}.rp-chat-head{background:var(--blue);color:#fff;padding:13px 16px;display:flex;align-items:center;gap:10px}.rp-chat-head .title{font-weight:700;flex:1}.rp-chat-head .sub{font-size:.76rem;opacity:.85;display:block;font-weight:400}.rp-chat-head button{background:#ffffff29;border:0;color:#fff;width:32px;height:32px;border-radius:8px;font-size:1.05rem;line-height:1;cursor:pointer}.rp-chat-head button:hover{background:#ffffff4d}.rp-chat-body{padding:16px;overflow-y:auto;flex:1;background:var(--bg-alt)}.rp-msg{max-width:86%;padding:10px 14px;border-radius:14px;margin-bottom:10px;font-size:.93rem}.rp-msg.bot{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.rp-msg.user{background:var(--blue);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.rp-quick{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.rp-quick button{background:#fff;border:1.5px solid var(--blue);color:var(--blue);border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600;cursor:pointer}.rp-quick button:hover{background:var(--blue);color:#fff}.rp-chat-input{display:flex;border-top:1px solid var(--line);background:#fff}.rp-chat-input input{flex:1;border:0;padding:13px 14px;font-size:.95rem;font-family:var(--font-body)}.rp-chat-input input:focus{outline:none}.rp-chat-input button{background:var(--yellow);color:var(--ink);border:0;padding:0 18px;font-weight:700;cursor:pointer}.cta-band{background:var(--blue)}.cta-band .inner{max-width:var(--maxw);margin:0 auto;padding:52px 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px}.cta-band h2{color:#fff}.cta-band p{color:#ffffffd9}.skip-link{position:absolute;left:-9999px;top:0;background:var(--yellow);color:var(--ink);padding:10px 18px;font-weight:700;z-index:200}.skip-link:focus{left:10px;top:10px}.area-tags{display:flex;flex-wrap:wrap;gap:10px}.area-tags a,.area-tags span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 18px;font-size:.92rem;font-weight:600;color:var(--ink);text-decoration:none}.area-tags a:hover{border-color:var(--blue);color:var(--blue)}.note{font-size:.86rem;color:var(--body)}
