/* A simple wide home, consistent menus, and a circular team introduction. */
.home-page main{min-width:0}
html[data-layout-concept] .home-page .hero{grid-template-columns:minmax(0,1fr);width:100%;max-width:none;margin-block:24px;padding:clamp(30px,4vw,76px);min-height:clamp(360px,49vh,620px);align-content:center}
html[data-layout-concept] .home-page .hero-copy{max-width:none;width:100%;margin-inline:auto}
html[data-layout-concept] .home-page .hero h1{font-size:clamp(44px,5.1vw,104px);overflow-wrap:normal}
html[data-layout-concept] .home-page .hero p{max-width:75ch}
html[data-layout-concept] .home-page .hero .hero-portrait-panel{display:none}
header .nav{gap:24px}
header .links{gap:clamp(14px,1.5vw,28px)}
header .links a{white-space:nowrap;font-size:clamp(16px,1.25vw,21px)}
.footer-grid>div:nth-child(2) a{display:block;min-height:36px}
.service-tax-link{margin-top:12px}
#credmedWelcome #welcomePanel{--orb-size:min(760px,94vw,90dvh);width:var(--orb-size);height:var(--orb-size);aspect-ratio:1;max-height:none;max-width:none;inset:0;margin:auto;padding:0;overflow:hidden;border:3px solid var(--brand-accent);border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:0 26px 110px #0008;overscroll-behavior:contain}
#credmedWelcome #welcomePanel:not([open]){display:none}
#credmedWelcome #welcomePanel[open]{animation:orb-enter .7s cubic-bezier(.18,.75,.2,1) both}
#credmedWelcome #welcomePanel.is-closing{animation:orb-exit .3s ease both}
#credmedWelcome #welcomePanel::after{content:'';position:absolute;inset:10px;border:1px solid var(--brand-accent);border-radius:50%;pointer-events:none;opacity:.5}
#credmedWelcome #welcomePanel::backdrop{background:#101218aa;backdrop-filter:blur(4px)}
#credmedWelcome #welcomePanel .welcome-heading{position:absolute;top:8%;left:25%;width:50%;padding:0;display:block;z-index:2;background:transparent;color:var(--ink);text-align:center}
#credmedWelcome #welcomePanel .welcome-brand{font-size:clamp(12px,calc(var(--orb-size)*.026),19px);line-height:1.3;color:var(--ink);margin:0}
#credmedWelcome #welcomePanel .welcome-position{font-size:clamp(11px,calc(var(--orb-size)*.021),15px);display:block;color:var(--muted);line-height:1.5;margin-top:3px}
#credmedWelcome #welcomePanel #welcomeClose{position:absolute;right:-24%;top:0;width:36px;height:36px;border-radius:50%;background:var(--brand-accent);color:var(--ink);font-size:27px;line-height:1}
#credmedWelcome #welcomePanel .welcome-slides{position:absolute;inset:20% 16% 19%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-height:0;padding:0 3px}
#credmedWelcome #welcomePanel .welcome-slide{padding:0;min-height:0;text-align:center;animation:orb-slide .35s ease both}
#credmedWelcome #welcomePanel .welcome-kicker{font-size:clamp(10px,calc(var(--orb-size)*.019),14px);margin:0 0 8px;line-height:1.4;letter-spacing:.6px;color:var(--link)}
#credmedWelcome #welcomePanel h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(18px,calc(var(--orb-size)*.048),34px);line-height:1.18;letter-spacing:-.6px;margin:0 0 12px;color:var(--ink)}
#credmedWelcome #welcomePanel .welcome-slide>p:not(.welcome-kicker){font-size:clamp(13px,calc(var(--orb-size)*.026),19px);line-height:1.55;margin:0 0 14px;color:var(--muted)}
#credmedWelcome #welcomePanel .welcome-note{font-size:clamp(12px,calc(var(--orb-size)*.023),17px)!important}
#credmedWelcome #welcomePanel .welcome-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin:0 0 12px}
#credmedWelcome #welcomePanel .welcome-profile img{width:min(210px,calc(var(--orb-size)*.29));height:min(210px,calc(var(--orb-size)*.29));object-fit:contain;object-position:center;border:2px solid var(--brand-accent);border-radius:12px;flex-shrink:0;background:#e7eff6}
#credmedWelcome #welcomePanel .welcome-profile h2{font-size:clamp(17px,calc(var(--orb-size)*.043),30px);margin:0 0 7px}
#credmedWelcome #welcomePanel .welcome-role{font-size:clamp(12px,calc(var(--orb-size)*.027),19px);line-height:1.4;margin:0;color:var(--link)}
#credmedWelcome #welcomePanel .welcome-cta{font-size:clamp(12px,calc(var(--orb-size)*.022),16px);line-height:1.4;min-height:36px;max-width:330px;width:100%;margin:14px auto 0;padding:9px 12px;border-radius:20px;justify-content:center;background:var(--dark);color:#fff}
#credmedWelcome #welcomePanel .welcome-controls{position:absolute;bottom:7.5%;left:20%;width:60%;display:flex;align-items:center;justify-content:center;gap:8px;padding:0;background:transparent;border:0}
#credmedWelcome #welcomePanel .welcome-controls .welcome-icon{width:44px;height:44px;border-radius:50%;background:var(--brand-soft);color:var(--ink);font-size:22px}
#credmedWelcome #welcomePanel #welcomePause{font-size:14px;min-width:56px;height:44px;padding:7px;border-radius:18px;background:var(--dark);color:#fff}
#credmedWelcome #welcomePanel .welcome-icon:hover,#credmedWelcome #welcomePanel #welcomePause:hover{filter:brightness(.94)}
@keyframes orb-enter{from{opacity:0;transform:translate(var(--orb-entry-x),var(--orb-entry-y)) rotate(var(--orb-entry-turn)) scale(.12)}to{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
@keyframes orb-exit{to{opacity:0;transform:scale(.82)}}
@keyframes orb-slide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1199px){header .links a{font-size:20px}.links.open{max-height:calc(100dvh - 104px);overflow-y:auto}}
@media(max-width:767px){html[data-layout-concept] .home-page .hero{margin-block:18px;padding:32px 22px;min-height:340px}html[data-layout-concept] .home-page .hero h1{font-size:clamp(38px,9vw,60px)}.home-page .hero .actions{gap:12px}#credmedWelcome #welcomePanel .welcome-profile{gap:8px;margin-bottom:8px}#credmedWelcome #welcomePanel .welcome-kicker{margin-bottom:5px}#credmedWelcome #welcomePanel .welcome-cta{margin-top:8px}#credmedWelcome #welcomePanel .welcome-profile img{border-radius:8px}}
@media(prefers-reduced-motion:reduce){#credmedWelcome #welcomePanel,#credmedWelcome #welcomePanel .welcome-slide,#credmedWelcome #welcomePanel::backdrop{animation:none!important}}
@media(max-width:479px){#credmedWelcome #welcomePanel .welcome-team-slide .welcome-kicker{display:none}#credmedWelcome #welcomePanel .welcome-profile img{width:calc(var(--orb-size)*.25);height:calc(var(--orb-size)*.25)}}

/* Compact premium circular banner with the full supplied logo. */
#credmedWelcome #welcomePanel{--orb-size:min(660px,92vw,86dvh)}
#credmedWelcome #welcomePanel .welcome-heading{top:8%;left:24%;width:52%}
#credmedWelcome #welcomePanel .welcome-logo{display:block;width:min(235px,100%);height:clamp(28px,calc(var(--orb-size)*.09),62px);object-fit:contain;margin:auto}
#credmedWelcome #welcomePanel #welcomeClose{position:fixed;top:12%;right:15%;width:36px;height:36px;z-index:5;display:grid}
#credmedWelcome #welcomePanel .welcome-slides{inset:24% 16% 18%}

/* The noninteractive logo heading receives programmatic focus without a box. */
#credmedWelcome #welcomePanel #welcomeTitle,#credmedWelcome #welcomePanel #welcomeTitle:focus,#credmedWelcome #welcomePanel #welcomeTitle:focus-visible{outline:none!important;box-shadow:none!important;border:0!important;background:transparent!important}
#credmedWelcome #welcomePanel .welcome-logo{border:0!important;box-shadow:none!important;outline:none!important;background:transparent!important}

/* Supplied black-and-gold brand artwork, preserved without cropping. */
header .brand img{width:260px;height:117px;max-width:100%;object-fit:contain;border:0;border-radius:6px}
header .nav{min-height:137px}
.footer-brand img{display:block;width:240px;height:108px;max-width:100%;object-fit:contain;border-radius:6px}
#credmedWelcome #welcomePanel .welcome-heading{top:5%}
#credmedWelcome #welcomePanel .welcome-logo{width:min(230px,100%);height:clamp(40px,calc(var(--orb-size)*.14),94px);object-fit:contain;border-radius:6px}
#credmedWelcome .welcome-launcher .welcome-badge{width:74px;height:36px;object-fit:contain;background:transparent;border-radius:4px}
@media(max-width:1199px){header .links{top:137px}}
@media(max-width:767px){header .brand img{width:200px;height:90px}header .nav{min-height:110px}.links{top:110px!important}}
@media(max-width:359px){header .brand img{width:175px;height:79px}header .nav{gap:12px;min-height:99px}.links{top:99px!important}}

/* Compact transparent branding. */
header .brand img{width:190px;height:86px;border-radius:0;background:transparent;box-shadow:none}
header .nav{min-height:106px}
.footer-brand img{width:190px;height:86px;border-radius:0;filter:brightness(0) invert(1)}
#credmedWelcome #welcomePanel .welcome-logo{width:min(190px,100%);height:clamp(36px,calc(var(--orb-size)*.13),86px);border-radius:0;background:transparent}
#credmedWelcome .welcome-launcher .welcome-badge{width:58px;height:28px;filter:brightness(0) invert(1)}
@media(max-width:1199px){header .links{top:106px}}
@media(max-width:767px){header .brand img{width:160px;height:72px}header .nav{min-height:92px}.links{top:92px!important}}
@media(max-width:359px){header .brand img{width:150px;height:68px}header .nav{min-height:88px}.links{top:88px!important}}

/* Accessible resource content, using the approved theme. */
.resource-reading{max-width:1000px}.resource-reading h2{margin-top:2rem}.resource-reading h3{margin-top:1.4rem}.resource-reading p,.resource-reading li{line-height:1.75}.resource-reading nav a,.service-search-links a{text-decoration:underline;text-underline-offset:3px}.resource-table{overflow-x:auto;margin:1.5rem 0}.resource-table table{width:100%;border-collapse:collapse;min-width:420px}.resource-table th,.resource-table td{text-align:left;padding:14px;border:1px solid var(--s-edge);vertical-align:top}.resource-table th{background:var(--s-soft)}.resource-table caption{text-align:left;font-weight:700;margin-bottom:10px}.service-search-links{margin-top:28px;line-height:1.8}

/* Single featured profile in introduction banner. */
.welcome-round .welcome-profile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}
.welcome-round .welcome-profile img{width:clamp(130px,26vw,200px);height:clamp(130px,26vw,200px);object-fit:contain;border-radius:50%;background:#fffefa;border:2px solid #d6bc8e}
.welcome-round .welcome-team-slide h2{font-size:clamp(24px,4vw,36px);margin:0 0 8px}.welcome-round .welcome-role{max-width:32ch;margin:auto;line-height:1.5}

html[data-layout-concept="luminous-harbor"] .home-page .hero{grid-template-columns:1.25fr 1fr;text-align:left;background:linear-gradient(115deg,var(--s-paper),var(--c-ice));border:1px solid var(--s-edge)}
html[data-layout-concept="luminous-harbor"] .home-page .hero-portrait-panel{display:block}
html[data-layout-concept="luminous-harbor"] .home-page .hero h1,html[data-layout-concept="luminous-harbor"] .home-page .hero h1 span{color:var(--s-dark)!important}
html[data-layout-concept="luminous-harbor"] .home-page .hero .eyebrow{color:var(--s-link)}
html[data-layout-concept="obsidian-frame"] .home-page .hero{background:var(--s-dark);text-align:left;border:2px solid var(--s-accent);border-radius:4px;box-shadow:14px 14px 0 var(--c-ice)}
html[data-layout-concept="obsidian-frame"] .home-page .hero h1,html[data-layout-concept="obsidian-frame"] .home-page .hero h1 span{color:#fff!important}
html[data-layout-concept="obsidian-frame"] .home-page .hero :is(p,.eyebrow){color:var(--s-on-dark)}
html[data-layout-concept="obsidian-frame"] .home-page .hero .actions .btn{background:var(--s-accent);color:var(--s-dark)}
html[data-layout-concept="obsidian-frame"] .home-page .home-services .card{border-radius:2px}
html[data-layout-concept="porcelain-forest"] .home-page .hero{grid-template-columns:1.2fr 1fr;background:var(--s-paper);border-block:1px solid var(--s-edge);border-radius:0;text-align:left}
html[data-layout-concept="porcelain-forest"] .home-page .hero-portrait-panel{display:block}
html[data-layout-concept="porcelain-forest"] .home-page .hero h1,html[data-layout-concept="porcelain-forest"] .home-page .hero h1 span{color:var(--s-dark)!important}
html[data-layout-concept="porcelain-forest"] .home-page .service-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-layout-concept="burgundy-ledger"] .home-page .hero{background:linear-gradient(125deg,var(--s-dark),var(--s-panel));text-align:center;border-radius:0}
html[data-layout-concept="burgundy-ledger"] .home-page .hero h1,html[data-layout-concept="burgundy-ledger"] .home-page .hero h1 span{color:#fff!important}
html[data-layout-concept="burgundy-ledger"] .home-page .hero :is(p,.eyebrow){color:var(--s-on-dark)}
html[data-layout-concept="burgundy-ledger"] .home-page .hero .actions{justify-content:center}
html[data-layout-concept="burgundy-ledger"] .home-page .hero .btn{background:var(--s-accent);color:var(--s-dark)}
html[data-layout-concept="burgundy-ledger"] .home-page .hero p{margin-inline:auto}
html[data-layout-concept="burgundy-ledger"] .home-page .service-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-layout-concept="sapphire-horizon"] .home-page .hero{grid-template-columns:1fr 1.3fr;background:linear-gradient(135deg,var(--c-ice),var(--s-paper));text-align:left;border-radius:32px}
html[data-layout-concept="sapphire-horizon"] .home-page .hero-portrait-panel{display:block;grid-column:1;grid-row:1}
html[data-layout-concept="sapphire-horizon"] .home-page .hero-copy{grid-column:2;grid-row:1}
html[data-layout-concept="sapphire-horizon"] .home-page .hero h1,html[data-layout-concept="sapphire-horizon"] .home-page .hero h1 span{color:var(--s-dark)!important}
html[data-layout-concept="slate-gallery"] .home-page .hero{background:var(--s-paper);border-block:3px solid var(--s-dark);border-radius:0;text-align:left}
html[data-layout-concept="slate-gallery"] .home-page .hero h1,html[data-layout-concept="slate-gallery"] .home-page .hero h1 span{color:var(--s-dark)!important}
html[data-layout-concept="slate-gallery"] .home-page .home-services .card{background:transparent;border:0;border-bottom:4px solid var(--s-accent);border-radius:0;box-shadow:none}
@media(max-width:850px){html[data-layout-concept="luminous-harbor"] .home-page .hero,html[data-layout-concept="porcelain-forest"] .home-page .hero,html[data-layout-concept="sapphire-horizon"] .home-page .hero{grid-template-columns:1fr}html[data-layout-concept="sapphire-horizon"] .home-page .hero-copy,html[data-layout-concept="sapphire-horizon"] .home-page .hero-portrait-panel{grid-column:auto;grid-row:auto}html[data-layout-concept="porcelain-forest"] .home-page .service-overview-grid,html[data-layout-concept="burgundy-ledger"] .home-page .service-overview-grid{grid-template-columns:1fr}}
