/* Individual character profiles, visually paired with the companion directory. */
.companion-profile{color:#142d46}
.profile-breadcrumbs{width:min(1300px,calc(100% - 96px));margin:auto;display:flex;align-items:center;gap:10px;min-height:52px;font-size:11px;color:#5b7184}
.profile-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.profile-breadcrumbs span:last-child{font-weight:650;color:#173550}
.profile-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:590px;background:#dfeaf4;overflow:hidden}
.profile-hero-copy{align-self:center;padding:66px 6vw 68px max(64px,5vw)}
.profile-hero-copy>.eyebrow{color:#4b6882;letter-spacing:.17em}
.profile-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.profile-tags span{font-size:11px;font-weight:700;letter-spacing:.04em;color:#345b77;background:#c7ddec;border:1px solid #aecbdc;padding:6px 10px;border-radius:30px}
.profile-tags span+span{background:#f0f6fa;border-color:#c9dbe6}
.profile-hero h1{font:400 clamp(58px,6vw,88px)/1.02 var(--serif);letter-spacing:-.055em;margin:17px 0 18px}
.profile-deck{font:400 clamp(20px,2vw,27px)/1.43 var(--serif);max-width:560px;color:#375b76}
.profile-updated{font-size:12px;color:#334155;margin-top:18px}
.profile-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.profile-primary-link,.profile-secondary-link{display:inline-flex;justify-content:space-between;align-items:center;gap:20px;min-height:50px;padding:12px 19px;border-radius:5px;font-size:13px;font-weight:650;transition:background .2s,transform .2s}
.profile-primary-link{background:#142f4d;color:#fff;box-shadow:0 10px 24px #17344c24}
.profile-primary-link:hover{background:#245075;transform:translateY(-2px)}
.profile-secondary-link{border:1px solid #9cb6c9;background:#eff5f9}
.profile-secondary-link:hover{background:#fff}
.profile-hero-art{position:relative;min-height:590px;margin:0;background:radial-gradient(circle at 50% 30%,#ecf3f7,#a9c4d7);overflow:hidden}
.profile-hero-art:after{content:'';position:absolute;inset:56% 0 0;background:linear-gradient(transparent,#102b467a);pointer-events:none}
.profile-hero-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 25%}
.profile-hero-art figcaption{position:absolute;bottom:19px;right:24px;z-index:1;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.14em;text-shadow:0 1px 5px #152a40}
.profile-art-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:220px var(--serif);color:#6c91ad}
.profile-main{width:min(1300px,calc(100% - 96px));margin:auto;padding:0 0 78px}
.profile-jump-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;border-bottom:1px solid #cadbe7;padding:18px 0;margin-bottom:48px;font-size:12px}
.profile-jump-nav span{font-weight:700;color:#264b69;margin-right:7px}
.profile-jump-nav a{color:#55718a;min-height:36px;display:inline-flex;align-items:center}
.profile-jump-nav a:hover{color:#173550;text-decoration:underline;text-underline-offset:4px}
.profile-body-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:72px;align-items:start}
.profile-section-heading .eyebrow,.profile-more-heading .eyebrow{color:#334155}
.profile-section-heading h2,.profile-more-heading h2{font:400 clamp(31px,3.5vw,46px)/1.15 var(--serif);letter-spacing:-.035em;margin:7px 0 24px}
.profile-story,.profile-notes,.profile-host-card,.profile-more{scroll-margin-top:28px}
.profile-story-content{font-size:16px;line-height:1.85;color:#294861}
.profile-story-content h3{font:400 29px/1.23 var(--serif);letter-spacing:-.025em;color:#153550;margin:37px 0 14px;padding-top:20px;border-top:1px solid #d9e5ed}
.profile-story-content h3:first-child{margin-top:0;padding-top:0;border-top:0}
.profile-story-content p{margin-bottom:18px;overflow-wrap:anywhere}
.profile-story-content blockquote{margin:25px 0;padding:17px 22px;border-left:3px solid #769fba;background:#e8f1f7;border-radius:0 7px 7px 0;font:italic 20px/1.6 var(--serif);color:#28516c}
.profile-story-content blockquote p{margin:0}
.profile-side-column{display:grid;gap:18px}
.profile-host-card{padding:25px;background:#e9f2f8;border:1px solid #c0d5e3;border-radius:12px}
.profile-host-card>.eyebrow{color:#334155}
.profile-host-card h2{font:400 30px/1.16 var(--serif);margin:11px 0 13px}
.profile-host-card>p:not(.eyebrow){font-size:13px;line-height:1.7;color:#48657c}
.profile-host-review{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 0;margin-top:16px;border-top:1px solid #c9dbe7;font-size:12px;font-weight:700;color:#214f70}
.profile-host-review:hover{text-decoration:underline;text-underline-offset:3px}
.profile-host-partner{border-top:1px solid #c9dbe7;padding-top:16px;margin-top:3px}
.profile-host-partner>p{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#334155;margin-bottom:10px}
.profile-host-partner .button{background:#173955;color:#fff;width:100%;min-height:46px;justify-content:center}
.profile-host-partner .button:hover{background:#295779}
.profile-host-partner small{display:block;font-size:11px;line-height:1.55;color:#334155;margin-top:11px}
.profile-disclosure{padding:18px 20px;border-left:3px solid #90aec3;background:#f1f6fa;font-size:12px;line-height:1.6;color:#506b80}
.profile-disclosure strong{display:block;color:#244865;margin-bottom:6px}
.profile-notes{padding-top:24px;margin-top:43px;border-top:1px solid #cadbe7}
.profile-section-intro{font-size:14px;line-height:1.7;color:#526f85;margin:-7px 0 22px}
.profile-note-card{padding:22px 24px;background:#edf4f9;border:1px solid #c5d9e6;border-radius:10px;margin-top:14px}
.profile-note-card h3{font:400 24px/1.2 var(--serif);margin:0 0 10px}
.profile-note-card p{font-size:13px;line-height:1.75;color:#31516a;overflow-wrap:anywhere;white-space:pre-wrap}
.profile-note-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.profile-note-heading button{border:1px solid #a6c0d2;border-radius:5px;background:#f9fcfe;cursor:pointer;padding:8px 11px;font-size:11px;font-weight:700;white-space:nowrap}
.profile-note-heading button:hover{background:#dbeaf4}
.profile-more{margin-top:72px;padding-top:30px;border-top:1px solid #cadbe7}
.profile-more-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
.profile-more-heading h2{margin-bottom:0}
.profile-more-heading>a{font-size:12px;font-weight:700;color:#245579;padding-bottom:5px}
.profile-more-heading>a:hover{text-decoration:underline;text-underline-offset:3px}
.profile-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.profile-related-card{min-width:0;background:#f9fbfd;border:1px solid #c8d9e6;border-radius:10px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.profile-related-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #17355217}
.profile-related-image{display:block;height:215px;background:#d5e3ee;overflow:hidden}
.profile-related-image img{width:100%;height:100%;object-fit:cover;object-position:center 24%;transition:transform .3s}
.profile-related-card:hover img{transform:scale(1.04)}
.profile-related-image span{height:100%;display:flex;align-items:center;justify-content:center;font:100px var(--serif);color:#7799b4}
.profile-related-card>div{padding:18px 20px 20px}
.profile-related-card .eyebrow{color:#334155;font-size:10px}
.profile-related-card h3{font:400 27px/1.15 var(--serif);margin:7px 0 8px}
.profile-related-card h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.profile-related-card>div>p:not(.eyebrow){font-size:12px;line-height:1.6;color:#4d697d;min-height:40px}
.profile-related-link{display:block;padding-top:13px;margin-top:14px;border-top:1px solid #d9e5ed;font-size:11px;font-weight:700;color:#245579}
@media(max-width:1000px){.profile-hero{grid-template-columns:1fr .82fr}.profile-hero-copy{padding-left:38px}.profile-main,.profile-breadcrumbs{width:calc(100% - 64px)}.profile-body-grid{grid-template-columns:minmax(0,1fr) 275px;gap:32px}.profile-related-image{height:185px}}
@media(max-width:700px){.profile-breadcrumbs{width:calc(100% - 36px);min-height:45px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-hero{display:flex;flex-direction:column-reverse}.profile-hero-art{height:355px;min-height:0}.profile-hero-copy{padding:30px 22px 38px}.profile-hero h1{font-size:clamp(48px,12vw,68px)}.profile-deck{font-size:21px}.profile-hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.profile-main{width:calc(100% - 36px);padding-bottom:48px}.profile-jump-nav{gap:8px 17px;padding:13px 0;margin-bottom:33px}.profile-jump-nav span{width:100%}.profile-body-grid{display:flex;flex-direction:column;gap:27px}.profile-article-column,.profile-side-column{width:100%}.profile-section-heading h2{font-size:34px}.profile-story-content{font-size:15px;line-height:1.75}.profile-story-content h3{font-size:26px}.profile-story-content blockquote{font-size:18px}.profile-note-card{padding:18px}.profile-more{margin-top:48px}.profile-more-heading{align-items:start;flex-direction:column}.profile-related-grid{grid-template-columns:1fr;gap:16px}.profile-related-image{height:230px}.profile-related-card>div>p:not(.eyebrow){min-height:0}}
@media(max-width:370px){.profile-hero-art{height:310px}.profile-deck{font-size:19px}}
@media(prefers-reduced-motion:reduce){.profile-primary-link,.profile-related-card,.profile-related-image img{transition:none}}
