/* Custom opening component only. Native theme settings own the remaining site. */
.si-opening{color:#2f2f2e;background:#f7f6f1}
.si-hero{display:grid;grid-template-columns:1.08fr 1fr;max-width:1600px;margin:0 auto}
.si-hero-copy{padding:76px clamp(28px,5.2vw,84px) 60px;align-self:center}
.si-opening .si-eyebrow{font-size:13px;font-weight:700;letter-spacing:.13em;line-height:1.6;color:#015453;margin:0 0 28px}
.si-opening h1{font-size:clamp(44px,4.55vw,72px);font-weight:500;line-height:1.08;letter-spacing:-.045em;margin:0 0 28px}
.si-opening h1 span{color:#015453}
.si-opening .si-lead{font-size:19px;line-height:1.65;max-width:500px;margin-bottom:30px}
.si-actions{display:flex;flex-wrap:wrap;gap:12px}
.si-opening .si-button{font-size:16px;font-weight:600;line-height:1.4;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 20px;border:1px solid #015453;border-radius:3px;text-decoration:none}
.si-opening .si-button-primary{background:#015453;color:#fff}
.si-opening .si-button-secondary{color:#015453;background:transparent}
.si-opening .si-button:hover{background:#e9e8e2;color:#015453}
.si-opening a:focus-visible{outline:3px solid #ac7547;outline-offset:4px}
.si-opening .si-service{font-size:15px;color:#5a625e;margin:24px 0 0}
.si-hero-photo{margin:0;min-height:650px;overflow:hidden}
.si-hero-photo img{display:block;width:100%;height:100%;max-height:790px;object-fit:cover;object-position:50% 55%}
.si-paths{max-width:1440px;margin:auto;padding:70px clamp(28px,5.2vw,84px) 44px;scroll-margin-top:110px}
.si-paths-heading{display:flex;align-items:start;justify-content:space-between;gap:40px;margin-bottom:46px}
.si-opening .si-paths-heading h2{font-size:clamp(32px,3vw,44px);line-height:1.18;letter-spacing:-.025em;margin:0;width:65%;font-weight:500}
.si-paths-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.si-paths-grid article{border-top:1px solid #bbc7c0;padding-top:22px;display:flex;flex-direction:column;align-items:start}
.si-path-number{font-size:14px;color:#537469;margin-bottom:25px}
.si-opening .si-paths h3{font-size:25px;line-height:1.25;margin:0 0 14px;font-weight:500;letter-spacing:-.015em}
.si-opening .si-paths article p{font-size:18px;line-height:1.6;margin-bottom:25px;max-width:300px}
.si-opening .si-paths a{font-size:16px;font-weight:600;color:#015453;text-decoration:none}
.si-paths article a{margin-top:auto;display:flex;gap:14px;line-height:1.5}
.si-paths a:hover{text-decoration:underline}
.si-opening .si-specialty{border-top:1px solid #d6dcd6;padding-top:26px;margin-top:38px;font-size:16px;line-height:1.7}
@media(max-width:1050px){.si-hero-copy{padding:50px 30px}.si-hero-photo{min-height:610px}.si-actions{flex-direction:column;align-items:start}.si-paths-grid{gap:24px}}
@media(max-width:767px){.si-hero{grid-template-columns:1fr}.si-hero-copy{padding:44px 24px}.si-opening h1{font-size:46px}.si-opening .si-lead{font-size:18px}.si-actions{align-items:stretch}.si-hero-photo{min-height:0;height:390px}.si-hero-photo img{object-position:50% 52%}.si-paths{padding:42px 24px}.si-paths-heading{display:block;margin-bottom:28px}.si-opening .si-paths-heading h2{width:auto;font-size:34px}.si-opening .si-eyebrow{font-size:12px;margin-bottom:20px}.si-paths-grid{grid-template-columns:1fr;gap:30px}.si-path-number{margin-bottom:14px}.si-opening .si-paths article p{max-width:none;margin-bottom:16px}.si-opening .si-specialty a{display:block}}
/* Scoped header extension: native navigation and translation behaviors retained. */
.si-nav{border-bottom:1px solid #e0e4df!important}
.si-nav .navbar-brand img{max-height:68px}
.si-nav .navbar-nav>li>a{font-size:16px}
.si-nav .navbar-btn .btn{font-size:16px;padding:14px 23px;border-radius:3px}
.si-nav .sl-floating-language.si-header-language{position:static!important;float:right;margin:19px 16px 15px 8px;z-index:auto;box-shadow:none}
.si-nav .si-header-language .btn{background:#fff;color:#015453;border:1px solid #c8d5ce;border-radius:3px;font-size:15px;min-height:44px}
.si-nav .si-header-language .dropdown-menu{top:100%;bottom:auto;left:auto;right:0}
.si-preview .widgetSectionBlogCard.whiteCard .nc_content,.si-preview .widgetSectionBlogCard.whiteCard .nc_content p{color:#424a45}
.si-preview .widgetSectionBlogCard.whiteCard .nc_content a{color:#015453}
.si-preview .widgetSectionBlogCard.whiteCard .nc_content .date{color:#59645e}
@media(max-width:767px){.si-nav .sl-floating-language.si-header-language{float:none;margin:16px 15px}.si-nav .si-header-language .dropdown-menu{left:0;right:auto}}
@media(min-width:768px){.si-hero-photo{height:650px;min-height:650px}.si-hero-photo img{max-height:none}.si-hero-copy{padding-top:50px;padding-bottom:50px}}
.si-nav .sl-floating-language.si-header-language{border:0!important;background:transparent!important;padding:0!important}
.si-nav .si-header-language .filter-option{padding-right:10px}
.si-nav .si-header-language .bootstrap-select{width:140px!important;max-width:none!important}
.si-nav .si-header-language .bootstrap-select>.btn{width:140px!important;padding-left:12px;padding-right:28px}
@media(max-width:767px){.si-nav .navbar-collapse.in{padding-bottom:20px;max-height:70vh!important;overflow-y:auto!important}}

/* Legacy calculator predates native palette variables; scoped presentation only. */
.calculator_quipunet{font-family:'Work Sans',sans-serif!important;color:#2f2f2e}
.calculator_quipunet .calc_title{font-family:'Work Sans',sans-serif!important;color:#2f2f2e}
.calculator_quipunet .calc_info{font-size:16px!important;line-height:1.6!important;color:#52625d!important}
.calculator_quipunet .calc_wrap{background:#f1f4ef!important}
.calculator_quipunet .calc_input_name,.calculator_quipunet label,.calculator_quipunet .calc_payment_tbl td{font-size:16px!important;line-height:1.5!important}
.calculator_quipunet input,.calculator_quipunet select{font-family:'Work Sans',sans-serif!important;font-size:17px!important}
.calculator_quipunet a,.calculator_quipunet .calc_active_btn{color:#015453!important;font-size:17px!important}
.calculator_quipunet .noUi-connect{background:#015453!important}
.calculator_quipunet .noUi-handle{background:#397e72!important;border-color:#fff!important;box-shadow:0 0 0 1px #015453!important}
.calculator_quipunet .highcharts-color-0{fill:#015453!important;stroke:#015453!important}
.calculator_quipunet .highcharts-color-1{fill:#6f9380!important;stroke:#6f9380!important}
.calculator_quipunet .highcharts-color-2{fill:#56777c!important;stroke:#56777c!important}
.calculator_quipunet .highcharts-color-3{fill:#b2bda7!important;stroke:#b2bda7!important}
.calculator_quipunet .color_pi{background:#015453!important}
.calculator_quipunet .color_hi{background:#6f9380!important}
.calculator_quipunet .color_pt{background:#56777c!important}
.calculator_quipunet .color_hf{background:#b2bda7!important}
/* White-card blog variant inherits white foreground from the base card theme. */
section.widgetSectionBlogCard.whiteCard .nc_container .nc_content,
section.widgetSectionBlogCard.whiteCard .nc_post_text,
section.widgetSectionBlogCard.whiteCard .nc_post_text p{color:#424a45!important}
section.widgetSectionBlogCard.whiteCard .nc_post_info{color:#59645e!important}
section.widgetSectionBlogCard.whiteCard .nc_post_heading a,
section.widgetSectionBlogCard.whiteCard .nc_link{color:#015453!important}


.dream-calendar-modal[hidden] {
    display: none !important;
}

.dream-calendar-modal {
    position: fixed;
    z-index: 11050;
    inset: 0;
    padding: 22px;
    display: grid;
    place-items: center;
    font-family: 'Work Sans', sans-serif;
}

.dream-calendar-modal__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(2, 8, 18, .78);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

.dream-calendar-modal__dialog {
    position: relative;
    width: min(760px, 100%);
    max-height: calc(100vh - 44px);
    border: 1px solid rgba(1,84,83,.2);
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    color: #015453;
    background: #fbfaf7;
    box-shadow: 0 30px 90px rgba(0,0,0,.42);
    overflow: hidden;
}

.dream-calendar-modal__dialog > header {
    min-height: 86px;
    padding: 18px 20px 17px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #fff;
    background: #015453;
}

.dream-calendar-modal__dialog > header span {
    display: block;
    margin-bottom: 5px;
    color: #e9e8e2;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.dream-calendar-modal__dialog h2 {
    margin: 0;
    color: #fff;
    font: 500 25px/1.2 'Work Sans', sans-serif;
}

.dream-calendar-modal__close {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.24);
    display: grid;
    place-items: center;
    color: #fff;
    background: transparent;
    cursor: pointer;
}

.dream-calendar-modal__close span {
    margin: 0 !important;
    color: inherit !important;
    font: 300 26px/1 Arial, sans-serif !important;
    letter-spacing: 0 !important;
}

.dream-calendar-modal__frame {
    min-height: min(650px, calc(100vh - 174px));
    overflow: auto;
    background: #fff;
}

.dream-calendar-modal iframe {
    width: 100%;
    min-height: 650px;
    border: 0;
    display: block;
}

.dream-calendar-modal__dialog > p {
    margin: 0;
    padding: 10px 18px;
    border-top: 1px solid rgba(7,19,39,.12);
    color: rgba(7,19,39,.7);
    background: #f3efe7;
    font-size: 14px;
    text-align: center;
}

.dream-calendar-modal__dialog > p a {
    color: #015453;
    font-weight: 800;
    text-decoration: underline;
}

body.dream-calendar-open {
    overflow: hidden !important;
}


@media(max-width:767px){.dream-calendar-modal{padding:8px}.dream-calendar-modal__dialog{width:100%;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.dream-calendar-modal__dialog>header{padding:14px;min-height:78px}.dream-calendar-modal__dialog h2{font-size:22px}.dream-calendar-modal__frame{min-height:0}.dream-calendar-modal iframe{min-height:100%;height:100%}.dream-calendar-modal__dialog>p{font-size:14px;line-height:1.5}}

/* A shared alignment row keeps both header controls at the same top/height. */
@media(min-width:768px){
.si-nav .navbar-collapse{display:flex!important;flex-direction:row-reverse;align-items:center;gap:12px;min-height:80px}
.si-nav .navbar-collapse:before,.si-nav .navbar-collapse:after{display:none}
.si-nav .navbar-collapse>.navbar-btn,.si-nav .sl-floating-language.si-header-language{float:none!important;margin:0!important;flex-shrink:0}
.si-nav .navbar-collapse>.navbar-nav{margin:0!important;float:none!important}
.si-nav .navbar-btn .btn,.si-nav .si-header-language .bootstrap-select>.btn{height:48px!important;min-height:48px!important;display:flex!important;align-items:center;box-sizing:border-box;line-height:20px!important;margin:0!important;box-shadow:none!important}
.si-nav .si-header-language .bootstrap-select{height:48px}
}
@media(min-width:768px) and (max-width:1050px){
.si-nav .container{width:100%;padding-left:12px;padding-right:12px}
.si-nav .navbar-header{margin-right:0}
.si-nav .navbar-brand{padding-left:6px;padding-right:6px}
.si-nav .navbar-brand img{max-height:52px}
.si-nav .navbar-collapse{gap:4px!important;padding-left:0;padding-right:0}
.si-nav .navbar-nav>li>a{font-size:14px;padding-left:9px;padding-right:9px}
.si-nav .navbar-btn .btn{font-size:14px;padding-left:12px;padding-right:12px}
.si-nav .si-header-language .bootstrap-select,.si-nav .si-header-language .bootstrap-select>.btn{width:118px!important}
.si-nav .si-header-language .bootstrap-select>.btn{font-size:13px!important;padding-left:9px;padding-right:24px}
}
.dream-calendar-modal__dialog{padding:0!important;height:min(800px,calc(100dvh - 44px))}
.dream-calendar-modal__frame{min-height:0}
.dream-calendar-modal iframe{height:100%;min-height:100%}
