/* Homepage: the person, the breadth of the work, and clear paths to detail. */
.personal .home-profile{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,6vw,88px);align-items:center}
.personal .home-profile p,.personal .home-hub-intro,.personal .home-history>p:not(.eyebrow){font:16px/2 var(--sans);color:#506780;max-width:860px}
.personal .home-profile h2{font-size:clamp(27px,3vw,42px);line-height:1.65}
.home-profile-photo{margin:0}.home-profile-photo img{display:block;width:100%;height:auto;border-radius:8px}
.personal .home-activities{background:#f3f7fa}
.home-hub-grid,.home-hub-voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0 26px}
.home-hub-card,.home-voice-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:30px 26px;border:1px solid #d9e3e9;border-radius:8px;background:#fff}
.home-hub-card.hub-self{border-top:3px solid #b9857c}.home-hub-card.hub-others{border-top:3px solid #6c96b0}.home-hub-card.hub-work{border-top:3px solid #8b9b83}
.personal .home-hub-card h3,.personal .home-voice-card h3{font-size:22px;line-height:1.7;font-weight:400;margin:0 0 18px}
.personal .home-hub-card>p:not(.eyebrow){font:15px/1.95 var(--sans);color:#506780;margin:0 0 20px}
.personal .home-hub-link{display:inline-flex;align-items:center;min-height:44px;font:14px/1.8 var(--sans);color:#274f70;text-decoration:underline;text-underline-offset:5px;padding:6px 0}
.home-hub-card .home-hub-link,.home-voice-card .home-hub-link{margin-top:auto}
.personal .home-hub-support{font:13px/1.9 var(--sans);color:#61748a;max-width:900px}
.home-voice-card{background:#f7f9fb}
.personal .home-voice-card blockquote{margin:0 0 22px;font:17px/1.95 var(--serif,serif);color:#274663}
.personal .home-voice-name{font:14px/1.8 var(--sans);margin:0 0 5px}
.personal .home-voice-source{font:11px/1.8 var(--sans);color:#65788c;margin:0 0 16px}
.personal .home-history #books{margin-top:0;padding-top:0;scroll-margin-top:calc(var(--personal-header-height,90px) + 20px)}
.home-hub-card[id],.home-hub-grid[id],.home-history[id],.home-profile[id]{scroll-margin-top:calc(var(--personal-header-height,90px) + 20px)}
@media(max-width:1000px){.home-hub-grid,.home-hub-voices{grid-template-columns:1fr}.home-hub-card,.home-voice-card{padding:26px 28px}.personal .home-hub-card h3 br{display:none}.personal .home-profile{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:760px){.personal .home-profile{grid-template-columns:1fr;gap:24px}.personal .home-profile-photo{max-width:420px}.personal .home-profile h2{font-size:27px}.home-hub-grid,.home-hub-voices{gap:18px;margin-top:28px}.home-hub-card,.home-voice-card{padding:25px 22px}.personal .home-hub-card h3,.personal .home-voice-card h3{font-size:21px}.personal .home-hub-support{font-size:13px}.personal .home-history>p:not(.eyebrow){font-size:16px}}

.personal .home-activities>.home-hub-intro:not(.eyebrow){font:16px/2 var(--sans);max-width:860px;color:#506780}
.personal .home-activities>.home-hub-support:not(.eyebrow){font:13px/1.9 var(--sans);max-width:900px;color:#61748a}
@media(max-width:760px){.personal #changes>h2{font-size:clamp(20px,6.4vw,25px);letter-spacing:0}}

/* Reuse the original three-color artwork as a single visual introduction. */
.personal .home-hub-illustration{width:100%;max-width:1040px;margin:24px auto 28px}
.personal .home-hub-illustration svg{width:100%;height:auto}
@media(max-width:760px){.personal .home-hub-illustration{width:100%;max-width:330px;margin:18px auto 26px}}

/* Books are a direct reading entrance; the development story lives on /profile/. */
.personal .home-history #books>p:not(.eyebrow){font:16px/2 var(--sans);color:#506780;max-width:800px}
.personal .home-profile h2{font-size:clamp(26px,2.65vw,38px);letter-spacing:.01em}
.personal .book-grid a.book-cover{border-bottom:0;text-decoration:none;border-radius:3px}
.personal .book-grid a.book-cover:focus-visible{outline:2px solid #42667d;outline-offset:8px}
.personal .book-grid figcaption{font-size:15px}
.personal .book-grid .home-book-action{display:flex;width:fit-content;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font:12px/1.8 var(--sans);margin-top:6px;color:#42667d}
.personal .home-books-background{margin-top:32px}
@media(max-width:760px){.personal .home-profile h2{font-size:clamp(22px,6.4vw,27px)}.personal #books h2{font-size:clamp(22px,6.3vw,27px);letter-spacing:0}.personal .book-grid figcaption{font-size:14px}}

@media(max-width:760px){.personal #books .book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.personal #books .book-cover{height:180px}.personal #books .book-grid figcaption{font-size:14px;line-height:1.8}}

.personal .home-profile-photo img{aspect-ratio:4/3;object-fit:cover;object-position:50% 35%}

/* Three distinct entrances, using the site's established orbit vocabulary. */
.personal .home-hub-grid{gap:22px;align-items:stretch}
.personal .home-hub-card{--hub-accent:#916923;--hub-tint:#faf3e3;--hub-line:#e4d5b4;position:relative;isolation:isolate;padding:22px 30px 26px;border:1px solid var(--hub-line);border-top:0;border-radius:20px;background:var(--hub-tint);box-shadow:0 10px 26px #24445a06}
.personal .home-hub-card.hub-others{--hub-accent:#7b5c91;--hub-tint:#f3edf8;--hub-line:#ddcee8}
.personal .home-hub-card.hub-work{--hub-accent:#605862;--hub-tint:#f1eff2;--hub-line:#d8d2d8}
.home-hub-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:104px;margin-bottom:16px}
.personal .home-hub-card-top .eyebrow{flex-shrink:0;margin:0;font:500 13px/1.7 var(--sans);letter-spacing:.04em;color:var(--hub-accent)}
.home-hub-motif{width:146px;max-width:52%;flex-shrink:1;color:var(--hub-accent)}
.home-hub-motif svg{display:block;width:100%;height:auto;overflow:visible}
.personal .home-hub-card h3{font-size:clamp(21px,1.55vw,23px);line-height:1.65;letter-spacing:.01em;min-height:3.3em;margin:0 0 22px;color:#183a50;text-wrap:pretty}
.personal .home-hub-card h3 br{display:initial}
.home-card-phrase{display:inline-block}
.home-card-phrase sup{font-size:.55em;vertical-align:super;line-height:0}
.personal .home-hub-card>p:not(.eyebrow){font:15px/2 var(--sans);color:#455f70;margin-bottom:28px}
.personal .home-hub-card .home-hub-link{display:flex;justify-content:space-between;gap:12px;width:100%;padding-top:17px;border-top:1px solid var(--hub-line);color:var(--hub-accent);text-decoration:none;font-size:13px}
.home-card-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border:1px solid currentColor;border-radius:50%;font:18px/1 var(--sans);transition:background-color .25s,transform .25s}
.home-hub-link:hover .home-card-arrow{transform:translateX(3px);background:#ffffff90}
.personal .home-hub-link:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:3px}

/* Client voices read as personal accounts, with quotation and attribution distinct. */
.personal .home-voices{background:#f6f3ed}
.home-voices-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.personal .home-voices-heading .eyebrow{display:flex;align-items:center;gap:12px;color:#7c6c58;margin:0 0 22px}
.home-voices-heading .eyebrow:before{content:"";width:28px;height:1px;background:#aa9171}
.personal .home-voices-heading h2{margin:0;letter-spacing:.025em}
.personal .home-voices-intro{margin:0 0 8px;font:14px/2 var(--sans);color:#6d726e}
.personal .home-hub-voices{gap:24px;margin:44px 0 28px;align-items:stretch}
.personal .home-voice-card{--voice-accent:#527e68;--voice-wash:#eaf2ec;--voice-line:#cfded2;display:flex;flex-direction:column;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.personal .home-voice-card.voice-action{--voice-accent:#9c694b;--voice-wash:#f6eee4;--voice-line:#e7d6bf}
.personal .home-voice-card.voice-others{--voice-accent:#466f8c;--voice-wash:#eaf1f6;--voice-line:#ccdde8}
.home-voice-paper{position:relative;display:flex;flex-direction:column;width:100%;flex:1;padding:26px 30px 30px;background:#fffefb;border:1px solid #e8e1d6;border-radius:16px 16px 16px 3px;box-shadow:0 7px 20px #4a453107}
.home-voice-paper:after{content:"";position:absolute;bottom:-9px;left:27px;width:16px;height:16px;background:#fffefb;border-right:1px solid #e8e1d6;border-bottom:1px solid #e8e1d6;transform:rotate(45deg)}
.home-voice-meta{display:flex;align-items:center;justify-content:space-between;min-height:45px;margin-bottom:12px;gap:12px}
.home-voice-category{display:inline-block;padding:5px 12px;border-radius:30px;background:var(--voice-wash);color:var(--voice-accent);font:500 12px/1.7 var(--sans);letter-spacing:.03em}
.home-quote-mark{height:43px;font:76px/.95 Georgia,serif;color:var(--voice-line);user-select:none}
.personal .home-voice-card h3{position:relative;font:400 clamp(21px,1.75vw,25px)/1.65 var(--serif);color:#263e44;letter-spacing:.02em;min-height:3.3em;margin:0 0 22px;text-wrap:pretty}
.personal .home-voice-card blockquote{margin:0;font:16px/2.05 var(--sans);color:#4e605f;overflow-wrap:anywhere}
.home-voice-card blockquote strong{font-weight:500;color:#263e44;background:linear-gradient(transparent 66%,var(--voice-wash) 66%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.home-voice-credit{margin:24px 6px 15px}
.personal .home-voice-name{font:500 16px/1.8 var(--serif);letter-spacing:.04em;color:#263e44;margin:0 0 5px}
.home-voice-name span{font:12px/1.8 var(--sans);letter-spacing:0;margin-left:8px}
.personal .home-voice-source{font:11px/1.8 var(--sans);color:#6c7672;margin:0}
.personal .home-voice-card .home-hub-link{display:flex;justify-content:space-between;gap:12px;width:100%;padding:8px 6px;font:13px/1.8 var(--sans);color:var(--voice-accent);text-decoration:none;border-top:1px solid #e0dace}
.home-voices-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:10px}
.personal .home-voices-foot .note{margin:0;color:#72756f;font:12px/1.9 var(--sans)!important}
.personal .home-voices-more{display:flex;justify-content:space-between;gap:22px;min-height:58px;padding:10px 15px 10px 22px;border:1px solid #c3c8c0;border-radius:40px;text-decoration:none;background:#fffdf7;color:#354f4d;font-size:14px}
.home-voices-more .home-card-arrow{border:0;background:#edf0e9}
@media(min-width:761px) and (max-width:1100px){
 .personal .home-hub-grid,.personal .home-hub-voices{grid-template-columns:1fr}
 .personal .home-hub-card{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr);column-gap:36px;row-gap:0;padding:24px 32px}
 .home-hub-card-top{grid-column:1;grid-row:1;min-height:86px;margin-bottom:12px}
 .personal .home-hub-card h3{grid-column:1;grid-row:2;min-height:0;margin-bottom:12px}
 .personal .home-hub-card>p:not(.eyebrow){grid-column:2;grid-row:1 / span 2;align-self:center;margin:8px 0 22px}
 .personal .home-hub-card .home-hub-link{grid-column:2;grid-row:3}
 .personal .home-hub-motif{width:132px}
 .home-voices-heading{align-items:flex-start;flex-direction:column;gap:22px}
 .home-voices-heading .home-voices-intro{margin:0}
 .personal .home-voice-card{display:grid;grid-template-columns:minmax(0,1fr) 205px;column-gap:30px;align-items:center}
 .home-voice-paper{grid-column:1;grid-row:1 / span 2}
 .home-voice-paper:after{left:auto;right:-9px;bottom:42px;transform:rotate(-45deg)}
 .personal .home-voice-card h3{min-height:0;margin-bottom:15px}
 .home-voice-credit{grid-column:2;margin:20px 0 10px;align-self:end}
 .personal .home-voice-card .home-hub-link{grid-column:2;align-self:start;margin:0}
 .home-voices-foot{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
 .personal .home-hub-grid{gap:22px}
 .personal .home-hub-card{padding:14px 24px 22px;border-radius:17px}
 .home-hub-card-top{min-height:90px;margin-bottom:8px}
 .personal .home-hub-card-top .eyebrow{font-size:13px}
 .home-hub-motif{width:138px;max-width:52%}
 .personal .home-hub-card h3{font-size:22px;min-height:0;line-height:1.7;margin-bottom:18px;letter-spacing:0}
 .personal .home-hub-card>p:not(.eyebrow){font-size:15px;margin-bottom:23px}
 .personal .home-hub-card .home-hub-link{font-size:13px;gap:8px;padding-top:15px}
 .home-voices-heading{display:block}
 .personal .home-voices-heading .eyebrow{margin-bottom:18px;font-size:13px}
 .personal .home-voices-heading h2{font-size:clamp(22px,6.3vw,27px);line-height:1.7;letter-spacing:0}
 .personal .home-voices-intro{font-size:13px;margin:22px 0 0}
 .personal .home-hub-voices{gap:36px;margin:30px 0 26px}
 .home-voice-paper{padding:20px 24px 26px}
 .home-voice-meta{margin-bottom:10px}
 .personal .home-voice-card h3{font-size:22px;min-height:0;margin-bottom:18px;letter-spacing:0;line-height:1.7}
 .personal .home-voice-card blockquote{font-size:15px;line-height:2.05}
 .home-voice-credit{margin:22px 5px 13px}
 .personal .home-voice-card .home-hub-link{min-height:50px}
 .home-voices-foot{display:block;padding-top:6px}
 .personal .home-voices-foot .note{font-size:11px!important}
 .personal .home-voices-more{margin-top:22px;width:100%;max-width:390px;padding:10px 14px 10px 18px;gap:10px;font-size:13px}
}
@media(max-width:360px){
 .personal .home-hub-card{padding-left:20px;padding-right:20px}
 .personal .home-hub-card h3,.personal .home-voice-card h3{font-size:20px}
 .personal .home-hub-card-top .eyebrow{font-size:12px}
 .home-hub-card-top{min-height:80px}
 .home-voice-paper{padding-left:20px;padding-right:20px}
 .personal .home-hub-card .home-hub-link{font-size:12px}
 .personal .home-voices-more{font-size:12px;padding-left:14px}
 .home-card-arrow{flex-basis:32px;width:32px;height:32px}
}
@media(prefers-reduced-motion:reduce){.home-card-arrow{transition:none}.home-hub-link:hover .home-card-arrow{transform:none}}

/* Perceptible orbit, resonance and network motion; copy stays still. */
.hub-self .home-hub-motif svg>circle:first-of-type{transform-origin:83px 58px;animation:home-icon-open 4.2s ease-in-out infinite}
.hub-self .home-hub-motif svg>circle:nth-of-type(2){transform-origin:83px 58px;animation:home-icon-ring 4.2s ease-in-out infinite}
.hub-self .home-hub-motif svg>path:first-of-type,.hub-self .home-hub-motif svg>circle:nth-of-type(4){transform-origin:83px 58px;animation:home-icon-orbit 6.4s linear infinite}
.hub-others .home-hub-motif svg>circle:is(:nth-of-type(1),:nth-of-type(3),:nth-of-type(5)){animation:home-icon-resonate-left 4.6s ease-in-out infinite}
.hub-others .home-hub-motif svg>circle:is(:nth-of-type(2),:nth-of-type(4),:nth-of-type(6)){animation:home-icon-resonate-right 4.6s ease-in-out infinite}
.hub-others .home-hub-motif svg>path:last-of-type{animation:home-icon-resonance 4.6s ease-in-out infinite}
.hub-work .home-hub-motif svg{transform-origin:50% 50%;animation:home-icon-network 6.4s ease-in-out infinite}
.hub-work .home-hub-motif svg>g>circle{transform-box:fill-box;transform-origin:center;animation:home-icon-node 4.8s ease-in-out infinite}
.hub-work .home-hub-motif svg>g>circle:nth-child(2){animation-delay:-3.84s}
.hub-work .home-hub-motif svg>g>circle:nth-child(3){animation-delay:-2.88s}
.hub-work .home-hub-motif svg>g>circle:nth-child(4){animation-delay:-1.92s}
.hub-work .home-hub-motif svg>g>circle:nth-child(5){animation-delay:-.96s}
.home-hub-flow{stroke-dasharray:.23 .77;animation:home-icon-connect 3.8s linear infinite;opacity:.9}
.home-hub-card[data-reveal-state="waiting"] .home-hub-motif *{animation-play-state:paused}
@keyframes home-icon-open{0%,100%{transform:scale(.7);opacity:.08}50%{transform:scale(1.32);opacity:.22}}
@keyframes home-icon-ring{0%,100%{transform:scale(.8)}50%{transform:scale(1.2)}}
@keyframes home-icon-orbit{to{transform:rotate(360deg)}}
@keyframes home-icon-resonate-left{0%,100%{transform:translateX(-10px)}50%{transform:translateX(10px)}}
@keyframes home-icon-resonate-right{0%,100%{transform:translateX(10px)}50%{transform:translateX(-10px)}}
@keyframes home-icon-resonance{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes home-icon-network{0%,100%{transform:rotate(-7deg) scale(.95)}50%{transform:rotate(6deg) scale(1.08)}}
@keyframes home-icon-node{0%,35%,100%{transform:scale(.85);opacity:.65}17%{transform:scale(1.6);opacity:1}}
@keyframes home-icon-connect{to{stroke-dashoffset:-1}}
@media(prefers-reduced-motion:reduce){.home-hub-motif *{animation:none!important}.home-hub-flow{display:none}}
html.motion-paused .home-hub-motif *{animation-play-state:paused!important}

/* An open, asymmetric portrait composition, integrated with the surrounding page. */
.personal .home-profile{grid-template-columns:1.12fr 1fr;gap:clamp(32px,5vw,72px);background:linear-gradient(105deg,#fff 35%,#f8f6f1 100%)}
.personal .home-profile-copy{position:relative;z-index:1}
.personal .home-profile-photo{position:relative;isolation:isolate;min-width:0;margin:20px 0 24px;max-width:none;padding:0 8px 0 0}
.home-profile-photo:before{content:"";position:absolute;inset:-14px -7px 6px 13px;border:1px solid #c7bba6;border-radius:47% 39% 18% 34% / 44% 39% 15% 34%;transform:rotate(-6deg);z-index:-1;pointer-events:none}
.home-profile-photo:after{content:"";position:absolute;inset:24px -9px -17px -16px;border-radius:44% 40% 22% 34% / 40% 38% 20% 35%;background:#ebe5d9;transform:rotate(4deg);z-index:-2;pointer-events:none}
.personal .home-profile-photo img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:53% 35%;border-radius:45% 35% 6% 30% / 40% 35% 6% 30%;mask-image:linear-gradient(#000 88%,#000c 94%,transparent 100%)}
@media(min-width:761px) and (max-width:1100px){
 .personal .home-profile{gap:34px;grid-template-columns:1.1fr 1fr}
 .personal .home-profile-photo{align-self:center}
}
@media(max-width:760px){
 .personal .home-profile{grid-template-columns:1fr;gap:28px;background:linear-gradient(#fff 45%,#f8f6f1 100%)}
 .personal .home-profile-photo{width:calc(100% - 8px);max-width:420px;justify-self:center;margin:14px 0 16px;padding:0}
 .personal .home-profile-photo img{aspect-ratio:5/4;object-position:53% 30%}
 .home-profile-photo:before{inset:-10px -5px 4px 12px}
 .home-profile-photo:after{inset:18px -4px -12px -8px}
}
