/* R15 editorial morphology — deliberately reduces serial banding and repeated card grammar. */
.r15-page{--r15-rule:color-mix(in srgb,var(--pe-ink,#111) 14%,transparent);--r15-soft:color-mix(in srgb,var(--pe-paper,#f5f2e8) 82%,#fff);}
.r15-page .r15-territory{padding:clamp(5rem,8vw,8.5rem) 0;border-top:1px solid var(--r15-rule);background:var(--pe-paper,#f5f2e8);color:var(--pe-ink,#151515)}
.r15-page .r15-territory--opening{border-top:0;padding-top:clamp(5.5rem,9vw,9rem)}
.r15-page .r15-territory--dark{background:#121311;color:#f5f2e8;border-top:0}
.r15-page .r15-territory--dark .platform-kicker,.r15-page .r15-territory--dark .arch-kicker,.r15-page .r15-territory--dark .developers-kicker{color:rgba(245,242,232,.58)}
.r15-page .r15-territory--enterprise{background:color-mix(in srgb,var(--pe-paper,#f5f2e8) 91%,#b8af9d)}
.r15-page .r15-territory--consequence{background:#ece7dc}
.r15-page .r15-territory--closing{padding-bottom:clamp(6rem,10vw,10rem)}
.r15-section-head{max-width:920px;margin-bottom:clamp(2.75rem,5vw,4.75rem)}
.r15-section-head h2,.r15-editorial h2{font-family:var(--pe-serif,Georgia,serif);font-weight:400;letter-spacing:-.035em;line-height:1.01;font-size:clamp(2.55rem,4.7vw,4.9rem);margin:.35rem 0 1.55rem;max-width:15ch}
.r15-section-head>p:last-child,.r15-editorial>p{max-width:72ch;font-size:clamp(1.03rem,1.3vw,1.2rem);line-height:1.68;color:color-mix(in srgb,currentColor 78%,transparent)}
.r15-editorial-grid{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(280px,.66fr);gap:clamp(3rem,7vw,8rem);align-items:start}
.r15-editorial-grid--wide{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)}
.r15-authority-map,.r15-operating-register{border-top:1px solid currentColor;padding-top:1.1rem}
.r15-authority-map>div{padding:1.15rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent);display:grid;grid-template-columns:9.5rem 1fr;gap:1.2rem}
.r15-authority-map strong,.r15-authority-map span{font-size:.92rem;line-height:1.45}.r15-authority-map span{opacity:.72}
.r15-evidence-model{display:grid;grid-template-columns:minmax(0,.82fr) minmax(460px,1.18fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.r15-prose{font-size:1.05rem;line-height:1.7}.r15-prose p{margin:0 0 1.15rem}.r15-prose--narrow{max-width:760px;margin-top:3rem}
.r15-matrix{width:100%;border-collapse:collapse;font-size:.9rem}.r15-matrix th{text-align:left;font-weight:650;font-size:.73rem;text-transform:uppercase;letter-spacing:.09em;padding:.85rem .8rem;border-bottom:1px solid currentColor;vertical-align:bottom}.r15-matrix td{padding:1rem .8rem;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent);vertical-align:top;line-height:1.45}.r15-matrix td:first-child{font-weight:650}.r15-matrix--contracts{font-size:.86rem}
.r15-control-plane{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(245,242,232,.38);border-bottom:1px solid rgba(245,242,232,.2)}.r15-control-plane>div{padding:2rem 2.1rem 2.2rem 0;margin-right:2rem;border-right:1px solid rgba(245,242,232,.18)}.r15-control-plane>div:last-child{border-right:0;margin-right:0}.r15-control-plane h3{font-family:var(--pe-serif,Georgia,serif);font-size:1.55rem;font-weight:400;margin:0 0 .8rem}.r15-control-plane p{font-size:.95rem;line-height:1.6;color:rgba(245,242,232,.68)}
.r15-enterprise-note{margin-top:2rem;display:flex;gap:1rem;max-width:900px;font-size:.95rem}.r15-enterprise-note strong{white-space:nowrap}.r15-enterprise-note p{margin:0;color:rgba(245,242,232,.68)}
.r15-operating-register h3{font-family:var(--pe-serif,Georgia,serif);font-weight:400;font-size:1.65rem;margin:0 0 1.2rem}.r15-operating-register dl{margin:0}.r15-operating-register dt{font-weight:650;margin-top:1.05rem}.r15-operating-register dd{margin:.25rem 0 0;color:color-mix(in srgb,currentColor 68%,transparent);line-height:1.5}
.r15-consequence-table table{width:100%;border-collapse:collapse}.r15-consequence-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;padding:.8rem 1rem;border-bottom:1px solid #1b1b1b}.r15-consequence-table td{padding:1.1rem 1rem;border-bottom:1px solid rgba(0,0,0,.14);font-size:.93rem;line-height:1.45}.r15-consequence-table td:first-child{font-family:var(--pe-serif,Georgia,serif);font-size:1.22rem}
.r15-topology{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid currentColor}.r15-topology>div{padding:1.25rem 0;border-bottom:1px solid var(--r15-rule);display:grid;grid-template-columns:13rem 1fr;gap:1.5rem}.r15-topology>div:nth-child(odd){padding-right:2.5rem}.r15-topology>div:nth-child(even){padding-left:2.5rem;border-left:1px solid var(--r15-rule)}.r15-topology strong{font-size:.9rem}.r15-topology span{font-size:.9rem;line-height:1.45;opacity:.7}.r15-closing-copy{max-width:760px;margin-top:4rem}.r15-closing-copy h3{font-family:var(--pe-serif,Georgia,serif);font-weight:400;font-size:2rem}.r15-closing-copy p{font-size:1rem;line-height:1.6}.r15-closing-copy a{margin-right:1.2rem}
.r15-resource-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid currentColor;margin-bottom:2.8rem}.r15-resource-map>div{padding:1.25rem 1.25rem 1.25rem 0;border-bottom:1px solid var(--r15-rule);display:flex;flex-direction:column;gap:.35rem}.r15-resource-map>div:nth-child(even){padding-left:1.6rem;border-left:1px solid var(--r15-rule)}.r15-resource-map__core{grid-column:1/-1!important;border-left:0!important;padding-left:0!important}.r15-resource-map strong{font-family:var(--pe-serif,Georgia,serif);font-size:1.4rem;font-weight:400}.r15-resource-map span{font-size:.9rem;opacity:.7}
.r15-enterprise-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid currentColor;margin-top:3rem}.r15-enterprise-columns>div{padding:1.4rem 1.5rem 0 0}.r15-enterprise-columns strong{display:block;font-size:.9rem;margin-bottom:.5rem}.r15-enterprise-columns span{font-size:.9rem;line-height:1.5;opacity:.7}
.r15-link-register{border-top:1px solid currentColor}.r15-link-register a{display:grid;grid-template-columns:minmax(190px,.38fr) 1fr;gap:2rem;padding:1.05rem 0;border-bottom:1px solid var(--r15-rule);text-decoration:none;color:inherit}.r15-link-register strong{font-size:.95rem}.r15-link-register span{font-size:.91rem;line-height:1.45;opacity:.7}
.r15-app-model{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(245,242,232,.35);margin-top:3rem}.r15-app-model>div{padding:1.25rem 1.25rem 1rem 0}.r15-app-model strong{display:block;font-family:var(--pe-serif,Georgia,serif);font-weight:400;font-size:1.25rem;margin-bottom:.5rem}.r15-app-model span{font-size:.84rem;line-height:1.45;color:rgba(245,242,232,.65)}
.r15-platform .platform-code{margin:0}.r15-platform .r15-territory--dark .platform-code{align-self:start}.r15-platform .r15-territory--dark .platform-code figcaption,.r15-platform .r15-territory--dark .platform-code code{color:inherit}
@media(max-width:900px){.r15-editorial-grid,.r15-editorial-grid--wide,.r15-evidence-model{grid-template-columns:1fr}.r15-control-plane{grid-template-columns:1fr}.r15-control-plane>div{border-right:0;border-bottom:1px solid rgba(245,242,232,.18);margin-right:0;padding-right:0}.r15-app-model{grid-template-columns:repeat(2,minmax(0,1fr))}.r15-topology{grid-template-columns:1fr}.r15-topology>div:nth-child(even){padding-left:0;border-left:0}.r15-topology>div:nth-child(odd){padding-right:0}.r15-enterprise-columns{grid-template-columns:1fr}.r15-enterprise-columns>div{border-bottom:1px solid var(--r15-rule);padding-bottom:1rem}.r15-matrix{display:block;overflow-x:auto}}
@media(max-width:560px){.r15-page .r15-territory{padding:4.5rem 0}.r15-section-head h2,.r15-editorial h2{font-size:clamp(2.25rem,11vw,3.3rem);max-width:none}.r15-authority-map>div,.r15-topology>div,.r15-link-register a{grid-template-columns:1fr;gap:.35rem}.r15-app-model{grid-template-columns:1fr}.r15-resource-map{grid-template-columns:1fr}.r15-resource-map>div:nth-child(even){padding-left:0;border-left:0}.r15-enterprise-note{display:block}.r15-enterprise-note strong{display:block;margin-bottom:.5rem}.r15-consequence-table{overflow-x:auto}.r15-consequence-table table{min-width:620px}}

/* R15.1 headline discipline: editorial hierarchy follows Home rather than campaign-scale display. */
.r15-page .r15-section-head h2,
.r15-page .r15-editorial h2{
  font-size:clamp(2.25rem,3.45vw,3.75rem);
  line-height:1.035;
  letter-spacing:-.032em;
  max-width:13.5ch;
  margin-bottom:1.25rem;
}
.r15-page .arch-hero h1{
  font-size:clamp(2.85rem,4vw,3.75rem);
  line-height:1.01;
  letter-spacing:-.042em;
  max-width:15ch;
}
.r15-platform .platform-hero h1,
.r15-developers-core .developers-hero h1{
  font-size:clamp(2.9rem,4.05vw,3.9rem)!important;
  line-height:1.01!important;
  letter-spacing:-.042em!important;
  max-width:16ch!important;
}
@media(max-width:680px){
  .r15-page .r15-section-head h2,
  .r15-page .r15-editorial h2{font-size:clamp(2rem,9.4vw,2.8rem);line-height:1.04;max-width:16ch}
  .r15-page .arch-hero h1{font-size:clamp(2.2rem,9.6vw,2.75rem);max-width:15ch}
  .r15-platform .platform-hero h1,
  .r15-developers-core .developers-hero h1{font-size:clamp(2.25rem,9.8vw,2.85rem)!important;max-width:16ch!important}
}

/* R15.1 optical follow-through: edited language determines hero geometry and measure. */
@media(min-width:681px){
  .r15-page .arch-hero.estate-hero--circumpunct{height:auto!important;min-height:0!important;max-height:none!important;padding:0!important}
  .r15-page .arch-hero.estate-hero--circumpunct>.pe-rail{height:auto!important;padding-top:82px!important;padding-bottom:88px!important}
  .r15-page .arch-hero h1{max-width:22ch!important}
  .r15-platform .platform-hero h1,
  .r15-developers-core .developers-hero h1{font-size:clamp(2.9rem,3.55vw,3.5rem)!important;max-width:23ch!important}
  .r15-page .r15-section-head h2,
  .r15-page .r15-editorial h2{font-size:clamp(2.2rem,3.1vw,3.35rem);max-width:18ch}
}

/* R15.2 headline composition: deeper pages sit below Home in display hierarchy. */
@media(min-width:681px){
  .r15-page .arch-hero h1{font-size:clamp(2.8rem,3.35vw,3.25rem)!important;line-height:1.025!important;max-width:24ch!important}
  .r15-platform .platform-hero h1,
  .r15-developers-core .developers-hero h1{font-size:clamp(2.85rem,3.4vw,3.3rem)!important;line-height:1.025!important;max-width:25ch!important}
  .r15-page .r15-section-head h2,
  .r15-page .r15-editorial h2{font-size:clamp(2.05rem,2.55vw,2.85rem)!important;line-height:1.055!important;max-width:20ch!important}
}
/* R15.2 section-head measure: avoid narrow editorial wraps at wide desktop widths. */
@media(min-width:1100px){
  .r15-page .r15-section-head h2,
  .r15-page .r15-editorial h2{
    font-size:clamp(2rem,2.3vw,2.65rem)!important;
    max-width:24ch!important;
    line-height:1.06!important;
  }
}

/* R15.3 optical prose court: rendered composition outranks nominal character count. */
@media(min-width:1100px){
  .r15-page .r15-section-head h2,
  .r15-page .r15-editorial h2{
    max-width:30ch!important;
  }
}
@media(min-width:1100px){
  .r15-developers-core .r15-territory--dark .r15-section-head h2{max-width:34ch!important}
}

/* R19 production-depth additions: semantic augmentation without changing page grammar. */
.r19-surface-choice{max-width:900px;margin-top:2.25rem;padding-top:1.4rem;border-top:1px solid var(--r15-rule)}
.r19-surface-choice p{margin:0;font-size:.96rem;line-height:1.62;color:color-mix(in srgb,currentColor 76%,transparent)}
.r19-surface-choice strong{color:currentColor}

/* R19 final optical court: keep hero destinations visibly discrete at narrow widths. */
.r15-developers-core .developers-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.45rem;margin-top:1.1rem}
@media(max-width:680px){
  .r15-developers-core .developers-hero-actions{display:grid;gap:.55rem;margin-top:1rem}
  .r15-developers-core .developers-hero-actions a{width:max-content;max-width:100%}
}
