/* v4: compact editorial layout, celestial sky and clear navigation. */
.original-brand{background:#404040;mask:url('images/logo-original-horizontal.png') center/contain no-repeat;-webkit-mask:url('images/logo-original-horizontal.png') center/contain no-repeat}.original-brand img{opacity:0;filter:none}.original-brand:after{mask:none;-webkit-mask:none;clip-path:inset(0 67% 0 0);background:#4472c4}.original-brand:before{content:'';position:absolute;inset:0;background:#fee3d7;clip-path:polygon(80.8% 0,100% 0,100% 55%,82.2% 55%,82.2% 30%,80.8% 25%)}
.page-banner{min-height:220px;padding-block:32px;background:linear-gradient(90deg,#fffdf1b0,#ffffff00 70%),url('images/sky-v4.webp') center/cover}.page-banner h1{font-size:clamp(2.5rem,4.2vw,3.5rem)}.page-banner p{font-size:1.2rem}.section{padding-block:46px}.page-lead{margin-bottom:22px}.services-page{padding-top:28px}
.menu-toggle{display:none}.motion-toggle{font-size:.65rem;padding:4px 9px;opacity:.72;border:0;background:#fffdf3d9;bottom:12px;right:14px}.motion-toggle:hover,.motion-toggle:focus-visible{opacity:1}.hero-frames .frame{transition-duration:.55s}
.notice{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:20px 30px}.notice>span:nth-child(2){text-align:center}.notice>span:last-child{margin:0}
#services>h2{font-size:clamp(1.45rem,2.5vw,2rem);margin-bottom:12px}.service-grid{margin-top:24px;gap:24px}.service-card,.service-card:nth-child(2){border-radius:8px;padding:0 24px 22px;background:#fff7e9;box-shadow:none}.service-card:nth-child(2){background:#eef6fb}.service-card-art{margin:0 -24px 20px}.service-card-art img{aspect-ratio:1.8;object-position:center}.service-card h3{margin-block:8px 12px;font-size:1.45rem}.service-card p{line-height:1.7;margin-bottom:8px}.service-card .more{margin-top:12px}.service-card .eyebrow{font-size:.65rem}.news-section .section{padding-block:35px}.news-section h2{font-size:1.6rem;margin-bottom:0}.section-heading{margin-bottom:20px}.news-item>a{padding:15px 0}.news-item>a>div{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;flex:1}.news-item h3{margin:0;font-size:.9rem}.news-item time{font-size:.78rem}
.initiative-grid{gap:20px;margin-top:20px}.initiative-grid>a{display:grid;grid-template-columns:125px 1fr;column-gap:20px;align-items:center;padding:18px 22px;border-radius:6px;box-shadow:none}.initiative-grid img{grid-column:1;grid-row:1/4;width:125px;height:auto;max-height:60px;object-fit:contain;margin:0}.initiative-grid h3{grid-column:2;font-size:1.1rem;margin:0 0 5px}.initiative-grid p{grid-column:2;font-size:.78rem;line-height:1.5;margin:0}.initiative-grid>a>span:last-child{grid-column:2;font-size:.62rem;margin-top:6px}.initiative-grid+a{margin:0}
.service-detail{padding:24px 28px;border-radius:0 14px 0 14px;margin-bottom:28px;background:linear-gradient(125deg,#fff8e8,#fffdf7 85%)}.service-detail#dx{background:linear-gradient(125deg,#eff8fd,#fffdf7 85%)}.service-intro{grid-template-columns:1.1fr 1fr;gap:28px}.service-intro h2{font-size:clamp(1.5rem,2.4vw,1.95rem);line-height:1.45;margin-bottom:12px}.service-intro p{font-size:.9rem;line-height:1.65;margin-bottom:10px}.service-intro .eyebrow{font-size:.67rem;margin-bottom:12px}.service-scene{border-radius:4px 22px 4px 4px;height:235px;aspect-ratio:auto;object-fit:cover}.support-grid{margin-block:18px;gap:16px}.support-grid>div{padding:18px 20px;border-radius:5px;background:#ffffffc9}.support-grid h3{font-size:1.05rem;margin-bottom:10px}.support-grid ul{margin:0;font-size:.86rem;line-height:1.65}.support-grid li{margin-bottom:5px}.approach{padding:18px 20px;border-radius:0;background:#ffffff75}.approach .eyebrow{margin-bottom:7px;font-size:.62rem}.approach h3{font-size:1.12rem;margin-bottom:10px}.approach p{font-size:.84rem;line-height:1.7;margin-bottom:12px}.process{padding:10px!important;gap:12px;background:transparent!important}.process span{border-radius:2px;padding:7px 12px;font-size:.8rem;background:#eff5f6}.process b{font-weight:400;color:#8aa2b5}.dxcruise{margin-top:8px;padding:32px;min-height:300px;background:linear-gradient(90deg,#ffffff00 35%,#ffffffcf 58%),url('images/cruise-v4.webp') center/cover;border-radius:8px;display:flex;justify-content:flex-end}.dxcruise>div{width:48%}.dxcruise h2{font-size:1.65rem;margin:0 0 14px}.dxcruise p{font-size:.9rem}.dxcruise .eyebrow{font-size:1.25rem;letter-spacing:.08em;margin-bottom:8px}.inline-contact{padding:26px;margin-top:28px;border-radius:0;background:linear-gradient(90deg,#ffffffc9,#ffffff96),url('images/sky-v4.webp') center/cover}.inline-contact h2{font-size:1.5rem;margin-bottom:16px}
.text-link{display:inline;padding:0;border:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;line-height:1.7}.text-link:hover{text-underline-offset:4px}.about-mission .mission-label{margin:25px 0 8px}.about-mission h3{font-size:1.4rem}.profile-window{border-radius:4px;box-shadow:none}.activity-grid article{border-radius:5px;padding:22px 18px}.activity-grid p{font-size:.86rem;line-height:1.75}.activities>.text-link{display:inline-block;margin-top:20px}.company dl{grid-template-columns:285px 1fr}.company dt{white-space:nowrap;font-size:.84rem}.contact-band{background:linear-gradient(90deg,#ffffffc4,#ffffff8c),url('images/sky-v4.webp') center 65%/cover}
.article-featured{margin:24px 0 32px}.article-featured img{display:block;width:auto;max-width:100%;max-height:540px;object-fit:contain;margin-inline:auto}.entry-content{line-height:1.85}.entry-content h2,.entry-content h3,.entry-content h4{margin-top:2.4em!important;margin-bottom:.65em!important;line-height:1.5}.entry-content h2{font-size:1.45rem}.entry-content h3{font-size:1.2rem}.entry-content p{margin-top:0;margin-bottom:1.1em}.entry-content .elementor-widget-heading{margin-bottom:0!important}.entry-content .elementor-widget-text-editor{margin-top:0!important}.entry-content .elementor-widget-container:has(>h2),.entry-content .elementor-widget-container:has(>h3){margin-bottom:0!important;padding-bottom:0!important}.entry-content .elementor-widget-spacer{display:none}.entry-content figure{margin-block:24px}.entry-content h2:first-child,.entry-content h3:first-child{margin-top:1.5em!important}.site-footer{background:linear-gradient(125deg,#eff7fb,#fffaed)}
@media(max-width:900px){.header-inner{position:relative;min-height:76px;flex-wrap:wrap;justify-content:space-between}.menu-toggle:not([hidden]){display:flex;align-items:center;gap:8px;border:1px solid #d4e1e8;background:#fffdf8;border-radius:4px;padding:8px 12px;font-size:.82rem}.menu-toggle:not([hidden])~.header-navigation{display:none}.menu-toggle:not([hidden])~.header-navigation.is-open{display:block;width:100%;flex-basis:100%;padding:15px 0 5px}.header-navigation .menu{flex-wrap:wrap;justify-content:center;gap:20px}.header-navigation .menu a{padding:9px 12px}.service-intro{grid-template-columns:1fr 1fr;gap:20px}.service-scene{height:215px}.service-intro h2{font-size:1.5rem}.company dl{grid-template-columns:270px 1fr}.initiative-grid>a{grid-template-columns:90px 1fr;gap:12px;padding:16px}.initiative-grid img{width:90px}.dxcruise{min-height:285px}.dxcruise h2{font-size:1.4rem}}
@media(max-width:600px){.header-inner{padding:12px 18px;min-height:72px}.header-navigation{flex-basis:100%}.page-banner{min-height:185px;padding-block:27px}.page-banner h1{font-size:2.5rem}.page-banner p{font-size:1rem}.section{padding-block:32px}.notice{grid-template-columns:1fr auto;gap:9px;padding:16px 18px}.notice>span:first-child{grid-column:1/3;width:auto}.notice>span:nth-child(2){text-align:left;line-height:1.7}.service-card h3{font-size:1.35rem}.service-card-art img{aspect-ratio:1.65}.news-item>a>div{grid-template-columns:1fr;gap:5px}.news-item>a{gap:15px}.initiative-grid{grid-template-columns:1fr;gap:12px}.initiative-grid>a{grid-template-columns:95px 1fr;padding:15px}.initiative-grid img{width:95px}.service-detail{padding:20px 16px}.service-intro{grid-template-columns:1fr}.service-scene{height:auto;aspect-ratio:1.6}.support-grid{grid-template-columns:1fr;gap:12px}.support-grid>div{padding:16px}.approach{padding:15px}.dxcruise{padding:150px 22px 22px;background:linear-gradient(180deg,#ffffff00 12%,#ffffffed 55%),url('images/cruise-v4.webp') left top/auto 250px no-repeat;background-color:#eff8fd}.dxcruise>div{width:100%}.dxcruise h2{font-size:1.45rem}.company dl{grid-template-columns:1fr}.company dt{white-space:normal}.about-mission h3{font-size:1.15rem}.entry-content h2{font-size:1.3rem}.article-featured img{max-height:none}.motion-toggle{bottom:8px;right:8px;font-size:.61rem}.inline-contact{padding:22px 16px}.inline-contact h2{font-size:1.3rem}}
.entry-content .elementor-widget-divider{display:none!important}.entry-content .elementor-widget-heading{--margin-bottom:0px;--margin-top:0px}.entry-content .elementor-widget-heading h4{margin-top:2.4em!important;margin-bottom:.6em!important}.service-scene{object-position:center 23%}

.single .content-page>h1{font-size:clamp(1.45rem,2.4vw,2.15rem);line-height:1.6}.activity-icon{display:block;width:34px;height:34px;color:#5b9fc3;margin-bottom:15px}.activity-grid article:last-child .activity-icon{color:#d6a24e}

/* v5 review refinements */
.notice{display:flex;justify-content:center;gap:22px}.notice>span:nth-child(2){flex:0 1 auto;text-align:left}.notice>span:last-child{flex:none}
.service-card-art img,.service-card:hover img{transform:none;transition:none;filter:none}.service-card-art{height:auto}.service-scene{filter:none}
.section-heading .text-link{text-decoration:none}.section-heading .text-link:hover,.section-heading .text-link:focus-visible{text-decoration:underline}
.approach{margin:18px 0 0;border-left:3px solid #d7b46e}.service-detail#dx .approach{border-left-color:#80b4d1}.approach p:last-child{margin-bottom:0}.dxcruise .button{margin-top:10px;font-size:.88rem}
.about-person .profile-window{width:min(100%,370px);aspect-ratio:370/405;background:transparent}.about-person .profile-window>img{position:static;display:block;width:100%;max-width:100%;height:auto;border-radius:4px}.representative-name{margin-bottom:4px}.representative-role{margin-top:0;margin-bottom:22px}
.single .entry-content img{width:auto;max-width:min(100%,640px);height:auto;max-height:620px;object-fit:contain}.single .entry-content figure{max-width:640px;margin-inline:auto}.single .entry-content .wp-block-gallery img{max-width:100%;max-height:none}
.wpcf7 fieldset.hidden-fields-container{display:none!important}.wpcf7 input[type=hidden]{display:none!important}.wpcf7 .wpcf7-response-output:empty{display:none}.wpcf7 form p:has(input[type=email]){margin-bottom:4px}.wpcf7 form p:has(input[type=email])+p{margin-top:0}.wpcf7 a,.wpcf7 strong:has(a){font-weight:400}
@media(max-width:900px){.header-navigation .menu{display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:1rem}.header-navigation .menu li{width:100%}.header-navigation .menu a{display:block;padding:15px 18px;border-bottom:1px solid #e3e9ec}.menu-toggle:not([hidden]){width:46px;height:44px;justify-content:center;font-size:1.35rem}.initiative-grid>a{grid-template-columns:125px 1fr}.initiative-grid img{width:125px;max-height:75px}}
@media(max-width:600px){.notice{display:grid;grid-template-columns:1fr auto;gap:9px}.notice>span:first-child{grid-column:1/3}.initiative-grid>a{grid-template-columns:130px 1fr;gap:12px}.initiative-grid img{width:130px;max-height:80px}.initiative-grid h3{font-size:1rem}.initiative-grid p{font-size:.75rem}.initiative-grid>a>span:last-child{font-size:.55rem}.single .entry-content img{max-height:none}}
.wpcf7 label+br{display:none}.wpcf7 form p:has(input[type=email]){margin-bottom:22px}.wpcf7 label~small{display:block;margin-top:4px;line-height:1.5}.entry-content a[href*="privacypolicy"]{font-weight:400}

/* v5.1: align page openings and preserve a clear path back from posts. */
.page-banner + .section{padding-top:42px}
.astro-policy-page .entry-content h2,.astro-policy-page .entry-content h3,.astro-policy-page .entry-content h4{margin-top:1.2em!important;margin-bottom:.55em!important}
.astro-policy-page .entry-content > .elementor > .elementor-top-section:first-child .elementor-inner-section:first-child h2,
.astro-policy-page .entry-content > .elementor > .elementor-top-section:first-child .elementor-inner-section:first-child h3,
.astro-policy-page .entry-content > .elementor > .elementor-top-section:first-child .elementor-inner-section:first-child h4{margin-top:0!important}
.astro-privacy-page .entry-content strong:has(>a[href*="/contact/"]){font-weight:400}

/* reCAPTCHA v3: attribution is already shown below the contact form. */
.grecaptcha-badge{visibility:hidden}

/* Keep navigation available and reveal the return link after scrolling. */
.site-header{position:sticky;top:0;z-index:100;background:#fffdf7;box-shadow:0 1px 8px rgba(23,56,95,.08)}
body.admin-bar .site-header{top:32px}
html{scroll-padding-top:110px}
.back-top{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.back-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:600px){html{scroll-padding-top:90px}}
@media(prefers-reduced-motion:reduce){.back-top{transition:none}}
.astro-policy-heading-first .entry-content > .elementor > .elementor-top-section:nth-child(2) .elementor-inner-section:first-child h4{margin-top:0!important}
.single .content-page>h1{margin-bottom:28px}
.single .entry-content{margin-top:0}
.article-return{display:block;clear:both;position:relative;z-index:5;margin-top:56px;padding-top:4px}
.article-return a{position:relative;z-index:1;display:inline-block;pointer-events:auto}
@media(max-width:600px){.page-banner + .section{padding-top:42px}.footer-bottom{align-items:stretch}.stickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px 16px}.stickers>span{grid-column:1/-1}.stickers>a{display:block;min-width:0}.stickers img{display:block;width:100%;max-width:170px;height:auto}}

/* v5.2: readable article links, visible policy hierarchy, original-size artwork. */
.page-banner + .section{padding-top:54px}
.single .entry-content a:not(.button):not(.elementor-button):not(.wp-block-button__link){text-decoration-line:underline!important;text-decoration-color:currentColor!important;text-decoration-thickness:1px!important;text-underline-offset:3px}
.single .entry-content a:not(.button):not(.elementor-button):not(.wp-block-button__link):hover,
.single .entry-content a:not(.button):not(.elementor-button):not(.wp-block-button__link):focus-visible{text-decoration-thickness:2px!important}
.single .entry-content h5{font-size:1.1rem!important;line-height:1.5;font-weight:650}
.single .entry-content h6{font-size:1.02rem!important;line-height:1.5;font-weight:650}
.astro-policy-page .entry-content .elementor-inner-section .elementor-widget-heading h4{font-size:1.04rem!important;margin-top:1.5em!important;margin-bottom:.65em!important;color:#304b63}
.astro-policy-page .entry-content .elementor-inner-section .elementor-widget-heading:first-child h4{font-size:1.3rem!important;margin-top:44px!important;margin-bottom:.7em!important;padding-left:13px;border-left:3px solid #7faecd;color:#193e63}
.astro-policy-heading-first .entry-content > .elementor > .elementor-top-section:nth-child(2) .elementor-inner-section:first-child .elementor-widget-heading:first-child h4{margin-top:0!important}
.astro-policy-page .entry-content .elementor-widget-image img{display:block;width:auto!important;max-width:min(100%,640px)!important;height:auto!important;margin-inline:auto}
.astro-policy-page .entry-content img[src*="security_action"]{max-width:min(100%,240px)!important}
@media(max-width:600px){.page-banner + .section{padding-top:50px}.astro-policy-page .entry-content .elementor-inner-section .elementor-widget-heading:first-child h4{margin-top:34px!important}}

/* v5.2.2: tighter openings for Contact and policy pages, with clear chapter hierarchy. */
.astro-contact-page .page-banner + .section,
.astro-policy-page .page-banner + .section{padding-top:34px}
.astro-policy-page .entry-content .elementor-inner-section .elementor-widget-heading:first-child h4{margin-top:28px!important}
.astro-policy-heading-first .entry-content > .elementor > .elementor-top-section:nth-child(2) .elementor-inner-section:first-child .elementor-widget-heading:first-child h4{margin-top:0!important}
@media(max-width:600px){.astro-contact-page .page-banner + .section,.astro-policy-page .page-banner + .section{padding-top:30px}.astro-policy-page .entry-content .elementor-inner-section .elementor-widget-heading:first-child h4{margin-top:24px!important}}

/* v5.2.3: open the compact menu over the page; separate post title and body. */
@media(max-width:900px){
  .menu-toggle:not([hidden])~.header-navigation.is-open{
    position:absolute;top:100%;left:0;right:0;z-index:2;
    display:block;width:auto;max-height:calc(100dvh - 100px);overflow-y:auto;
    padding:8px 18px 18px;flex-basis:auto;background:#fffdf7;
    border-top:1px solid #e3e9ec;box-shadow:0 12px 24px rgba(23,56,95,.16)
  }
}
.single .content-page>h1{margin-bottom:60px}
@media(max-width:600px){.single .content-page>h1{margin-bottom:56px}.menu-toggle:not([hidden])~.header-navigation.is-open{max-height:calc(100dvh - 88px)}}
