/* Standard page layouts and the designated blog page heading. */
.edoo-frame {
    --ef-navy: #031637;
    --ef-paper: #fffdf4;
    --ef-ink: #10203d;
    --ef-content-inset: clamp(24px,3vw,48px);
    box-sizing: border-box;
    width: 100%;
    min-height: 70vh;
    padding: clamp(28px,4vw,72px);
    color: var(--ef-ink);
    font-family: 'Work Sans',Arial,sans-serif;
    background: var(--ef-paper);
}
.edoo-frame--archive { min-height:0; padding-block-end:0; }
html[dir="rtl"] .edoo-frame { direction:rtl; }
.edoo-frame * { box-sizing: border-box; }
.edoo-frame__heading {
    padding: clamp(24px,3vw,48px) var(--ef-content-inset) clamp(44px,4vw,72px);
    text-align: start;
}
/* Artwork is opt-in through Header Type Image on the frame templates. */
.edoo-frame__heading--art { position:relative; isolation:isolate; min-height:280px; display:flex; align-items:center; }
.edoo-frame__art { position:absolute; z-index:-1; inset-block-start:50%; inset-inline-end:var(--ef-content-inset); transform:translateY(-50%); width:clamp(200px,27vw,400px); height:250px; max-width:45%; object-fit:contain; opacity:.15; pointer-events:none; }
.edoo-frame--left .edoo-frame__heading--art { display:grid; grid-template-columns:minmax(0,1fr) clamp(180px,25vw,360px); gap:clamp(24px,4vw,64px); }
.edoo-frame--left .edoo-frame__heading--art .edoo-frame__art { position:static; inset:auto; transform:none; z-index:auto; grid-column:2; grid-row:1; width:100%; height:auto; aspect-ratio:1; max-width:100%; }
.edoo-frame--left .edoo-frame__heading--art .edoo-frame__heading-text { grid-column:1; grid-row:1; min-width:0; }
.edoo-frame--left .edoo-frame__heading--art .edoo-frame__title { position:relative; max-width:100%; overflow-wrap:break-word; }
.edoo-frame--centered .edoo-frame__heading--art { justify-content:center; }
.edoo-frame--centered .edoo-frame__art { inset-inline-start:var(--ef-content-inset); inset-inline-end:auto; width:32%; height:150px; max-width:none; opacity:.13; }
.edoo-frame--centered .edoo-frame__art--end { inset-inline-start:auto; inset-inline-end:var(--ef-content-inset); }
.edoo-frame--centered .edoo-frame__heading--art .edoo-frame__title { position:relative; z-index:1; max-width:65%; }
.edoo-frame__heading-text { position:relative; width:100%; min-width:0; }
.edoo-frame__subtitle { max-width:74ch; margin:18px 0 0; color:#41747c; font:400 clamp(15px,1.3vw,19px)/1.7 'Work Sans',Arial,sans-serif; }
.edoo-frame--centered .edoo-frame__subtitle { margin-inline:auto; }
html[dir="rtl"] .edoo-frame__title,
html[dir="rtl"] .edoo-frame__subtitle { font-family:Tahoma,'FreeSerif',Arial,serif; letter-spacing:normal; }


.edoo-frame__title {
    display: inline-block;
    max-width: 100%;
    margin: 0 -.08em;
    padding: .12em .08em .2em;
    font: 700 clamp(42px,5.4vw,92px)/1.12 'Work Sans',Arial,sans-serif;
    letter-spacing: normal;
    color: var(--ef-navy);
    text-wrap: balance;
}
.edoo-frame__body {
    --ef-feather: clamp(20px,2.5vw,48px);
    display: flow-root;
    min-width: 0;
    padding: var(--ef-content-inset);
    background:
        linear-gradient(to bottom,var(--ef-paper),transparent var(--ef-feather),transparent calc(100% - var(--ef-feather)),var(--ef-paper)),
        linear-gradient(to right,var(--ef-paper),#fff var(--ef-feather),#fff calc(100% - var(--ef-feather)),var(--ef-paper));
    color: var(--ef-ink);
    font-size: 16px;
    line-height: 1.85;
    text-align: left;
}
.edoo-frame__body>h2 { font:700 clamp(26px,2vw,34px)/1.2 'Newsreader',Georgia,serif; margin:0 0 18px; }
.edoo-frame__body>h3 { font:700 22px/1.3 'Newsreader',Georgia,serif; margin:26px 0 14px; }
.edoo-frame__body>p { margin:0 0 26px; max-width:90ch; }
.edoo-frame__body>img,.edoo-frame__body>svg { max-width:100%; height:auto; }
.edoo-frame__body>iframe { max-width:100%; }
.edoo-frame__body>table { width:100%; }
/* Center page prose only; calculators, forms and data tables retain their own alignment. */
.edoo-frame--centered .edoo-frame__heading { text-align:center; }
.edoo-frame--centered .edoo-frame__body>:is(h1,h2,h3,h4,h5,h6,p,blockquote) {
    margin-inline:auto;
    text-align:center;
}
.edoo-frame--centered .edoo-frame__body>:is(ul,ol,figure) {
    width:fit-content;
    max-width:100%;
    margin-inline:auto;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
    .edoo-frame__title {
        background-image:linear-gradient(110deg,#031637 0%,#153d73 25%,#41747c 45%,#816529 62%,#153d73 80%,#031637 100%);
        background-size:250% 100%;
        background-clip:text;
        -webkit-background-clip:text;
        color:transparent;
        animation:edoo-frame-title-gradient 9s ease-in-out infinite alternate;
    }
}
@keyframes edoo-frame-title-gradient {
    from { background-position:0% 50%; }
    to { background-position:100% 50%; }
}
@media(max-width:900px) {
    .edoo-frame { padding:28px 18px; }
    .edoo-frame__heading { padding:20px var(--ef-content-inset) 36px; }
    .edoo-frame__body { font-size:15px; line-height:1.8; }
    .edoo-frame__heading--art { min-height:210px; }
    .edoo-frame__art { inset-inline-end:0; width:180px; height:180px; max-width:55%; opacity:.08; }
    .edoo-frame--centered .edoo-frame__art { inset-inline-start:0; inset-inline-end:auto; width:42%; height:100px; opacity:.07; }
    .edoo-frame--centered .edoo-frame__art--end { inset-inline-start:auto; inset-inline-end:0; }
    .edoo-frame--centered .edoo-frame__heading--art .edoo-frame__title { max-width:100%; }
    .edoo-frame--left .edoo-frame__heading--art .edoo-frame__title { max-width:100%; }
}
@media(max-width:600px) {
    .edoo-frame--left .edoo-frame__heading--art { grid-template-columns:minmax(0,1fr) clamp(70px,20vw,110px); gap:12px; min-height:180px; }
    .edoo-frame--left .edoo-frame__heading--art .edoo-frame__title { font-size:clamp(28px,7vw,42px); }
}
@media(prefers-reduced-motion:reduce) {
    .edoo-frame__title { animation:none; background-position:35% 50%; }
}
