/* IRA Site 2.0. Layout dimensions are native Elementor controls, never locked here. */
.ira2-site {--ira2-ink:#111;--ira2-line:#dedede;--ira2-font:"Helvetica Neue",Helvetica,Arial,sans-serif;--wd-primary-color:#111;--wd-title-color:#111;--wd-text-color:#454545;--wd-main-bgcolor:#fff;margin:0;background:#fff;color:#111;font-family:var(--ira2-font);-webkit-font-smoothing:antialiased;}
:where(.ira2-site *) {box-sizing:border-box;}
:where(.ira2-site img) {max-width:100%;height:auto;}
:where(.ira2-site h1,.ira2-site h2,.ira2-site h3,.ira2-site p) {margin:0;}
:where(.ira2-site h1,.ira2-site h2,.ira2-site h3) {font-family:var(--ira2-font);font-weight:500;letter-spacing:-.045em;line-height:1.08;color:#111;}
:where(.ira2-site p) {font-size:18px;line-height:1.6;color:#454545;}
:where(.ira2-site a) {color:inherit;text-decoration:none;}
:where(.ira2-site button,.ira2-site input,.ira2-site textarea,.ira2-site select) {font:inherit;}
:where(.ira2-site button,.ira2-site a,.ira2-site summary) {-webkit-tap-highlight-color:transparent;}
:where(.ira2-site button) {cursor:pointer;}
:where(.ira2-site a:focus-visible,.ira2-site button:focus-visible,.ira2-site summary:focus-visible,.ira2-site input:focus-visible,.ira2-site textarea:focus-visible,.ira2-site select:focus-visible) {outline:2px solid #111;outline-offset:5px;}
.ira2-site [hidden] {display:none!important;}
.ira2-site :where(.e-con) {min-width:0;flex-shrink:1;}
.ira2-site :where(.elementor-widget) {min-width:0;}
.ira2-site :where(.elementor-widget-heading .elementor-heading-title) {overflow-wrap:break-word;}
.ira2-site :where(.elementor-widget-text-editor p:last-child) {margin-bottom:0;}
.ira2-site :where(.elementor-widget-image img) {vertical-align:middle;}
:where(.ira2-site .elementor-button) {min-height:54px;border-radius:0;transition:background .2s,color .2s,transform .2s;}
.ira2-site :where(.elementor-button):hover {transform:translateY(-2px);}
.ira2-site :where(.elementor-button-content-wrapper) {gap:16px;align-items:center;}
.ira2-site .ira2-header-shell {background:#fff;border-bottom:1px solid #e4e4e4;position:relative;z-index:20;}
:where(.ira2-site .ira2-header-shell .elementor-widget-ira2_navigation) {width:auto;flex:1;}
.ira2-site .ira2-brand {min-width:115px;}
.ira2-site .ira2-footer-shell {border-top:1px solid #dedede;background:#fff;}
:where(.ira2-site .ira2-header,.ira2-site .ira2-section) {max-width:1920px;margin-inline:auto;}
:where(.ira2-site .ira2-small p,.ira2-site .ira2-copyright p) {font-size:13px;}
.ira2-skip {position:fixed;z-index:99999;left:16px;top:-120px;padding:16px;background:#111;color:#fff;}
.ira2-skip:focus {top:16px;color:#fff;outline-color:#fff;}
#ira2-main:focus {outline:none;}
:where(.ira2-logo) {display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;}
:where(.ira2-logo img) {width:130px;height:auto;max-height:90px;object-fit:contain;}
:where(.ira2-wordmark) {font-size:46px;letter-spacing:-3px;font-weight:500;line-height:.95;}
:where(.ira2-wordmark-caption) {font-size:9px;letter-spacing:.15em;line-height:1.5;margin-top:5px;}
:where(.ira2-nav-wrap,.ira2-desktop-nav ul) {display:flex;align-items:center;justify-content:flex-end;gap:30px;}
:where(.ira2-desktop-nav ul,.ira2-mobile-menu ul,.ira2-footer-nav ul) {list-style:none;margin:0;padding:0;}
:where(.ira2-desktop-nav a) {font-size:14px;font-weight:500;white-space:nowrap;}
:where(.ira2-desktop-nav a,.ira2-footer-nav a) {text-underline-offset:6px;text-decoration-thickness:1px;}
:where(.ira2-desktop-nav a:hover,.ira2-footer-nav a:hover) {text-decoration:underline;}
:where(.ira2-action,.ira2-menu-toggle,.ira2-film-button) {appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid #111;border-radius:0;background:#111;color:#fff;min-height:54px;padding:14px 24px;font-size:15px;line-height:1.35;font-weight:500;text-align:center;text-transform:none;box-shadow:none;cursor:pointer;transition:background .2s,color .2s;}
:where(.ira2-action:hover) {background:#fff;color:#111;}
:where(.ira2-action:disabled) {cursor:wait;opacity:.55;}
:where(.ira2-action:focus-visible) {outline-offset:4px;}
:where(.ira2-menu-toggle) {display:none;background:#fff;color:#111;min-height:46px;border:0;padding:8px 0 8px 16px;}
:where(.ira2-mobile-menu) {position:fixed;inset:0 0 0 auto;width:min(560px,100%);height:100%;max-width:100%;max-height:100%;padding:24px clamp(24px,5vw,64px);margin:0;border:0;background:#fff;color:#111;overflow-y:auto;}
:where(.ira2-mobile-menu::backdrop,.ira2-film-dialog::backdrop) {background:rgb(0 0 0 / .55);}
:where(.ira2-menu-close) {display:block;margin:0 0 60px auto;background:#fff;color:#111;border:0;padding:12px 0 12px 12px;font-size:15px;min-height:44px;}
:where(.ira2-mobile-menu li) {border-bottom:1px solid #dedede;}
:where(.ira2-mobile-menu nav a) {display:block;padding:22px 0;font-size:clamp(24px,5vw,38px);line-height:1.15;}
:where(.ira2-mobile-menu .ira2-action) {margin-top:36px;width:100%;}
body.ira2-modal-open {overflow:hidden;}
:where(.ira2-footer-nav ul) {display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;}
:where(.ira2-footer-nav a) {font-size:17px;line-height:1.5;display:inline-block;min-height:30px;}
:where(.ira2-film-button) {background:#fff;color:#111;font-size:14px;}
:where(.ira2-film-dialog) {background:#111;border:0;padding:46px 12px 12px;max-width:min(94vw,1440px);width:100%;}
:where(.ira2-film-dialog video) {display:block;width:100%;max-height:78vh;}
:where(.ira2-film-dialog [data-ira2-close]) {position:absolute;right:14px;top:2px;background:#111;color:#fff;border:0;font-size:32px;line-height:1;width:44px;height:44px;}
:where(.ira2-film-dialog [data-ira2-close]:focus-visible) {outline-color:#fff;}
:where(.ira2-query-grid) {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 32px;}
:where(.ira2-query-image) {display:block;overflow:hidden;background:#fff;}
:where(.ira2-query-card img) {display:block;width:100%;height:400px;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1);}
:where(.ira2-query-card a:hover img) {transform:scale(1.025);}
:where(.ira2-query-card h3) {font-size:30px;line-height:1.12;font-weight:500;margin-top:18px;letter-spacing:-.035em;}
:where(.ira2-query-card p) {font-size:16px;line-height:1.65;margin-top:14px;}
:where(.ira2-query-card .ira2-kicker) {font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:22px;}
:where(.ira2-text-link) {display:inline-flex;align-items:center;gap:12px;margin-top:18px;font-size:15px;text-underline-offset:5px;min-height:36px;}
:where(.ira2-text-link:hover) {text-decoration:underline;}
:where(.ira2-filters) {display:flex;flex-wrap:wrap;gap:12px 26px;margin-bottom:44px;}
:where(.ira2-filters a) {min-height:44px;display:inline-flex;align-items:center;font-size:14px;border-bottom:1px solid transparent;color:#555;}
:where(.ira2-filters a[aria-current=true],.ira2-filters a:hover) {border-color:#111;color:#111;}
:where(.ira2-pagination ul) {list-style:none;display:flex;gap:10px;margin:48px 0 0;padding:0;flex-wrap:wrap;}
:where(.ira2-pagination a,.ira2-pagination .current) {min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ddd;padding:8px;}
:where(.ira2-pagination .current) {background:#111;color:#fff;border-color:#111;}
:where(.ira2-faq-list details) {border-top:1px solid #d6d6d6;}
:where(.ira2-faq-list details:last-child) {border-bottom:1px solid #d6d6d6;}
:where(.ira2-faq-list summary) {display:flex;align-items:center;justify-content:space-between;gap:30px;padding:27px 0;cursor:pointer;list-style:none;font-size:22px;line-height:1.35;letter-spacing:-.02em;color:#111;}
:where(.ira2-faq-list summary::-webkit-details-marker) {display:none;}
:where(.ira2-plus) {font-size:26px;font-weight:300;transition:transform .25s;}
:where(.ira2-faq-list details[open] .ira2-plus) {transform:rotate(45deg);}
:where(.ira2-answer) {font-size:17px;line-height:1.65;max-width:65ch;padding:0 40px 30px 0;color:#454545;}
:where(.ira2-answer p) {font-size:inherit;line-height:inherit;}
:where(.ira2-form-grid) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px;}
:where(.ira2-field) {grid-column:1/-1;}
:where(.ira2-field.ira2-half) {grid-column:auto;}
:where(.ira2-field label) {display:block;margin-bottom:10px;font-size:14px;line-height:1.5;font-weight:500;color:#111;}
:where(.ira2-field input,.ira2-field select,.ira2-field textarea) {border:1px solid #b7b7b7;border-radius:0;background:#fff;color:#111;box-shadow:none;width:100%;font-size:16px;padding:14px 12px;min-height:54px;line-height:1.5;}
:where(.ira2-field textarea) {resize:vertical;min-height:150px;}
:where(.ira2-field input::placeholder,.ira2-field textarea::placeholder) {color:#777;}
:where(.ira2-consent) {display:flex;align-items:flex-start;gap:12px;margin:26px 0;font-size:13px;line-height:1.55;color:#454545;}
:where(.ira2-consent input) {appearance:auto;width:20px;min-width:20px;height:20px;margin:1px 0 0;accent-color:#111;}
:where(.ira2-consent a,.ira2-legal-copy a) {text-decoration:underline;text-underline-offset:3px;}
:where(.ira2-form-status) {margin-top:20px;font-size:16px;line-height:1.6;}
:where(.ira2-form-status.is-error) {border-left:3px solid #111;padding-left:14px;font-weight:500;}
:where(.ira2-honeypot) {position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
:where(.ira2-contact-list) {display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
:where(.ira2-contact-list a) {font-size:22px;line-height:1.35;overflow-wrap:anywhere;text-underline-offset:6px;}
:where(.ira2-contact-list a:hover) {text-decoration:underline;}
:where(.ira2-legal-copy) {max-width:85ch;}
:where(.ira2-legal-copy h2) {font-size:32px;line-height:1.15;margin:40px 0 20px;}
:where(.ira2-legal-copy p) {margin:0 0 22px;font-size:17px;line-height:1.75;}
:where(.ira2-editor-note) {font-size:13px;padding:18px;border:1px dashed #999;margin-top:20px;}
:where(.ira2-search,.ira2-standard-content) {padding:80px max(22px,5vw);max-width:1400px;margin:auto;}
:where(.ira2-search h1,.ira2-standard-content>h1) {font-size:clamp(36px,6vw,84px);margin-bottom:40px;}
:where(.ira2-search article) {padding:30px 0;border-bottom:1px solid #ddd;}
:where(.ira2-search h2) {font-size:30px;line-height:1.2;}
:where(.ira2-standard-content p,.ira2-standard-content ul,.ira2-standard-content ol) {margin-bottom:24px;line-height:1.7;}
:where([data-ira2-zoom=yes] .elementor-widget-container) {overflow:hidden;}
:where([data-ira2-zoom=yes] img) {transition:transform .75s cubic-bezier(.2,.65,.3,1);}
:where([data-ira2-zoom=yes]:hover img) {transform:scale(1.025);}
/* Elements stay visible until JavaScript opts an off-screen element into animation. */
.ira2-anim-pending {opacity:0;transform:translateY(28px);transition:opacity var(--ira2-duration,700ms) ease var(--ira2-delay,0ms),transform var(--ira2-duration,700ms) cubic-bezier(.2,.65,.3,1) var(--ira2-delay,0ms);}
.ira2-anim-pending[data-ira2-motion=fade] {transform:none;}
.ira2-anim-pending[data-ira2-motion=reveal] {transform:translateY(18px);}
.ira2-anim-pending.ira2-in-view {opacity:1;transform:none;}
@media(min-width:1921px){.ira2-site .ira2-bleed,.ira2-site .ira2-hero-band,.ira2-site .ira2-interlude{max-width:1920px;margin:auto;}}
@media(max-width:1100px){.ira2-desktop-nav,.ira2-nav-wrap>.ira2-action{display:none;}.ira2-menu-toggle{display:inline-flex;}.ira2-query-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.ira2-site .ira2-brand{min-width:100px;}.ira2-query-grid{grid-template-columns:1fr;}.ira2-query-card img{height:440px;}.ira2-query-card h3{font-size:28px;}.ira2-faq-list summary{font-size:20px;padding:24px 0;}.ira2-answer{font-size:16px;padding-right:10px;}.ira2-form-grid{grid-template-columns:1fr;}.ira2-field.ira2-half{grid-column:1/-1;}.ira2-form .ira2-action{width:100%;}.ira2-filters{gap:8px 22px;margin-bottom:28px;}.ira2-contact-list a{font-size:20px;}.ira2-film-dialog{max-width:100vw;margin:auto 0;}.ira2-footer-nav ul{gap:16px 20px;}}
@media(prefers-reduced-motion:reduce){.ira2-site *{scroll-behavior:auto!important;animation:none!important;transition:none!important;}.ira2-anim-pending{opacity:1;transform:none;}}
:where(.ira2-site .ira2-line-item) {border-top:1px solid #dedede;padding-top:20px;}
:where(.ira2-site .ira2-line-item .ira2-eyebrow) {flex:0 0 36px;width:36px;}

/* IRA / EDITORIAL 2.1. All content geometry remains editable in Elementor. */
:where(.ira2-site){--ira21-gutter:clamp(22px,4.5vw,72px);background:#fff;color:#111;}
:where(.ira2-header-shell){position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e5e5e5;}
body.admin-bar .ira2-header-shell{top:32px;}
:where(.ira21-icon){display:inline-block;vertical-align:middle;width:24px;height:24px;flex:none;}
:where(.ira2-nav-wrap){gap:34px;}
:where(.ira2-nav-cta){font-size:13px;min-height:48px;padding:14px 20px;gap:18px;}
:where(.ira2-nav-cta .ira21-icon){width:19px;height:19px;}
:where(.ira2-logo img){max-height:none;width:120px;height:auto;}
:where(.ira2-desktop-nav>ul>li){position:relative;}
:where(.ira2-desktop-nav a,.ira2-desktop-nav summary){display:flex;align-items:center;min-height:44px;gap:6px;}
:where(.ira2-desktop-nav a[aria-current=page]){text-decoration:underline;text-underline-offset:7px;}
:where(.ira21-dropdown summary){list-style:none;cursor:pointer;font-size:14px;font-weight:500;}
:where(.ira21-dropdown summary::-webkit-details-marker){display:none;}
:where(.ira21-dropdown summary .ira21-icon){width:14px;height:14px;transition:transform .2s;}
:where(.ira21-dropdown[open]>summary .ira21-icon){transform:rotate(180deg);}
:where(.ira2-desktop-nav .ira21-submenu){position:absolute;top:100%;left:-22px;min-width:270px;display:flex;flex-direction:column;gap:0;padding:12px 22px 18px;background:#fff;border:1px solid #ddd;box-shadow:0 20px 30px rgb(0 0 0 / .06);z-index:20;}
:where(.ira2-desktop-nav .ira21-submenu li){width:100%;}
:where(.ira2-desktop-nav .ira21-submenu a){font-size:14px;white-space:normal;}
:where(.ira21-mobile-top){display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:30px;}
:where(.ira21-mobile-top>span){font-size:11px;letter-spacing:.12em;}
:where(.ira21-mobile-top .ira2-menu-close){display:flex;align-items:center;gap:12px;margin:0;padding:8px 0;}
:where(.ira2-mobile-menu .ira21-dropdown summary){display:flex;justify-content:space-between;align-items:center;font-size:clamp(24px,5vw,38px);padding:22px 0;}
:where(.ira2-mobile-menu .ira21-dropdown summary .ira21-icon){width:24px;height:24px;}
:where(.ira2-mobile-menu .ira21-submenu){padding:0 0 18px 18px;}
:where(.ira2-mobile-menu .ira21-submenu li){border:0;}
:where(.ira2-mobile-menu .ira21-submenu a){font-size:19px;padding:12px 0;}
:where(.ira2-mobile-menu .ira2-action){white-space:normal;}
:where(.ira21-home-banner .ira2-image img){object-position:center;}
:where(.ira21-title .elementor-heading-title){text-wrap:balance;}
:where(.ira21-copy){max-width:62ch;}
:where(.ira21-text-link .elementor-button){display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid #111;background:#fff;color:#111;padding:8px 0;min-height:44px;border-radius:0;}
:where(.ira21-service-row){border-top:1px solid #ddd;}
:where(.ira21-note){border-left:1px solid #111;}
:where(.ira21-small .elementor-heading-title){text-wrap:pretty;}
:where(.ira21-foot-links .ira2-footer-nav ul){display:flex;flex-direction:column;gap:10px;}
:where(.ira21-foot-links .ira2-footer-nav a){font-size:15px;min-height:36px;}
:where(.ira21-footer .ira2-contact-list a){font-size:16px;}
:where(.ira21-footer-bottom){border-top:1px solid #ddd;}
:where(.ira21-legal-links .ira2-footer-nav ul){display:flex;flex-direction:row;gap:26px;flex-wrap:wrap;}
:where(.ira21-legal-links .ira2-footer-nav a){font-size:12px;}
:where(.ira21-journal-copy p){max-width:72ch;}
:where(.ira21-gallery a){display:block;cursor:zoom-in;}
.ira21-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ira21-word-mask{display:inline-block;overflow:clip;vertical-align:top;line-height:inherit;padding-bottom:.1em;margin-bottom:-.1em;}
.ira21-word{display:inline-block;will-change:auto;}
.ira21-reveal-ready .ira21-word{transition:transform var(--ira21-word-duration,700ms) cubic-bezier(.22,.65,.3,1) var(--ira21-word-delay,0ms),opacity var(--ira21-word-duration,700ms) ease var(--ira21-word-delay,0ms);}
.ira21-reveal-ready:not(.ira21-revealed) .ira21-word{transform:translateY(112%);opacity:0;}
.ira21-revealed .ira21-word{transform:none;opacity:1;}
.ira2-anim-pending[data-ira2-motion=reveal]{transform:none;clip-path:inset(0 0 12% 0);transition:clip-path var(--ira2-duration,800ms) cubic-bezier(.2,.65,.3,1) var(--ira2-delay,0ms),opacity var(--ira2-duration,800ms) ease var(--ira2-delay,0ms);}
.ira2-anim-pending.ira2-in-view[data-ira2-motion=reveal]{clip-path:inset(0);}
:where(.ira21-lightbox){position:fixed;inset:0;width:100vw;height:100dvh;max-width:100%;max-height:100%;margin:0;padding:60px 80px 30px;border:0;background:#fff;color:#111;}
:where(.ira21-lightbox[open]){display:grid;grid-template-columns:1fr;place-items:center;}
:where(.ira21-lightbox::backdrop){background:rgb(0 0 0 / .65);}
:where(.ira21-lightbox figure){margin:0;display:flex;flex-direction:column;align-items:center;gap:18px;max-width:100%;}
:where(.ira21-lightbox figure img){max-width:100%;max-height:calc(100dvh - 155px);width:auto;height:auto;object-fit:contain;}
:where(.ira21-lightbox figcaption){font-size:13px;line-height:1.5;text-align:center;max-width:70ch;}
:where(.ira21-lightbox button){display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#111;border:1px solid #ddd;padding:12px;width:48px;height:48px;cursor:pointer;}
:where(.ira21-lightbox button svg){width:24px;height:24px;}
:where(.ira21-lightbox-close){position:absolute;top:16px;right:20px;}
:where(.ira21-lightbox-prev){position:absolute;left:16px;top:50%;}
:where(.ira21-lightbox-next){position:absolute;right:16px;top:50%;}
.ira21-lightbox [hidden]{display:none;}
@media(min-width:1101px) and (max-width:1240px){.ira2-desktop-nav,.ira2-nav-wrap>.ira2-action{display:none;}.ira2-menu-toggle{display:inline-flex;}}
@media(max-width:782px){body.admin-bar .ira2-header-shell{top:46px;}}
@media(max-width:600px){body.admin-bar .ira2-header-shell{top:0;}.ira21-lightbox{padding:60px 16px 70px;}.ira21-lightbox-prev,.ira21-lightbox-next{top:auto;bottom:16px;}.ira21-lightbox figure img{max-height:calc(100dvh - 200px);}.ira21-lightbox-prev{left:calc(50% - 56px);}.ira21-lightbox-next{right:calc(50% - 56px);}}
@media(prefers-reduced-motion:reduce){.ira21-reveal-ready .ira21-word{transform:none!important;opacity:1!important;transition:none!important;}.ira2-anim-pending[data-ira2-motion=reveal]{clip-path:none;}.ira21-word-mask{overflow:visible;}}

.ira2-site .ira2-header-shell{position:sticky;top:0;z-index:100;}
body.admin-bar.ira2-site .ira2-header-shell{top:32px;}
@media(max-width:782px){body.admin-bar.ira2-site .ira2-header-shell{top:46px;}}
@media(max-width:600px){body.admin-bar.ira2-site .ira2-header-shell{top:0;}}
.ira2-site .elementor-menu-anchor{scroll-margin-top:155px;}

.ira2-site .ira2-film-button{display:inline-flex;align-items:center;gap:12px}.ira2-film-dialog [data-ira2-close] .ira21-icon{width:24px;height:24px}
