/* Yount Law Site Builder – premium editorial law-firm system */
.yl-site{
  font-family:var(--yl-body-font);
  color:var(--yl-text);
  line-height:1.72;
  background:#fff;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.yl-site *{box-sizing:border-box}
.yl-site h1,.yl-site h2,.yl-site h3,.yl-site p,.yl-site .yl-section-head,.yl-site .yl-rich,.yl-site .yl-actions{text-align:left!important}
.yl-site h1,.yl-site h2,.yl-site h3{
  font-family:var(--yl-heading-font);
  color:var(--yl-primary);
  font-weight:500;
  letter-spacing:-.025em;
  margin:0 0 20px;
}
.yl-site h1{font-size:clamp(48px,6.1vw,82px);line-height:.98;max-width:900px}
.yl-site h2{font-size:clamp(36px,4.1vw,58px);line-height:1.05;max-width:850px}
.yl-site h3{font-size:clamp(23px,2vw,29px);line-height:1.15}
.yl-site p{margin:0 0 20px}
.yl-site a{transition:all .25s ease}
.yl-container{width:min(calc(100% - 72px),var(--yl-max));margin:0 auto;position:relative;z-index:2}
.yl-narrow{max-width:900px;margin-left:auto;margin-right:auto}
.yl-section{padding:50px 0;position:relative}
.yl-cream{background:var(--yl-cream)}

/* Shared editorial details */
.yl-eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  text-transform:uppercase;
  letter-spacing:.19em;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  color:var(--yl-accent);
  margin:0 0 22px;
  text-align:left!important;
}
.yl-eyebrow:before{content:"";width:34px;height:1px;background:currentColor;flex:0 0 34px}
.yl-eyebrow.dark{color:var(--yl-primary)}
.yl-section-head{max-width:790px;margin:0 0 40px!important}
.yl-section-head>p{font-size:19px;line-height:1.68;color:#626875;max-width:720px;margin-top:6px}
.yl-section-head.light h2{color:#fff}
.yl-section-head.light>p{color:rgba(255,255,255,.72)}
.yl-rich{max-width:780px}
.yl-rich p{color:#4c5360}
.yl-rich p:last-child{margin-bottom:0}

/* Hero
   One hero system used on every page: solid navy panel with the text on one
   side and, when a photo is set, a distinct gold-framed photo alongside it
   (not a background image). `.yl-hero-no-image` just centers the text column
   and uses a shorter panel instead of an oversized, empty box. */
.yl-hero{
  position:relative;
  color:#fff;
  background-color:var(--yl-primary);
  background-image:linear-gradient(115deg,#0d2450 0%,var(--yl-primary) 55%,#0a1c3d 100%);
  overflow:hidden;
}
/* Large, faint firm-emblem watermark used when a page has no hero photo set,
   so the empty side of the panel still has some visual interest. */
.yl-hero-watermark{
  position:absolute;
  bottom:0;
  right:3%;
  width:clamp(280px,26vw,460px);
  height:auto;
  max-width:40%;
  opacity:.22;
  z-index:1;
  pointer-events:none;
  user-select:none;
  filter:saturate(.7);
}
@media(max-width:900px){.yl-hero-watermark{display:none}}
.yl-hero-frame{position:relative}
.yl-hero-columns{
  display:flex;
  align-items:stretch;
  gap:3.5vw;
  min-height:340px;
  padding:60px 0;
}
.yl-hero-has-image .yl-hero-columns{min-height:600px}
.yl-hero-inner{max-width:720px;flex:1 1 520px;min-width:0;position:relative;z-index:2;align-self:center}
.yl-hero .yl-eyebrow{color:var(--yl-accent);margin-bottom:24px}
.yl-hero h1{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.12);font-size:clamp(40px,4.2vw,64px);line-height:1.06;letter-spacing:-.025em;margin-bottom:24px}
.yl-hero p{font-size:19px;line-height:1.68;max-width:560px;color:rgba(255,255,255,.88);margin-bottom:0}
.yl-actions{display:flex;justify-content:flex-start;align-items:center;gap:26px;flex-wrap:wrap;margin-top:36px}
.yl-btn.yl-btn-hero{background:transparent!important;color:var(--yl-accent)!important;border:1px solid var(--yl-accent)!important;padding:17px 26px!important;min-height:54px!important}
.yl-btn-hero span{font-size:18px;margin-left:16px;line-height:0}
.yl-btn.yl-btn-hero:hover{background:var(--yl-accent)!important;color:var(--yl-primary)!important}
.yl-hero-link{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}
.yl-hero-link:hover{color:var(--yl-accent);border-color:var(--yl-accent)}

/* Simple, corporate photo treatment: a single thin gold border with sharp
   (square) corners and a light shadow for depth. Stretches to the full height
   of the hero row and takes up a large, deliberate share of its width. */
.yl-hero-photo{flex:1 1 840px;width:100%;max-width:1000px;position:relative;align-self:stretch}
.yl-hero-photo-frame{position:relative;height:100%;min-height:320px;border:1px solid var(--yl-accent);overflow:hidden;box-shadow:0 18px 40px rgba(3,10,26,.32)}
.yl-hero-photo-frame img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){
  .yl-hero-columns{min-height:0;padding:48px 0;flex-direction:column;align-items:flex-start;gap:32px}
  .yl-hero-has-image .yl-hero-columns{padding:42px 0 48px}
  .yl-hero-inner{align-self:auto}
  .yl-hero-photo{flex:0 0 auto;max-width:100%;width:100%;align-self:auto;order:-1}
  .yl-hero-photo-frame{height:auto;aspect-ratio:16/10;min-height:0}
  .yl-hero h1{font-size:clamp(36px,8vw,52px)}
}
@media(max-width:560px){
  .yl-hero-photo-frame{aspect-ratio:4/3}
}
@media(max-width:560px){
  .yl-actions{width:100%;flex-direction:column;align-items:flex-start;gap:16px}
  .yl-btn-hero{width:100%;justify-content:center}
}

/* Buttons */
.yl-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:15px 25px;
  background:var(--yl-accent);
  color:var(--yl-primary)!important;
  border:1px solid var(--yl-accent);
  border-radius:var(--yl-radius);
  text-decoration:none!important;
  font-size:12px;
  line-height:1;
  letter-spacing:.105em;
  text-transform:uppercase;
  font-weight:800;
  box-shadow:none;
  text-align:center!important;
}
.yl-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(6,20,50,.18);filter:brightness(1.035)}
.yl-btn-secondary{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.62)}
.yl-btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.06)}

/* Practice navigation strip */
.yl-practice-strip{background:#fff;border-bottom:1px solid rgba(25,47,97,.1);box-shadow:0 14px 40px rgba(15,35,70,.045)}
.yl-practice-strip .yl-container{display:grid;grid-template-columns:repeat(4,1fr)}
.yl-practice-strip a{
  position:relative;
  padding:24px 28px;
  color:var(--yl-primary);
  font-size:13px;
  line-height:1.2;
  letter-spacing:.055em;
  font-weight:800;
  text-decoration:none;
  text-align:left!important;
  border-right:1px solid rgba(25,47,97,.09)
}
.yl-practice-strip a:first-child{border-left:1px solid rgba(25,47,97,.09)}
.yl-practice-strip a:after{content:"→";position:absolute;right:22px;color:var(--yl-accent);opacity:.7;transition:.2s}
.yl-practice-strip a:hover{background:var(--yl-cream);padding-left:32px}
.yl-practice-strip a:hover:after{right:18px;opacity:1}

/* Cards */
.yl-card-grid{display:grid;gap:26px}
.yl-four{grid-template-columns:repeat(4,1fr)}
.yl-three{grid-template-columns:repeat(3,1fr)}
.yl-two{grid-template-columns:repeat(2,1fr)}
.yl-practices .yl-four{grid-template-columns:repeat(2,1fr)}
.yl-practices{background:#fff}
.yl-practice-card,.yl-service-item{
  position:relative;
  background:#fff;
  border:1px solid rgba(25,47,97,.12);
  padding:42px 40px 40px;
  color:var(--yl-text)!important;
  text-decoration:none!important;
  border-radius:var(--yl-radius);
  box-shadow:0 14px 45px rgba(17,38,76,.055);
  overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease
}
.yl-practice-card:before,.yl-service-item:before{content:"";position:absolute;left:0;top:0;width:4px;height:0;background:var(--yl-accent);transition:height .28s ease}
.yl-practice-card:hover{transform:translateY(-7px);box-shadow:0 25px 60px rgba(17,38,76,.105);border-color:rgba(200,163,108,.55)}
.yl-practice-card:hover:before,.yl-service-item:hover:before{height:100%}
.yl-practice-card h3,.yl-service-item h3{margin-bottom:14px}
.yl-practice-card p,.yl-service-item p{color:#626875;max-width:520px}
.yl-practice-card>span{display:inline-flex;align-items:center;margin-top:8px;color:var(--yl-primary);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.yl-icon{
  width:88px;height:88px;
  display:grid;place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  margin:0 0 26px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(17,38,76,.07)
}
.yl-icon .yl-emblem-icon{
  width:100%;height:100%;
  display:block;
  object-fit:cover;
  border-radius:50%
}
.yl-card-image{height:245px;background-size:cover;background-position:center;margin:-42px -40px 34px;position:relative}
.yl-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,38,82,.15),transparent 55%)}

/* Split content */
.yl-two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:stretch}
.yl-community-grid{grid-template-columns:.85fr 1fr}
.yl-split .yl-copy{padding-right:26px}
.yl-image-frame{max-width:520px;height:100%;background:#e7e8eb;border-radius:var(--yl-radius);overflow:hidden;box-shadow:0 24px 70px rgba(18,38,72,.12);position:relative}
.yl-image-frame:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.55);pointer-events:none}
.yl-image-frame img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}
.yl-image-placeholder,.yl-headshot-placeholder{height:100%;min-height:390px;display:grid;place-items:center;background:linear-gradient(135deg,#eceef1,#dfe2e7);color:#7a808b;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}

/* Trust / dark editorial band */
.yl-trust{background:var(--yl-primary);color:#fff;overflow:hidden}
.yl-trust:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(200,163,108,.13);border-radius:50%;right:-170px;top:-220px}
.yl-trust h2,.yl-trust h3{color:#fff}
.yl-trust .yl-four{gap:0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.yl-trust-item{padding:34px 30px 28px;border-right:1px solid rgba(255,255,255,.11)}
.yl-trust-item:first-child{padding-left:0}
.yl-trust-item:last-child{border-right:0}
.yl-trust-item p{color:rgba(255,255,255,.67);font-size:15px}
.yl-gold-line{width:42px;height:1px;background:var(--yl-accent);margin:0 0 21px}

/* Team */
.yl-team-section{background:#fff}
.yl-team-grid{display:flex;flex-direction:column;gap:32px}
.yl-team-card{display:grid;grid-template-columns:minmax(180px,.32fr) 1fr;align-items:center;border:1px solid rgba(25,47,97,.11);background:#fff;border-radius:var(--yl-radius);overflow:hidden;box-shadow:0 18px 55px rgba(17,38,76,.065)}
.yl-headshot{width:100%;aspect-ratio:4/5;height:auto;min-height:0;background:#eef0f3;align-self:center}
.yl-headshot img{width:100%;height:100%;object-fit:cover;display:block}
.yl-team-copy{padding:44px 42px;align-self:center}
.yl-role{color:#987442;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:11px;margin:-6px 0 20px}
.yl-team-copy .yl-rich{font-size:16px}

/* CTA */
.yl-cta{background:linear-gradient(115deg,var(--yl-primary),#0f244f);color:#fff;border-top:1px solid rgba(255,255,255,.06)}
.yl-cta:before{content:"";position:absolute;left:0;top:0;width:32%;height:3px;background:var(--yl-accent)}
.yl-cta h2{color:#fff;margin-bottom:14px}
.yl-cta p{color:rgba(255,255,255,.75);font-size:18px;max-width:690px}
.yl-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:end;text-align:left!important}
.yl-cta-inner>div:first-child{max-width:820px}

/* FAQs */
.yl-faqs{border-top:1px solid rgba(25,47,97,.13)}
.yl-faq{background:transparent;border:0;border-bottom:1px solid rgba(25,47,97,.13);margin:0;border-radius:0;overflow:hidden}
.yl-faq summary{list-style:none;cursor:pointer;padding:25px 0;font-weight:700;color:var(--yl-primary);display:flex;justify-content:space-between;gap:24px;font-size:18px;text-align:left!important}
.yl-faq summary::-webkit-details-marker{display:none}
.yl-faq summary span{color:var(--yl-accent);font-size:24px;font-weight:400;line-height:1}
.yl-faq>div{padding:0 55px 25px 0;color:#5f6672}

/* Contact */
.yl-contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:88px;align-items:start}
.yl-contact-line{padding:20px 0;border-bottom:1px solid rgba(25,47,97,.11)}
.yl-contact-line strong{display:block;color:#8c6a3c;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px}
.yl-contact-line a{color:var(--yl-primary);text-decoration:none;font-weight:650}
.yl-expect{margin-top:42px}
.yl-form-card{background:var(--yl-cream);padding:48px;border-radius:var(--yl-radius);border:1px solid rgba(25,47,97,.08);box-shadow:0 22px 60px rgba(17,38,76,.07)}
.yl-form-card h2{font-size:clamp(32px,3.4vw,46px)}
.yl-form-placeholder{padding:32px;border:1px dashed #b9bdc5;background:#fff}
.yl-form-note{font-size:12px;line-height:1.6;color:#6d727b;margin-top:20px;border-top:1px solid rgba(25,47,97,.1);padding-top:18px}
.yl-map{border-top:4px solid var(--yl-accent)}
.yl-map iframe{display:block;width:100%;height:440px;border:0}

/* Forminator refinements without overriding form functionality */
.yl-site .forminator-ui.forminator-custom-form{font-family:var(--yl-body-font)!important}
.yl-site .forminator-ui.forminator-custom-form .forminator-label{text-align:left!important;color:var(--yl-primary)!important;font-size:12px!important;letter-spacing:.055em!important}
.yl-site .forminator-ui.forminator-custom-form .forminator-button-submit{background:var(--yl-primary)!important;border-radius:var(--yl-radius)!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-weight:800!important;padding:15px 24px!important;box-shadow:none!important}

.light-text,.light-text p{color:rgba(255,255,255,.76)}

@media(max-width:1080px){
  .yl-container{width:min(calc(100% - 48px),var(--yl-max))}
  .yl-four{grid-template-columns:repeat(2,1fr)}
  .yl-two-col,.yl-contact-grid{gap:54px}
  .yl-team-card{grid-template-columns:1fr}.yl-headshot{aspect-ratio:16/10;height:auto}.yl-team-copy{padding:34px}
}
@media(max-width:820px){
  .yl-section{padding:42px 0}
  .yl-practice-strip .yl-container{grid-template-columns:1fr 1fr;width:100%}
  .yl-practice-strip a{border-bottom:1px solid rgba(25,47,97,.09)}
  .yl-two-col,.yl-contact-grid{grid-template-columns:1fr;gap:46px}
  .yl-cta-inner{grid-template-columns:1fr;gap:26px;align-items:start}
  .yl-image-frame,.yl-image-frame img{min-height:320px}
}
@media(max-width:640px){
  .yl-site{font-size:16px}
  .yl-container{width:min(calc(100% - 30px),var(--yl-max))}
  .yl-section{padding:40px 0}
  .yl-section-head{margin-bottom:28px!important}
  .yl-actions{display:grid;grid-template-columns:1fr;width:100%}
  .yl-btn{width:100%}
  .yl-practice-strip .yl-container{grid-template-columns:1fr}
  .yl-practice-strip a,.yl-practice-strip a:first-child{border-left:0;border-right:0;padding:17px 15px}
  .yl-practice-strip a:hover{padding-left:20px}
  .yl-practices .yl-four,.yl-four,.yl-three,.yl-two{grid-template-columns:1fr}
  .yl-practice-card,.yl-service-item{padding:34px 28px 32px}
  .yl-card-image{margin:-34px -28px 28px;height:205px}
  .yl-trust .yl-four{border:0}
  .yl-trust-item,.yl-trust-item:first-child{padding:26px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}
  .yl-team-card{display:block}.yl-headshot{aspect-ratio:16/10;height:auto}.yl-team-copy{padding:30px 26px}
  .yl-form-card{padding:30px 22px}
}

/* Service page editorial image */
.yl-service-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:60px;align-items:center}
.yl-square-image{aspect-ratio:4/3;width:100%;max-width:560px;max-height:380px;overflow:hidden;border-radius:var(--yl-radius);background:#e8eaee;box-shadow:0 24px 70px rgba(18,38,72,.11);position:relative}
.yl-square-image:after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.72);pointer-events:none}
.yl-square-image img{width:100%;height:100%;object-fit:cover;display:block}
.yl-square-placeholder{width:100%;height:100%;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#eef0f3,#dfe3e9);color:#687181;text-align:center;text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:800}
.yl-square-placeholder:before{content:"+";display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(25,47,97,.25);border-radius:50%;font-family:Arial,sans-serif;font-size:25px;font-weight:300;color:var(--yl-primary);margin-bottom:8px}
.yl-square-placeholder small{font-size:10px;font-weight:600;letter-spacing:.08em;opacity:.72}
@media(max-width:900px){.yl-service-overview{grid-template-columns:1fr;gap:44px}.yl-square-image{max-width:100%}}

/* v1.3.0 brand signature + header navigation typography */
.yl-brand-signature{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid rgba(25,47,97,.14);font-family:var(--yl-body-font);text-align:left}
.yl-brand-signature strong{font-size:12px;letter-spacing:.15em;font-weight:700;color:var(--yl-primary)}
.yl-brand-signature span{font-family:var(--yl-heading-font);font-size:18px;font-style:italic;color:var(--yl-text)}
.yl-brand-signature-light{border-color:rgba(255,255,255,.16)}
.yl-brand-signature-light strong{color:#fff}
.yl-brand-signature-light span{color:rgba(255,255,255,.82)}
.yl-contact-tagline{font-family:var(--yl-heading-font);font-size:21px;font-style:italic;color:var(--yl-accent);margin:-8px 0 30px;text-align:left}

/* Navigation/header styling intentionally lives in Colibri (or whatever theme/
   builder controls the header), not here — this plugin only styles the page
   content built by its own shortcodes. */

/* v1.4.0 typography + form polish */
/* Keep typography black on light surfaces. Dark navy sections intentionally remain white for accessibility. */
.yl-site,
.yl-site p,
.yl-site li,
.yl-site h1,
.yl-site h2,
.yl-site h3,
.yl-site h4,
.yl-site h5,
.yl-site h6,
.yl-site .yl-rich p,
.yl-site .yl-section-head>p,
.yl-site .yl-practice-card p,
.yl-site .yl-service-item p,
.yl-site .yl-faq summary,
.yl-site .yl-faq>div,
.yl-site .yl-contact-line,
.yl-site .yl-contact-line strong,
.yl-site .yl-contact-line a,
.yl-site .yl-form-note,
.yl-site .yl-role,
.yl-site .yl-contact-tagline,
.yl-site .yl-brand-signature strong,
.yl-site .yl-brand-signature span {
  color:#000!important;
}

/* Preserve readable light text on intentionally dark sections. */
.yl-site .yl-hero,
.yl-site .yl-hero p,
.yl-site .yl-hero h1,
.yl-site .yl-hero h2,
.yl-site .yl-hero h3,
.yl-site .yl-trust,
.yl-site .yl-trust p,
.yl-site .yl-trust h2,
.yl-site .yl-trust h3,
.yl-site .yl-cta,
.yl-site .yl-cta p,
.yl-site .yl-cta h2,
.yl-site .yl-section-head.light h2,
.yl-site .yl-section-head.light>p,
.yl-site .yl-brand-signature-light strong,
.yl-site .yl-brand-signature-light span,
.yl-site .light-text,
.yl-site .light-text p {color:#fff!important}

/* Forminator: restrained, premium submit treatment. */
.yl-site .forminator-ui.forminator-custom-form .forminator-label{
  color:#000!important;
  font-family:var(--yl-body-font)!important;
  font-size:14px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.yl-site .forminator-ui.forminator-custom-form input,
.yl-site .forminator-ui.forminator-custom-form textarea,
.yl-site .forminator-ui.forminator-custom-form select{
  font-family:var(--yl-body-font)!important;
  color:#000!important;
}
.yl-site .forminator-ui.forminator-custom-form .forminator-button-submit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:150px!important;
  min-height:48px!important;
  padding:13px 24px!important;
  border:1px solid var(--yl-primary)!important;
  border-radius:4px!important;
  background:var(--yl-primary)!important;
  color:#fff!important;
  font-family:var(--yl-body-font)!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
  box-shadow:none!important;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important;
}
.yl-site .forminator-ui.forminator-custom-form .forminator-button-submit:hover,
.yl-site .forminator-ui.forminator-custom-form .forminator-button-submit:focus{
  background:var(--yl-accent)!important;
  border-color:var(--yl-accent)!important;
  color:#000!important;
  transform:translateY(-1px);
}

/* About page editorial redesign – v1.6.1 */
.yl-about-editorial{
  display:grid;
  grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);
  gap:clamp(60px,8vw,130px);
  align-items:center;
  min-height:0;
}
.yl-about-firm{min-height:0}
.yl-about-title-block{padding-top:0}
.yl-about-title-block h2{margin-bottom:24px}
.yl-about-rule{width:72px;height:2px;background:var(--yl-accent)}
.yl-about-body{max-width:800px;font-size:18px;line-height:1.78}
.yl-about-body p{color:#000}
.yl-about-experience-grid{grid-template-columns:minmax(360px,1.15fr) minmax(0,.85fr);gap:clamp(50px,6vw,90px)}
.yl-about-experience-image{min-height:500px}
.yl-about-experience-image img{min-height:500px}
.yl-about-experience .yl-copy{padding-right:0}
.yl-about-experience .yl-rich{max-width:720px}
.yl-about-points{margin-top:34px;border-top:1px solid rgba(25,47,97,.14)}
.yl-about-points>div{display:grid;grid-template-columns:175px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid rgba(25,47,97,.14)}
.yl-about-points strong{font-family:var(--yl-heading-font);font-size:19px;font-weight:600;color:#000}
.yl-about-points span{font-size:15px;line-height:1.55;color:#000}
/* Text + stacked-points sidebar variant used when the Experience section has
   no paired image: intro copy on the left, the three points as a vertical
   list on the right so they line up top-to-bottom instead of floating in
   leftover whitespace. */
.yl-about-experience-split{display:grid;grid-template-columns:1.7fr 1fr;gap:64px;align-items:start}
.yl-about-experience-split .yl-copy{padding-right:0}
.yl-about-points-stacked{margin-top:0;border-top:1px solid rgba(25,47,97,.14)}
.yl-about-points-stacked>div{display:block;padding:22px 0;border-bottom:1px solid rgba(25,47,97,.14)}
.yl-about-points-stacked strong{display:block;font-family:var(--yl-heading-font);font-size:18px;font-weight:600;color:#000;margin-bottom:6px}
.yl-about-points-stacked span{font-size:14.5px;line-height:1.55;color:#000}
@media(max-width:820px){
  .yl-about-editorial{grid-template-columns:1fr;gap:30px}
  .yl-about-experience-split{grid-template-columns:1fr;gap:36px}
  .yl-about-experience-grid{grid-template-columns:1fr;gap:42px}
  .yl-about-experience-image{min-height:390px}
  .yl-about-experience-image img{min-height:390px}
}
@media(max-width:640px){
  .yl-about-points>div{grid-template-columns:1fr;gap:4px}
}

/* v1.25.0 — homepage firm introduction: heading on its own row, an even
   text/image split below it, and a full-width footer row (points + button)
   instead of stacking everything into one long left-hand column. No hidden
   or collapsed text — the full paragraph is always visible. */
.yl-home-intro{overflow:hidden}
.yl-home-intro-head{max-width:820px;margin:0 0 38px}
.yl-home-intro-head h2{margin-bottom:0}
.yl-home-intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(390px,1fr);gap:64px;align-items:stretch}
.yl-home-intro-content{max-width:640px}
.yl-home-intro-text{max-width:640px}
.yl-home-intro-text p{font-size:18px;line-height:1.75;margin:0 0 18px}
.yl-home-intro-text p:last-child{margin-bottom:0}
.yl-home-intro-footer{margin-top:16px;padding-top:20px;border-top:1px solid rgba(25,47,97,.16);display:flex;align-items:center;justify-content:flex-start;gap:48px;flex-wrap:wrap}
.yl-home-intro-footer .yl-intro-points{flex:0 1 460px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:0;border:0}
.yl-home-intro-footer .yl-intro-points>div{padding:0 22px 0 0;margin:0;border-right:1px solid rgba(25,47,97,.14)}
.yl-home-intro-footer .yl-intro-points>div:last-child{border-right:0;padding-right:0}
.yl-intro-points strong{display:block;color:var(--yl-primary);font-family:var(--yl-heading-font);font-size:17px;line-height:1.25}
.yl-intro-points span{display:block;font-size:14px;line-height:1.55;color:#000;margin-top:6px}
.yl-intro-action{flex:0 0 auto;margin:0}
.yl-intro-action .yl-btn{min-height:48px;padding:14px 26px;border-radius:5px}
.yl-intro-image{max-width:560px}
.yl-intro-image img{min-height:420px}
@media(max-width:980px){
  .yl-home-intro-grid{grid-template-columns:1fr;gap:42px}
  .yl-home-intro-content{max-width:none}
  .yl-home-intro-visual{max-width:680px}
  .yl-home-intro-footer{flex-direction:column;align-items:stretch;gap:26px}
  .yl-home-intro-footer .yl-intro-points{flex:0 0 auto;grid-template-columns:1fr;gap:18px}
  .yl-home-intro-footer .yl-intro-points>div{border-right:0;border-bottom:1px solid rgba(25,47,97,.12);padding:0 0 14px}
  .yl-home-intro-footer .yl-intro-points>div:last-child{border-bottom:0;padding-bottom:0}
}
@media(max-width:640px){.yl-home-intro-text p{font-size:16px}.yl-intro-image,.yl-intro-image img{min-height:360px}.yl-intro-action .yl-btn{width:100%}}

/* v1.9.0 — layout polish pass:
   equal-height practice/service cards, FAQ open/close indicator, and a
   homepage hero image position tweak so uploaded portrait-leaning photos
   don't crop out the subject on wide screens. */
.yl-practice-card,.yl-service-item{display:flex;flex-direction:column}
.yl-practice-card p,.yl-service-item p{flex:0 0 auto}
.yl-practice-card>span{margin-top:auto;padding-top:18px}
.yl-faq summary span{display:inline-block;transition:transform .25s ease}
.yl-faq[open] summary span{transform:rotate(45deg)}


/* v1.10.0 — Footer [yount_footer] */
.yl-footer,.yl-footer *{box-sizing:border-box}
.yl-footer{background:var(--yl-primary);color:rgba(255,255,255,.72);font-family:var(--yl-body-font);line-height:1.6;text-align:left;-webkit-font-smoothing:antialiased}
.yl-footer a{transition:all .2s ease}
.yl-footer p{color:inherit}
.yl-footer-main{padding:56px 0 40px;border-top:3px solid var(--yl-accent)}
.yl-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:56px}
.yl-footer-col h3,.yl-footer-heading{color:#fff;font-family:var(--yl-heading-font);font-weight:500;font-size:17px;letter-spacing:.02em;margin:0 0 22px}
.yl-footer-logo{max-width:170px;max-height:64px;object-fit:contain;margin-bottom:18px;display:block}
.yl-footer-firm-name{font-family:var(--yl-heading-font);font-size:22px;color:#fff;margin-bottom:10px}
.yl-footer-tagline{font-family:var(--yl-heading-font);font-style:italic;font-size:16px;color:var(--yl-accent);margin-bottom:18px}
.yl-footer-about{max-width:340px;font-size:14.5px;line-height:1.7}
.yl-footer-about p{color:rgba(255,255,255,.68);margin:0 0 12px}
.yl-footer-social{display:flex;gap:12px;margin-top:24px}
.yl-footer-social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.28);color:#fff;transition:border-color .2s ease,background .2s ease,color .2s ease}
.yl-footer-social a svg{width:16px;height:16px}
.yl-footer-social a:hover{background:var(--yl-accent);border-color:var(--yl-accent);color:var(--yl-primary)}
.yl-footer-links{list-style:none;margin:0;padding:0}
.yl-footer-links li{border-bottom:1px solid rgba(255,255,255,.1)}
.yl-footer-links li:first-child{border-top:1px solid rgba(255,255,255,.1)}
.yl-footer-links a{display:block;padding:11px 0;color:rgba(255,255,255,.75);text-decoration:none;font-size:14.5px;transition:color .2s ease,padding-left .2s ease}
.yl-footer-links a:hover{color:var(--yl-accent);padding-left:6px}
.yl-footer-contact .yl-footer-line{margin-bottom:12px;font-size:14.5px;line-height:1.6}
.yl-footer-contact a{color:#fff;text-decoration:none;font-weight:600}
.yl-footer-contact a:hover{color:var(--yl-accent)}
.yl-footer-address,.yl-footer-hours{color:rgba(255,255,255,.68)}
.yl-footer-cta{margin-top:20px}
.yl-footer-cta .yl-btn{min-height:46px;padding:13px 22px;font-size:11px}
.yl-footer-bottom{border-top:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.14)}
.yl-footer-bottom-inner{padding:22px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 40px;align-items:flex-start}
.yl-footer-copyright{font-size:12.5px;color:#fff;white-space:nowrap}
.yl-footer-disclaimer{font-size:12px;line-height:1.6;color:#fff;max-width:760px}
.yl-footer-disclaimer p{margin:0;color:#fff}
@media(max-width:980px){
  .yl-footer-grid{grid-template-columns:1fr 1fr;row-gap:44px}
}
@media(max-width:640px){
  .yl-footer-main{padding:40px 0 28px}
  .yl-footer-grid{grid-template-columns:1fr;gap:38px}
  .yl-footer-bottom-inner{padding:16px 0}
}

