@font-face{font-family:BPGNino;src:url(/fonts/bpg_nino_mtavruli_normal.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+10D0-10F6,U+10FB}
@font-face{font-family:BPGNino;src:url(/fonts/bpg_nino_mtavruli_bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+10D0-10F6,U+10FB}
@font-face{font-family:Noto;src:url(/fonts/noto-georgian.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+2D00-2D2F}
@font-face{font-family:Noto;src:url(/fonts/noto-latin.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BE,U+2122,U+2190-2193,U+2212,U+2215}
:root{--navy:#0f172a;--navy-2:#1e293b;--text:#0f172a;--muted:#475569;--line:#e2e8f0;--tint:#f1f5f9;--white:#fff;--red:#c81e1e;--red-dark:#a51818;--red-soft:#fdecec;--r:14px;--r-sm:10px;--shadow:0 1px 2px rgb(15 23 42/.05),0 12px 32px -12px rgb(15 23 42/.16);--gutter:clamp(16px,4vw,40px);--header-height:76px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--white);color:var(--text);font:400 1.0625rem/1.7 BPGNino,Noto,system-ui,sans-serif;overflow-wrap:break-word}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;touch-action:manipulation}
p,h1,h2,h3{margin:0}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,.fact strong{font-family:BPGNino,Noto,sans-serif;font-weight:700;text-wrap:balance}
h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.12}
h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2}
h3{font-size:1.25rem;line-height:1.35}
:focus-visible{outline:3px solid #2563eb;outline-offset:2px;border-radius:4px}
::selection{background:var(--red);color:#fff}
.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:12px;top:-60px;background:var(--navy);color:#fff;padding:8px 16px;z-index:50}
.skip:focus{top:12px}
.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.muted{color:var(--muted)}

.top{position:absolute;top:0;left:0;right:0;z-index:20;background:transparent;border:0}
.home-top+main .hero .hero-copy{padding-top:calc(clamp(64px,9vw,128px) + var(--header-height))}
.top-dark .lang{color:#fff}
.top-light .lang{color:var(--text)}
.top-row{display:flex;align-items:center;gap:clamp(12px,2vw,28px);min-height:76px}
.brand{margin-right:auto;flex:0 1 auto;min-width:0;color:var(--navy);text-decoration:none}
.top-dark .brand,.foot .brand-logo{color:#fff}
.brand-logo{display:flex;align-items:center;gap:10px}
.brand-logo-mark{width:48px;height:48px;flex:none}
.brand-logo-name{font-family:Noto,sans-serif;font-size:1.0625rem;font-weight:650;line-height:1.2;letter-spacing:0;white-space:nowrap}

.foot .brand-logo-mark{width:56px;height:56px}
.brand-break-sm{display:none}
.foot .brand-logo-name{font-size:1.1875rem}
.menu{display:none}
.nav-desk{display:flex;align-items:center;gap:3px;margin-right:clamp(4px,1vw,12px);padding:4px;border:1px solid rgb(255 255 255/.34);border-radius:999px;background:rgb(15 23 42/.5);box-shadow:0 8px 24px rgb(15 23 42/.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.top nav a{position:relative;display:flex;align-items:center;gap:4px;min-height:44px;padding:0 16px;border:1px solid transparent;border-radius:999px;color:#e2e8f0;text-decoration:none;font-weight:500;transition:color .15s,background-color .15s,box-shadow .15s}
.nav-desk>a:hover,.nav-desk .nav-parent:hover,.nav-desk .nav-group:focus-within .nav-parent{background:rgb(255 255 255/.12);color:#fff}
.nav-desk>a::after,.nav-parent::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .22s ease-out}
.nav-desk>a::after,.nav-desk .nav-parent::after{display:none}
.nav-desk a[aria-current]{border-color:transparent;background:linear-gradient(120deg,#df332a,#b91f18);box-shadow:0 3px 14px rgb(200 30 30/.3);color:#fff;font-weight:600}
.chev{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.nav-group{position:relative}
.nav-group:hover .chev,.nav-group:focus-within .chev{transform:rotate(180deg)}
.nav-desk .nav-sub{position:absolute;left:0;top:100%;width:280px;padding:8px;background:rgb(15 23 42/.9);border:1px solid rgb(255 255 255/.25);border-radius:20px;box-shadow:var(--shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s}
.nav-desk .nav-group:hover .nav-sub,.nav-desk .nav-group:focus-within .nav-sub{opacity:1;visibility:visible;transform:none}
.nav-sub a{border-radius:var(--r-sm);line-height:1.35;padding-block:6px!important}
.nav-sub a:hover{background:rgb(255 255 255/.12);color:#fff}
.lang{display:flex;align-items:center;min-height:44px;padding:0 8px;color:var(--text);font-size:.9375rem;font-weight:500;text-decoration:none}
.lang:hover{color:var(--red)}
.top-dark .lang:hover{color:#fff}
.top-call{min-height:44px;padding:0 16px;white-space:nowrap}
.top-call .ico{width:18px;height:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:1px solid var(--red);border-radius:var(--r-sm);background:var(--red);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:background-color .15s,border-color .15s}
.btn:hover{background:var(--red-dark);border-color:var(--red-dark)}
.btn-ghost{background:transparent;border-color:rgb(255 255 255/.55)}
.btn-secondary{background:#fff;border-color:#94a3b8;color:var(--navy)}
.btn-secondary:hover{background:var(--tint);border-color:var(--navy)}
.btn-status{background:#fff;border-color:#fff;color:var(--navy)}
.btn-status svg{flex:none;color:var(--red)}
.btn-status:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn-status:hover svg{color:#fff}
.btn-ghost:hover{background:rgb(255 255 255/.12);border-color:#fff}
.link{display:inline-flex;align-items:center;min-height:44px;color:var(--red);font-weight:600;text-decoration:none}
.link:hover{text-decoration:underline;text-underline-offset:4px}

.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.hero-img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:70% 50%;opacity:.75}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--navy) 0 28%,rgb(15 23 42/.78) 55%,rgb(15 23 42/.1))}
.hero-copy{padding-block:clamp(64px,9vw,128px) clamp(104px,11vw,168px)}
.hero h1{max-width:13em}
.hero p{margin-top:20px;max-width:36em;font-size:clamp(1.0625rem,1.5vw,1.25rem);color:#e2e8f0}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.facts{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-56px}
.fact{display:flex;align-items:center;gap:14px;min-width:0;padding:20px}
.fact>div{min-width:0}
.fact>.ico{width:26px;height:26px;color:var(--red)}
.fact span{display:block;font-size:.9375rem;line-height:1.35;color:var(--muted)}
.fact strong{display:block;font-size:1.125rem;line-height:1.35}

.section{padding-block:clamp(56px,7vw,96px)}
.tint{background:var(--tint)}
.head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin-bottom:32px}
.cards-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.service{position:relative;padding:clamp(24px,3vw,36px)}
.service .link{gap:10px;margin-top:12px}
.badge{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;background:var(--red-soft);color:var(--red)}
.badge .ico{width:24px;height:24px}
.service h3{margin-top:20px}
.service .muted{margin-top:10px}
.checks{margin-top:16px}
.checks li{position:relative;padding:10px 0 10px 32px;border-top:1px solid var(--line);line-height:1.5}
.checks li::before{content:"";position:absolute;left:4px;top:16px;width:14px;height:8px;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center}
.rounded{width:100%;border-radius:var(--r);box-shadow:var(--shadow)}
.lead{margin-top:14px;color:var(--muted)}
.points{display:grid;gap:20px;margin-block:28px 16px}
.points li{display:flex;gap:16px}
.points .muted{margin-top:2px;line-height:1.55}

.cards-post{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.post{overflow:hidden;border-radius:20px;background:#fff;transition:transform .18s,box-shadow .18s}
.post:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgb(15 23 42/.14)}
.post a{display:flex;flex-direction:column;height:100%;text-decoration:none}
.post img,.post-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--tint)}
.post-placeholder{display:block;background:radial-gradient(circle at 82% 18%,rgb(200 30 30/.16),transparent 34%),linear-gradient(135deg,#f1f5f9,#e2e8f0)}
.post-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:20px 22px 22px}
.post-date{color:var(--muted);font-size:.8125rem;font-weight:600}
.post strong{margin-top:8px;padding:0;color:var(--text);font-size:1.125rem;line-height:1.45;font-weight:700}
.post-excerpt{margin-top:10px;color:var(--muted);font-size:.9375rem;line-height:1.6}
.post .link{margin-top:auto;padding:16px 0 0}

.cta{padding-bottom:clamp(56px,7vw,96px)}
.tint+.cta,.section+.cta{padding-top:0}
.cta-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px}
.cta-box>div:first-child{flex:1 1 380px}
.cta{color:#fff}
.cta .cta-box{background:var(--navy);border-radius:var(--r);max-width:calc(1200px - 2*var(--gutter));padding:clamp(28px,5vw,56px);width:calc(100% - 2*var(--gutter))}
.cta p{margin-top:10px;color:#cbd5e1}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}

.foot{background:var(--navy);color:#cbd5e1;font-size:1rem;padding-top:56px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 2fr;gap:32px}
.foot-grid p{margin-top:12px}
.foot nav{display:grid;justify-items:start}
.foot nav a{display:flex;align-items:center;min-height:44px;text-decoration:none}
.foot nav a:hover{color:#fff}
.foot address{font-style:normal}
.foot address a{display:inline-flex;align-items:center;min-height:44px}
.foot-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin-top:32px;padding-block:20px;border-top:1px solid var(--navy-2);font-size:.9375rem;color:#94a3b8}
.foot-credit{flex:0 1 340px;min-width:0;margin-left:auto;text-align:right}
.foot-credit a{display:inline-flex;align-items:center;max-width:100%;min-height:44px;text-decoration:none}
.foot-credit-mark{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #475569;border-radius:12px;color:#e2e8f0;background:rgb(255 255 255/.04);font:700 .8125rem/1 system-ui,sans-serif;letter-spacing:-.06em;transition:border-color .25s ease,background-color .25s ease}
.foot-credit-reveal{max-width:300px;min-width:0;margin-left:12px;overflow:hidden;opacity:1;text-align:left;transition:max-width .3s ease,opacity .2s ease,margin-left .3s ease}
.foot-credit-reveal strong{color:#e2e8f0;font-weight:500}
.foot-credit a:hover .foot-credit-mark,.foot-credit a:focus-visible .foot-credit-mark{border-color:#94a3b8;background:rgb(255 255 255/.1)}
.foot-credit a:hover{color:#fff}

.page-head{background:var(--navy);color:#fff;padding:0 0 clamp(44px,6vw,80px);padding-top:calc(clamp(44px,6vw,80px) + var(--header-height));margin-bottom:clamp(40px,5vw,64px)}
.about-head h1,.blog-head h1{font-size:clamp(2.2rem,4.8vw,3.7rem)}
.about-head .wrap>p:last-child,.blog-head .wrap>p:last-child{max-width:48rem;margin-top:12px;color:#cbd5e1;font-size:clamp(1rem,1.4vw,1.2rem)}
.with-side{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,5vw,72px);padding-bottom:clamp(56px,7vw,96px)}
.about-page .side a{min-height:46px;padding-inline:14px;border:1px solid transparent;color:var(--muted);transition:background-color .15s,color .15s,border-color .15s}
.about-page .side a:hover,.about-page .side a:focus-visible{border-color:rgb(200 30 30/.14);background:var(--red-soft);color:var(--red-dark)}
.about-page .stack{max-width:46rem;padding:clamp(24px,3vw,36px);border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.about-page .stack+.stack{margin-top:24px}
.about-page .stack h2{margin-bottom:20px}
.about-page .clients li{display:grid;min-height:112px;place-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.about-page .clients img{max-width:100%;max-height:80px;object-fit:contain}
.blog-page .cards-post{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.blog-empty{padding:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--muted);box-shadow:var(--shadow)}
.side{position:sticky;top:96px;align-self:start;display:grid;gap:2px}
.side a{display:flex;align-items:center;min-height:44px;padding:4px 12px;border-radius:var(--r-sm);line-height:1.35;font-weight:500;text-decoration:none}
.side a:hover{background:var(--tint)}
.about-page .side a[aria-current="location"]{border-color:rgb(200 30 30/.14);background:var(--red-soft);color:var(--red-dark);font-weight:700}
.stack{max-width:46rem}
.stack+.stack{margin-top:clamp(40px,5vw,64px)}
.stack h2{margin-bottom:16px;font-size:clamp(1.5rem,2.4vw,2rem)}
.cert{margin:28px 0 0;width:min(300px,100%)}
.cert img{border-radius:var(--r-sm);box-shadow:var(--shadow)}
.cert figcaption{margin-top:10px;font-size:.9375rem;color:var(--muted)}
.section-tight{padding-bottom:clamp(56px,7vw,96px)}
.section-tight>h2{margin-bottom:24px;font-size:clamp(1.5rem,2.4vw,2rem)}
.clients{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:20px;align-items:center}
.band{background:var(--tint);padding-block:clamp(56px,7vw,96px)}
.band h2{margin-bottom:24px}
.table-scroll{overflow-x:auto;border-radius:var(--r);box-shadow:var(--shadow)}
.tariffs{width:100%;min-width:680px;border-collapse:collapse;background:var(--white)}
.tariffs th,.tariffs td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.5}
.tariffs thead th{background:var(--navy);color:#fff;font-weight:600;font-size:.9375rem}
.tariffs td:not(:first-child),.tariffs th:not(:first-child){white-space:nowrap;font-variant-numeric:tabular-nums}
.services-head h1{font-size:clamp(2.2rem,4.8vw,3.7rem)}
.services-head .wrap>p:last-child{max-width:48rem;margin-top:12px;color:#cbd5e1;font-size:clamp(1rem,1.4vw,1.2rem)}
.services-catalog .cards-2{gap:clamp(18px,2.5vw,28px)}
.services-catalog .service{position:relative;display:flex;flex-direction:column;min-height:100%;overflow:hidden;padding:clamp(28px,3.5vw,44px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fff,#fbfcfe);box-shadow:0 12px 34px rgb(15 23 42/.08)}
.services-catalog .service::before{position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--red),rgb(200 30 30/.15));content:""}
.services-catalog .service .badge{width:56px;height:56px;border-radius:16px}
.services-catalog .service h3{max-width:28ch;margin-top:24px;font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.35}
.services-catalog .service .muted{margin-top:12px}
.services-catalog .checks{margin-top:22px}
.pricing-band{border-top:1px solid var(--line);background:#f7f9fc}
.pricing-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:24px}
.pricing-eyebrow{margin-bottom:5px;color:var(--red);font-size:.8125rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.pricing-heading h2{margin:0}
.pricing-heading>p{max-width:38rem;color:var(--muted)}
.pricing-band .table-scroll{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.pricing-band .tariffs{border-spacing:0}
.pricing-band .tariffs thead th{padding-block:18px;background:var(--navy-2)}
.pricing-band .tariffs tbody tr:nth-child(even){background:#f8fafc}
.pricing-band .tariffs tbody tr:last-child td{border-bottom:0}
.article-head{padding:calc(28px + var(--header-height)) 0 clamp(64px,8vw,96px);background:var(--navy);color:#fff}
.article-head .wrap{max-width:920px}
.article-back{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:#cbd5e1;font-size:.9375rem;font-weight:600;text-decoration:none}
.article-back::before{content:"←";color:#fca5a5;font-size:1.2rem;transition:transform .15s}
.article-back:hover{color:#fff}
.article-back:hover::before{transform:translateX(-3px)}
.article-date{display:block;margin-top:28px;color:#fca5a5;font-size:.875rem;font-weight:700;letter-spacing:.05em}
.article-head h1{max-width:20ch;margin-top:12px;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.13}
.article{max-width:100%;padding-bottom:clamp(40px,6vw,72px)}
.article-hero{position:relative;margin-top:-40px}
.article-hero img{width:100%;max-height:560px;aspect-ratio:16/8.5;object-fit:cover;border:1px solid rgb(15 23 42/.08);border-radius:24px;box-shadow:0 24px 56px -28px rgb(15 23 42/.4)}
.article-content{width:100%;max-width:calc(48rem + 2*var(--gutter));margin-inline:auto;padding:clamp(44px,6vw,72px) var(--gutter) 0}
.prose{color:#334155;font-size:clamp(1.0625rem,1.2vw,1.1875rem);line-height:1.85}
.prose>*+*{margin-top:1.15em}
.prose h2,.prose h3{margin-top:2em;margin-bottom:.65em;color:var(--text);line-height:1.25}
.prose h2{font-size:clamp(1.6rem,2.8vw,2.2rem)}
.prose h3{font-size:clamp(1.3rem,2vw,1.65rem)}
.prose h2:first-child,.prose h3:first-child{margin-top:0}
.prose ul{list-style:disc;padding-left:1.3em}
.prose ol{list-style:decimal;padding-left:1.3em}
.prose li+li{margin-top:.4em}
.prose a{color:var(--red);text-decoration-thickness:1px;text-underline-offset:3px}
.prose blockquote{padding:18px 22px;border-left:4px solid var(--red);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--tint);color:var(--navy-2)}
.prose img{max-width:100%;height:auto;border-radius:var(--r)}
.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.notfound-head{min-height:62vh;display:flex;align-items:center}
.notfound{width:100%;padding-block:clamp(64px,10vw,120px)}
.notfound p{margin-block:16px 28px}

.contact{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(18px,2.5vw,32px);padding-bottom:clamp(56px,7vw,96px)}
.contact-page-head .wrap>p{max-width:44rem;margin-top:14px;color:#cbd5e1;font-size:clamp(1rem,1.4vw,1.2rem)}
.contact-info,.contact-form-card{padding:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.contact-info{position:relative;overflow:hidden;isolation:isolate;border-color:rgb(255 255 255/.12);background:radial-gradient(circle at 100% 0,rgb(200 30 30/.24),transparent 38%),linear-gradient(145deg,#0f172a,#1e293b);color:#fff}
.contact-info h2{margin-bottom:0;color:#fff}
.contact-copy{margin-top:10px;color:#cbd5e1}
.contact-info dl{display:grid;gap:0;margin:24px 0 0}
.contact-detail{padding:16px 0;border-top:1px solid rgb(255 255 255/.15)}
.contact-info dt{display:flex;align-items:center;gap:12px;color:#cbd5e1;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.contact-detail-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid rgb(255 255 255/.18);border-radius:13px;background:rgb(255 255 255/.05);color:#fca5a5;transition:background-color .25s,border-color .25s,transform .25s}
.contact-detail:hover .contact-detail-icon,.contact-detail:focus-within .contact-detail-icon{transform:translateY(-2px);border-color:rgb(255 255 255/.35);background:rgb(200 30 30/.25)}
.contact-info dd{display:grid;grid-template-rows:1fr;margin:3px 0 0;padding-left:54px;color:#fff;font-size:1.0625rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere;transition:grid-template-rows .28s ease,opacity .22s ease,margin-top .28s ease}
.contact-detail-value{min-height:0;overflow:hidden}
.contact-info dd a{display:inline-flex;align-items:center;min-height:36px;color:inherit;text-decoration:none;transition:color .15s}
.contact-info dd a:hover{color:#fecaca}
.contact-form-card{background:#fff}
.contact-form-card h2{margin-bottom:0}
.contact-form-intro{margin:8px 0 24px;color:var(--muted)}
.contact-form{gap:16px}
.contact-form .field-row{grid-template-columns:minmax(0,1fr)}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form>.btn{width:100%;min-height:54px;margin-top:2px}
.contact-map{grid-column:1/-1;margin:0}
.contact-map-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.contact-map-head h2{margin:0}
.contact-map-frame{overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--tint);box-shadow:var(--shadow)}
.contact-map-frame iframe{display:block;width:100%;height:360px;border:0}
.application{max-width:1040px;padding-bottom:clamp(56px,7vw,96px)}
.application-head h1{font-size:clamp(2.2rem,4.8vw,3.7rem)}
.application-head .wrap>p:last-child{max-width:48rem;margin-top:12px;color:#cbd5e1;font-size:clamp(1rem,1.4vw,1.2rem)}
.application-status-action{margin-top:20px}
.draft-resume{margin-bottom:28px;padding:clamp(18px,3vw,28px);border:1px solid #cbd5e1;border-radius:18px;background:#f8fafc}
.draft-resume h2{font-size:1.3rem;margin-bottom:8px}
.draft-resume>label{display:block;margin-top:16px;font-weight:600}
.draft-link-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.draft-link-row input{flex:1 1 200px;min-width:0;padding:12px;border:1px solid #94a3b8;border-radius:10px;background:#fff;color:var(--text);font:inherit;font-size:.875rem}
.draft-link-row .btn{min-height:46px;padding-inline:18px}
.draft-files h3{font-size:1.05rem;margin-bottom:10px}
.draft-file{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--tint)}
.draft-file>span{min-width:0;overflow-wrap:anywhere}
.draft-file label{display:inline-flex;align-items:center;gap:8px;margin-left:auto;min-height:32px;color:var(--red-dark)}
.draft-file input{width:18px;height:18px;margin:0}
.application-form-actions{display:flex;flex-wrap:wrap;gap:12px}
.application-next-step{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px;padding:clamp(18px,3vw,26px);border:1px solid #f2caca;border-left:4px solid var(--red);border-radius:16px;background:#fffafa}
.application-next-step>div{flex:1 1 280px;min-width:0}
.application-next-step h2{font-size:.9375rem;color:var(--muted);margin-bottom:8px}
.application-next-step h3{font-size:1.2rem}
.application-next-step p{margin-top:8px;color:var(--muted)}
.application-next-step .btn{flex:1 1 180px}
.application-card{padding:clamp(24px,4vw,52px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.application-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.application-kicker{margin-bottom:6px;color:var(--red);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.application-form-heading h2{margin:0;font-size:clamp(1.5rem,2.4vw,2rem)}
.required-note{flex:none;color:var(--muted);font-size:.875rem}
.application-form{gap:28px}
.application-group{display:grid;gap:14px;min-width:0;margin:0;padding:24px 0 0;border:0;border-top:1px solid var(--line)}
.application-group legend{float:none;width:100%;padding:0;color:var(--text);font-family:BPGNino,Noto,sans-serif;font-size:1.2rem;font-weight:700;line-height:1.35}
.application-group>p{margin-top:-8px;color:var(--muted);font-size:.9375rem}
.application-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.application-span-2{grid-column:1/-1}
.application-form .field label{font-size:.9375rem}
.application-form .field input:focus,.application-form .field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgb(200 30 30/.15)}
.custom-select{position:relative}
.custom-select:not(.is-enhanced) .custom-select-trigger,.custom-select:not(.is-enhanced) .custom-select-menu{display:none}
.custom-select.is-enhanced .custom-select-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:50px;padding:12px 16px;border:1px solid #94a3b8;border-radius:var(--r-sm);background:#fff;color:var(--text);font:inherit;line-height:1.4;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.custom-select-trigger>span{min-width:0;overflow-wrap:anywhere}
.custom-select-trigger::after{content:"";width:10px;height:10px;flex:none;border-right:2px solid #475569;border-bottom:2px solid #475569;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.custom-select-trigger[aria-expanded="true"]::after{transform:translateY(3px) rotate(225deg)}
.custom-select-trigger:focus-visible,.custom-select-trigger[aria-expanded="true"]{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgb(200 30 30/.15)}
.custom-select-trigger[aria-invalid="true"]{border-color:var(--red)}
.custom-select-menu{position:absolute;z-index:40;top:calc(100% + 8px);left:0;right:0;display:grid;gap:4px;max-height:min(320px,45vh);overflow-y:auto;padding:8px;border:1px solid rgb(148 163 184/.65);border-radius:16px;background:rgb(255 255 255/.98);box-shadow:0 16px 36px rgb(15 23 42/.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.custom-select-menu[hidden]{display:none}
.custom-select-option{display:block;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer;transition:background-color .12s,color .12s}
.custom-select-option:hover,.custom-select-option:focus-visible,.custom-select-option[aria-selected="true"]{outline:0;background:var(--red-soft);color:var(--red-dark)}
.custom-select-option[aria-selected="true"]{font-weight:700}
.application-form input[type=file]{min-height:60px;padding:14px;background:var(--tint);border-style:dashed}
.application-form textarea{min-height:132px;resize:vertical}
.application-form>.btn{min-width:240px;min-height:56px;margin-top:2px}
.contact h2{font-size:1.5rem}
.form{display:grid;gap:18px}
.security-check{min-height:140px}
.field label{display:block;margin-bottom:6px;font-weight:500}
.req{color:var(--red)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.hint{margin-top:6px;font-size:.9375rem;color:var(--muted)}
.field select{appearance:auto}
.field input[type=file]{padding-block:10px}
.field input,.field textarea,.field select{width:100%;min-height:50px;padding:12px 14px;border:1px solid #94a3b8;border-radius:var(--r-sm);background:#fff;color:inherit;font:inherit;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px rgb(37 99 235/.2)}
.field [aria-invalid]{border-color:var(--red)}
.error{margin-top:6px;color:var(--red-dark);font-size:.9375rem;font-weight:500}
.form .btn{justify-self:start}
.hp{position:absolute;left:-9999px}
.notice{padding:16px 20px;background:#ecfdf5;border:1px solid #059669;border-radius:var(--r-sm);font-weight:500}

@media (max-width:1120px){
  .top-row{min-height:68px;gap:8px}
  :root{--header-height:68px}
  .nav-desk{display:none}
  .top-call{min-height:44px;padding:0 12px;font-size:.9rem}
  .brand-logo-mark{width:42px;height:42px}
  .brand-logo-name{font-size:.9375rem}
  .menu{display:block;flex:none}
  .menu:not([open]) .menu-panel{display:none}
  .menu summary{display:grid;gap:5px;align-content:center;justify-items:center;width:44px;height:44px;border:1px solid rgb(255 255 255/.34);border-radius:50%;background:rgb(15 23 42/.78);cursor:pointer;list-style:none;transition:background-color .15s,border-color .15s}
  .menu summary:hover,.menu[open] summary{border-color:rgb(255 255 255/.55);background:rgb(15 23 42/.94)}
  .menu summary::-webkit-details-marker{display:none}
  .menu summary span{display:block;width:22px;height:2px;background:#e2e8f0;transition:transform .2s,opacity .15s}
  .menu[open] summary span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu[open] summary span:nth-child(2){opacity:0}
  .menu[open] summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  body:has(.menu[open]){overflow:hidden}
  .menu-panel{position:absolute;z-index:30;left:50%;top:calc(100% + 10px);width:min(560px,calc(100vw - 2*var(--gutter)));height:min(calc(100dvh - 92px),760px);overflow-y:auto;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:16px clamp(16px,4vw,28px) 24px;border:1px solid rgb(255 255 255/.25);border-radius:24px;background:rgb(15 23 42/.9);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transform:translateX(-50%);animation:panel .22s ease-out;color:#e2e8f0}
  @keyframes panel{from{opacity:0;transform:translate(-50%,-8px)}}
  .menu-panel nav>a,.menu-panel .nav-parent{min-height:56px;padding:0;border-bottom:1px solid rgb(255 255 255/.18);font-family:BPGNino,Noto,sans-serif;font-size:1.25rem;font-weight:600}
  .menu-panel .chev{display:none}
  .menu-panel .nav-sub{display:grid;padding:4px 0 8px 12px;border-bottom:1px solid rgb(255 255 255/.18)}
  .menu-panel .nav-sub a{min-height:44px;padding:0;color:#cbd5e1}
  .menu-panel .nav-sub a:hover{background:rgb(255 255 255/.1);color:#fff}
  .menu-panel a[aria-current]{padding-inline:14px;border-bottom-color:transparent;background:linear-gradient(120deg,#df332a,#b91f18);box-shadow:0 3px 14px rgb(200 30 30/.3);color:#fff}
  .menu-panel>.btn{width:100%;flex:none}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .with-side{grid-template-columns:minmax(0,1fr)}
  .side{position:static;display:none}
  .about-page .side{position:relative;top:auto;display:flex;gap:6px;max-width:100%;margin-bottom:4px;padding:4px;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--tint);scrollbar-width:thin}
  .about-page .side a{flex:none;min-height:40px;padding:6px 12px;border-radius:10px;background:transparent;white-space:nowrap}
  .blog-page .cards-post{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .top-row{gap:6px}
  .top-call{min-height:40px;padding:0 9px;gap:6px;font-size:.8rem;flex:none}
  .top-call .ico{width:17px;height:17px}
  .lang{padding-inline:4px;font-size:.875rem}
}
@media (max-width:560px){
  .top .brand-break-sm{display:inline}
  .top .brand-logo{gap:8px}
  .top .brand-logo-mark{width:38px;height:38px}
  .top .brand-logo-name{font-size:.8125rem;line-height:1.15}
}
@media (max-width:380px){
  .top .brand-logo{gap:6px}
  .top .brand-logo-mark{width:32px;height:32px}
  .top .brand-logo-name{font-size:.75rem}
}
@media (max-width:340px){
  .top .brand-logo-mark{width:28px;height:28px}
  .top .brand-logo-name{font-size:.6875rem}
  .top-call{padding:0 8px}
  .top-call .ico{display:none}
}
@media (max-width:760px){
  .cards-2,.split,.contact,.foot-grid,.field-row{grid-template-columns:minmax(0,1fr)}
  .blog-page .cards-post{grid-template-columns:minmax(0,1fr)}
  .about-page .stack{padding:20px}
  .pricing-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .pricing-band .table-scroll{overflow:visible;border:0;background:transparent;box-shadow:none}
  .pricing-band .tariffs{display:block;width:100%;min-width:0;border-collapse:separate;border-spacing:0}
  .pricing-band .tariffs thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .pricing-band .tariffs tbody{display:grid;gap:12px}
  .pricing-band .tariffs tbody tr{display:grid;grid-template-columns:minmax(0,1fr);padding:10px 16px;border:1px solid var(--line);border-radius:16px;background:#fff!important;box-shadow:var(--shadow)}
  .pricing-band .tariffs tbody td{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);white-space:normal;text-align:right}
  .pricing-band .tariffs tbody td:first-child{display:block;padding-top:6px;color:var(--navy);font-size:1.05rem;font-weight:700;text-align:left}
  .pricing-band .tariffs tbody td:not(:first-child)::before{content:attr(data-label);color:var(--muted);font-size:.875rem;text-align:left}
  .pricing-band .tariffs tbody td:last-child{border-bottom:0}
  .application-card{padding:24px 18px}
  .application-form-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .application-fields{grid-template-columns:minmax(0,1fr)}
  .application-span-2{grid-column:auto}
  .application-group{padding-top:20px}
  .contact-info,.contact-form-card,.contact-map{grid-column:1;grid-row:auto}
  .contact-form .field-row{grid-template-columns:minmax(0,1fr)}
  .contact-map-head{align-items:flex-start;flex-direction:column}
  .contact-map-frame iframe{height:340px}
  .article-head{padding:calc(48px + var(--header-height)) 0 56px}
  .article-head h1{font-size:clamp(2rem,8vw,3rem)}
  .article-hero{margin-top:-28px}
  .article-hero img{aspect-ratio:4/3;border-radius:16px}
  .article-content{padding-top:36px}
  .page-head{padding:48px var(--gutter);padding-top:calc(48px + var(--header-height))}
  .hero::after{background:rgb(15 23 42/.72)}
  .hero-img{opacity:.55}
  .actions .btn,.cta-actions .btn,.form .btn{flex:1 1 100%;width:100%}
  .fact{padding:14px;gap:10px;align-items:flex-start}
  .fact strong{font-size:1rem}
  .cards-post{grid-template-columns:minmax(0,1fr)}
}
/* Hero entrance: one sequence on load; the page is fully visible without it */
.hero-img{animation:settle 9s cubic-bezier(.16,1,.3,1) backwards}
.hero h1,.hero p,.actions,.fact{animation:rise .7s cubic-bezier(.16,1,.3,1) backwards}
.hero p{animation-delay:.12s}
.actions{animation-delay:.24s}
.fact{animation-delay:.36s}
.fact:nth-child(2){animation-delay:.42s}
.fact:nth-child(3){animation-delay:.48s}
.fact:nth-child(4){animation-delay:.54s}
@keyframes settle{from{transform:scale(1.1)}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.post:hover{transform:none}}
@media print{.top,.cta,.foot,.skip{display:none}}

/* Homepage refinement */
.home-services{padding-top:clamp(40px,4.5vw,64px)}
.home-services .head,.home-articles .head{margin-bottom:28px}
.home-services .cards-2{gap:22px}
.home-services .service{height:100%;border-radius:20px;box-shadow:0 8px 26px rgb(15 23 42/.055)}
.home-standards .split{gap:clamp(40px,7vw,88px)}
.home-standards .rounded{aspect-ratio:1.36;object-fit:cover;border-radius:24px;box-shadow:0 24px 60px rgb(15 23 42/.16)}
.home-standards .points{gap:22px}
.home-standards .points li{align-items:flex-start}
.home-articles .post{border:1px solid var(--line);box-shadow:0 8px 28px rgb(15 23 42/.055)}
.home-articles .post:hover{box-shadow:0 18px 40px rgb(15 23 42/.12)}
@media(max-width:760px){
  .home-services{padding-top:36px}
  .home-services .cards-2{gap:14px}
  .home-standards .rounded{aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){
  .home-articles .post{transition:none}
}

.application-checklist{margin-bottom:32px;padding:clamp(22px,3.5vw,36px);border:1px solid #f2caca;border-radius:20px;background:linear-gradient(135deg,#fffafa,#fff 68%)}
.application-checklist-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px 32px;margin-bottom:24px}
.application-checklist-heading h2{font-size:clamp(1.4rem,2.5vw,1.9rem)}
.application-checklist-heading>div>p:last-child{margin-top:8px;color:var(--muted)}
.application-checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.application-checklist-grid h3{margin-bottom:12px;font-size:1.05rem}
.application-checklist-items{display:grid;gap:12px}
.application-checklist-items li{position:relative;padding-left:28px;color:var(--muted);line-height:1.55}
.application-checklist-items li::before{position:absolute;top:0;left:0;color:var(--red);font-weight:700;content:"✓"}
.application-service-checklists{display:grid;gap:14px}
.application-service-checklists li{padding-top:12px;border-top:1px solid var(--line)}
.application-service-checklists strong{display:block;line-height:1.45}
.application-service-checklists p,.application-checklist-note{margin-top:6px;color:var(--muted);font-size:.9rem;line-height:1.55}
.application-checklist-note{margin-top:14px}
.application-status-wrap{max-width:840px;padding-bottom:clamp(64px,8vw,104px)}
.application-status-lookup-wrap{max-width:680px}
.application-status-card{padding:clamp(26px,5vw,48px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.application-status-reference{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.application-status-reference span,.application-status-updated{color:var(--muted);font-size:.9rem}
.application-status-reference strong{color:var(--navy);font-size:1.25rem;letter-spacing:.04em}
.application-status-current{margin-block:28px;border-radius:16px}
.application-status-current h2{display:inline-flex;align-items:center;gap:12px;margin-top:4px;padding:12px 18px;border:1px solid #f2caca;border-radius:999px;background:var(--red-soft);color:var(--red-dark);font-size:clamp(1.125rem,2vw,1.5rem)}
.is-completed .application-status-current h2{border-color:#bbe5c8;background:#e9f7ee;color:#166534}
.is-completed .application-status-current:hover .status-dot,.is-completed .application-status-current:focus-within .status-dot{box-shadow:0 0 0 5px rgb(22 101 52/.12)}
.is-completed .application-kicker{color:#166534}
.is-completed .application-next-step{border-color:#bbe5c8;border-left-color:#15803d;background:#f3fbf5}
.is-completed .application-next-step .btn{border-color:#15803d;background:#15803d}
.is-completed .application-next-step .btn:hover{border-color:#166534;background:#166534}
.status-dot{width:9px;height:9px;flex:none;border-radius:50%;background:currentColor;transition:box-shadow .25s ease}
.status-reveal-hint{display:none;font-family:system-ui,sans-serif;font-size:1.125rem;font-weight:400;transition:transform .25s ease}
.status-reveal{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s ease,opacity .22s ease}
.status-reveal>div{min-height:0;overflow:hidden}
.status-reveal p{padding-top:14px;color:var(--muted)}
.application-status-current:hover .status-dot,.application-status-current:focus-within .status-dot{box-shadow:0 0 0 5px rgb(200 30 30/.1)}
.application-status-current:hover .status-reveal-hint,.application-status-current:focus-within .status-reveal-hint{transform:rotate(45deg)}
@media (hover:hover) and (pointer:fine){
  .foot-credit-reveal{max-width:0;margin-left:0;opacity:0;white-space:nowrap}
  .foot-credit a:hover .foot-credit-reveal,.foot-credit a:focus-visible .foot-credit-reveal{max-width:300px;margin-left:12px;opacity:1}
  .contact-info dd{grid-template-rows:0fr;opacity:0;margin-top:0}
  .contact-detail:hover dd,.contact-detail:focus-within dd{grid-template-rows:1fr;opacity:1;margin-top:3px}
  .status-reveal{grid-template-rows:0fr;opacity:0}
  .status-reveal-hint{display:block}
  .application-status-current:hover .status-reveal,.application-status-current:focus-within .status-reveal{grid-template-rows:1fr;opacity:1}
}
@media print{.contact-info dd,.status-reveal{grid-template-rows:1fr!important;opacity:1!important}}
.application-status-updated{margin-bottom:16px}
.application-documents{margin-block:24px;padding-top:24px;border-top:1px solid var(--line)}
.application-documents h2{font-size:1.25rem}
.application-documents>p{margin-top:10px;color:var(--muted)}
.application-documents ul{display:grid;gap:12px;margin-top:16px}
.application-documents li{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.application-documents .badge{width:40px;height:40px;border-radius:10px}
.application-document-name{flex:1 1 160px;min-width:0;font-weight:600;overflow-wrap:anywhere}
.application-documents .link{gap:8px;margin-left:auto}
.portal-section{margin-block:28px;padding-top:24px;border-top:1px solid var(--line)}
.portal-section h2{margin-bottom:16px;font-size:1.3rem}
.portal-items{display:grid;gap:16px}
.portal-item{min-width:0;padding:clamp(16px,3vw,24px);border:1px solid var(--line);border-radius:16px;background:#f8fafc}
.portal-item h3{font-size:1.1rem;overflow-wrap:anywhere}
.portal-body{white-space:pre-wrap;overflow-wrap:anywhere}
.portal-item time,.portal-message,.portal-question-receipt small{display:block;color:var(--muted);font-size:.9rem}
.portal-item time{margin-top:8px}
.portal-form{margin-top:18px}
.portal-success{margin-top:16px;color:#166534;font-weight:600}
.portal-question{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.portal-question summary{display:list-item;min-height:44px;padding-block:8px;color:var(--red-dark);font-weight:600;cursor:pointer}
.portal-question-receipt{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.portal-timeline{display:grid;gap:0;margin:0;padding:0 0 0 22px;list-style:none}
.portal-timeline li{position:relative;display:grid;gap:4px;padding:0 0 24px 22px;border-left:2px solid var(--line)}
.portal-timeline li::before{position:absolute;top:6px;left:-6px;width:10px;height:10px;border-radius:50%;background:var(--red);content:""}
.portal-timeline li:last-child{padding-bottom:0;border-left-color:transparent}
.portal-timeline time{color:var(--muted);font-size:.875rem}
.portal-errors{margin-bottom:20px}
@media(max-width:760px){
  .application-checklist-heading{flex-direction:column}
  .application-checklist-grid{grid-template-columns:minmax(0,1fr);gap:24px}
}
@media print{
  .top,.cta,.foot,.skip,.application-head,.application-card>*:not(.application-checklist){display:none!important}
  .application{max-width:none!important;padding:0!important}
  .application-card{padding:0!important;border:0!important;box-shadow:none!important}
  .application-checklist{margin:0!important;border:0!important;background:#fff!important;box-shadow:none!important}
}

/* Guided building check */
.building-check-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}
.building-check-visual{padding:28px 32px 36px;border-radius:24px;background:var(--navy);color:#fff}
.building-check-drawing{width:270px;margin:0 auto 16px}
.building-check-visual h2{font-size:1.65rem;margin-bottom:16px}
.building-check-visual>p{color:#cbd5e1}
.building-check-note{font-size:.92rem;color:#cbd5e1;border-top:1px solid #475569;margin-top:24px;padding-top:20px}
.building-check-card{min-width:0;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,4vw,40px);box-shadow:var(--shadow)}
.building-check-card fieldset{min-width:0;padding:0;border:0;margin:0 0 28px}
.building-check-card fieldset[hidden],.building-check-card [hidden]{display:none!important}
.building-check-card legend{font-size:1.65rem;line-height:1.35;font-weight:700;margin-bottom:10px;width:100%}
.building-check-progress{display:flex;align-items:center;gap:18px;margin-bottom:28px;font-weight:700;color:var(--muted)}
.building-check-track{height:5px;background:var(--line);border-radius:10px;flex:1;overflow:hidden}
.building-check-track>span{display:block;height:100%;background:var(--red);width:33.33%}
.building-check-options{display:grid;gap:12px;margin-top:22px}
.building-check-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.building-check-option{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px;cursor:pointer;line-height:1.4;min-height:70px}
.building-check-option:hover{border-color:#94a3b8}
.building-check-option:has(input:checked){border-color:var(--red);background:var(--red-soft);box-shadow:inset 0 0 0 1px var(--red)}
.building-check-option input{accent-color:var(--red);width:19px;height:19px;flex:none;margin:0}
.building-check-area{margin:24px 0 16px}
.building-check-area label{display:block;font-weight:700;margin-bottom:10px}
.building-check-area input{width:100%;min-width:0;border:1px solid #94a3b8;border-radius:12px;padding:16px;font:inherit;background:#fff;color:var(--text)}
.building-check-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:28px;margin-bottom:18px}
.building-check-tag{display:inline-block;border-radius:30px;background:var(--red-soft);color:var(--red-dark);font-size:.9rem;font-weight:700;padding:5px 12px;margin-bottom:18px}
.building-check-result h2{font-size:1.8rem;margin-bottom:18px}
.building-check-result h3{margin-top:28px}
.building-check-list{display:grid;gap:14px;margin:20px 0}
.building-check-list li{position:relative;padding-left:30px}
.building-check-list li:before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:700}
.building-check-teaser{display:flex;gap:28px;align-items:center;justify-content:space-between;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--tint);margin-top:32px}
.building-check-teaser h2{font-size:1.6rem;margin-bottom:8px}
.building-check-teaser p{color:var(--muted)}
.building-check-teaser .btn{flex:none}
@media(max-width:760px){.building-check-layout{grid-template-columns:minmax(0,1fr);gap:20px}.building-check-visual{order:2;padding:24px}.building-check-drawing{width:170px}.building-check-options-grid{grid-template-columns:minmax(0,1fr)}.building-check-teaser{align-items:stretch;flex-direction:column;padding:22px}.building-check-card{padding:24px 20px}.building-check-actions .btn{white-space:normal;text-align:center;max-width:100%}}

.services-catalog .building-check-teaser{margin-top:0;margin-bottom:32px}

/* SEB assistant */
.seb-chat{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:40;font-size:1rem;line-height:1.5}
.seb-chat-launcher{display:flex;align-items:center;gap:10px;min-height:58px;padding:14px 20px;border:1px solid rgb(255 255 255/.2);border-radius:36px;background:var(--red);color:#fff;box-shadow:0 8px 28px rgb(15 23 42/.25);font:inherit;font-weight:700;cursor:pointer}
.seb-chat-panel[hidden]{display:none}
.seb-chat-panel{position:absolute;right:0;bottom:74px;width:min(410px,calc(100vw - 32px));height:min(680px,calc(100dvh - 112px));display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 60px rgb(15 23 42/.25);background:#fff;overflow:hidden}
.seb-chat-header{display:flex;align-items:center;gap:12px;background:var(--navy);color:#fff;padding:20px;flex:none}
.seb-chat-header h2{font-size:1.1rem;line-height:1.3}
.seb-chat-header p{font-size:.78rem;color:#cbd5e1;margin-top:3px}
.seb-chat-avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid #ef4444;background:var(--red);border-radius:14px;font-size:1.35rem;font-weight:700}
.seb-chat-icon-button{margin-left:auto;flex:none;border:0;background:transparent;color:white;font-size:1.8rem;line-height:1;width:36px;height:36px;cursor:pointer;border-radius:50%}
.seb-chat-body{flex:1;min-height:90px;overflow-y:auto;overscroll-behavior:contain;padding:22px;background:#f8fafc}
.seb-chat-welcome h3{font-size:1.3rem;margin-bottom:6px}.seb-chat-welcome p{color:var(--muted);font-size:.9rem}
.seb-chat-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.seb-chat-prompts button{border:1px solid #cbd5e1;border-radius:16px;background:white;color:var(--text);padding:9px 12px;text-align:left;font:inherit;font-size:.84rem;cursor:pointer}
.seb-chat-prompts button:hover{border-color:var(--red);color:var(--red-dark)}
.seb-chat-messages{display:grid;gap:16px}
.seb-chat-message{max-width:94%;border:1px solid var(--line);padding:12px 14px;background:white;border-radius:16px 16px 16px 4px;min-width:0}
.seb-chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem}
.seb-chat-author{display:block;font-size:.72rem;font-weight:700;color:var(--muted);margin-bottom:6px}
.seb-chat-message-user{justify-self:end;background:var(--navy);color:white;border-color:var(--navy);border-radius:16px 16px 4px 16px}.seb-chat-message-user .seb-chat-author{color:#cbd5e1}
.seb-chat-status{font-size:.85rem;color:var(--muted);margin-top:14px}
.seb-chat-composer{flex:none;padding:16px 18px;border-top:1px solid var(--line)}
.seb-chat-privacy{font-size:.73rem;color:var(--muted);line-height:1.45;margin-bottom:10px}
.seb-chat-consent{display:flex;align-items:flex-start;gap:8px;font-size:.75rem;line-height:1.4;margin-bottom:12px;cursor:pointer}.seb-chat-consent input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--red);flex:none}
.seb-chat-input-label{display:block;font-size:.8rem;font-weight:700;margin-bottom:6px}
.seb-chat-input-row{display:flex;gap:8px;align-items:flex-end;border:1px solid #94a3b8;border-radius:14px;padding:7px;background:#fff}
.seb-chat-input-row textarea{min-width:0;flex:1;resize:none;border:0;background:transparent;font:inherit;font-size:1rem;line-height:1.4;color:var(--text);padding:6px;max-height:90px}
.seb-chat-send{width:38px;height:38px;border:0;border-radius:11px;background:var(--red);color:#fff;font-size:1.5rem;flex:none;cursor:pointer}
.seb-chat button:disabled{opacity:.5;cursor:default}
.seb-chat-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:.75rem;font-weight:700}
.seb-chat-links a{color:var(--muted);text-decoration:none}.seb-chat-links a:hover{text-decoration:underline;color:var(--red-dark)}
.seb-chat-links button{margin-left:auto;border:0;background:transparent;color:var(--muted);padding:0;font:inherit;cursor:pointer}
@media(max-width:480px){.seb-chat{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.seb-chat-launcher{min-height:54px;padding:13px 16px}.seb-chat-launcher-label{display:none}.seb-chat-panel{bottom:68px;height:min(650px,calc(100dvh - 100px));border-radius:20px}.seb-chat-header{padding:16px}.seb-chat-body{padding:18px}.seb-chat-composer{padding:12px 14px}.seb-chat-links{gap:10px}}
@media print{.seb-chat{display:none}}

.seb-chat-retry{border:1px solid var(--red);border-radius:20px;padding:8px 14px;background:#fff;color:var(--red-dark);font:inherit;font-size:.85rem;cursor:pointer;margin-top:10px}
.seb-chat-retry[hidden]{display:none}

.site-social-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;font-size:.9rem;font-style:normal}.site-hours{margin-top:16px;font-style:normal}

/* Upload progress while a form is sent in the background */
.upload-progress{display:block;width:100%;height:8px;margin:0 0 12px;accent-color:var(--red,#c81e1e)}
.notice .btn{margin-top:12px}

/* Lightbox: images shown over the page */
.lightbox{max-width:none;max-height:none;width:100vw;height:100vh;height:100dvh;margin:0;padding:clamp(16px,4vw,48px);border:0;background:transparent;display:none;align-items:center;justify-content:center}
.lightbox[open]{display:flex}
.lightbox::backdrop{background:rgb(15 23 42/.88)}
.lightbox-image{max-width:min(100%,960px);max-height:100%;width:auto;height:auto;border-radius:8px;box-shadow:0 20px 60px rgb(0 0 0/.45);background:#fff}
.lightbox-close{position:fixed;top:16px;right:16px;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:rgb(255 255 255/.14);color:#fff;cursor:pointer;transition:background-color .15s}
.lightbox-close:hover,.lightbox-close:focus-visible{background:rgb(255 255 255/.28)}
.lightbox-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
html:has(.lightbox[open]){overflow:hidden}
a[data-lightbox]{cursor:zoom-in}
@media (prefers-reduced-motion:no-preference){.lightbox[open] .lightbox-image{animation:lightbox-in .2s ease-out}@keyframes lightbox-in{from{opacity:0;transform:scale(.97)}}}
