/*
Theme Name: LSA
Theme URI: https://www.leonardosilvaarchitecture.com/
Author: Leonardo Silva Architecture
Description: Block theme for Leonardo Silva Architecture. Measured Civic design system: Archivo, Spectral, IBM Plex Mono; ink, paper and one orange.
Version: 1.0.2
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: lsa
*/

:root{
  --ink-1000:#172630;--ink-900:#2B3A42;--ink-700:#4A5A60;--ink-500:#8E9391;--ink-200:#D3D6D4;
  --deep-500:#2E5A6E;--paper-0:#F1F0EC;--paper-1:#E9E8E3;--paper-print:#FFFFFF;
  --accent-700:#A8371A;--accent-500:#EF6742;--earth-water:#6E8C93;
  --text-copy:#2B3A42;--border-inverse:rgba(241,240,236,.28);
  --font-sans:Archivo,"Helvetica Neue",Arial,sans-serif;
  --font-serif:Spectral,Georgia,"Times New Roman",serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --hair:1px solid #D3D6D4;--ink-line:1px solid #172630;--frame:2px solid #172630;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --gutter:24px;--page-pad:clamp(20px,5vw,64px);--section-y:clamp(64px,9vw,128px);
  --ease:cubic-bezier(.2,.6,.2,1);
}

/* ---------- base ---------- */
html,body{margin:0;background:#fff;color:var(--text-copy)}
body{font:400 18px/1.72 var(--font-serif);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:var(--text-copy);text-decoration:none;transition:color 140ms var(--ease)}
a:hover{color:var(--accent-500)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--font-sans);color:var(--ink-1000);margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.lsa-main > * + *, .lsa-content > * + *{margin-block-start:0}
.wp-site-blocks > * + *{margin-block-start:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- layout ---------- */
.lsa-wrap{max-width:1312px;margin:0 auto;padding:0 var(--page-pad);box-sizing:border-box}
.lsa-sec{padding:var(--section-y) 0}
.lsa-sec--tight{padding-top:0}
.lsa-sec--paper{background:var(--paper-0)}
.lsa-sec--water{background:var(--earth-water);color:var(--paper-0)}
.lsa-sec--water h2,.lsa-sec--water h3,.lsa-sec--water p,.lsa-sec--water a{color:var(--paper-0)}
.lsa-sec--ink{background:var(--ink-1000);color:var(--paper-0)}
.lsa-sec--ink h2,.lsa-sec--ink p{color:var(--paper-0)}
.lsa-pagehead{padding:clamp(48px,7vw,104px) 0 var(--s7)}
.lsa-pagehead .lsa-wrap{display:flex;flex-direction:column;gap:var(--s5)}
.lsa-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s5) var(--gutter)}
.lsa-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--s8) var(--gutter)}
.lsa-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--s6) var(--gutter);align-items:end}
.lsa-stack{display:flex;flex-direction:column;gap:var(--s5)}
.lsa-stack--sm{display:flex;flex-direction:column;gap:var(--s3)}
.lsa-prose{display:flex;flex-direction:column;gap:var(--s5);max-width:66ch}
.lsa-rule{border-top:var(--frame);padding-top:var(--s6)}
.lsa-rule-hair{border-top:var(--hair);padding-top:var(--s5)}
.lsa-sechead{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--s4);padding-bottom:var(--s5);margin-bottom:var(--s7);border-bottom:var(--frame)}
@media (max-width:900px){.lsa-split{grid-template-columns:1fr}}

/* ---------- type ---------- */
.lsa-display{font:700 clamp(40px,6.2vw,80px)/.98 var(--font-sans);letter-spacing:-.035em;max-width:14ch}
.lsa-h1{font:700 clamp(40px,5vw,56px)/.964 var(--font-sans);letter-spacing:-.035em}
.lsa-h2{font:600 34px/1.18 var(--font-sans);letter-spacing:-.02em}
.lsa-h2--lg{font-size:clamp(30px,3.6vw,44px)}
.lsa-h3{font:600 21px/1.333 var(--font-sans)}
.lsa-lede{font:300 clamp(19px,1.7vw,24px)/1.42 var(--font-serif);color:var(--text-copy);max-width:60ch}
.lsa-body{font:400 18px/1.72 var(--font-serif)}
.lsa-small{font:400 15px/1.6 var(--font-serif)}
.lsa-italic{font-style:italic}
.lsa-data,.lsa-crumb{font:400 13px/1.7 var(--font-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--ink-700)}
.lsa-eyebrow{font:600 13px/1.4 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-700)}
.lsa-muted{opacity:.72}
.lsa-icon,.material-icons.lsa-icon{font-size:44px;color:var(--ink-1000);line-height:1}

/* ---------- links + buttons ---------- */
.lsa-slash a,a.lsa-slash{font:600 15px/1.2 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-1000);border-bottom:1px solid transparent;padding-bottom:2px}
.lsa-slash a::before,a.lsa-slash::before{content:"/ "}
.lsa-slash a:hover,a.lsa-slash:hover{color:var(--ink-1000);border-bottom-color:var(--ink-1000)}
.lsa-sec--water .lsa-slash a,.lsa-sec--ink .lsa-slash a,.lsa-inverse .lsa-slash a{color:var(--paper-0)}
.lsa-sec--water .lsa-slash a:hover{border-bottom-color:var(--paper-0)}
.lsa-links{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6)}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:var(--s4)}
.wp-block-button__link,.lsa-btn{display:inline-flex;align-items:center;gap:var(--s2);font:600 15px/1.2 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;border-radius:0;padding:16px 24px;background:var(--accent-500);color:var(--ink-1000);border:1px solid var(--accent-500);transition:background 140ms var(--ease),color 140ms var(--ease)}
.wp-block-button__link:hover,.lsa-btn:hover{background:var(--accent-700);border-color:var(--accent-700);color:var(--paper-0)}
.wp-block-button__link::after,.lsa-btn--arrow::after{content:"arrow_forward";font-family:"Material Icons";font-size:18px;text-transform:none;letter-spacing:0;line-height:1}
.is-style-lsa-secondary .wp-block-button__link,.lsa-btn--secondary{background:transparent;color:var(--ink-1000);border-color:var(--ink-1000)}
.is-style-lsa-secondary .wp-block-button__link:hover,.lsa-btn--secondary:hover{background:var(--ink-1000);color:var(--paper-0);border-color:var(--ink-1000)}
.lsa-btn--sm,.lsa-header .wp-block-button__link{padding:10px 16px;font-size:13px}
.lsa-header .wp-block-button__link::after{display:none}

/* ---------- header ---------- */
.lsa-header{position:sticky;top:0;z-index:50;background:var(--paper-0);border-bottom:var(--hair);transition:transform 240ms var(--ease)}
.lsa-header.is-hidden{transform:translateY(-100%)}
.admin-bar .lsa-header{top:32px}
.lsa-header__inner{max-width:1312px;margin:0 auto;padding:var(--s4) var(--page-pad);display:flex;align-items:center;justify-content:space-between;gap:var(--s6);box-sizing:border-box}
.lsa-header__logo img{height:52px;width:auto;background:transparent;display:block}
.lsa-header__right{display:flex;align-items:center;gap:var(--s7)}
.lsa-nav{font:600 13px/1.2 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;gap:var(--s6)}
.lsa-nav .wp-block-navigation-item__content{color:var(--ink-1000);padding:12px 0;border-bottom:2px solid transparent}
.lsa-nav .wp-block-navigation-item__content:hover{color:var(--ink-1000);border-bottom-color:var(--ink-1000)}
.lsa-nav .wp-block-navigation__submenu-container{background:var(--paper-0)!important;border:var(--hair)!important;min-width:200px!important;padding:8px 0!important;text-transform:none;letter-spacing:0;font-size:14px;font-weight:500}
.lsa-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:12px 16px!important;border:0}
.lsa-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--accent-500)}
.lsa-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--paper-0);padding:var(--s6) var(--page-pad)}
.lsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:var(--s4);font-size:15px}
@media (max-width:900px){.lsa-header__logo img{height:40px}.lsa-header .wp-block-buttons{display:none}.lsa-header__right{gap:var(--s4)}}

/* ---------- hero ---------- */
.lsa-hero{position:relative;min-height:clamp(560px,64vw,880px);display:flex;align-items:flex-end;background:var(--ink-700);overflow:hidden;color:var(--paper-0)}
.lsa-hero > .wp-block-image,.lsa-hero__img{position:absolute!important;inset:0;margin:0!important}
.lsa-hero > .wp-block-image img,.lsa-hero__img img{width:100%;height:100%;object-fit:cover}
.lsa-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,38,48,0) 25%,rgba(23,38,48,.72) 100%);pointer-events:none}
.lsa-hero__text{position:relative;z-index:1;width:100%;max-width:1312px;margin:0 auto;padding:clamp(40px,7vw,96px) var(--page-pad) clamp(40px,5vw,72px);box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--s6) var(--gutter);align-items:end}
.lsa-hero__text h1,.lsa-hero__text p,.lsa-hero__text a{color:var(--paper-0)}
.lsa-hero__side{display:flex;flex-direction:column;gap:var(--s5);max-width:46ch;justify-self:end}
.lsa-hero__side p{font:300 20px/1.42 var(--font-serif)}
.lsa-hero__side .lsa-slash a:hover{border-bottom-color:var(--paper-0)}

/* ---------- frames + cards ---------- */
.lsa-frame{position:relative;width:100%;overflow:hidden;background:var(--paper-1);margin:0}
.lsa-frame img{width:100%;height:100%;object-fit:cover;transition:transform 520ms var(--ease)}
.lsa-frame--45{aspect-ratio:4/5}.lsa-frame--32{aspect-ratio:3/2}.lsa-frame--167{aspect-ratio:16/7}
.wp-block-image.lsa-frame--32 img,.wp-block-image.lsa-frame--45 img{aspect-ratio:inherit;width:100%;height:100%;object-fit:cover}
a:hover .lsa-frame img{transform:scale(1.04)}
.lsa-card{display:flex;flex-direction:column;gap:var(--s4);color:var(--ink-1000)}
.lsa-card:hover{color:var(--ink-1000)}
.lsa-card__meta{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3) 0;border-top:var(--ink-line);border-bottom:var(--hair)}
.lsa-card__row{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;font:400 11px/1.6 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-700)}
.lsa-card__date{font:400 12px/1.3 var(--font-mono);text-transform:uppercase;color:var(--ink-1000)}
.lsa-filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s7)}
.lsa-filters button{appearance:none;font:600 13px/1.2 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;border:var(--hair);background:var(--paper-0);color:var(--ink-1000);cursor:pointer;border-radius:0}
.lsa-filters button[aria-selected="true"]{background:var(--ink-1000);color:var(--paper-0);border-color:var(--ink-1000)}
.lsa-empty{display:none;font-style:italic;margin-top:var(--s5)}
.lsa-boardlist{display:flex;flex-direction:column}
.lsa-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6) var(--gutter);padding:var(--s7) 0;border-top:var(--hair);color:var(--ink-1000);align-items:center}
.lsa-board:hover{color:var(--ink-1000)}
.lsa-board__text{display:flex;flex-direction:column;gap:var(--s3)}
.lsa-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:var(--s3)}
.lsa-steps span{height:4px;background:var(--ink-200)}
.lsa-steps span.is-done{background:var(--ink-1000)}
.lsa-steps span.is-current{background:var(--accent-500)}
.lsa-steps__labels{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;font:400 11px/1.4 var(--font-mono);text-transform:uppercase;color:var(--ink-700)}
@media (max-width:900px){.lsa-board{grid-template-columns:1fr}}

/* ---------- data lists ---------- */
.lsa-datalist{display:flex;flex-direction:column;border-top:var(--hair)}
.lsa-datalist > div,.lsa-datalist > p{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:var(--s4);padding:var(--s3) 0;border-bottom:var(--hair);font:400 13px/1.7 var(--font-mono);letter-spacing:.02em}
.lsa-datalist .lsa-k{text-transform:uppercase;color:var(--ink-700)}
.lsa-datalist .lsa-v{color:var(--ink-1000)}
.lsa-rows{display:flex;flex-direction:column}
.lsa-rows > .wp-block-group,.lsa-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s2) var(--gutter);padding:var(--s5) 0;border-bottom:var(--hair);color:var(--ink-1000)}
.lsa-row:hover{color:var(--ink-1000)}
.lsa-rows .lsa-data{color:var(--ink-1000)}
@media (max-width:900px){.lsa-rows > .wp-block-group,.lsa-row{grid-template-columns:1fr}}

/* ---------- pillars / cards ---------- */
.lsa-pillar{display:flex;flex-direction:column;gap:var(--s4);padding-top:var(--s5);border-top:var(--frame)}
.lsa-sec--water .lsa-pillar{border-top:1px solid var(--border-inverse)}
.lsa-pillar .lsa-slash{margin-top:auto;padding-top:var(--s2)}
.lsa-deeper{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));border-top:var(--frame)}
.lsa-deeper a{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s5) var(--s5) var(--s6) 0;border-bottom:var(--hair);color:var(--ink-1000)}
.lsa-deeper a:hover{color:var(--ink-1000)}
.lsa-deeper a:hover .lsa-deeper__t{text-decoration:underline}
.lsa-deeper__t{font:600 21px/1.333 var(--font-sans)}
.lsa-deeper__d{font:400 15px/1.6 var(--font-serif);color:var(--text-copy)}

/* ---------- details (process steps + FAQ) ---------- */
.wp-block-details{border-top:var(--hair);padding:var(--s5) 0}
.wp-block-details:last-child{border-bottom:var(--hair)}
.wp-block-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--s4);font:600 21px/1.333 var(--font-sans);color:var(--ink-1000)}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"add";font-family:"Material Icons";font-size:24px;font-weight:400}
.wp-block-details[open] summary::after{content:"remove"}
.wp-block-details > *:not(summary){margin-top:var(--s4);max-width:66ch}
.lsa-step summary{font-size:clamp(26px,3vw,34px);letter-spacing:-.02em}

/* ---------- project page ---------- */
.lsa-proj-hero{margin:0!important;aspect-ratio:16/7;max-height:78vh;width:100%;overflow:hidden;background:var(--paper-1)}
.lsa-proj-hero img{width:100%;height:100%;object-fit:cover}
.lsa-titleblock{display:grid;grid-template-columns:2fr repeat(4,1fr);border:var(--frame);margin-top:var(--s5)}
.lsa-titleblock > div{padding:var(--s4);border-left:var(--hair);display:flex;flex-direction:column;gap:var(--s2);min-width:0}
.lsa-titleblock > div:first-child{border-left:0}
.lsa-titleblock h1{font:700 clamp(30px,3.6vw,44px)/1 var(--font-sans);letter-spacing:-.03em}
.lsa-tb-k{font:400 11px/1.4 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-700)}
.lsa-tb-v{font:400 13px/1.5 var(--font-mono);text-transform:uppercase;color:var(--ink-1000)}
@media (max-width:900px){.lsa-titleblock{grid-template-columns:1fr 1fr}.lsa-titleblock > div:first-child{grid-column:1/-1}.lsa-titleblock > div{border-left:0;border-top:var(--hair)}.lsa-titleblock > div:first-child{border-top:0}}
.lsa-phase{list-style:none;margin:var(--s5) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.lsa-phase li{border-top:4px solid var(--ink-200);padding-top:var(--s2);display:flex;flex-direction:column;font:400 11px/1.5 var(--font-mono);text-transform:uppercase;color:var(--ink-700)}
.lsa-phase li.is-done{border-top-color:var(--ink-1000);color:var(--ink-1000)}
.lsa-phase li.is-current{border-top-color:var(--accent-500);color:var(--ink-1000)}
.lsa-phase b{font:600 13px/1.4 var(--font-sans);text-transform:none}
@media (max-width:600px){.lsa-phase{grid-template-columns:1fr}}
.lsa-tags{display:flex;flex-wrap:wrap;gap:var(--s2)}
.lsa-tags a{font:400 13px/1.4 var(--font-mono);text-transform:uppercase;border:var(--hair);padding:6px 10px;color:var(--ink-1000)}
.lsa-viewer__slide{display:none;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--s6) var(--gutter);align-items:start}
.lsa-viewer__slide.is-active{display:grid}
.lsa-viewer__slide .lsa-frame{aspect-ratio:3/2}
.lsa-viewer__info{display:flex;flex-direction:column;gap:var(--s3);border-top:var(--ink-line);padding-top:var(--s4)}
.lsa-viewer__next span{font-weight:600}
.lsa-viewer__bar{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;border-top:var(--hair);margin-top:var(--s4);padding-top:var(--s4)}
.lsa-viewer__ctrl{display:flex;align-items:center;gap:var(--s3);font:400 13px/1 var(--font-mono)}
.lsa-viewer__ctrl button{appearance:none;width:44px;height:44px;border:var(--ink-line);background:transparent;color:var(--ink-1000);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:0}
.lsa-viewer__ctrl button:hover{background:var(--ink-1000);color:var(--paper-0)}
@media (max-width:900px){.lsa-viewer__slide.is-active{grid-template-columns:1fr}}
.lsa-prevnext{display:grid;grid-template-columns:1fr 1fr;border-top:var(--frame);border-bottom:var(--hair)}
.lsa-prevnext a{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5) 0;color:var(--ink-1000)}
.lsa-prevnext a + a{text-align:right;border-left:var(--hair);padding-left:var(--s5)}
.lsa-prevnext a:hover .lsa-h3{text-decoration:underline}

.lsa-tb-cell p{margin:0}
.lsa-tb-k{display:block}.lsa-tb-v{display:block}
.lsa-titleblock .wp-block-post-title{font:700 clamp(30px,3.6vw,44px)/1 var(--font-sans);letter-spacing:-.03em;color:var(--ink-1000);margin:0}
.lsa-proj-head{padding-bottom:0}
.lsa-proj-head .lsa-wrap{gap:0}
.lsa-update{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--s3) var(--gutter);padding:var(--s5) 0;border-top:var(--ink-line)}
.lsa-update > figure,.lsa-update > .wp-block-gallery{grid-column:1/-1;margin:0}
.lsa-update figure img{width:100%;aspect-ratio:3/2;object-fit:cover}
.lsa-update > :not(figure):not(.wp-block-gallery){grid-column:1/-1;max-width:66ch}
.lsa-viewer__info > *{margin:0}
.lsa-viewer__info figure,.lsa-viewer__info .wp-block-gallery{display:none}

/* ---------- article ---------- */
.lsa-article{max-width:calc(66ch + 2 * var(--page-pad));margin:0 auto;padding:0 var(--page-pad);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--s5)}
.lsa-article h2{font:600 26px/1.25 var(--font-sans);letter-spacing:-.02em;margin-top:var(--s5)}
.lsa-article figure{margin:var(--s4) 0}
.lsa-article figcaption,.wp-element-caption{font:400 12px/1.6 var(--font-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--ink-700);margin-top:var(--s2)}
.lsa-insight{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s4) var(--gutter);padding:var(--s6) 0;border-bottom:var(--hair);color:var(--ink-1000)}
.lsa-insight:hover{color:var(--ink-1000)}
.lsa-insight__body{display:flex;gap:var(--s5);justify-content:space-between;flex-wrap:wrap}
.lsa-insight__body > div:first-child{flex:1 1 300px;display:flex;flex-direction:column;gap:var(--s2)}
.lsa-insight__thumb{flex:0 0 200px}
@media (max-width:900px){.lsa-insight{grid-template-columns:1fr}.lsa-insight__thumb{flex-basis:100%}}

/* ---------- CTA band ---------- */
.lsa-cta .lsa-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--s6) var(--gutter);align-items:end}
.lsa-cta h2{font:700 clamp(36px,4.6vw,56px)/1 var(--font-sans);letter-spacing:-.035em;max-width:14ch}
.lsa-cta__side{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5)}
.lsa-cta__side p{font:300 22px/1.42 var(--font-serif);color:var(--ink-700)}

/* ---------- contact form (Fluent Forms) ---------- */
.lsa-form .ff-el-group{margin-bottom:var(--s5)}
.lsa-form .ff-el-input--label label{font:600 13px/1.4 var(--font-sans)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-1000)!important}
.lsa-form .ff-el-form-control{border-radius:0!important;border:var(--hair)!important;background:var(--paper-0)!important;font:400 17px/1.5 var(--font-serif)!important;color:var(--ink-1000)!important;padding:12px 14px!important;box-shadow:none!important}
.lsa-form .ff-el-form-control:focus{border-color:var(--ink-1000)!important;outline:2px solid var(--ink-1000);outline-offset:-1px}
.lsa-form .ff-el-input--content{display:flex;flex-wrap:wrap;gap:var(--s2)}
.lsa-form .ff-el-form-check{margin:0!important}
.lsa-form .ff-el-form-check label{display:inline-block;cursor:pointer;font:500 14px/1.2 var(--font-sans);padding:10px 14px;border:var(--hair);background:var(--paper-0);color:var(--ink-1000)}
.lsa-form .ff-el-form-check input{position:absolute;opacity:0;pointer-events:none}
.lsa-form .ff-el-form-check:has(input:checked) label{background:var(--ink-1000);color:var(--paper-0);border-color:var(--ink-1000)}
.lsa-form .ff-btn-submit{border-radius:0!important;background:var(--accent-500)!important;color:var(--ink-1000)!important;font:600 15px/1.2 var(--font-sans)!important;letter-spacing:.06em;text-transform:uppercase;padding:16px 28px!important;border:0!important}
.lsa-form .ff-btn-submit:hover{background:var(--accent-700)!important;color:var(--paper-0)!important}
.lsa-form .error,.lsa-form .text-danger{color:var(--ink-1000)!important;font:400 13px/1.4 var(--font-mono)}
.lsa-form .ff-message-success{border:var(--frame)!important;box-shadow:none!important;background:var(--paper-0)!important;font:300 22px/1.42 var(--font-serif)}

/* ---------- footer ---------- */
.lsa-footer{background:linear-gradient(rgba(84,95,101,.5),rgba(84,95,101,.5)),url("assets/footer-bg.jpg") center/cover no-repeat,var(--ink-1000);color:var(--paper-0)}
.lsa-footer a,.lsa-footer span,.lsa-footer p{color:var(--paper-0)}
.lsa-footer a:hover{color:var(--paper-0);text-decoration:underline}
.lsa-footer__inner{max-width:1312px;margin:0 auto;padding:var(--s6) var(--page-pad) var(--s4);display:flex;flex-direction:column;gap:var(--s6);box-sizing:border-box}
.lsa-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--s7) var(--gutter)}
.lsa-footer__col{display:flex;flex-direction:column;gap:var(--s3);align-items:flex-end;font:600 14px/1.3 var(--font-sans)}
.lsa-footer__col:first-child{align-items:flex-start}
.lsa-footer__col .lsa-fh{font:600 13px/1.4 var(--font-sans);letter-spacing:.06em;text-transform:lowercase;opacity:.62;margin-bottom:auto}
.lsa-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s3);padding-top:var(--s5);border-top:1px solid var(--border-inverse);font:400 13px/1.7 var(--font-mono);opacity:.72}
@media (max-width:900px){.lsa-footer__col{align-items:flex-start}}

/* ---------- hero (Cover block: click the image › Replace) ---------- */
.lsa-hero.wp-block-cover{min-height:clamp(560px,64vw,880px)!important;padding:0!important;align-items:flex-end;justify-content:stretch;background:var(--ink-700)}
.lsa-hero.wp-block-cover::after{display:none}
.lsa-hero .wp-block-cover__image-background{object-fit:cover;width:100%;height:100%}
.lsa-hero .wp-block-cover__background{background:linear-gradient(180deg,rgba(23,38,48,0) 25%,rgba(23,38,48,.72) 100%)!important;opacity:1!important}
.lsa-hero .wp-block-cover__inner-container{width:100%!important;max-width:none!important;z-index:1;color:var(--paper-0)}
.lsa-hero .wp-block-cover__inner-container > .lsa-hero__text{max-width:1312px!important;margin-left:auto!important;margin-right:auto!important}
