/*
Theme Name: AIUCF
Theme URI: https://aiucf.in
Author: AIUCF
Description: Website theme for the All India User Fee Contractors Federation (AIUCF). Elementor-compatible, with ready-made page templates for Home, About, Framework & Scope, Managing Committee, Join AIUCF and Contact.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 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: aiucf
Tags: one-column, custom-menu, custom-logo, editor-style, block-styles, wide-blocks
*/

:root{
  --navy:#0B2B58;
  --deep:#071C3A;
  --orange:#F58220;
  --orange-soft:#FFB877;
  --bg:#F7F6F3;
  --ink:#1E2430;
  --muted:#5A6474;
  --muted-2:#4A5464;
  --line:#E4E2DC;
  --line-2:#DCD9D1;
  --on-dark:#D5DFEE;
  --head:'Archivo',-apple-system,"Segoe UI",sans-serif;
  --body:'IBM Plex Sans',-apple-system,"Segoe UI",sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --wrap:1240px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration:none}
a:hover,a:focus{color:var(--orange)}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;letter-spacing:-0.015em;line-height:1.15;margin:0}
p{margin:0 0 1em;text-wrap:pretty}
ul{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.skip-link:focus{position:fixed;left:16px;top:16px;z-index:999;background:#fff;padding:10px 16px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.eyebrow--light{color:var(--orange-soft)}
.lede{font-size:17px;line-height:1.65;color:var(--on-dark);max-width:70ch}
.sec{padding:72px 0}
.sec--tight{padding:64px 0}
.sec--white{background:#fff}
.sec--bg{background:var(--bg)}
.sec--navy{background:var(--navy);color:#fff}
.sec--deep{background:var(--deep);color:#fff}
.sec--orange{background:var(--orange);color:#fff}
.sec--line-top{border-top:1px solid var(--line)}
.sec--line-bottom{border-bottom:1px solid var(--line)}
.sec--navy h1,.sec--navy h2,.sec--deep h2,.sec--deep h3{color:#fff}
.sec--deep p,.sec--navy p{color:var(--on-dark)}
.grid{display:grid;gap:48px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid--cards{gap:20px;grid-template-columns:repeat(auto-fit,minmax(248px,1fr))}
.grid--members{gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid--links{gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.grid--tight{gap:18px}
.align-center{align-items:center}
.align-start{align-items:start}
.h-sec{font-size:clamp(26px,3vw,38px);color:var(--navy);margin-bottom:20px}
.h-sub{font-size:clamp(24px,2.6vw,32px);color:var(--navy);margin-bottom:28px}
.body-copy{font-size:16.5px;line-height:1.72;color:var(--muted-2)}
.max-80{max-width:80ch}

.btn{display:inline-block;border:0;cursor:pointer;font-family:var(--head);font-weight:700;font-size:15px;letter-spacing:.03em;text-transform:uppercase;padding:16px 30px;border-radius:2px;transition:background .18s,color .18s,border-color .18s}
.btn--primary{background:var(--orange);color:#fff}
.btn--primary:hover{background:var(--navy);color:#fff}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:var(--deep);color:#fff}
.btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}
.btn--ghost:hover{border-color:var(--orange);color:var(--orange-soft)}
.btn--block{display:block;width:100%;text-align:center;padding:16px}
.link-cta{display:inline-block;border-bottom:2px solid var(--orange);padding:6px 0;font-family:var(--head);font-weight:700;font-size:14.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}

/* ---------- top bar + header ---------- */
.topbar{background:var(--deep);color:#C8D4E6;font-size:12.5px;letter-spacing:.04em}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;justify-content:space-between;padding-top:9px;padding-bottom:9px}
.topbar__meta{display:flex;flex-wrap:wrap;gap:8px 24px}
.topbar a,.topbar strong{color:#fff;font-weight:500}
.topbar__tag{font-family:var(--mono);color:#8FA3C0}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 14px rgba(7,28,58,.06)}
.site-header .wrap{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}
.site-logo img{height:54px;width:auto;mix-blend-mode:multiply}
.site-logo .site-title{font-family:var(--head);font-weight:800;font-size:22px;color:var(--navy)}
.nav-area{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.main-nav ul{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.main-nav a{display:block;position:relative;font-family:var(--head);font-weight:600;font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:var(--navy);padding:12px 14px}
.main-nav a:hover{color:var(--orange)}
.main-nav .current-menu-item>a::after,.main-nav .current_page_item>a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:3px;background:var(--orange);border-radius:2px}
.main-nav .sub-menu{display:none;position:absolute;background:#fff;border:1px solid var(--line);padding:8px 0;min-width:220px;flex-direction:column;z-index:60}
.main-nav li{position:relative}
.main-nav li:hover>.sub-menu{display:flex}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--navy);font-family:var(--head);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:11px 14px;cursor:pointer}
.header-cta{font-size:14px;padding:13px 22px}

/* ---------- hero ---------- */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 2px,transparent 2px 16px)}
.hero .wrap{position:relative;padding-top:88px;padding-bottom:96px}

/* photo hero */
.hero--photo{background:#071C3A center/cover no-repeat}
.hero--photo::before{background:linear-gradient(90deg,rgba(7,28,58,.94) 0%,rgba(7,28,58,.86) 42%,rgba(7,28,58,.42) 72%,rgba(7,28,58,.30) 100%)}
.hero--photo{min-height:76vh;display:flex;align-items:center}
.hero--photo .wrap{width:100%;padding-top:120px;padding-bottom:124px}
.hero--photo .hero__inner{max-width:62ch}
.hero--photo h1{text-shadow:0 2px 20px rgba(7,28,58,.45)}
.hero__rule{width:64px;height:4px;background:var(--orange);margin-bottom:26px}
.hero__stats{display:flex;flex-wrap:wrap;gap:0;margin-top:44px;border-top:1px solid rgba(255,255,255,.28)}
.hero__stats div{padding:20px 32px 0 0;margin-right:32px;border-right:1px solid rgba(255,255,255,.18)}
.hero__stats div:last-child{border-right:0;margin-right:0;padding-right:0}
.hero__stats strong{display:block;font-family:var(--head);font-weight:700;font-size:15px;letter-spacing:.02em;color:#fff;margin-bottom:4px}
.hero__stats span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-soft)}

/* full-bleed photo band */
.band{position:relative;min-height:380px;background:#071C3A center/cover no-repeat;display:flex;align-items:flex-end}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,28,58,.9) 0%,rgba(7,28,58,.45) 55%,rgba(7,28,58,.15) 100%)}
.band .wrap{position:relative;padding-top:56px;padding-bottom:56px}
.band p.eyebrow{margin-bottom:10px}
.band h2{font-size:clamp(24px,2.8vw,34px);color:#fff;max-width:30ch;margin:0}
.band .band__note{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#C8D4E6;margin-top:14px}
.hero h1{font-size:clamp(34px,4.6vw,62px);line-height:1.04;font-weight:800;letter-spacing:-.02em;margin-bottom:22px}
.hero p{font-size:17px;line-height:1.65;color:var(--on-dark);max-width:58ch;margin-bottom:32px}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.page-hero{background:var(--navy);color:#fff}
.page-hero .wrap{padding-top:64px;padding-bottom:68px}
.page-hero h1{font-size:clamp(32px,4vw,52px);line-height:1.06;font-weight:800;letter-spacing:-.02em;margin-bottom:20px}

/* ---------- placeholders ---------- */
.ph{min-height:300px;border:1px solid var(--line);background:repeating-linear-gradient(135deg,#EFEDE7 0 8px,#F7F6F3 8px 18px);display:flex;align-items:flex-end;padding:20px}
.ph span{font-family:var(--mono);font-size:12.5px;color:var(--muted);background:#fff;padding:8px 12px;border:1px solid var(--line)}
.ph--dark{min-height:320px;border-color:rgba(255,255,255,.28);background:repeating-linear-gradient(135deg,rgba(255,255,255,.09) 0 8px,rgba(255,255,255,.02) 8px 18px)}
.ph--dark span{color:#C8D4E6;background:rgba(7,28,58,.75);border:0}
.ph--short{min-height:220px}

/* ---------- lists & cards ---------- */
.numbered{display:grid;gap:10px;align-content:start}
.numbered li{display:flex;gap:14px;align-items:flex-start;background:var(--bg);border-left:3px solid var(--navy);padding:16px 18px;font-weight:500;font-size:15.5px}
.sec--white .numbered li{background:var(--bg)}
.numbered .n{font-family:var(--mono);font-size:12px;color:var(--orange);padding-top:3px}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:28px 24px;transition:box-shadow .18s,border-color .18s}
.card:hover{border-top-color:var(--orange);box-shadow:0 12px 30px rgba(7,28,58,.08)}
.card h3{font-size:19px;color:var(--navy);margin-bottom:12px}
.card p{font-size:15.5px;line-height:1.65;color:var(--muted);margin:0}
.stand{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.stand li{background:#fff;border:1px solid var(--line);padding:26px 24px;display:flex;gap:16px;align-items:flex-start}
.stand li:hover{border-color:var(--orange)}
.stand .n{font-family:var(--mono);font-size:12px;color:var(--orange);padding-top:4px}
.stand h3{font-size:18px;color:var(--navy);margin-bottom:10px}
.stand p{font-size:15.5px;line-height:1.65;color:var(--muted);margin:0}
.stand--compact li{background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 12px}
.stand--compact{gap:12px;grid-template-columns:1fr}
.stand--compact h3{font-size:16px;margin-bottom:4px}
.stand--compact p{font-size:15px;line-height:1.6}
.rows{border-top:1px solid var(--line)}
.rows li{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;padding:26px 4px;border-bottom:1px solid var(--line)}
.rows li:hover{background:var(--bg)}
.rows h3{font-size:21px;color:var(--navy)}
.rows .row-head{display:flex;gap:16px;align-items:baseline}
.rows .n{font-family:var(--mono);font-size:12px;color:var(--orange)}
.rows p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}
.panel{border:1px solid rgba(255,255,255,.22);border-left:3px solid var(--orange);padding:24px}
.panel h3{font-size:18px;color:var(--orange-soft);margin-bottom:10px}
.panel p{font-size:15.5px;line-height:1.7;color:var(--on-dark);margin:0}
.linkcard{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:140px;background:var(--bg);border:1px solid var(--line);padding:22px}
.linkcard:hover{background:#fff;border-color:var(--orange);box-shadow:0 10px 26px rgba(7,28,58,.08)}
.linkcard strong{font-family:var(--head);font-weight:700;font-size:16px;line-height:1.3;color:var(--navy)}
.linkcard em{font-family:var(--mono);font-style:normal;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}
.cta-band .wrap{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between;padding-top:64px;padding-bottom:64px}
.cta-band h2{font-size:clamp(24px,2.8vw,36px);font-weight:800;margin-bottom:14px;color:#fff}
.cta-band p{font-size:16.5px;line-height:1.65;color:#FFF3E8;margin:0;max-width:60ch}

/* ---------- committee ---------- */
.member{background:var(--bg);border:1px solid var(--line);border-top:4px solid var(--navy);padding:24px;transition:box-shadow .18s,border-color .18s,background .18s}
.member:hover{background:#fff;border-top-color:var(--orange);box-shadow:0 12px 30px rgba(7,28,58,.08)}
.member .role{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.member h3{font-size:20px;line-height:1.25;color:var(--navy);margin-bottom:8px}
.member p{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 16px}
.member .tel{font-family:var(--mono);font-size:13.5px;color:var(--ink)}
.regional{border-top:1px solid var(--line-2)}
.regional li{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;align-items:baseline;padding:22px 4px;border-bottom:1px solid var(--line-2)}
.regional li:hover{background:#fff}
.regional .zone{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.regional .role{font-family:var(--head);font-weight:600;font-size:14.5px;color:var(--muted)}
.regional .name{font-family:var(--head);font-weight:700;font-size:18px;color:var(--navy)}
.regional .org{font-size:15px;line-height:1.6;color:var(--muted)}
.regional .tel{font-family:var(--mono);font-size:13.5px;color:var(--ink)}
.regional .row-head{display:flex;gap:12px;align-items:baseline}

/* ---------- forms ---------- */
.form-box{background:var(--bg);border:1px solid var(--line);padding:32px}
.sec--bg .form-box{background:#fff}
.form-box h2{font-size:22px;color:var(--navy);margin-bottom:6px}
.form-box .form-note{font-size:14.5px;line-height:1.6;color:var(--muted);margin-bottom:24px}
.form-grid{display:grid;gap:16px}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.form-grid label{display:grid;gap:7px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}
.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #D9D6CE;background:#fff;padding:13px 14px;font-size:15px;color:var(--ink);border-radius:2px;width:100%}
.form-grid textarea{resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:var(--orange)}
.form-msg{background:var(--navy);color:#fff;padding:14px 16px;font-size:14.5px}
.contact-list{display:grid;gap:20px;align-content:start}
.contact-list .item{border-left:3px solid var(--orange);padding:4px 0 4px 20px}
.contact-list .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}
.contact-list .v{font-size:16.5px;line-height:1.7;color:var(--muted-2)}

/* ---------- default content (blog/pages) ---------- */
.entry{background:#fff;border:1px solid var(--line);padding:40px}
.entry h1{font-size:clamp(28px,3vw,40px);color:var(--navy);margin-bottom:20px}
.entry h2{font-size:26px;color:var(--navy);margin:32px 0 12px}
.entry h3{font-size:20px;color:var(--navy);margin:24px 0 10px}
.entry p,.entry li{font-size:16.5px;line-height:1.72;color:var(--muted-2)}
.entry ul,.entry ol{margin:0 0 1em 1.2em;list-style:disc}
.entry blockquote{border-left:3px solid var(--orange);margin:0 0 1em;padding-left:20px;color:var(--muted)}
.pagination{display:flex;gap:10px;padding:24px 0}

/* ---------- footer ---------- */
.site-footer{background:var(--deep);color:#B9C7DC}
.site-footer .wrap{padding-top:56px;padding-bottom:28px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:40px}
.site-footer h4{font-family:var(--head);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.site-footer p{font-size:14.5px;line-height:1.7;max-width:36ch}
.site-footer a{color:#B9C7DC}
.site-footer a:hover{color:var(--orange)}
.site-footer .footer-logo{height:64px;width:auto;background:#fff;padding:6px;margin-bottom:18px}
.footer-links{display:grid;gap:10px;font-size:15px}
.footer-contact{display:grid;gap:10px;font-size:15px;line-height:1.6}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14)}
.footer-bottom .wrap{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding-top:18px;padding-bottom:18px;font-size:13px;color:#8FA3C0}
.footer-bottom .tag{font-family:var(--mono)}

@media (max-width:860px){
  .sec{padding:56px 0}
  .hero .wrap{padding-top:64px;padding-bottom:68px}
  .nav-toggle{display:block}
  .main-nav{display:none;width:100%;order:3}
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column;gap:0;width:100%;border-top:1px solid var(--line);padding-top:8px}
  .main-nav a{padding:14px 0}
  .main-nav .current-menu-item>a::after,.main-nav .current_page_item>a::after{left:0;right:auto;width:28px}
  .main-nav .sub-menu{position:static;border:0;padding:0 0 0 16px}
  .main-nav li:hover>.sub-menu{display:block}
}

.media-slot img{width:100%;height:100%;object-fit:cover;border:1px solid var(--line)}
.sec--navy .media-slot img,.hero .media-slot img{border-color:rgba(255,255,255,.28)}

/* photo page heroes */
.page-hero--photo{background:#071C3A center/cover no-repeat;position:relative}
.page-hero--photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,58,.93) 0%,rgba(7,28,58,.84) 48%,rgba(7,28,58,.46) 100%)}
.page-hero--photo .wrap{position:relative;padding-top:92px;padding-bottom:96px}
.page-hero--photo h1{text-shadow:0 2px 18px rgba(7,28,58,.4)}
@media (max-width:860px){
  .hero--photo{min-height:0}
  .hero--photo .wrap{padding-top:72px;padding-bottom:76px}
  .hero__stats div{padding-right:20px;margin-right:20px}
  .page-hero--photo .wrap{padding-top:64px;padding-bottom:68px}
  .band{min-height:280px}
}


/* =====================================================================
   WordPress integration + override guard.
   These rules re-assert the design at a higher specificity than theme
   plugins, Elementor global styles and block defaults typically use.
   ===================================================================== */

body.wp-admin-bar-showing .site-header{top:32px}
@media screen and (max-width:782px){body.wp-admin-bar-showing .site-header{top:46px}}

body .site-logo img,
body .site-logo .custom-logo{height:54px!important;width:auto!important;max-width:none;object-fit:contain}
body .site-logo a{display:block;line-height:0}

body .wrap{max-width:var(--wrap);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;width:100%}
body .sec{padding-top:72px;padding-bottom:72px}
body .sec--tight{padding-top:64px;padding-bottom:64px}

body .site-header,
body .topbar,
body .site-footer,
body .hero,
body .page-hero,
body .band,
body .sec{font-family:var(--body);box-sizing:border-box}

body .hero h1,
body .page-hero h1,
body .band h2,
body .h-sec,
body .h-sub,
body .card h3,
body .stand h3,
body .rows h3,
body .member h3,
body .panel h3,
body .site-footer h4,
body .main-nav a,
body .btn,
body .link-cta{font-family:var(--head)!important}

body .eyebrow,
body .member .role,
body .regional .zone,
body .linkcard em,
body .band__note,
body .hero__stats span,
body .topbar__tag,
body .member .tel,
body .regional .tel{font-family:var(--mono)!important}

body .hero h1{color:#fff;font-weight:800;font-size:clamp(34px,4.6vw,62px);line-height:1.04;margin:0 0 22px}
body .page-hero h1{color:#fff;font-weight:800;margin:0 0 20px}
body .hero p,body .page-hero p.lede{color:var(--on-dark)}
body .sec--deep h2,body .sec--deep h3,body .band h2{color:#fff}
body .sec--deep p{color:var(--on-dark)}

body .btn{display:inline-block;text-decoration:none;border-radius:2px;line-height:1.2}
body .btn--primary{background:var(--orange);color:#fff}
body .btn--primary:hover{background:var(--navy);color:#fff}
body .btn--navy{background:var(--navy);color:#fff}
body .btn--ghost{background:transparent;color:#fff}

body .main-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
body .main-nav li{list-style:none;margin:0;padding:0}
body .main-nav a{text-decoration:none;color:var(--navy);text-transform:uppercase;font-size:14px;font-weight:600;padding:12px 14px;display:block}
body .main-nav a:hover{color:var(--orange)}
body .main-nav .sub-menu{display:none;position:absolute;flex-direction:column;background:#fff;border:1px solid var(--line);min-width:220px;padding:8px 0}
body .main-nav li:hover>.sub-menu{display:flex}

body .footer-links ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
body .footer-links li{list-style:none;margin:0}
body .footer-links a{text-decoration:none}

body .numbered,body .stand,body .rows,body .regional{list-style:none;margin:0;padding:0}
body .numbered li,body .stand li,body .rows li,body .regional li{list-style:none;margin:0}

body .grid{display:grid}
body .hero--photo,body .page-hero--photo,body .band{background-size:cover;background-position:center;background-repeat:no-repeat}
body .media-slot{display:block}
body .media-slot img{width:100%;height:100%;object-fit:cover;display:block}

body .form-grid input,
body .form-grid select,
body .form-grid textarea{width:100%;max-width:100%;background:#fff;border:1px solid #D9D6CE;border-radius:2px;padding:13px 14px;font-size:15px;line-height:1.4;color:var(--ink);box-shadow:none}
body .form-grid button{width:100%}

/* Elementor: keep its page wrappers from adding width or padding of their own */
body .elementor-section-wrap>.elementor-section,
body .elementor>.elementor-section{max-width:none}

.grid--solo{grid-template-columns:1fr}
.grid--solo>div{max-width:80ch}

/* homepage image pair */
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.pair figure{position:relative;margin:0;min-height:300px;background:#071C3A center/cover no-repeat;display:flex;align-items:flex-end;border:1px solid var(--line)}
.pair figure::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,28,58,.88) 0%,rgba(7,28,58,.34) 60%,rgba(7,28,58,.08) 100%)}
.pair figcaption{position:relative;padding:24px;width:100%}
.pair figcaption strong{display:block;font-family:var(--head);font-weight:700;font-size:20px;line-height:1.25;color:#fff;margin-bottom:8px}
.pair figcaption span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-soft)}
