/* Editorial architecture module. No runtime integrations or external dependencies. */
.architecture-section{padding-block:88px;background:var(--soft,#eaf3f8);color:var(--ink,#102f46)}
.architecture-container{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.architecture-heading{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:36px}
.architecture-eyebrow{font:700 12px/1.6 var(--body,'DM Sans',sans-serif);letter-spacing:1.4px;color:var(--blue,#17699a);margin:0 0 17px}
.architecture-heading h2{font:750 clamp(30px,3.2vw,42px)/1.22 var(--heading,'Manrope',sans-serif);letter-spacing:-1.5px;margin:0}
.architecture-heading>p{font:400 16px/1.8 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978);max-width:510px;margin:0}
.architecture-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:30px}
.architecture-pillar{min-width:0;padding:28px;background:white;border:1px solid var(--line,#d4e2ea);border-radius:18px}
.architecture-icon{display:block;fill:none;stroke:var(--blue,#17699a);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px;margin-bottom:23px}
.architecture-pillar h3{font:750 21px/1.4 var(--heading,'Manrope',sans-serif);letter-spacing:-.5px;margin:0 0 12px}
.architecture-pillar p{font:400 16px/1.75 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978);margin:0 0 20px}
.architecture-keywords{display:block;padding-top:15px;border-top:1px solid var(--line,#d4e2ea);font:500 14px/1.8 var(--body,'DM Sans',sans-serif);color:var(--blue,#17699a)}
.architecture-concept-label{display:flex;align-items:center;gap:9px;margin:0 0 15px;font:500 14px/1.6 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978)}
.architecture-concept-label>span{width:7px;height:7px;background:var(--brand-warm,#f6aa71);border-radius:50%;flex:none}
.architecture-disclosure{border:1px solid var(--line,#d4e2ea);border-radius:14px;background:white;margin-top:12px;overflow:clip}
.architecture-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:23px 26px;min-height:72px}
.architecture-disclosure>summary::-webkit-details-marker{display:none}
.architecture-disclosure>summary>span:first-child{transform:none;color:var(--ink,#102f46);font-size:inherit;line-height:inherit}
.architecture-disclosure>summary strong{display:block;font:650 17px/1.6 var(--heading,'Manrope',sans-serif);letter-spacing:-.2px}
.architecture-summary-note{display:block;color:var(--muted,#536978);font:400 14px/1.7 var(--body,'DM Sans',sans-serif);margin-top:2px}
.architecture-expand{font:400 25px/1 var(--body,'DM Sans',sans-serif);color:var(--blue,#17699a);flex:none;transition:transform .18s}
.architecture-disclosure[open]>summary>.architecture-expand{transform:rotate(45deg)}
.architecture-disclosure>summary:focus-visible,.c4-tab:focus-visible,.c4-panel:focus-visible,.architecture-contact:focus-visible{outline:3px solid var(--blue,#17699a);outline-offset:-5px}
.architecture-disclosure-body{padding:0 26px 26px}
.architecture-example-intro{font:400 15px/1.8 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978);max-width:850px;margin:0 0 22px}
.c4-tabs{display:flex;gap:6px;padding:5px;border:1px solid var(--line,#d4e2ea);background:var(--paper,#fafbfc);border-radius:10px;margin-bottom:24px;width:fit-content;max-width:100%}
.c4-tabs[hidden]{display:none}
.c4-tab{border:0;padding:11px 17px;min-height:46px;background:transparent;border-radius:7px;color:var(--muted,#536978);font:550 14px/1.5 var(--body,'DM Sans',sans-serif);cursor:pointer}
.c4-tab:hover{background:var(--soft,#eaf3f8);color:var(--ink,#102f46)}
.c4-tab[aria-selected='true']{background:var(--ink,#102f46);color:white}
.c4-tab[aria-selected='true']:focus-visible{outline-color:var(--cyan,#51cde5)}
.c4-panel{border-top:1px solid var(--line,#d4e2ea);padding-top:22px;min-width:0}
.c4-panel+.c4-panel{margin-top:30px}
.c4-tabs:not([hidden])~.c4-panel{margin-top:0}
.c4-panel[hidden]{display:none}
.c4-panel-title{font:700 19px/1.5 var(--heading,'Manrope',sans-serif);margin:0 0 7px;letter-spacing:-.3px}
.c4-panel-description{font:400 14px/1.8 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978);margin:0 0 24px;max-width:850px}
.c4-figure,.ai-figure{margin:0;min-width:0}
.c4-context-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.7fr) minmax(0,1.25fr);align-items:center;max-width:850px;margin-inline:auto}
.c4-node{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:20px 15px;border:1px solid #a9c8da;border-radius:11px;background:#eaf3f8;font:400 14px/1.65 var(--body,'DM Sans',sans-serif);color:var(--ink,#102f46);overflow-wrap:anywhere}
.c4-node strong{font:700 16px/1.45 var(--heading,'Manrope',sans-serif);letter-spacing:-.25px}
.c4-node .c4-kind{font:500 14px/1.6 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978)}
.c4-node>span:last-child:not(.c4-kind){color:var(--muted,#536978)}
.c4-actor{background:white;border-color:#a9c0ce;border-radius:30px 30px 11px 11px}
.c4-system{background:var(--ink,#102f46);color:white;border-color:var(--ink,#102f46)}
.c4-system .c4-kind,.c4-system>span:last-child:not(.c4-kind){color:#c4dce8}
.c4-external{background:#f2f4f5;border-color:#c6d0d7}
.c4-database{border-radius:25px / 11px;background:#eaf3f8}
.c4-component{background:white;border-color:#a9c8da}
.c4-relation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;color:var(--muted,#536978);font:400 14px/1.55 var(--body,'DM Sans',sans-serif);padding:12px;min-width:0;overflow-wrap:anywhere}
.c4-relation>span:first-child{font-weight:550;color:var(--ink,#102f46)}
.c4-relation .c4-arrow{font:400 28px/1.25 var(--body,'DM Sans',sans-serif);color:var(--blue,#17699a)}
.c4-branch-label{text-align:center;color:var(--muted,#536978);font:500 14px/1.7 var(--body,'DM Sans',sans-serif);margin:23px 0 0}
.c4-context-externals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:760px;margin-inline:auto}
.c4-external-branch{min-width:0}
.c4-external-branch .c4-node{height:calc(100% - 117px);min-height:140px}
.c4-caption{font:400 14px/1.8 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978);margin:21px 0 0;text-align:center}
.c4-boundary{border:1.5px dashed #8bafc4;border-radius:15px;padding:19px;background:#fafcfd;min-width:0}
.c4-boundary-label{font:550 14px/1.7 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978);margin:0 0 21px}
.c4-chain{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.7fr) minmax(0,1fr) minmax(105px,.7fr) minmax(0,1fr);align-items:center;min-width:0}
.c4-chain>.c4-relation{padding:8px}
.c4-entry{max-width:430px;margin-inline:auto}
.c4-entry>.c4-node{max-width:300px;margin-inline:auto}
.c4-external-connection{max-width:480px;margin-inline:auto}
.c4-external-connection>.c4-node{max-width:300px;margin-inline:auto}
.ai-flow{display:grid;grid-template-columns:1fr 1.15fr 1.4fr 1.15fr 1.2fr 1.25fr 1fr;gap:20px;list-style:none;margin:0;padding:0;align-items:center}
.ai-step{display:flex;flex-direction:column;gap:8px;text-align:center;background:var(--soft,#eaf3f8);border:1px solid var(--line,#d4e2ea);border-radius:10px;position:relative;min-width:0;padding:15px 10px;font:400 14px/1.7 var(--body,'DM Sans',sans-serif);overflow-wrap:anywhere}
.ai-step:not(:last-child)::after{content:'→';position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:20px;text-align:center;font-size:20px;line-height:1;color:var(--blue,#17699a)}
.ai-step strong{font:700 15px/1.5 var(--heading,'Manrope',sans-serif);letter-spacing:-.15px}
.ai-step>span:last-child{color:var(--muted,#536978)}
.ai-step .ai-step-label{font:550 14px/1.5 var(--body,'DM Sans',sans-serif);color:var(--blue,#17699a)}
.ai-harness{background:var(--ink,#102f46);color:white;border-color:var(--ink,#102f46)}
.ai-harness .ai-step-label{color:var(--cyan,#51cde5)}
.ai-harness ul{list-style:none;padding:0;margin:0;font-size:14px;color:#c4dce8}
.ai-harness li{padding-block:6px;border-top:1px solid #ffffff24}
.ai-approval{border:1px dashed #8bafc4;background:white}
.ai-branch-note{font:400 14px/1.8 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978);max-width:860px;margin:22px auto 0;text-align:center}
.ai-controls{display:flex;flex-direction:column;align-items:center;gap:5px;padding:18px;margin-top:20px;border:1px dashed #8bafc4;border-radius:10px;color:var(--muted,#536978);font:400 14px/1.75 var(--body,'DM Sans',sans-serif);text-align:center}
.ai-controls strong{color:var(--ink,#102f46);font-weight:650}
.architecture-glossary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;padding:0 26px 26px;margin:0}
.architecture-glossary-list>div{border-top:1px solid var(--line,#d4e2ea);padding-top:17px;min-width:0}
.architecture-glossary-list dt{font:650 16px/1.5 var(--heading,'Manrope',sans-serif);margin-bottom:7px}
.architecture-glossary-list dd{font:400 15px/1.8 var(--body,'DM Sans',sans-serif);color:var(--muted,#536978);margin:0}
.architecture-closing{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:25px}
.architecture-closing>p{font:550 15px/1.75 var(--body,'DM Sans',sans-serif);margin:0;color:var(--muted,#536978)}
.architecture-contact{display:inline-flex;align-items:center;gap:20px;min-height:44px;font:650 14px/1.6 var(--body,'DM Sans',sans-serif);color:var(--blue,#17699a);text-decoration:none;padding-block:10px}
.architecture-contact:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1100px){.architecture-container{width:calc(100% - 64px)}.architecture-heading{gap:35px}.architecture-pillars{gap:18px}.architecture-pillar{padding:24px}.architecture-pillar h3{font-size:20px}.ai-flow{grid-template-columns:1fr;gap:25px;max-width:650px;margin-inline:auto}.ai-step{padding:18px 22px}.ai-step:not(:last-child)::after{content:'↓';right:auto;top:auto;left:50%;bottom:-24px;transform:translateX(-50%);font-size:22px}.ai-harness ul{display:flex;flex-wrap:wrap;gap:7px 20px;justify-content:center}.ai-harness li{border:0;padding:0}}
@media(max-width:850px){.architecture-section{padding-block:70px}.architecture-container{width:calc(100% - 48px)}.architecture-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.architecture-heading>p{max-width:650px}.architecture-pillars{grid-template-columns:1fr}.architecture-pillar{display:grid;grid-template-columns:34px 1fr;column-gap:20px}.architecture-icon{grid-row:1/4;margin:2px 0 0}.architecture-pillar h3{font-size:21px}.architecture-pillar p{margin-bottom:16px}.c4-chain{grid-template-columns:1fr;max-width:520px;margin-inline:auto}.c4-chain>.c4-relation{padding-block:11px}.c4-chain>.c4-relation>.c4-arrow{font-size:0}.c4-chain>.c4-relation>.c4-arrow::after{content:'↓';font-size:28px}.c4-chain .c4-node{max-width:340px;width:100%;margin-inline:auto}.architecture-closing{align-items:start;flex-direction:column;gap:10px}}
@media(max-width:600px){.architecture-section{padding-block:58px}.architecture-container{width:calc(100% - 40px)}.architecture-eyebrow{font-size:11px;letter-spacing:1px;line-height:1.8;margin-bottom:15px}.architecture-heading h2{font-size:32px;letter-spacing:-1.1px}.architecture-heading>p{font-size:16px}.architecture-pillars{gap:15px;margin-bottom:25px}.architecture-pillar{display:block;padding:24px}.architecture-icon{margin:0 0 19px}.architecture-pillar h3{font-size:22px}.architecture-keywords{font-size:14px}.architecture-concept-label{font-size:14px;align-items:start;gap:8px}.architecture-concept-label>span{margin-top:8px}.architecture-disclosure>summary{padding:20px;gap:15px}.architecture-disclosure>summary strong{font-size:17px}.architecture-summary-note{font-size:14px}.architecture-disclosure-body{padding:0 18px 22px}.architecture-example-intro{font-size:15px}.c4-tabs{width:100%;gap:2px;padding:4px}.c4-tab{flex:1;padding:11px 5px;font-size:14px;min-width:0;overflow-wrap:anywhere}.c4-panel{padding-top:19px}.c4-panel-title{font-size:19px}.c4-context-main{grid-template-columns:1fr;max-width:340px}.c4-context-main>.c4-relation>.c4-arrow{font-size:0}.c4-context-main>.c4-relation>.c4-arrow::after{content:'↓';font-size:28px}.c4-context-externals{grid-template-columns:1fr;gap:15px;max-width:340px}.c4-external-branch .c4-node{height:auto;min-height:0}.c4-boundary{padding:15px 12px}.c4-boundary-label{font-size:14px;margin-bottom:17px}.c4-node{padding:18px 13px}.c4-relation{padding:12px 7px}.c4-branch-label{font-size:14px;margin-top:20px}.c4-caption{text-align:left;font-size:14px;line-height:1.8}.ai-step{padding:18px 15px}.ai-harness ul{flex-direction:column;gap:5px}.ai-step strong{font-size:16px}.ai-branch-note{text-align:left}.ai-controls{padding:17px 14px;text-align:left;align-items:start}.architecture-glossary-list{grid-template-columns:1fr;gap:20px;padding:0 20px 23px}.architecture-closing{margin-top:20px}.architecture-closing>p{font-size:15px}.architecture-contact{font-size:14px;gap:15px}}
@media(prefers-reduced-motion:reduce){.architecture-expand{transition:none}}

@media(max-width:600px){.c4-tabs{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#adc6d4 transparent}.c4-tab{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;padding-inline:12px}}
