@font-face{font-family:"Montserrat";src:url(/assets/fonts/Montserrat-VariableFont_wght.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Montserrat";src:url(/assets/fonts/Montserrat-Italic-VariableFont_wght.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap;}
:root{--font:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--dark:#141414;--text:#1e1e1e;--w:#ffffff;--light:#f7f7f6;--mid:#efefed;--radius-sm:6px;--radius-md:16px;--radius-lg:18px;--radius-xl:20px;--shadow-sm:0 18px 60px rgba(0,0,0,0.05);--shadow-md:0 24px 80px rgba(0,0,0,0.06);--shadow-lg:0 26px 80px rgba(0,0,0,0.08);}
html,body{padding:0;margin:0;font-family:var(--font); font-weight:400;font-style:normal;min-height:100dvh;}
*{box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;outline:0;}
img,svg{max-width:100%;height:auto;display:block;}
main{overflow:hidden;}
input,textarea{font:inherit;}

.panel,.card,.teamCard--stacked,.contactFormWrap,.detailCard{background:rgba(255,255,255,0.75);backdrop-filter:blur(2px);box-shadow:var(--shadow-sm);}
.section-dark .panel,.section-dark .card,.section-dark .teamCard--stacked,.section-dark .contactFormWrap,.section-dark .detailCard{background:rgba(255,255,255,0.06);}

.siteHeader{position:fixed;top:15px;left:0;width:calc(100% - 20px);margin:0 10px;z-index:50;transform:translateY(-100%);opacity:0;transition:transform 600ms cubic-bezier(.22,.61,.36,1),opacity 400ms ease;pointer-events:none;}
.siteHeader.static{opacity:1;transform:none;position:sticky;pointer-events:auto;}
.siteHeader.is-visible{transform:translateY(0);opacity:1;pointer-events:auto;}
.headerInner{max-width:1200px;margin:0 auto;padding:13px 30px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.72);box-shadow:0 0 10px rgba(0,0,0,0.1);border-radius:40px;backdrop-filter:blur(10px);transition:padding 260ms ease,background 260ms ease;}
.siteHeader.scrolled .headerInner{background:rgba(255,255,255,0.78);}
.siteHeader .logo img,.siteHeader .logo svg{width:80px; height:45px;display:block;}

.mainNav{display:flex;gap:36px;align-items:center;}
.mainNav a{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;color:#111111;opacity:0.85;}
.mainNav a:hover{opacity:1;}
.navCta{padding:10px 22px;border:1px solid rgba(0,0,0,0.25);border-radius:30px;}
.navCta:hover{background:#111111;color:#ffffff;}

.headerActions{display:flex;align-items:center;gap:22px;}

.headerPhone{text-decoration:none;color:#111111;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1;opacity:0.9;transition:opacity 300ms ease;}

	.phoneLabel{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;opacity:0.6;margin-bottom:4px;}
	.phoneNumber{font-size:16px;font-weight:500;letter-spacing:0.04em;font-variant-numeric:tabular-nums;}

.headerBook {display:none;padding:10px 18px;border-radius:30px;border:1px solid rgba(0,0,0,0.22);text-decoration:none;color:#111;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;white-space:nowrap;opacity:0.9;transition:background 200ms ease,transform 200ms ease,opacity 200ms ease;}
.headerBook:hover {opacity:1;transform:translateY(-1px);background:rgba(0,0,0,0.04);}
.headerBook .bookIcon {display:none;}


.navToggle,.phoneIcon {display:none;width:44px;height:44px;border-radius:999px;border:1px solid rgba(0,0,0,0.18);background:rgba(255,255,255,0.55);backdrop-filter:blur(10px);cursor:pointer;align-items:center;justify-content:center;gap:5px;padding:0;transition:transform 200ms ease,background 200ms ease;}
.navToggle:hover,.phoneIcon:hover {opacity:1;transform:translateY(-1px);background:rgba(0,0,0,0.04);border-radius:999px;}


#mobileNav {transition:right 500ms ease; position:fixed; display:block; z-index:999; top:100px; right:-320px; width:100%; max-width:300px; max-height:calc(100dvh - 120px); background:rgba(255,255,255,0.92); backdrop-filter:blur(12px); padding:26px 24px 28px; border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,0.18); overflow-y:auto; }
#mobileNav a { display:block; padding:14px 4px; font-size:14px; letter-spacing:0.14em; text-transform:uppercase; text-decoration:none; color:#111111; opacity:0.85; transition:opacity 200ms ease,transform 200ms ease; }
#mobileNav a:hover { opacity:1; transform:translateX(2px); }
#mobileNav a + a { border-top:1px solid rgba(0,0,0,0.06); }
#mobileNav .mobileCta { margin-top:22px; padding:16px 20px; border-radius:40px; text-align:center; background:#111111; color:#ffffff; letter-spacing:0.16em; opacity:1; }
#mobileNav .mobileCta:hover { background:#1a1a1a; transform:translateY(-1px); }



@media(max-width:1000px){
	.headerInner{padding:12px 18px;}
	.mainNav{display:none;}
	.navToggle{display:inline-flex;}
	.headerBook{display:inline-block;}
	.headerPhone .phoneLabel{display:none;}
	.headerPhone .phoneNumber{font-size:14px;letter-spacing:0.03em;}
    .headerBook{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;font-size:11px;}
}
@media(max-width:620px){
    .headerActions {gap: 12px;}
	.headerPhone .phoneNumber{display:none;}

    .headerBook{width:44px;height:44px;padding:0;border-radius:999px;justify-content:center;}
	.headerBook .bookText{display:none;}
	.headerBook .bookIcon {display:flex;}
	.phoneIcon {display:flex;}
}







.hero{height:100dvh; min-height:100dvh;width:100dvw;position:relative;overflow:hidden;}
.srOnly{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.fadeHero{position:relative;width:100%;height:100%;overflow:hidden;}
.fadeHero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:translate3d(0,0,0) scale(1.14);transition:opacity 2200ms ease-in-out,transform 9000ms ease-in-out;will-change:opacity,transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-origin:center;}
.fadeHero img.is-visible{opacity:1;}

.heroText{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none;text-align:center;}
.heroLine{position:absolute;max-width:900px;font-size:clamp(22px,4vw,46px);line-height:1.1;letter-spacing:0.02em;color:rgba(255,255,255,0.92);text-shadow:0 12px 35px rgba(0,0,0,0.4);opacity:0;transform:translateY(10px);transition:opacity 1200ms ease-in-out,transform 1200ms ease-in-out;will-change:opacity,transform;}
.heroLine.active{opacity:1;transform:translateY(0);}

.heroCompany{position:absolute;top:0;left:0;width:100dvw;height:100dvh;z-index:2;display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 50% 45%,rgba(0,0,0,0.08),rgba(0,0,0,0.48)),linear-gradient(to bottom,rgba(0,0,0,0.30),rgba(0,0,0,0.05) 40%,rgba(0,0,0,0.42));}
.heroCompany svg{fill:rgba(255,255,255,0.7); width:120px; height:68px;}
.heroCompanyBtn{background:transparent;border:0;padding:0;cursor:pointer;width:180px;padding:20px 40px 20px 20px;}

.scrollCue{width:68px; height:41px;border:0;background:transparent;position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.7);cursor:pointer;animation:scrollFloat 2.8s ease-in-out infinite;z-index:2;}
@keyframes scrollFloat{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}

@media(max-width:900px){.hero + .section{padding-top:104px;}}
@media(max-width:820px){.heroText{padding:18px;}.heroLine{max-width:92vw;letter-spacing:0.01em;}}
@media(prefers-reduced-motion:reduce){.fadeHero img{transition:opacity 900ms ease-in-out!important;transform:translate3d(0,0,0) scale(1)!important;}.heroLine{transition:opacity 300ms ease-in-out,transform 300ms ease-in-out;}}




.section{width:100%;padding:120px 0;}
.section-light{background:var(--light);color:var(--text);}
.section-lighter{background:var(--w);color:var(--text);}
.section-mid{background:var(--mid);color:var(--text);}
.section-dark{background:var(--dark);color:var(--w);}
.content{max-width:1200px;margin:0 auto;padding:0 40px;}
@media(max-width:900px){.section{padding:84px 0;} .content{padding:0 24px;}}
@media(max-width:620px){.section{padding:72px 0;}}
.section h2{font-weight:400;font-size:clamp(28px,3.5vw,44px);line-height:1.1;margin-bottom:24px;letter-spacing:0.02em;}
.section h3{font-weight:500;font-size:22px;margin-bottom:12px;}
.section h4{font-weight:500;font-size:18px;margin-bottom:8px;letter-spacing:0.04em;text-transform:uppercase;}
.section p{font-size:17px;line-height:1.65;max-width:760px;opacity:0.9;}
.section .lede{font-size:19px;line-height:1.6;max-width:820px;margin-bottom:28px;}
.section-dark p,.section-dark .lede{opacity:0.85;}
@media(max-width:900px){
	.section .lede{margin-bottom:22px;}
}

.grid{display:grid;gap:40px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.grid-3{grid-template-columns:1fr;}}

.card{padding:0;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,0.04);transition:transform 400ms ease,box-shadow 400ms ease;}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(0,0,0,0.06);}
.cardMedia img{width:100%;height:220px;object-fit:cover;display:block;}
.cardBody{padding:32px 32px 36px;}
.cardBody h3{margin-bottom:12px;}
.cardBody p{font-size:16px;}
@media(max-width:900px){
	.cardMedia img{height:180px;}
	.cardBody{padding:26px;}
}

.processSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:48px;}
.processSteps>div{padding-top:24px;border-top:1px solid rgba(0,0,0,0.1);}
.section-dark .processSteps>div{border-top:1px solid rgba(255,255,255,0.2);}
@media(max-width:900px){.processSteps{grid-template-columns:1fr;gap:26px;margin-top:34px;}.processSteps>div{padding-top:18px;}}


.processSteps>div{position:relative;}
.processSteps .stepNo{display:block;margin-bottom:14px;font-size:12px;letter-spacing:0.22em;text-transform:uppercase;opacity:0.45;}
.section-dark .processSteps .stepNo{opacity:0.6;}



.ctaRow{display:flex;gap:24px;margin-top:40px;flex-wrap:wrap;}
@media(max-width:900px){.ctaRow{margin-top:30px;gap:16px;}}
.btn{display:inline-block;padding:16px 34px;border-radius:40px;font-size:14px;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;transition:background 300ms ease,color 300ms ease,transform 300ms ease;}
.btn.primary{background:#ffffff;color:#111111;}
.btn.primary:hover{transform:translateY(-2px);background:#f0f0f0;}
.btn.secondary{border:1px solid rgba(255,255,255,0.4);color:#ffffff;}
.section-light .btn.secondary,.section-mid .btn.secondary,.section-lighter .btn.secondary{border-color:rgba(0,0,0,0.3);color:#111111;}
.btn.secondary:hover{transform:translateY(-2px);background:rgba(255,255,255,0.08);}
.section-light .btn.primary,.section-mid .btn.primary,.section-lighter .btn.primary{background:#111;color:#fff;border:1px solid rgba(0,0,0,0.22);}
.section-light .btn.primary:hover,.section-mid .btn.primary:hover,.section-lighter .btn.primary:hover{background:#1a1a1a;transform:translateY(-2px);}
.smallNote{margin-top:24px;font-size:14px;opacity:0.7;}


.hero + .section{padding-top:160px;}
.hero + .section.section-light,.hero + .section.section-lighter{background:linear-gradient(to bottom,rgba(255,255,255,0.00),rgba(255,255,255,1) 80%),#ffffff;}
.hero + .section.section-mid{background:linear-gradient(to bottom,rgba(239,239,237,0.00),rgba(239,239,237,1) 70%),#efefed;}
.hero + .section.section-dark{background:linear-gradient(to bottom,rgba(20,20,20,0.00),rgba(20,20,20,1) 70%),#141414;}
.hero + .section .content{position:relative;}
.hero + .section .content:before{content:"";position:absolute;left:0;right:0;top:-42px;height:1px;background:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,0.18),rgba(0,0,0,0));}
.hero + .section.section-dark .content:before{background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,0.22),rgba(255,255,255,0));}
@media(max-width:900px){.hero + .section .content:before{top:-32px;}}
.hero + .section:first-of-type .content{max-width:1100px;}

.reviewsHead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:28px 0 40px;}
.reviewsScore{display:flex;flex-direction:column;gap:6px;}
.reviewsRating{font-size:clamp(34px,3.6vw,54px);line-height:1;font-weight:500;letter-spacing:0.02em;}
.reviewsMeta{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;opacity:0.7;}


.reviewsCarousel{position:relative;}
.reviewsViewport{overflow:hidden;border-radius:var(--radius-sm);padding:20px 12px 28px;}
.reviewsGrid{display:flex;gap:18px;padding:0;background:none;border-radius:0;will-change:transform;touch-action:pan-y;}
.reviewCard{
	flex:0 0 calc((100% - 36px)/3);background:#fff;padding:36px 34px;border-radius:var(--radius-sm);
	box-shadow:0 8px 20px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.03); transition:transform 280ms ease,box-shadow 280ms ease;
}
.reviewCard:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,0.08), 0 3px 8px rgba(0,0,0,0.04);}
@media(max-width:980px){.reviewCard{flex-basis:calc((100% - 18px)/2);}}
@media(max-width:640px){.reviewCard{flex-basis:100%;}}
.reviewsDots{display:flex;justify-content:center;gap:10px;padding:18px 0 0;}
.reviewsDots button{width:12px;height:12px;border-radius:50%;border:0;background:#828282;opacity:.25;cursor:pointer;}
.reviewsDots button[aria-current="true"]{opacity:.75;}
.reviewTop{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;}
.reviewName{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;opacity:0.85;}
.reviewStars{font-size:13px;letter-spacing:0.2em;opacity:0.9;white-space:nowrap;}
.reviewText{font-size:14px;line-height:1.7;opacity:0.9;}



.section-team{padding-top:140px;padding-bottom:140px;}
.section-team .content{background:rgba(247,247,246,0.9);border-radius:var(--radius-md);padding:80px 70px;}
@media(max-width:900px){.section-team .content{padding:48px 28px;}}
.teamGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;margin-top:64px;}
@media(max-width:700px){.teamGrid{grid-template-columns:1fr;gap:28px;}}
.teamCard--stacked{border-radius:var(--radius-xl);padding:46px 40px;text-align:center;transition:transform 400ms ease,box-shadow 400ms ease;}
.teamCard--stacked:hover{transform:translateY(-6px);box-shadow:0 36px 100px rgba(0,0,0,0.08);}
.teamCard--stacked .avatar{width:132px;height:132px;margin:0 auto 24px;border-radius:999px;overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,0.18);}
.teamCard--stacked .avatar img{width:100%;height:100%;object-fit:cover;}
.teamBody h3{margin:0 0 6px;font-size:22px;font-weight:500;}
.teamRole{margin:0 0 16px;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;opacity:0.75;}
.teamText{margin:0;font-size:16px;line-height:1.65;opacity:0.88;}

.page{padding-top:0;}
.contactHero{padding-top:170px;padding-bottom:90px;}
.pageTitle{font-size:clamp(34px,4.2vw,58px);line-height:1.05;letter-spacing:0.02em;margin:0 0 18px;font-weight:400;}
.contactLayout{display:grid;grid-template-columns:1.2fr 0.8fr;gap:54px;align-items:start;}
@media(max-width:1000px){.contactLayout{grid-template-columns:1fr;gap:40px;}}
.contactFormWrap{border-radius:var(--radius-lg);padding:54px 48px;box-shadow:var(--shadow-md);}
@media(max-width:900px){.contactFormWrap{padding:40px 28px;}}
.contactForm{margin-top:28px;}
.formRow{margin-bottom:18px;}
.formRow label{display:block;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;opacity:0.7;margin-bottom:10px;}
.formRow input,.formRow textarea{width:100%;border:1px solid rgba(0,0,0,0.18);border-radius:14px;padding:14px;font-size:16px;background:rgba(255,255,255,0.9);transition:border-color 250ms ease,box-shadow 250ms ease;}
.formRow textarea{resize:vertical;min-height:140px;}
.formRow input:focus,.formRow textarea:focus{border-color:rgba(0,0,0,0.35);box-shadow:0 0 0 6px rgba(0,0,0,0.06);}
.formGrid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media(max-width:700px){.formGrid2{grid-template-columns:1fr;}}
.formActions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:10px;}
.inlineLink{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,0,0,0.25);}
.inlineLink:hover{border-bottom-color:rgba(0,0,0,0.55);}
.contactDetails{display:flex;flex-direction:column;gap:18px;}
.detailCard{border-radius:var(--radius-lg);padding:28px 26px;}
.detailCard h3{margin:0 0 12px;font-size:16px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;opacity:0.85;}

.contactNumber{display:flex;flex-direction:column;gap:10px;}
.contactNumber--divider{margin-top:16px;padding-top:16px;border-top:1px solid rgba(0,0,0,0.10);}
.contactNumberTop{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.contactLabel{font-size:12px;letter-spacing:0.18em;text-transform:uppercase;opacity:0.65;}
.contactMainNumber{font-size:18px;letter-spacing:0.04em;font-variant-numeric:tabular-nums;}
.contactMeta{margin:0;font-size:14px;line-height:1.55;opacity:0.72;max-width:none;}
.contactActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px;}
.contactPill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;text-decoration:none;color:#111;background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.12);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;transition:transform 200ms ease,background 200ms ease,opacity 200ms ease;}
.contactPill:hover{transform:translateY(-1px);background:rgba(0,0,0,0.06);opacity:1;}
.contactPill--wa{background:rgba(17,17,17,0.06);}
@media(max-width:620px){.contactMainNumber{font-size:17px;} .contactPill{padding:10px 12px;}}


.calendly-inline-widget {margin-top:-20px;min-height:650px;} 
@media(max-width:665px){.calendly-inline-widget {margin-top:40px;}}

.detailItem{margin:0 0 10px;font-size:16px;line-height:1.55;opacity:0.9;}
.contactCtas{margin-top:14px;}
.embedFrame{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:#e9e9e7;}
.embedFrame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
@media(max-width:700px){.embedFrame{aspect-ratio:4/3;border-radius:14px;}}


.vTimeline{position:relative;margin-top:56px;padding-left:56px;display:flex;flex-direction:column;gap:38px;}
.vTimelineLine{position:absolute;left:20px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,0.22),rgba(0,0,0,0));}
.section-dark .vTimelineLine{background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,0.28),rgba(255,255,255,0));}

.vTimelineItem{position:relative;}
.vTimelineMarker{position:absolute;left:-46px;top:14px;width:12px;height:12px;border-radius:999px;background:#111;box-shadow:0 0 0 6px rgba(0,0,0,0.06);}
.section-dark .vTimelineMarker{background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,0.08);}

.vTimelineContent{display:flex;flex-direction:column;gap:14px;}
.vTimelineYear{font-size:12px;letter-spacing:0.22em;text-transform:uppercase;opacity:0.75;margin-left:6px;}

.vTimelineCard{display:grid;grid-template-columns:320px 1fr;gap:26px;padding:28px;border-radius:var(--radius-sm);background:rgba(255,255,255,0.75);backdrop-filter:blur(2px);box-shadow:var(--shadow-sm);transition:transform 400ms ease,box-shadow 400ms ease;}
.section-dark .vTimelineCard{background:rgba(255,255,255,0.06);}
.vTimelineCard:hover{transform:translateY(-4px);box-shadow:0 30px 60px rgba(0,0,0,0.06);}

.vTimelineMedia{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#e9e9e7;}
.vTimelineMedia img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 600ms ease;}
.vTimelineCard:hover .vTimelineMedia img{transform:scale(1.07);}

.vTimelineBody h3{margin:2px 0 10px 0;font-size:22px;font-weight:500;}
.vTimelineBody p{margin:0;font-size:16px;line-height:1.65;opacity:0.88;max-width:none;}

@media(max-width:1100px){
	.vTimelineCard{grid-template-columns:280px 1fr;}
}
@media(max-width:900px){
	.vTimeline{padding-left:44px;}
	.vTimelineMarker{left:-38px;}
	.vTimelineCard{grid-template-columns:1fr;padding:24px;}
}


.siteFooter { position:relative;background:#141414; color:#fff; padding:72px 24px 32px;  }
.siteFooter:before { content:""; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,0.22),rgba(255,255,255,0)); }
.footerInner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:48px; }
.footerCol h4 { font-size:14px; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:16px; opacity:0.85; }
.footerCol p, .footerCol a { font-size:14px; line-height:1.7; color:rgba(255,255,255,0.75); text-decoration:none; display:block; margin-bottom:8px; }
.footerCol a:hover { color:#fff; }
.footerLogo { width:140px; margin-bottom:16px; fill:#fff;}
.footerSocial { display:flex; gap:16px; margin-bottom:20px; }
.footerSocial img,.footerSocial svg { width:20px; height:20px; opacity:0.75; transition:opacity 200ms ease; fill:#fff; }
.footerSocial a:hover img,.footerSocial a:hover svg { opacity:1; }
.footerLegal { display:flex; flex-wrap:wrap; gap:12px; }
.footerLegal a { font-size:13px; opacity:0.6; }
.footerBottom { margin-top:48px; border-top:1px solid rgba(255,255,255,0.08); padding-top:20px; text-align:center; font-size:13px; opacity:0.6; }
@media(max-width:900px){ .footerInner { grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .footerInner { grid-template-columns:1fr; gap:32px; } }







.wgModalLock{overflow:hidden}
.wgModalWrap{position:fixed;inset:0;display:none;z-index:9999}
.wgModalWrap.is-open{display:block}
.wgModalOverlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:saturate(120%) blur(6px)}
.wgModal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.98);width:min(520px,calc(100vw - 32px));background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.12);border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.18);padding:26px 22px;text-align:center;opacity:0;transition:opacity .18s ease,transform .18s ease}
.wgModalWrap.is-open .wgModal{opacity:1;transform:translate(-50%,-50%) scale(1)}
.wgModalClose{position:absolute;right:12px;top:10px;width:40px;height:40px;border-radius:14px;border:1px solid rgba(0,0,0,.12);background:rgba(255,255,255,.7);cursor:pointer;font-size:22px;line-height:38px}
.wgModalIcon{width:54px;height:54px;margin:2px auto 10px;border-radius:18px;display:grid;place-items:center;font-size:26px;border:1px solid rgba(0,0,0,.12);background:rgba(255,255,255,.65)}
.wgModalTitle{margin:0 0 6px}
.wgModalDesc{margin:0 0 16px}
.wgModalActions{display:flex;justify-content:center;gap:10px}
.wgModalBtn{min-width:130px}
.wgModalWrap.is-error .wgModalIcon{background:rgba(255,255,255,.65)}


