/* V2.23 — desktop review, mobile two-column basis retained. */
:root{--intro-surface:#c9bfdc;--method-surface:#24232b;--facts-surface:#19252a;--review-pad:max(10vw,calc((100vw - 1440px)/2))}
.intro{background:var(--intro-surface)}
.discipline-shell{background:linear-gradient(177.7deg,var(--yellow) 50%,var(--intro-surface) 50%)}
.scroll-ribbons{background:linear-gradient(177deg,var(--intro-surface) 50%,var(--ink) 50%)}
.chapter-band{background:linear-gradient(182.1deg,var(--facts-surface) 50%,var(--ink) 50%)}
.pattern-transition{background:linear-gradient(to bottom,var(--transition-from) 50%,var(--transition-to) 50%);height:76px}
.pattern-transition svg{position:absolute;inset:-1px 0;width:100%;height:calc(100% + 2px)}
.pattern-transition.is-ready{background:var(--transition-to)}
.intro-art{max-width:470px;justify-self:center}
.intro-grid{column-gap:6%}
.round-link,.round-link:hover,.round-link:focus-visible{box-shadow:none;text-decoration:none}
.round-link:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.sticker.portrait-intro{left:-245px;bottom:66px;width:176px;height:76px;font-size:16px;padding:12px 14px}
.portrait-intro .portrait-pointer{left:calc(100% + 8px);bottom:12px;width:60px;height:50px;filter:none;translate:none!important}
.portrait-intro:hover .portrait-pointer{transform:translateX(3px)}
.work-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px}
.work-grid .project-caption{display:block;padding-top:14px}
.work .project-scroll-title{font-size:clamp(19px,1.65vw,28px);line-height:1.12;margin:0 0 8px;letter-spacing:-.035em}
.work .project-caption>span{font-size:10px;line-height:1.5;display:block}
.work-grid .project-chip.status-stamp{font-size:10px;padding:7px 9px;bottom:12px;top:auto;left:10px;max-width:calc(100% - 20px)}
.work-grid .project-open{width:30px;height:30px;right:8px;top:8px}
.work-grid .project-media{aspect-ratio:4/3}
.gravity-chapter .gravity-cinema .gravity-stage{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 18px}
.gravity-chapter .gravity-cinema .gravity-panel{border:0;background:none;box-shadow:none;overflow:visible}
.gravity-panel::after,.gravity-stage::before{display:none}
.gravity-chapter .gravity-cinema .gravity-panel figcaption{position:relative;inset:auto;padding:14px 0 0;align-items:start;gap:6px}
.gravity-cinema .gravity-panel figcaption strong{font-size:clamp(22px,2.3vw,36px);line-height:1.05}
.gravity-cinema .gravity-panel figcaption small{font-size:8px;line-height:1.4;letter-spacing:.04em;min-height:24px;margin:0 0 8px}
.gravity-cinema .gravity-panel figcaption>span{font-size:24px;flex:none}
.gravity-controls{justify-content:flex-end;padding-top:16px}
.gravity-evidence{background:var(--facts-surface);color:var(--paper);--line:#ffffff30}
.gravity-evidence::before{display:none}
.gravity-evidence .gravity-milestones{border-color:#ffffff40}
.gravity-development .development-title{--fill-color:#f2efe8}
.gravity-milestone .epic-title{--fill-color:#43c6de}
.gravity-evidence .gravity-milestone:nth-child(2) .gravity-stat{--fill-color:#ffbd32}
.gravity-evidence .gravity-stat{--fill-color:#ffbd32}
.gravity-evidence .gravity-milestone p,.gravity-evidence .funding-source{color:#d5dadd}
.gravity-evidence .next-step{color:#7ee4f1;border-color:#7ee4f170;background:transparent}
.tools::before{inset:-45% -100%;background:repeating-linear-gradient(145deg,transparent 0 210px,#31f8a22b 211px 310px,transparent 311px 530px);transform:translateX(calc(var(--material-x,0%) * .3))}
.tools .tool-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tools .tool-row,.tools .tool-row:hover{display:grid;grid-template-columns:1fr;grid-template-rows:54px auto 1fr auto;align-items:start;gap:12px;padding:22px;min-width:0;height:100%;border:1px solid #65d49d55;border-radius:5px;background:#14201dd9}
.tools .tool-row:hover{background:#224833;box-shadow:inset 0 0 0 1px #55e9a8}
.tools .tool-icon{grid-column:1;grid-row:1;width:48px;height:48px}
.tools .tool-name{grid-column:1;grid-row:2;font-size:21px;line-height:1.12;overflow-wrap:anywhere}
.tools .tool-description{grid-column:1;grid-row:3;padding:0;display:block;font-size:12px;line-height:1.5}
.tools .tool-platform{grid-column:1;grid-row:4;display:block;font-size:8px;line-height:1.4;letter-spacing:.05em;overflow-wrap:anywhere}
.tools .tool-arrow{display:none}.tool-row::before{display:none}
.more-tools{margin-top:18px}.more-tools summary{width:max-content;max-width:100%;padding:13px 18px;border:1px solid #65d49d75;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.more-tools summary::-webkit-details-marker{display:none}.more-tools summary::before{content:'+';display:inline-block;width:20px}.more-tools[open] summary::before{content:'−'}
.more-tools summary:hover{background:#31f8a225}.more-tools .tool-list{margin-top:18px}
.more-tools .tools-close-label{display:none}.more-tools[open] .tools-open-label{display:none}.more-tools[open] .tools-close-label{display:inline}
.approach{background:var(--method-surface);color:var(--paper)}
.approach::before{display:none}.approach .section-label{border-color:#ffffff40}
.approach-grid{grid-template-columns:.7fr 1.3fr;gap:4%;align-items:center}
.approach-heading h2{font-size:clamp(66px,6.4vw,108px);line-height:.96}
.approach-heading h2 em{--fill-color:#c6adf4;color:#c6adf4;font-size:1.45em}
.approach .room-opening{height:660px;margin:0;overflow:visible;display:grid;place-items:center}
.room-pattern{color:#b2a0ed}.room-pattern .hex-pigment{opacity:.3}
.method-copy{position:relative;z-index:1;width:57%;max-width:390px;color:var(--paper)}
.method-copy .large{font-size:clamp(18px,1.4vw,23px);line-height:1.4}
.method-copy>p+p{font-size:13px;line-height:1.65;margin-top:22px}
.method-copy .text-link{font-size:11px;margin-top:22px}
.contact-bottom{display:block;margin-top:34px}.contact-bottom .copy-button{display:block;margin:18px 0 0}
.contact-title:hover{outline:none;box-shadow:none}
.contact-title .giant-arrow .inline-arrow{transform:scale(calc(1 + var(--arrow-near,0)*.07));transform-origin:center;transition:transform .16s}
.contact-title .giant-arrow path{fill:var(--ink);fill-opacity:calc(.1 + var(--arrow-near,0)*.9);stroke:var(--ink);stroke-width:1;stroke-linejoin:miter}
.contact-title:focus-visible .giant-arrow path,.contact-title:hover .giant-arrow path{fill-opacity:1}
.signature-footer .footer-directory{grid-template-columns:1fr 1fr;gap:7%;align-items:start}
.footer-site-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.footer-right{min-width:0;border-left:1px solid #ffffff20;padding-left:8%}
.signature-footer .footer-directory .jano-legal-links{padding:0!important;border:0!important}
.signature-footer .footer-directory .footer-linkedin{display:flex;align-items:center;gap:12px;position:relative;overflow:hidden;margin-top:18px;border:1px solid #ffffff60;border-radius:4px;padding:10px 14px;width:100%;min-height:56px;font-size:13px;color:var(--paper)}
.footer-directory .footer-linkedin::after{display:none}
.signature-footer .footer-top{justify-content:space-between;gap:24px}
.signature-footer .footer-top p{font-size:12px;line-height:1.6}
@media(min-width:1000px){
 .section:not(.gravity-chapter),.signature-footer{padding-left:var(--review-pad);padding-right:var(--review-pad)}
 .section:not(.gravity-chapter){padding-top:70px;padding-bottom:70px}
 .gravity-story-compact,.gravity-chapter .gravity-image-heading,.gravity-cinema-sticky,.gravity-evidence{padding-left:var(--review-pad);padding-right:var(--review-pad)}
 .intro .intro-title{max-width:100%}.contact-title h2{font-size:clamp(72px,8.5vw,148px)}
 .intro-grid{grid-template-columns:1fr 1fr}.intro-art{grid-column:2;grid-row:1}.intro-copy{grid-column:1;grid-row:1}
 .tools .section-heading{margin-bottom:36px}.tools h2{font-size:clamp(56px,5.3vw,86px)}
 .gravity-evidence .gravity-development{grid-template-columns:1fr 1fr}
}
@media(max-width:1050px) and (min-width:721px){.sticker.portrait-intro{left:-135px;width:150px;font-size:13px;bottom:0}.portrait-intro .portrait-pointer{width:52px;left:calc(100% + 8px);bottom:12px}.hero-visual{padding-bottom:100px}}
@media(max-width:999px){.work-grid,.gravity-chapter .gravity-cinema .gravity-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.tools .tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}.approach-grid{grid-template-columns:1fr}.approach-heading{text-align:center}.method-copy{width:55%;max-width:330px}}
@media(max-width:720px){
 .hero-visual{padding-bottom:116px}.sticker.portrait-intro{left:-16px;bottom:10px;width:154px;height:68px;font-size:14px;padding:10px 12px}
 .portrait-intro .portrait-pointer{left:calc(100% + 12px);bottom:28px;width:64px;height:54px}
 .pattern-transition{height:46px}.work-grid{gap:26px 12px}.work .project-scroll-title{font-size:18px}
 .work-grid .project-media{aspect-ratio:1}.work-grid .project-chip.status-stamp{font-size:8px;padding:5px;left:6px;bottom:8px}
 .gravity-chapter .gravity-cinema .gravity-stage{gap:22px 12px}.gravity-cinema .gravity-panel figcaption strong{font-size:20px}.gravity-cinema .gravity-panel figcaption small{font-size:7px}.gravity-cinema .gravity-panel figcaption>span{font-size:21px}
 .tools .tool-list{gap:12px}.tools .tool-row,.tools .tool-row:hover{padding:16px 11px;gap:12px}.tools .tool-name{font-size:18px}
 .tools::before{background:repeating-linear-gradient(145deg,transparent 0 110px,#31f8a229 111px 169px,transparent 170px 300px)}
 .approach-grid{display:block;position:relative}.approach-heading{position:absolute;left:0;right:0;top:145px;z-index:2;pointer-events:none}.approach-heading h2{font-size:40px}
 .approach .room-opening{height:auto;margin:0;display:block;overflow:visible}.room-pattern{height:390px;inset:0 -20px auto}.method-copy{width:100%;max-width:none;padding-top:415px}.method-copy .large{font-size:21px}
 .signature-footer .footer-directory{grid-template-columns:1fr;gap:28px}.footer-right{padding:0;border:0}.footer-site-list{gap:0 12px}.footer-link-copy strong{font-size:12px}.signature-footer .footer-directory .footer-site{gap:8px}
}
@media(prefers-reduced-motion:reduce){.portrait-intro:hover .portrait-pointer,.contact-title .giant-arrow .inline-arrow{transform:none!important}.contact-title .giant-arrow path{fill-opacity:1}}
html[data-motion=off] .contact-title .giant-arrow path{fill-opacity:1}

/* Keep the title and copy in separate rows of the existing intro grid. */
@media(min-width:1000px){.intro-title{grid-column:1;grid-row:1}.intro-copy{grid-column:1;grid-row:2}.intro-art{grid-column:2;grid-row:1 / span 2;align-self:center}}
.gravity-evidence .epic-title{color:#43c6de;--fill-color:#43c6de}
.footer-site-list{grid-template-columns:1fr}
.signature-footer .footer-directory .footer-site{min-height:56px}
@media(min-width:1000px){.method-copy{width:51%;max-width:362px}.method-copy .large{font-size:19px;line-height:1.45}.room-pattern .pattern-line{transform:scaleX(1.2);transform-box:fill-box;transform-origin:center}}
@media(max-width:720px){.footer-site-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

.gravity-chapter .gravity-evidence .gravity-milestone:last-child h3{color:#43c6de;--fill-color:#43c6de}

@media(min-width:1000px){.method-copy{background:var(--method-surface);box-shadow:0 0 0 10px var(--method-surface)}.room-pattern .pattern-line{transform:scale(1.3,1.15)}}

@media(min-width:1000px){.method-copy{background:none;box-shadow:none}.room-pattern .pattern-line{transform:none}}
