@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-tight-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-tight-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/caveat-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mrs Saint Delafield';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/mrs-saint-delafield-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
[data-theme="light"]{--text:#0B0F14;--text-2:#3E4755;--text-3:#5A6371;--bg:#BFD3DC;--win:rgba(246,248,251,.5);--win-edge:rgba(255,255,255,.55);--tb-fade:rgba(246,248,251,.3);--lg-tint:rgba(255,255,255,.3);--lg-tint-2:rgba(255,255,255,.52);--lg-flat:rgba(255,255,255,.34);--lg-hi:rgba(255,255,255,.95);--lg-lo:rgba(255,255,255,.4);--lg-side:rgba(255,255,255,.45);--lg-edge:rgba(255,255,255,.35);--lg-sheen:rgba(255,255,255,.42);--lg-glow:rgba(255,255,255,.22);--lg-shade:rgba(20,40,60,.12);--lg-shadow:0 1px 2px rgba(15,30,50,.08),0 12px 32px -14px rgba(15,30,50,.32);--thumb:rgba(255,255,255,.82);--hover:rgba(255,255,255,.4);--line:rgba(11,15,20,.08);--line-2:rgba(11,15,20,.16);--chip:rgba(255,255,255,.55);--btn-text:#FFFFFF;--btn-grad:linear-gradient(180deg,#343C48 0%,#0B0F14 100%);--btn-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.5),0 10px 24px -10px rgba(11,15,20,.7);--mb-tint:rgba(255,255,255,.26);--mb-text:#0B0F14;--win-shadow:0 0 0 .5px rgba(0,0,0,.12),0 40px 100px -30px rgba(10,30,50,.55),0 14px 36px -16px rgba(10,30,50,.35);--accent:#0A7CFF;--ok:#1FA855;--err:#E5484D}
[data-theme="dark"]{--text:#F4F6F9;--text-2:#B6BECA;--text-3:#8F99A7;--bg:#1A1D24;--win:rgba(16,19,25,.5);--win-edge:rgba(255,255,255,.1);--tb-fade:rgba(16,19,25,.3);--lg-tint:rgba(255,255,255,.07);--lg-tint-2:rgba(255,255,255,.07);--lg-flat:rgba(255,255,255,.05);--lg-hi:rgba(255,255,255,.34);--lg-lo:rgba(255,255,255,.08);--lg-side:rgba(255,255,255,.12);--lg-edge:rgba(255,255,255,.1);--lg-sheen:rgba(255,255,255,.1);--lg-glow:rgba(255,255,255,.05);--lg-shade:rgba(0,0,0,.4);--lg-shadow:0 1px 2px rgba(0,0,0,.3),0 14px 34px -14px rgba(0,0,0,.7);--thumb:rgba(255,255,255,.16);--hover:rgba(255,255,255,.07);--line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.18);--chip:rgba(255,255,255,.08);--btn-text:#0B0F14;--btn-grad:linear-gradient(180deg,#FFFFFF 0%,#D9DFE7 100%);--btn-shadow:inset 0 1px 0 #FFFFFF,inset 0 -1px 0 rgba(0,0,0,.18),0 10px 24px -10px rgba(0,0,0,.85);--mb-tint:rgba(10,12,16,.28);--mb-text:#F4F6F9;--win-shadow:0 0 0 .5px rgba(255,255,255,.08),0 40px 100px -30px rgba(0,0,0,.8),0 14px 36px -16px rgba(0,0,0,.6);--accent:#3D9BFF;--ok:#34C26B;--err:#FF6B6F}
body{margin:0}
.site{position:relative;min-height:100vh;display:flex;flex-direction:column;box-sizing:border-box;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);background-color:var(--bg);isolation:isolate;-webkit-font-smoothing:antialiased}
.site *,.site *::before,.site *::after{box-sizing:border-box}
/* window enlarged vs. the mockup (owner request): smaller desktop margins, wider max-width */
.stage{flex:1;min-height:0;display:flex;padding:clamp(10px,1.2vw,18px) clamp(10px,1.2vw,20px) clamp(10px,1.4vw,22px)}
.window{position:relative;isolation:isolate;flex:1;min-width:0;width:100%;max-width:1800px;margin:0 auto;display:flex;flex-direction:column;border-radius:26px;box-shadow:var(--win-shadow);overflow:clip}
.window::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--win);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}
.window::after{content:"";position:absolute;inset:0;z-index:60;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 0 var(--lg-hi),inset 0 0 0 1px var(--win-edge),inset 0 -1px 0 0 var(--lg-lo)}
.win-scroll{flex:1;min-height:0;display:flex;flex-direction:column}
.win-scroll > main{flex:1}
@media (min-width:901px){.site{height:100vh;overflow:hidden}.win-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}}
.toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:clamp(10px,1.4vw,18px);padding:14px clamp(14px,2.2vw,26px);isolation:isolate}
.toolbar::before{content:"";position:absolute;inset:0 0 -20px 0;z-index:-1;pointer-events:none;background:linear-gradient(var(--tb-fade),transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.tl{display:flex;gap:8px;flex:none;padding-right:6px}
.tl span{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.2)}
.lg{position:relative;isolation:isolate;box-shadow:var(--lg-shadow)}
.lg::before{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;background:var(--lg-fill,var(--lg-tint-2));-webkit-backdrop-filter:blur(var(--lg-blur,18px)) saturate(1.8) brightness(1.04);backdrop-filter:blur(var(--lg-blur,18px)) saturate(1.8) brightness(1.04)}
.lg::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,var(--lg-sheen) 0%,transparent 40%),radial-gradient(130% 70% at 50% 120%,var(--lg-glow),transparent 62%);box-shadow:inset 0 1px 0 0 var(--lg-hi),inset 0 -1px 0 0 var(--lg-lo),inset 1px 0 0 0 var(--lg-side),inset -1px 0 0 0 var(--lg-side),inset 0 0 0 .5px var(--lg-edge),inset 0 -16px 30px -20px var(--lg-shade)}
.lg-clear{--lg-fill:var(--lg-tint);--lg-blur:10px}
.lg-flat::before{-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);background:var(--lg-flat)}
.lg-over::after{z-index:3}
.display{font-family:'Inter Tight','Inter',system-ui,sans-serif;font-weight:500;letter-spacing:-.035em}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--text-2)}
.ic{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mk{flex:none}
.mk path{fill:none;stroke:currentColor;stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);flex:none}
.logo:hover{color:var(--text)}
.logo-name{font-size:10.5px;font-weight:600;letter-spacing:.3em;line-height:1.45}
.navcap{display:flex;gap:2px;padding:4px;border-radius:999px;margin:0 auto}
.navlink{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border-radius:999px;border:0;background:transparent;color:var(--text-2);text-decoration:none;font:500 14.5px/1 'Inter',system-ui,sans-serif;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s}
.navlink:hover{color:var(--text);background:var(--hover)}
.navlink.on{color:var(--text);background:var(--thumb);box-shadow:inset 0 1px 0 var(--lg-hi),0 1px 2px rgba(0,0,0,.08),0 6px 14px -6px rgba(0,0,0,.25)}
.mnav{display:flex;flex-direction:column;gap:2px;margin:0 12px 12px;padding:8px;border-radius:22px}
.mnav .navlink{min-height:48px;font-size:17px}
.seg{display:inline-flex;gap:2px;padding:4px;border-radius:999px;flex:none}
.seg-btn{min-width:40px;height:36px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--text-3);font:600 12.5px/1 'Inter',sans-serif;letter-spacing:.06em;cursor:pointer;transition:background-color .2s,color .2s}
.seg-btn.on{background:var(--thumb);color:var(--text);box-shadow:inset 0 1px 0 var(--lg-hi),0 1px 2px rgba(0,0,0,.08),0 6px 14px -6px rgba(0,0,0,.25)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:0;background:transparent;color:var(--text);cursor:pointer;flex:none;text-decoration:none;transition:transform .2s}
.icon-btn:hover{transform:translateY(-1px);color:var(--text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;border:0;font:500 15px/1 'Inter',system-ui,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap;color:var(--text);background:transparent;transition:transform .2s,filter .2s}
.btn:hover{transform:translateY(-1px);color:var(--text)}
.btn:active{transform:scale(.98)}
.btn-primary{color:var(--btn-text);background:var(--btn-grad);box-shadow:var(--btn-shadow)}
.btn-primary:hover{color:var(--btn-text);filter:brightness(1.08)}
.btn-sm{min-height:42px;padding:0 20px;font-size:14px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(31,168,85,.22);flex:none}
.chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;font-size:13px;line-height:1;color:var(--text-2);background:var(--chip);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.pad{padding-left:clamp(18px,3.4vw,48px);padding-right:clamp(18px,3.4vw,48px)}
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:18px clamp(18px,3.4vw,48px) 24px;font-size:14px;color:var(--text-2)}
.socials{display:flex;gap:10px}
.mobile-only{display:none}
@media (max-width:1120px){.hide-lg{display:none !important}}
/* phones: the page itself scrolls. The window must grow with its content, otherwise the sticky header stops after the first screen,
   and the open menu is a panel pinned under the header, so it is reachable at any scroll position */
@media (max-width:900px){.win-scroll{display:contents}.win-scroll > main{flex:1 0 auto}.mnav{position:fixed;z-index:50;top:calc(env(safe-area-inset-top,0px) + 86px);left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));margin:0;max-height:calc(100dvh - 110px);overflow:auto;box-shadow:0 24px 60px -20px rgba(0,0,0,.45)}}
@media (max-width:900px){.desk-only{display:none !important}.mobile-only{display:inline-flex}.stage{padding:8px}.window{border-radius:20px}.tl{display:none}}
@media (max-width:420px){.hide-xs{display:none !important}}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){[data-theme="light"]{--win:rgba(244,246,249,.96);--lg-tint:rgba(255,255,255,.8);--lg-tint-2:rgba(255,255,255,.86)}[data-theme="dark"]{--win:rgba(16,19,25,.96);--lg-tint:rgba(40,44,52,.9);--lg-tint-2:rgba(40,44,52,.9)}}
@media (prefers-reduced-motion:reduce){.site *{transition:none !important}}
@media (prefers-reduced-transparency:reduce){[data-theme="light"]{--win:rgba(244,246,249,.97)}[data-theme="dark"]{--win:rgba(16,19,25,.97)}}
a{color:var(--text)}a:hover{color:var(--text-2)}
/* motion */
@keyframes win-in{from{opacity:0;transform:scale(.965) translateY(16px)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:none}}
@keyframes slide-l{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes slide-r{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes drop{from{opacity:0;transform:translateY(-40px) rotate(-10deg)}60%{opacity:1;transform:translateY(6px) rotate(-1.5deg)}to{opacity:1;transform:rotate(-3deg)}}
.window{animation:win-in .7s cubic-bezier(.2,.8,.2,1) backwards}
.toolbar{animation:rise .6s .15s cubic-bezier(.2,.8,.2,1) backwards}
main > section{animation:rise .75s cubic-bezier(.2,.8,.2,1) backwards}
main > section:nth-child(1){animation-delay:.2s}main > section:nth-child(2){animation-delay:.32s}main > section:nth-child(3){animation-delay:.44s}main > section:nth-child(4){animation-delay:.56s}main > section:nth-child(n+5){animation-delay:.66s}
.btn,.navlink,.seg-btn,.icon-btn{transition:transform .25s cubic-bezier(.2,.8,.2,1),background-color .2s,color .2s,filter .2s}
@media (prefers-reduced-motion:reduce){.window,.toolbar,main > section,.card,.lap,.pho,.home-hero,.hero-card,.home-right > *,.home-sticky,.home-badge,.home-socials .icon-btn{animation:none !important}}
html[data-theme="light"] .site{--wall:var(--wallpaper)}
html[data-theme="dark"] .site{--wall:linear-gradient(rgba(5,8,16,.5),rgba(5,8,16,.5)),var(--wallpaper)}
[hidden]{display:none !important}
.btn-primary:hover{transform:translateY(-2px)}
.btn svg{transition:transform .25s}.btn:hover svg{transform:translateX(3px)}
:focus-visible{outline:4px solid rgba(10,124,255,.5);outline-offset:2px}
.field:focus-visible,.seg-btn:focus-visible{outline-offset:0}
.socials .icon-btn:hover,.socials .icon-btn:focus-visible{transform:translateY(-3px) scale(1.1);background:var(--accent);color:#fff;box-shadow:0 10px 20px -8px var(--accent)}.socials .icon-btn:active{transform:translateY(-1px) scale(1.03)}

/* ---- responsive / cross-browser hardening (beyond the mockup) ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
@supports (height:100dvh){.site{min-height:100dvh}@media (min-width:901px){.site{height:100dvh}}}
img,svg{max-width:100%}
@media (max-width:900px){.stage{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom))}}
@media (hover:none){.card:hover,.svc:hover,.ccard:hover,.next:hover,.tile:hover,.btn:hover,.btn-primary:hover,.icon-btn:hover{transform:none}.card:hover img{transform:none}.svc-row:hover{transform:none}}
/* wallpaper on a fixed pseudo-element instead of background-attachment:fixed (iOS Safari ignores it and stretches the image over the whole page) */
.site::before{content:"";position:fixed;inset:0;z-index:-1;background-image:var(--wall);background-size:cover;background-position:center;pointer-events:none}

/* tray badges sit above the messenger icons on the home page */
html[data-page="home"] .tray{bottom:96px}
@media (max-width:900px){html .tray{justify-content:center}html .tray-i{max-width:100%}}
