/* Practice Pulse sample: the GSA site frame around the unchanged report (October 2026).
   Added by scripts/present-pulse-sample.mjs. Styles only the frame (header, introduction, footer) and the
   space around the report pages; the report's own stylesheet (pulse-sample.css) is untouched, and the frame's
   fonts use their own family names so the report's fonts cannot change. Values mirror the shared header and
   footer and the inner-page openings in src/styles/final-design-components.css. */
@font-face{font-family:"PPF Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/practice-pulse-sample/fonts/frame-instrument-sans-400.woff2) format("woff2")}
@font-face{font-family:"PPF Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/practice-pulse-sample/fonts/frame-instrument-sans-600.woff2) format("woff2")}
@font-face{font-family:"PPF Display";font-style:normal;font-weight:100 900;font-display:swap;src:url(/practice-pulse-sample/fonts/frame-fraunces-display.woff2) format("woff2-variations"),url(/practice-pulse-sample/fonts/frame-fraunces-display.woff2) format("woff2")}

.ppf{--ppf-night:#020910;--ppf-paper:#f6f6f4;--ppf-mist:#9db8c2;--ppf-bright:#2ec4b6;--ppf-line:rgba(207,248,242,.14);
 --ppf-gutter:clamp(20px,5vw,72px);--ppf-max:1360px;font-family:"PPF Sans",system-ui,sans-serif;font-size:16px;line-height:1.65}
.ppf a:focus-visible,.ppf summary:focus-visible,.ppf-intro:focus-visible{outline:2px solid var(--ppf-bright);outline-offset:3px}
@media screen{html,body{background:#020910}}

.ppf-skip{position:absolute;left:1rem;top:-5rem;z-index:100;padding:.7rem 1rem;border-radius:6px;background:#fff;color:#0a1e29}
.ppf-skip:focus{top:1rem}

/* Header: the shared site header, night version used on every inner page. Frame-only class names (ppf-) keep this
   page a generated report example under its own document contract in the brand metadata check. */
.ppf-header-wrap{position:sticky;top:0;z-index:40;color:var(--ppf-paper);background:rgba(2,9,16,.96);
 -webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px 0 rgba(207,248,242,.08)}
.ppf-header{max-width:var(--ppf-max);min-height:89px;margin:auto;padding:16px var(--ppf-gutter);display:flex;align-items:center;
 justify-content:space-between;gap:clamp(12px,2vw,24px);position:relative;border-bottom:1px solid transparent}
.ppf-brand{display:inline-flex;align-items:center;gap:12px;color:var(--ppf-paper);text-decoration:none;flex-shrink:0}
.ppf-brand svg{width:clamp(34px,3vw,42px);height:auto}
.ppf-brand-text{display:flex;flex-direction:column;gap:5px;white-space:nowrap}
.ppf-brand-text>span{font-family:"Fraunces",Georgia,serif;font-size:clamp(20px,1.7vw,23px);line-height:1;font-weight:400;letter-spacing:-.01em}
.ppf-brand-text small{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ppf-mist)}
.ppf-nav,.ppf-actions{display:flex;align-items:center}
.ppf-nav{gap:clamp(15px,2vw,30px);font-size:15px}
.ppf-nav a,.ppf-footer-links a{color:var(--ppf-mist);text-decoration:none}
.ppf-nav a:hover,.ppf-email:hover,.ppf-footer-links a:hover{color:var(--ppf-paper)}
.ppf-actions{gap:clamp(10px,1.5vw,20px);flex-shrink:0}
.ppf-email{font-size:15px;color:var(--ppf-paper);text-decoration:none;white-space:nowrap}
.ppf-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 clamp(14px,1.3vw,18px);
 background:var(--ppf-bright);color:#0a1e29;font-weight:600;font-size:clamp(14px,1.1vw,15px);text-decoration:none;white-space:nowrap}
.ppf-cta:hover{background:#6fdccf}
.ppf-menu{display:none}
.ppf-menu>summary{list-style:none}
.ppf-menu>summary::-webkit-details-marker{display:none}
.ppf-menu-toggle{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;
 color:var(--ppf-paper);background:transparent;border:1px solid rgba(157,184,194,.35);cursor:pointer}
.ppf-mobile-nav{position:absolute;top:100%;left:var(--ppf-gutter);right:var(--ppf-gutter);z-index:5;padding:8px 20px 16px;
 background:#06111a;border:1px solid var(--ppf-line);font-size:17px}
.ppf-mobile-nav a{display:block;padding:12px 0;color:var(--ppf-mist);border-bottom:1px solid rgba(157,184,194,.14);text-decoration:none}
.ppf-mobile-nav a:last-child{color:var(--ppf-bright);border-bottom:none}
@media (max-width:1120px){.ppf-nav,.ppf-email{display:none}.ppf-menu{display:block}}
@media (max-width:900px){.ppf-header{min-height:77px;padding-block:14px}}
@media (max-width:480px){
 .ppf-header{padding-inline:16px;gap:8px}
 .ppf-brand{gap:8px}
 .ppf-brand svg{width:34px}
 .ppf-brand-text>span{font-size:19px}
 .ppf-brand-text small{font-size:8px;letter-spacing:.11em}
 .ppf-actions{gap:8px}
 .ppf-cta{font-size:13px;padding-inline:10px}
}
@media (max-width:380px){.ppf-brand-text small{display:none}}
@media (max-width:340px){.ppf-brand-text{display:none}.ppf-cta{padding:0 12px}}

/* Introduction: the inner-page opening (eyebrow, display headline, lede), set on the report's column. The glow is
   placed to fade out inside the section, since the night background continues below it. */
.ppf-intro{position:relative;isolation:isolate;overflow:clip;color:var(--ppf-paper);background:var(--ppf-night);scroll-margin-top:96px}
.ppf-intro::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
 background:radial-gradient(ellipse 46% 62% at 82% 38%,rgba(46,196,182,.12),rgba(46,196,182,0) 70%)}
.ppf-wrap{width:min(8.5in,100% - 2 * var(--ppf-gutter));margin:0 auto;padding:clamp(48px,6.4vw,92px) 0 clamp(8px,1vw,14px)}
.ppf-eyebrow{display:flex;align-items:center;gap:12px;margin:0;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;font-weight:500;
 line-height:1.65;letter-spacing:.16em;text-transform:uppercase;color:var(--ppf-bright)}
.ppf-eyebrow>span{flex:none;width:7px;height:7px;background:var(--ppf-bright)}
.ppf-intro .ppf-title{max-width:11.5em;margin:clamp(20px,2.4vw,34px) 0 0;font-family:"PPF Display","Fraunces",Georgia,serif;font-variation-settings:"opsz" 144;
 font-weight:300;font-size:clamp(42px,5.4vw,76px);line-height:1;letter-spacing:-.02em;color:var(--ppf-paper)}
.ppf-intro .ppf-title em{font-family:"Newsreader",Georgia,serif;font-style:italic;font-weight:300;color:var(--ppf-bright);white-space:nowrap}
.ppf-lede{max-width:34em;margin:clamp(20px,2.2vw,30px) 0 0;font-size:clamp(18px,1.45vw,20.88px);line-height:1.55;color:var(--ppf-mist)}
.ppf-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin:clamp(28px,3vw,44px) 0 0;
 padding-top:16px;border-top:1px solid var(--ppf-line);font-size:15px;line-height:1.5;color:var(--ppf-mist)}
.ppf-meta>span{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.ppf-meta a{color:var(--ppf-bright);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ppf-meta a:hover{color:#6fdccf}

/* The report pages sit on the night background like documents. Outside rings and shadow only, sized so no shadow
   reaches the neighboring page: nothing inside a page changes. Between 761px and 830px the 8.5in pages would be wider than the window, so the viewer scales them to fit
   instead of scrolling sideways (below 761px the report's own phone layout applies). */
.ppf-report{padding-bottom:clamp(40px,6vw,96px)}
@media screen and (min-width:761px){.ppf-report>.page{box-shadow:0 0 0 1px rgba(207,248,242,.09),0 40px 60px -40px rgba(0,0,0,.9)}}
@media screen and (min-width:761px) and (max-width:799.98px){.ppf-report{zoom:.9}.ppf-wrap{width:calc(8.5in * .9)}}
@media screen and (min-width:800px) and (max-width:830.98px){.ppf-report{zoom:.95}.ppf-wrap{width:calc(8.5in * .95)}}
@media screen and (max-width:760px){.ppf-report{padding-bottom:0}}

/* Footer: the shared site footer, night version. */
.ppf-footer{color:var(--ppf-mist);background:var(--ppf-night);border-top:1px solid var(--ppf-line)}
.ppf-footer-inner{max-width:var(--ppf-max);margin:auto;padding:48px var(--ppf-gutter) 40px}
.ppf-footer-primary,.ppf-footer-secondary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}
.ppf-footer-primary{gap:28px 40px;padding-bottom:32px;border-bottom:1px solid rgba(157,184,194,.16)}
.ppf-footer-links{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:15px}
.ppf-footer-secondary{gap:16px 32px;padding-top:24px;font-size:13.5px}
.ppf-footer-secondary p{margin:0}
.ppf-footer-secondary a{color:var(--ppf-mist)}

/* Printing gives the report alone, exactly as the standalone report prints: no frame, and no wrapper padding after
   page two (in print that padding pushed page two's last line onto a third sheet). */
@media print{.ppf{display:none!important}.ppf-report{padding-bottom:0}}
