/*
Theme Name: Thomas Beckert – Flyer
Description: Flyer-inspiriertes WordPress Block-Theme, das vorhandene Seiteninhalte unverändert darstellt.
Author: Theme Studio
Version: 2.1.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: thomas-beckert-flyer
Tags: full-site-editing, block-patterns, custom-colors, custom-menu, editor-style, featured-images, one-column
*/
@font-face{font-family:Flyer Condensed;src:url('assets/fonts/RobotoCondensed.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--flyer-navy:var(--wp--preset--color--navy,#1c294b);--flyer-cream:var(--wp--preset--color--cream,#f4eddd);--flyer-paper:var(--wp--preset--color--paper,#fcf9f2);--flyer-line:var(--wp--preset--color--line,#d6cdbb);--flyer-muted:var(--wp--preset--color--muted,#626558);--flyer-shell:1200px}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0!important}
img{max-width:100%;height:auto}
figure{margin:0}
h1,h2,h3,p{overflow-wrap:break-word}
h2{font-size:clamp(2rem,3.7vw,3.5rem);letter-spacing:-.045em;margin:0 0 1.5rem}
h3{letter-spacing:-.025em}
a{text-underline-offset:.25em}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.section-shell{max-width:var(--flyer-shell);margin-left:auto!important;margin-right:auto!important;padding:88px 36px}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.16em;margin:0 0 1.5rem!important;line-height:1.4}
.flyer-header{background:var(--flyer-navy);color:var(--flyer-cream);padding:20px 36px;margin:0}
.header-inner{max-width:1128px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:36px}
.brand{margin:0;font-family:'Flyer Condensed','Arial Narrow',Arial,sans-serif;font-size:1rem;line-height:1.1;letter-spacing:.12em}
.brand strong{font-size:2rem;font-weight:900;letter-spacing:.035em}
.brand a{color:inherit!important;text-decoration:none}
.main-nav{margin:0!important;flex:1}
.main-nav .wp-block-navigation-item__content{color:inherit;text-decoration:none;padding:8px 0}
.main-nav .wp-block-navigation-item__content:hover{text-decoration:underline}
.main-nav .wp-block-navigation__container{gap:32px}
.main-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--flyer-navy);color:var(--flyer-cream)}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;max-width:var(--flyer-shell);margin:0 auto!important;gap:0}
.hero-grid>*{margin:0!important;min-width:0}
.hero-copy{padding:72px 36px 64px}
.hero-copy .eyebrow{margin-bottom:30px!important}
.candidate-name{font-family:'Flyer Condensed','Arial Narrow',Arial,sans-serif;font-size:clamp(2rem,3.4vw,3rem);font-weight:300;letter-spacing:.015em;line-height:1.06;margin:0 0 12px}
.candidate-name strong{display:inline-block;font-size:clamp(5rem,9.5vw,8.8rem);font-weight:900;letter-spacing:-.025em;line-height:1}
.candidate-role{font-size:1rem;margin:0!important}
.hero-statement{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.12;font-weight:300;letter-spacing:-.03em;margin:42px 0 20px!important;color:var(--flyer-navy)}
.hero-statement strong{font-weight:700}
.hero-intro{font-size:1rem;max-width:350px;margin:0 0 30px!important;color:var(--flyer-muted)}
.wp-block-buttons{gap:12px;display:flex;flex-wrap:wrap}
.wp-block-button__link{border-radius:0!important;font-size:.9rem;font-weight:700;padding:16px 22px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex;align-items:center;justify-content:center;min-height:48px}
.wp-block-button__link:hover{background:#344260;color:var(--flyer-cream)}
.wp-block-button.is-style-outline .wp-block-button__link{border:1px solid var(--flyer-navy);color:var(--flyer-navy);background:transparent}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--flyer-navy);color:var(--flyer-cream)}
.hero-visual{position:relative;display:flex;flex-direction:column;background:var(--flyer-navy)}
.hero-portrait{flex:1;height:100%;margin:0!important}
.hero-portrait img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 24%}
.portrait-caption{position:relative;z-index:1;margin:auto 0 0!important;padding:20px 28px;color:var(--flyer-cream);font-size:1rem;background:var(--flyer-navy);letter-spacing:.025em}
.election-band{background:var(--flyer-navy);color:var(--flyer-cream);margin:0!important}
.election-inner{max-width:1128px;margin:0 auto;display:flex;align-items:center;gap:30px;padding:24px 0}
.election-inner>*{margin:0!important}
.election-date{font-family:'Flyer Condensed',Arial,sans-serif;font-size:2.5rem;font-weight:700;line-height:1.1;white-space:nowrap}
.election-label{font-size:.95rem;border-left:1px solid #71809b;padding-left:30px;line-height:1.6}
.election-link{margin-left:auto!important;font-size:.9rem}
.election-link a{color:inherit!important}
.localities-strip{max-width:1128px;margin:0 auto!important;padding:28px 0;border-bottom:1px solid var(--flyer-line);display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center}
.localities-strip .eyebrow{margin:0!important;font-size:.65rem}
.localities{margin:0!important;font-size:.85rem;line-height:1.9;color:var(--flyer-muted)}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:40px}
.section-heading>*{margin:0!important}
.section-title h2{margin-bottom:0}
.section-link{white-space:nowrap;font-size:.9rem}
.section-link a{text-decoration:none;border-bottom:1px solid var(--flyer-navy);padding-bottom:5px}
.topics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0!important;border-top:1px solid var(--flyer-line);border-left:1px solid var(--flyer-line)}
.topic-card{margin:0!important;padding:26px 22px 22px;border-bottom:1px solid var(--flyer-line);border-right:1px solid var(--flyer-line);display:flex;flex-direction:column;transition:background .15s}
.topic-card:hover{background:var(--flyer-paper)}
.topic-number{font-family:'Flyer Condensed',Arial,sans-serif;font-weight:300;font-size:2rem;line-height:1;margin:0 0 30px!important;color:var(--flyer-muted)}
.topic-card h3{font-size:1.2rem;line-height:1.2;margin:0 0 12px}
.topic-card p:not(.topic-number){font-size:.85rem;line-height:1.65}
.topic-card .topic-subtitle{font-weight:700;margin:0 0 12px!important;color:var(--flyer-navy)}
.topic-card p{margin:0 0 22px!important}
.topic-card .text-link{margin:auto 0 0!important;padding-top:20px}
.text-link a{font-size:.9rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}
.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;padding-top:10px;align-items:center}
.about-grid>*{min-width:0;margin:0!important}
.conversation-photo img{display:block;width:100%;aspect-ratio:1.2;object-fit:cover;object-position:45% 50%}
.image-caption{font-size:.8rem;letter-spacing:.04em;padding:14px 0;margin:0!important;border-bottom:1px solid var(--flyer-line);color:var(--flyer-muted)}
.about-copy>p:not(.eyebrow){font-size:.95rem;color:var(--flyer-muted)}
.about-copy .wp-block-buttons{margin-top:28px}
.experience-section{border-top:1px solid var(--flyer-line);padding-top:60px;padding-bottom:60px}
.experience-section h2{font-size:clamp(2rem,3vw,2.7rem)}
.experience-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;padding:20px 0 30px}
.experience-item{margin:0!important;border-top:2px solid var(--flyer-navy);padding-top:16px}
.experience-date{font-family:'Flyer Condensed',Arial,sans-serif;font-size:1.1rem;font-weight:700;margin:0 0 24px!important}
.experience-item h3{font-size:1.05rem;margin:0 0 8px}
.experience-item p:not(.experience-date){font-size:.85rem;margin:0;color:var(--flyer-muted)}
.dates-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-top:64px;border-top:1px solid var(--flyer-line)}
.dates-grid>*{margin:0!important}
.dates-intro p:not(.eyebrow){max-width:330px;font-size:.95rem}
.event-row{display:grid;grid-template-columns:150px 1fr;gap:25px;padding:24px 0;margin:0!important;border-top:1px solid var(--flyer-line)}
.event-row:last-child{border-bottom:1px solid var(--flyer-line)}
.event-row>*{margin:0!important}
.event-date{font-family:'Flyer Condensed',Arial,sans-serif;font-size:1.4rem;font-weight:700;margin:0!important}
.event-time{font-size:.85rem;margin:4px 0 0!important;color:var(--flyer-muted)}
.event-what h3{font-size:1.15rem;margin:0 0 8px}
.event-what p{font-size:.85rem;margin:0!important;color:var(--flyer-muted)}
.quote-section{text-align:center;padding-top:10px;padding-bottom:80px}
.quote-section blockquote{border:none!important;padding:0;max-width:800px;margin:auto!important}
.quote-section blockquote p{font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.45;font-style:italic;letter-spacing:-.02em;color:var(--flyer-navy)}
.quote-section cite{font-size:.8rem;font-style:normal;color:var(--flyer-muted)}
.contact-band{background:var(--flyer-navy);color:var(--flyer-cream);margin:0!important}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:60px;padding-bottom:60px}
.contact-grid>*{margin:0!important;min-width:0}
.contact-band h2,.contact-band a{color:var(--flyer-cream)!important}
.contact-band .eyebrow{color:#c4bfb2}
.contact-copy h2{font-size:clamp(2rem,3.3vw,3rem)}
.contact-copy>p:last-child{font-size:.95rem}
.contact-email{font-size:1.1rem;font-weight:700;overflow-wrap:anywhere;line-height:1.6;margin:0 0 16px!important}
.contact-email a,.contact-phone a{text-decoration:none}
.contact-phone{font-family:'Flyer Condensed',Arial,sans-serif;font-size:2rem;margin:0 0 16px!important}
.contact-address{font-size:.85rem;color:#d7d3c9;margin:0 0 24px!important}
.flyer-footer{margin:0!important;background:var(--flyer-paper);padding:40px 36px}
.footer-inner{max-width:1128px;margin:auto;display:flex;justify-content:space-between;gap:40px}
.footer-inner>*{margin:0!important}
.footer-brand{font-family:'Flyer Condensed',Arial,sans-serif;line-height:1.1;font-size:1.1rem;font-weight:300;letter-spacing:.09em;margin:0!important}
.footer-brand strong{font-size:2.5rem;font-weight:900;letter-spacing:.01em}
.footer-tagline{font-size:.8rem;color:var(--flyer-muted);margin:12px 0 0!important}
.footer-navigation{text-align:right;align-self:center}
.footer-links,.footer-legal{font-size:.8rem;margin:0 0 12px!important;line-height:2}
.footer-links a,.footer-legal a{text-decoration:none}
.footer-signoff{font-size:.8rem;color:var(--flyer-muted);margin:0!important}
.page-main{min-height:60vh}
.page-main>.wp-block-post-title{margin-top:0;margin-bottom:45px}
.page-main .wp-block-post-content{max-width:100%}
.page-main .wp-block-post-content h1{font-family:'Flyer Condensed',Arial,sans-serif}
.page-main .wp-block-post-content .has-background{background-color:var(--flyer-paper)!important}
.page-main .wp-block-post-content .wp-block-columns{gap:32px}
.page-main .wp-block-post-content img{max-height:650px;object-fit:contain}
.post-summary{border-bottom:1px solid var(--flyer-line);padding:35px 0}
.post-summary h2{font-size:2rem}
.wp-block-query-pagination{padding-top:35px}
/* Supplemental flyer content sits after the unchanged WordPress home-page copy. */
.additions-experience .experience-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.additions-dates{background:var(--flyer-navy);color:#fff}
.additions-dates h2,.additions-dates h3,.additions-dates p{color:#fff}
.additions-dates .event-row{border-color:#66708a}
.additions-dates .event-time,.additions-dates .event-what p{color:#dfdfdf}
@media(max-width:781px){.additions-experience .experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.additions-experience .experience-grid{grid-template-columns:1fr}}
/* Preserve the existing contact-form plugin; match its fields to the flyer. */
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container textarea{border:1px solid var(--flyer-line)!important;border-radius:0!important;background:var(--flyer-paper)!important;color:var(--flyer-navy)!important;padding:12px!important}
.wpforms-container button[type=submit]{background:var(--flyer-navy)!important;color:var(--flyer-cream)!important;border-radius:0!important;padding:14px 24px!important}
.editor-styles-wrapper .hero-portrait img{position:static;min-height:600px;object-fit:cover}
@media(min-width:1400px){.hero-copy{padding-top:80px;padding-bottom:80px}}
@media(max-width:1100px){.election-inner,.localities-strip{margin-left:36px!important;margin-right:36px!important}.hero-copy{padding-top:55px;padding-bottom:50px}.candidate-name strong{font-size:clamp(4rem,9.5vw,7rem)}.hero-statement{margin-top:30px!important}.topics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{gap:40px}.dates-grid{gap:40px}.main-nav .wp-block-navigation__container{gap:20px}.experience-grid{gap:18px}}
@media(max-width:781px){.hero-grid{grid-template-columns:1fr 1fr}.hero-copy{padding:40px 24px}.candidate-name{font-size:1.6rem}.candidate-name strong{font-size:clamp(3.7rem,9vw,5.7rem)}.hero-copy .eyebrow{font-size:.6rem;letter-spacing:.1em}.candidate-role{font-size:.8rem}.hero-statement{font-size:2rem}.hero-intro{font-size:.9rem}.hero-copy .wp-block-buttons{gap:8px}.hero-copy .wp-block-button__link{padding:12px 14px;font-size:.8rem}.section-shell{padding:60px 24px}.election-inner{gap:20px;margin:0 24px!important}.election-date{font-size:2rem}.election-label{padding-left:20px;font-size:.85rem}.election-link{display:none}.localities-strip{margin:0 24px!important;grid-template-columns:1fr;gap:12px;padding:25px 0}.section-heading{display:block}.section-link{margin-top:20px!important}.about-grid{grid-template-columns:1fr;gap:32px;padding-top:0}.conversation-photo img{aspect-ratio:1.7}.about-copy h2 br{display:none}.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.dates-grid{grid-template-columns:1fr;gap:24px;padding-top:45px}.dates-intro h2 br{display:none}.dates-intro p{max-width:none}.quote-section{padding-top:10px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-copy h2 br{display:none}.contact-email{font-size:1rem}.footer-inner{gap:30px}.footer-links{max-width:250px}.page-main .wp-block-post-content .wp-block-columns{gap:24px}.wp-block-post-title{font-size:2.7rem!important}}
@media(max-width:599px){.flyer-header{padding:18px 24px}.header-inner{gap:20px}.brand{font-size:.8rem}.brand strong{font-size:1.7rem}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:42px 24px 34px}.candidate-name{font-size:2rem}.candidate-name strong{font-size:clamp(4.9rem,18vw,7rem)}.candidate-role{font-size:.95rem}.hero-copy .eyebrow{font-size:.68rem;letter-spacing:.12em;margin-bottom:24px!important}.hero-statement{font-size:2.4rem;margin-top:26px!important}.hero-statement br{display:none}.hero-intro{font-size:.95rem;max-width:none;margin-bottom:24px!important}.hero-visual{height:400px}.hero-portrait img{object-position:50% 28%}.portrait-caption{padding:14px 24px;font-size:.85rem}.hero-copy .wp-block-button__link{font-size:.85rem;padding:14px 18px}.election-inner{padding:22px 0;gap:18px}.election-date{font-size:1.9rem}.election-label{font-size:.75rem;padding-left:18px}.topics-grid{grid-template-columns:1fr}.topic-card{padding:24px;position:relative}.topic-number{position:absolute;right:24px;top:24px;font-size:1.5rem}.topic-card h3{padding-right:30px;font-size:1.35rem}.topic-card p:not(.topic-number){font-size:.95rem}.topic-card p{margin-bottom:14px!important}.topic-card .text-link{padding-top:5px}.section-heading{margin-bottom:28px}.event-row{grid-template-columns:110px 1fr;gap:20px;padding:20px 0}.event-date{font-size:1.2rem}.event-what h3{font-size:1rem}.event-what p{font-size:.8rem}.experience-grid{grid-template-columns:1fr;gap:20px}.experience-date{margin-bottom:12px!important}.experience-item h3{font-size:1.1rem}.experience-item p:not(.experience-date){font-size:.9rem}.experience-section .text-link{margin-top:10px!important}.footer-inner{display:block}.footer-navigation{text-align:left;margin-top:28px!important}.footer-links{max-width:none}.flyer-footer{padding:35px 24px}.quote-section blockquote p{font-size:1.3rem}.page-main>.wp-block-post-title{margin-bottom:30px}.editor-styles-wrapper .hero-portrait img{min-height:0;max-height:400px}}
.dates-grid>*,.event-row>*{min-width:0}
.hero-band,.about-band{background:var(--flyer-cream);margin:0!important}
.hero-band .hero-grid{background:var(--flyer-cream)}
.about-band .about-grid{padding-top:80px;padding-bottom:70px}
.topics-section,.experience-section,.page-main{background:var(--wp--preset--color--white,#fff)}
.topic-card:hover{background:var(--flyer-cream)}
.experience-section{border-top:0}
.dates-band{background:var(--flyer-navy);color:#fff;margin:0!important}
.dates-band .dates-grid{border-top:0;padding-top:70px;padding-bottom:70px}
.dates-band h2,.dates-band h3,.dates-band a{color:#fff!important}
.dates-band .event-time,.dates-band .event-what p{color:#dfdfdf}
.dates-band .event-row{border-color:#66708a}
.quote-band{background:var(--flyer-cream);margin:0!important}
.quote-band .quote-section{padding-top:65px;padding-bottom:65px}
.contact-band{background:#fff;color:var(--flyer-navy)}
.contact-band h2,.contact-band a{color:var(--flyer-navy)!important}
.contact-band .eyebrow,.contact-band .contact-address{color:var(--flyer-muted)}
.flyer-footer{background:var(--flyer-navy);color:#fff}
.flyer-footer a{color:#fff!important}
.flyer-footer .footer-tagline{color:#d8dbe1}
.campaign-signoff strong,.portrait-caption strong{display:inline-block;border-bottom:2px solid currentColor;padding-bottom:.32em}
.portrait-caption{color:#fff;font-family:'Flyer Condensed',Arial,sans-serif;font-size:1.3rem;padding:18px 28px 22px;line-height:1.4}
.footer-signoff{color:#fff;font-family:'Flyer Condensed',Arial,sans-serif;font-size:1.25rem;margin-top:24px!important}
@media(max-width:781px){.about-band .about-grid{padding-top:55px;padding-bottom:55px}.dates-band .dates-grid{padding-top:55px;padding-bottom:55px}.quote-band .quote-section{padding-top:45px;padding-bottom:45px}}
@media(max-width:599px){.portrait-caption{font-size:1.2rem;padding:14px 24px 18px}}
@media(max-width:599px){.candidate-name strong{font-size:clamp(4rem,20vw,7rem)}.event-row{grid-template-columns:110px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* White header and white lettering on navy surfaces, matching the flyer. */
.flyer-header{background:#fff;color:var(--flyer-navy);border-bottom:1px solid var(--flyer-line)}
.flyer-header a{color:var(--flyer-navy)}
.main-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--flyer-navy);color:#fff}
.main-nav .wp-block-navigation__responsive-container.is-menu-open a{color:#fff}
.election-band,.election-band a,.portrait-caption,.dates-band,.dates-band h2,.dates-band h3,.dates-band p,.dates-band a,.flyer-footer,.flyer-footer p,.flyer-footer a{color:#fff!important}
.wp-block-button__link,.wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link:hover,.wpforms-container button[type=submit]{color:#fff!important}
.wp-block-button.is-style-outline .wp-block-button__link{color:var(--flyer-navy)!important}
.wp-block-button.is-style-outline .wp-block-button__link:hover{color:#fff!important}
.wpcf7 form{max-width:680px;position:relative}
.wpcf7 label{font-weight:600;display:block}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 textarea{box-sizing:border-box;width:100%;border:1px solid var(--flyer-line);border-radius:0;background:#fff;color:var(--flyer-navy);font:inherit;padding:12px;margin-top:8px}
.wpcf7 textarea{min-height:170px;resize:vertical}
.wpcf7 input[type=submit]{background:var(--flyer-navy);color:#fff;border:0;border-radius:0;font:inherit;font-weight:700;padding:14px 24px;cursor:pointer}
.wpcf7 :focus-visible{outline:3px solid var(--flyer-navy);outline-offset:3px}
.wpcf7-not-valid-tip{font-size:.9rem;color:#a02222}
.wpcf7 form .wpcf7-response-output{margin:24px 0;padding:12px}

/* Reveal the header when scrolling up, without shifting page content. */
:root{--flyer-header-height:92px;--flyer-header-offset:0px}
html{scroll-padding-top:calc(var(--flyer-header-height) + var(--flyer-header-offset) + 20px)}
.flyer-header-shell{position:sticky;top:var(--flyer-header-offset);z-index:1000;isolation:isolate;transition:transform 220ms cubic-bezier(.22,.61,.36,1),box-shadow 220ms ease;transform:none}
.flyer-header-shell.is-scrolled{box-shadow:0 5px 22px rgba(28,41,75,.12)}
.flyer-header-shell.is-hidden{transform:translateY(calc(-100% - var(--flyer-header-offset) - 24px));box-shadow:none;pointer-events:none}
.flyer-header-shell .flyer-header{margin:0!important}
.flyer-header-shell:has(.is-menu-open){transform:none;z-index:10001}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.flyer-header-shell{transition:none}}

/* Beige framing and white reading panels on the existing subpages. */
body:has(.page-main){background:var(--flyer-cream)}
.page-main{background:var(--flyer-cream);padding-top:54px;padding-bottom:64px}
.page-main>.wp-block-post-title{margin-bottom:32px}
.page-main .wp-block-post-content{box-sizing:border-box;background:#fff;padding:40px;box-shadow:0 1px 0 rgba(28,41,75,.05)}
.page-main .wp-block-post-content .has-background{background-color:var(--flyer-cream)!important}
.page-main .wp-block-post-content blockquote{background:var(--flyer-cream);padding:24px;margin-left:0;margin-right:0}
.page-main .wpforms-container{background:var(--flyer-cream);padding:24px;box-sizing:border-box}
.page-main .wpforms-container input[type=text],.page-main .wpforms-container input[type=email],.page-main .wpforms-container textarea{background:#fff!important}
@media(max-width:781px){.page-main{padding-top:36px;padding-bottom:40px}.page-main .wp-block-post-content{padding:24px}.page-main .wpforms-container{padding:18px}}
@media(max-width:599px){.page-main .wp-block-post-content{padding:20px}.page-main .wpforms-container{padding:16px}.page-main .wpforms-container .wpforms-field{max-width:100%}}

/* Quiet interaction details: no autoplay or hidden-on-scroll content. */
::selection{background:var(--flyer-navy);color:#fff}
.main-nav .wp-block-navigation-item__content{position:relative;min-height:44px;display:inline-flex;align-items:center}
.main-nav .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 180ms ease}
.main-nav .wp-block-navigation-item__content:hover{text-decoration:none}
.main-nav .wp-block-navigation-item__content[aria-current=page]::after,.main-nav .wp-block-navigation-item__content:focus-visible::after{transform:scaleX(1)}
.wp-block-button__link,.wpforms-container button[type=submit]{transition:background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease;min-height:44px}
.topic-card{transition:background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
.topic-card:focus-within{background:var(--flyer-cream);box-shadow:0 5px 18px rgba(28,41,75,.07)}
.text-link a,.section-link a,.footer-links a,.footer-legal a{transition:text-decoration-color 180ms ease,opacity 180ms ease}
.flyer-footer a:hover{text-decoration:underline;text-decoration-thickness:1px}
.page-main .wpforms-container input,.page-main .wpforms-container textarea{transition:border-color 160ms ease,box-shadow 160ms ease}
.page-main .wpforms-container input:focus,.page-main .wpforms-container textarea:focus{border-color:var(--flyer-navy)!important;box-shadow:0 0 0 2px rgba(28,41,75,.1)!important}
.wpforms-container .wpforms-field-label{line-height:1.4!important}
.flyer-back-top{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:990;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--flyer-line);border-radius:50%;background:#fff;color:var(--flyer-navy);font:24px/1 Arial,sans-serif;box-shadow:0 3px 14px rgba(28,41,75,.12);cursor:pointer;transition:transform 180ms ease,box-shadow 180ms ease}
.flyer-back-top[hidden]{display:none}
body:has(.wp-block-navigation__responsive-container.is-menu-open) .flyer-back-top{display:none}
@media(hover:hover) and (pointer:fine){.main-nav .wp-block-navigation-item__content:hover::after{transform:scaleX(1)}.topic-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(28,41,75,.07)}.wp-block-button__link:hover,.wpforms-container button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(28,41,75,.12)}.flyer-back-top:hover{transform:translateY(-2px);box-shadow:0 5px 18px rgba(28,41,75,.16)}}
@media(max-width:599px){.flyer-back-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.main-nav .wp-block-navigation-item__content::after,.topic-card,.wp-block-button__link,.wpforms-container button[type=submit],.page-main .wpforms-container input,.page-main .wpforms-container textarea,.flyer-back-top{transition:none!important;transform:none!important}.main-nav .wp-block-navigation-item__content::after{transform:scaleX(0)!important}.main-nav .wp-block-navigation-item__content[aria-current=page]::after,.main-nav .wp-block-navigation-item__content:hover::after,.main-nav .wp-block-navigation-item__content:focus-visible::after{transform:scaleX(1)!important}}
@media print{.flyer-header-shell{position:static;transform:none!important;box-shadow:none}.flyer-back-top{display:none!important}.page-main,.page-main .wp-block-post-content{background:#fff;box-shadow:none}}

/* Open editorial layouts replace the beige page frame. */
body:has(.page-main),.page-main{background:#fff}
.page-main .wp-block-post-content{padding:0;background:#fff;box-shadow:none}
.page-main>.wp-block-post-title{border-bottom:1px solid var(--flyer-line);padding-bottom:28px}
.editorial-main{margin:0!important;background:#fff}
.editorial-main .wp-block-post-content>*{margin-block-start:0!important}
.editorial-shell{max-width:1200px;margin:0 auto;padding:64px 36px}
.editorial-hero{background:var(--flyer-cream)}
.editorial-hero h1{font-family:'Flyer Condensed',Arial,sans-serif;font-size:clamp(3.7rem,7vw,6.4rem);font-weight:800;letter-spacing:-.025em;line-height:1.02;margin:0 0 24px}
.editorial-lead{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.4;margin:0}
.topics-hero-grid{display:grid;grid-template-columns:1fr 260px;gap:48px;align-items:center}
.topics-hero-count{font-family:'Flyer Condensed',Arial,sans-serif;font-size:9rem;font-weight:800;line-height:1;margin:0!important;border-left:1px solid var(--flyer-line);padding-left:48px;color:var(--flyer-navy)}
.topics-hero-count span{display:block;font:600 .8rem/1.4 Arial,sans-serif;letter-spacing:.02em;margin-top:12px;max-width:140px}
.editorial-introduction{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.editorial-prose{font-size:1.05rem;line-height:1.9;min-width:0}
.editorial-prose p:first-child{margin-top:0}
.editorial-prose p:last-child{margin-bottom:0}
.topic-jumpnav{background:var(--flyer-paper);padding:28px}
.topic-jumpnav ol{list-style:none;padding:0;margin:0}
.topic-jumpnav li+li{border-top:1px solid var(--flyer-line)}
.topic-jumpnav a{display:grid;grid-template-columns:30px 1fr 20px;gap:12px;align-items:center;min-height:48px;padding:10px 0;text-decoration:none;font-weight:600;font-size:.9rem}
.topic-jumpnav a span:first-child{font-family:'Flyer Condensed',Arial,sans-serif;font-weight:700;font-size:1.1rem;color:var(--flyer-muted)}
.topic-jumpnav a:hover{text-decoration:underline;text-decoration-thickness:1px}
.editorial-topic{border-top:1px solid var(--flyer-line)}
.editorial-topic:nth-of-type(even){background:var(--flyer-paper)}
.editorial-topic-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:72px}
.editorial-number{font-family:'Flyer Condensed',Arial,sans-serif;color:var(--flyer-muted);font-size:2rem;font-weight:700;line-height:1;margin:0 0 20px}
.editorial-topic h2{font-size:clamp(1.9rem,2.6vw,2.7rem);line-height:1.13;letter-spacing:-.025em;margin:0}
.about-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:0;padding-bottom:0}
.about-hero-copy{padding:60px 0}
.about-hero-copy>p:last-child{max-width:520px;line-height:1.7;margin:26px 0 0}
.about-hero-photo{margin:0!important;align-self:stretch}
.about-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;max-height:600px}
.biography-section{display:grid;grid-template-columns:300px minmax(0,1fr);gap:72px}
.biography-heading h2{font-size:clamp(2rem,3vw,3rem)}
.biography-timeline{position:relative;border-left:1px solid var(--flyer-line);padding-left:32px}
.timeline-entry{position:relative;padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--flyer-line)}
.timeline-entry:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.timeline-entry::before{content:"";position:absolute;left:-38px;top:9px;width:11px;height:11px;border:2px solid var(--flyer-navy);border-radius:50%;background:#fff}
.timeline-date{font-family:'Flyer Condensed',Arial,sans-serif;color:var(--flyer-navy);font-size:1.55rem;font-weight:700;line-height:1.2;margin:0 0 10px}
.timeline-detail p{line-height:1.9;margin:0}
.editorial-cta{background:var(--flyer-navy);color:#fff}
.editorial-cta .editorial-shell{padding-top:52px;padding-bottom:52px}
.editorial-cta h2,.editorial-cta a{color:#fff}
.editorial-cta h2{font-size:clamp(2rem,3.5vw,3.2rem);max-width:800px}
.editorial-button{display:inline-flex;gap:24px;align-items:center;min-height:48px;border:1px solid #fff;padding:12px 20px;text-decoration:none;font-weight:600;transition:background-color 180ms ease}
.editorial-button:hover{background:rgba(255,255,255,.1);text-decoration:none}
.editorial-reading{max-width:850px}
@media(max-width:900px){.editorial-introduction,.editorial-topic-grid,.biography-section{gap:36px}.editorial-topic-grid,.biography-section{grid-template-columns:230px minmax(0,1fr)}.about-hero-grid{gap:36px}}
@media(max-width:781px){.editorial-shell{padding:44px 24px}.topics-hero-grid{grid-template-columns:1fr 140px;gap:24px}.topics-hero-count{font-size:6rem;padding-left:24px}.editorial-introduction,.editorial-topic-grid,.biography-section{grid-template-columns:1fr;gap:28px}.editorial-topic-label{display:grid;grid-template-columns:42px 1fr;gap:16px}.editorial-number{margin:0}.about-hero-grid{grid-template-columns:1fr 1fr;padding-top:0;padding-bottom:0}.about-hero-copy{padding:44px 0}.about-hero h1{font-size:3.6rem}.biography-heading h2{max-width:450px}.editorial-prose{font-size:1rem}}
@media(max-width:599px){.topics-hero-grid{grid-template-columns:1fr}.topics-hero-count{border-left:0;border-top:1px solid var(--flyer-line);padding:20px 0 0;font-size:3rem;display:flex;align-items:center;gap:20px}.topics-hero-count span{margin:0;max-width:none}.about-hero-grid{grid-template-columns:1fr;gap:0}.about-hero-copy{padding-bottom:36px}.about-hero-photo img{height:360px;object-position:50% 24%}.topic-jumpnav{padding:22px}.biography-timeline{padding-left:24px}.timeline-entry::before{left:-30px}.page-main .wp-block-post-content{padding:0}.editorial-hero h1{font-size:3.7rem}}
@media(prefers-reduced-motion:reduce){.editorial-button{transition:none}}

/* Stronger field boundaries and consistent keyboard focus. */
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container textarea{border-color:#7e858e!important}
.editorial-main a:focus-visible{outline:3px solid currentColor;outline-offset:5px}

/* Contact: a compact introduction and an open, balanced two-column layout. */
.contact-page-hero .editorial-shell{padding-top:48px;padding-bottom:48px}
.contact-page-hero h1{font-size:clamp(2.8rem,5.5vw,5rem);margin-bottom:18px}
.contact-page-lead{max-width:760px;font-size:1.15rem;line-height:1.7}
.contact-page-lead p{margin:0}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:88px;align-items:start}
.contact-page-grid>section{min-width:0}
.contact-page-details h2{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.2;margin:0 0 32px}
.contact-page-address{line-height:1.9}
.contact-page-address p{margin:0 0 24px}
.contact-page-address a{overflow-wrap:anywhere;text-underline-offset:4px}
.contact-page-form{border-top:3px solid var(--flyer-navy);padding-top:24px}
.contact-page-form h2{font-size:1.7rem;line-height:1.25;margin:0 0 24px}
.contact-page-form .wpforms-container{background:transparent!important;padding:0!important;margin:0!important}
.contact-page-form .wpforms-field{padding-top:0!important;padding-bottom:22px!important;max-width:100%}
.contact-page-form input[type=text],.contact-page-form input[type=email],.contact-page-form textarea{background:var(--flyer-paper)!important;max-width:100%!important;width:100%!important;border:1px solid #7e858e!important;border-radius:3px!important;color:var(--flyer-navy)!important}
.contact-page-form textarea{min-height:180px!important;resize:vertical}
.contact-page-form .wpforms-field-label{font-size:1rem!important;font-weight:600!important;margin-bottom:8px!important}
.contact-page-form .wpforms-field-description{font-size:.9rem!important;line-height:1.6!important}
.contact-page-form button[type=submit]{background:var(--flyer-navy)!important;color:#fff!important;border-radius:3px!important;padding:14px 24px!important;height:auto!important}
.contact-page-form input:focus,.contact-page-form textarea:focus{outline:3px solid var(--flyer-navy)!important;outline-offset:3px}
@media(max-width:900px){.contact-page-grid{gap:44px}}
@media(max-width:781px){.contact-page-grid{grid-template-columns:1fr;gap:36px}.contact-page-details h2 br{display:none}.contact-page-hero .editorial-shell{padding-top:36px;padding-bottom:36px}}

/* Shared typography and rhythm for campaign and document pages. */
.editorial-hero h1{font-size:clamp(2.8rem,5.5vw,5rem);line-height:1.06;letter-spacing:-.025em}
.document-hero .editorial-shell{padding-top:56px;padding-bottom:56px}
.document-hero h1{margin:0;max-width:100%;hyphens:auto}
.document-reading{max-width:1200px}
.document-reading .wp-block-post-content{max-width:780px;margin:0 auto!important;font-size:1.05rem;line-height:1.9}
.document-reading h2{font-family:'Flyer Condensed',Arial,sans-serif;font-size:clamp(1.6rem,2.5vw,2.15rem);line-height:1.2;letter-spacing:-.015em;margin:40px 0 16px}
.document-reading h3{font-size:1.25rem;line-height:1.35;margin:28px 0 12px}
.document-reading .wp-block-post-content>h2:first-child{margin-top:0}
.document-reading p{margin:0 0 22px}
.document-reading ul,.document-reading ol{padding-left:24px}
.document-reading li+li{margin-top:8px}
.document-reading a{overflow-wrap:anywhere}
.contact-page-form input[type=text],.contact-page-form input[type=email],.contact-page-form textarea,.contact-page-form button[type=submit]{border-radius:0!important}
.contact-page-hero .editorial-shell{padding-top:56px;padding-bottom:56px}
@media(max-width:781px){.document-hero .editorial-shell,.contact-page-hero .editorial-shell{padding-top:36px;padding-bottom:36px}}

/* The live homepage remains the source of all copy; the theme changes presentation only. */
body.home:has(.flyer-home-main){background:#fff}
.flyer-home-main{display:block;margin:0!important;padding:0!important}
.flyer-home-content{width:100%;max-width:none!important;margin:0!important;padding:0 0 64px!important}
.flyer-home-content>*{max-width:1128px;margin-left:auto!important;margin-right:auto!important}
.flyer-home-content>.wp-block-columns:first-child{max-width:1200px;display:grid!important;grid-template-columns:1.15fr 1fr;align-items:stretch!important;gap:0!important;background:var(--flyer-cream);margin:0 auto 52px!important;min-height:590px}
.flyer-home-content>.wp-block-columns:first-child>.wp-block-column{min-width:0;flex-basis:auto!important;width:auto!important;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,76px) 36px}
.flyer-home-content>.wp-block-columns:first-child>.wp-block-column:first-child>*{text-align:left!important}
.flyer-home-content>.wp-block-columns:first-child h2{font-family:'Flyer Condensed','Arial Narrow',Arial,sans-serif;font-size:clamp(3rem,6vw,5.4rem);font-weight:800;letter-spacing:-.025em;line-height:1.02;margin:0 0 16px}
.flyer-home-content>.wp-block-columns:first-child h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px}
.flyer-home-content>.wp-block-columns:first-child p{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7;max-width:540px;margin:0 0 20px}
.flyer-home-content>.wp-block-columns:first-child .wp-block-buttons{justify-content:flex-start!important;gap:12px}
.flyer-home-content>.wp-block-columns:first-child .wp-block-image{width:100%;height:100%;margin:0!important}
.flyer-home-content>.wp-block-columns:first-child .wp-block-image img{display:block;width:100%!important;height:100%!important;min-height:590px;object-fit:cover;object-position:50% 24%}
.flyer-home-content>.wp-block-columns:has(.wp-block-group.is-style-section-2){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1128px;gap:0!important;margin:0 auto 40px!important;border-top:1px solid var(--flyer-line);border-left:1px solid var(--flyer-line)}
.flyer-home-content>.wp-block-columns:has(.wp-block-group.is-style-section-2)>.wp-block-column{width:auto!important;min-width:0;flex-basis:auto!important;margin:0!important;border-right:1px solid var(--flyer-line);border-bottom:1px solid var(--flyer-line)}
.flyer-home-content .wp-block-group.is-style-section-2{height:100%;padding:24px!important;background:var(--flyer-cream)!important}
.flyer-home-content .wp-block-group.is-style-section-2 h3{font-family:'Flyer Condensed','Arial Narrow',Arial,sans-serif;font-size:1.45rem;line-height:1.2;margin:0 0 14px}
.flyer-home-content .wp-block-group.is-style-section-2 p{font-size:.95rem;line-height:1.65}
.flyer-home-content>.wp-block-columns:not(:first-child){max-width:1128px;gap:28px!important;margin-top:0!important;margin-bottom:32px!important}
.flyer-home-content>.wp-block-columns:not(:first-child)>.wp-block-column{min-width:0}
.flyer-home-content h2:not(:first-child),.flyer-home-content h3{font-family:'Flyer Condensed','Arial Narrow',Arial,sans-serif;color:var(--flyer-navy)}
.flyer-home-content .has-accent-5-background-color{background:var(--flyer-cream)!important}
.flyer-home-content>.wp-block-group.has-accent-5-background-color{max-width:none;padding:56px max(36px,calc((100% - 1128px)/2))!important;margin:42px 0!important}
.flyer-home-content>.wp-block-group.has-accent-5-background-color>*{max-width:1128px;margin-left:auto!important;margin-right:auto!important}
.flyer-home-content figure img{max-width:100%;height:auto}
.flyer-home-content p,.flyer-home-content li{line-height:1.8}
.flyer-home-content a{color:var(--flyer-navy);text-underline-offset:.25em}
@media(max-width:781px){.flyer-home-content>.wp-block-columns:first-child{grid-template-columns:1fr;min-height:0}.flyer-home-content>.wp-block-columns:first-child>.wp-block-column{padding:36px 24px}.flyer-home-content>.wp-block-columns:first-child>.wp-block-column:first-child{order:0}.flyer-home-content>.wp-block-columns:first-child>.wp-block-column:last-child{order:1;padding:0}.flyer-home-content>.wp-block-columns:first-child .wp-block-image img{height:420px!important;min-height:0}.flyer-home-content>.wp-block-columns:has(.wp-block-group.is-style-section-2){grid-template-columns:repeat(2,minmax(0,1fr));margin-left:20px!important;margin-right:20px!important}.flyer-home-content>.wp-block-columns:not(:first-child){margin-left:24px!important;margin-right:24px!important}.flyer-home-content>.wp-block-group.has-accent-5-background-color{padding:36px 24px!important}}
@media(max-width:520px){.flyer-home-content>.wp-block-columns:first-child h2{font-size:3rem}.flyer-home-content>.wp-block-columns:has(.wp-block-group.is-style-section-2){grid-template-columns:1fr}.flyer-home-content>.wp-block-columns:first-child .wp-block-image img{height:360px!important}}

/* Version 2.1: restore the flyer composition with complete saved homepage copy. */
.flyer-preserved-home{max-width:none!important;width:100%;padding:0!important;margin:0!important}
.tbf-home-layout>*{margin-block-start:0!important}
.tbf-home-layout .candidate-name{text-transform:uppercase}
.tbf-home-layout .hero-copy h4{font-size:1rem;font-weight:400;letter-spacing:0;margin:0!important;line-height:1.4}
.tbf-home-layout .hero-copy>p:not(.eyebrow):not(.hero-statement){font-size:1rem;line-height:1.65;max-width:420px;margin:0 0 28px}
.tbf-home-layout .hero-copy .wp-block-buttons{margin-top:26px;justify-content:flex-start!important}
.tbf-home-layout .hero-portrait img{width:100%!important;height:100%!important}
.tbf-home-layout .topic-card .wp-block-group{margin:0!important;padding:0!important;background:transparent!important}
.tbf-home-layout .topic-card p{font-size:.9rem;line-height:1.7}
.tbf-home-layout .topic-card h3{font-family:'Flyer Condensed',Arial,sans-serif;font-size:1.35rem}
.preserved-about .wp-block-column,.preserved-contact .wp-block-column{width:auto!important;flex-basis:auto!important;min-width:0}
.preserved-about img{display:block;width:100%;height:auto;max-height:580px;object-fit:contain}
.preserved-about h2,.preserved-engagement h2{font-size:clamp(2rem,3.2vw,3rem)}
.preserved-about p,.preserved-engagement p{font-size:1rem;line-height:1.8}
.preserved-engagement .preserved-photo img{display:block;width:100%;height:auto}
.preserved-home-section{font-size:1rem;line-height:1.8}
.preserved-home-section img{max-width:100%;height:auto}
.preserved-contact h2{font-size:clamp(2rem,3.3vw,3rem)}
.preserved-contact p{font-size:1rem;line-height:1.8}
.tbf-home-layout .dates-band{max-width:none}
.editorial-cta{background:var(--flyer-cream);color:var(--flyer-navy);border-bottom:1px solid var(--flyer-line)}
.editorial-cta .editorial-shell{padding-top:30px;padding-bottom:30px}
.editorial-cta h2,.editorial-cta a{color:var(--flyer-navy)}
.editorial-cta h2{font-size:clamp(1.5rem,2.3vw,2.1rem);margin-bottom:12px;max-width:none}
.editorial-cta .eyebrow{margin-bottom:12px!important;font-size:.65rem}
.editorial-cta p:not(.eyebrow){margin:0 0 16px;font-size:.95rem}
.editorial-cta .editorial-button{min-height:40px;padding:9px 16px;border-color:var(--flyer-navy);font-size:.9rem}
.editorial-cta .editorial-button:hover{background:#fff}
.flyer-footer{padding:26px 36px;border-top:1px solid #66708a}
.footer-brand{font-size:.85rem}
.footer-brand strong{font-size:1.9rem}
.footer-tagline{font-size:.75rem;margin-top:8px!important}
.footer-links,.footer-legal{font-size:.75rem;line-height:1.8;margin-bottom:8px!important}
.footer-signoff{font-size:1rem;margin-top:14px!important}
@media(max-width:781px){.tbf-home-layout .hero-copy{padding:40px 24px}.preserved-about,.preserved-engagement{gap:32px}.tbf-home-layout .hero-copy>p:not(.eyebrow):not(.hero-statement){font-size:.95rem}}
@media(max-width:599px){.flyer-footer{padding:24px}.footer-navigation{margin-top:20px!important}.footer-brand strong{font-size:1.7rem}.editorial-cta .editorial-shell{padding-top:26px;padding-bottom:26px}.tbf-home-layout .hero-copy .hero-statement{font-size:2.4rem}}
