.hub-main{--hub-ink:#142028;--hub-blue:#285b81;--hub-muted:#5b6c71;--hub-line:#dce4e5;color:var(--hub-ink)}
.hub-main h1,.hub-main h2,.hub-main h3,.hub-main h4{letter-spacing:-.045em;font-weight:750;line-height:1.07}
.hub-main h4{margin:0;font-size:23px}
.hub-main p{line-height:1.47}
.hub-main .icon{width:22px;height:22px}
.hub-main [id]{scroll-margin-top:24px}
.hub-overline{font-size:16px;font-weight:650;color:var(--hub-blue)}
.hub-button{display:inline-flex;align-items:center;justify-content:center;gap:19px;padding:16px 21px;min-height:54px;max-width:100%;border:1.5px solid transparent;border-radius:14px;font-size:16px;line-height:1.2;font-weight:700;transition:background .18s,transform .18s}
.hub-button:hover{transform:translateY(-2px)}
.hub-button-primary{color:#fff;background:var(--hub-blue)}
.hub-button-primary:hover{background:#204c6e}
.hub-button-outline{border-color:var(--hub-blue);color:var(--hub-blue);background:transparent}
.hub-button-outline:hover{background:#e2ecf2}
.hub-hero{display:grid;grid-template-columns:1.03fr 1fr;gap:18px}
.hub-hero-copy{border-radius:32px;background:#e7eef2;padding:40px 38px;display:flex;flex-direction:column;align-items:flex-start}
.hub-hero-copy h1{font-size:clamp(45px,4.5vw,75px);margin-top:15px;line-height:1.03}
.hub-hero-copy h1 span{color:#2a516c}
.hub-hero-description{font-size:18px;max-width:530px;color:var(--hub-muted);margin-top:24px}
.hub-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}
.hub-hero-caption{font-size:15px;line-height:1.45;color:var(--hub-muted);margin-top:25px}
.hub-hero-visual{display:grid;grid-template-rows:minmax(230px,1fr) auto;gap:16px;min-width:0}
.hub-hero-project{position:relative;overflow:hidden;border-radius:32px;min-height:250px}
.hub-hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hub-photo-caption{position:absolute;left:19px;bottom:18px;padding:9px 13px;border-radius:10px;background:#fffef1f2;color:#243847;font-size:14px;font-weight:650;line-height:1.2;max-width:calc(100% - 38px)}
.hub-person{display:grid;grid-template-columns:clamp(145px,13.4vw,200px) 1fr;align-items:center;background:white;border:1px solid var(--hub-line);border-radius:28px;overflow:hidden;gap:23px}
.hub-person-photo{height:241px;width:100%;object-fit:cover;object-position:50% 12%}
.hub-person-copy{padding:21px 22px 21px 0;min-width:0}
.hub-person-copy h2{font-size:34px;line-height:1.04}
.hub-person-copy p{font-size:15px;color:var(--hub-muted);margin-top:12px;max-width:335px}
.hub-person-link{display:inline-flex;align-items:center;gap:12px;color:var(--hub-blue);font-size:15px;font-weight:700;margin-top:15px}
.hub-person-link:hover{text-decoration:underline;text-underline-offset:4px}
.hub-section{margin-top:70px}
.hub-section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:36px;margin-bottom:27px}
.hub-section-heading h2{font-size:clamp(37px,3.8vw,61px)}
.hub-section-heading p{font-size:18px;color:var(--hub-muted);max-width:500px;justify-self:end}
.hub-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hub-project{display:flex;flex-direction:column;min-width:0;border-radius:28px;overflow:hidden;background:#e7eef3;border:1px solid transparent;transition:transform .2s,border-color .2s}
.hub-project-green{background:#e9f0eb}
.hub-project-sand{background:#f1e9df}
.hub-project:hover{transform:translateY(-3px);border-color:#afc3cc}
.hub-project-photo{position:relative;aspect-ratio:1.92;overflow:hidden;background:#dae4e9}
.hub-project-image{width:100%;height:100%;object-fit:cover;object-position:50% 52%;transition:transform .35s}
.hub-project:hover .hub-project-image{transform:scale(1.025)}
.hub-project-format{position:absolute;left:20px;bottom:18px;padding:9px 12px;background:#fffef5f2;border-radius:9px;font-size:14px;font-weight:650;max-width:calc(100% - 40px)}
.hub-project-body{padding:23px 27px;display:flex;flex:1;flex-direction:column;min-width:0}
.hub-project-location{font-size:15px;color:#4e696f;font-weight:600}
.hub-project-body h3{font-size:42px;margin-top:10px}
.hub-project-description{font-size:17px;color:var(--hub-muted);margin-top:13px;max-width:540px;flex:1}
.hub-project-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;color:var(--hub-blue);font-size:17px;font-weight:700}
.hub-round-arrow{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid #a9bac3;background:#fffef7b5;border-radius:50%;flex-shrink:0}
.hub-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hub-region{border:1px solid var(--hub-line);border-radius:28px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}
.hub-region-photo{position:relative;aspect-ratio:2.1;overflow:hidden}
.hub-region-image{width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.hub-region-body{padding:27px;flex:1;display:flex;flex-direction:column}
.hub-region-body h3{font-size:40px}
.hub-region-intro{font-size:18px;color:var(--hub-muted);margin-top:15px;margin-bottom:21px}
.hub-place-list{display:grid;gap:0}
.hub-place-list>a{display:flex;align-items:center;justify-content:space-between;gap:17px;padding:17px 0;border-top:1px solid var(--hub-line)}
.hub-place-list>a:last-child{padding-bottom:0}
.hub-place-list>a:hover h4{color:var(--hub-blue)}
.hub-place-list p,.hub-sochi-notes p{font-size:16px;color:var(--hub-muted);margin-top:8px}
.hub-place-list .icon{flex-shrink:0;color:var(--hub-blue)}
.hub-sochi-notes{display:grid;gap:18px}
.hub-sochi-notes>div{border-top:1px solid var(--hub-line);padding-top:17px}
.hub-region-sochi .hub-button{align-self:flex-start;margin-top:22px}
.hub-personal{display:grid;grid-template-columns:1.22fr .85fr;gap:45px;margin-top:70px;padding:36px;border-radius:30px;background:#edf0e8}
.hub-personal-copy h2{font-size:clamp(36px,3.1vw,50px);margin-top:14px;max-width:700px}
.hub-personal-copy>p:not(.hub-overline){font-size:18px;color:var(--hub-muted);margin-top:22px;max-width:590px}
.hub-direction-tags{display:flex;flex-direction:column;gap:9px;margin-top:23px;color:#3e6059;font-size:14px;line-height:1.4;font-weight:650}
.hub-approach-steps{align-self:center}
.hub-approach-steps h3{font-size:25px}
.hub-approach-steps p{font-size:16px;color:var(--hub-muted);margin-top:8px;max-width:370px}
.hub-step-arrow{display:block;color:#668180;padding:10px 0}
.hub-step-arrow .icon{width:19px;height:19px}
.hub-consultation{display:grid;grid-template-columns:1.28fr 1fr;gap:54px;align-items:center;margin-top:70px;padding:38px;background:#173b56;border-radius:30px;color:white}
.hub-consultation-copy h2{font-size:clamp(38px,3.6vw,58px);line-height:1.09}
.hub-consultation-copy>p{font-size:18px;color:#d4e2eb;margin-top:22px;max-width:550px}
.hub-consultation-copy .hub-consultation-prompt{font-size:16px;color:#c9dce6;margin-top:18px;padding-left:15px;border-left:2px solid #89a9bd}
.hub-consultation-contacts{display:grid;gap:13px;min-width:0}
.hub-contact{display:flex;align-items:center;gap:15px;min-height:84px;padding:17px 18px;border-radius:18px;background:#e1f1fb;color:#162d3f;transition:transform .2s,background .2s}
.hub-contact-max{background:#eae4fc}
.hub-contact:hover{transform:translateY(-2px);background:white}
.hub-contact-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;background:#1da8dd}
.hub-contact-max .hub-contact-icon{background:#6b47d7}
.hub-contact-icon svg{width:25px;height:25px}
.hub-contact>span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}
.hub-contact strong{font-size:23px;line-height:1.2}
.hub-contact>span:nth-child(2)>span{font-size:14px;line-height:1.3;color:#3e5160}
.hub-contact>.icon{margin-left:auto}
.hub-call{display:grid;grid-template-columns:1fr auto;gap:5px 15px;padding:9px 4px;color:white;align-items:center}
.hub-call>span{font-size:15px;color:#c8dce9}
.hub-call strong{font-size:22px;line-height:1.3;grid-column:1;white-space:nowrap}
.hub-call>.icon{grid-column:2;grid-row:1/3}
.hub-call:hover strong{text-decoration:underline;text-underline-offset:4px}
.hub-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;margin-bottom:68px}
.hub-faq-heading h2{font-size:clamp(39px,3.8vw,60px)}
.hub-faq-heading p{font-size:18px;margin-top:21px;color:var(--hub-muted)}
.hub-faq-heading .hub-button{margin-top:23px}
.hub-question-list{border-top:1px solid var(--hub-line)}
.hub-question{border-bottom:1px solid var(--hub-line)}
.hub-question>summary{display:flex;list-style:none;justify-content:space-between;align-items:center;gap:21px;padding:23px 0;font-size:19px;font-weight:650;line-height:1.35;cursor:pointer}
.hub-question>summary::-webkit-details-marker{display:none}
.hub-question-plus{font-size:29px;font-weight:400;color:var(--hub-blue);flex-shrink:0;width:24px;text-align:center;line-height:1}
.hub-question[open] .hub-question-plus{transform:rotate(45deg)}
.hub-question>p{font-size:17px;color:var(--hub-muted);padding:0 37px 23px 0;max-width:780px}
@media(min-width:1600px){.hub-hero-copy{padding:49px 43px}.hub-hero-copy h1{font-size:77px}.hub-hero-description{font-size:20px}.hub-hero-project{min-height:325px}}
@media(max-width:1120px){.hub-hero-copy{padding:31px 28px}.hub-hero-copy h1{font-size:clamp(44px,4.8vw,58px)}.hub-person{grid-template-columns:140px 1fr;gap:17px}.hub-person-photo{height:238px}.hub-person-copy{padding:18px 15px 18px 0}.hub-person-copy h2{font-size:30px}.hub-person-copy p{font-size:14px}.hub-person-link{font-size:14px}.hub-hero-actions .hub-button{font-size:15px;padding:15px 17px;gap:12px}.hub-project-body h3{font-size:36px}.hub-consultation{gap:30px;padding:32px}.hub-personal{gap:30px;padding:30px}.hub-faq{gap:35px}}
@media(max-width:820px){.hub-hero{grid-template-columns:1fr}.hub-hero-copy h1{font-size:clamp(45px,7.5vw,65px)}.hub-hero-visual{grid-template-columns:1.15fr 1fr;grid-template-rows:auto;gap:14px}.hub-hero-project{min-height:295px}.hub-person{grid-template-columns:118px 1fr;gap:14px;align-self:stretch}.hub-person-photo{height:100%}.hub-person-copy h2{font-size:27px}.hub-person-copy p{font-size:13px}.hub-person-link{font-size:13px;gap:7px}.hub-hero-image{object-position:50% 50%}.hub-section-heading{gap:22px}.hub-section-heading h2{font-size:43px}.hub-section-heading p{font-size:16px}.hub-project-body{padding:21px}.hub-project-location{font-size:14px}.hub-project-description{font-size:16px}.hub-project-body h3{font-size:34px}.hub-region-body{padding:22px}.hub-region-intro{font-size:17px}.hub-main h4{font-size:22px}.hub-place-list p,.hub-sochi-notes p{font-size:15px}.hub-personal{grid-template-columns:1fr 1fr;gap:24px}.hub-personal-copy h2{font-size:37px}.hub-personal-copy>p:not(.hub-overline){font-size:17px}.hub-approach-steps h3{font-size:23px}.hub-consultation{gap:25px;grid-template-columns:1fr 1fr}.hub-consultation-copy h2{font-size:37px}.hub-consultation-copy>p{font-size:17px}.hub-contact{padding:15px 13px;gap:11px}.hub-contact-icon{width:37px;height:37px}.hub-contact strong{font-size:21px}.hub-contact>span:nth-child(2)>span{font-size:13px}.hub-call strong{font-size:19px}.hub-faq{grid-template-columns:.8fr 1.2fr;gap:27px}.hub-question>summary{font-size:17px}.hub-question>p{font-size:16px}}
@media(max-width:620px){.hub-hero{gap:13px}.hub-hero-copy{padding:28px 23px;border-radius:25px}.hub-overline{font-size:15px}.hub-hero-copy h1{font-size:clamp(39px,10.8vw,62px);margin-top:14px}.hub-hero-description{font-size:17px;margin-top:20px}.hub-hero-actions{width:100%;gap:10px;margin-top:23px}.hub-hero-actions .hub-button{min-height:51px;font-size:15px;padding:15px 16px;gap:14px}.hub-hero-caption{font-size:14px;margin-top:22px}.hub-hero-visual{grid-template-columns:1fr;grid-template-rows:auto auto}.hub-hero-project{min-height:0;aspect-ratio:1.65;border-radius:25px}.hub-hero-image{height:100%}.hub-person{grid-template-columns:117px 1fr;gap:17px;border-radius:22px;min-height:205px}.hub-person-photo{height:100%;min-height:205px;object-position:50% 12%}.hub-person-copy{padding:20px 15px 20px 0}.hub-person-copy h2{font-size:28px}.hub-person-copy p{font-size:13px;line-height:1.45;margin-top:10px}.hub-person-link{margin-top:11px;font-size:13px}.hub-person-link .icon{width:17px;height:17px}.hub-photo-caption{font-size:12px;left:14px;bottom:14px;padding:8px 10px}.hub-section{margin-top:47px}.hub-section-heading{grid-template-columns:1fr;gap:17px;margin-bottom:22px}.hub-section-heading h2{font-size:38px}.hub-section-heading p{font-size:17px;justify-self:start;max-width:none}.hub-project-grid{grid-template-columns:1fr;gap:16px}.hub-project{border-radius:24px}.hub-project-photo{aspect-ratio:1.65}.hub-project-format{font-size:13px;left:16px;bottom:14px;padding:8px 10px}.hub-project-body{padding:20px 21px}.hub-project-location{font-size:14px}.hub-project-body h3{font-size:36px;margin-top:9px}.hub-project-description{font-size:16px;margin-top:11px}.hub-project-link{font-size:16px;margin-top:17px}.hub-round-arrow{width:39px;height:39px}.hub-region-grid{grid-template-columns:1fr;gap:17px}.hub-region{border-radius:24px}.hub-region-photo{aspect-ratio:1.7}.hub-region-body{padding:23px 21px}.hub-region-body h3{font-size:36px}.hub-region-intro{font-size:17px;margin-top:13px;margin-bottom:18px}.hub-main h4{font-size:23px}.hub-place-list p,.hub-sochi-notes p{font-size:16px}.hub-place-list>a{gap:12px;padding:16px 0}.hub-region-sochi .hub-button{font-size:15px;gap:13px;min-height:51px;padding:15px 16px}.hub-personal{grid-template-columns:1fr;margin-top:47px;padding:27px 22px;gap:28px;border-radius:25px}.hub-personal-copy h2{font-size:36px}.hub-personal-copy>p:not(.hub-overline){font-size:17px;margin-top:20px}.hub-direction-tags{font-size:13px;margin-top:20px}.hub-approach-steps h3{font-size:24px}.hub-approach-steps p{font-size:16px;max-width:none}.hub-step-arrow{padding:10px 0}.hub-consultation{grid-template-columns:1fr;gap:26px;margin-top:47px;padding:28px 22px;border-radius:25px}.hub-consultation-copy h2{font-size:36px}.hub-consultation-copy>p{font-size:17px;margin-top:19px}.hub-consultation-copy .hub-consultation-prompt{font-size:15px;margin-top:17px}.hub-contact{padding:16px;min-height:78px;gap:13px;border-radius:16px}.hub-contact-icon{width:42px;height:42px}.hub-contact strong{font-size:22px}.hub-contact>span:nth-child(2)>span{font-size:13px}.hub-call{padding-top:11px}.hub-call strong{font-size:22px}.hub-faq{grid-template-columns:1fr;gap:26px;margin-bottom:45px}.hub-faq-heading h2{font-size:38px}.hub-faq-heading p{font-size:17px;margin-top:17px}.hub-faq-heading .hub-button{margin-top:19px}.hub-question>summary{font-size:18px;padding:20px 0;gap:16px}.hub-question>p{font-size:16px;padding-right:0;padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.hub-button,.hub-project,.hub-project-image,.hub-contact{transition:none}.hub-button:hover,.hub-project:hover,.hub-contact:hover{transform:none}.hub-project:hover .hub-project-image{transform:none}}
