/*
Theme Name: Now Injury Law
Theme URI: https://nowinjurylaw.com
Description: Now Injury Law brand theme, built from Brand Guide v1.5 and the September 2026 website redesign. Counsel Green, Verdict Gold, Docket Cream. Cormorant for display, Lato for everything else. Content is edited in the block editor; section layouts ship as block patterns.
Version: 1.3.1
Author: Now Injury Law
Requires at least: 6.5
Tested up to: 7.0
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: nowinjurylaw
*/

/* ==========================================================================
   Fonts (SIL OFL, shipped in the brand kit)
   ========================================================================== */
@font-face{font-family:'Cormorant';font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/cormorant-500.woff2) format('woff2')}
@font-face{font-family:'Cormorant';font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/cormorant-600.woff2) format('woff2')}
@font-face{font-family:'Lato';font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/lato-400.woff2) format('woff2')}
@font-face{font-family:'Lato';font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/lato-700.woff2) format('woff2')}

/* ==========================================================================
   Tokens — Brand Guide Exhibit D / G
   ========================================================================== */
:root{
  --green:#17352A; --green-2:#1E4536; --gold:#B99239; --gold-soft:#D3B96E;
  --black:#101312; --white:#fff; --cream:#F3EEE3; --cream-2:#EBE4D3;
  --gray:#5A6B5F; --hair:#D8D2C2; --brick:#9A3B2E; --success:#2E6B45; --warn:#B98039;
  --body-2:#41504A;
  --max:1160px;
  --serif:'Cormorant',Georgia,serif;
  --sans:'Lato',-apple-system,'Segoe UI',Arial,sans-serif;
}

/* ==========================================================================
   Base
   ========================================================================== */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);background:var(--cream);color:var(--black);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin:0}
/* neutralise core's flow-layout gap; brand spacing is explicit below */
.is-layout-flow>*+*{margin-block-start:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.serif{font-family:var(--serif)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:.01em}
h1{font-size:clamp(38px,5.6vw,66px)}
h2{font-size:clamp(29px,3.7vw,45px);color:var(--green)}
h3{font-size:22px;font-weight:600}
p{margin-bottom:14px}
p:last-child{margin-bottom:0}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.lede{font-size:18.5px;max-width:660px;color:#38443C}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100;background:var(--gold);color:var(--black);padding:12px 18px;font-weight:700;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ==========================================================================
   Buttons — Brand Guide G.2
   Gold is reserved for the phone-call action. One gold button per screen.
   ========================================================================== */
.btn,.wp-block-button__link{display:inline-block;font-family:var(--sans);font-size:13.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;text-decoration:none;padding:16px 30px;border-radius:0;transition:.2s;line-height:1.2;cursor:pointer;border:0}
.btn-call,.is-style-call .wp-block-button__link{background:var(--gold);color:var(--black)}
.btn-call:hover,.is-style-call .wp-block-button__link:hover{background:var(--gold-soft);color:var(--black)}
.btn-primary,.wp-block-button__link{background:var(--green);color:var(--cream)}
.btn-primary:hover,.wp-block-button__link:hover{background:var(--green-2);color:var(--cream)}
.bg-green .btn-primary,.bg-green .wp-block-button:not(.is-style-call):not(.is-style-ghost) .wp-block-button__link{background:var(--cream);color:var(--green)}
.bg-green .btn-primary:hover,.bg-green .wp-block-button:not(.is-style-call):not(.is-style-ghost) .wp-block-button__link:hover{background:var(--white)}
.btn-ghost,.is-style-ghost .wp-block-button__link{background:transparent;border:1px solid rgba(243,238,227,.5);color:var(--cream);padding:15px 28px}
.btn-ghost:hover,.is-style-ghost .wp-block-button__link:hover{border-color:var(--gold);color:var(--gold-soft);background:transparent}
.btn-secondary,.is-style-outline .wp-block-button__link{background:transparent;border:1px solid var(--green);color:var(--green);padding:15px 28px}
.btn-secondary:hover,.is-style-outline .wp-block-button__link:hover{background:var(--green);color:var(--cream)}
.wp-block-buttons{gap:14px}

/* ==========================================================================
   Placeholders (content still to be supplied) — remove once real media is in
   ========================================================================== */
.ph{position:relative;background:repeating-linear-gradient(45deg,rgba(23,53,42,.045) 0 12px,transparent 12px 24px),var(--cream-2);border:1px dashed rgba(23,53,42,.32);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--green);padding:26px;min-height:200px}
.ph p{font-size:13px;color:var(--gray);max-width:340px;line-height:1.5;margin:0}
.ph p strong{display:block;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:6px;color:var(--gold)}
.ph.dark{background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 12px,transparent 12px 24px),rgba(255,255,255,.05);border-color:rgba(211,185,110,.45);color:var(--cream)}
.ph.dark p{color:rgba(243,238,227,.72)}
.ph img{width:100%;height:100%;object-fit:cover}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:60;background:var(--green);border-bottom:1px solid rgba(211,185,110,.28)}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
.bar{display:flex;align-items:center;gap:26px;height:78px}
.brand{display:flex;align-items:center;text-decoration:none;flex:none;line-height:0}
.brand img,.brand svg{height:44px;width:auto}
nav.main{display:flex;gap:26px;margin-left:auto;align-items:center}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;align-items:center}
nav.main a{color:var(--cream);text-decoration:none;font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;padding:6px 0;border-bottom:1.5px solid transparent;transition:.2s}
nav.main a:hover,nav.main .current-menu-item>a,nav.main .current_page_item>a{color:var(--gold-soft);border-color:var(--gold)}
nav.main a.call{background:var(--gold);color:var(--black);padding:12px 22px;font-size:13px;letter-spacing:.11em;white-space:nowrap;border:0}
nav.main a.call:hover{background:var(--gold-soft)}
nav.main a.lang{font-size:12px;letter-spacing:.14em;color:var(--gold-soft);border:1px solid rgba(211,185,110,.5);padding:8px 12px;line-height:1}
nav.main a.lang:hover{border-color:var(--gold);background:rgba(211,185,110,.12)}
.bar .call-mobile{display:none}
.burger{display:none;background:none;border:0;color:var(--cream);font-size:26px;cursor:pointer;line-height:1;padding:6px}
@media(max-width:1000px){
  nav.main{position:fixed;left:0;right:0;top:78px;background:var(--green);flex-direction:column;gap:0;padding:12px 0 22px;border-bottom:1px solid rgba(211,185,110,.3);display:none;align-items:stretch}
  .admin-bar nav.main{top:110px}
  @media(max-width:782px){.admin-bar nav.main{top:124px}}
  nav.main.open{display:flex}
  nav.main ul{flex-direction:column;gap:0;align-items:stretch}
  nav.main ul a{display:block;padding:14px 28px;width:100%;border-bottom:1px solid rgba(243,238,227,.09)}
  nav.main a.lang{margin:14px 28px 0;align-self:flex-start}
  .burger{display:block}
  nav.main a.call{display:none}
  .bar{gap:12px}
  .brand img,.brand svg{height:32px}
  .bar .call-mobile{display:inline-block;margin-left:auto;background:var(--gold);color:var(--black);text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:10px 14px}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{background:var(--green);color:var(--cream);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;opacity:.24;background:url(assets/img/pattern-tile.svg) repeat;background-size:210px;pointer-events:none}
/* the tile is 16% gold on green; .32 × 16% ≈ 5% effective — under the 6% cap in Brand Guide F.2 */
.hero>.wrap{position:relative}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:82px 0 90px}
.hero h1{color:var(--white)}
.hero h1 em{font-style:normal;color:var(--gold-soft)}
.hero p{color:rgba(243,238,227,.85);font-size:18.5px;max-width:530px;margin-top:20px}
.hero .eyebrow{margin-bottom:14px}
.hero .acts,.hero .wp-block-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.hero .ph{min-height:400px}
.hero .ph img{position:absolute;inset:0}
.hero.hero-page .wrap{padding-top:76px;padding-bottom:82px}
.hero.light{background:var(--cream);color:var(--green)}
.hero.light::before{display:none}
.hero.light h1{color:var(--green)}
.hero.light h1 em{color:var(--gold)}
.hero.light p{color:#38443C}
.hero.light .eyebrow{color:var(--gold)}
.hero.light .btn-ghost,.hero.light .is-style-ghost .wp-block-button__link{border-color:var(--green);color:var(--green)}
.hero.hero-page h1{max-width:820px}
.hero.hero-page p{max-width:600px}
.trust{border-top:1px solid rgba(243,238,227,.14);padding:20px 0}
.trust ul{display:flex;gap:40px;list-style:none;flex-wrap:wrap;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,238,227,.72);font-weight:700;padding:0;margin:0}
.trust li::before{content:'—';color:var(--gold);margin-right:10px}
@media(max-width:900px){.hero .grid{grid-template-columns:1fr;gap:34px;padding:56px 0 64px}.hero .ph{min-height:260px}}
@media(max-width:480px){.wrap{padding:0 18px}.bar{height:68px}.brand img,.brand svg{height:28px}.bar .call-mobile{padding:9px 12px;font-size:11px}.burger{padding:6px 2px}nav.main{top:68px}.admin-bar nav.main{top:114px}.section{padding:64px 0}.hero .grid{padding:44px 0 52px}h1{font-size:clamp(34px,9vw,44px)}.feature-member .body,.feature-member.flip .body{padding:26px 20px 30px}.banner{padding:26px 22px}.form-card{padding:28px 22px}.office{padding:20px 20px}.trust ul{gap:12px 28px}}

/* ==========================================================================
   Sections
   ========================================================================== */
.section{padding:88px 0}
.bg-cream{background:var(--cream)}
.bg-white{background:var(--white)}
.bg-green{background:var(--green);color:var(--cream)}
.bg-green h2,.bg-green h3{color:var(--white)}
.bg-green .lede{color:rgba(243,238,227,.82)}
.bg-green p{color:rgba(243,238,227,.85)}
.sec-head{max-width:720px;margin-bottom:44px}
.sec-head.center{text-align:center;margin-left:auto;margin-right:auto}
.sec-head.center .lede{margin-left:auto;margin-right:auto}
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:34px}}

/* promise strip */
.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--hair);background:var(--white)}
.promise>div{padding:34px 30px;border-right:1px solid var(--hair)}
.promise>div:last-child{border-right:0}
.promise .n{font-family:var(--serif);font-size:34px;color:var(--gold);line-height:1;margin:0}
.promise h3{margin:10px 0 8px;color:var(--green)}
.promise p{font-size:15px;color:var(--body-2);margin:0}
@media(max-width:840px){.promise{grid-template-columns:1fr}.promise>div{border-right:0;border-bottom:1px solid var(--hair)}.promise>div:last-child{border-bottom:0}}

/* video */
.nil-video{width:100%;aspect-ratio:16/9;display:block;background:#000;border:1px solid rgba(211,185,110,.35)}
.nil-embed{position:relative;aspect-ratio:16/9;background:#000;border:1px solid rgba(211,185,110,.35)}
.nil-embed iframe{position:absolute;inset:0;width:100%;height:100%}
.video-wrap{max-width:960px;margin:0 auto}
.video-wrap .ph{aspect-ratio:16/9}
.video-wrap .wp-block-embed{margin:0}
.video-wrap .wp-block-embed__wrapper{position:relative;aspect-ratio:16/9}
.video-wrap .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%}
.play{width:78px;height:78px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.play::after{content:'';border-left:19px solid var(--gold);border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}

/* practice cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--white);border:1px solid var(--hair);padding:34px 30px;transition:.22s;position:relative}
.card:hover{border-color:var(--gold);transform:translateY(-3px)}
.card .icon{width:44px;height:44px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 0 18px;font-family:var(--serif);font-size:20px;color:var(--gold)}
.card h3{color:var(--green);margin-bottom:8px}
.card p{font-size:15px;color:var(--body-2);margin-bottom:14px}
.card p.more{margin:0}
.card p.more a{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.card p.more a:hover{color:var(--green)}
.card.card-ask{background:var(--cream);border-color:var(--gold)}
@media(max-width:940px){.cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cards{grid-template-columns:1fr}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.step{border-top:2px solid var(--gold);padding-top:20px}
.step .num{font-family:var(--serif);font-size:15px;letter-spacing:.2em;color:var(--gold);margin:0 0 8px}
.step h3{font-size:19px;margin-bottom:8px}
.bg-green .step h3{color:var(--gold-soft)}
.step p{font-size:14.5px;color:rgba(243,238,227,.78);margin:0}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}

/* pull quote */
.pull,.nil blockquote.pull{border-left:3px solid var(--gold);padding:6px 0 6px 30px;max-width:800px;margin:0;font-style:normal}
.pull p{font-family:var(--serif);font-size:clamp(23px,3vw,33px);line-height:1.4;color:var(--green);margin:0}
.bg-green .pull p{color:var(--white)}
.pull+p{margin-top:26px;max-width:600px}

/* proof band (reviews) */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review{background:var(--white);border:1px solid var(--hair);padding:30px 28px}
.review p{font-size:15.5px;color:var(--body-2)}
.review .who{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:14px 0 0}
@media(max-width:900px){.reviews{grid-template-columns:1fr}}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:940px){.team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.team-grid{grid-template-columns:1fr}}
.member{background:var(--white);border:1px solid var(--hair)}
.member .portrait{aspect-ratio:4/5;border-bottom:1px solid var(--hair);overflow:hidden;margin:0}
.member .portrait img{width:100%;height:100%;object-fit:cover}
.member .portrait.ph{border:0;border-bottom:1px solid var(--hair)}
.member .body{padding:26px 26px 30px}
.member h3{color:var(--green);font-size:24px;margin-bottom:3px}
.member .role{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.member .bio{font-size:14.5px;color:var(--body-2);margin-bottom:16px}
.member .meta{border-top:1px solid var(--hair);padding-top:14px;font-size:13.5px;line-height:1.9;margin:0}
.member .meta a{color:var(--green);text-decoration:none;word-break:break-all}
.member .meta a:hover{color:var(--gold)}
.se{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--gold);border:1px solid var(--gold);padding:3px 8px;margin-top:12px}
.feature-member{display:grid;grid-template-columns:380px 1fr;gap:44px;align-items:center;background:var(--white);border:1px solid var(--hair);margin-bottom:36px}
.feature-member .portrait{aspect-ratio:4/5;margin:0;overflow:hidden;align-self:stretch}
.feature-member .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.feature-member .body{padding:36px 46px 36px 0}
.feature-member.flip{grid-template-columns:1fr 380px}
.feature-member.flip .body{padding:36px 0 36px 46px}
.team-grid.four{grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:1000px){.team-grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.team-grid.four{grid-template-columns:1fr}}
.team-grid.four .member h3{font-size:21px}
.team-grid.four .member .body{padding:22px 20px 26px}
.member .role.tbd{color:var(--brick)}
.feature-member h2{font-size:36px;margin-bottom:4px}
.feature-member .role{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.feature-member .meta{border-top:1px solid var(--hair);padding-top:14px;font-size:13.5px;line-height:1.9;margin-top:16px}
.feature-member .meta a{color:var(--green);text-decoration:none}
@media(max-width:860px){.feature-member,.feature-member.flip{grid-template-columns:1fr}.feature-member .body,.feature-member.flip .body{padding:32px 28px 38px}.feature-member.flip .body{order:2}}
.banner{background:var(--white);border:1px solid var(--hair);border-top:3px solid var(--gold);padding:34px 32px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;margin-top:52px}
.banner h3{color:var(--green);font-size:26px;margin-bottom:6px}
.banner p{margin:0;font-size:15px;color:var(--body-2)}
@media(max-width:700px){.banner{grid-template-columns:1fr}}

/* FAQ — core Details block */
.faq{max-width:840px}
.faq details,.wp-block-details{border-bottom:1px solid var(--hair);padding:6px 0;margin:0}
.faq summary{cursor:pointer;list-style:none;padding:20px 34px 20px 0;font-family:var(--serif);font-size:22px;font-weight:600;color:var(--green);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;top:19px;font-family:var(--sans);font-size:22px;color:var(--gold);font-weight:400}
.faq details[open] summary::after{content:'\2013'}
.faq details>*:not(summary){font-size:15.5px;color:var(--body-2)}
.faq details>p{margin:0 0 10px}
.faq details>p:last-child{padding-bottom:22px}
.faq details strong{color:var(--green)}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:38px}}
.office{border:1px solid rgba(243,238,227,.2);padding:26px 28px;margin-bottom:18px}
.office .t{font-size:11px;letter-spacing:.24em;font-weight:700;color:var(--gold);margin:0 0 12px;text-transform:uppercase}
.office p{margin:0 0 4px;font-size:15px;color:rgba(243,238,227,.88)}
.office p+p{margin-top:10px}
.office a{color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(211,185,110,.5)}
.map{min-height:170px;margin-top:18px}
.nil-maps{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px}
.nil-map{margin:0;border:1px solid rgba(243,238,227,.2)}
.nil-map-frame{position:relative;height:220px;background:#e6e1d4}
.nil-map-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#6b6a63}
.nil-map iframe{position:relative;width:100%;height:220px;border:0;display:block;filter:grayscale(.25)}
.nil-map figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.nil-map figcaption a{color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(211,185,110,.5);white-space:nowrap}
.map iframe{width:100%;min-height:260px;border:0;display:block;filter:grayscale(.3)}
.form-card{background:var(--white);padding:36px 34px;border-top:3px solid var(--gold);color:var(--black)}
.form-card h3{color:var(--green);margin-bottom:6px;font-size:26px}
.form-card .sub{font-size:14.5px;color:var(--gray);margin-bottom:22px}
.form-card .f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.form-card .f2{grid-template-columns:1fr}}
.form-card label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 6px}
.form-card .wpcf7-form-control-wrap{display:block}
.form-card input:not([type=checkbox]):not([type=submit]),.form-card select,.form-card textarea{width:100%;padding:12px 13px;border:1px solid var(--hair);background:var(--white);font-family:inherit;font-size:15px;color:var(--black);margin-bottom:15px;border-radius:2px;box-sizing:border-box}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:0;border:2px solid var(--green);padding:11px 12px}
.form-card textarea{min-height:104px;resize:vertical}
.form-card .consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--gray);line-height:1.5;margin-bottom:16px}
.form-card .consent .wpcf7-list-item{margin:0}
.form-card .consent .wpcf7-list-item label{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-weight:400;font-size:12px;color:var(--gray);margin:0}
.form-card .consent input[type=checkbox]{width:auto;margin:3px 0 0;flex:none}
.form-card input[type=submit],.form-card button[type=submit]{width:100%;background:var(--green);color:var(--cream);border:0;padding:16px;font-family:inherit;font-size:13.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s;border-radius:0}
.form-card input[type=submit]:hover,.form-card button[type=submit]:hover{background:var(--green-2)}
.form-card .fine{font-size:11.5px;color:var(--gray);margin:14px 0 0;line-height:1.5}
.form-card .wpcf7-spinner{display:block;margin:10px auto 0}
.form-card .wpcf7-not-valid-tip{color:var(--brick);font-size:12.5px;margin:-10px 0 12px}
.form-card .wpcf7-response-output{margin:16px 0 0;padding:12px 14px;border:1px solid var(--hair);font-size:14px}
.form-card .wpcf7 form.sent .wpcf7-response-output{border-color:var(--success);color:var(--success)}
.form-card .wpcf7 form.invalid .wpcf7-response-output,.form-card .wpcf7 form.failed .wpcf7-response-output{border-color:var(--brick);color:var(--brick)}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{background:var(--black);color:rgba(243,238,227,.72);padding:64px 0 28px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(243,238,227,.14)}
@media(max-width:880px){.fgrid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:540px){.fgrid{grid-template-columns:1fr}}
.site-footer h4{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-family:var(--sans);font-weight:700}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:9px}
.site-footer a{color:rgba(243,238,227,.72);text-decoration:none}
.site-footer a:hover{color:var(--gold-soft)}
.site-footer .flogo{height:32px;width:auto;margin-bottom:16px}
.site-footer .tag{font-size:13.5px;max-width:280px}
.site-footer .es{font-size:13.5px;color:var(--gold-soft);font-weight:700;letter-spacing:.06em}
.site-footer .office-f{font-size:13.5px;margin-bottom:12px}
.site-footer .office-f strong{color:var(--cream)}
.legal{padding-top:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:rgba(243,238,227,.5)}
.disclaimer{font-size:11.5px;color:rgba(243,238,227,.45);max-width:760px;margin-top:14px;line-height:1.6}
.tbd{color:var(--brick)}
.bg-green .tbd{color:var(--gold-soft)}

/* ==========================================================================
   Generic page (privacy, terms, disclaimer)
   ========================================================================== */
.page-plain{padding:64px 0 96px}
.page-plain .entry{max-width:780px}
.page-plain h1{color:var(--green);margin-bottom:24px;font-size:clamp(34px,4.5vw,52px)}
.page-plain h2{font-size:28px;margin:36px 0 12px}
.page-plain h3{margin:26px 0 8px;color:var(--green)}
.page-plain p,.page-plain li{margin-bottom:14px}
.page-plain ul,.page-plain ol{padding-left:22px}
.page-plain a{color:var(--green-2);text-decoration:underline}
.error-page{padding:96px 0;text-align:center}

/* ==========================================================================
   Block editor compatibility
   ========================================================================== */
.wp-block-group.section{padding:88px 0}
.wp-block-group.section>.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.wp-block-group.card>*+*{margin-top:0}
.entry-content>.wp-block-group:not(.section):not(.hero){max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}
.wp-block-image{margin:0}
.wp-block-image img{width:100%}
figure.wp-block-image.portrait{aspect-ratio:4/5}
figure.wp-block-image.portrait img{height:100%;object-fit:cover}
.has-text-align-center{text-align:center}

/* ==========================================================================
   Core layout-style overrides (core injects flow gaps + image margins;
   the brand spacing is explicit above, so neutralise them)
   ========================================================================== */
.nil .wp-block-buttons.is-layout-flex{gap:14px}
.nil .wp-block-image{margin:0}
.nil .ph img{width:100%;height:100%}
.nil figure.wp-block-image.ph{min-height:0;padding:0;border:0;background:none}
.nil figure.wp-block-image.ph img{object-fit:cover;display:block}
.nil .hero figure.ph{min-height:0;aspect-ratio:4/3}
.nil .hero figure.ph img{position:static;height:100%}
.nil .video-wrap figure.ph{aspect-ratio:16/9}
.nil .two-col figure.ph{aspect-ratio:auto}
.nil .two-col figure.ph img{height:auto;object-fit:contain}
.nil figure.map{aspect-ratio:12/5;margin-top:18px}
.nil .member figure.portrait,.nil .feature-member figure.portrait{aspect-ratio:4/5}
.nil .feature-member figure.portrait{height:auto;min-height:100%}
.nil .wp-block-details summary{cursor:pointer}
.nil p.n,.nil p.num,.nil p.icon,.nil p.t,.nil p.role,.nil p.more{margin:0}
.nil .promise p.n{margin:0}
.nil .promise h3{margin:10px 0 8px}
.nil .card p.icon{margin-bottom:18px}
.nil .step p.num{margin-bottom:8px}
.nil .office p.t{margin-bottom:12px}
.nil .member p.role{margin-bottom:14px}
.nil .feature-member p.role{margin-bottom:18px}
.nil .form-card p.sub{margin-bottom:22px}
.nil .form-card p.fine{margin-top:14px}
.nil .sec-head p.lede{margin-top:14px}
.nil .hero .wp-block-buttons{margin-top:32px}
.nil .hero>.wrap>p{margin-top:20px}
.nil .banner .wp-block-buttons{margin:0}
.nil .honesty-text .wp-block-buttons{margin-top:16px}
.nil .pull+p{margin-top:26px}
.nil .pull+p+.wp-block-buttons{margin-top:16px}
