:root { color-scheme: light; --navy:#102A43; --navy-deep:#0A1B2B; --blue:#087DCE; --blue-strong:#0669AA; --cyan:#20B8F0; --background:#F7FBFF; --secondary-bg:#EAF5FC; --card:#FFF; --muted:#526579; --line:#D8E7F1; --serif:Georgia,'Times New Roman',serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
    * { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-padding-top:92px; } body { margin:0; background:var(--background); color:var(--navy); font-family:var(--sans); -webkit-font-smoothing:antialiased; } img { max-width:100%; } a { color:inherit; text-decoration:none; } button,input,select,textarea { font:inherit; } :focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
    .wrap { width:min(1160px,calc(100% - 64px)); margin-inline:auto; } .topbar { position:sticky; top:0; z-index:20; background:rgb(255 255 255 / 94%); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); } .header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; } .brand { display:inline-flex; flex:0 0 auto; align-items:center; } .brand-logo { display:block; width:104px; height:66px; object-fit:contain; border-radius:12px; background:#071326; }
    .nav { display:flex; align-items:center; gap:clamp(18px,3vw,38px); color:var(--muted); font-size:14px; } .nav a,.footer-links a { transition:color .18s ease; } .nav a:hover,.footer-links a:hover { color:var(--blue-strong); } .header-actions { display:flex; align-items:center; gap:12px; } .lang-switch { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--line); border-radius:999px; background:#fff; } .lang-switch a { min-width:34px; padding:7px 8px; border:0; border-radius:999px; background:transparent; color:var(--muted); font:700 11px var(--sans); cursor:pointer; } .lang-switch a[aria-current="page"] { background:var(--navy); color:#fff; }
    .button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:0 19px; border:1px solid transparent; border-radius:999px; font-size:13px; font-weight:680; transition:transform .18s ease,background .18s ease,box-shadow .18s ease; } .button:hover { transform:translateY(-2px); } .button-primary { background:var(--blue-strong); color:#fff; box-shadow:0 8px 20px rgb(6 105 170 / 16%); } .button-primary:hover { background:var(--navy); box-shadow:0 10px 24px rgb(16 42 67 / 20%); } .button-secondary { border-color:#B8D5E8; background:#fff; color:var(--navy); } .menu-toggle { display:none; width:44px; height:44px; place-items:center; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--navy); cursor:pointer; } .menu-toggle svg { width:21px; height:21px; }
    .hero { min-height:580px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:clamp(35px,6vw,74px); padding-block:68px 82px; } .hero-tagline,.section-kicker { margin:0 0 13px; color:var(--blue-strong); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.15em; } .hero-tagline { display:flex; align-items:center; gap:10px; } .hero-tagline::before { content:''; width:25px; height:2px; border-radius:2px; background:var(--cyan); } h1 { max-width:610px; margin:19px 0 14px; font-size:clamp(48px,6vw,76px); line-height:1.01; letter-spacing:-.065em; font-weight:650; } h1 span { display:block; } h1 span+span { color:var(--blue-strong); } .hero-slogan { margin:0 0 16px; color:var(--cyan); font-family:var(--serif); font-size:clamp(23px,3vw,31px); font-style:italic; } .hero-copy { max-width:495px; margin:0; color:var(--muted); font-size:15px; line-height:1.8; } .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; } .hero-visual { position:relative; overflow:hidden; min-height:410px; border:1px solid #D5E8F5; border-radius:30px; background:var(--secondary-bg); box-shadow:0 24px 65px rgb(16 42 67 / 12%); } .hero-image { display:block; width:100%; height:100%; min-height:410px; object-fit:cover; } .image-caption { position:absolute; right:15px; bottom:15px; padding:8px 11px; border:1px solid rgb(255 255 255 / 65%); border-radius:999px; background:rgb(255 255 255 / 88%); color:var(--muted); font-size:10px; }
    .section { padding-block:84px; border-top:1px solid var(--line); } .section-alt { background:var(--secondary-bg); } .section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:32px; } h2 { margin:0; font-size:clamp(34px,4.6vw,52px); font-weight:630; line-height:1.07; letter-spacing:-.055em; } .section-note { max-width:390px; margin:0; color:var(--muted); font-size:14px; line-height:1.75; }
    .service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .service-card { min-width:0; padding:23px 24px 20px; border:1px solid var(--line); border-radius:19px; background:var(--card); box-shadow:0 8px 24px rgb(16 42 67 / 4%); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; } .service-card:hover { transform:translateY(-3px); border-color:#A8D7F1; box-shadow:0 14px 32px rgb(16 42 67 / 8%); } .service-summary-content { position:relative; display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px 14px; list-style:none; cursor:pointer; } .service-summary-content::-webkit-details-marker { display:none; } .service-summary-content::marker { content:''; } .service-meta { grid-column:1; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.1em; } .card-icon { grid-column:2; grid-row:1 / span 2; width:45px; height:45px; display:grid; place-items:center; border-radius:15px; background:var(--secondary-bg); color:var(--blue-strong); } .card-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; } .service-title { grid-column:1; grid-row:2; margin:0; padding-right:3px; font-size:19px; font-weight:650; line-height:1.25; letter-spacing:-.035em; } .detail-toggle { grid-column:1 / -1; display:flex; align-items:center; gap:7px; margin-top:8px; color:var(--blue-strong); font-size:12px; font-weight:700; } .detail-toggle>span:last-child { transition:transform .2s ease; } .detail-hide { display:none; } .service-card[open] .detail-show { display:none; } .service-card[open] .detail-hide { display:inline; } .service-card[open] .detail-toggle>span:last-child { transform:rotate(180deg); } .service-list { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:22px; margin:16px 0 0; padding:0; } .service-list li { position:relative; padding:9px 0 9px 16px; border-top:1px solid #EAF1F5; color:var(--muted); font-size:12px; line-height:1.5; } .service-list li::before { position:absolute; top:15px; left:1px; width:6px; height:6px; border-radius:50%; background:var(--cyan); content:''; } .service-card-action { display:flex; justify-content:flex-end; margin-top:8px; padding-top:14px; border-top:1px solid #EAF1F5; } .service-quote { display:inline-flex; align-items:center; gap:8px; color:var(--blue-strong); font-size:12px; font-weight:750; } .service-quote:hover { color:var(--navy); } .equipment-note { margin-top:15px; padding:19px 22px; display:flex; align-items:center; gap:13px; border-radius:17px; background:var(--navy); color:#fff; } .equipment-mark { width:35px; height:35px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; background:var(--cyan); color:var(--navy); font-size:17px; } .equipment-note p { margin:0; font-size:13px; line-height:1.6; }
    .why-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; } .why-card { min-height:192px; padding:21px; border:1px solid var(--line); border-radius:18px; background:#fff; } .why-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:13px; background:var(--secondary-bg); color:var(--blue-strong); font-size:18px; } .why-card h3 { margin:18px 0 8px; font-size:15px; line-height:1.35; } .why-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
    .gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; } .gallery-slot { position:relative; min-height:212px; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; margin:0; padding:18px; border:1px dashed #9FC6DF; border-radius:18px; background:linear-gradient(145deg,#fff,#E7F5FC); } .gallery-slot::before,.gallery-slot::after { position:absolute; z-index:0; content:''; background:#D7ECF8; transform:rotate(-26deg); } .gallery-slot::before { width:180%; height:1px; top:49%; left:-25%; } .gallery-slot::after { width:1px; height:180%; top:-25%; left:53%; } .gallery-plus,.gallery-slot figcaption { position:relative; z-index:1; } .gallery-plus { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--blue); font-size:21px; box-shadow:0 4px 13px rgb(16 42 67 / 9%); } .gallery-label { color:var(--blue-strong); font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.13em; } .gallery-caption { margin:5px 0 0; color:var(--muted); font-size:12px; }
    .prices { display:grid; grid-template-columns:.78fr 1.22fr; align-items:center; gap:55px; padding:clamp(28px,5vw,52px); border:1px solid #D4E7F2; border-radius:24px; background:#fff; box-shadow:0 16px 42px rgb(16 42 67 / 6%); } .prices-copy h2 { font-size:clamp(35px,4vw,48px); } .prices-copy>p:not(.section-kicker) { max-width:360px; margin:14px 0 22px; color:var(--muted); font-size:14px; line-height:1.75; } .price-list { align-self:center; border-top:1px solid var(--line); } .price-row { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); font-size:13px; } .price-row span:last-child { color:var(--blue-strong); font-weight:750; }
    .contact-layout { display:grid; grid-template-columns:.88fr 1.12fr; align-items:start; gap:clamp(40px,8vw,100px); } .contact-intro { padding-top:12px; } .contact-intro h2 { max-width:480px; } .contact-intro>p:not(.section-kicker) { max-width:420px; margin:17px 0 28px; color:var(--muted); font-size:14px; line-height:1.75; } .contact-details { border-top:1px solid var(--line); } .contact-row { min-height:69px; display:grid; grid-template-columns:36px 104px minmax(0,1fr); align-items:center; gap:12px; border-bottom:1px solid var(--line); } .contact-icon { width:31px; height:31px; display:grid; place-items:center; border-radius:11px; background:var(--secondary-bg); color:var(--blue-strong); font-size:15px; } .contact-row-label { color:var(--muted); font-size:12px; } .contact-row-value { min-width:0; overflow-wrap:anywhere; color:var(--navy); font-size:13px; font-weight:650; } .contact-row a:hover { color:var(--blue-strong); text-decoration:underline; text-underline-offset:3px; }
    .request-card { padding:clamp(24px,4vw,36px); border:1px solid var(--line); border-radius:23px; background:#fff; box-shadow:0 16px 42px rgb(16 42 67 / 7%); scroll-margin-top:100px; } .request-card h3 { margin:0; font-size:25px; letter-spacing:-.04em; } .request-card>p { margin:9px 0 22px; color:var(--muted); font-size:13px; line-height:1.65; } .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 13px; } .field { min-width:0; display:flex; flex-direction:column; gap:7px; } .field-full { grid-column:1 / -1; } .field label { font-size:12px; font-weight:700; } .field input,.field select,.field textarea { width:100%; min-height:46px; padding:11px 12px; border:1px solid #C8DCE9; border-radius:11px; background:#FBFDFF; color:var(--navy); font-size:13px; } .field textarea { min-height:105px; resize:vertical; } .field input:focus,.field select:focus,.field textarea:focus { outline:3px solid rgb(32 184 240 / 27%); border-color:var(--blue); } .form-submit { margin-top:18px; cursor:pointer; } .form-note,.form-status { margin:12px 0 0; color:var(--muted); font-size:11px; line-height:1.6; } .form-status:empty { display:none; }
    footer { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; } .footer-brand .brand-logo { width:84px; height:56px; } .footer-links { display:flex; flex-wrap:wrap; gap:19px; } .reveal { opacity:1; } .js .reveal.is-visible { opacity:1; transform:none; }
    @media(max-width:980px) { .wrap { width:min(100% - 48px,800px); } .header-inner { min-height:74px; } .brand-logo { width:92px; height:60px; } .nav { gap:16px; font-size:12px; } .header-cta { padding-inline:14px; font-size:12px; } .hero { min-height:0; gap:35px; } .hero-visual,.hero-image { min-height:350px; } .why-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .prices { gap:32px; } }
    @media(max-width:700px) { html { scroll-padding-top:80px; } .wrap { width:min(100% - 38px,560px); } .header-inner { min-height:70px; gap:12px; } .brand-logo { width:84px; height:55px; } .nav { display:none; position:absolute; top:calc(100% + 1px); left:0; right:0; align-items:stretch; flex-direction:column; gap:0; padding:8px 19px 16px; border-bottom:1px solid var(--line); background:#fff; box-shadow:0 14px 24px rgb(16 42 67 / 9%); font-size:14px; } .nav.is-open { display:flex; } .nav a { padding:13px 4px; border-bottom:1px solid #EAF1F5; } .nav a:last-child { border-bottom:0; } .header-actions { gap:8px; } .lang-switch a { min-width:30px; padding-inline:5px; } .header-cta { min-height:41px; padding-inline:12px; font-size:11px; } .menu-toggle { display:grid; width:41px; height:41px; } .hero { grid-template-columns:1fr; gap:30px; padding-block:50px 58px; } h1 { max-width:560px; font-size:clamp(46px,11.5vw,65px); } .hero-copy { font-size:14px; } .hero-visual,.hero-image { min-height:310px; } .section { padding-block:62px; } .section-head { display:block; margin-bottom:24px; } .section-note { margin-top:13px; font-size:13px; } .service-grid { grid-template-columns:1fr; } .service-list { grid-template-columns:1fr; } .prices { grid-template-columns:1fr; gap:22px; padding:26px 21px; } .contact-layout { grid-template-columns:1fr; gap:34px; } .contact-row { grid-template-columns:34px 88px minmax(0,1fr); gap:9px; } .request-card { padding:23px 19px; } footer { min-height:120px; flex-wrap:wrap; justify-content:space-between; padding-block:17px; } .footer-links { order:3; width:100%; gap:15px; } }
    @media(max-width:420px) { .header-cta { display:none; } .hero-actions { align-items:stretch; flex-direction:column; } .hero-actions .button { width:100%; } .why-grid,.gallery-grid { grid-template-columns:1fr; } .gallery-slot { min-height:180px; } .form-grid { grid-template-columns:1fr; } .field-full { grid-column:auto; } .contact-row { grid-template-columns:32px minmax(64px,.55fr) minmax(0,1fr); } .footer-links { gap:11px; font-size:10px; } }
    @media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } .reveal { opacity:1; } }
    .brand-logo { width:116px; height:76px; border-radius:0; background:transparent; }
    .footer-brand .brand-logo { width:92px; height:61px; }
    .hero { min-height:0; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(32px,5vw,60px); padding-block:58px 68px; }
    h1 { max-width:650px; margin:17px 0 14px; font-size:clamp(35px,3.6vw,47px); line-height:1.12; letter-spacing:-.045em; font-weight:680; text-wrap:balance; }
    .hero-slogan { margin-bottom:13px; font-size:clamp(22px,2.4vw,28px); }
    .hero-copy { max-width:500px; font-size:14px; line-height:1.72; }
    .hero-visual { min-height:370px; border-radius:26px; }
    .hero-image { min-height:370px; object-position:center; }
    .service-grid { align-items:start; gap:13px; }
    .service-card { align-self:start; min-height:0; padding:18px 19px; }
    .service-summary-content { display:grid; grid-template-columns:43px minmax(0,1fr) auto; grid-template-areas:"icon heading toggle"; align-items:center; gap:7px 13px; }
    .card-icon { grid-area:icon; grid-column:auto; grid-row:auto; width:42px; height:42px; border-radius:14px; }
    .service-heading { grid-area:heading; min-width:0; }
    .service-title { grid-area:auto; grid-column:auto; grid-row:auto; margin:0; padding:0; font-size:16px; line-height:1.25; letter-spacing:-.025em; }
    .service-description { display:block; margin-top:5px; color:var(--muted); font-size:12px; line-height:1.45; }
    .detail-toggle { grid-area:toggle; grid-column:auto; align-self:center; justify-self:end; gap:6px; margin:0; min-height:44px; padding:0 11px; border:1px solid #C8DCE9; border-radius:999px; background:#fff; color:var(--blue-strong); font-size:11px; white-space:nowrap; }
    .service-card[open] .detail-toggle { border-color:#A8D7F1; background:var(--secondary-bg); }
    .detail-chevron { display:inline-block; transition:transform .2s ease; }
    .service-card[open] .detail-chevron { transform:rotate(180deg); }
    .service-card[open] .service-list { margin-top:14px; }
    .why-grid { align-items:stretch; gap:14px; }
    .why-card { min-height:0; padding:20px; border-top:3px solid var(--cyan); }
    .why-icon { width:36px; height:36px; border:1px solid #D5EAF6; background:linear-gradient(145deg,#fff,var(--secondary-bg)); }
    .why-card h3 { margin:15px 0 7px; font-size:15px; }
    .why-card p { font-size:12px; }
    .price-cta { min-height:48px; }
    .lang-switch a { min-width:36px; min-height:36px; padding:0 7px; line-height:1.1; }
    .menu-toggle { width:44px; height:44px; }
    @media(max-width:980px) {
      .brand-logo { width:106px; height:70px; }
      .hero { gap:30px; }
      .hero-visual,.hero-image { min-height:330px; }
      .service-card { padding:17px; }
      .service-summary-content { grid-template-columns:40px minmax(0,1fr) auto; gap:7px 10px; }
      .card-icon { width:39px; height:39px; }
      .detail-toggle { padding-inline:9px; font-size:10px; }
    }
    @media(max-width:700px) {
      .brand-logo { width:94px; height:62px; }
      .footer-brand .brand-logo { width:84px; height:56px; }
      .hero { grid-template-columns:1fr; gap:27px; padding-block:43px 54px; }
      h1 { max-width:620px; font-size:clamp(33px,8.5vw,42px); }
      .hero-visual,.hero-image { min-height:clamp(225px,62vw,330px); }
      .service-grid { grid-template-columns:1fr; }
      .service-card { padding:18px 19px; }
      .service-summary-content { grid-template-columns:42px minmax(0,1fr) auto; gap:8px 12px; }
      .card-icon { width:42px; height:42px; }
      .detail-toggle { min-height:44px; padding-inline:11px; font-size:11px; }
    }
    @media(max-width:420px) {
      .brand-logo { width:88px; height:58px; }
      .header-inner { gap:8px; }
      .header-actions { gap:7px; }
      .hero { padding-top:37px; }
      h1 { font-size:clamp(32px,8.7vw,37px); }
      .service-summary-content { grid-template-columns:38px minmax(0,1fr); grid-template-areas:"icon heading" "toggle toggle"; gap:10px 11px; }
      .card-icon { width:38px; height:38px; }
      .detail-toggle { justify-self:start; }
    }
    .service-summary-content {
      grid-template-columns:42px minmax(0,1fr);
      grid-template-areas:"icon heading" ". toggle";
      align-items:center;
    }
    .detail-toggle {
      grid-area:toggle;
      justify-self:start;
      align-self:center;
      min-width:0;
      max-width:100%;
      width:max-content;
      white-space:normal;
      text-align:left;
    }
    .detail-chevron { flex:0 0 auto; }
    .contact-row {
      grid-template-areas:"icon label value";
      grid-template-columns:36px minmax(70px,104px) minmax(0,1fr);
    }
    .contact-icon { grid-area:icon; }
    .contact-row-label {
      grid-area:label;
      min-width:0;
      white-space:nowrap;
    }
    .contact-row-value {
      grid-area:value;
      min-width:0;
      overflow-wrap:normal;
      word-break:normal;
      white-space:nowrap;
    }
    @media(max-width:980px) {
      .contact-row {
        grid-template-columns:36px minmax(0,1fr);
        grid-template-areas:"icon label" "icon value";
        gap:2px 12px;
        padding-block:10px;
      }
      .contact-icon { grid-row:1 / span 2; align-self:center; }
      .contact-row-label { align-self:end; }
      .contact-row-value { align-self:start; font-size:12px; }
    }
    @media(max-width:420px) {
      .contact-row { grid-template-columns:32px minmax(0,1fr); gap:2px 10px; }
    }
.service-summary { list-style:none; cursor:pointer; }
.service-summary::-webkit-details-marker { display:none; }
.service-summary::marker { content:''; }
.service-summary-content { margin:0; font:inherit; }
.service-title { display:block; font-weight:650; }
.contact-address { padding-block:10px; line-height:1.5; }
.contact-address small { display:block; white-space:normal; font-size:11px; font-weight:400; color:var(--muted); }
.hero-picture { display:block; height:100%; }
.lang-switch a { display:inline-flex; align-items:center; justify-content:center; min-height:36px; }
.language-entry { max-width:600px; margin:10vh auto; padding:32px; border:1px solid var(--line); border-radius:24px; background:#fff; text-align:center; }
.language-entry .brand-logo { margin-inline:auto; }
.language-entry h1 { font-size:32px; }
.language-entry nav { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:24px; }
@media(max-width:700px) { .lang-switch a { min-height:40px; } }
