/* Bootstrap .container keeps the ASP.NET template gutters and breakpoints. */
html { scroll-behavior:smooth; scroll-padding-top:110px }
.landing-body { --red:#c10000; --landing-button-font-size:22px; margin:0; background:#fff; color:#000; font:16px/1.2 'Roboto',Arial,sans-serif }
.landing-body *, .landing-body *::before, .landing-body *::after { box-sizing:border-box }
.landing-body [hidden] { display:none!important }
.landing-body a { color:inherit; text-decoration:none }
.landing-body :where(button) { font:inherit }
.landing-body img { display:block; object-fit:contain }
.landing-body h1,.landing-body h2,.landing-body h3,.landing-body h4,.landing-body p { margin:0 }
.landing-body h2 { font-size:clamp(36px,4.7vw,64px); line-height:.98; font-weight:500 }
.landing-body h3 { font-size:clamp(25px,3vw,42px); line-height:1.08; font-weight:500 }
.landing-body a:focus-visible,.landing-body button:focus-visible,.landing-body summary:focus-visible { outline:3px solid #ec7070; outline-offset:5px }
.gradient-text { color:#760000; background:linear-gradient(100deg,#000 0%,#500000 34%,#c10000 69%,#e9a2a2 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent }
.skip-link { position:fixed; top:-100px; left:20px; z-index:100; padding:15px; background:#fff }
.skip-link:focus { top:10px }
.landing-header { position:sticky; top:0; z-index:30; background:#fff }
.landing-navigation { display:flex; align-items:center; min-height:100px }
.landing-logo { flex:0 1 210px; min-width:0; padding-right:30px; margin-right:auto }
.landing-logo img { width:100%; max-width:180px; height:48px }
.landing-menu { display:flex; align-items:center; gap:22px; font-size:16px; font-weight:500; white-space:nowrap }
.landing-menu>a:hover { color:var(--red) }
.landing-resource-links { display:flex; margin-left:14px }
.resource-link { min-height:56px; display:flex; align-items:center; justify-content:center; padding:12px 14px; background:#fff; border:1px solid #000; border-right:0; font-weight:500; color:#000 }
.landing-account { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:56px; padding:12px 20px; background:#000; border:1px solid #000; color:#fff!important; font-size:16px; font-weight:500; white-space:nowrap }
.landing-account img { width:24px; height:26px; filter:invert(1) }
.landing-account:hover { background:var(--red) }
.landing-user-menu form { margin:0 }
.landing-menu-toggle { display:none }
.landing-section { padding-block:60px }
.landing-button { display:flex; align-items:center; justify-content:space-between; width:min(100%,540px); min-height:90px; gap:25px; padding:20px 30px 20px 55px; border:0; border-radius:0; background:#000; color:#fff!important; font-size:var(--landing-button-font-size); font-weight:500; text-align:center; transition:background-color .2s,color .2s }
.landing-button>span:first-child { flex:1 }
.landing-button__arrow { width:40px; height:40px; flex:0 0 40px; fill:none; stroke:currentColor; stroke-width:2 }
.landing-button:hover { background:var(--red) }
.landing-button--gradient { background:linear-gradient(100deg,#000 0%,#c10000 61%,#e9a2a2 100%) }
.landing-button--gradient:hover { background:linear-gradient(100deg,#350000,#c10000 80%) }
.landing-button--white { color:#000!important; background:#fff }
.landing-button--white:hover { background:#f6dada }
.landing-body button:disabled { cursor:not-allowed }
.align-end { margin-top:30px; margin-left:auto }
/* The viewport bounds horizontal overflow; the Bootstrap containers never clip the city. */
.landing-hero { position:relative; isolation:isolate; min-height:935px; padding-top:50px; padding-bottom:80px; overflow:visible }
.landing-hero h1 { position:relative; z-index:2; width:fit-content; margin:-.15em 0 24px; padding-top:.15em; font-size:clamp(40px,4.9vw,70px); line-height:.95; font-weight:500 }
.landing-hero__subtitle { position:relative; z-index:2; font-size:clamp(30px,3.35vw,46px); font-weight:500; line-height:1 }
.landing-hero__content { position:relative; z-index:3; width:49%; margin-top:54px }
.landing-features-frame { position:relative; min-height:490px }
.landing-features-frame__outline { position:absolute; inset:0; width:100%; height:100%; overflow:visible }
.landing-benefits { position:relative; display:flex; flex-direction:column; margin:0; padding:20px 12% 20px 6%; list-style:none; min-height:490px }
.landing-benefits li { padding:26px 0; position:relative }
.landing-benefits li+li::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,#000,#c10000,transparent) }
.landing-benefits strong { display:block; font-size:22px; line-height:1.04; font-weight:700 }
.landing-benefits span { display:block; margin-top:10px; font-size:17px; font-weight:500 }
.landing-hero__content>.landing-button { width:83%; margin-top:30px; padding-left:25px }
.landing-city { position:absolute; z-index:1; left:38%; top:155px; width:108%; pointer-events:none; overflow:visible }
.landing-city__image { width:100%; height:auto; transform:scaleX(-1) }
.city-pin { position:absolute; width:34px; height:34px; border:8px solid #c100008c; border-radius:50%; background:#d00000; background-clip:padding-box; box-shadow:0 0 0 1px #ff000080; pointer-events:auto; cursor:pointer }
.city-pin::after { content:''; position:absolute; inset:2px; border:1px solid #fff; border-radius:50% }
.city-pin>span { position:absolute; left:50%; bottom:calc(100% + 30px); width:245px; padding:20px 18px; border:1px solid #bbb; color:#fff; background:linear-gradient(110deg,#000d,#323232c7); box-shadow:0 12px 15px #0003; font-size:18px; font-weight:500; line-height:1.15; transform:translate(-50%,8px); opacity:0; visibility:hidden; transition:opacity .25s,transform .25s,visibility .25s }
.city-pin:hover>span,.city-pin:focus-visible>span,.city-pin.is-active>span { opacity:1; transform:translate(-50%,0); visibility:visible }
.city-pin--sauna { left:27%; top:24% }.city-pin--loft { left:51%; top:23% }.city-pin--hotel { left:19%; top:49% }.city-pin--rental { left:51%; top:55% }
.transformation { border-block:1px solid #999 }
.transformation h2 { position:relative; max-width:1000px }
.transformation__subtitle { margin:28px 0 30px!important; text-align:right }
.comparison { display:grid; grid-template-columns:42.5% 57.5%; gap:20px 0 }
.comparison>div { padding:22px; min-height:170px }
.comparison p { font-size:24px; font-weight:500; line-height:1.04 }
.comparison__problem { border:1px solid #f0eded; border-right:0 }
.comparison__problem>* { transition:opacity .5s ease }
.comparison__solution { position:relative; z-index:1; overflow:hidden; background:var(--red); color:#fff; transition:margin-left .5s ease }
.comparison__solution>p,.comparison__solution>.comparison__icon { position:relative; z-index:1 }
.comparison__decoration { position:absolute; inset:0; pointer-events:none; opacity:0; transform:translateX(32px); transition:opacity .5s ease,transform .5s ease }
.comparison__decoration svg { position:absolute; top:12%; right:6%; width:14%; height:76%; transform:rotate(16deg) }
.comparison__decoration svg:first-child { top:22%; right:27%; width:10%; height:56%; opacity:.5; transform:rotate(-16deg) }
.comparison__solution:focus-visible { margin-left:-29.2%; outline:3px solid #ec7070; outline-offset:3px }
.comparison__solution:focus-visible .comparison__decoration { opacity:.24; transform:translateX(0) }
.comparison__problem:has(+.comparison__solution:focus-visible)>* { opacity:.1 }
@media (hover:hover) and (pointer:fine) {
.comparison__problem:hover+.comparison__solution,.comparison__solution:hover { margin-left:-29.2% }
.comparison__problem:hover+.comparison__solution .comparison__decoration,.comparison__solution:hover .comparison__decoration { opacity:.24; transform:translateX(0) }
.comparison__problem:hover>*,.comparison__problem:has(+.comparison__solution:hover)>* { opacity:.1 }
}
.comparison__icon { display:flex; align-items:center; justify-content:center; width:60px; height:60px; margin-bottom:20px; font-size:42px; line-height:1; background:#000; color:#fff }
.comparison__solution .comparison__icon { background:#fff; color:var(--red); font-size:40px }
.feature-browser { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:55px }
.feature-tabs { display:grid; grid-template-columns:1fr 1fr; gap:28px }
.feature-tab { position:relative; display:flex; padding:0; min-height:200px; text-align:left; border:0; background:transparent }
.feature-tab>img { position:absolute; top:-35px; right:22px; width:120px; height:120px; transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1) }
.feature-tab__surface { position:relative; display:flex; flex-direction:column; justify-content:space-between; width:100%; padding:26px 26px 22px; background:#790000; clip-path:polygon(0 0,24% 0,36% 17%,100% 17%,100% 100%,0 100%); font-size:22px; font-weight:500; line-height:1.04; isolation:isolate; transition:color .5s cubic-bezier(.4,0,.2,1) }
.feature-tab__surface::before { content:''; position:absolute; inset:1px; z-index:-1; background:#fff; transition:opacity .5s cubic-bezier(.4,0,.2,1); clip-path:polygon(0 0,23.7% 0,35.7% 17%,100% 17%,100% 100%,0 100%) }
.feature-tab__surface::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(120deg,#c10000 25%,#9c0000 60%,#000); opacity:0; transition:opacity .5s cubic-bezier(.4,0,.2,1) }
.feature-tab__number { font-size:46px; line-height:1; font-weight:400; color:var(--red); transition:color .5s cubic-bezier(.4,0,.2,1) }
.feature-tab[aria-selected=true] .feature-tab__surface { color:#fff }
.feature-tab[aria-selected=true] .feature-tab__surface::before { opacity:0 }
.feature-tab[aria-selected=true] .feature-tab__surface::after { opacity:1 }
.feature-tab[aria-selected=true] .feature-tab__number { color:#fff }
.feature-tab[aria-selected=true]>img { opacity:0; transform:translateY(25px) }
.feature-stage { position:relative; display:grid; grid-template-rows:1fr auto; background:linear-gradient(155deg,#c10000 35%,#ab0000 58%,#000 100%); color:#fff }
.feature-panel { grid-area:1/1 }
.feature-stage.is-ready .feature-panel { opacity:0; visibility:hidden; transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility .5s }
.feature-stage.is-ready .feature-panel.is-active { opacity:1; visibility:visible }
.feature-panel header { position:relative; display:flex; gap:35px; align-items:center; min-height:128px; padding:30px; border-bottom:1px solid #ffffff80 }
.feature-panel__number { font-size:46px }
.feature-panel header h3 { position:relative; z-index:1; max-width:48%; font-size:22px; line-height:1.05 }
.feature-panel header img { position:absolute; width:43%; height:auto; top:-58px; right:14px }
.feature-panel dl { margin:0; padding:10px 12% 0 17% }
.feature-panel dl>div { padding:23px 0 }
.feature-panel dl>div+div { border-top:1px solid #ffffff4d }
.feature-panel dt { font-size:23px; font-weight:500; margin-bottom:9px }
.feature-panel dd { font-size:18px; line-height:1.08; margin:0 }
.slider-controls { display:flex; gap:2px }
.slider-controls button { display:flex; align-items:center; justify-content:center; width:50%; height:76px; background:#fff; color:#000; border:0; font-size:48px; font-weight:400; line-height:1 }
.slider-controls button:disabled { color:#ddd; cursor:default }
.slider-controls button:hover:not(:disabled) { color:var(--red) }
.feature-controls { grid-area:2/1; margin:12px 20px 20px }
.feature-controls svg { width:36px; height:36px; fill:currentColor }
.feature-controls button { transition:color .5s cubic-bezier(.4,0,.2,1) }
.implementation { padding-top:20px }
.implementation__process { position:relative; min-height:450px; margin-top:50px }
.implementation__steps { position:relative; z-index:2; list-style:none; padding:0 0 0 112px; margin:0; width:54% }
.implementation__steps li { position:relative; min-height:118px }
.implementation__steps li::before { content:''; position:absolute; width:26px; height:26px; border-radius:50%; top:0; left:-82px; background:var(--red) }
.implementation__steps li:not(:last-child)::after { content:''; position:absolute; width:1px; background:#000; left:-69px; top:26px; height:calc(100% - 26px) }
.implementation__steps li:nth-child(2)::before { background:#920000 }.implementation__steps li:nth-child(3)::before { background:#550000 }.implementation__steps li:last-child::before { background:#000 }
.implementation__steps h3 { font-size:24px; margin-bottom:9px }.implementation__steps p { font-size:18px; line-height:1.06 }
.implementation__skyline { position:absolute; width:172%; max-width:none; height:auto; left:39.5%; bottom:0; transform:translateY(24%); pointer-events:none }
.implementation__promises { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:28px }
.promise { display:flex; flex-direction:column; justify-content:flex-end; padding:25px; min-height:200px }
.promise h3 { font-size:24px; line-height:1; margin-bottom:10px }.promise p { font-size:18px; line-height:1.04 }
.promise:nth-child(2) { grid-column:3 }.promise:nth-child(3),.promise:nth-child(6) { grid-column:4 }
.promise--red { background:linear-gradient(130deg,#c10000 35%,#000); color:#fff }.promise--black { background:#000; color:#fff }.promise--outline { background:#fff; border:1px solid var(--red); color:#930000 }
.implementation__cta { margin:28px 0 0 25.5% }
.about-band { background:radial-gradient(ellipse at 80% 0%,#cf0000,transparent 60%),linear-gradient(60deg,#000,#c10000 75%); color:#fff }
.about { position:relative }.about h2 { font-size:clamp(35px,4.6vw,64px) }
.about__subtitle { margin:42px 0 46px 25.5%!important; max-width:66% }
.about__card { position:relative; background:#fff; color:#000; padding:40px 30px 30px }
.about__card::before { content:''; position:absolute; top:-82px; left:0; width:340px; height:84px; background:#fff; clip-path:polygon(0 0,72% 0,100% 100%,0 100%) }
.about__logo { position:absolute; top:-62px; left:30px; width:200px; height:54px }
.about__experience { display:grid; grid-template-columns:34% 66%; align-items:start; padding:0 24px 55px }
.about__experience strong,.about__stats strong { display:block; font-size:68px; font-weight:700; line-height:1 }
.about__experience span { display:block; font-size:24px; font-weight:500 }.about__experience b,.about__experience li { font-size:23px }
.about__experience ul { margin:8px 0 0; padding-left:25px; max-width:650px }
.about__stats { display:grid; grid-template-columns:repeat(3,1fr); gap:30px }
.about__stats>div { display:flex; flex-direction:column; justify-content:flex-end; min-height:290px; padding:26px; border:1px solid #f0eeee; color:var(--red) }
.about__stats>div:nth-child(2) { background:radial-gradient(ellipse at 100% 0%,#000 0%,#c10000 12%,transparent 50%) }
.about__stats>div:last-child { position:relative; z-index:3; background:linear-gradient(130deg,#e9a2a2,#c10000 48%,#000); color:#fff }
.about__stats span { font-size:23px; font-weight:500 }
.about__mascot { position:absolute; top:150px; right:2%; width:25%; height:auto; z-index:2 }
@media (min-width:992px) {
.about__card { padding-top:25px }
.about__experience { padding-bottom:0 }
}
.about__puzzle { position:absolute; pointer-events:none }.about__puzzle--black { width:105px; height:auto; top:3px; right:5%; transform:rotate(-12deg); filter:blur(4px) }.about__puzzle--red { width:140px; height:auto; bottom:-48px; left:24%; transform:rotate(20deg); filter:blur(4px) }
.about>.landing-button { position:relative; margin-top:30px }
.cases__cta { margin-top:20px }
.case-next .slider-controls svg { width:36px; height:36px; fill:currentColor }
.case-next .slider-controls button { transition:background-color .2s,color .2s }
.landing-body.is-lead-dialog-open { overflow:hidden }
.lead-dialog { width:min(1340px,calc(100% - 40px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:60px 70px; border:0; color:#000; background:radial-gradient(ellipse at 100% 0%,#000 0%,#c10000 24%,transparent 58%),#fff; overflow-x:hidden; overflow-y:auto }
.lead-dialog::backdrop { background:#000b }
.lead-dialog[open] { animation:landing-reveal .25s ease-out }
.lead-dialog__content { position:relative; z-index:1; width:46% }
.lead-dialog h2 { font-size:46px; line-height:1.06; font-weight:500 }
.lead-dialog__content>p { margin-top:8px; font-size:23px; line-height:1.08; font-weight:500 }
.lead-dialog__image { position:absolute; width:57.5%; height:auto; right:-5.5%; bottom:-35px; pointer-events:none }
.lead-dialog__close { position:absolute; z-index:2; top:44px; right:60px; display:grid; place-items:center; width:44px; height:44px; padding:6px; border:0; color:#fff; background:transparent; cursor:pointer }
.lead-dialog__close svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2 }
.lead-dialog.lead-dialog--submitted { min-height:min(var(--lead-dialog-height),calc(100dvh - 40px)) }
.lead-dialog--submitted[open] { display:flex; align-items:center }
.lead-dialog--submitted .lead-dialog__content { text-align:center }
.lead-form { display:flex; flex-direction:column; margin-top:30px }
.lead-form label { font-size:18px; font-weight:500 }
.lead-form label>span,.lead-form__required { color:var(--red) }
.lead-form input,.lead-form textarea { width:100%; min-width:0; margin:8px 0 24px; padding:10px 18px; border:0; border-bottom:1px solid #000; border-radius:0; background:transparent; color:#000; font:inherit; font-size:18px; line-height:1.3 }
.lead-form textarea { min-height:48px; resize:vertical }
.lead-form input::placeholder,.lead-form textarea::placeholder { color:#777; opacity:1 }
.lead-form input:focus-visible,.lead-form textarea:focus-visible { outline:2px solid var(--red); outline-offset:3px }
.lead-form .lead-form__required { margin:8px 0 28px; font-size:16px }
.lead-form .landing-button { width:100% }
.lead-form .landing-button:disabled { background:#999; color:#555!important }
.lead-form .lead-form__status { margin-top:14px; font-size:15px; line-height:1.3 }
.lead-form__status a { text-decoration:underline }
@media (max-width:991.98px) {
.lead-dialog { padding:40px; width:calc(100% - 32px) }
.lead-dialog__content { width:55% }
.lead-dialog h2 { font-size:34px }
.lead-dialog__content>p { font-size:18px }
.lead-dialog__close { top:20px; right:20px }
.lead-dialog__image { width:48% }
}
@media (max-width:767.98px) {
.lead-dialog { padding:56px 24px 28px; background:#fff }
.lead-dialog__content { width:100% }
.lead-dialog__image { display:none }
.lead-dialog__close { top:10px; right:10px; color:#000 }
.lead-dialog h2 { font-size:30px }
}
.case-browser { display:grid; grid-template-columns:3.2fr 1fr; gap:30px; margin-top:45px }
.case-card { position:relative; min-height:660px; isolation:isolate; background:linear-gradient(110deg,#000,#c10000 78%); color:#fff; overflow:hidden }
.case-card header { position:relative; z-index:2; display:flex; align-items:stretch; min-height:84px }
.case-card header>span { display:grid; place-items:center; width:15%; font-size:36px }
.case-card h3 { display:flex; align-items:center; width:85%; padding:20px 35px 20px 8%; background:#fff; color:#000; font-size:23px; font-weight:700; clip-path:polygon(0 0,100% 0,100% 100%,7% 100%) }
.case-card__copy { position:relative; z-index:2; width:51%; padding:30px 0 28px 50px }
.case-card__copy>div { padding:18px 0 25px }.case-card__copy>div+div { border-top:1px solid #ffffff70 }
.case-card h4 { font-size:23px; font-weight:500; margin-bottom:12px }
.case-card p,.case-card li { font-size:18px; line-height:1.12 }.case-card ul { margin:0; padding-left:18px }.case-card li+li { margin-top:5px }
.case-card__image { position:absolute; z-index:1; width:76%; height:auto; max-width:none; right:-21%; bottom:-10% }
.case-next { display:flex; flex-direction:column; min-width:0 }
.case-next__preview { --preview-image-width:100%; --preview-image-top:4%; flex:0 0 auto; width:100%; aspect-ratio:314/566; position:relative; padding:0; border:0; background:#000; color:#fff; overflow:hidden; text-align:left }
.case-next__preview[data-preview-image="billiards-photo.webp"] { --preview-image-width:168%; --preview-image-top:-35% }
.case-next__preview[data-preview-image="hotel-photo.webp"] { --preview-image-width:110%; --preview-image-top:2% }
.case-next__preview img { width:var(--preview-image-width); height:auto; max-width:none; position:absolute; top:var(--preview-image-top); left:0 }
.case-next__preview span { display:block; position:absolute; z-index:1; top:0; left:0; right:0; padding:30px 27px; background:linear-gradient(#000,#0000); font-size:23px; font-weight:500 }
.case-next .slider-controls { margin-top:28px }.slider-controls--black button { background:#000; color:#fff }.slider-controls--black button:hover { background:#c10000; color:#fff!important }
.reviews-band { border-block:1px solid #999; background:radial-gradient(ellipse at 100% 0%,#a00000 0%,#ef9393 9%,transparent 37%) }
.review-stage { position:relative; margin-top:45px }
.review { display:grid; grid-template-columns:31% 57.5%; justify-content:space-between; gap:30px }
.review__photo { position:relative; width:76% }.review__photo::after { content:''; position:absolute; inset:0; background:linear-gradient(155deg,transparent 65%,#d5000077) }
.review__photo>img { width:100%; height:100%; min-height:380px; max-height:440px; object-fit:cover }
.review__content header { display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:80px; border-bottom:1px solid #eee; margin-bottom:30px }
.review__brand { position:relative; width:160px; min-height:64px }.review__brand-name { display:block; font-size:44px; font-weight:300; letter-spacing:.02em; line-height:1 }.review__brand-region { display:block; text-align:right; padding-right:8px; font-size:10px }.review__brand small { display:block; font-size:8px; letter-spacing:.15em }
.review__location { border-left:1px solid #eee; padding-left:30px; max-width:220px; font-size:18px }
.review blockquote { position:relative; margin:0; min-height:210px; font-size:18px; line-height:1.1 }.review blockquote::before { content:'“'; position:absolute; left:-115px; top:-28px; font:150px Georgia,serif }.review blockquote p+p { margin-top:20px }
.review footer { display:flex; align-items:center; gap:20px; padding-top:25px; padding-right:125px; min-height:112px }.review footer img { width:84px; height:84px; object-fit:cover }.review footer strong { display:block; font-size:24px; font-weight:500 }.review footer span { display:block; font-size:18px; color:#777; margin-top:8px }
.review-controls { position:absolute; display:flex; right:7%; bottom:20px }.review-controls button { display:grid; place-items:center; border:0; background:transparent; color:#000; line-height:1; padding:4px }.review-controls svg { display:block; width:48px; height:48px; fill:currentColor }.review-controls button:hover { color:var(--red) }
.pricing__intro { margin-top:48px; font-size:24px; font-weight:500; line-height:1.1 }
.pricing__details { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:60px }
.pricing__factors { margin:40px 0 0 }.pricing__factors>div { position:relative; padding-left:112px; margin:26px 0 }.pricing__factors>div>span { position:absolute; left:26px; top:0; font-size:38px; color:var(--red); line-height:1 }.pricing__factors dt { font-size:23px; font-weight:500; margin-bottom:8px }.pricing__factors dd { font-size:18px; line-height:1.05; margin:0 }
.pricing__visual { position:relative }.pricing__visual>img { position:absolute; top:-155px; right:1%; width:94%; height:auto; transform:rotate(-5deg) }.pricing__visual aside { position:absolute; bottom:0; width:100%; padding:120px 55px 45px; background:linear-gradient(130deg,#ed9292,#c10000 50%,#000); color:#fff; clip-path:polygon(0 20%,50% 20%,56% 0,100% 0,100% 100%,0 100%) }.pricing__visual aside h3 { position:absolute; top:25px; right:45px }.pricing__visual aside p { font-size:24px; line-height:1.08 }
.pricing__payment { margin-top:50px; padding:50px; border:1px solid #ddd; background:radial-gradient(ellipse at 100% 0,#c10000,transparent 33%),radial-gradient(ellipse at 0 100%,#ee4444,transparent 25%) }
.payment-model { display:flex; align-items:center; gap:45px; margin:32px 0 52px; max-width:940px; color:var(--red) }.payment-model>div { border:1px solid #c16e6e; min-height:180px; padding:25px; flex:1 }.payment-model>span { font-size:42px; font-weight:700 }.payment-model h4 { font-size:44px; line-height:1; font-weight:500 }.payment-model p { font-size:24px; line-height:1; margin-top:10px }
.pricing__payment>p { margin:12px 0 28px; font-size:23px; line-height:1.08 }
.contact-band { background:linear-gradient(30deg,#090000,#9d0000 34%,#c10000 74%); color:#fff }
.faq>h3 { margin-top:28px }.faq__list { margin-top:48px }.faq details { border-top:1px solid #ffffff70 }.faq summary { display:grid; grid-template-columns:42.5% 57.5%; list-style:none; cursor:pointer; font-size:23px; padding:30px 0 }.faq summary::-webkit-details-marker { display:none }.faq summary:hover { color:#ffdada }.faq details>p { width:57.5%; margin:-5px 0 30px auto; font-size:18px; line-height:1.15 }
.faq__more { display:grid; grid-template-columns:42.5% 50% 7.5%; margin-top:110px; align-items:start }.faq__more h3 { font-size:42px }.faq__more p { max-width:590px; font-size:23px; line-height:1.02 }.faq__more>span { justify-self:end; line-height:1 }.faq__more svg { display:block; width:48px; height:48px; fill:currentColor }
.consultation { position:relative; padding-bottom:30px }.consultation__card { position:relative; min-height:390px; margin-top:55px; background:#fff; color:#000 }.consultation__card>div { position:relative; z-index:2; width:54%; padding:48px 50px }.consultation__card p,.consultation__card li { font-size:24px; line-height:1.1; font-weight:500 }.consultation__card p span { color:#850000 }.consultation__card ul { margin:18px 0 45px; padding-left:32px }.consultation__card>img { position:absolute; bottom:0; right:0; width:50%; height:auto }
.contact-card { display:grid; grid-template-columns:1fr 216px; border:1px solid #ffffffaa }.contact-card>div:first-child { padding:48px }.contact-card h3 { margin-bottom:26px }.contact-card__address { display:block; width:fit-content; font-size:46px; font-weight:500; margin-top:16px }.contact-card__address:hover { text-decoration:underline }
.contact-socials { display:grid; border-left:1px solid #ffffffaa }.contact-socials>a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; padding:32px 16px; color:#fff; font-size:32px; font-weight:500 }.contact-socials>a:hover span { text-decoration:underline }
.landing-footer__legal { display:flex; justify-content:space-between; gap:25px; padding:46px 0; font-size:23px }.landing-footer__legal a:hover { text-decoration:underline }.landing-footer__wordmark { display:block; width:100%; height:auto; margin-bottom:0; color:#ffffff12; fill:currentColor }.landing-footer__wordmark text { font-family:Roboto,Arial,sans-serif; font-size:200px; font-weight:500 }
@media (min-width:1200px) and (max-width:1399.98px) {
.landing-menu { font-size:14px; gap:18px }.landing-account { font-size:14px; padding-inline:15px; gap:15px }.landing-resource-links { margin-left:15px }.resource-link { padding-inline:10px }
.landing-hero { min-height:895px }.landing-benefits strong { font-size:20px }.landing-benefits span { font-size:16px }
.feature-tab__surface { font-size:19px }.feature-panel header h3 { font-size:20px }.feature-panel dl { padding-left:12%; padding-right:10% }.feature-panel dd { font-size:17px }
.case-card__copy { padding-left:30px }.case-card p,.case-card li { font-size:17px }
.about__experience b,.about__experience li,.about__stats span { font-size:20px }.pricing__visual aside { padding-inline:40px }.pricing__visual aside p,.consultation__card p,.consultation__card li { font-size:21px }.landing-footer__legal { font-size:19px }
}
@media (max-width:1199.98px) {
.landing-body { --landing-button-font-size:20px }
.landing-navigation { min-height:82px; gap:20px; position:relative }.landing-logo { margin-right:auto }.landing-menu-toggle { display:flex; flex-direction:column; gap:6px; order:3; padding:12px; border:1px solid #000; background:#fff }.landing-menu-toggle span { display:block; width:24px; height:2px; background:#000 }
.landing-menu { display:none; position:absolute; left:12px; right:12px; top:100%; padding:25px; background:#fff; border:1px solid #000; align-items:stretch; box-shadow:0 12px 20px #0001 }.landing-menu.is-open { display:flex; flex-direction:column }.landing-resource-links { margin:0; gap:15px }.resource-link { border:1px solid #000 }
.landing-body h2 { font-size:48px }.landing-hero { min-height:830px; padding-top:45px }.landing-hero h1 { font-size:48px }.landing-hero__subtitle { font-size:34px }.landing-hero__content { width:54%; margin-top:35px }.landing-city { left:43%; width:108%; top:140px }.landing-benefits strong { font-size:20px }.landing-benefits span { font-size:16px }.landing-hero__content>.landing-button { width:90%; padding-inline:22px }
.landing-button { min-height:76px; padding:18px 26px }.comparison p { font-size:21px }.feature-tab { min-height:190px }.feature-tabs { gap:24px 20px }.feature-tab__surface { font-size:18px; padding:25px 18px 18px }.feature-tab__number,.feature-panel__number { font-size:38px }.feature-panel header { padding:22px; gap:20px }.feature-panel header h3 { font-size:19px }.feature-panel dl { padding-inline:32px }.feature-panel dt { font-size:21px }.feature-panel dd { font-size:16px }
.implementation__steps { width:58%; padding-left:80px }.implementation__steps li::before { left:-62px }.implementation__steps li::after { left:-49px!important }.implementation__steps h3 { font-size:22px }.implementation__steps p { font-size:16px }.implementation__skyline { left:42% }.implementation__promises { gap:20px }.promise { padding:20px }.promise h3 { font-size:22px }.promise p { font-size:16px }
.about__mascot { top:160px }.about__experience { padding-inline:0 }.about__experience b,.about__experience li,.about__experience span,.about__stats span { font-size:18px }.about__stats { gap:20px }.about__stats>div { min-height:220px; padding:20px }.about__stats strong,.about__experience strong { font-size:56px }
.case-card { min-height:630px }.case-card h3 { font-size:19px }.case-card__copy { width:57%; padding-left:25px }.case-card p,.case-card li { font-size:16px }.case-card h4 { font-size:22px }.case-card__image { right:-28% }.case-next__preview span { font-size:20px; padding:22px }
.review { grid-template-columns:27% 65% }.review__photo { width:100% }.review blockquote::before { font-size:95px; left:-62px; top:-12px }.review blockquote,.review__location { font-size:16px }.review footer strong { font-size:22px }.review footer span { font-size:16px }.review-controls { right:0 }
.pricing__intro { font-size:20px }.pricing__factors>div { padding-left:75px }.pricing__factors>div>span { left:15px }.pricing__factors dt { font-size:21px }.pricing__factors dd { font-size:16px }.pricing__visual aside { padding:105px 30px 35px }.pricing__visual aside p { font-size:20px }.pricing__visual>img { top:-100px }.payment-model h4 { font-size:36px }
.faq summary { font-size:21px }.faq__more h3 { font-size:34px }.faq__more p { font-size:20px }.consultation__card>div { padding:35px }.consultation__card p,.consultation__card li { font-size:20px }.consultation__card>img { width:54% }.contact-card__address { font-size:38px }.landing-footer__legal { font-size:16px }
}
@media (max-width:991.98px) {
.landing-body h2 { font-size:40px; line-height:1.03 }.landing-hero { min-height:1140px }.landing-hero h1 { font-size:42px; max-width:650px }.landing-hero__subtitle { font-size:32px }.landing-hero__content { width:66% }.landing-city { width:112%; left:22%; top:625px }.transformation__subtitle { text-align:left; font-size:31px!important }.comparison>div { padding:20px }.comparison p { font-size:19px }
.feature-browser { grid-template-columns:1fr; gap:55px }.feature-tabs { grid-template-columns:repeat(3,1fr) }.feature-tab { min-height:165px }.feature-panel header img { width:31% }.feature-panel header h3 { max-width:50%; font-size:23px }.feature-panel dl { padding:15px 45px }.feature-panel dl>div { padding-block:22px }.feature-panel dd { font-size:18px }
.implementation__process { min-height:700px }.implementation__steps { width:90% }.implementation__skyline { left:9%; bottom:-25px; width:132%; transform:none }.implementation__promises { grid-template-columns:repeat(3,1fr) }.promise:nth-child(n) { grid-column:auto }.promise h3 { font-size:21px }.implementation__cta { margin-inline:auto }
.about__subtitle { font-size:29px!important; margin-left:25%!important }.about__card::before { width:215px; height:62px; top:-60px }.about__logo { width:150px; top:-48px; left:20px; height:38px }.about__mascot { top:168px; width:26%; right:0 }.about__experience { grid-template-columns:1fr; gap:25px }.about__experience>div:last-child { max-width:74% }.about__stats { gap:12px }.about__stats>div { min-height:185px; padding:17px }.about__stats strong { font-size:45px }.about__stats span { font-size:16px }
.case-browser { grid-template-columns:1fr; gap:20px }.case-card { min-height:560px }.case-card__copy { width:51% }.case-card__image { right:-20% }.case-next__preview { display:none }.case-next .slider-controls { margin-top:0; margin-left:auto; width:35% }
.review { grid-template-columns:26% 64%; gap:20px }.review__photo>img { min-height:320px }.review__content header { margin-bottom:22px }.review__brand { width:130px }.review__brand-name { font-size:36px }.review__location { padding-left:18px }.review footer { padding-right:80px; gap:15px }.review footer img { width:60px; height:60px }.review-controls { bottom:25px }.review-controls svg { width:36px; height:36px }.faq__more svg { width:36px; height:36px }
.pricing__details { grid-template-columns:1fr }.pricing__factors { display:grid; grid-template-columns:1fr 1fr; gap:15px }.pricing__factors>div { padding-left:48px }.pricing__factors>div>span { left:0 }.pricing__factors br { display:none }.pricing__visual { min-height:430px; margin-top:25px }.pricing__visual>img { top:0; width:61%; right:0 }.pricing__visual aside { width:66%; padding:100px 32px 32px }.pricing__payment { padding:32px }.payment-model { gap:24px }.payment-model h4 { font-size:32px }.payment-model p { font-size:20px }
.faq summary { grid-template-columns:15% 85% }.faq details>p { width:85% }.faq__more { grid-template-columns:1fr 1.2fr 35px; gap:20px; margin-top:70px }.faq__more h3 { font-size:30px }.faq__more p { font-size:18px }
.consultation__card { margin-top:38px }.consultation__card>div { width:68% }.consultation__card>img { width:47%; right:0 }.consultation__card p,.consultation__card li { font-size:18px }.consultation__card .landing-button { width:80%; padding-inline:18px }
.contact-card { grid-template-columns:1fr 160px }.contact-card>div:first-child { padding:32px }
}
@media (max-width:767.98px) {
.landing-body { --landing-button-font-size:18px }
.landing-button__arrow { width:32px; height:32px; flex-basis:32px }.review-controls svg,.faq__more svg { width:36px; height:36px }
html { scroll-padding-top:85px }.landing-body h2 { font-size:34px; line-height:1.06 }.landing-body h3 { font-size:27px }.landing-section { padding-block:42px }.landing-navigation { min-height:76px; gap:12px }.landing-logo { padding-right:0; flex-basis:140px }.landing-logo img { height:40px }.landing-account { font-size:14px; gap:12px; min-height:44px; padding:10px 14px }.landing-account img { width:19px; height:22px }.landing-menu-toggle { padding:10px }
.landing-hero { padding-top:30px; min-height:1190px }.landing-hero h1 { font-size:38px; line-height:1 }.landing-hero__subtitle { font-size:27px }.landing-hero__content { width:100%; margin-top:30px }.landing-features-frame,.landing-benefits { min-height:440px }.landing-benefits { padding-right:16% }.landing-benefits li { padding-block:24px }.landing-hero__content>.landing-button { width:83%; min-height:76px }.landing-city { width:130%; left:-6%; top:760px }.city-pin { width:25px; height:25px; border-width:5px }.city-pin>span { font-size:15px; width:185px; padding:15px 10px; bottom:calc(100% + 18px) }
.transformation__subtitle { font-size:28px!important }.comparison { grid-template-columns:44% 56%; gap:12px 0 }.comparison>div { padding:15px; min-height:160px }.comparison p { font-size:17px }.comparison p br { display:none }.comparison__icon { width:44px; height:44px; font-size:34px; margin-bottom:16px }.comparison__solution .comparison__icon { font-size:30px }.landing-button { min-height:70px; }
.feature-tabs { grid-template-columns:1fr 1fr }.feature-tab { min-height:170px }.feature-tab__surface { font-size:20px }.feature-tab>img { width:104px; height:104px }.feature-panel header img { top:-40px }.feature-panel header h3 { font-size:20px }
.implementation__process { min-height:640px }.implementation__steps { padding-left:60px; width:100% }.implementation__steps li::before { left:-48px; width:22px; height:22px }.implementation__steps li::after { left:-37px!important; top:22px!important; height:calc(100% - 22px)!important }.implementation__steps p br { display:none }.implementation__promises { grid-template-columns:1fr 1fr; gap:18px }.promise { min-height:180px }
.about h2 { font-size:32px }.about__subtitle { font-size:26px!important; max-width:80%; margin:30px 0 84px!important }.about__mascot { top:222px; width:28% }.about__puzzle--black { width:70px; right:0; top:100px }.about__card { padding:28px 20px 20px }.about__experience { padding-bottom:28px }.about__experience>div:last-child { max-width:100% }.about__experience li br { display:none }.about__experience strong { font-size:54px }.about__stats { grid-template-columns:1fr; gap:16px }.about__stats>div { min-height:150px }.about__stats span { font-size:20px }.about__puzzle--red { width:80px; left:4%; bottom:15px }.about>.landing-button { width:78%; padding-inline:15px }
.case-card { min-height:770px }.case-card__copy { width:83%; padding:15px 0 220px 24px }.case-card__copy>div { padding-block:18px }.case-card__image { width:65%; right:-4%; bottom:-3%; opacity:.95 }.case-card h3 { font-size:19px }.case-next .slider-controls { width:50% }
.review { grid-template-columns:1fr }.review__photo { width:100%; height:240px }.review__photo>img { min-height:0; object-position:center 55% }.review__content { padding-left:40px }.review blockquote { min-height:0 }.review blockquote::before { left:-42px; font-size:76px }.review footer { padding-right:80px; padding-bottom:10px }.review-controls { bottom:28px }
.pricing__intro { font-size:18px; margin-top:30px }.pricing__intro br { display:none }.pricing__details { margin-top:35px }.pricing__factors { grid-template-columns:1fr; margin-top:24px; gap:0 }.pricing__factors>div { margin:16px 0; padding-left:62px }.pricing__factors dt { font-size:22px }.pricing__factors dd { font-size:17px }.pricing__visual { min-height:470px }.pricing__visual>img { width:78% }.pricing__visual aside { width:92%; padding-top:100px }.pricing__visual aside h3 { font-size:32px }.pricing__visual aside p { font-size:19px }.pricing__payment { padding:26px }.payment-model { gap:16px; margin-block:25px 35px }.payment-model>div { padding:18px 12px; min-height:155px }.payment-model h4 { font-size:25px }.payment-model p { font-size:18px }.payment-model>span { font-size:28px }.pricing__payment>p { font-size:18px }
.faq>h3 { font-size:25px }.faq summary { grid-template-columns:12% 88%; padding-block:24px; font-size:19px }.faq details>p { width:88%; font-size:17px }.faq__more { grid-template-columns:1fr 35px; margin-top:55px }.faq__more h3 { grid-column:1; font-size:28px }.faq__more p { grid-column:1 }.faq__more>span { grid-column:2; grid-row:1/3; align-self:center }
.consultation__card { min-height:550px }.consultation__card>div { width:100%; padding:30px }.consultation__card>img { width:62%; right:0 }.consultation__card .landing-button { width:85%; position:relative; z-index:2 }.consultation__card ul { margin-bottom:28px }
.contact-card { grid-template-columns:1fr }.contact-card>div:first-child { padding:28px }.contact-card__address { font-size:32px }.contact-socials { border:0; border-top:1px solid #ffffffaa }.contact-socials>a { flex-direction:row }.landing-footer__legal { flex-direction:column; padding-block:32px; gap:16px; font-size:16px }
}
@media (max-width:575.98px) {
.landing-body { --landing-button-font-size:16px }
.landing-body h2 { font-size:clamp(28px,7.4vw,38px) }.landing-navigation { gap:8px }.landing-account { font-size:14px; padding-inline:10px; gap:8px }.landing-account img { display:none }
.landing-hero { min-height:1120px }.landing-hero h1 { font-size:clamp(32px,8.5vw,45px) }.landing-hero__subtitle { font-size:24px }.landing-benefits strong { font-size:19px }.landing-benefits span { font-size:16px }.landing-hero__content>.landing-button { width:92%; padding-inline:15px }.landing-city { top:785px; left:-3%; width:115% }.city-pin>span { width:150px; font-size:14px }
.comparison p { font-size:16px }.comparison>div { padding:13px }.feature-tab__surface { font-size:17px; padding-inline:17px }.feature-tabs { gap:24px 16px }.feature-panel dl { padding-inline:25px }.feature-panel header h3 { font-size:19px }.feature-panel dd { font-size:17px }.feature-panel header img { width:37% }.feature-controls { margin-inline:12px }
.implementation__process { min-height:610px }.implementation__skyline { width:120%; left:3%; bottom:-15px }.promise { padding:18px }.promise h3 { font-size:20px }.promise p { font-size:16px }.about__subtitle { font-size:23px!important }.about__mascot { top:216px; right:4%; width:31% }.case-card__copy { width:91%; padding-left:22px }.case-card__image { width:80%; right:-12% }.case-card h3 { font-size:18px; padding-right:15px }
.pricing__payment { padding:22px }.payment-model { gap:13px }.payment-model h4 { font-size:22px }.payment-model>div { padding:16px 10px }.pricing__visual { min-height:425px }.pricing__visual aside { width:100%; padding-inline:25px }.pricing__visual aside p { font-size:17px }.consultation__card>div { padding:25px }.consultation__card>img { width:72% }.contact-card>div:first-child { padding:24px }.contact-card__address { font-size:30px }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto }.landing-body *,.landing-body *::before,.landing-body *::after { animation:none!important; transition:none!important } }
.comparison__icon svg,.pricing__factors svg { width:32px; height:32px; display:block }

/* Only the viewport clips horizontal overflow, preserving both container side gutters. */
.landing-body { overflow-x:clip }
.contact-socials img { width:46px; height:46px; object-fit:contain; filter:none }
.contact-socials .aqba-symbol { width:64px; height:92px; filter:brightness(0) invert(1) }
@media (max-width:575.98px) { .contact-socials img { width:36px; height:36px } }
[data-slide]:not([hidden]) { animation:landing-reveal .28s ease-out }
@keyframes landing-reveal { from { opacity:.3 } to { opacity:1 } }
@media (max-width:991.98px) { .landing-hero { min-height:0; padding-bottom:35px }.landing-city { position:relative; top:auto; margin-top:-80px } }
@media (max-width:767.98px) { .landing-city { margin-top:5px }.landing-hero { padding-bottom:15px } }
@media (max-width:575.98px) { .landing-account { white-space:normal; max-width:190px; text-align:center }.promise h3 { font-size:18px }.promise { overflow-wrap:break-word } }
