.detail-preparation{display:none}
.detail-resources{display:grid;gap:8px;width:100%;margin:14px 0}
.detail-resources a{display:block;padding:6px 0;color:#1a3557;text-decoration:none;border-bottom:1px solid #dce4ed}
.detail-resources strong{display:block;font-size:13px;line-height:1.4;color:#286ec4}
.detail-resources span{display:block;font-size:12px;line-height:1.45;color:#52657b;margin-top:2px}
.detail-resources a:hover strong{text-decoration:underline}
.detail-resources a:focus-visible{outline:2px solid #3283ED;outline-offset:3px}
.detail-resources a:active{background:#e4efff}
@media(min-width:901px){.service-detail{grid-template-columns:1fr 1.25fr auto;max-height:200px;padding-block:14px;column-gap:24px}.detail-resources{grid-column:2;grid-row:1/4;margin:0;gap:2px}.hero-stack{padding-bottom:205px}.hero-panel{min-height:650px}}
@media(max-width:900px){.service-detail .button{order:2}.detail-resources{order:3}.service-detail{padding:22px;max-height:calc(100svh - 90px)}}

/* Quiet, integrated guidance beneath the homepage globe. */
.service-detail{background:#edf2f8;border:0;border-top:2px solid #8db5e7;border-radius:0;box-shadow:none}
.service-detail .detail-category{display:none}
.service-detail h3{color:#123f79;text-transform:capitalize}
.detail-resources strong{text-transform:capitalize;color:#1858AB}
@media(min-width:901px){.service-detail h3{grid-row:1/3}}

.service-label,.picker-choice{text-transform:capitalize}

/* Refined globe navigation. */
.service-orbit{background:radial-gradient(ellipse at center,#dcecff99 0%,#edf5ff66 45%,#ffffff00 72%)}
.service-label{font-size:13px;font-weight:600;line-height:1.35;color:#1a3557;text-shadow:none;background:#eef5facc;padding:4px 7px;border-radius:3px;max-width:120px}
.service-choice{width:124px}
.service-choice.label-muted .service-label{opacity:0}
.service-choice:hover .service-label,.service-choice:focus-visible .service-label,.service-choice[aria-pressed="true"] .service-label{opacity:1}
.service-choice[aria-pressed="true"] .service-label{color:#fff;background:#1858AB}
.service-icon{box-shadow:none!important;border-color:#3283ed26}
@media(min-width:901px){.service-label{font-size:14px}.hero-stack{padding-bottom:178px}.service-detail{bottom:12px}}

.service-label,.service-choice[aria-pressed="true"] .service-label{background:transparent;border-radius:0;color:#1a3557}
.service-choice[aria-pressed="true"] .service-label{font-weight:700}

.service-icon svg{stroke-width:2}

.service-choice:hover .service-icon,.service-choice:focus-visible .service-icon{border-color:#3283ed80}
.service-choice[aria-pressed="true"] .service-icon{border-color:#3283ED}

/* Stable service navigation and in-flow mobile guidance. */
.service-picker{margin-top:20px}.picker-choice{border-radius:5px}.detail-close:focus-visible{outline:2px solid #3283ED;outline-offset:2px}
.service-detail h3{padding-right:24px}
@media(max-width:900px){.service-detail{position:relative;inset:auto;width:100%;max-height:none;margin-top:22px;padding:24px 20px;overflow:visible}.navigator-layout{display:flex;flex-direction:column}.service-orbit{flex:none}.service-navigator{height:auto}.detail-resources a{padding:10px 0}.hero-stack{height:auto}}
@media(min-width:901px) and (max-height:760px){.hero-panel{height:auto;min-height:650px}.hero-stack{min-height:600px}.service-orbit{width:min(100%,400px)}}

/* Discreet service shortcuts along the landing section's lower edge. */
.hero-stack>.service-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:0 24px;max-width:none;width:100%;margin:20px 0 0;border-top:1px solid #e1e8f1;padding-top:8px}
.service-picker .picker-choice{background:transparent;border:0;border-radius:0;padding:10px 2px;min-height:44px;color:#52657b;font-size:12px;font-weight:500}
.service-picker .picker-choice:hover,.service-picker .picker-choice[aria-pressed="true"]{background:transparent;color:#1858AB;text-decoration:underline;text-underline-offset:5px}
@media(min-width:901px){.hero-stack>.service-picker{position:absolute;bottom:0;left:0;margin:0}.service-detail{bottom:64px}.hero-stack{padding-bottom:226px}}
@media(max-width:900px){.hero-stack>.service-picker{gap:0 18px;margin-top:24px}.service-picker .picker-choice{font-size:13px}}

/* Keep the six shortcuts in the first viewport before a service is selected. */
@media(max-width:900px){
 .hero-panel{height:calc(100svh - 60px);min-height:0;padding:12px 0 8px}
 .hero-panel>.wrap{height:100%}
 .hero-stack{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:0}
 .hero-copy h1{font-size:clamp(23px,5.5vw,32px);line-height:1.12;margin-bottom:10px}
 .hero-copy>p{font-size:13px;line-height:1.45}
 .hero-copy .actions{margin-top:12px;gap:10px}
 .hero-copy .button{min-height:44px;padding:9px 14px;font-size:13px}
 .hero-copy .hero-signature{margin-top:8px}
 .service-navigator{height:100%;min-height:0;margin:0;display:flex;flex-direction:column}
 .globe-cue{font-size:12px;margin:0 0 4px}
 .navigator-layout{flex:1;min-height:0;container-type:size;align-items:center;justify-content:center}
 .service-orbit{width:min(100%,100cqh,340px);height:auto;aspect-ratio:1;min-width:0;margin:0 auto}
 .hero-stack>.service-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 6px;margin:0;padding-top:4px}
 .service-picker .picker-choice{font-size:11px;line-height:1.2;min-height:40px;padding:7px 0}
 .hero-stack:has(.service-detail:not([hidden])){height:auto;grid-template-rows:auto auto auto}
 .hero-panel:has(.service-detail:not([hidden])){height:auto;min-height:calc(100svh - 60px)}
 .service-navigator:has(.service-detail:not([hidden])) .navigator-layout{container-type:normal;display:flex}
 .service-navigator:has(.service-detail:not([hidden])) .service-orbit{width:min(100%,300px)}
}
@media(min-width:901px){.hero-panel{height:calc(100svh - 60px);min-height:0}.hero-stack{min-height:0;padding-bottom:76px}.hero-stack:has(.service-detail:not([hidden])){padding-bottom:226px}.service-orbit{width:min(100%,calc(100svh - 220px),560px)}}
@media(max-width:900px) and (max-height:700px){.hero-copy h1{font-size:22px}.hero-copy>p{font-size:12px}.hero-copy .hero-signature{font-size:.65em}.hero-panel{padding-top:8px}.hero-stack{gap:4px}}

/* Let the globe follow its square container instead of the canvas intrinsic width. */
.service-orbit .hero-globe{width:auto;min-width:0;max-width:100%;justify-self:stretch}
.service-orbit .hero-globe canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
@media(max-width:900px){
 .service-picker .picker-choice{font-size:clamp(9px,2.6vw,11px);white-space:nowrap;letter-spacing:-.015em;min-width:0}
}

/* A single service row, with horizontal scrolling only when space is limited. */
@media(max-width:900px){
 .hero-stack>.service-picker{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:18px;overflow-x:auto;max-width:100%;scrollbar-width:thin;padding-bottom:3px}
 .service-picker .picker-choice{flex:0 0 auto;font-size:11px;white-space:nowrap}
}

/* Balance the service prompt between the introduction and the mobile globe. */
@media(max-width:900px){
 .service-navigator{container-type:size;position:relative}
 .globe-cue{transform:translateY(clamp(12px,calc((100cqh - min(100cqw,340px))/4),38px))}
 .service-navigator:has(.service-detail:not([hidden])){container-type:normal}
 .service-navigator:has(.service-detail:not([hidden])) .globe-cue{transform:none;margin:16px 0}
}

/* Keep FAQ introductions with their headings and question lists. */
#faq .section-head{display:block;text-align:left}
#faq .section-head>p{max-width:none;margin:16px 0 0}

/* Readable contact details and quieter supporting links. */
#faq .faq-more a,#faq .faq-more a:hover{text-decoration:none}
#faq .faq-more a:hover{color:#1858AB}
#contact .contact-meta{font-size:15px;line-height:1.7}
#contact .contact-meta .contact-small{font-size:14px;line-height:1.65}
#contact .contact-meta a{font-weight:500;text-decoration:none}
#contact .contact-meta a:hover,#contact .contact-meta a:focus-visible{font-weight:700;text-decoration:none;color:#fff}
#contact .contact-meta a:focus-visible,#faq .faq-more a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
#contact .contact-meta a:active{color:#dceaff}

/* Expanded mobile guidance needs natural-height rows, not viewport-sized flex tracks. */
@media(max-width:900px){
 .hero-panel:has(.service-detail:not([hidden]))>.wrap{height:auto}
 .hero-stack:has(.service-detail:not([hidden])){display:flex;flex-direction:column;height:auto;align-items:stretch;gap:16px}
 .service-navigator:has(.service-detail:not([hidden])){height:auto;flex:none;min-height:0;container-type:normal}
 .service-navigator:has(.service-detail:not([hidden])) .navigator-layout{height:auto;flex:none;min-height:0;container-type:normal;justify-content:flex-start;gap:0}
 .service-navigator:has(.service-detail:not([hidden])) .service-orbit{flex:0 0 auto;width:min(100%,300px);height:auto;aspect-ratio:1;margin:0 auto}
 .service-navigator:has(.service-detail:not([hidden])) .service-detail{flex:none;position:relative;inset:auto;margin-top:22px}
}

/* Focus the mobile landing view on the selected service. */
@media(max-width:900px){
 .hero-stack:has(.service-detail:not([hidden]))>.hero-copy{display:none}
 .service-navigator:has(.service-detail:not([hidden])) .globe-cue{margin:4px 0 8px}
 .service-navigator:has(.service-detail:not([hidden])) .service-orbit{width:min(100%,240px)}
 .service-navigator:has(.service-detail:not([hidden])) .service-detail{margin-top:12px;padding:20px}
}

/* Slightly lower the mobile divider and service links without resizing the globe. */
@media(max-width:900px){
 .hero-stack>.service-picker{position:relative;top:26px}
}
/* Resource links: whole-row hover instead of an underline, no divider lines.
   The tint and the arrow are pseudo-elements so only opacity/transform animate. */
.detail-resources{gap:4px}
.detail-resources a{position:relative;isolation:isolate;padding:10px 44px 10px 14px;margin-inline:-14px;border:0;border-radius:12px;-webkit-tap-highlight-color:transparent}
.detail-resources a::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#eaf2fe;box-shadow:inset 0 0 0 1px #d6e6fc;opacity:0;transition:opacity .2s cubic-bezier(.2,.8,.2,1)}
.detail-resources a::after{content:"";position:absolute;right:16px;top:50%;width:16px;height:16px;margin-top:-8px;background:#1858AB;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h9M8.5 4.5 12 8l-3.5 3.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h9M8.5 4.5 12 8l-3.5 3.5'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;transform:translateX(-6px);transition:opacity .2s cubic-bezier(.2,.8,.2,1),transform .28s cubic-bezier(.34,1.56,.64,1)}
.detail-resources a:hover strong{text-decoration:none}
.detail-resources a:hover::before,.detail-resources a:focus-visible::before{opacity:1}
.detail-resources a:hover::after,.detail-resources a:focus-visible::after{opacity:1;transform:translateX(0)}
.detail-resources a:focus-visible{outline:2px solid #3283ED;outline-offset:0}
.detail-resources a:active{background:none}
.detail-resources a:active::before{opacity:1;background:#dceafd}
.detail-resources a:active::after{transform:translateX(2px)}
@media(hover:none){.detail-resources a::after{opacity:.55;transform:none}}
@media(prefers-reduced-motion:reduce){.detail-resources a::before,.detail-resources a::after{transition:none}}
.detail-resources:empty{display:none}
