:root{--primary: #4b7fc9;--secondary: #6ca8e6;--accent: #a3d8f4;--ink: #10213d;--ink-muted: #45618f;--surface: #ffffff;--surface-soft: #f4f8fd;--surface-muted: #e7eff9;--border-soft: rgba(75, 127, 201, .18);--gradient-primary: linear-gradient(135deg, #4b7fc9 0%, #6ca8e6 100%);--gradient-soft: linear-gradient(140deg, #eff6ff 0%, #dfeeff 45%, #eef5ff 100%);--gradient-deep: linear-gradient(145deg, #3769b1 0%, #5c97dd 55%, #8ec4f4 100%);--ease-apple: cubic-bezier(.22, 1, .36, 1);--ease-apple-soft: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .18s;--duration-mid: .3s;--duration-slow: .52s;--shadow-sm: 0 6px 18px rgba(18, 37, 66, .08);--shadow-md: 0 16px 38px rgba(18, 37, 66, .12);--shadow-lg: 0 26px 58px rgba(18, 37, 66, .16);--radius-sm: .8rem;--radius-md: 1.1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--content-max: 1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh;font-family:Manrope,sans-serif;color:var(--ink);background:var(--surface);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body.modal-open{overflow:hidden}img{max-width:100%;display:block}h1,h2,h3,h4{margin:0;font-family:Sora,sans-serif;letter-spacing:-.01em;line-height:1.2}p{margin:0}a{color:inherit}.skip-link{position:absolute;left:.8rem;top:-3rem;background:var(--ink);color:#fff;padding:.6rem .8rem;border-radius:.5rem;text-decoration:none;z-index:2000}.skip-link:focus{top:.8rem}.section-spacing{padding:clamp(3.5rem,6vw,5.5rem) 1.25rem}.kicker{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary)}.kicker:before{content:"";width:22px;height:2px;border-radius:999px;background:currentColor}.kicker-light{color:#ffffffe6}.section-head{width:min(100%,760px);margin:0 auto;text-align:center}.section-head h2{font-size:clamp(1.8rem,5vw,2.9rem);color:var(--ink);margin-bottom:.9rem}.section-head p{color:var(--ink-muted);font-size:clamp(1rem,2vw,1.08rem)}.section-head-compact{margin-bottom:clamp(1.8rem,5vw,2.8rem)}.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:#ffffffe0;border-bottom:1px solid var(--border-soft);backdrop-filter:saturate(170%) blur(16px);-webkit-backdrop-filter:saturate(170%) blur(16px);box-shadow:0 1px #4b7fc914;transition:background-color var(--duration-mid) var(--ease-apple),border-color var(--duration-mid) var(--ease-apple),box-shadow var(--duration-mid) var(--ease-apple)}.site-header.is-scrolled{background:#fffffff0;border-bottom-color:#4b7fc93d;box-shadow:0 12px 28px #1128481a}.site-nav{width:min(var(--content-max),calc(100% - 2rem));margin:0 auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand-link{display:inline-flex;align-items:center}.brand-logo{width:auto;height:clamp(2.9rem,5vw,3.6rem)}.desktop-nav{display:none;align-items:center;gap:1.35rem}.desktop-nav a{position:relative;text-decoration:none;font-size:.95rem;font-weight:600;color:#385987}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-.35rem;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:var(--gradient-primary);transition:transform .2s ease}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.nav-cta{display:flex;align-items:center;gap:.55rem}.btn{border:none;border-radius:var(--radius-sm);padding:.72rem 1.05rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;font-weight:700;font-size:.9rem;cursor:pointer;min-height:44px;transition:transform var(--duration-fast) var(--ease-apple-soft),box-shadow var(--duration-mid) var(--ease-apple),background-color var(--duration-mid) var(--ease-apple),border-color var(--duration-mid) var(--ease-apple),color var(--duration-mid) var(--ease-apple)}.btn:active{transform:scale(.98)}.btn-primary{color:#fff;background:var(--gradient-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-md)}.btn-soft{color:var(--primary);background:#edf4fe;border:1px solid var(--border-soft)}.btn-soft:hover{background:#e7f0fd}.btn-outline{color:var(--ink);border:1px solid var(--border-soft);background:#ffffffc7}.btn-outline:hover{background:#fff}.btn-ghost{color:#f4f8ff;border:1px solid rgba(255,255,255,.45);background:#ffffff1a}.btn-ghost:hover{background:#ffffff2e}.btn-lg{border-radius:var(--radius-md);font-size:.98rem;padding:.95rem 1.4rem}main section[id]{scroll-margin-top:98px}.hero-section{position:relative;overflow:hidden;padding:clamp(7.2rem,12vw,9.8rem) 1.25rem clamp(4rem,7vw,5rem);background:var(--gradient-soft)}.hero-background{position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 360px at 10% 16%,rgba(108,168,230,.22),transparent 70%),radial-gradient(480px 320px at 92% 72%,rgba(75,127,201,.18),transparent 70%)}.hero-shell{width:min(var(--content-max),100%);margin:0 auto;position:relative;z-index:1;text-align:center}.hero-reveal{opacity:0;transform:translate3d(0,24px,0) scale(.985);animation:hero-rise var(--duration-slow) var(--ease-apple) forwards}.hero-reveal--1{animation-delay:90ms}.hero-reveal--2{animation-delay:.15s}.hero-reveal--3{animation-delay:.21s}.hero-reveal--4{animation-delay:.26s}.hero-reveal--5{animation-delay:.32s}.hero-shell h1{max-width:950px;margin:0 auto 1rem;font-size:clamp(2rem,6vw,4.15rem);color:#19355e}.hero-copy{width:min(100%,760px);margin:0 auto;color:#3f5d88;font-size:clamp(1.02rem,2.5vw,1.2rem)}.hero-actions{margin-top:2rem;display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.hero-meta{margin-top:1.5rem;display:flex;justify-content:center;flex-wrap:wrap;gap:1rem 1.2rem}.hero-meta p{display:inline-flex;align-items:center;gap:.4rem;color:#365989;font-size:.93rem;font-weight:600}.hero-meta i{color:var(--primary)}.services-section{position:relative;overflow:hidden;background:var(--gradient-deep);color:#fff}.services-section:before,.services-section:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.services-section:before{width:280px;height:280px;left:-90px;top:-80px;background:#ffffff24;filter:blur(38px)}.services-section:after{width:240px;height:240px;right:-70px;bottom:-80px;background:#a3d8f438;filter:blur(34px)}.services-section .section-head h2,.services-section .section-head p{color:#fff}.services-section .section-head p{color:#ffffffe0}.service-grid{width:min(var(--content-max),100%);margin:2.3rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem;position:relative;z-index:1}.service-card{display:flex;flex-direction:column;gap:.95rem;border-radius:var(--radius-lg);padding:1.4rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);box-shadow:0 16px 38px #10213d2e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform var(--duration-mid) var(--ease-apple-soft),box-shadow var(--duration-mid) var(--ease-apple),background-color var(--duration-mid) var(--ease-apple),border-color var(--duration-mid) var(--ease-apple)}.service-card.is-featured{background:#fff3;border:1px solid rgba(255,255,255,.4)}.service-icon{width:2.7rem;height:2.7rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;background:#ffffff2e}.service-card h3{font-size:1.18rem}.service-card p{color:#ffffffe6;font-size:.95rem}.service-card ul{margin:0;padding:0;list-style:none;display:grid;gap:.5rem;font-size:.89rem}.service-card li{display:flex;align-items:flex-start;gap:.48rem}.service-card li i{margin-top:.25rem;color:var(--accent)}.service-card .btn{margin-top:auto}.gallery-section{background:var(--surface-soft)}.gallery-shell{width:min(var(--content-max),100%);margin:0 auto;border-radius:var(--radius-lg);background:#ffffffe6;border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-mid) var(--ease-apple),transform var(--duration-mid) var(--ease-apple-soft)}.stats-section{background:#fff}.stats-grid{width:min(var(--content-max),100%);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{border-radius:var(--radius-md);background:linear-gradient(160deg,#fff,#f6faff);border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);padding:1.15rem;text-align:center;transition:transform var(--duration-mid) var(--ease-apple-soft),box-shadow var(--duration-mid) var(--ease-apple),border-color var(--duration-mid) var(--ease-apple)}.stat-icon{width:2.65rem;height:2.65rem;margin:0 auto .8rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary);background:#4b7fc924}.stat-value{font-family:Sora,sans-serif;font-size:clamp(1.55rem,3.2vw,2.2rem);color:#1f4476;margin-bottom:.2rem}.stat-label{color:#4e6f9b;font-weight:700;font-size:.92rem}.advantage-panel{width:min(var(--content-max),100%);margin:1.5rem auto 0;padding:1.4rem;border-radius:var(--radius-lg);border:1px solid var(--border-soft);background:linear-gradient(140deg,#edf5ff,#f8fbff)}.advantage-panel h3{text-align:center;font-size:clamp(1.2rem,3vw,1.55rem);color:#23456f}.advantage-grid{margin-top:1.1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.advantage-grid p{display:flex;align-items:flex-start;gap:.48rem;padding:.75rem;border-radius:var(--radius-sm);background:#fff;color:#355884;border:1px solid rgba(75,127,201,.16);font-weight:600}.advantage-grid p i{margin-top:.2rem;color:var(--primary)}.faq-section{background:var(--surface-soft)}.faq-list{width:min(840px,100%);margin:0 auto;display:grid;gap:.75rem}.faq-item{border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:.92rem 1rem;background:#fff;box-shadow:0 8px 24px #1225420d;transition:transform var(--duration-mid) var(--ease-apple-soft),box-shadow var(--duration-mid) var(--ease-apple),border-color var(--duration-mid) var(--ease-apple)}.faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-family:Sora,sans-serif;font-weight:600;color:#23476f}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--primary);font-size:1.25rem;line-height:1}.faq-item[open] summary:after{content:"-"}.faq-item p{margin-top:.65rem;color:#496893;font-size:.96rem}.contact-section{background:var(--gradient-primary);color:#fff}.contact-card{width:min(880px,100%);margin:0 auto;text-align:center;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.38);background:#ffffff1a;box-shadow:var(--shadow-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:clamp(1.4rem,4vw,2rem)}.contact-card h2{font-size:clamp(1.55rem,4vw,2.4rem);margin-bottom:.7rem}.contact-card>p{color:#ffffffe0}.contact-grid{margin:1.1rem 0 1.3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.contact-link{text-decoration:none;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.32);background:#ffffff24;padding:.8rem;display:grid;gap:.22rem;transition:background-color var(--duration-mid) var(--ease-apple),transform var(--duration-fast) var(--ease-apple-soft),box-shadow var(--duration-mid) var(--ease-apple)}.contact-link span{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#ffffffd6}.contact-link strong{font-size:1rem;font-family:Sora,sans-serif}.site-footer{background:#2e5fa1;color:#fff;text-align:center;padding:1.2rem 1rem 1.6rem;display:grid;gap:.35rem}.site-footer p{color:#ffffffe6;font-size:.92rem}.quote-modal{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0a182d8f;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-mid) var(--ease-apple),visibility 0s linear var(--duration-mid)}.quote-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.quote-modal__panel{position:relative;width:min(760px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;border-radius:var(--radius-lg);border:1px solid var(--border-soft);background:#fff;padding:1.3rem;box-shadow:var(--shadow-lg);opacity:0;transform:translate3d(0,18px,0) scale(.985);transition:opacity var(--duration-mid) var(--ease-apple),transform .36s var(--ease-apple-soft)}.quote-modal.is-open .quote-modal__panel{opacity:1;transform:translateZ(0) scale(1)}.quote-modal__panel h2{color:#214672;font-size:clamp(1.35rem,3vw,1.7rem);margin-bottom:.35rem}.quote-modal__panel>p{color:#5b78a0;margin-bottom:1rem}.quote-modal__close{position:absolute;top:.65rem;right:.65rem;width:2.2rem;height:2.2rem;border-radius:999px;border:1px solid var(--border-soft);background:#eef5ff;color:var(--primary);cursor:pointer;transition:transform var(--duration-fast) var(--ease-apple-soft),background-color var(--duration-fast) var(--ease-apple),border-color var(--duration-fast) var(--ease-apple)}.quote-modal__close:hover{transform:scale(1.06);background:#e5f0ff;border-color:#4b7fc952}.quote-form{display:grid;gap:.85rem}.quote-form label{display:grid;gap:.36rem;color:#2e527f;font-size:.88rem;font-weight:700}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border-radius:.72rem;border:1px solid var(--border-soft);background:#f8fbff;color:#143560;padding:.72rem .75rem;font-family:inherit;font-size:.95rem}.form-grid{display:grid;gap:.85rem}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-hint{display:flex;align-items:center;gap:.45rem;font-size:.84rem;color:#4f6f9d;background:#f0f6ff;border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:.7rem}.quote-hint i{color:var(--primary)}.quote-submit{width:100%;margin-top:.2rem}[data-reveal]{opacity:0;transform:translate3d(0,26px,0);filter:blur(2px);transition:opacity var(--duration-slow) var(--ease-apple),transform var(--duration-slow) var(--ease-apple),filter var(--duration-mid) var(--ease-apple);transition-delay:var(--reveal-delay, 0ms)}[data-reveal].is-visible{opacity:1;transform:translateZ(0);filter:blur(0)}@media(hover:hover){.service-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 26px 50px #10213d3b}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#4b7fc94d}.faq-item:hover{transform:translateY(-2px);box-shadow:0 14px 28px #1225421a;border-color:#4b7fc947}.contact-link:hover{transform:translateY(-2px);background:#ffffff38;box-shadow:0 12px 28px #11284833}.gallery-shell:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}}@keyframes hero-rise{0%{opacity:0;transform:translate3d(0,24px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(108,168,230,.48);outline-offset:2px}@media(min-width:960px){.desktop-nav{display:inline-flex}}@media(max-width:920px){.nav-cta .btn-soft{display:none}.service-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(max-width:760px){.section-spacing{padding-inline:1rem}.site-nav{width:calc(100% - 1rem);min-height:72px}.nav-cta .btn{padding-inline:.85rem;font-size:.84rem}.hero-meta{justify-content:center;gap:.7rem}.hero-meta p{font-size:.86rem}.form-grid.two-col{grid-template-columns:1fr}.quote-modal{padding:.6rem;align-items:flex-start;overflow-y:auto}.quote-modal__panel{margin:.7rem auto;max-height:calc(100dvh - 1.2rem)}}@media(max-width:520px){.service-card{padding:1.15rem}.hero-actions{gap:.6rem}.btn-lg{width:100%}.contact-link{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-reveal{opacity:1;transform:none;animation:none}[data-reveal]{opacity:1;transform:none;filter:none}*,*:before,*:after{animation:none!important;transition:none!important}}:root{color-scheme:light}body{margin:0;-webkit-text-size-adjust:100%}@media screen and (-webkit-min-device-pixel-ratio:0){input[data-astro-cid-ouamjn2i],select[data-astro-cid-ouamjn2i],textarea[data-astro-cid-ouamjn2i]{font-size:16px}}.ba[data-astro-cid-7ptc3guz]{position:relative;width:100%;aspect-ratio:4 / 5;max-width:100%;border-radius:.75rem;overflow:hidden;background:#f8fafc;border:1px solid rgba(75,127,201,.12);box-shadow:0 8px 24px #1118270f}@media(max-width:640px){.ba[data-astro-cid-7ptc3guz]{aspect-ratio:4 / 5}}.ba-img[data-astro-cid-7ptc3guz]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;user-select:none;-webkit-user-drag:none}.ba-img[data-astro-cid-7ptc3guz].after{clip-path:inset(0 0 0 var(--pos))}.ba-range[data-astro-cid-7ptc3guz]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:20}.ba-handle[data-astro-cid-7ptc3guz]{position:absolute;top:0;bottom:0;left:var(--pos);transform:translate(-50%);width:1.5px;background:#fff;box-shadow:0 1px 2px #0000001f;z-index:15}.ba-handle-knob[data-astro-cid-7ptc3guz]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:9999px;background:#fff;box-shadow:0 4px 10px #00000026;border:2px solid #6CA8E6}@media(max-width:640px){.ba-handle-knob[data-astro-cid-7ptc3guz]{width:18px;height:18px}}.ba-label[data-astro-cid-7ptc3guz]{position:absolute;top:10px;padding:3px 7px;font-size:11px;font-weight:600;border-radius:6px;color:#fff;z-index:25}.ba-label-left[data-astro-cid-7ptc3guz]{left:10px;background:#355f98}.ba-label-right[data-astro-cid-7ptc3guz]{right:10px;background:#6ca8e6}.ba-gallery[data-astro-cid-72ehudyx]{max-width:1040px;margin:0 auto;padding:1.25rem}.ba-gallery__intro[data-astro-cid-72ehudyx]{text-align:center;margin-bottom:1.1rem}.ba-gallery__intro[data-astro-cid-72ehudyx] h3[data-astro-cid-72ehudyx]{margin:0;color:#1f4476;font-family:Sora,sans-serif;font-size:clamp(1.2rem,3vw,1.6rem)}.ba-gallery__intro[data-astro-cid-72ehudyx] p[data-astro-cid-72ehudyx]{margin-top:.5rem;color:#4d6e9a;font-size:.95rem}.ba-gallery__grid[data-astro-cid-72ehudyx]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.ba-gallery__item[data-astro-cid-72ehudyx]{border-radius:1rem;border:1px solid rgba(75,127,201,.18);background:#fff;padding:.65rem;box-shadow:0 10px 24px #11182714;transition:transform .2s ease}.ba-gallery__item[data-astro-cid-72ehudyx]:hover{transform:translateY(-2px)}.ba-gallery__caption[data-astro-cid-72ehudyx]{text-align:center;margin-top:.55rem;padding:0 .35rem .2rem}.ba-gallery__caption[data-astro-cid-72ehudyx] h4[data-astro-cid-72ehudyx]{margin:0;color:#2a4e7f;font-family:Sora,sans-serif;font-size:.95rem}.ba-gallery__caption[data-astro-cid-72ehudyx] p[data-astro-cid-72ehudyx]{margin-top:.2rem;color:#607da6;font-size:.82rem}@media(max-width:640px){.ba-gallery[data-astro-cid-72ehudyx]{padding:.9rem}.ba-gallery__grid[data-astro-cid-72ehudyx]{gap:.65rem}}
