@import url('https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,450&family=Source+Sans+3:wght@400;600&display=swap');
@import url('assets/tokens.css');
*{box-sizing:border-box}body{margin:0;background:#071422 url(assets/katahdin-dusk.jpg) center 60%/cover fixed;color:var(--mc-ink);font-family:var(--mc-font-text);-webkit-font-smoothing:antialiased}a{color:inherit}.page{max-width:1600px;padding:32px 4vw 22px;margin:auto;min-height:100svh;display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:center}header img{display:block;width:205px;height:auto}.contact{font-size:17px;text-decoration:none;border-bottom:1px solid;padding:7px 0}main{flex:1}.intro{padding:48px 0 38px;display:flex;gap:40px;justify-content:space-between;align-items:flex-end}.intro>p{order:2;font-size:17px;margin:0 0 9px;color:var(--mc-muted)}h1{font-family:var(--mc-font-display);font-size:clamp(40px,4.5vw,72px);line-height:1.02;letter-spacing:-.035em;font-weight:450;margin:0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tile{position:relative;min-height:365px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;padding:24px;isolation:isolate;transition:transform .32s ease,box-shadow .32s ease,background .32s ease}.category{font-size:15px;position:relative;z-index:2}.tile-copy{margin-top:auto;position:relative;z-index:2}.tile h2{font:450 clamp(28px,2.7vw,43px)/1.05 var(--mc-font-display);letter-spacing:-.025em;margin:0 0 12px}.tile p{font-size:17px;line-height:1.4;max-width:230px;margin:0 0 24px;min-height:48px}.action{font-size:15px;font-weight:600;display:inline-block;border-bottom:1px solid;padding-bottom:4px;transition:transform .3s}.access{background:var(--mc-ink);color:var(--mc-paper)}.regulatory{background:var(--mc-surface);border:1px solid var(--mc-rule)}.ventures{background:var(--mc-ink-raised);color:var(--mc-paper)}.join{background:var(--mc-white);border:1px solid var(--mc-rule)}.graphic{position:relative;height:108px;width:100%;margin:20px 0 18px;color:currentColor;opacity:.35;transition:opacity .3s,transform .5s}.graphic i{position:absolute;display:block;border:1px solid currentColor;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.access i{width:47%;height:44px;left:5%;top:10px}.access i:nth-child(2){left:20%;top:28px}.access i:nth-child(3){left:35%;top:46px}.access i:nth-child(4){left:50%;top:64px}.regulatory i{height:82px;width:68px;left:calc(50% - 34px);top:8px}.regulatory i:nth-child(2){transform:translateX(-40px)}.regulatory i:nth-child(3){transform:translateX(40px)}.ventures i{width:77px;height:77px;left:calc(50% - 38px);top:10px;transform:rotate(45deg)}.ventures i:nth-child(2){transform:translateX(-43px) rotate(45deg)}.ventures i:nth-child(3){transform:translateX(43px) rotate(45deg)}.join i{width:43px;height:43px;top:6px;left:calc(50% - 47px)}.join i:nth-child(2){transform:translateX(51px)}.join i:nth-child(3){transform:translateY(51px)}.join i:nth-child(4){transform:translate(51px,51px)}.tile:focus-visible{outline:3px solid var(--mc-green-focus);outline-offset:4px}.tile:focus-visible .graphic{opacity:.8}.tile:focus-visible .action{transform:translateX(5px)}footer{display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--mc-muted);padding-top:30px}.skip{position:absolute;left:20px;top:-100px}.skip:focus{top:10px;z-index:10;background:white;padding:12px}
@media(hover:hover){.tile:hover{transform:translateY(-7px);box-shadow:0 15px 24px #101c2e12}.tile:hover .graphic{opacity:.8;transform:translateY(-4px)}.tile:hover .action{transform:translateX(5px)}.access:hover{background:#183b36}.access:hover i{transform:translateY(-5px)}.regulatory:hover i:nth-child(2){transform:translateX(-60px)}.regulatory:hover i:nth-child(3){transform:translateX(60px)}.ventures:hover i:first-child{transform:rotate(135deg)}.ventures:hover i:nth-child(2){transform:translateX(-50px) rotate(135deg)}.ventures:hover i:nth-child(3){transform:translateX(50px) rotate(135deg)}.join:hover i:first-child{transform:translate(-5px,-5px)}.join:hover i:nth-child(2){transform:translate(56px,-5px)}.join:hover i:nth-child(3){transform:translate(-5px,56px)}.join:hover i:nth-child(4){transform:translate(56px,56px)}}
@media(min-width:1400px){.intro{padding-top:65px;padding-bottom:50px}.tile{min-height:410px}.graphic{margin-top:30px}}
@media(max-width:860px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-height:340px}.intro>p{display:none}.tile h2{font-size:37px}}
@media(max-width:560px){.page{padding:24px 20px}header img{width:175px}.intro{padding:42px 0 28px}h1{font-size:42px}.grid{grid-template-columns:1fr;gap:14px}.tile{min-height:290px;padding:24px}.graphic{position:absolute;right:24px;top:16px;width:125px;opacity:.22}.tile-copy{padding-top:82px}.tile p{max-width:270px;min-height:0;margin-bottom:18px}footer{flex-wrap:wrap;gap:8px;font-size:13px}footer span:nth-child(2){order:3;width:100%}footer span:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Katahdin background (Owen 2026-09-30) */
body:before{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgb(7 20 34/.45),rgb(7 20 34/.62) 55%,rgb(7 20 34/.85));z-index:-1}
header,.intro,footer{color:var(--mc-paper)}.intro>p,footer{color:rgb(245 242 235/.78)}
.contact{color:var(--mc-paper)}
.tile{box-shadow:0 18px 40px rgb(0 0 0/.28)}
.access{background:rgb(16 28 46/.92);backdrop-filter:blur(3px)}.ventures{background:rgb(24 40 64/.9);backdrop-filter:blur(3px)}
.lockup{margin:0 0 14px!important;line-height:0}.lockup img{display:block;width:100%;max-width:300px;height:auto}
.tile p{max-width:300px}
.credit{font-size:12px;opacity:.75}
@media(hover:hover){.tile:hover{box-shadow:0 26px 50px rgb(0 0 0/.4)}}
@media(max-width:560px){body{background-attachment:scroll}footer .credit{order:4;width:100%}}

/* Groups: consulting (cards 1-3) vs AI-delivered care (card 4). Owen 2026-09-30 */
.groups{display:grid;grid-template-columns:3fr 1fr;gap:12px;margin-bottom:14px;color:var(--mc-paper)}
.g{position:relative;border-top:1.5px solid rgb(245 242 235/.7);padding-top:10px}
.g:before,.g:after{content:"";position:absolute;top:-1px;width:1.5px;height:9px;background:rgb(245 242 235/.7)}
.g:before{left:0}.g:after{right:0}
.g span{font-size:15px;font-weight:600;letter-spacing:.01em}
.g.care{border-top-style:dashed}
.groups{grid-template-columns:calc(75% - 3px) calc(25% - 9px)}
.gtag{display:none;font-size:13px;font-weight:600;opacity:.7;margin-bottom:4px;position:relative;z-index:2}
.join .action{background:var(--mc-green);color:#fff;border:0;padding:11px 18px;font-size:16px}
.join:hover .action{background:var(--mc-green-hover)}
@media(max-width:860px){.groups{display:none}.gtag{display:block}}

/* Keep the four cards in one row down to tablet width (Owen 2026-09-30) */
@media(max-width:1180px) and (min-width:861px){.tile{padding:20px}.tile h2{font-size:30px}.tile p{font-size:15.5px}.lockup img{max-width:220px}.graphic{height:92px}}

/* Practice cards: large logo in place of the line graphic (Owen 2026-09-30) */
.logo-feature{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:flex-start;margin:18px 0 10px;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.logo-feature img{display:block;width:100%;max-width:290px;height:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.access .tile-copy,.regulatory .tile-copy{margin-top:0}
@media(hover:hover){.access:hover .logo-feature,.regulatory:hover .logo-feature{transform:translateY(-6px)}}
@media(max-width:1180px) and (min-width:861px){.logo-feature img{max-width:220px}}
@media(max-width:560px){.logo-feature{margin:14px 0 18px}.logo-feature img{max-width:230px}}

/* Build With Us + New Ventures: larger icons and titles to match the practice logos (Owen 2026-09-30) */
.icon-feature{position:relative;z-index:2;flex:1;display:flex;align-items:center;margin:18px 0 10px}
.icon-feature svg{width:100%;max-width:250px;height:auto;overflow:visible}
.join .tile-copy,.ventures .tile-copy{margin-top:0}
.join h2,.ventures h2{font-size:clamp(34px,3.3vw,52px);letter-spacing:-.03em}
.icon-feature .seat,.icon-feature .plus,.icon-feature .reach,.icon-feature .pulse{transition:all .6s cubic-bezier(.2,.7,.2,1)}
.icon-feature .reach{opacity:.55}
.icon-feature .pulse{stroke:var(--mc-green-on-ink);stroke-dasharray:420;stroke-dashoffset:0}
@media(hover:hover){
.join:hover .seat{stroke-dasharray:0;fill:var(--mc-green);stroke:var(--mc-green)}
.join:hover .plus{stroke:#fff}
.join:hover .reach{opacity:1;transform:translateX(-10px)}
.ventures:hover .pulse{animation:pulse 1.4s ease-in-out}
}
@keyframes pulse{0%{stroke-dashoffset:420}100%{stroke-dashoffset:0}}
@media(max-width:1180px) and (min-width:861px){.icon-feature svg{max-width:190px}}
@media(max-width:560px){.icon-feature svg{max-width:200px}}
@media(max-width:1180px) and (min-width:861px){.join h2,.ventures h2{font-size:30px}}
