/* About and CV inherit the article reading system. Only profile-specific composition lives here. */
.profile-reading .profile-hero-grid {display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:72px;align-items:center;}
.profile-reading .profile-hero .sb-title {max-width:12ch;}
.profile-reading .profile-hero .sb-hero-lead {max-width:46ch;}
.profile-reading .profile-portrait {margin:0;align-self:start;}
.profile-reading .profile-portrait img {display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border:0;border-radius:0;}
.profile-reading .profile-portrait figcaption {display:flex;flex-direction:column;gap:3px;margin-top:12px;font:500 .65rem/1.5 var(--font-mono);color:var(--muted);}



.profile-reading .profile-section {position:relative;}
.profile-reading .profile-section>.scene-rail {left:-52px;top:28px;}
.profile-reading .profile-record {padding:30px 0;border-bottom:1px solid var(--line);}
.profile-reading .profile-record:first-child {padding-top:0;}
.profile-reading .profile-record:last-child {border-bottom:0;padding-bottom:0;}
.profile-reading .profile-record h3 {margin:8px 0 13px;}
.profile-reading .profile-record h3 a:hover {text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;}
.profile-reading .profile-record .profile-record-meta {font:500 .68rem/1.7 var(--font-mono);letter-spacing:.04em;color:var(--profile-accent,var(--green));margin:0 0 12px;}
.profile-reading .profile-record .profile-record-role {font-weight:650;color:var(--fg);margin-bottom:14px;}
.profile-reading .profile-record p:last-child {margin-bottom:0;}
.profile-reading .profile-opening {font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.75;}
.profile-reading .profile-note {padding-left:19px;border-left:2px solid var(--profile-accent,var(--green));color:var(--muted);font-size:.94rem;}
.profile-reading .profile-signature {display:block;width:150px;max-height:90px;margin:25px 0 0;object-fit:contain;object-position:left;}
.profile-reading .profile-signature img {display:block;width:100%;max-height:90px;object-fit:contain;object-position:left;filter:invert(1);}
[data-theme-mode="light"] .profile-reading .profile-signature img {filter:none;}
.profile-reading .profile-skills {list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:35px;}
.profile-reading .profile-skills li {font:550 1rem/1.7 var(--font-sans);border-bottom:1px solid var(--line);padding:13px 0;}
.profile-reading .profile-case {padding-block:35px;}
.profile-reading .profile-case h3 {max-width:27ch;margin-bottom:23px;}
.profile-reading .profile-case-part {margin-top:21px;}
.profile-reading .profile-case-part h4 {font:700 .65rem/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--profile-accent,var(--green));margin:0 0 9px;}
.profile-reading .profile-reference {margin:0 0 40px;}
.profile-reading .profile-reference .sb-quote {margin:0 0 20px;padding:0 0 0 25px;border:0;border-left:1px solid var(--profile-accent,var(--green));border-radius:0;background:none;}
.profile-reading .profile-reference .sb-quote div {font-size:clamp(1.05rem,1.7vw,1.27rem);line-height:1.8;overflow-wrap:anywhere;}
.profile-reading .profile-reference figcaption {display:flex;flex-direction:column;gap:4px;padding-left:27px;font-size:.83rem;color:var(--muted);}
.profile-reading .profile-reference figcaption strong {color:var(--fg);}
.profile-reading .profile-contact {display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-style:normal;font-size:1rem;overflow-wrap:anywhere;}
.profile-reading .profile-contact a {text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px;}
.profile-reading .profile-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.profile-reading .profile-traits {margin-top:25px;}
.profile-reading .profile-traits h3 {margin-top:0;}
.profile-reading .profile-axis {padding:18px 0;border-bottom:1px solid var(--line);}

@media(max-width:1050px){.profile-reading .profile-hero-grid {gap:35px;grid-template-columns:minmax(0,1fr) 190px;}.profile-reading .profile-section>.scene-rail {left:-35px;width:26px;}}
@media(max-width:820px){.profile-reading .profile-hero-grid {grid-template-columns:minmax(0,1fr) 150px;gap:24px;}.profile-reading .profile-section>.scene-rail {display:none;}.profile-reading .profile-hero .sb-title {font-size:clamp(2.7rem,6.5vw,4.5rem);}.profile-reading .profile-reference figcaption {padding-left:20px;}}
@media(max-width:520px){.profile-reading .profile-hero-grid {display:flex;flex-direction:column;align-items:stretch;gap:28px;}.profile-reading .profile-portrait {width:128px;}.profile-reading .profile-portrait figcaption {display:flex;flex-direction:column;gap:3px;display:none;}.profile-reading .profile-hero .sb-title {font-size:clamp(2.9rem,12vw,3.8rem);}.profile-reading .profile-record {padding-block:25px;}}
@media print {.profile-reading .profile-hero-grid {grid-template-columns:1fr 110px;gap:25px;}.profile-reading .profile-portrait {width:110px;}.profile-reading .profile-record,.profile-reading .profile-reference {break-inside:avoid;}.profile-reading .profile-hero-cta,.profile-reading .profile-actions,.profile-reading .profile-section>.scene-rail {display:none;}}
.profile-reading .profile-contents-mobile {display:none;}
.profile-reading .sb-toc-label {margin:0 0 18px;font:700 .66rem/1.5 var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;}
.profile-reading .profile-impact {margin-top:35px;border-top:1px solid var(--line);}
.profile-reading .profile-impact .profile-record:first-child {padding-top:30px;}
.profile-reading .profile-section-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
.profile-reading .profile-personality {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;}
@media(max-width:820px){.profile-reading .profile-contents-mobile {display:block;margin:0 0 35px;border-block:1px solid var(--line);padding:16px 0;}.profile-reading .profile-contents-mobile summary {font:650 .78rem/1.6 var(--font-mono);cursor:pointer;}.profile-reading .profile-contents-mobile nav {display:grid;gap:6px;margin-top:16px;}.profile-reading .profile-contents-mobile nav a {padding:8px 0;font-size:.9rem;color:var(--muted);}.profile-reading .profile-contents-mobile nav a[aria-current] {color:var(--profile-accent,var(--green));}.profile-reading .profile-section-grid {grid-template-columns:1fr;gap:20px;}}
@media(max-width:520px){.profile-reading .profile-personality {grid-template-columns:1fr;}}
@media print {.profile-reading .profile-contents-mobile {display:none!important;}}
/* Original homepage scenes supply the rail markers only, never their panel geometry. */
.profile-reading .profile-hero {width:min(1180px,calc(100% - 64px));padding:145px 0 45px;display:block;}
.profile-reading .profile-hero>.scene-rail {left:-52px;}
.profile-reading .profile-section {width:100%;min-height:0;display:block;margin:0 0 72px;padding:51px 0 0;justify-content:initial;}
.profile-reading .profile-section::before,.profile-reading .profile-section::after {display:none;}

/* Self-described preferences stay as static source values, with an open editorial axis. */
.profile-reading .profile-personality-axis {padding:24px 0;border-bottom:1px solid var(--line);}
.profile-reading .profile-personality-axis>div {display:flex;justify-content:space-between;gap:20px;font-size:.87rem;line-height:1.6;}
.profile-reading .profile-personality-axis>div:last-child {font:500 .66rem/1.5 var(--font-mono);color:var(--muted);}
.profile-reading .profile-personality-axis meter {display:block;width:100%;height:3px;margin:15px 0 12px;border:0;border-radius:0;background:var(--line);appearance:none;}
.profile-reading .profile-personality-axis meter::-webkit-meter-bar {height:3px;border:0;border-radius:0;background:var(--line);}
.profile-reading .profile-personality-axis meter::-webkit-meter-optimum-value {border-radius:0;background:var(--profile-accent,var(--green));}
.profile-reading .profile-personality-axis meter::-moz-meter-bar {background:var(--profile-accent,var(--green));}
.profile-reading .profile-toc nav a {display:flex;align-items:baseline;gap:12px;}
.profile-reading [data-profile-toc] a>span {font:500 .59rem/1.5 var(--font-mono);color:var(--profile-accent,var(--green));}
@media(max-width:520px){.profile-reading .profile-skills {grid-template-columns:1fr;}.profile-reading .profile-reference .sb-quote {padding-left:19px;}}

@media(max-width:820px){.profile-reading .profile-hero {width:calc(100% - 44px);padding:111px 0 32px;}.profile-reading .profile-section {padding-top:33px;margin-bottom:49px;}}
@media(max-width:520px){.profile-reading .profile-hero {width:calc(100% - 40px);}}
@media print{.profile-reading .profile-hero {width:100%;padding:0 0 20pt;}.profile-reading .profile-section {margin-bottom:20pt;padding-top:15pt;}}
/* Article button inheritance must not enlarge the shared consent controls. */
.profile-reading :is(.cookie-consent button,.cookie-manage) {font-family:var(--font-mono);font-size:.66rem;font-weight:820;line-height:1.5;}
.profile-reading .cookie-consent__copy {min-width:0;}


/* Profile identity follows the studio shell, with its own editorial reading pace. */
body.profile-reading {--profile-accent:var(--public-scene-accent,var(--green));background:var(--bg);}
body.profile-reading::before {display:none;}
.profile-reading .profile-hero {position:relative;isolation:isolate;padding-bottom:58px;}
.profile-reading .profile-hero-grid {grid-template-columns:minmax(0,1fr) minmax(230px,29%);gap:clamp(40px,7vw,100px);align-items:center;}
.profile-reading .profile-hero .sb-eyebrow {color:var(--profile-accent);letter-spacing:.15em;}
.profile-reading.cv-editorial .profile-hero .sb-title {font-size:clamp(3.6rem,7.8vw,7rem);line-height:.94;letter-spacing:-.065em;max-width:11ch;margin:27px 0;}
.profile-reading .profile-hero .sb-hero-lead {font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.6;max-width:40ch;}
.profile-reading .profile-portrait {width:100%;padding:0;}
.profile-reading .profile-portrait-surface {position:relative;}
.profile-reading .profile-portrait-surface::before {
  content:"";position:absolute;inset:-12px;pointer-events:none;
  background:
    linear-gradient(var(--profile-accent),var(--profile-accent)) left top/20px 1px no-repeat,
    linear-gradient(var(--profile-accent),var(--profile-accent)) left top/1px 20px no-repeat,
    linear-gradient(var(--profile-accent),var(--profile-accent)) right bottom/20px 1px no-repeat,
    linear-gradient(var(--profile-accent),var(--profile-accent)) right bottom/1px 20px no-repeat;
  opacity:.65;
}
.profile-reading .profile-portrait img {clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));}
.profile-reading .profile-portrait figcaption {padding-top:3px;font-family:var(--font-mono);letter-spacing:.04em;}





.profile-reading .profile-section {--profile-accent:var(--section-a,var(--public-scene-accent,var(--green)));border-top:1px solid var(--line);}
.profile-reading .profile-section>.sb-section-no {display:flex;align-items:center;gap:14px;color:var(--profile-accent);letter-spacing:.14em;}
.profile-reading .profile-section>.sb-section-no::after {content:"";display:block;width:40px;height:1px;background:var(--profile-accent);opacity:.7;}
.profile-reading .profile-section>h2 {font-size:clamp(2.3rem,3.5vw,3.6rem);letter-spacing:-.055em;line-height:1.06;margin-bottom:34px;max-width:21ch;}
.profile-reading .profile-record .profile-record-meta {color:var(--profile-accent);}
.profile-reading .profile-record h3 {letter-spacing:-.035em;line-height:1.15;}
.profile-reading .profile-toc a[aria-current] {color:var(--profile-accent);}
@media(max-width:1050px) {.profile-reading .profile-hero-grid {grid-template-columns:minmax(0,1fr) 230px;gap:40px;}}
@media(max-width:820px) {.profile-reading .profile-hero-grid {grid-template-columns:minmax(0,1fr) 180px;gap:30px;}.profile-reading.cv-editorial .profile-hero .sb-title {font-size:clamp(3rem,7.6vw,5rem);}}
@media(max-width:520px) {
  .profile-reading .profile-hero-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:38px;}
  .profile-reading .profile-portrait {width:min(58%,230px);margin-left:auto;margin-right:12px;}
  .profile-reading.cv-editorial .profile-hero .sb-title {font-size:clamp(3.2rem,14vw,4.7rem);}
  
  
  .profile-reading .profile-section>h2 {font-size:clamp(2.1rem,9vw,2.7rem);}
}
@media print {
  .profile-reading .profile-hero-grid {grid-template-columns:1fr 120px;gap:24px;}
  .profile-reading .profile-portrait {width:120px;margin:0;}
  .profile-reading.cv-editorial .profile-hero .sb-title {font-size:38pt;line-height:1;}
  .profile-reading .profile-portrait-surface::before {inset:-6px;}
  .profile-reading .profile-section>h2 {font-size:22pt;}
  
}

/* The CV opens with actual chronology, not oversized promotional KPIs. */
.profile-reading.cv-editorial .profile-hero {padding-top:120px;padding-bottom:36px;}
.profile-reading.cv-editorial .profile-hero-grid {grid-template-columns:minmax(0,1fr) 210px;gap:56px;align-items:center;}
.profile-reading.cv-editorial .profile-hero .sb-title {font-size:clamp(3rem,6vw,5.2rem);margin:20px 0;max-width:14ch;}
.profile-reading.cv-editorial .profile-hero .sb-hero-lead {font-size:1.1rem;max-width:48ch;}
.profile-reading.cv-editorial .profile-portrait {align-self:center;}
.profile-reading.cv-editorial .sb-hero-cta {margin-top:22px;}
.profile-reading .profile-career {margin-top:38px;border-block:1px solid var(--line);padding:22px 0 10px;}
.profile-reading .profile-career-heading {display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:15px;font:500 .65rem/1.5 var(--font-mono);color:var(--muted);}
.profile-reading .profile-career-heading h2 {font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--profile-accent);margin:0;}
.profile-reading .profile-career ol {list-style:none;padding:0;margin:0;display:grid;gap:0;}
.profile-reading .profile-career li {min-width:0;}
.profile-reading .profile-career a {display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr) auto;align-items:baseline;column-gap:24px;row-gap:7px;padding:13px 0;color:var(--fg);text-decoration:none;}
.profile-reading .profile-career a:focus-visible {outline:1px solid var(--profile-accent);outline-offset:5px;}
.profile-reading .profile-career-company {font-size:.85rem;font-weight:650;}
.profile-reading .profile-career-role {font-size:.78rem;color:var(--muted);}
.profile-reading .profile-career-period {font:.6rem/1.6 var(--font-mono);color:var(--muted);}
.profile-reading .profile-career svg {grid-column:1/-1;width:100%;height:8px;overflow:visible;}
.profile-reading .profile-career path {stroke:var(--line);stroke-width:.6;vector-effect:non-scaling-stroke;}
.profile-reading .profile-career rect {fill:var(--profile-accent);opacity:.65;transition:opacity .25s;}
.profile-reading .profile-career a:is(:hover,:focus-visible) rect {opacity:1;}
.profile-reading.cv-editorial .sb-layout {padding-top:25px;}
@media(max-width:820px){
 .profile-reading.cv-editorial .profile-hero {padding-top:105px;}
 .profile-reading.cv-editorial .profile-hero-grid {grid-template-columns:minmax(0,1fr) 150px;gap:28px;}
 .profile-reading .profile-career a {grid-template-columns:minmax(0,1fr) auto;column-gap:16px;}
 .profile-reading .profile-career-role {grid-column:1/-1;grid-row:2;}
 .profile-reading .profile-career-period {grid-column:2;grid-row:1;}
}
@media(max-width:520px){
 .profile-reading.cv-editorial .profile-hero-grid {grid-template-columns:minmax(0,1fr) 88px;gap:16px;align-items:start;}
 .profile-reading.cv-editorial .profile-hero .sb-title {font-size:clamp(2.35rem,10vw,3rem);line-height:1;}
 .profile-reading.cv-editorial .profile-hero-grid>div {display:contents;}
 .profile-reading.cv-editorial .profile-hero .sb-eyebrow {grid-column:1/-1;margin-bottom:0;}
 .profile-reading.cv-editorial .profile-hero .sb-title {grid-column:1;grid-row:2;margin:0;}
 .profile-reading.cv-editorial .profile-portrait {grid-column:2;grid-row:2;width:88px;margin:0;}
 .profile-reading.cv-editorial .profile-portrait-surface::before {inset:-5px;}
 .profile-reading.cv-editorial .profile-hero :is(.sb-hero-lead,.sb-meta,.sb-hero-cta) {grid-column:1/-1;margin:0;}
 .profile-reading.cv-editorial .profile-hero .sb-hero-lead {font-size:1rem;}
 .profile-reading.cv-editorial .profile-hero .sb-hero-cta {display:flex;gap:10px;flex-wrap:wrap;}
 .profile-reading .profile-career {margin-top:28px;}
 .profile-reading.cv-editorial main {padding-bottom:95px;}
}
@media print {
 .profile-reading.cv-editorial .profile-hero {padding:0 0 18pt;}
 .profile-reading.cv-editorial .profile-hero-grid {grid-template-columns:1fr 100px;gap:24px;}
 .profile-reading.cv-editorial .profile-portrait {width:100px;}
 .profile-reading.cv-editorial .profile-hero .sb-title {font-size:34pt;}
 .profile-reading .profile-career {break-inside:avoid;}
}
@media(prefers-reduced-motion:reduce){.profile-reading .profile-career rect {transition:none;}}

/* Existing public project media is evidence within the full CV, not another card grid. */
.profile-reading .profile-project--with-image {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,3vw,40px);align-items:start;}
.profile-reading .profile-project-image {display:block;overflow:hidden;margin-top:8px;}
.profile-reading .profile-project-image img {display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;background:var(--bg);transition:transform .65s cubic-bezier(.2,.7,.2,1);}
.profile-reading .profile-project-image:is(:hover,:focus-visible) img {transform:scale(1.025);}
.profile-reading .profile-project-image:focus-visible {outline:2px solid var(--profile-accent);outline-offset:5px;}
.profile-reading .profile-project-copy {min-width:0;}
.profile-reading .profile-project-copy h3 {margin-top:5px;}
@media(max-width:600px){.profile-reading .profile-project--with-image {grid-template-columns:1fr;gap:20px;}.profile-reading .profile-project-image {max-width:440px;margin-top:0;}}
@media(prefers-reduced-motion:reduce){.profile-reading .profile-project-image img {transition:none;}.profile-reading .profile-project-image:is(:hover,:focus-visible) img {transform:none;}}
@media print{.profile-reading .profile-project-image {display:none;}.profile-reading .profile-project--with-image {display:block;}}
