/* Platform shares the public site's paper, type and generous framing. */
html:root{scroll-behavior:smooth;scroll-padding-top:24px}
body{background:#efeee7;color:#173d3a}
main#main{max-width:none;padding:0;overflow:clip}
.site-header{position:absolute;inset:0 0 auto;background:#efeee7;max-width:none;color:#173d3a;z-index:20}
.site-footer{background:#efeee7;max-width:none}
.pf-page{--pf-body:#51615a;--pf-line:#c4cdbe;--pf-surface:#e8ece0;position:relative}
.pf-passage{position:relative;min-height:145svh;scroll-margin-top:0}
.pf-frame{position:sticky;top:0;min-height:100svh;padding:110px var(--site-gutter) 64px;box-sizing:border-box;background:#efeee7}
.pf-split{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(48px,6vw,112px);align-items:center}
.pf-opening .pf-frame{padding-top:max(140px,17svh)}
.pf-copy{min-width:0}
.pf-split .pf-copy{grid-column:2;grid-row:1;max-width:540px}
.pf-label{font:400 14px/1.4 var(--sans);margin:0 0 26px}
.pf-copy h1,.pf-copy h2{font:400 clamp(48px,4.75vw,80px)/1.015 var(--serif);letter-spacing:-.045em;margin:0;text-wrap:balance}
.pf-body{font:400 clamp(16px,1.23vw,19px)/1.65 var(--sans);color:var(--pf-body);text-wrap:pretty}
.pf-split .pf-body{margin-top:32px}
.pf-body p{margin:0}.pf-body p+p{margin-top:20px}
.pf-scroll{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:44px;margin-top:28px;font:400 13px/1.4 var(--sans)}
.pf-scroll span{font-size:24px;transition:transform 180ms cubic-bezier(.23,1,.32,1)}
.pf-figure{margin:0;min-width:0}
.pf-split .pf-figure{grid-column:1;grid-row:1}
.pf-art{padding:clamp(22px,2.5vw,45px);border:1px solid #c3ccbc;background:var(--pf-surface);position:relative;isolation:isolate}
.pf-art::before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid #ffffff38;z-index:-1}
.pf-architecture .pf-art{padding:clamp(22px,2.5vw,42px) 22px;min-height:410px;display:flex;align-items:center}
.pf-desktop{width:100%}
.pf-vector{display:block;width:100%;height:auto;max-height:56svh;overflow:visible}
.pf-vector text{font-family:var(--sans);fill:#243c36;font-weight:400}
.pf-vector .serif,.pf-vector .display,.pf-vector .plane-title{font-family:var(--serif);letter-spacing:-.6px}
.pf-vector .muted,.pf-vector .detail,.pf-vector .plane-copy{fill:#50665a}
.pf-vector .white,.pf-vector .on-dark{fill:#f6f5ec}
.pf-vector .display{font-size:33px}.pf-vector .plane-title{font-size:30px}.pf-vector .plane-copy{font-size:22px}
.pf-vector .object-name{font-size:21px;fill:#f5f5eb}
.pf-vector .wire{fill:none;stroke:#96afa0;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.pf-vector .model-call{fill:none;stroke:#206b71;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pf-vector .reasoning-plane .plane-title{fill:#f7f7ec;font-size:28px}.pf-vector .reasoning-plane .plane-copy{fill:#d3e1d7}
.pf-vector .shared-port{fill:#efeee7;stroke:#8fa99a;stroke-width:1.3}
.pf-vector .transaction-track{fill:none;stroke:#ac8b42;stroke-width:1.2;opacity:.28}
.pf-vector .market-network{fill:#f7f3e5;stroke:#9b8650;stroke-width:1.4}.pf-vector .first-work{display:none}.pf-vector .detail{font-size:22px}
.pf-figure figcaption{margin-top:15px;font:400 12px/1.55 var(--sans);color:#607164;max-width:900px}
.pf-wide{display:flex;flex-direction:column;justify-content:center;gap:38px}
.pf-wide>.pf-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(45px,7vw,140px);align-items:start}
.pf-wide .pf-body{max-width:620px;font-size:clamp(16px,1.16vw,18px);line-height:1.6}.pf-wide .pf-body p+p{margin-top:16px}
.pf-wide .pf-vector{max-height:none}
.pf-exposure .pf-art{padding:30px 28px 24px}.pf-families .pf-art{padding:14px 20px 20px}.pf-families .pf-vector{max-height:none}
.pf-families .pf-frame{padding-top:90px}.pf-families .pf-copy h2{font-size:clamp(46px,4.2vw,72px)}
.pf-reverse{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(40px,5vw,100px)}
.pf-reverse .pf-copy{grid-column:1;max-width:470px}.pf-reverse .pf-figure{grid-column:2}.pf-reverse .pf-copy h2{font-size:clamp(46px,4.3vw,74px)}
.pf-deployment .pf-art{padding:48px 24px}.pf-deployment .pf-vector{max-height:65svh}.pf-institutions .pf-art{padding:30px 24px 24px}
.pf-mobile{display:none}.pf-alias{position:absolute;top:0}
.pf-unit{transform-box:fill-box;transform-origin:50% 60%}.pf-motion .pf-unit{opacity:0;transform:translate3d(0,16px,0)}
.pf-closing{position:relative;padding:80px var(--site-gutter) 95px;display:flex;justify-content:space-between;gap:60px;align-items:flex-start;background:#efeee7}
.pf-closing>p{font:400 clamp(32px,3.8vw,58px)/1.12 var(--serif);letter-spacing:-.035em;max-width:590px;margin:0}.pf-closing>div{min-width:290px}
.pf-closing a{display:flex;justify-content:space-between;align-items:center;min-height:44px;gap:45px;font:400 24px/1.35 var(--serif)}
.pf-closing a+a{margin-top:15px}.pf-closing a span{font:18px var(--sans)}
@media(hover:hover) and (pointer:fine){.pf-scroll:hover span{transform:translateY(3px)}}
@media(min-width:1101px) and (max-width:1280px){.pf-split{gap:34px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.pf-copy h1,.pf-copy h2,.pf-reverse .pf-copy h2{font-size:46px}.pf-body{font-size:16px;line-height:1.6}.pf-split .pf-body{margin-top:24px}.pf-frame{padding-top:100px;padding-bottom:50px}.pf-wide{gap:26px}.pf-wide>.pf-copy{gap:35px}.pf-wide .pf-body{font-size:16px}.pf-art{padding:24px 16px}.pf-architecture .pf-art{min-height:340px;padding:30px 14px}.pf-reverse{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}}
@media(min-width:1101px) and (max-height:760px){.pf-frame{padding-top:76px;padding-bottom:40px;min-height:100svh}.pf-opening .pf-frame{padding-top:120px}.pf-copy h1,.pf-copy h2{font-size:clamp(43px,4vw,62px)}.pf-wide{gap:24px}.pf-wide .pf-body{font-size:16px;line-height:1.52}.pf-figure figcaption{margin-top:10px}.pf-families .pf-frame{padding-top:68px}.pf-split .pf-body{margin-top:24px}.pf-body{font-size:16px;line-height:1.6}.pf-vector{max-height:52svh}.pf-families .pf-vector{max-height:51svh}.pf-architecture .pf-art{min-height:340px}.pf-body p+p{margin-top:16px}}
@media(max-width:1100px){
 .pf-passage{min-height:0;margin:0}
 .pf-frame,.pf-opening .pf-frame,.pf-families .pf-frame{position:relative;top:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:50px var(--site-gutter) 50px}
 .pf-opening .pf-frame{padding-top:128px}.pf-wide>.pf-copy{display:block}.pf-split .pf-copy,.pf-reverse .pf-copy{max-width:560px}.pf-label{margin-bottom:25px}
 .pf-copy h1,.pf-copy h2,.pf-reverse .pf-copy h2,.pf-families .pf-copy h2{font-size:clamp(43px,8.7vw,64px);line-height:1.035;letter-spacing:-.04em}
 .pf-copy h1 br,.pf-copy h2 br{display:none}.pf-body,.pf-wide .pf-body{font-size:16px;line-height:1.65;margin-top:24px}.pf-body p+p,.pf-wide .pf-body p+p{margin-top:18px}
 .pf-scroll{margin-top:20px}.pf-figure figcaption{font-size:12px;line-height:1.55;margin-top:12px}.pf-desktop{display:none}.pf-mobile{display:block}
 .pf-art,.pf-architecture .pf-art,.pf-exposure .pf-art,.pf-families .pf-art,.pf-deployment .pf-art,.pf-institutions .pf-art{display:block;min-height:0;padding:26px 22px}
 .pf-mobile{font:400 15px/1.5 var(--sans);color:#52665b}.pf-mobile p{font:400 15px/1.5 var(--sans);margin:12px 0 0}.pf-mobile strong{display:block;font:400 25px/1.1 var(--serif);letter-spacing:-.025em;color:#173d3a}.pf-mobile span{font-size:12px;line-height:1.5}
 .pf-mobile-engines{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;align-items:stretch}.pf-plane{padding:19px 14px 20px;position:relative;border:1px solid #b6c6b4;box-shadow:4px 5px 0 #c6d3bd}
 .pf-plane-teal{background:#276569;color:#d8e3da;border-color:#387974;box-shadow:4px 5px 0 #28574f}.pf-plane-teal strong{color:#f7f5eb}.pf-plane-light{background:#f1f3e9}
 .pf-plane strong{font-size:21px;line-height:1.15}.pf-plane span{display:block;margin-top:12px;font-size:12px;line-height:1.5}
 .pf-mobile-work{margin-top:32px;padding:24px 18px;background:#ede5cd;border:1px solid #c5b88c;position:relative}.pf-mobile-work::before{content:"";position:absolute;left:24%;right:24%;top:-32px;height:31px;border-inline:1px solid #92a990}.pf-mobile-work strong{font-size:24px;margin-top:9px}.pf-mobile-work p{font-size:14px}
 .pf-mobile-foundation{margin-top:27px;background:#244d44;color:#dce5d8;padding:25px 19px;border-bottom:6px solid #193b35;position:relative}.pf-mobile-foundation::before{content:"";position:absolute;top:-28px;left:50%;height:27px;border-left:1px solid #92a990}.pf-mobile-foundation strong{font-size:26px;color:#f6f4e7}.pf-mobile-foundation p{font-size:14px}
 .pf-public-reference{background:#28666a;color:#dce7dd;padding:25px 21px;border-right:6px solid #1c4d49;border-bottom:6px solid #1c4d49}.pf-public-reference strong{color:#f7f5e8;font-size:29px;margin-top:10px}.pf-public-reference p{font-size:13px}
 .pf-mobile-arrow{text-align:center;font:300 30px/1 var(--sans);height:54px;display:flex;align-items:center;justify-content:center;color:#9b8853}
 .pf-private-exposure{border-left:2px solid #9aab91;padding:2px 0 4px 20px}.pf-private-exposure strong{font-size:25px;margin-top:18px}.pf-private-exposure p{font-size:14px}.pf-basis{padding-top:21px;border-top:1px solid #c0ccba;margin-top:23px!important;font-size:14px!important}
 .pf-step{padding:26px 22px 29px;border:1px solid #b6c7ac;background:#edf1e6;position:relative}.pf-step+.pf-step{margin-top:22px}.pf-step:nth-child(2){background:#e2ebda;margin-left:8px}.pf-step:nth-child(3){background:#d5e3d2;margin-left:16px}.pf-step:nth-child(4){background:#e7dcc0;margin-left:24px}.pf-step+.pf-step::before{content:"";position:absolute;left:16px;top:-23px;height:22px;border-left:1px solid #b09b61}.pf-step strong{margin-top:9px;font-size:28px}.pf-step>p{font-size:14px}
 .pf-claim{font:400 25px/1.2 var(--serif);color:#23483c;background:#f6f6ed;border:1px solid #9fb59d;border-right:8px solid #d3dfc7;padding:15px 12px;margin-top:22px}.pf-claim span{display:block;font:400 13px/1.45 var(--sans);margin-top:8px;color:#52665b}
 .pf-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0 16px}.pf-matrix i{height:22px;background:#b2cbb3;border:1px solid #99b397}.pf-matrix i:nth-child(6){background:#d5c38f}
 
 .pf-programme-note{font:400 29px/1.1 var(--serif);background:#ecdfb5;border:1px solid #bfa76d;border-right:13px solid #d4bf87;padding:21px;color:#264c40;max-width:225px;margin:0 auto}
 .pf-institution-business{background:#edf2e5;padding:23px 18px 0;border:1px solid #b3c5aa;box-shadow:6px 7px 0 #cbd8c1}.pf-institution-business>span{display:block;font:400 29px/1.1 var(--serif);color:#23473c;margin-bottom:23px}.pf-institution-business strong{background:#fafaf1;border:1px solid #b6c6aa;padding:17px 12px;font-size:24px;margin-top:13px}.pf-institution-business>div{background:#28676a;color:#f5f4e8;font:400 23px/1.2 var(--serif);padding:15px 18px;margin:24px -18px 0}
 .pf-relationships strong{font-size:27px}.pf-relationships p{font-size:14px}.pf-network{margin:22px 0 0;display:flex;justify-content:space-around;border-top:1px solid #94aa92;padding-top:16px}.pf-network i{width:10px;height:10px;border:1px solid #789c85;border-radius:50%;background:#f1f2e5;position:relative}.pf-network i::before{content:"";position:absolute;left:4px;bottom:9px;height:16px;border-left:1px solid #94aa92}
 .pf-private-book{padding:23px 20px;background:#f1f2e7;border:1px solid #b8c8b0;border-bottom:5px solid #cbd7c1;position:relative}.pf-private-book+.pf-private-book{margin-top:22px}.pf-private-book>span{font:400 30px/1.15 var(--serif);color:#254a3f}.pf-private-book>strong{font:400 15px/1.5 var(--sans);margin-top:13px}.pf-private-book:first-child{background:#284e43;color:#e2e9da;border-color:#284e43;border-bottom-color:#1d3d35}.pf-private-book:first-child>span,.pf-private-book:first-child>strong{color:#f6f4e8}
 .pf-shared-platform{background:#dbe4cf;padding:25px 20px;border-bottom:6px solid #b7c8ad;margin-top:29px;position:relative}.pf-shared-platform::before{content:"";position:absolute;top:-30px;left:50%;height:29px;border-left:1px solid #8da38c}.pf-shared-platform strong{font-size:27px}.pf-shared-platform p{line-height:1.8}
 .pf-closing{display:block;padding:50px var(--site-gutter) 65px}.pf-closing>p{font-size:40px;margin-bottom:32px}.pf-closing>div{min-width:0;max-width:500px}.pf-closing a{font-size:25px}
}
@media(max-width:360px){.pf-art,.pf-architecture .pf-art,.pf-exposure .pf-art,.pf-families .pf-art,.pf-deployment .pf-art,.pf-institutions .pf-art{padding:22px 15px}.pf-mobile-engines{gap:11px}.pf-plane{padding-inline:11px}.pf-plane strong{font-size:19px}.pf-step{padding-inline:17px}.pf-step:nth-child(4){margin-left:15px}.pf-step:nth-child(3){margin-left:10px}.pf-step:nth-child(2){margin-left:5px}}
@media(prefers-reduced-motion:reduce){html:root{scroll-behavior:auto}.pf-motion .pf-unit{opacity:1!important;transform:none!important}.pf-scroll span{transition:none}}
@media print{.pf-passage{min-height:0;break-inside:avoid}.pf-frame{position:relative;min-height:0;padding:30px}.pf-copy h1,.pf-copy h2{font-size:36px}.pf-motion .pf-unit{opacity:1!important;transform:none!important}.pf-art{padding:20px}.pf-body{font-size:12px}.pf-closing{display:block}}
/* Short screens retain the drawing's scale and allow its frame to travel. */
@media(min-width:1101px) and (max-height:760px){.pf-wide .pf-vector,.pf-families .pf-vector{max-height:none}.pf-wide{padding-top:55px;padding-bottom:35px}.pf-wide .pf-art{padding-top:16px;padding-bottom:16px}}
/* On phones, introduce the subject, show the scene, then explain the detail. */
@media(max-width:1100px){.pf-frame>.pf-copy{display:contents}.pf-label{order:0;margin-bottom:0}.pf-copy h1,.pf-copy h2{order:1}.pf-figure{order:2}.pf-body,.pf-wide .pf-body,.pf-split .pf-body{order:3;margin-top:0}.pf-scroll{order:4;margin-top:0}}

@media(min-width:761px) and (max-width:1100px){.pf-frame{max-width:860px;margin-inline:auto}.pf-art{max-width:660px;width:100%;margin-inline:auto;box-sizing:border-box}.pf-body{max-width:660px}.pf-mobile strong{font-size:30px}.pf-plane strong{font-size:27px}.pf-mobile span{font-size:14px}.pf-mobile p{font-size:17px}.pf-figure figcaption{max-width:660px;margin-inline:auto}}

.pf-mobile-curve{display:block;width:100%;height:auto;margin-top:22px}.pf-mobile-curve text{font:400 22px var(--sans);fill:#50665a}

/* A common grid, changing paper tones, and a continuous desktop scroll stage. */
.pf-page{--pf-gap:clamp(40px,5vw,80px)}
html.pf-keyboard{scroll-behavior:auto}
.pf-opening{--pf-paper:#eaece2;--pf-surface:#dce4d4}
.pf-exposure{--pf-paper:#e7eeea;--pf-surface:#dce8e4;--pf-previous:#eaece2}
.pf-families{--pf-paper:#eeeadd;--pf-surface:#e8dfc8;--pf-previous:#e7eeea}
.pf-deployment{--pf-paper:#e7ebdf;--pf-surface:#dce5d7;--pf-previous:#e7eeea}
.pf-institutions{--pf-paper:#e3ebe5;--pf-surface:#d7e3da;--pf-previous:#e7ebdf}
.pf-frame{background:var(--pf-paper);padding-top:104px;padding-bottom:64px}
.pf-split,.pf-reverse,.pf-wide>.pf-copy{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:var(--pf-gap)}
.pf-split{align-items:start;align-content:center}
.pf-reverse .pf-copy{grid-column:2;max-width:540px}.pf-reverse .pf-figure{grid-column:1}
.pf-wide{gap:32px}.pf-wide>.pf-copy{align-items:start}
.pf-copy h1,.pf-copy h2,.pf-families .pf-copy h2,.pf-reverse .pf-copy h2{font-size:clamp(46px,4.55vw,76px);line-height:1.025}
.pf-wide .pf-body{font-size:clamp(16px,1.2vw,18px);line-height:1.6}
.pf-wide .pf-art{padding:28px 30px}
.pf-families .pf-art{padding:20px 26px}
.pf-architecture .pf-art,.pf-deployment .pf-art{min-height:420px;padding:38px 24px;display:flex;align-items:center}
.pf-art{background:var(--pf-surface);border-color:#aebbab;box-shadow:0 18px 50px -42px #173d3a70}
.pf-signal{pointer-events:none;fill:#f9f4dc;stroke:#94763e;stroke-width:1.4;opacity:0}
.pf-atmosphere,.pf-transition-field,.pf-mobile-field{display:none;pointer-events:none}
.pf-stage-live .pf-passage{min-height:0}
.pf-stage-live .pf-frame{position:fixed;inset:0 0 auto;width:100%;min-height:100svh;background:none;z-index:2;pointer-events:none;opacity:0;will-change:transform}
.pf-stage-live .pf-atmosphere{display:block;position:fixed;inset:0;z-index:0;overflow:hidden}
.pf-tint{position:absolute;inset:0;opacity:0}
.pf-stage-live .pf-transition-field{display:block;position:fixed;inset:0;width:100%;height:100%;z-index:3;opacity:0}
.pf-stage-live .pf-figure,.pf-stage-live .pf-copy{will-change:transform,opacity}
.pf-stage-live .pf-closing{z-index:4}
.pf-closing,.site-footer{position:relative;z-index:4}
@media(min-width:1101px) and (max-width:1280px){.pf-page{--pf-gap:40px}.pf-copy h1,.pf-copy h2,.pf-families .pf-copy h2,.pf-reverse .pf-copy h2{font-size:46px}.pf-architecture .pf-art,.pf-deployment .pf-art{min-height:370px;padding:30px 18px}}
@media(min-width:1101px) and (max-height:760px){.pf-frame,.pf-families .pf-frame{padding-top:70px;padding-bottom:44px}.pf-opening .pf-frame{padding-top:112px}.pf-copy h1,.pf-copy h2,.pf-families .pf-copy h2,.pf-reverse .pf-copy h2{font-size:clamp(44px,4.1vw,62px)}.pf-wide{gap:24px}.pf-wide .pf-body{font-size:16px;line-height:1.52}.pf-architecture .pf-art,.pf-deployment .pf-art{min-height:350px}.pf-wide .pf-art{padding:22px 26px}}
@media(max-width:1100px){
 .pf-frame,.pf-opening .pf-frame,.pf-families .pf-frame{background:linear-gradient(to bottom,var(--pf-previous,var(--pf-paper)),var(--pf-paper) 120px);gap:30px;padding-top:58px;padding-bottom:62px}
 .pf-opening .pf-frame{padding-top:128px}.pf-passage{background:var(--pf-paper)}
 .pf-copy h1,.pf-copy h2,.pf-families .pf-copy h2,.pf-reverse .pf-copy h2{font-size:clamp(43px,8.7vw,64px);line-height:1.035}
 .pf-art,.pf-architecture .pf-art,.pf-deployment .pf-art,.pf-wide .pf-art{display:block;padding:26px 22px;min-height:0;overflow:hidden}
 .pf-mobile{position:relative;z-index:1}.pf-mobile-field{display:block;position:absolute;inset:0;width:100%;height:auto;max-height:440px;z-index:0;opacity:0}
 .pf-mobile .pf-unit{transform-origin:center}.pf-body,.pf-wide .pf-body{font-size:16px;line-height:1.65}
 .pf-plane-light,.pf-private-exposure,.pf-relationships{background:var(--pf-surface)}
 .pf-private-exposure,.pf-relationships{position:relative}.pf-relationships{padding:10px 0}
}
@media(max-width:360px){.pf-art,.pf-architecture .pf-art,.pf-deployment .pf-art,.pf-wide .pf-art{padding:22px 15px}}
@media(min-width:761px) and (max-width:1100px){.pf-frame,.pf-opening .pf-frame,.pf-families .pf-frame{align-items:center}.pf-label,.pf-copy h1,.pf-copy h2,.pf-body,.pf-figure,.pf-scroll{width:100%;max-width:660px;margin-inline:auto}.pf-scroll{justify-content:flex-start}.pf-art{margin-inline:0}}
@media(prefers-reduced-motion:reduce){.pf-atmosphere,.pf-transition-field,.pf-mobile-field{display:none!important}.pf-desktop{transform:none!important}.pf-signal{display:none}}
@media print{.pf-atmosphere,.pf-transition-field,.pf-mobile-field{display:none!important}.pf-stage-live .pf-frame{position:relative!important;opacity:1!important;transform:none!important;min-height:0}.pf-stage-live .pf-passage{height:auto!important}.pf-copy,.pf-figure,.pf-desktop{opacity:1!important;transform:none!important}}

/* Keep desktop compositions comfortably within the viewport at native zoom. */
@media(min-width:1101px){
 .pf-frame{padding-inline:max(var(--site-gutter),calc((100vw - 1120px)/2));padding-top:80px;padding-bottom:48px}
 .pf-page{--pf-gap:48px}
 .pf-opening .pf-frame{padding-top:120px}
 .pf-copy h1,.pf-copy h2,.pf-families .pf-copy h2,.pf-reverse .pf-copy h2{font-size:clamp(42px,3.85vw,60px)}
 .pf-body,.pf-wide .pf-body{font-size:16px;line-height:1.6}
 .pf-label{margin-bottom:20px}
 .pf-split .pf-body{margin-top:26px}
 .pf-body p+p{margin-top:16px}
 .pf-wide{gap:26px}
 .pf-wide .pf-art{padding:20px 24px}
 .pf-architecture .pf-art,.pf-deployment .pf-art{min-height:350px;padding:28px 20px}
}
@media(min-width:1101px) and (max-height:760px){
 .pf-frame,.pf-families .pf-frame{padding-inline:max(var(--site-gutter),calc((100vw - 1020px)/2));padding-top:54px;padding-bottom:24px}
 .pf-opening .pf-frame{padding-top:108px}
 .pf-copy h1,.pf-copy h2,.pf-families .pf-copy h2,.pf-reverse .pf-copy h2{font-size:44px}
 .pf-wide{gap:22px}.pf-wide .pf-art{padding:16px 20px}
}

@media(min-width:761px) and (max-width:1100px){.pf-wide .pf-body{max-width:660px}}

/* Phone reading order keeps the explanation beside its heading. Diagram labels
   stay readable from first visibility; motion belongs to their relationships. */
@media(max-width:1100px){
 .pf-motion .pf-mobile .pf-unit{opacity:1;transform:none}
 .pf-frame,.pf-opening .pf-frame,.pf-families .pf-frame{gap:24px;padding-top:42px;padding-bottom:44px}
 .pf-opening .pf-frame{padding-top:112px}
 .pf-body,.pf-wide .pf-body,.pf-split .pf-body{order:2}
 .pf-scroll{order:3;align-self:flex-start;min-width:160px;gap:32px}
 .pf-figure{order:4}
 .pf-art,.pf-architecture .pf-art,.pf-exposure .pf-art,.pf-families .pf-art,.pf-deployment .pf-art,.pf-institutions .pf-art,.pf-wide .pf-art{padding:20px 18px}
 .pf-plane{padding:15px 12px}
 .pf-mobile-work{margin-top:24px;padding:18px 16px}
 .pf-mobile-work::before{top:-24px;height:23px}
 .pf-mobile-foundation{margin-top:22px;padding:19px 16px}
 .pf-mobile-foundation::before{top:-23px;height:22px}
 .pf-public-reference{padding:19px 17px}
 .pf-mobile-arrow{height:36px}
 .pf-step{padding:16px 16px 18px}
 .pf-step+.pf-step{margin-top:14px}
 .pf-step+.pf-step::before{top:-15px;height:14px}
 .pf-step strong{font-size:25px;margin-top:7px}
 .pf-step>p{margin-top:10px}
 .pf-claim{margin-top:14px;padding:12px;font-size:24px}
 .pf-matrix{gap:6px;margin:14px 0 12px}.pf-matrix i{height:12px}
 .pf-mobile-curve{margin-top:14px}
 .pf-programme-note{padding:16px;font-size:26px}
 .pf-institution-business{padding:18px 15px 0}
 .pf-institution-business>span{font-size:27px;margin-bottom:16px}
 .pf-institution-business strong{padding:13px 11px;font-size:23px;margin-top:10px}
 .pf-institution-business>div{padding:13px 15px;margin:18px -15px 0}
 .pf-network{margin-top:16px}
 .pf-private-book{padding:17px 16px}
 .pf-private-book+.pf-private-book{margin-top:16px}
 .pf-private-book>span{font-size:28px}
 .pf-private-book>strong{margin-top:9px}
 .pf-shared-platform{padding:18px 16px;margin-top:22px}
 .pf-shared-platform::before{top:-23px;height:22px}
 .pf-shared-platform p{line-height:1.6}
 .pf-closing{padding-block:44px}
}
@media(max-width:360px){
 .pf-art,.pf-architecture .pf-art,.pf-exposure .pf-art,.pf-families .pf-art,.pf-deployment .pf-art,.pf-institutions .pf-art,.pf-wide .pf-art{padding:18px 12px}
 .pf-copy h1,.pf-copy h2,.pf-families .pf-copy h2,.pf-reverse .pf-copy h2{font-size:39px}
 .pf-step{padding-inline:13px}
}

/* The phone diagrams retain their live relationships and reversible assembly. */
.pf-mobile-connections{display:none}
@media(max-width:1100px){
 .pf-mobile-connections{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
 .pf-mobile-connections path{fill:none;stroke:#a58a4d;stroke-width:1.5}
 .pf-mobile-connections circle{fill:#f6f0dc;stroke:#8c733e;stroke-width:1.5}
 .pf-mobile .pf-unit{position:relative;z-index:1;will-change:transform;opacity:1}
 .pf-matrix i{transform-origin:bottom}
 .pf-mobile-field{display:none}
}
@media(prefers-reduced-motion:reduce){.pf-mobile-connections{display:none}.pf-mobile .pf-unit,.pf-matrix i{transform:none!important}.pf-mobile-curve path{stroke-dashoffset:0!important}}

/* Keep the opening's original framing after shortening its copy. */
@media(min-width:1101px){.pf-opening .pf-frame{padding-top:calc(120px - 1.55rem)}}
@media(min-width:1101px) and (max-width:1249px){.pf-opening .pf-frame{padding-top:calc(120px - 3.1rem)}}
@media(min-width:1101px) and (max-height:760px){.pf-opening .pf-frame{padding-top:calc(108px - 3.1rem)}}
/* Full mobile figures follow native document scrolling. */
@media(max-width:1100px) and (prefers-reduced-motion:no-preference){
 .pf-phone-stage .pf-figure{position:relative;width:100%;max-width:660px;align-self:center}
 .pf-phone-stage .pf-art{position:relative;top:auto;overflow:visible;height:auto;min-height:0;padding:24px 18px;display:block}
 .pf-phone-stage .pf-mobile .pf-unit{will-change:transform}
 .pf-phone-stage .pf-mobile-connections{display:block}
}
