:root{--paper:#f4f6f9;--paper-2:#e6eaf0;--card:#fff;--ink:#131b28;--ink-2:#2b3445;--muted:#5a6478;--line:#131b281f;--accent:#3d6a9e;--accent-dark:#2c5282;--accent-soft:#3d6a9e24;--accent-light:#a9c1e0;--dark:#131b28;--dark-2:#1c2638;--cream:#f4f6f9;--cream-70:#f4f6f9b3;--cream-line:#f4f6f924;--star:#e3b04b;--display:var(--font-display), Georgia, serif;--serif:var(--font-display), Georgia, serif;--body:var(--font-body), system-ui, -apple-system, sans-serif;--r:14px;--r-lg:22px;--shadow:0 18px 50px -18px #131b2859;--wrap:1200px;--gutter:24px;--ease:cubic-bezier(.2, .8, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:700;line-height:1.05}[hidden]{display:none!important}.wrap{width:100%;max-width:var(--wrap);padding:0 var(--gutter);margin:0 auto}.skip{background:var(--ink);color:var(--cream);z-index:100;border-radius:8px;padding:8px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}:focus-visible{outline:3px solid var(--accent-light);outline-offset:3px}.btn{cursor:pointer;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:12px 22px;font-size:16px;font-weight:600;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s,color .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn svg{fill:currentColor;width:16px;height:16px}.btn--sm{padding:9px 16px;font-size:15px}.btn--lg{padding:16px 30px;font-size:17px}.btn--block{width:100%}.btn--accent{background:var(--accent);color:#fff}.btn--accent:hover{background:var(--accent-dark)}.btn--ink{background:var(--ink);color:var(--cream)}.btn--ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.btn--ghost:hover{background:var(--ink);color:var(--cream)}.btn--light{background:var(--cream);color:var(--ink)}.btn--outline{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#131b2840;box-shadow:inset 0 0 0 1.5px #fffc}.btn--outline:hover{color:var(--ink);background:#fff}.ph{background:repeating-linear-gradient(135deg, #131b280b 0 12px, transparent 12px 24px), var(--paper-2);position:relative;overflow:hidden}.ph:after{content:attr(data-label);text-align:center;font:500 13px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);place-items:center;padding:12px;display:grid;position:absolute;inset:0}.ph>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}.ph>img,.slides__img{color:#0000;text-indent:100%;white-space:nowrap;font-size:0;overflow:hidden}.slides{background:var(--dark-2);position:absolute;inset:0;overflow:hidden}.slides__img{object-fit:cover;opacity:0;will-change:opacity;width:100%;height:100%;transition:opacity 1.4s;position:absolute;inset:0}.slides__img.is-on{opacity:1}.nav{z-index:40;background:var(--dark);color:var(--cream);border-bottom:1px solid #0000;transition:border-color .2s;position:sticky;top:0}.nav.is-scrolled{border-color:var(--cream-line)}.nav__inner{align-items:center;gap:28px;height:76px;display:flex}.logo{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.logo__mark{width:auto;height:34px;display:block}.logo__text{font:700 19px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.logo--light .logo__text{color:var(--cream)}.logo__est{font:500 10px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;opacity:.72;margin-top:5px;display:block}.nav__links{gap:28px;margin-left:auto;display:flex}.nav__links a{color:var(--cream-70);font-size:15px;font-weight:500;text-decoration:none;transition:color .15s}.nav__links a:hover,.nav__links a[aria-current]{color:#fff}.nav__toggle{display:none}.nav__toggle svg,.drawer__close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:24px;height:24px}.nav__toggle,.drawer a,.drawer button{-webkit-tap-highlight-color:transparent}body.drawer-open{overflow:hidden}.drawer{z-index:90;pointer-events:none;display:none;position:fixed;inset:0;overflow:hidden}.drawer.is-open{pointer-events:auto}.drawer__backdrop{opacity:0;background:#131b2880;transition:opacity .3s;position:absolute;inset:0}.drawer.is-open .drawer__backdrop{opacity:1}.drawer__panel{width:min(84vw,360px);padding:14px 22px calc(24px + env(safe-area-inset-bottom));background:var(--dark);color:var(--cream);visibility:hidden;transition:transform .35s var(--ease), visibility 0s .35s;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.drawer.is-open .drawer__panel{visibility:visible;transition-delay:0s;transform:none;box-shadow:-20px 0 50px #0000004d}.drawer__panel:focus{outline:none}.drawer__head{justify-content:space-between;align-items:center;height:50px;margin-bottom:20px;display:flex}.drawer__head .logo__text{color:var(--cream)}.drawer__close{width:44px;height:44px;color:var(--cream);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;margin-right:-8px;padding:0;display:grid}.drawer__close svg{width:22px;height:22px}.drawer__links{flex-direction:column;display:flex}.drawer__links a{color:var(--cream);font:700 24px/1.2 var(--display);letter-spacing:-.01em;border-bottom:1px solid #f4f6f91a;padding:16px 0;text-decoration:none}.drawer__links a:active{color:var(--accent-light)}.drawer__cta{flex-direction:column;gap:10px;margin-top:auto;padding-top:32px;display:flex}.hero{isolation:isolate;color:#fff;background:var(--dark-2);min-height:min(84vh,820px);position:relative}.hslider{position:absolute;inset:0}.hslide{opacity:0;visibility:hidden;align-items:center;padding:96px 0 140px;transition:opacity .9s,visibility 0s linear .9s;display:grid;position:absolute;inset:0}.hslide.is-on{opacity:1;visibility:visible;z-index:1;transition:opacity .9s}.hslide:before{content:"";z-index:1;background:linear-gradient(#131b2873,#131b288c 60%,#131b28b8);position:absolute;inset:0}.hslide__inner{z-index:2;position:relative}.hero__kicker{font:italic 400 clamp(18px, 1.7vw, 23px)/1.4 var(--serif);color:var(--accent-light);text-shadow:0 1px 12px #0006;margin:0 0 18px}.hero__est{vertical-align:2px;font:600 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#fff;text-shadow:none;border:1px solid #ffffff8c;border-radius:999px;margin-right:14px;padding:6px 11px;display:inline-block}.hslide h2{text-shadow:0 2px 24px #00000059;max-width:11em;font-size:clamp(44px,6.4vw,86px);font-weight:600;line-height:1.02}.hero__sub{color:#ffffffe0;text-shadow:0 1px 12px #0006;max-width:36em;margin:22px 0 34px;font-size:clamp(17px,1.6vw,21px)}.hero__ctas{flex-wrap:wrap;gap:12px;display:flex}.hslider__foot{z-index:3;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:30px;display:flex;position:absolute;bottom:0;left:0;right:0}.hslider__arrows{flex:none;gap:10px;padding-bottom:2px;display:flex}.hslider__arrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#131b2859;border:1px solid #fff6;border-radius:50%;place-items:center;width:46px;height:46px;padding:0;font-size:22px;line-height:1;transition:background .15s,border-color .15s;display:grid}.hslider__arrow:hover{background:#131b2899;border-color:#fff}.hslider__tabs{flex:auto;align-items:flex-end;gap:8px;min-width:0;max-width:720px;display:flex}.hslider__tab{cursor:pointer;text-align:left;color:#ffffffb8;min-width:0;font:500 14px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 10px #0006;background:0 0;border:0;flex:1 1 0;padding:12px 24px 0 0;transition:color .2s}.hslider__tab:hover,.hslider__tab.is-on{color:#fff}.hslider__tab>span{padding-bottom:12px;display:block}.hslider__tab-short{display:none}.hslider__bar{background:#ffffff47;height:2px;display:block;position:relative;overflow:hidden}.hslider__bar:after{content:"";transform-origin:0;background:#fff;position:absolute;inset:0;transform:scaleX(0)}.hslider__tab.is-on .hslider__bar:after{animation:hsbar var(--hs-interval,9s) linear forwards}.hslider.is-paused .hslider__bar:after{animation-play-state:paused}@keyframes hsbar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.intro{background:var(--paper);padding:96px 0}.intro h1{max-width:860px;font-size:clamp(30px,3.6vw,48px);font-weight:600}.intro p:not(.kicker){color:var(--muted);max-width:40em;margin:22px 0 0;font-size:19px}.kicker{font:italic 400 24px/1 var(--serif);color:var(--accent);margin:0 0 14px}.section{padding:100px 0}.section__head{max-width:680px;margin-bottom:40px}.section__head h2,.about h2,.contact h2{font-size:clamp(34px,4.2vw,56px);font-weight:600}.section__head p:not(.kicker){color:var(--muted);margin:16px 0 0;font-size:18px}.section__head--light h2{color:var(--cream)}.section__head--light .kicker{color:var(--accent-light)}.also{background:var(--paper-2)}.also__grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.also__item{text-align:left;cursor:pointer;background:var(--card);border-radius:var(--r);border:0;width:100%;padding:0;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden}.also__item:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.also__img{aspect-ratio:4/3;display:block}.also__text{padding:18px 20px 20px;display:block}.also__text strong{font:600 24px/1.15 var(--display);letter-spacing:-.01em;display:block}.also__text>span{color:var(--muted);margin-top:4px;font-size:15px;display:block}.work{background:var(--dark);color:var(--cream)}.gallery{--gap:20px;--per:3;outline:none}.gallery:focus-visible .gallery__view{outline:2px solid var(--accent-light);outline-offset:6px;border-radius:var(--r)}.gallery__view{touch-action:pan-y;overflow:hidden}.projects{gap:var(--gap);transform:translateX(calc((-100% - var(--gap)) * var(--pos,0) / var(--per)));transition:transform .55s cubic-bezier(.22,.61,.36,1);display:flex}.projects.no-anim{transition:none}.project{flex:0 0 calc((100% - var(--gap) * (var(--per) - 1)) / var(--per));border-radius:var(--r);background:var(--card);color:var(--ink);overflow:hidden}.project__img{aspect-ratio:4/3}.project__meta{padding:16px 18px 18px}.project__meta h3{margin:6px 0 2px;font-size:23px;font-weight:600}.project__meta p{color:var(--muted);margin:0;font-size:14px}.tag{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dark);font-size:12px;font-weight:600;display:inline-block}.gallery__nav{justify-content:space-between;align-items:center;gap:20px;padding-top:24px;display:flex}.gallery__dots{gap:8px;display:flex}.gallery__dot{cursor:pointer;background:#f4f6f947;border:0;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.gallery__dot.is-on{background:var(--cream);transform:scale(1.25)}.gallery__arrows{gap:10px;display:flex}.gallery__btn{width:48px;height:48px;color:var(--cream);cursor:pointer;background:0 0;border:1px solid #f4f6f959;border-radius:50%;place-items:center;font-size:20px;transition:background .15s;display:grid}.gallery__btn:hover{background:#f4f6f91f}.work__more{margin:36px 0 0}.gpage{background:var(--dark);color:var(--cream);padding:80px 0 110px}.gpage .section__head{max-width:760px}.gpage .section__head h1{color:var(--cream);font-size:clamp(36px,4.6vw,60px);font-weight:600}.gpage .section__head p:not(.kicker){color:var(--cream-70)}.gfilter{flex-wrap:wrap;gap:8px;margin:0 0 32px;display:flex}.gfilter button{color:var(--cream);font:500 14px/1 var(--body);cursor:pointer;background:0 0;border:1px solid #f4f6f94d;border-radius:999px;padding:10px 16px;transition:background .15s,color .15s,border-color .15s}.gfilter button:hover{border-color:var(--cream)}.gfilter button.is-on{background:var(--cream);color:var(--ink);border-color:var(--cream)}.gfilter button small{opacity:.6;margin-left:7px;font-size:12px}.ggrid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.gtile{width:100%;color:inherit;text-align:left;cursor:zoom-in;border-radius:var(--r);background:0 0;border:0;padding:0;display:block}.gtile__img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:var(--dark-2);width:100%;transition:transform .3s var(--ease), box-shadow .3s;display:block}.gtile:hover .gtile__img,.gtile:focus-visible .gtile__img{transform:translateY(-3px);box-shadow:0 18px 40px -16px #000000b3}.gtile:focus-visible{outline:2px solid var(--accent-light);outline-offset:4px}.gtile__cap{color:var(--cream);margin-top:10px;font-size:15px;line-height:1.35;display:block}.gtile__cap small{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-light);margin-top:3px;font-size:12px;display:block}.gempty{color:var(--cream-70);padding:40px 0}.lb{z-index:90;touch-action:pan-y;place-items:center;padding:72px 80px 90px;display:grid;position:fixed;inset:0}.lb__backdrop{background:#0a0e16f0;animation:.2s both fade;position:absolute;inset:0}.lb__img{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 162px);animation:.25s both pop;position:relative;box-shadow:0 30px 80px #0009}.lb__cap{text-align:center;color:var(--cream);margin:0;padding:0 80px;font-size:15px;position:absolute;bottom:26px;left:0;right:0}.lb__cap small{color:var(--cream-70);margin-top:4px;font-size:13px;display:block}.lb__btn{z-index:2;width:48px;height:48px;color:var(--cream);cursor:pointer;background:#131b2899;border:1px solid #f4f6f959;border-radius:50%;place-items:center;padding:0;font-size:22px;transition:background .15s,color .15s;display:grid;position:absolute}.lb__btn:hover{background:var(--cream);color:var(--ink)}.lb__close{top:16px;right:16px}.lb__prev{top:50%;left:16px;transform:translateY(-50%)}.lb__next{top:50%;right:16px;transform:translateY(-50%)}.about__grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:72px;display:grid}.about__photo{aspect-ratio:4/5;border-radius:var(--r-lg);margin:0}.about h2{margin-bottom:24px}.about blockquote{margin:0}.about blockquote p{font:italic 400 clamp(20px, 2vw, 25px)/1.45 var(--serif);color:var(--ink-2);margin:0}.about cite{font:600 14px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:16px;font-style:normal;display:block}.about__points{gap:0;margin:36px 0 0;padding:0;list-style:none;display:grid}.about__points li{border-top:1px solid var(--line);color:var(--muted);padding:16px 0;font-size:16px}.about__points strong{font:600 22px/1.2 var(--display);color:var(--ink);margin-bottom:2px;display:block}.reviews{background:var(--paper-2)}.reviews__grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.review{background:var(--card);border-radius:var(--r);flex-direction:column;gap:14px;margin:0;padding:28px;display:flex}.stars{color:var(--star);letter-spacing:2px;font-size:15px}.review blockquote{color:var(--ink-2);flex:1;margin:0;font-size:17px;line-height:1.55}.review figcaption{color:var(--muted);font-size:13px;line-height:1.4}.review figcaption strong{color:var(--ink);font-size:15px;display:block}.contact{background:var(--dark);color:var(--cream)}.contact__grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:64px;display:grid}.contact .kicker{color:var(--accent-light)}.contact__info>p{color:var(--cream-70);max-width:32em;font-size:18px}.contact__info h2{margin-bottom:18px}.contact__phone{font:600 clamp(30px, 3.6vw, 44px)/1 var(--display);color:#fff;margin:14px 0 36px;text-decoration:none;display:inline-block}.contact__phone:hover{color:var(--accent-light)}.contact__info h3{font:600 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-light);margin-bottom:10px}.contact__info h3+p{font-size:16px}.contact__form{background:var(--card);color:var(--ink);border-radius:var(--r-lg);padding:34px}.footer{background:var(--dark);color:var(--cream-70);border-top:1px solid var(--cream-line);padding:56px 0 28px;font-size:15px}.footer__grid{grid-template-columns:1.3fr 1fr 1.4fr;gap:40px;display:grid}.footer .logo__text{color:var(--cream)}.footer__tag{color:var(--cream);font:italic 500 19px/1.3 var(--serif);margin:16px 0 6px}.footer h3{color:var(--cream);font-size:15px;font-family:var(--body);letter-spacing:0;margin-bottom:12px}.footer__grid a:not(.logo),.footer__link{margin-bottom:6px;text-decoration:none;display:block}.footer__grid a:hover,.footer__link:hover{color:var(--cream)}.footer__link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.footer__base{border-top:1px solid #f4f6f91a;justify-content:space-between;margin-top:48px;padding-top:22px;font-size:13px;display:flex}.footer__base a{text-decoration:none}.chat{z-index:60;font-size:15px;position:fixed;bottom:22px;right:22px}.chat__launcher{cursor:pointer;background:var(--accent);color:#fff;border:0;border-radius:50%;place-items:center;width:62px;height:62px;transition:transform .2s,background .2s;display:grid;position:relative;box-shadow:0 14px 30px -10px #3d6a9ecc}.chat__launcher:hover{background:var(--accent-dark);transform:scale(1.06)}.chat__launcher svg{width:26px;height:26px;transition:transform .25s,opacity .25s;position:absolute}.i-chat{fill:currentColor}.i-close{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;opacity:0;transform:rotate(-90deg)}.chat.is-open .i-chat{opacity:0;transform:rotate(90deg)}.chat.is-open .i-close{opacity:1;transform:none}.chat__launcher:after{content:"";border:2.5px solid var(--paper);background:#3aa35b;border-radius:50%;width:14px;height:14px;position:absolute;top:3px;right:3px}.chat.is-open .chat__launcher:after{display:none}.chat__teaser{background:var(--card);width:250px;box-shadow:var(--shadow);cursor:pointer;border-radius:16px 16px 4px;padding:14px 16px;animation:.35s both pop;position:absolute;bottom:76px;right:0}.chat__teaser p{margin:0;padding-right:10px;font-size:14px;line-height:1.45}.chat__teaser p strong{display:block}.chat__teaser-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:18px;position:absolute;top:4px;right:6px}.chat__panel{background:var(--card);transform-origin:100% 100%;border-radius:20px;flex-direction:column;width:370px;height:min(580px,100vh - 120px);animation:.25s both pop;display:flex;position:absolute;bottom:78px;right:0;overflow:hidden;box-shadow:0 30px 70px -20px #131b2880}.chat__head{background:var(--ink);color:var(--cream);align-items:center;gap:12px;padding:14px 14px 14px 16px;display:flex}.chat__head>div{flex:1;line-height:1.3}.chat__head strong{font-family:var(--display);font-size:19px;font-weight:700;display:block}.chat__head div span{color:#f4f6f9a6;font-size:12px}.online{vertical-align:1px;background:#3aa35b;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.chat__mark{background:var(--ink);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:inset 0 0 0 1px #f4f6f92e}.chat__mark img{width:78%;height:auto}.chat__mark--lg{border-radius:16px;width:56px;height:56px}.chat__restart,.chat__close{color:#f4f6f9b3;cursor:pointer;background:0 0;border:0;border-radius:8px;width:34px;height:34px;font-size:22px}.chat__restart{font-size:18px}.chat__restart:hover,.chat__close:hover{color:var(--cream);background:#f4f6f91a}.chat__body{background:var(--paper);flex-direction:column;flex:1;gap:10px;padding:18px 16px 20px;display:flex;overflow-y:auto}.msg{background:var(--card);border:1px solid var(--line);border-radius:16px 16px 16px 4px;max-width:85%;padding:10px 14px;line-height:1.45;animation:.25s both rise}.msg--me{background:var(--ink);color:var(--cream);border:0;border-radius:16px 16px 4px;align-self:flex-end}.typing{gap:4px;padding:14px 16px;display:inline-flex}.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1s infinite blink}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.choices{flex-wrap:wrap;gap:8px;animation:.3s both rise;display:flex}.choice{border:1.5px solid var(--accent);color:var(--accent-dark);background:var(--card);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;transition:all .15s}.choice:hover{background:var(--accent);color:#fff}.choice--big{text-align:left;border-color:var(--line);width:100%;color:var(--ink);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.choice--big:hover{border-color:var(--accent);background:var(--card);color:var(--ink);box-shadow:0 6px 18px -8px #3d6a9e80}.choice--big .ic{background:var(--accent-soft);border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.choice--big strong{font-size:15px;display:block}.choice--big small{color:var(--muted);font-size:13px}.choice--solid{background:var(--accent);border-color:var(--accent);color:#fff;justify-content:center;font-size:16px;font-weight:600}.choice--solid:hover{background:var(--accent-dark);color:#fff}.chat-form{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;animation:.3s both rise}.chat-form .field{gap:4px;margin-bottom:12px}.chat-form .field label,.chat-form .field legend{font-size:13px}.chat-form .field input,.chat-form .field textarea{border-radius:10px;padding:10px 12px}.chat-form .field textarea{min-height:72px}.chat-form .seg span{padding:8px;font-size:14px}.chat-form .form__error{font-size:13px}.chat-form .btn{padding:13px 18px}.modal{z-index:80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#131b288c;animation:.2s both fade;position:absolute;inset:0}.modal__card{background:var(--card);border-radius:24px;width:100%;max-width:580px;max-height:calc(100vh - 40px);padding:34px;animation:.3s both pop;position:relative;overflow-y:auto;box-shadow:0 40px 90px -20px #00000080}.modal__close{background:var(--paper-2);cursor:pointer;z-index:2;border:0;border-radius:50%;width:38px;height:38px;font-size:22px;position:absolute;top:14px;right:14px}.modal__close:hover{background:var(--paper)}.modal__intro{align-items:center;gap:16px;margin-bottom:26px;padding-right:36px;display:flex}.modal__intro h2{font-size:27px}.modal__intro p{color:var(--muted);margin:4px 0 0;font-size:15px}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0 0 16px;padding:0;display:flex}.field label,.field legend{padding:0;font-size:14px;font-weight:600}.field em{color:var(--muted);font-style:normal;font-weight:400}.row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1.5px solid #0000;border-radius:12px;padding:12px 14px;font-size:16px;transition:border-color .15s,background .15s}.field textarea{resize:vertical;min-height:96px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23131b28' stroke-width='2'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.field :is(input,select,textarea):focus:not(.is-invalid){border-color:var(--accent);background:#fff;outline:0}.field .is-invalid,.field .is-invalid:focus{background:#fff5f3;border-color:#c33b2b}.seg{gap:8px;margin-top:4px;display:flex}.seg label{cursor:pointer;flex:1;position:relative}.seg input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}.seg span{text-align:center;background:var(--paper);border:1.5px solid #0000;border-radius:10px;padding:10px;font-size:15px;font-weight:500;transition:all .15s;display:block}.seg input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.seg input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.hp{position:absolute;left:-9999px}.form__error{color:#c33b2b;margin:0 0 12px;font-size:14px}.form__alt{text-align:center;color:var(--muted);margin:14px 0 0;font-size:14px}.form__alt a{color:var(--ink);font-weight:600}form.is-sending button[type=submit]{opacity:.6;pointer-events:none}.sent{text-align:center;padding:20px 0 6px}.sent__check{color:#fff;background:#3aa35b;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 20px;font-size:34px;animation:.4s both pop;display:grid}.sent h2{font-size:32px}.sent p{color:var(--ink-2);max-width:26em;margin:12px auto 26px}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.slides__img,.hslide,.projects{transition:none}.hslider__bar:after{display:none}}@media (max-width:1080px){.about__grid{gap:48px}.contact__grid{gap:40px}}@media (max-width:900px){.nav__links,.nav__call{display:none}.nav__toggle{width:44px;height:44px;color:var(--cream);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;margin-left:auto;margin-right:-8px;padding:0;display:grid}.nav__toggle:active{background:#f4f6f91a}.drawer{display:block}.hero{min-height:min(78vh,680px)}.hslide{padding:72px 0 120px}.hslider__arrows{display:none}.hslider__tabs{max-width:none}.intro{padding:72px 0}.section{padding:80px 0}.also__grid{grid-template-columns:1fr 1fr}.gallery{--per:2}.about__grid,.contact__grid{grid-template-columns:1fr}.about__photo{aspect-ratio:1;max-width:460px}.about__photo>img{object-position:50% 12%}.reviews__grid{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr 1fr}.footer__grid>div:first-child{grid-column:span 2}.ggrid{grid-template-columns:1fr 1fr;gap:16px}.gpage{padding:64px 0 80px}}@media (max-width:600px){.chat__teaser{display:none}body{font-size:16px}:root{--gutter:16px}.nav__inner{gap:10px;height:64px}.logo__text{letter-spacing:.04em;font-size:15px}.logo__est{margin-top:4px;font-size:9px}.hero__est{margin:0 0 10px;display:table}.logo__mark{height:28px}.logo{gap:9px}.hero{min-height:600px}.hslide{padding:56px 0 100px}.hslide h2{font-size:42px}.hero__sub{margin:16px 0 26px;font-size:16px}.hero__ctas{flex-direction:column}.hero__ctas .btn{width:100%}.hslider__foot{padding-bottom:22px}.hslider__tabs{gap:6px}.hslider__tab{letter-spacing:.04em;padding:8px 10px 0 0;font-size:11px}.hslider__tab>span{padding-bottom:8px}.hslider__tab-long{display:none}.hslider__tab-short{display:inline}.intro h1{font-size:28px}.intro p:not(.kicker){font-size:17px}.section{padding:64px 0}.also__grid{grid-template-columns:1fr;gap:14px}.gallery{--per:1;--gap:14px}.gallery__btn{width:42px;height:42px}.about__points strong{font-size:20px}.review{padding:22px}.contact__form{border-radius:18px;padding:22px 18px}.contact__phone{margin-bottom:28px}.footer__grid{grid-template-columns:1fr}.footer__grid>div:first-child{grid-column:auto}.footer__base{flex-direction:column;gap:8px}.gpage{padding:48px 0 64px}.ggrid{gap:12px}.gtile__cap{font-size:13px}.gfilter{margin-bottom:24px}.lb{padding:64px 10px 128px}.lb__img{max-height:calc(100vh - 192px)}.kicker{font-size:20px}.lb__cap{padding:0 16px;bottom:82px}.lb__prev,.lb__next{top:auto;bottom:20px;transform:none}.lb__prev{left:20px}.lb__next{right:20px}.chat{bottom:14px;right:14px}.chat__panel{width:auto;height:auto;position:fixed;inset:8px 8px 84px}.modal{align-items:flex-end;padding:0}.modal__card{border-radius:22px 22px 0 0;max-height:94vh;padding:26px 20px 22px}.modal__intro h2{font-size:22px}.row{grid-template-columns:1fr;gap:0}}
