/* Read in order. Structure is visible; actions are reserved for real interaction. */
:root{--font:"DM Sans","Noto Sans JP",sans-serif;--title-font:"Onest","DM Sans","Noto Sans JP",sans-serif}
.reader-page.portfolio-page .portfolio-main :is(h1,h2){font-family:var(--title-font);font-weight:400;letter-spacing:-.025em}
.reader-page .portfolio-main :is(h3,h4){font-family:var(--font);font-weight:500}
.home-page .home-description h2,.home-page .home-idea-heading h2{font-family:var(--title-font);font-weight:400}
.reader-page.portfolio-page .portfolio-main p:not(.contact-section *){text-wrap:pretty}
.reader-page .reader-cover{grid-template-rows:minmax(0,1fr);gap:0;padding-bottom:28px}
.reader-page .project-overview{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,56px);padding-top:36px}
.reader-page .overview-story{max-width:64ch}
.reader-page .overview-facts{padding:0 0 0 24px;border-left:2px solid var(--line);border-radius:0;background:transparent;max-width:560px;align-self:start}
.reader-page .portfolio-main .overview-facts .editorial-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
.reader-page .portfolio-main .overview-facts .editorial-meta dd{font-size:16px;line-height:1.55}
.reader-page .portfolio-main .overview-facts .editorial-meta dt{font-size:15px;line-height:1.45;margin-bottom:6px}
.reader-page .portfolio-main .reading-block{margin-top:28px}
.reader-page .portfolio-main .reading-block>h3{font-size:18px;line-height:1.4;margin:0 0 14px;color:var(--ink)}
.reader-page .portfolio-main .reading-block>.fold-body{padding:0;margin:0}
.reader-page .portfolio-main .contact-letter>label.contact-salutation{display:block;font:400 clamp(32px,2.5vw,40px)/1.2 var(--letter-font);letter-spacing:0;margin:0 0 14px;color:var(--ink)}
.reader-page .portfolio-main .contact-letter textarea{font-family:var(--letter-font);font-size:24px;line-height:2.5rem}
.reader-page .portfolio-main .contact-after-note{font-family:var(--letter-font);font-size:36px;line-height:1.2}
.reader-page .portfolio-main .contact-field:not(.contact-letter)>label{font-family:var(--font);font-size:16px;line-height:1.5}
.reader-page .portfolio-main .contact-body{border-radius:8px;background:#f4f6f8}
.reader-page .portfolio-main .contact-send-mark{color:var(--blue)}
.reader-page .portfolio-main .about-thread-history>li:not(:last-child)::after{border-left-width:2px;border-left-color:#b5bec8}
.reader-page .portfolio-main .ink-learning-terms li{position:relative}
.reader-page .portfolio-main .ink-learning-character{color:var(--blue)}
.reader-page .portfolio-main .ink-learning-ha .ink-learning-character{color:var(--pink)}
@media(max-width:1000px){
 .reader-page .project-overview{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:28px}
}
@media(max-width:760px){
 .reader-page .reader-cover{padding-bottom:20px}
 .reader-page .project-overview{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:28px}
 .reader-page .overview-facts{padding:20px 0 0;border-left:0;border-top:2px solid var(--line);max-width:none}
 .reader-page .portfolio-main .overview-facts .editorial-meta{gap:20px}
 .reader-page .portfolio-main .contact-letter>label.contact-salutation{font-size:34px}
 .reader-page .portfolio-main .contact-letter textarea{font-size:23px}
}
@media(max-width:420px){
 .reader-page .portfolio-main .overview-facts .editorial-meta{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:600px) and (max-height:560px){
 .reader-page .reader-cover{grid-template-rows:minmax(0,1fr);padding-bottom:12px}
}


/* Industry: one visible taxonomy, with the categories aligned for comparison. */
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-section{display:block;padding:clamp(24px,2vw,32px);border-radius:8px;background:var(--reading-blue,#edf3fb)}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px 28px;margin:0 0 16px;max-width:none}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-heading .eyebrow{font-size:15px;line-height:1.5;margin:0 0 8px}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-heading h2{font-size:clamp(26px,2.35vw,32px);line-height:1.2;margin:0;max-width:24ch;text-wrap:balance}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0;padding:0;max-width:320px}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-output>div{display:flex;flex-direction:column-reverse;gap:4px;margin:0}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-output dt{font-size:15px;line-height:1.4;max-width:17ch;color:var(--muted)}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-output dd{font-size:28px;line-height:1.1;margin:0;color:var(--ink);font-variant-numeric:tabular-nums}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-context{font-size:16px;line-height:1.5;margin:0 0 20px;max-width:78ch}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px;margin:0}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens{display:grid;grid-template-rows:minmax(34px,auto) minmax(48px,auto) minmax(24px,auto) auto;gap:10px;min-width:0;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-heading{display:flex;align-items:center;gap:12px;min-width:0;margin:0;padding:0;background:transparent}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-heading svg{display:block;flex:0 0 32px;width:32px;height:32px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-heading h3{font-size:20px;line-height:1.25;font-weight:450;letter-spacing:-.015em;color:var(--ink);margin:0}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-purpose{font-size:16px;line-height:1.5;margin:0;max-width:37ch;color:var(--ink)}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-count{display:flex;align-items:center;gap:10px;min-width:0;margin:0}
.reader-page.portfolio-page.project-industry .portfolio-main .lens-dots{display:flex;align-items:center;gap:4px;min-width:59px;flex:none}
.reader-page.portfolio-page.project-industry .portfolio-main .lens-dots i{display:block;width:5px;height:5px;background:var(--blue);border-radius:50%}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-count p{font-size:15px;line-height:1.5;color:var(--muted);margin:0}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-count strong{font-weight:500;color:var(--ink)}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-count p>span{white-space:nowrap}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-items{display:block;list-style:none;margin:0;padding:0}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-items li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:8px;font-size:16px;line-height:1.45;margin:0;padding:4px 0;color:var(--ink)}
.reader-page.portfolio-page.project-industry .portfolio-main .service-lens-items .lens-reference{font-size:15px;line-height:1.55;color:#586674;font-variant-numeric:tabular-nums}

/* Authored context and method are part of the reading flow, not controls. */
.reader-page.portfolio-page.project-industry .portfolio-main .industry-research-note{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;margin:24px 0 0;padding:20px 0 0;background:transparent;border:0}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-research-note h3{font-size:16px;line-height:1.5;font-weight:500;color:var(--blue);margin:0}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-research-note .systems-fold-body{padding:0}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-research-note p{font-size:16px;line-height:1.6;margin:0;max-width:77ch}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-method-block{margin:32px 0 0;padding:24px;background:var(--portfolio-panel);border-radius:8px}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-method-block>h3{font-size:20px;line-height:1.3;font-weight:450;margin:0 0 12px}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-method-block .systems-fold-body{padding:0}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-method-block .systems-fold-body>p:first-child{font-size:16px;line-height:1.6;margin:0 0 24px}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-method-block .industry-process{gap:24px}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-process h4{font-size:18px;line-height:1.35;font-weight:450;margin:0 0 10px}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-process li>span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 0 12px;border-radius:50%;background:#fff;color:var(--blue);font-size:15px;line-height:1}
.reader-page.portfolio-page.project-industry .portfolio-main .industry-process p{font-size:16px;line-height:1.55}

@media(min-width:901px) and (max-width:1150px){
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-heading{grid-template-columns:minmax(0,1fr) 280px;gap:24px}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix{gap:22px}
 .reader-page.portfolio-page.project-industry .portfolio-main .lens-dots{min-width:0}
}
@media(min-width:901px) and (max-width:940px){
 .reader-page.portfolio-page.project-industry .portfolio-main .service-lens{grid-template-rows:minmax(34px,auto) minmax(48px,auto) minmax(46px,auto) auto}
}
@media(max-width:900px){
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-heading{grid-template-columns:minmax(0,1fr);gap:20px}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-heading h2{max-width:26ch}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-output{max-width:360px}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix{grid-template-columns:minmax(0,1fr);gap:28px}
 .reader-page.portfolio-page.project-industry .portfolio-main .service-lens{grid-template-rows:auto;gap:12px}
 .reader-page.portfolio-page.project-industry .portfolio-main .service-lens+section{padding-top:24px;border-top:2px solid #d3e1f2}
 .reader-page.portfolio-page.project-industry .portfolio-main .service-lens-purpose{max-width:62ch}
 .reader-page.portfolio-page.project-industry .portfolio-main .service-lens-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-research-note{grid-template-columns:minmax(0,1fr);gap:12px}
}
@media(max-width:600px){
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-section{padding:24px 18px}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-output{gap:18px}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-output dt{max-width:none}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-context{margin-bottom:24px}
 .reader-page.portfolio-page.project-industry .portfolio-main .service-lens-items{grid-template-columns:minmax(0,1fr)}
 .reader-page.portfolio-page.project-industry .portfolio-main .service-lens-heading h3{font-size:20px}
 .reader-page.portfolio-page.project-industry .portfolio-main .service-lens-count p>span{display:block}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-method-block{padding:20px 18px}
}
@media print{
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix-section{background:transparent;padding:0}
 .reader-page.portfolio-page.project-industry .portfolio-main .industry-matrix{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* Neo-Terakoya: a readable relationship, followed by the parts that make it work. */
.reader-page.project-terakoya .reader-cover .cover-visual{container-type:size;container-name:neo-cover-field}
.reader-page.project-terakoya .neo-map-lines{position:absolute;inset:0;display:block;width:100%;height:100%;fill:none;stroke:#272a2d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;overflow:visible}
.reader-page.project-terakoya .neo-map-compact{display:none}
.reader-page.project-terakoya .neo-map-place{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;width:30%;max-width:150px;transform:translate(-50%,-50%);text-align:center}
.reader-page.project-terakoya .neo-map-place-a{left:20.5%;top:20%}
.reader-page.project-terakoya .neo-map-place-b{left:79.5%;top:20%}
.reader-page.project-terakoya .neo-map-place-c{left:50%;top:83%}
.reader-page.project-terakoya .neo-map-place-icon{display:grid;place-items:center;flex:none;width:54px;height:54px;border:1.5px solid #272a2d;border-radius:50%;background:#f1f3f5}
.reader-page.project-terakoya .neo-map-place-icon svg{display:block;width:30px;height:30px;fill:none;stroke:var(--blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.reader-page.project-terakoya .neo-map-place-label{display:block;max-width:100%;padding:0 2px;background:#fff;color:var(--ink);font:400 15px/1.3 var(--font);text-wrap:balance}
.reader-page.project-terakoya .neo-label-short{display:none}
.reader-page.project-terakoya .neo-map-shared{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:10px;max-width:90%;padding:13px 16px;background:#e9f1fb;border:1.5px solid #74879d;border-radius:8px;color:var(--ink);font:450 16px/1.3 var(--font);white-space:nowrap}
.reader-page.project-terakoya .neo-map-shared svg{flex:none;display:block;width:24px;height:24px;fill:#e9f1fb;stroke:var(--blue);stroke-width:1.5;stroke-linecap:round}
@container neo-map (max-width:400px){
 .reader-page.project-terakoya .neo-label-long{display:none}
 .reader-page.project-terakoya .neo-label-short{display:inline}
}
@container neo-map (max-height:319px){
 .reader-page.project-terakoya .neo-label-long{display:none}
 .reader-page.project-terakoya .neo-label-short{display:inline}
 .reader-page.project-terakoya .neo-map-triangle{display:none}
 .reader-page.project-terakoya .neo-map-compact{display:block}
 .reader-page.project-terakoya .neo-map-place{top:27%;gap:6px;width:31%;max-width:170px}
 .reader-page.project-terakoya .neo-map-place-a{left:16.7%}
 .reader-page.project-terakoya .neo-map-place-b{left:50%}
 .reader-page.project-terakoya .neo-map-place-c{left:83.3%}
 .reader-page.project-terakoya .neo-map-place-icon{width:38px;height:38px}
 .reader-page.project-terakoya .neo-map-place-icon svg{width:24px;height:24px}
 .reader-page.project-terakoya .neo-map-shared{top:77%;padding:10px 14px}
}
@container neo-map (max-height:179px){
 .reader-page.project-terakoya .neo-map-place{top:29%;gap:4px}
 .reader-page.project-terakoya .neo-map-place-icon{width:32px;height:32px}
 .reader-page.project-terakoya .neo-map-place-icon svg{width:21px;height:21px}
 .reader-page.project-terakoya .neo-map-place-label{font-size:15px;line-height:1.2}
 .reader-page.project-terakoya .neo-map-shared{padding:8px 12px;font-size:15px}
 .reader-page.project-terakoya .neo-map-shared svg{width:20px;height:20px}
}

/* Context, principles and a possible pilot are visible without a disclosure. */
.reader-page.project-terakoya .overview-context{margin-top:20px;padding-top:20px;border-top:1px solid #c8cdd4}.reader-page.project-terakoya .neo-pilot{margin-top:32px;padding:0;border:0;background:transparent}.reader-page.project-terakoya .neo-pilot>h3{margin:0 0 20px;font-size:20px;line-height:1.35}
.reader-page.project-terakoya .terakoya-pilot{gap:24px}
.reader-page.project-terakoya .terakoya-pilot li{position:relative;padding-top:12px;border-top:2px solid #bccad9}
.reader-page.project-terakoya .terakoya-pilot li>span{display:grid;place-items:center;width:32px;height:32px;background:#e9f1fb;border-radius:50%;font-size:15px;color:var(--blue);margin-bottom:12px}

/* Strong contour and pale surfaces keep every layer legible, including unselected layers. */
.reader-page.project-terakoya .terakoya-layer-instrument{background:transparent;border:0;border-radius:0;padding:0;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 32px}
.reader-page.project-terakoya .terakoya-layer-figure{padding:0;align-self:center}
.reader-page.project-terakoya .terakoya-layer-diagram{max-width:430px;max-height:360px;margin:0 auto;overflow:visible}
.reader-page.project-terakoya .layer-guide{stroke:#7c858f;stroke-width:1.5;stroke-dasharray:3 5}
.reader-page.project-terakoya [data-layer-sheet]{opacity:1}
.reader-page.project-terakoya [data-layer-sheet] path{fill:#e4edf7;stroke:#303840;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.reader-page.project-terakoya [data-layer-sheet]:nth-of-type(even) path{fill:#f2f4f6}
.reader-page.project-terakoya [data-layer-sheet].is-selected path{fill:#fbe8f1;stroke:#bd286b;stroke-width:2.8}
.reader-page.project-terakoya .portfolio-main .terakoya-layer-diagram text{fill:#333c45;font-size:30px;font-weight:450}
.reader-page.project-terakoya [data-layer-sheet].is-selected text{fill:#a81f5c}
.reader-page.project-terakoya .terakoya-layers{gap:6px}
.reader-page.project-terakoya .terakoya-layers li{grid-template-columns:148px minmax(0,1fr);gap:14px;padding:8px 12px;background:#fff;border-left:3px solid transparent;border-radius:6px}
.reader-page.project-terakoya .terakoya-layers li.is-selected{background:#fff;border-left-color:#bd286b}
.reader-page.project-terakoya .terakoya-layers button{font-size:16px;font-weight:450;gap:10px}
.reader-page.project-terakoya .terakoya-layers button span{color:#596370;font-size:15px}
.reader-page.project-terakoya .terakoya-layers button[aria-pressed=true] span{color:#a81f5c}
.reader-page.project-terakoya .terakoya-layers p,.reader-page.project-terakoya .is-ready .terakoya-layers p{font-size:16px;line-height:1.55;padding-top:9px}
.reader-page.project-terakoya .terakoya-layer-figure figcaption{font-size:15px;line-height:1.5;max-width:38ch}
.reader-page.project-terakoya .terakoya-layer-hint{font-size:15px;color:#565f69}
.reader-page.project-terakoya .neo-format-icon{display:block;flex:none;width:34px;height:34px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reader-page.project-terakoya .neo-reading-icon{display:grid;place-items:center;width:46px;height:46px;background:#e9f1fb;border-radius:8px;margin:0 0 16px}
.reader-page.project-terakoya .neo-reading-icon svg{display:block;width:30px;height:30px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:1000px){
 .reader-page.project-terakoya .terakoya-layer-instrument{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px}
 .reader-page.project-terakoya .terakoya-layers li{grid-template-columns:126px minmax(0,1fr);gap:10px;padding:8px 10px}
 .reader-page.project-terakoya .portfolio-main .terakoya-layer-diagram text{font-size:36px}
}
@media(max-width:800px){
 .reader-page.project-terakoya .terakoya-layer-instrument{grid-template-columns:minmax(0,1fr)}
 .reader-page.project-terakoya .terakoya-layer-diagram{max-height:250px}
 .reader-page.project-terakoya .terakoya-layer-figure figcaption{max-width:48ch}
 .reader-page.project-terakoya .terakoya-layers li{grid-template-columns:146px minmax(0,1fr)}
}
@media(max-width:600px){
 .reader-page.project-terakoya .terakoya-layer-diagram{max-height:240px}
 .reader-page.project-terakoya .terakoya-layers li{grid-template-columns:minmax(0,1fr);gap:0;padding:8px 10px}
 .reader-page.project-terakoya .terakoya-layers p,.reader-page.project-terakoya .is-ready .terakoya-layers p{padding:0 0 4px 30px}
 .reader-page.project-terakoya .neo-reading-icon{grid-column:1;grid-row:1/3;margin:0}
 .reader-page.project-terakoya .terakoya-pilot{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
}
@media(max-width:380px){.reader-page.project-terakoya .terakoya-pilot{grid-template-columns:minmax(0,1fr)}
}


/* R19 — Always-visible research, with diagrams that explain relationships. */
.reader-page.portfolio-page .portfolio-main .research-static{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.reader-page.portfolio-page .portfolio-main .research-static>.research-static-title{margin:0 0 16px;padding:0;min-height:0;font-size:20px;line-height:1.4;font-weight:500;color:var(--ink);cursor:default}
.reader-page.portfolio-page .portfolio-main .research-static>.research-static-title::before,
.reader-page.portfolio-page .portfolio-main .research-static>.research-static-title::after{content:none}
.reader-page.portfolio-page .portfolio-main .reading-rule-notes{margin-top:32px}
.reader-page.portfolio-page .portfolio-main .reading-rule-grid{padding-top:0}

/* The common source branches into parallel proposed uses, not sequential results. */
.reader-page.portfolio-page .portfolio-main .reading-use-section .reading-future-copy{max-width:none}
.reader-page.portfolio-page .portfolio-main .reading-use-section .chapter-lead{max-width:68ch;margin:0}
.reader-page.portfolio-page .portfolio-main .reading-use-map{margin:28px 0 24px}
.reader-page.portfolio-page .portfolio-main .reading-use-source{position:relative;display:table;width:max-content;max-width:100%;margin:0 auto;padding:10px 18px;background:#fff;border:1.5px solid #929ba7;border-radius:5px;font-size:16px;font-weight:500;line-height:1.5;color:var(--ink)}
.reader-page.portfolio-page .portfolio-main .reading-use-source::after{content:"";position:absolute;left:50%;top:100%;height:25px;border-left:2px solid #929ba7}
.reader-page.portfolio-page .portfolio-main .reading-proposed-uses{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:24px 0 0;padding:0;list-style:none}
.reader-page.portfolio-page .portfolio-main .reading-proposed-uses::before{content:"";position:absolute;left:calc((100% - 56px) / 6);right:calc((100% - 56px) / 6);top:0;border-top:2px solid #929ba7}
.reader-page.portfolio-page .portfolio-main .reading-proposed-uses>li{position:relative;display:block;min-width:0;margin:0;padding:24px 0 0;text-align:center}
.reader-page.portfolio-page .portfolio-main .reading-proposed-uses>li::before{content:"";position:absolute;left:50%;top:0;height:20px;border-left:2px solid #929ba7}
.reader-page.portfolio-page .portfolio-main .reading-proposed-uses h3{font-size:20px;font-weight:500;line-height:1.4;margin:12px 0 4px}
.reader-page.portfolio-page .portfolio-main .reading-proposed-uses p{max-width:36ch;margin:8px auto 0;font-size:16px;line-height:1.6;color:var(--ink)}
.reader-page.portfolio-page .portfolio-main .reading-proposed-uses p.use-route{margin:0 auto;color:var(--blue);font-size:15px;line-height:1.55;font-weight:500}
.reader-page.portfolio-page .portfolio-main :is(.use-symbol,.sprint-symbol){display:block;overflow:visible;stroke:#2b3037;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none}
.reader-page.portfolio-page .portfolio-main :is(.use-symbol,.sprint-symbol)>*{vector-effect:non-scaling-stroke}
.reader-page.portfolio-page .portfolio-main .use-symbol{width:96px;height:64px;margin:0 auto}
.reader-page.portfolio-page .portfolio-main :is(.use-symbol,.sprint-symbol) .symbol-field{fill:#f2f3f5;stroke:#5d6875}
.reader-page.portfolio-page .portfolio-main :is(.use-symbol,.sprint-symbol) .symbol-blue-fill{fill:#dce9fc;stroke:#2856cd}
.reader-page.portfolio-page .portfolio-main :is(.use-symbol,.sprint-symbol) .symbol-blue{stroke:#2856cd}
.reader-page.portfolio-page .portfolio-main :is(.use-symbol,.sprint-symbol) .symbol-link{stroke:#5d6875}
.reader-page.portfolio-page .portfolio-main .reading-use-section .research-scope{max-width:86ch;margin:24px 0 0;padding:16px 0 0;border-top:1px solid #c4cfde;color:#535e6b;font-size:15px;line-height:1.6}

/* The critique is part of the reading, with evidence and questions kept distinct. */
.reader-page.portfolio-page .portfolio-main .lecture-critique-grid{display:block;margin-top:32px}
.reader-page.portfolio-page .portfolio-main .lecture-critique-grid .annotation-intro{display:block;margin:0 0 18px;font-size:20px;line-height:1.4;font-weight:500}
.reader-page.portfolio-page .portfolio-main .lecture-critique-grid .assumption-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.reader-page.portfolio-page .portfolio-main .assumption-reading{min-width:0;display:flex;flex-direction:column;margin:0;padding:0;background:transparent;border:0}
.reader-page.portfolio-page .portfolio-main .assumption-reading .assumption-category{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:15px;line-height:1.5;color:var(--muted)}
.reader-page.portfolio-page .portfolio-main .assumption-index{font-size:15px;font-variant-numeric:tabular-nums;color:var(--blue)}
.reader-page.portfolio-page .portfolio-main .assumption-reading>.research-static-title{margin:0 0 14px;font-size:19px;line-height:1.4;min-height:54px;color:var(--ink);font-weight:500}
.reader-page.portfolio-page .portfolio-main .assumption-reading>div{display:flex;flex-direction:column;flex:1;padding:0}
.reader-page.portfolio-page .portfolio-main .assumption-reading>div>p{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 16px}
.reader-page.portfolio-page .portfolio-main .assumption-reading>div>p.annotation-question{margin:auto 0 0;padding:12px 0 0;border-top:2px solid #b8cbed;font-size:16px;line-height:1.55;color:#2856cd;font-weight:500}

/* A compact visual sequence: inspect a source, branch, revise a concept. */
.reader-page.portfolio-page .portfolio-main .lecture-sprint{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:24px}
.reader-page.portfolio-page .portfolio-main .lecture-sprint>li{padding:0;background:transparent;min-width:0}
.reader-page.portfolio-page .portfolio-main .lecture-sprint .sprint-number{font-size:15px;color:var(--muted);margin:0 0 12px}
.reader-page.portfolio-page .portfolio-main .lecture-sprint .sprint-symbol{width:132px;height:72px;margin:0 0 16px}
.reader-page.portfolio-page .portfolio-main .lecture-sprint h3{font-size:21px;line-height:1.4;margin:0 0 12px}
.reader-page.portfolio-page .portfolio-main .lecture-sprint>li:not(:last-child)::after{content:"→";top:63px;right:-20px;left:auto;bottom:auto;transform:translate(50%,-50%);font-size:24px;color:#5d6875}

/* Session references remain visible, with an uninterrupted five-part sequence. */
.reader-page.portfolio-page .portfolio-main .lecture-framework{padding-top:16px}
.reader-page.portfolio-page .portfolio-main .lecture-session-section+ .lecture-session-section{margin-top:32px}
.reader-page.portfolio-page .portfolio-main .lecture-framework .framework-notes{padding-top:0}
.reader-page.portfolio-page .portfolio-main .lecture-framework ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:20px 0 0}
.reader-page.portfolio-page .portfolio-main .lecture-framework li{display:block;position:relative;min-width:0;margin:0;padding-top:14px;border-top:2px solid #b8cbed}
.reader-page.portfolio-page .portfolio-main .lecture-framework li>span{font-size:15px;color:var(--blue);font-variant-numeric:tabular-nums}
.reader-page.portfolio-page .portfolio-main .lecture-framework h4{margin:8px 0;font-size:18px;line-height:1.4;font-weight:500}
.reader-page.portfolio-page .portfolio-main .lecture-framework li>p{margin:0;font-size:16px;line-height:1.6}
.reader-page.portfolio-page .portfolio-main .lecture-framework .framework-return{font-size:15px;line-height:1.6;margin:16px 0 0}
.reader-page.portfolio-page .portfolio-main .lecture-case-list h4{font-size:18px;line-height:1.4;margin:0 0 12px}

@media(max-width:1000px){
 .reader-page.portfolio-page .portfolio-main .lecture-framework ol{grid-template-columns:1fr;gap:16px;margin:18px 0 0}
 .reader-page.portfolio-page .portfolio-main .lecture-framework li{display:grid;grid-template-columns:28px 118px minmax(0,1fr);gap:10px;align-items:baseline;padding-top:12px}
 .reader-page.portfolio-page .portfolio-main .lecture-framework h4{margin:0}
}
@media(max-width:900px){
 .reader-page.portfolio-page .portfolio-main .lecture-critique-grid .assumption-notes{grid-template-columns:1fr;gap:28px;max-width:70ch}
 .reader-page.portfolio-page .portfolio-main .assumption-reading>.research-static-title{min-height:0;margin-bottom:10px}
 .reader-page.portfolio-page .portfolio-main .assumption-reading>div>p.annotation-question{padding-top:10px}
}
@media(max-width:760px){
 .reader-page.portfolio-page .portfolio-main .reading-use-map{margin:24px 0}
 .reader-page.portfolio-page .portfolio-main .reading-use-source{margin:0;font-size:16px}
 .reader-page.portfolio-page .portfolio-main .reading-use-source::after,
 .reader-page.portfolio-page .portfolio-main .reading-proposed-uses::before,
 .reader-page.portfolio-page .portfolio-main .reading-proposed-uses>li::before{content:none}
 .reader-page.portfolio-page .portfolio-main .reading-proposed-uses{grid-template-columns:1fr;gap:28px;margin:24px 0 0}
 .reader-page.portfolio-page .portfolio-main .reading-proposed-uses>li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:0 16px;text-align:left;padding:0}
 .reader-page.portfolio-page .portfolio-main .use-symbol{grid-column:1;grid-row:1/4;width:72px;height:48px;margin:0}
 .reader-page.portfolio-page .portfolio-main .reading-proposed-uses h3{grid-column:2;font-size:19px;margin:0 0 4px}
 .reader-page.portfolio-page .portfolio-main .reading-proposed-uses p{grid-column:2;max-width:48ch;margin:8px 0 0}
 .reader-page.portfolio-page .portfolio-main .reading-proposed-uses p.use-route{margin:0}
 .reader-page.portfolio-page .portfolio-main .lecture-sprint{grid-template-columns:1fr;gap:36px}
 .reader-page.portfolio-page .portfolio-main .lecture-sprint>li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:0 18px;align-items:start}
 .reader-page.portfolio-page .portfolio-main .lecture-sprint .sprint-number{grid-column:1;grid-row:1;margin:0}
 .reader-page.portfolio-page .portfolio-main .lecture-sprint .sprint-symbol{grid-column:1;grid-row:2/4;width:92px;height:auto;margin:12px 0 0}
 .reader-page.portfolio-page .portfolio-main .lecture-sprint h3{grid-column:2;grid-row:1/3;font-size:20px;margin:0 0 12px}
 .reader-page.portfolio-page .portfolio-main .lecture-sprint>li>p{grid-column:2}
 .reader-page.portfolio-page .portfolio-main .lecture-sprint>li:not(:last-child)::after{content:none}
 .reader-page.portfolio-page .portfolio-main .lecture-framework li{grid-template-columns:28px minmax(0,1fr);gap:4px 10px}
 .reader-page.portfolio-page .portfolio-main .lecture-framework li>p{grid-column:2}
}
@media(max-width:420px){
 .reader-page.portfolio-page .portfolio-main .reading-proposed-uses>li{grid-template-columns:58px minmax(0,1fr);gap:0 14px}
 .reader-page.portfolio-page .portfolio-main .use-symbol{width:58px;height:auto}
 .reader-page.portfolio-page .portfolio-main .lecture-sprint>li{grid-template-columns:68px minmax(0,1fr);gap:0 14px}
 .reader-page.portfolio-page .portfolio-main .lecture-sprint .sprint-symbol{width:68px}
}


/* R19 — a compact opening, tactile sensory cues, and readable relationships. */
.reader-page.project-fragments .portfolio-main .fragment-overview{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(24px,4vw,56px);padding:28px 0 0;margin-bottom:36px}
.reader-page.project-fragments .fragment-overview-heading{max-width:30ch}
.reader-page.project-fragments .fragment-overview-heading .eyebrow{margin:0 0 12px;font-size:15px;line-height:1.5}
.reader-page.project-fragments .fragment-overview-heading h2{max-width:24ch;margin:0;font-size:clamp(24px,2.25vw,30px);line-height:1.3}
.reader-page.project-fragments .fragment-overview .overview-story{max-width:62ch}
.reader-page.project-fragments .fragment-overview .overview-story>p{margin:0;font-size:16px;line-height:1.7}
.reader-page.project-fragments .fragment-overview .overview-story>p+p{margin-top:16px}
.reader-page.project-fragments .portfolio-main p.fragment-overview-lead{font-size:19px;line-height:1.5}
.reader-page.project-fragments .fragment-exploration{margin-top:0}
.reader-page.project-fragments .portfolio-main .fragment-senses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.reader-page.project-fragments .portfolio-main .fragment-senses li{display:grid;grid-template-rows:auto auto 1fr;align-content:start;gap:5px;min-width:0;padding:0;font-size:16px;line-height:1.4}
.reader-page.project-fragments .fragment-senses .fragment-sense-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--reading-blue);border-radius:6px;margin-bottom:5px}
.reader-page.project-fragments .fragment-sense-icon svg{display:block;width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.reader-page.project-fragments .fragment-senses .fragment-sense-label{font-weight:500}
.reader-page.project-fragments .portfolio-main .fragment-senses small{font-size:15px;line-height:1.5;margin:0}
.reader-page.project-fragments .portfolio-main .fragment-relations-map{grid-template-columns:110px minmax(0,1fr);gap:32px;font-size:16px;line-height:1.5}
.reader-page.project-fragments .fragment-relations-map .fragment-condition{padding:12px 8px;background:var(--reading-blue);border-radius:6px;text-align:center;font-weight:500}
.reader-page.project-fragments .fragment-condition small{display:inline-block;font-size:15px;font-weight:400;line-height:1.5;color:var(--muted)}
.reader-page.project-fragments .fragment-relations-map .fragment-condition::after{right:-15px;width:15px;height:2px;background:var(--ink)}
.reader-page.project-fragments .fragment-relations-map ul{gap:8px}
.reader-page.project-fragments .fragment-relations-map ul::before{left:-18px;top:30px;bottom:30px;border-left-width:2px}
.reader-page.project-fragments .portfolio-main .fragment-relations-map li{min-height:60px;line-height:1.5;padding:4px 0 4px 12px;font-size:16px}
.reader-page.project-fragments .fragment-relations-map li::before{height:2px;background:var(--ink)}
.reader-page.project-fragments .fragment-relations-map li::after{content:"";position:absolute;left:-4px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--ink)}
.reader-page.project-fragments .fragment-relations-map li{padding-left:12px}
@media(max-width:900px){
 .reader-page.project-fragments .portfolio-main .fragment-overview{grid-template-columns:minmax(0,1fr);gap:20px}
 .reader-page.project-fragments .fragment-overview-heading{max-width:none}
 .reader-page.project-fragments .fragment-overview-heading h2{max-width:30ch}
 .reader-page.project-fragments .fragment-overview .overview-story{max-width:64ch}
}
@media(max-width:600px){
 .reader-page.project-fragments .portfolio-main .fragment-overview{padding-top:24px;gap:18px;margin-bottom:28px}
 .reader-page.project-fragments .portfolio-main p.fragment-overview-lead{font-size:18px}
 .reader-page.project-fragments .portfolio-main .fragment-senses{gap:12px}
}
@media(max-width:360px){
 .reader-page.project-fragments .portfolio-main .fragment-senses{grid-template-columns:minmax(0,1fr);gap:14px}
 .reader-page.project-fragments .portfolio-main .fragment-senses li{grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;gap:0 12px}
 .reader-page.project-fragments .fragment-senses .fragment-sense-icon{grid-row:1 / 3;margin-bottom:0;align-self:center}
 .reader-page.project-fragments .fragment-senses .fragment-sense-label,.reader-page.project-fragments .fragment-senses small{grid-column:2}
}

