/* Mill River Landing: focused responsive refinements, preserving the Windsor design. */
.mrl-menu-label { display:none; }
@media (max-width:767px) {
  .mrl-refined .menu_side_wrap .menu_side_button {
    position:fixed; top:max(16px,env(safe-area-inset-top)); left:auto !important; right:16px !important; bottom:auto;
    width:86px; height:44px; line-height:44px; margin:0; transform:none;
    padding:0 !important; text-indent:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; text-align:center !important; box-sizing:border-box;
    border:1px solid #3fb9be; border-radius:2px; background:#0e1021 !important; color:#fff !important; text-align:center;
    font-family:var(--theme-font-p_font-family,sans-serif); font-size:12px; letter-spacing:.1em; z-index:1000; cursor:pointer;
  }
  .mrl-refined .menu_side_wrap .menu_side_button::before { display:none; }
  .mrl-refined .menu_side_wrap .menu_side_button::after { content:none !important; }
  .mrl-refined .menu_side_button .mrl-menu-label { display:inline; position:static; width:auto; height:auto; margin:0; padding:0; font:inherit; line-height:1; }
  .mrl-refined .menu_side_button:focus-visible { outline:2px solid #3fb9be; outline-offset:4px; }
}

.mrl-refined .footer_wrap a { overflow-wrap:anywhere; }
.mrl-refined :is(a,button,input,textarea,select):focus-visible { outline:2px solid #3fb9be; outline-offset:4px; }
.mrl-refined .elementor-element-7a690c16 p { line-height:1.8; }
@media (max-width:1024px) {
  .mrl-refined .elementor-40 .elementor-element-85a26a8 > .elementor-container { align-items:center; }
  .mrl-refined .elementor-40 .elementor-element-b5f8719,
  .mrl-refined .elementor-40 .elementor-element-4cc58e8 { display:none; }
  .mrl-refined .elementor-40 .elementor-element-e537d10 { width:100%; }
  .mrl-refined .elementor-40 .elementor-element-dc1dc34 { width:100%; max-width:100%; }
  .mrl-refined .elementor-40 .elementor-element-bf27e64 { width:100%; max-width:680px; min-height:0; }
  .mrl-refined .elementor-40 .hero-breakout { width:100% !important; max-width:100%; left:auto; transform:none; }
  .mrl-refined .elementor-40 .hero-breakout .elementor-heading-title { width:100%; max-width:100%; margin:0; }
  .mrl-refined .footer_wrap .elementor-column { min-width:0; }
}
@media (max-width:767px) {
  .mrl-refined .elementor-40 .elementor-element-85a26a8 > .elementor-container { min-height:650px; min-height:100svh; }
  .mrl-refined .elementor-40 .elementor-element-e537d10 > .elementor-widget-wrap { padding:72px 22px 56px; }
  .mrl-refined .elementor-40 .elementor-element-dc1dc34,
  .mrl-refined .elementor-40 .elementor-element-bf27e64 { padding:0; }
  .mrl-refined .elementor-40 .hero-breakout .elementor-heading-title { font-size:clamp(30px,8vw,40px); line-height:1.22; }
  .mrl-refined .elementor-40 .elementor-element-a379702 .elementor-heading-title { line-height:1.4; }
  .mrl-refined .elementor-40 .elementor-element-805a4cc .sc_button_wrap { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
  .mrl-refined .elementor-40 .elementor-element-805a4cc .sc_button { margin:0; min-height:48px; padding:16px 22px; box-sizing:border-box; }
  .mrl-refined .elementor-40 .elementor-element-6378cc41 { padding-left:24px; padding-right:24px; }
  .mrl-refined .elementor-40 .elementor-element-9d8d4fd :is(.sc_googlemap,iframe) { height:320px !important; max-height:55svh; }
  .mrl-refined .elementor-40 .sc_height_huge .elementor-spacer-inner { height:64px !important; }
  .mrl-refined .elementor-40 .sc_height_large .elementor-spacer-inner { height:44px !important; }
  .mrl-refined .elementor-40 .sc_height_medium .elementor-spacer-inner { height:28px !important; }
  .mrl-refined .elementor-40 .elementor-element-273bc6d6 .sc_skills_columns { display:flex; flex-wrap:wrap; }
  .mrl-refined .elementor-40 .elementor-element-273bc6d6 .sc_skills_column { width:100%; }
  .mrl-refined .elementor-40 .elementor-element-273bc6d6 .sc_skills_item_wrap { padding:14px 0; }
  .mrl-refined .elementor-40 .elementor-element-6e5d8859 { margin-bottom:0; padding:0; }
  .mrl-refined .elementor-34 .elementor-element-3fa6562a { transform:none !important; }
  .mrl-refined .elementor-34 .elementor-element-7d25c5c5 > .elementor-container { padding-left:14px; padding-right:14px; box-sizing:border-box; }
  .mrl-refined .elementor-34 .elementor-element-3fa6562a .trx_addons_columns_wrap { display:flex; flex-direction:column; margin:0; gap:20px; }
  .mrl-refined .elementor-34 .elementor-element-3fa6562a .trx_addons_columns_wrap > div { width:100%; padding:0; }
  .mrl-refined .elementor-34 .elementor-element-3fa6562a .sc_icons_item { box-sizing:border-box; }
  .mrl-refined .footer_wrap .elementor-element-4024e15d > .elementor-container,
  .mrl-refined .footer_wrap .elementor-element-5e16c551 > .elementor-container { flex-direction:column; }
  .mrl-refined .footer_wrap .elementor-element-4024e15d .elementor-column,
  .mrl-refined .footer_wrap .elementor-element-5e16c551 .elementor-column { width:100%; }
  .mrl-refined .footer_wrap .elementor-element-4024e15d > .elementor-container { gap:20px; }
  .mrl-refined .footer_wrap .elementor-element-5e16c551 > .elementor-container { gap:10px; padding-bottom:20px; }
  .mrl-refined .footer_wrap .elementor-element-7a690c16 { text-align:center; font-size:13px; }
  .mrl-refined .footer_wrap .sc_layouts_menu_nav { display:flex; justify-content:center; flex-wrap:wrap; gap:4px 16px; }
  .mrl-refined .footer_wrap .sc_layouts_menu_nav > li > a { min-height:44px; display:flex; align-items:center; padding:4px 0; }
  .mrl-refined :is(.glsr-form,.wpcf7-form) :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { font-size:16px; max-width:100%; box-sizing:border-box; }
  .mrl-refined .menu_mobile .menu_mobile_nav_area li > a { min-height:44px; box-sizing:border-box; }
}

/* Mobile hero: show the building above a compact, readable introduction. */
.mrl-hero-mobile { display:none; }
@media (max-width:767px) {
  .mrl-refined .elementor-40 .elementor-element-85a26a8 {
    background-size:100% auto !important; background-position:center top !important; background-repeat:no-repeat;
    background-color:#0e1021; height:auto !important; min-height:0 !important;
  }
  .mrl-refined .elementor-40 .elementor-element-85a26a8 > .elementor-background-overlay {
    background:linear-gradient(180deg,rgba(14,16,33,.04) 0%,rgba(14,16,33,.05) 21%,rgba(14,16,33,.68) 36%,#0e1021 49%);
    opacity:1;
  }
  .mrl-refined .elementor-40 .elementor-element-85a26a8 > .elementor-container { min-height:0 !important; }
  .mrl-refined .elementor-40 .elementor-element-e537d10 > .elementor-widget-wrap { padding:clamp(210px,60vw,340px) 24px 40px !important; }
  .mrl-refined .elementor-40 .elementor-element-dc1dc34,
  .mrl-refined .elementor-40 .elementor-element-dc1dc34 > .e-con-inner,
  .mrl-refined .elementor-40 .elementor-element-bf27e64 {
    width:100%; max-width:100%; padding:0; margin:0; min-height:0; align-items:flex-start; --gap:0px; gap:0;
  }
  .mrl-refined .elementor-40 .elementor-element-bf27e64::before { display:none !important; }
  .mrl-refined .elementor-40 .elementor-element-85a26a8 { width:calc(100% - 20px); margin-left:10px; margin-right:10px; }
  .mrl-refined .elementor-40 .elementor-element-a379702 { width:100%; margin:0 0 14px; }
  .mrl-refined .elementor-40 .elementor-element-a379702 .elementor-heading-title { text-align:left; font-size:15px; line-height:1.4; }
  .mrl-refined .elementor-40 .hero-breakout { margin:0 !important; }
  .mrl-refined .elementor-40 .hero-breakout .elementor-heading-title {
    display:block; font-size:clamp(37px,10.3vw,52px); line-height:1.09; text-align:left; letter-spacing:0;
  }
  .mrl-refined .mrl-hero-original { display:none; }
  .mrl-refined .mrl-hero-mobile { display:block; }
  .mrl-refined .mrl-hero-date {
    display:block; margin-top:20px; font-family:var(--theme-font-p_font-family,sans-serif);
    font-size:12px; font-weight:400; line-height:1.6; letter-spacing:.11em; text-transform:uppercase; color:#bed2d8;
  }
  .mrl-refined .elementor-40 .elementor-element-805a4cc { width:100%; margin-top:26px; }
  .mrl-refined .elementor-40 .elementor-element-805a4cc .sc_button_wrap { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:12px; }
  .mrl-refined .elementor-40 .elementor-element-805a4cc .sc_button { flex:1 1 0; min-width:0; padding:16px 10px; min-height:48px; letter-spacing:.16em; text-align:center !important; display:flex !important; align-items:center !important; justify-content:center !important; }
  .mrl-refined .elementor-40 .elementor-element-805a4cc .sc_button + .sc_button { background:transparent !important; color:#fff !important; border:1px solid #698089; }
}

#mrl-intro { display:none; position:fixed; inset:0; z-index:2147483000; background:#0e1021; color:#fff; align-items:center; justify-content:center; flex-direction:column; padding:32px; box-sizing:border-box; text-align:center; opacity:1; transition:opacity .36s ease; }
html.mrl-intro-pending { overflow:hidden; }
html.mrl-intro-pending body { background:#0e1021; }
html.mrl-intro-pending .body_wrap { visibility:hidden; }
html.mrl-intro-pending #mrl-intro { display:flex; }
#mrl-intro.mrl-intro-leaving { opacity:0; pointer-events:none; }
#mrl-intro img { width:clamp(180px,42vw,270px); height:auto; max-width:70vw; animation:mrl-logo-in .85s ease both; }
#mrl-intro .mrl-intro-line { width:100px; height:2px; margin:16px auto 22px; background:#3fb9be; transform-origin:center; animation:mrl-line-in 1.1s ease both; }
#mrl-intro .mrl-intro-place { font-family:inherit; font-size:11px; line-height:1.6; letter-spacing:.24em; text-transform:uppercase; color:#c1d6db; animation:mrl-logo-in .9s .15s ease both; }
#mrl-intro .mrl-intro-skip { position:absolute; top:max(20px,env(safe-area-inset-top)); right:max(20px,env(safe-area-inset-right)); min-width:100px; min-height:44px; border:1px solid #55626f; border-radius:2px; padding:10px 16px; background:transparent; color:#fff; font:inherit; font-size:13px; letter-spacing:.04em; cursor:pointer; }
#mrl-intro .mrl-intro-skip:hover { border-color:#3fb9be; background:#192e38; }
#mrl-intro .mrl-intro-skip:focus-visible { outline:2px solid #3fb9be; outline-offset:4px; }
@keyframes mrl-logo-in { from { opacity:0; transform:translateY(10px) scale(.975); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes mrl-line-in { from { opacity:0; transform:scaleX(0); } to { opacity:1; transform:scaleX(1); } }
@media(prefers-reduced-motion:reduce) {
  #mrl-intro { display:none !important; animation:none; transition:none; }
  html.mrl-intro-pending { overflow:auto; }
  html.mrl-intro-pending .body_wrap { visibility:visible; }
}

/* Public Coming Soon canvas: remove the theme's reserved side-navigation space. */
body.elementor-page-455 { margin:0 !important; padding:0 !important; background:#0e1021; }
body.elementor-page-455 .elementor-455 > .elementor-element-ac050001 { min-height:100svh; }
body.elementor-page-455 .scroll_to_top { display:none !important; }
body.elementor-page-455 a:focus-visible { outline:2px solid #73d1d4; outline-offset:5px; }
body.elementor-page-455 .elementor-element-ac050008 a { color:#73d1d4; }
