@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/inter-0.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/inter-1.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/inter-2.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/inter-3.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/inter-4.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url('assets/fonts/inter-5.woff2') format('woff2')}

:root{
  color-scheme:light;
  --green:#005c46;
  --green-light:#e8f0eb;
  --ink:#070a09;
  --muted:#252c31;
  --line:#b9d4ca;
  --viewport-width:100vw;
  --viewport-height:100dvh;
  --browser-zoom:1;
  --inverse-browser-zoom:1;
  --gutter:calc(var(--viewport-width) * .055);
}
*{box-sizing:border-box}
html,body{height:100%;overflow:hidden}
body{margin:0;font-family:Inter,Arial,sans-serif;background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;height:auto}
a:focus-visible{outline:3px solid var(--green);outline-offset:6px}
::selection{background:#c6e4d6;color:#003d2e}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;overflow:visible}
.icon--solid{stroke:none}
.icon--arrow{width:1.35em;stroke-width:2}
.viewport-query{position:fixed;top:0;left:0;width:var(--query-width,var(--viewport-width));height:var(--viewport-height);container:viewport / size;zoom:var(--inverse-browser-zoom);overflow:visible}
.viewport-stage{width:var(--viewport-width);height:var(--viewport-height);position:relative;isolation:isolate}
.business-card{height:100%;width:100%;display:grid;grid-template-rows:minmax(64px,10.5%) minmax(0,1fr) 13.2% minmax(50px,6.1%);overflow:hidden}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:10px var(--gutter);border-bottom:1px solid #dce5df;background:#fff;position:relative;z-index:2;min-width:0;min-height:0}
.brand{height:100%;width:clamp(140px,calc(var(--viewport-width) * .15),290px);min-height:0;display:flex;align-items:center}
.brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.header-contacts{display:flex;align-items:center;gap:calc(var(--viewport-width) * .032);color:var(--green);font-size:clamp(14px,calc(var(--viewport-width) * .0155),29px);font-weight:600}
.header-contacts a{display:flex;align-items:center;gap:.6em;min-height:44px;white-space:nowrap}
.header-email{font-size:.87em}
.header-contacts .icon{width:1.1em;height:1.1em}
.header-contacts a:hover span{text-decoration:underline;text-underline-offset:5px}
.hero{position:relative;isolation:isolate;min-width:0;min-height:0;display:grid;grid-template-columns:1fr 1.04fr;gap:calc(var(--viewport-width) * .032);padding:calc(var(--viewport-height) * .034) calc(var(--viewport-width) * .022) calc(var(--viewport-height) * .06) var(--gutter);background:linear-gradient(180deg,#fff 0%,#fff 25%,#f5f8f4 100%)}
.hero:before{content:"";position:absolute;inset:36% 0 0;z-index:-1;background:url('assets/architecture.svg') left bottom / 68% auto no-repeat;opacity:.72;filter:brightness(.9);pointer-events:none}
.hero-copy{display:flex;flex-direction:column;justify-content:space-between;min-height:0;min-width:0;padding-top:calc(var(--viewport-height) * .022);padding-bottom:calc(var(--viewport-height) * .012)}
.eyebrow{text-transform:uppercase;color:#247b61;font-weight:700;letter-spacing:.15em;font-size:clamp(11px,min(calc(var(--viewport-width) * .0132),calc(var(--viewport-height) * .022)),24px);line-height:1.35}
h1{font-size:clamp(40px,min(calc(var(--viewport-width) * .0635),calc(var(--viewport-height) * .101)),128px);font-weight:900;letter-spacing:-.06em;line-height:1.04;margin-top:calc(var(--viewport-height) * .021)}
h1>span{display:block;white-space:nowrap}
.green{color:var(--green)}
.hero-description{font-size:clamp(15px,min(calc(var(--viewport-width) * .0192),calc(var(--viewport-height) * .0285)),36px);font-weight:400;line-height:1.38;letter-spacing:-.032em;color:#17212a;margin-top:calc(var(--viewport-height) * .036)}
.hero-action{margin-top:calc(var(--viewport-height) * .03);max-width:calc(var(--viewport-width) * .365)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.8em;padding:.6em 1.05em;min-height:44px;border:2px solid transparent;border-radius:3px;font-weight:600;line-height:1.2;transition:background .18s,color .18s,border-color .18s}
.button--primary{width:100%;min-height:clamp(52px,calc(var(--viewport-height) * .088),112px);font-size:clamp(19px,min(calc(var(--viewport-width) * .024),calc(var(--viewport-height) * .035)),42px);color:#fff;background:var(--green);justify-content:space-between;letter-spacing:-.035em}
.button--primary:hover{background:#004836}
.button .icon--arrow{transition:transform .18s}
.button:hover .icon--arrow{transform:translateX(4px)}
.audience{font-size:clamp(13px,min(calc(var(--viewport-width) * .016),calc(var(--viewport-height) * .023)),28px);color:#2c3643;letter-spacing:-.02em;line-height:1.35;margin-top:calc(var(--viewport-height) * .016)}
.services{display:grid;grid-template-rows:25% 10% minmax(0,1fr);min-width:0;min-height:0}
.partner{width:80%;justify-self:center;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:2px solid #4b9b80;border-radius:4px;background:#fffdfd;padding:12px;min-height:0}
.partner .eyebrow{font-size:clamp(10px,min(calc(var(--viewport-width) * .0113),calc(var(--viewport-height) * .019)),22px);letter-spacing:.14em}
.partner h2{font-size:clamp(23px,min(calc(var(--viewport-width) * .025),calc(var(--viewport-height) * .04)),48px);font-weight:800;letter-spacing:-.045em;line-height:1.12;margin-top:.3em}
.partner-company{font-size:clamp(13px,min(calc(var(--viewport-width) * .014),calc(var(--viewport-height) * .024)),27px);font-weight:600;letter-spacing:-.025em;margin-top:.3em}
.connections{min-height:0;position:relative}
.connections svg{width:100%;height:100%;display:block;overflow:visible;stroke:#287e60;stroke-width:2.5;fill:none}
.connections svg circle{fill:#f7faf6;stroke-width:3}
.connections .connections-mobile{display:none}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--viewport-width) * .0068);min-height:0;min-width:0}
.service-card{border:1.5px solid var(--line);border-radius:4px;padding:calc(var(--viewport-height) * .024) calc(var(--viewport-width) * .0125);min-width:0;min-height:0;background:#ffffffb8;display:flex;flex-direction:column;align-items:flex-start}
.service-card--safety{background:linear-gradient(145deg,#e5eee8e6,#e9f1ecc7)}
.service-art{width:100%;height:42%;min-height:0;object-fit:contain;object-position:center;flex-shrink:1}
.service-copy{width:100%;margin-top:calc(var(--viewport-height) * .018)}
.service-copy h3{font-size:clamp(23px,min(calc(var(--viewport-width) * .026),calc(var(--viewport-height) * .04)),50px);line-height:1.06;letter-spacing:-.055em;font-weight:800}
.service-copy p{font-size:clamp(14px,min(calc(var(--viewport-width) * .0164),calc(var(--viewport-height) * .025)),30px);line-height:1.3;letter-spacing:-.035em;margin-top:calc(var(--viewport-height) * .015);color:#222a26}
.service-card--coordination h3{font-size:clamp(20px,min(calc(var(--viewport-width) * .021),calc(var(--viewport-height) * .033)),40px);line-height:1.1}
.contact-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:12px calc(var(--gutter) * 1.85);background:#e1ebe5}
.contact-strip h2{font-size:clamp(23px,min(calc(var(--viewport-width) * .028),calc(var(--viewport-height) * .04)),50px);font-weight:800;line-height:1.06;letter-spacing:-.055em}
.button--outline{font-size:clamp(18px,min(calc(var(--viewport-width) * .0205),calc(var(--viewport-height) * .032)),36px);min-height:clamp(48px,calc(var(--viewport-height) * .065),86px);border-color:#438b73;background:#ffffffb3;white-space:nowrap;gap:.8em;letter-spacing:-.025em}
.button--outline:hover{background:#fff;border-color:var(--green)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px var(--gutter);background:#d0d7d3;min-height:0}
.site-footer p{font-size:clamp(12px,min(calc(var(--viewport-width) * .014),calc(var(--viewport-height) * .021)),25px);letter-spacing:-.025em;color:#222925}
.footer-contacts{display:flex;gap:calc(var(--viewport-width) * .017)}
.footer-contacts a{display:grid;place-items:center;min-width:34px;min-height:34px;font-size:clamp(21px,calc(var(--viewport-height) * .028),34px)}
.footer-contacts a:hover{color:var(--green)}
.icon--phone-outline{fill:none;stroke-width:1.1}
.mobile-section-title,.mobile-contact{display:none}

@container viewport (max-width:1000px){
  .business-card{display:block;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#a0b8aa #f4f7f3}
  .site-header{height:clamp(85px,calc(var(--viewport-width) * .23),116px);padding:10px max(24px,calc(var(--viewport-width) * .055));gap:16px;position:sticky;top:0}
  .brand{width:clamp(145px,calc(var(--viewport-width) * .42),220px)}
  .header-contacts{gap:10px;font-size:23px}
  .header-contacts a{width:44px;height:44px;justify-content:center;gap:0}
  .header-contacts span{display:none}
  .header-email{font-size:23px}
  .hero{display:flex;flex-direction:column;gap:0;padding:0;background:linear-gradient(180deg,#fff 0%,#f6f9f5 43%,#fff 85%)}
  .hero:before{display:none}
  .hero-copy{position:relative;isolation:isolate;padding:38px max(24px,calc(var(--viewport-width) * .055)) 38px;min-height:calc(var(--viewport-height) - clamp(85px,calc(var(--viewport-width) * .23),116px));justify-content:flex-start;background:linear-gradient(180deg,#fff 0%,#fbfcf9 55%,#f1f6ef 100%)}
  .hero-copy:before{content:"";position:absolute;inset:34% 0 0;z-index:-1;background:url('assets/architecture.svg') 36% bottom / auto clamp(280px,calc(var(--viewport-height) * .48),510px) no-repeat;opacity:1;filter:brightness(.48) saturate(.7);pointer-events:none;mask-image:linear-gradient(180deg,transparent 0%,#0008 17%,#000 48%)}
  .eyebrow{font-size:clamp(12px,calc(var(--viewport-width) * .032),17px);letter-spacing:.14em}
  h1{font-size:clamp(38px,calc(var(--viewport-width) * .111),88px);line-height:1.08;margin-top:18px;letter-spacing:-.06em}
  .hero-description{font-size:clamp(18px,calc(var(--viewport-width) * .047),25px);line-height:1.4;letter-spacing:-.035em;margin-top:26px;max-width:660px}
  .desktop-break{display:none}
  .hero-action{margin-top:32px;max-width:600px;width:100%}
  .button--primary{font-size:clamp(18px,calc(var(--viewport-width) * .045),24px);min-height:64px;padding:16px 20px}
  .audience{font-size:clamp(14px,calc(var(--viewport-width) * .037),19px);margin-top:14px;letter-spacing:-.025em}
  .services{display:grid;grid-template-rows:auto 130px 46px auto;padding:32px max(24px,calc(var(--viewport-width) * .055)) 42px;background:#f0f5ef;border-block:1px solid #e1eae2}
  .mobile-section-title{display:block;font-weight:800;font-size:clamp(26px,calc(var(--viewport-width) * .073),42px);letter-spacing:-.06em;line-height:1.15;margin-bottom:27px}
  .partner{width:100%;padding:20px 12px}
  .partner .eyebrow{font-size:clamp(11px,calc(var(--viewport-width) * .029),15px)}
  .partner h2{font-size:clamp(25px,calc(var(--viewport-width) * .066),35px);margin-top:8px}
  .partner-company{font-size:17px;margin-top:5px}
  .connections .connections-desktop{display:none}
  .connections .connections-mobile{display:block}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .service-card{padding:22px 17px 25px;background:#ffffffc9}
  .service-card--safety{background:#e4eee5}
  .service-art{height:clamp(95px,calc(var(--viewport-width) * .27),160px);width:100%;flex-shrink:0}
  .service-copy{margin-top:20px}
  .service-copy h3{font-size:clamp(28px,calc(var(--viewport-width) * .076),42px);letter-spacing:-.05em}
  .service-copy p{font-size:clamp(15px,calc(var(--viewport-width) * .039),20px);line-height:1.35;margin-top:12px;letter-spacing:-.03em}
  .service-card--coordination{grid-column:1/-1;flex-direction:row;align-items:center;gap:18px;padding:20px 16px}
  .service-card--coordination .service-art{width:27%;max-width:135px;height:100px}
  .service-card--coordination .service-copy{margin-top:0;flex:1}
  .service-card--coordination h3{font-size:clamp(20px,calc(var(--viewport-width) * .052),29px);line-height:1.15;letter-spacing:-.04em}
  .service-card--coordination p{margin-top:8px}
  .mobile-contact{display:block;position:relative;isolation:isolate;padding:44px max(24px,calc(var(--viewport-width) * .055)) 46px}
  .mobile-contact:before{content:"";position:absolute;inset:55% 0 0;z-index:-1;background:url('assets/architecture.svg') center bottom / auto 240px no-repeat;opacity:.45;pointer-events:none}
  .mobile-contact h2{font-size:clamp(36px,calc(var(--viewport-width) * .097),56px);font-weight:800;line-height:1.07;letter-spacing:-.06em}
  .contact-description{font-size:clamp(17px,calc(var(--viewport-width) * .043),23px);line-height:1.5;margin-top:20px;letter-spacing:-.025em;color:var(--muted)}
  .contact-person{margin-top:34px}
  .contact-person strong{display:block;font-size:clamp(25px,calc(var(--viewport-width) * .064),34px);font-weight:800;letter-spacing:-.04em}
  .contact-person>span{display:block;font-size:17px;margin-top:5px}
  .mobile-call{margin-top:23px;max-width:600px;justify-content:center;gap:22px;text-align:left;min-height:94px}
  .mobile-call>.icon{width:34px;height:34px}
  .mobile-call>span{font-size:18px;font-weight:500}
  .mobile-call strong{display:block;font-size:clamp(26px,calc(var(--viewport-width) * .073),34px);font-weight:600;margin-top:5px;letter-spacing:-.035em;white-space:nowrap}
  .mobile-email{display:flex;align-items:center;gap:20px;width:fit-content;min-height:54px;color:var(--green);font-size:clamp(22px,calc(var(--viewport-width) * .064),32px);font-weight:600;letter-spacing:-.035em;margin-top:22px}
  .mobile-email .icon{width:31px;height:31px}
  .contact-strip{display:none}
  .site-footer{min-height:74px;padding:17px max(24px,calc(var(--viewport-width) * .055));gap:15px}
  .site-footer p{font-size:13px}
  .footer-contacts{gap:12px}
  .footer-contacts a{font-size:24px;min-width:38px;min-height:40px}
}
@container viewport (min-width:601px) and (max-width:1000px){
  .hero-copy{padding-top:54px;min-height:min(770px,calc(var(--viewport-height) - 116px))}
  h1{font-size:clamp(64px,calc(var(--viewport-width) * .102),88px)}
  .services{padding-top:44px;padding-bottom:44px;grid-template-rows:auto 155px 55px auto}
  .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-card--coordination{grid-column:auto;flex-direction:column;align-items:flex-start;gap:0;padding:22px 17px 25px}
  .service-card--coordination .service-art{width:100%;max-width:none;height:clamp(95px,calc(var(--viewport-width) * .2),160px)}
  .service-card--coordination .service-copy{margin-top:20px}
  .service-card--coordination h3{font-size:clamp(23px,calc(var(--viewport-width) * .034),30px)}
  .service-card--coordination .desktop-break{display:block}
  .connections .connections-desktop{display:block}
  .connections .connections-mobile{display:none}
}
@container viewport (max-width:360px){
  .site-header{padding-inline:18px;gap:8px}
  .brand{width:140px}
  .header-contacts{gap:2px;font-size:21px}
  .header-email{font-size:21px}
  .hero-copy,.services,.mobile-contact{padding-inline:20px}
  h1{font-size:36px}
  .hero-description{font-size:17px}
  .button--primary{font-size:17px;padding-inline:16px}
  .service-grid{gap:10px}
  .service-card{padding-inline:13px}
  .service-copy p{font-size:14px}
  .service-card--coordination{gap:12px}
  .service-card--coordination h3{font-size:19px}
  .mobile-call{gap:16px}
  .mobile-call strong{font-size:25px}
  .site-footer{padding-inline:20px}
}
@container viewport (max-width:1000px) and (max-height:600px){
  .hero-copy{min-height:500px;padding-top:32px;padding-bottom:42px}
}
@container viewport (min-width:1001px) and (max-height:620px){
  .hero{padding-top:14px;padding-bottom:20px}
  .hero-copy{padding-top:0;padding-bottom:0}
  .hero-description{margin-top:14px}
  .hero-action{margin-top:14px}
  .partner{padding:5px}
  .partner .eyebrow{font-size:9px;letter-spacing:.1em}
  .partner h2{font-size:20px;margin-top:4px}
  .partner-company{font-size:12px;margin-top:3px}
  .service-card{padding:12px}
  .service-art{height:38%}
  .service-copy{margin-top:8px}
  .service-copy h3{font-size:21px}
  .service-card--coordination h3{font-size:19px}
  .service-copy p{font-size:12px;margin-top:8px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
