/*
Theme Name: GR Law
Theme URI: https://www.gatrimon-law.co.il/
Author: Topeak Media
Description: Lightweight RTL theme for Gat Rimon & Co. Replaces the Elementor stack. Built for Core Web Vitals, accessibility and structured data.
Version: 1.0.0
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: gr
*/

/* ======================================================= Ploni (self-hosted)
   The site's existing typeface. Files already live in wp-content/uploads,
   so no external font request is made at all. Paths are relative to this
   stylesheet, which keeps them valid on staging and on the live domain. */
@font-face{
  font-family:"Ploni";font-style:normal;font-weight:300;font-display:swap;
  src:url("../../uploads/2022/01/ploni-light-aaa.woff2") format("woff2");
}
@font-face{
  font-family:"Ploni";font-style:normal;font-weight:400;font-display:swap;
  src:url("../../uploads/2022/01/ploni-regular-aaa.woff2") format("woff2");
}
@font-face{
  font-family:"Ploni";font-style:normal;font-weight:500;font-display:swap;
  src:url("../../uploads/2022/01/ploni-medium-aaa.woff2") format("woff2");
}
@font-face{
  font-family:"Ploni";font-style:normal;font-weight:800;font-display:swap;
  src:url("../../uploads/2022/01/ploni-ultrabold-aaa.woff2") format("woff2");
}

/* ============================================================ tokens */
:root{
  --navy:#21305c;
  --navy-dark:#1a2649;
  --navy-deep:#141d38;
  --gold:#c4a265;
  --gold-dark:#a8883f;
  --gold-soft:#f6efe1;
  --ink:#232933;
  --ink-soft:#4a515e;
  --muted:#6b7280;
  --line:#e6e8ec;
  --bg:#fff;
  --bg-soft:#f7f8fa;
  --radius:12px;
  --radius-sm:8px;
  --maxw:1300px;
  --measure:76ch;
  --shadow:0 1px 3px rgba(20,29,56,.07),0 6px 20px rgba(20,29,56,.06);
  --shadow-lg:0 12px 40px rgba(20,29,56,.15);
  --step:clamp(1.06rem,1rem + .35vw,1.2rem);
  --tel-ic:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1-9.4 0-17-7.6-17-17 0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E");
  --tick-ic:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
}
/* ---- type scale ----------------------------------------------------
   One family (Ploni) at two weights. Hebrew display type wants slightly
   negative tracking; Hebrew body text wants more leading than Latin. */
h1,h2,h3,h4{font-weight:800;letter-spacing:-.015em;line-height:1.18;margin:0 0 .5em;color:var(--navy)}
h1{font-size:clamp(2rem,1.45rem + 2.3vw,3.1rem);line-height:1.1;letter-spacing:-.025em}
h2{font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem)}
h3{font-size:1.15rem;letter-spacing:-.01em}
h4{font-size:1.02rem;letter-spacing:-.005em}
p{line-height:1.78}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Ploni","Heebo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:var(--step);line-height:1.7;
  text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px}
h1,h2,h3,h4{text-wrap:balance}
p{margin:0 0 1.1em}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.skip{position:absolute;top:-80px;right:16px;z-index:300;background:var(--gold);color:#fff;
  padding:12px 22px;font-weight:500;border-radius:0 0 8px 8px;transition:top .18s}
.skip:focus{top:0}

/* ============================================================ header */
.topbar{background:#fff;border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px}
.brand{text-decoration:none;display:flex;align-items:center;flex:none}
.brand img{width:clamp(180px,14vw,250px);height:auto;object-fit:contain}
.brand-txt{font-size:1.5rem;font-weight:800;color:var(--navy);letter-spacing:-.01em}
.brand-txt small{font-weight:500;color:var(--gold);font-size:.78em}
.topbar-actions{display:flex;align-items:center;gap:18px;flex:1;justify-content:flex-end}

/* ---- site search ---- */
.site-search{position:relative;display:flex;align-items:center;max-width:280px;flex:1 1 200px}
.site-search input{
  width:100%;border:1.5px solid var(--line);border-radius:999px;background:#fff;
  padding:12px 20px 12px 46px;font:inherit;font-size:.95rem;color:var(--ink);
  transition:border-color .18s,box-shadow .18s
}
.site-search input::placeholder{color:var(--muted)}
.site-search input:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.site-search button{
  position:absolute;inset-inline-end:6px;width:34px;height:34px;border:0;background:transparent;
  cursor:pointer;display:grid;place-items:center;border-radius:50%
}
.site-search button svg{width:18px;height:18px;fill:var(--navy)}
.site-search button:hover{background:var(--bg-soft)}

/* ---- phone: the single most useful thing in the header ---- */
.topcall{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.topcall-ic{
  width:48px;height:48px;border-radius:50%;background:var(--gold);
  display:grid;place-items:center;flex:none;transition:transform .18s,box-shadow .18s;
  box-shadow:0 4px 14px rgba(196,162,101,.4)
}
.topcall-ic svg{width:22px;height:22px;fill:#fff}
.topcall:hover .topcall-ic{transform:translateY(-2px);box-shadow:0 7px 20px rgba(196,162,101,.55)}
.topcall-txt{display:flex;flex-direction:column;line-height:1.15}
.topcall-txt small{font-size:.78rem;color:var(--muted);letter-spacing:.04em}
.topcall-txt strong{font-size:1.32rem;font-weight:800;color:var(--navy);letter-spacing:.01em;direction:ltr}
.topcall:hover .topcall-txt strong{color:var(--gold-dark)}

.navtoggle{display:none;width:48px;height:48px;border:1.5px solid var(--line);background:#fff;border-radius:var(--radius-sm);cursor:pointer;flex:none}
.bars,.bars::before,.bars::after{display:block;width:22px;height:2px;background:var(--navy);margin-inline:auto;transition:.2s}
.bars::before,.bars::after{content:"";position:relative}
.bars::before{top:-7px}.bars::after{top:5px}

/* ---- primary navigation ---- */
.nav{background:var(--navy);position:sticky;top:0;z-index:60;box-shadow:0 2px 10px rgba(20,29,56,.18)}
.nav .menu{list-style:none;display:flex;flex-wrap:wrap;gap:2px;margin:0;padding:0;min-height:60px;align-items:center;justify-content:center}
.nav>.wrap>.menu{justify-content:flex-start}
.nav a{
  color:#fff;text-decoration:none;font-size:1.03rem;font-weight:500;padding:17px 16px;
  white-space:nowrap;display:block;position:relative;transition:color .16s
}
.nav>.wrap>.menu>li>a::before{
  content:"";position:absolute;inset-inline:14px;bottom:10px;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:center;transition:transform .2s
}
.nav>.wrap>.menu>li>a:hover::before,
.nav>.wrap>.menu>li.current-menu-item>a::before,
.nav>.wrap>.menu>li.current-menu-ancestor>a::before{transform:scaleX(1)}
.nav a:hover{color:var(--gold)}
.nav .current-menu-item>a{color:var(--gold)}

/* the phone slides into the sticky bar once the header has scrolled away */
.nav-sentinel{display:block;height:1px;margin-bottom:-1px}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav .nav-tel{
  display:none;align-items:center;gap:9px;flex:none;text-decoration:none;color:#fff;
  font-weight:800;font-size:1.12rem;direction:ltr;letter-spacing:.01em;
  background:var(--gold);padding:9px 16px;border-radius:999px;
  transition:background .18s,transform .18s
}
.nav .nav-tel::before{
  content:"";width:17px;height:17px;flex:none;background:#fff;border-radius:50%;
  -webkit-mask:var(--tel-ic) center/11px no-repeat;mask:var(--tel-ic) center/11px no-repeat
}
.nav .nav-tel:hover{background:var(--gold-dark);transform:translateY(-1px);color:#fff}
.nav.is-stuck .nav-tel{display:inline-flex;animation:gr-telin .22s ease-out}
.nav.is-stuck .nav-tel::before{opacity:1}
@keyframes gr-telin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:620px){.nav .wrap{justify-content:flex-start}.nav.is-stuck .nav-tel{display:none}}

/* ---- dropdown / mega menu for the service categories ---- */
.nav .menu li{position:relative}
.nav .menu-item-has-children>a::after{
  content:"";display:inline-block;width:6px;height:6px;margin-inline-start:7px;vertical-align:2px;
  border-inline-end:2px solid rgba(255,255,255,.75);border-bottom:2px solid rgba(255,255,255,.75);
  transform:rotate(45deg);transition:transform .18s
}
.nav .menu-item-has-children:hover>a::after,
.nav .menu-item-has-children:focus-within>a::after{transform:rotate(-135deg)}
.nav .sub-menu{
  position:absolute;top:100%;inset-inline-start:0;z-index:80;margin:0;padding:10px;
  list-style:none;background:#fff;border-radius:0 0 var(--radius) var(--radius);
  box-shadow:var(--shadow-lg);border-top:3px solid var(--gold);
  min-width:250px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s,transform .16s,visibility .16s
}
.nav .menu-item-has-children:hover>.sub-menu,
.nav .menu-item-has-children:focus-within>.sub-menu,
.nav .sub-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.nav .sub-menu a{color:var(--navy);font-weight:500;padding:9px 14px;border-radius:var(--radius-sm);white-space:normal}
.nav .sub-menu a:hover{background:var(--gold-soft);color:var(--navy-dark)}
/* a parent with many children spreads into two columns instead of one long list */
.nav .sub-menu{columns:1}
.nav .menu-item-has-children>.sub-menu:has(li:nth-child(6)){min-width:min(480px,calc(100vw - 32px));columns:2;column-gap:6px}
.nav .sub-menu li{break-inside:avoid}

/* ============================================================ article */
.crumbs{font-size:.86rem;color:var(--muted);padding:18px 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.crumbs li+li::before{content:"›";margin-inline-end:6px;color:var(--line)}
.crumbs a{color:var(--muted)}

.article{max-width:980px}
.article-head{padding:14px 0 6px}
.meta{color:var(--muted);font-size:.9rem;margin:0}
.article-img{margin:26px 0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}

.quicky{
  background:linear-gradient(180deg,var(--gold-soft),#fffdf8);
  border:1px solid #efe3cc;border-inline-start:4px solid var(--gold);
  border-radius:var(--radius);padding:22px 24px;margin:26px 0
}
.quicky-title{font-size:1rem;letter-spacing:.06em;color:var(--gold-dark);margin-bottom:.5em;text-transform:none}
.quicky p:last-child{margin-bottom:0}

.prose{max-width:var(--measure)}
.prose h2{margin-top:1.9em;padding-top:.2em}
.prose h3{margin-top:1.5em}
.prose ul,.prose ol{padding-inline-start:1.3em;margin:0 0 1.1em}
.prose li{margin-bottom:.45em}
.prose a{color:var(--gold-dark);font-weight:500}
.prose a:hover{color:var(--navy)}
.prose img{border-radius:var(--radius);margin:1.4em 0}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:start}
.prose th{background:var(--bg-soft);font-weight:500;color:var(--navy)}
.prose blockquote{border-inline-start:4px solid var(--gold);margin:1.4em 0;padding:4px 18px;color:var(--ink-soft)}

.pullquote{
  margin:34px 0;padding:26px 28px;background:var(--navy);color:#fff;border-radius:var(--radius);
  position:relative;box-shadow:var(--shadow)
}
.pullquote::before{content:"”";position:absolute;inset-inline-start:18px;top:-6px;font:900 64px/1 Georgia,serif;color:var(--gold);opacity:.55}
.pullquote p{font-size:1.1rem;line-height:1.6;margin:0 0 .7em}
.pullquote cite{font-style:normal;font-weight:500;color:var(--gold);font-size:.95rem}

.summary{background:var(--bg-soft);border-radius:var(--radius);padding:24px 26px;margin:32px 0}
.summary h2{margin-top:0}
.summary p:last-child{margin-bottom:0}

/* ---- FAQ: native <details>, zero JS, zero layout shift ---- */
.faq{margin:36px 0}
.faq details{border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:10px;background:#fff;overflow:hidden}
.faq details[open]{box-shadow:var(--shadow)}
.faq summary{
  cursor:pointer;padding:16px 20px;font-weight:500;color:var(--navy);list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:14px
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;font-weight:400;color:var(--gold);flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{background:var(--bg-soft)}
.faq-a{padding:0 20px 18px;color:var(--ink-soft)}
.faq-a p:last-child{margin-bottom:0}

/* ------- WordPress content classes -------
   170 pages of legacy editor markup land in .prose: alignment classes,
   captions, inline widths and the odd pasted font-family. Style them here
   instead of leaving the browser defaults to it. */
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 1.15em}
.prose h2{
  font-size:clamp(1.3rem,1.15rem + .5vw,1.6rem);margin-top:2em;padding-top:.65em;
  border-top:1px solid var(--line);position:relative
}
.prose h2::before{content:"";position:absolute;top:-1px;inset-inline-start:0;width:46px;height:3px;background:var(--gold)}
.prose h2:first-child{border-top:0;padding-top:0;margin-top:0}
.prose h2:first-child::before{display:none}
.prose h3{font-size:1.12rem;color:var(--navy);margin-top:1.7em}
.prose h4{font-size:1.02rem;color:var(--navy-dark);margin-top:1.4em}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.2em 0}
.prose strong,.prose b{color:var(--navy-dark)}

/* pasted markup sometimes carries a font that is not the brand's */
.prose [style*="font-family"]{font-family:inherit !important}

.prose figure{margin:1.6em 0}
.prose figcaption,.prose .wp-caption-text{
  font-size:.86rem;color:var(--muted);text-align:center;padding-top:8px;margin:0
}
.prose img{
  height:auto;max-width:100%;border-radius:var(--radius);
  box-shadow:0 1px 2px rgba(20,29,56,.08),0 8px 24px rgba(20,29,56,.07)
}
.prose p>img:only-child{display:block;margin-inline:auto}
.prose .wp-caption{max-width:100%;margin:1.6em 0}

.aligncenter,.prose .aligncenter{display:block;margin-inline:auto;margin-block:1.6em}
.alignnone,.prose .alignnone{display:block;margin-block:1.6em}
.alignleft,.alignright{margin-block:.4em 1.2em}
@media(min-width:720px){
  /* the site is RTL: "alignleft" in the editor means the text wraps on its right */
  .prose .alignleft{float:left;margin:.4em 1.6em 1.2em 0;max-width:46%}
  .prose .alignright{float:right;margin:.4em 0 1.2em 1.6em;max-width:46%}
}
@media(max-width:719px){
  .prose .alignleft,.prose .alignright{float:none;display:block;margin-inline:auto;max-width:100%}
}
.prose .alignwide,.prose .alignfull{max-width:none;width:100%}
/* a float must not spill past the section it sits in */
.prose h2,.prose h3,.prose .cta,.prose .faq{clear:both}

.prose table{display:block;overflow-x:auto;white-space:normal}
@media(min-width:720px){.prose table{display:table}}
.prose iframe,.prose video{max-width:100%;border-radius:var(--radius)}
.prose ul.blk-list{list-style:none}

/* a float with no copy beside it leaves a hole: only wrap when text follows */
@media(min-width:720px){
  .prose p:has(> img.alignleft:only-child):has(+ h2) > img,
  .prose p:has(> img.alignleft:only-child):has(+ h3) > img,
  .prose p:has(> img.alignright:only-child):has(+ h2) > img,
  .prose p:has(> img.alignright:only-child):has(+ h3) > img,
  .prose p:last-child > img.alignleft:only-child,
  .prose p:last-child > img.alignright:only-child{
    float:none;display:block;margin-inline:auto;max-width:min(100%,560px)
  }
}
/* ------- table of contents ------- */
.toc{
  background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 22px 20px;margin:26px 0 30px
}
.toc>p{margin:0 0 .6em;font-weight:800;color:var(--navy);font-size:.95rem}
.toc ol{margin:0;padding-inline-start:1.2em;columns:2;column-gap:28px}
.toc li{margin-bottom:.4em;break-inside:avoid;font-size:.94rem}
.toc a{color:var(--ink-soft);text-decoration:none}
.toc a:hover{color:var(--gold-dark);text-decoration:underline}
@media(max-width:719px){.toc ol{columns:1}}
.prose :target{scroll-margin-top:72px}

/* ------- service page hero ------- */
.hero.hero-svc{margin-top:18px}
.hero.hero-svc h1{font-size:clamp(1.55rem,1.15rem + 1.5vw,2.2rem)}

/* ============================================================ cards */
.archive-head{padding:10px 0 24px}
.sec-lede{color:var(--muted);max-width:60ch}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{position:relative;display:block;aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;
  text-decoration:none;background:var(--navy);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(20,29,56,.92),rgba(20,29,56,.3) 58%,rgba(20,29,56,.05))}
.card span{position:absolute;inset-inline:0;bottom:0;z-index:2;padding:20px;color:#fff;font-weight:500;
  font-size:1.05rem;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.pager{display:flex;justify-content:center;gap:8px;margin:40px 0}
.pager .page-numbers{padding:9px 15px;border:1px solid var(--line);border-radius:var(--radius-sm);
  text-decoration:none;color:var(--navy)}
.pager .current{background:var(--navy);color:#fff;border-color:var(--navy)}

.home article.page>.wrap,
.page.has-blocks>.wrap{max-width:var(--maxw)}

/* ============================================================ hero band
   Full width, photo behind a navy wash. The front page and every service
   page open with it, so an inner page reads like the home page. */
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);
  color:#fff;padding:46px 0 46px;margin-bottom:44px
}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to left,rgba(20,29,56,.97) 32%,rgba(20,29,56,.86) 62%,rgba(26,38,73,.72) 100%)
}
.hero-inner{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
.hero.has-portrait .hero-inner{grid-template-columns:1fr minmax(260px,400px)}
/* copy on the reading side, the portrait on the far edge */
.hero.is-home.has-portrait .hero-main{order:1}
.hero.is-home.has-portrait .hero-portrait{order:2}
/* an inner band runs portrait, copy, form from the reading edge outwards */
.hero.is-inner .hero-portrait{order:1}
.hero.is-inner .hero-main{order:2}
.hero.is-inner .hero-side{order:3}

.hero.has-form:not(.has-portrait) .hero-inner{grid-template-columns:1fr minmax(300px,440px)}
.hero-side{min-width:0}
.hero.has-form:not(.has-portrait) .lead-hero{margin-top:0;max-width:none}

.hero-portrait{position:relative}
.hero-portrait img{
  width:100%;height:auto;display:block;border-radius:var(--radius);
  box-shadow:0 22px 60px rgba(0,0,0,.5);border:3px solid rgba(255,255,255,.16)
}
.hero-portrait::after{
  content:"";position:absolute;inset-inline-end:-14px;bottom:-14px;width:120px;height:120px;
  border:3px solid var(--gold);border-radius:var(--radius);z-index:-1;opacity:.55
}

/* ---- article header band: the same family as the page hero, lighter ---- */
.artband{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);
  color:#fff;padding:12px 0 34px;margin-bottom:34px;position:relative;overflow:hidden
}
.artband::after{
  content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--gold)
}
.artband .crumbs,.artband .crumbs a{color:rgba(255,255,255,.62)}
.artband .crumbs a:hover{color:var(--gold)}
.artband .crumbs li+li::before{color:rgba(255,255,255,.3)}
.artband .article-head{padding:10px 0 0;max-width:70ch}
.artband h1{color:#fff;font-size:clamp(1.6rem,1.15rem + 1.6vw,2.3rem);line-height:1.2;margin:0 0 .4em}
.artband .meta{color:rgba(255,255,255,.66);font-size:.92rem;margin:0}
.article.wrap{padding-top:0}

/* a plain page needs less weight than a sales page */
.hero.hero-page{padding:46px 0 44px;margin-bottom:38px}
.hero.hero-page h1{font-size:clamp(1.65rem,1.2rem + 1.6vw,2.4rem)}
.hero.hero-page .hero-bg img{object-position:center 40%}
.hero.hero-page::after{
  background:linear-gradient(to left,rgba(20,29,56,.96) 38%,rgba(20,29,56,.88) 70%,rgba(26,38,73,.78) 100%)
}

/* A cut-out portrait stands on the band instead of sitting in a frame:
   bottom-aligned, bleeding off the lower edge, with a soft contact shadow. */
.hero.has-cutout{padding-bottom:0}
.hero.has-cutout .hero-inner{align-items:end;gap:24px}
.hero.has-cutout .hero-portrait{align-self:end;margin-bottom:-2px}
.hero.has-cutout .hero-portrait img{
  border:0;border-radius:0;box-shadow:none;background:transparent;
  filter:drop-shadow(0 24px 38px rgba(0,0,0,.55));
  width:100%;max-width:420px;margin-inline:auto;display:block
}
.hero.has-cutout .hero-portrait::after{display:none}
.hero.is-home.has-cutout .hero-main{padding-bottom:46px}
.hero.is-home.has-cutout .hero-side{padding-bottom:56px}
@media(max-width:900px){
  .hero.has-cutout{padding-bottom:0}
  .hero.has-cutout .hero-portrait{display:none}
  .hero.has-cutout .hero-main{padding-bottom:34px}
}

.hero-main{min-width:0}

/* ---- hero -----------------------------------------------------------
   Gold is reserved for the two things we want pressed: the submit button
   and the phone number. Everything else in the band is white on navy. */
.hero h1{margin:0 0 .5em;color:#fff}
.hero-lede{max-width:62ch;color:rgba(255,255,255,.82);font-size:1.12rem;line-height:1.75}
.hero-lede p,.hero-lede div{margin:0 0 .5em}
.hero-lede p:last-child{margin-bottom:0}

/* ---- the phone as a deliberate secondary action, not stray text ---- */
.hero-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:22px 0 0}
.hero-acts .btn-link{margin:0}
.hero-tel{
  display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:#fff;
  padding:10px 22px 10px 18px;border:1.5px solid rgba(255,255,255,.38);border-radius:999px;
  transition:background .18s,border-color .18s,transform .18s
}
.hero-tel::before{
  content:"";width:22px;height:22px;flex:none;background:var(--gold);border-radius:50%;
  -webkit-mask:var(--tel-ic) center/13px no-repeat;mask:var(--tel-ic) center/13px no-repeat
}
.hero-tel span{font-size:.84rem;color:rgba(255,255,255,.64);letter-spacing:.02em}
.hero-tel strong{font-size:1.26rem;font-weight:800;direction:ltr;letter-spacing:.01em;color:#fff}
.hero-tel:hover{background:rgba(255,255,255,.1);border-color:var(--gold);transform:translateY(-1px)}
.hero-tel:hover strong{color:var(--gold)}

/* the form no longer stretches the full width of a wide column */
.hero.is-home .lead-hero{max-width:640px}

/* ---- three columns on an inner band: portrait, copy, form ---- */
.hero.is-inner.has-cutout .hero-inner{
  grid-template-columns:minmax(190px,250px) minmax(0,1fr) minmax(340px,390px);
  gap:26px;align-items:end
}
.hero.is-inner.has-cutout .hero-portrait img{max-width:250px}
/* the side column is too narrow for two fields abreast */
.hero.is-inner .lead-hero .form-row{grid-template-columns:1fr;gap:0}
.hero.is-inner .lead-hero::before{font-size:1.1rem}
.hero.is-inner .lead-hero{padding:20px 20px 18px}
.hero.is-inner .hero-main{padding-bottom:40px}
.hero.is-inner .hero-side{padding-bottom:40px}
.hero.is-inner h1{font-size:clamp(1.7rem,1.25rem + 1.5vw,2.5rem)}
.hero.is-inner .hero-lede{font-size:1.06rem;max-width:46ch}
.hero.is-inner .hero-tel strong{font-size:1.12rem}
@media(max-width:1180px){
  .hero.is-inner.has-cutout .hero-inner{grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:30px}
  .hero.is-inner .hero-portrait{display:none}
}
@media(max-width:900px){
  .hero.is-inner.has-cutout .hero-inner{grid-template-columns:1fr}
  .hero.is-inner .hero-main,.hero.is-inner .hero-side{padding-bottom:0}
  .hero.is-inner{padding-bottom:34px}
}

/* ---- the form: frosted glass over the photograph --------------------
   The panel is translucent, but the inputs stay near-opaque so the text a
   person types is always legible against whatever is behind the band. */
.lead-hero{
  margin:0;padding:24px 26px 22px;border-radius:var(--radius);max-width:none;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
  border:1px solid rgba(255,255,255,.26);
  -webkit-backdrop-filter:blur(22px) saturate(155%);
  backdrop-filter:blur(22px) saturate(155%);
  box-shadow:0 28px 70px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.34)
}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .lead-hero{background:rgba(20,29,56,.88)}
}
.lead-hero::before{
  content:"השאירו פרטים ונחזור אליכם היום";
  display:block;color:#fff;font-weight:800;font-size:1.22rem;
  letter-spacing:-.015em;margin-bottom:2px;text-shadow:0 1px 2px rgba(0,0,0,.25)
}
.lead-hero .form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-top:16px;align-items:start}
.lead-hero .field{margin-bottom:4px}
.lead-hero .field label{color:rgba(255,255,255,.88);font-weight:500;font-size:.88rem;margin-bottom:6px}
.lead-hero .field input{
  border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.94);
  padding:14px 15px;font-size:1.02rem;border-radius:var(--radius-sm);color:var(--ink)
}
.lead-hero .field input::placeholder{color:var(--muted)}
.lead-hero .field input:focus{
  background:#fff;border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,162,101,.45)
}
.lead-hero .err{min-height:0;color:#ffcdd2;margin-top:2px}
.lead-hero .err:not(:empty){min-height:17px;margin-bottom:2px}
.lead-hero .btn{
  grid-column:1 / -1;width:100%;margin:10px 0 0;min-height:56px;
  font-size:1.12rem;font-weight:800;letter-spacing:-.01em;
  box-shadow:0 8px 22px rgba(196,162,101,.4)
}
.lead-hero .consent{color:rgba(255,255,255,.78);font-size:.82rem;margin:13px 0 0;align-items:center;line-height:1.45}
.lead-hero .consent a{color:var(--gold)}
.lead-hero .formnote{min-height:0;margin:0;color:#fff}
.lead-hero .formnote:not(:empty){margin:10px 0 0}
.lead-hero .formnote.ok{color:#a5e8c4}
.lead-hero .formnote.bad{color:#ffcdd2}
.lead-hero .reassure{margin:10px 0 0;font-size:.82rem;color:rgba(255,255,255,.72);display:flex;gap:7px;align-items:center}
.lead-hero .reassure::before{
  content:"";width:15px;height:15px;flex:none;background:var(--gold);border-radius:50%;
  -webkit-mask:var(--tick-ic) center/10px no-repeat;mask:var(--tick-ic) center/10px no-repeat
}
.lead-hero .hp{margin:0}

/* ---- give the portrait real presence ---- */
/* the band shares the site's container so it lines up with the stats bar and
   everything below it; inside it the copy keeps the dominant share */
.hero.is-home.has-cutout .hero-inner{grid-template-columns:minmax(0,1fr) minmax(220px,310px);gap:40px}
.hero.is-home.has-cutout .hero-portrait{justify-self:end}
/* the waist-up crop is tall, so cap the height and let the width follow.
   The portrait escapes the band's top padding so his head reaches the very
   top of the band instead of floating 46px below it. */
.hero.is-home.has-cutout .hero-portrait{margin-top:-46px}
.hero.is-home.has-cutout .hero-portrait img{
  max-width:100%;max-height:min(690px,78vh);width:auto;margin-inline:auto
}
.hero.has-cutout{min-height:0;display:flex;align-items:flex-end}
.hero.has-cutout .wrap{width:100%}

/* ================================================ services + testimonials */
/* ---- service cards: photo, gradient, title over it ---- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0 8px}
.svc{
  position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius);
  background:var(--navy);box-shadow:var(--shadow);min-height:230px;
  display:flex;align-items:flex-end;transition:transform .22s,box-shadow .22s
}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.svc-img{position:absolute;inset:0;z-index:-2}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.svc:hover .svc-img img{transform:scale(1.05)}
.svc::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(20,29,56,.92) 0%,rgba(20,29,56,.55) 42%,rgba(20,29,56,.12) 100%)
}
.svc-body{padding:22px 24px 24px;width:100%}
.svc-body h3{margin:0;font-size:1.32rem;line-height:1.25;letter-spacing:-.02em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.svc-body h3 a{
  color:#fff;text-decoration:none;
  /* the whole card is the hit area */
}
.svc-body h3 a::after{content:"";position:absolute;inset:0}
.svc-body h3 a:hover{color:var(--gold)}

.svc::before{
  content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;z-index:1;
  background:var(--gold);opacity:0;transition:opacity .22s
}
.svc:hover::before{opacity:1}

/* ---- text beside a photo ---- */
.split{display:grid;grid-template-columns:1fr minmax(260px,420px);gap:40px;align-items:center;margin:28px 0}
.split.is-flipped{grid-template-columns:minmax(260px,420px) 1fr}
.split.is-flipped .split-text{order:2}
.split.is-flipped .split-img{order:1}
.split-text{min-width:0}
.split-text .prose{max-width:none}
.split-text .blk-btn{margin:20px 0 0}
.split-img{position:relative;margin:0}
.split-img img{
  width:100%;height:auto;display:block;border-radius:var(--radius);
  box-shadow:0 14px 40px rgba(20,29,56,.18)
}

@media(max-width:900px){
  .split,.split.is-flipped{grid-template-columns:1fr;gap:26px}
  .split.is-flipped .split-text{order:1}
  .split.is-flipped .split-img{order:2}
  .split-img{max-width:360px}
  .split-img::after{display:none}
}

/* ---- page body beside a sticky sidebar ---- */
.pagegrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:46px;align-items:start}
.pagebody{min-width:0}
article.page>.wrap.pagegrid{max-width:var(--maxw)}
.article.pagebody{max-width:none}

.sidebar{position:sticky;top:76px;display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-self:start}
.sb-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.sb-h{margin:0 0 13px;font-weight:800;color:var(--navy);font-size:1.05rem;letter-spacing:-.015em}

/* ---- the contact card: he stands on the form, the call button sits under it ---- */
/* he stands ON the card, not inside it: the card is pushed down and the
   portrait is pulled up by the same amount, so his head clears the top edge */
.sb-contact{
  --sb-lift:118px;
  margin-top:var(--sb-lift);
  border:0;padding:0 18px 18px;text-align:center;overflow:visible;
  background:linear-gradient(165deg,var(--navy) 0%,var(--navy-deep) 100%);
  box-shadow:0 18px 44px rgba(20,29,56,.26)
}
.sb-portrait{margin-top:calc(-1 * var(--sb-lift))}
.sb-portrait img{
  width:82%;max-width:226px;height:auto;margin-inline:auto;display:block;
  filter:drop-shadow(0 16px 26px rgba(0,0,0,.5))
}
.sb-name{margin:2px 0 0;font-weight:800;font-size:1.14rem;color:#fff;letter-spacing:-.015em}
.sb-role{margin:4px 0 14px;font-size:.82rem;color:rgba(255,255,255,.62);line-height:1.5}

/* the call button is the loudest thing in the column */
.sb-call{
  display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:12px;padding:12px 0 13px;
  background:var(--gold);border-radius:var(--radius-sm);text-decoration:none;
  transition:background .18s,transform .18s;box-shadow:0 8px 20px rgba(196,162,101,.38)
}
.sb-call span{font-size:.82rem;color:rgba(255,255,255,.9);letter-spacing:.02em}
.sb-call strong{font-size:1.32rem;font-weight:800;color:#fff;direction:ltr;letter-spacing:.01em}
.sb-call:hover{background:var(--gold-dark);transform:translateY(-2px)}

/* ---- dark form inside that card ---- */
.lead-side{text-align:start}
.lead-side .form-row{display:grid;grid-template-columns:1fr;gap:0}
.lead-side .field{margin-bottom:2px}
.lead-side .field label{color:rgba(255,255,255,.82);font-weight:500;font-size:.82rem;margin-bottom:5px}
.lead-side .field input{
  width:100%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);
  padding:12px 13px;font:inherit;font-size:.98rem;color:#fff;border-radius:var(--radius-sm)
}
.lead-side .field input::placeholder{color:rgba(255,255,255,.5)}
.lead-side .field input:focus{
  outline:0;background:rgba(255,255,255,.18);border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(196,162,101,.3)
}
.lead-side .err{display:block;min-height:0;font-size:.78rem;color:#ffcdd2}
.lead-side .err:not(:empty){min-height:16px}
.lead-side .btn{width:100%;margin:12px 0 0;min-height:48px;font-size:1rem;font-weight:800;box-shadow:none;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3)}
.lead-side .btn:hover{background:rgba(255,255,255,.24)}
.lead-side .consent{color:rgba(255,255,255,.66);font-size:.76rem;margin:10px 0 0;align-items:center;line-height:1.45}
.lead-side .consent a{color:var(--gold)}
.lead-side .formnote{min-height:0;margin:0;font-size:.86rem;color:#fff}
.lead-side .formnote:not(:empty){margin:8px 0 0}
.lead-side .formnote.ok{color:#a5e8c4}
.lead-side .formnote.bad{color:#ffcdd2}
.lead-side .reassure{display:none}

.sb-facts{list-style:none;margin:0;padding:0;font-size:.92rem;line-height:1.55}
.sb-facts li{position:relative;padding-inline-start:24px;margin-bottom:10px;color:var(--ink-soft)}
.sb-facts li:last-child{margin-bottom:0}
.sb-facts li::before{
  content:"";position:absolute;inset-inline-start:0;top:.42em;width:13px;height:7px;
  border-inline-start:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)
}
.sb-certs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.sb-certs img{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}

/* ---- quotes carousel, one at a time in a narrow column ---- */
.sb-quotes .carousel{margin:0}
.sb-carousel .carousel-track{min-width:0;padding:2px 2px 8px}
/* same specificity as the generic .carousel .quote rule, which comes later */
.sidebar .sb-carousel .quote{
  flex:0 0 100%;margin:0;padding:0;background:transparent;border:0;border-radius:0
}
.sb-carousel .quote blockquote p{margin:0;font-size:.95rem;line-height:1.65;color:var(--ink)}
.sb-carousel .quote figcaption{margin-top:9px}
.sb-carousel .quote cite{font-style:normal;font-weight:800;color:var(--navy);font-size:.88rem}
.sb-carousel .carousel-nav{margin-top:2px;gap:10px}
.sb-carousel .carousel-btn{width:34px;height:34px}
.sb-carousel .carousel-btn svg{width:16px;height:16px}

.sb-services ul{list-style:none;margin:0;padding:0}
.sb-services li{border-top:1px solid var(--line)}
.sb-services li:first-child{border-top:0}
.sb-services a{
  display:block;padding:10px 0;color:var(--ink-soft);text-decoration:none;font-size:.94rem;
  transition:color .16s,padding-inline-start .16s
}
.sb-services a:hover{color:var(--navy);padding-inline-start:5px}
.sb-services .is-here a{color:var(--navy);font-weight:800}
.sb-services .is-here{border-inline-start:3px solid var(--gold);padding-inline-start:10px}

@media(max-width:1080px){
  .pagegrid{grid-template-columns:minmax(0,1fr);gap:34px}
  .sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .sb-contact{grid-column:1 / -1}
  .sb-contact{--sb-lift:92px}
  .sb-portrait img{max-width:180px}
}
@media(max-width:700px){
  .sidebar{grid-template-columns:minmax(0,1fr)}
}

/* on the front page the whole form is one row so the band stays short */
.hero.is-home .lead-hero .form-row{grid-template-columns:1fr 1fr auto;gap:0 12px;align-items:start}
.hero.is-home .lead-hero .btn{grid-column:auto;width:auto;min-width:150px;margin:25px 0 0}
.hero.is-home .lead-hero .consent{margin-top:10px}
@media(max-width:860px){
  .hero.is-home .lead-hero .form-row{grid-template-columns:1fr}
  .hero.is-home .lead-hero .btn{width:100%;margin-top:8px}
}

/* ---- testimonials carousel: scroll-snap, works without JS ---- */
.carousel{position:relative;margin:26px 0 8px;min-width:0}
.carousel-track{
  display:flex;gap:20px;
  overflow-x:auto;scroll-snap-type:x proximity;
  padding:4px 2px 10px;scrollbar-width:none
}
/* flex-basis with no shrink, so the track really does overflow and scroll */
.carousel .quote{flex:0 0 calc(50% - 10px)}
.carousel-track::-webkit-scrollbar{display:none}
.carousel .quote{scroll-snap-align:start;margin:0;height:100%}
.carousel-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:6px}
.carousel-btn{
  width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:#fff;
  cursor:pointer;display:grid;place-items:center;transition:border-color .18s,background .18s;flex:none
}
.carousel-btn svg{width:20px;height:20px;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.carousel-btn:hover{border-color:var(--gold);background:var(--gold-soft)}
.carousel-btn[disabled]{opacity:.35;cursor:default}
.carousel-btn[disabled]:hover{border-color:var(--line);background:#fff}
.carousel-dots{display:flex;gap:8px}
.carousel-dots button{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer;
  transition:background .18s,width .18s
}
.carousel-dots button[aria-selected="true"]{background:var(--gold);width:26px;border-radius:999px}
@media(max-width:620px){.carousel .quote{flex-basis:86%}}

.quotes{display:grid;gap:18px;margin:28px 0 8px}
.quote{margin:0;padding:24px 26px;background:var(--bg-soft);border-radius:var(--radius);
  border-inline-start:3px solid var(--gold)}
.quote blockquote{margin:0}
.quote blockquote p{margin:0;font-size:1.05rem;line-height:1.75;color:var(--ink)}
.quote figcaption{margin-top:14px}
.quote cite{font-style:normal;font-weight:800;color:var(--navy)}
.quote cite span{display:block;font-weight:400;font-size:.86rem;color:var(--muted);margin-top:2px}

/* ---- reviews carried over from the firm's Google profile ---- */
.quote-stars{margin:0 0 11px;color:var(--gold);font-size:1.02rem;letter-spacing:.16em;line-height:1}
.quotes-src{margin:10px 0 0;text-align:center}
.quotes-src a{
  display:inline-flex;align-items:center;gap:9px;padding:9px 17px;min-height:44px;
  font-weight:700;font-size:.92rem;color:var(--navy);text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:999px;
  transition:border-color .15s,background .15s,box-shadow .15s}
.quotes-src a:hover{border-color:var(--gold);background:var(--gold-soft)}
.quotes-src a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.quotes-src svg{width:17px;height:17px;flex:none}
.sb-quotes .quote-stars{margin-bottom:8px;font-size:.88rem}
.sb-quotes .quotes-src{margin-top:12px}
.sb-quotes .quotes-src a{font-size:.84rem;padding:8px 13px;gap:7px}
.sb-quotes .quotes-src svg{width:15px;height:15px}

/* ============================================================ CTA + forms */
/* ---- lead dialog ---- */
.leadmodal{
  border:0;padding:0;background:transparent;max-width:min(520px,94vw);width:100%;
  color:var(--ink);overflow:visible
}
.leadmodal::backdrop{background:rgba(12,18,38,.72);backdrop-filter:blur(3px)}
.leadmodal-in{
  position:relative;background:#fff;border-radius:var(--radius);padding:26px 26px 22px;
  box-shadow:0 30px 80px rgba(0,0,0,.45)
}
.leadmodal-x{
  position:absolute;inset-inline-end:12px;top:12px;width:40px;height:40px;border:0;background:transparent;
  cursor:pointer;border-radius:50%;display:grid;place-items:center
}
.leadmodal-x svg{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}
.leadmodal-x:hover{background:var(--bg-soft)}
.leadmodal-x:hover svg{stroke:var(--navy)}

.leadmodal-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-inline-end:44px}
.leadmodal-head img{width:74px;height:auto;flex:none;border-radius:var(--radius-sm);background:var(--navy)}
.leadmodal-h{margin:0;font-weight:800;font-size:1.22rem;color:var(--navy);letter-spacing:-.015em}
.leadmodal-sub{margin:4px 0 0;font-size:.84rem;color:var(--muted);line-height:1.45}

.lead-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.lead-modal .field{margin-bottom:4px}
.lead-modal .field label{color:var(--ink-soft);font-weight:500;font-size:.86rem;margin-bottom:5px}
.lead-modal .field input{
  width:100%;border:1.5px solid #d7dbe3;background:#fff;padding:13px 14px;font:inherit;
  font-size:1rem;color:var(--ink);border-radius:var(--radius-sm)
}
.lead-modal .field input:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.lead-modal .err{display:block;min-height:0;font-size:.78rem;color:#c62828}
.lead-modal .err:not(:empty){min-height:16px}
.lead-modal .btn{grid-column:1 / -1;width:100%;margin:10px 0 0;min-height:54px;font-size:1.06rem;font-weight:800;box-shadow:none}
.lead-modal .consent{color:var(--muted);font-size:.8rem;margin:12px 0 0;align-items:center;line-height:1.45}
.lead-modal .consent a{color:var(--navy);text-decoration:underline}
.lead-modal .formnote{min-height:0;margin:0;color:var(--navy)}
.lead-modal .formnote:not(:empty){margin:10px 0 0}
.lead-modal .formnote.ok{color:#1b7a46}
.lead-modal .formnote.bad{color:#c62828}
.lead-modal .reassure{display:none}

.leadmodal-tel{
  display:flex;align-items:center;justify-content:center;gap:9px;margin:14px 0 0;padding:12px 0;
  border-top:1px solid var(--line);text-decoration:none;color:var(--navy)
}
.leadmodal-tel span{font-size:.86rem;color:var(--muted)}
.leadmodal-tel strong{font-size:1.2rem;font-weight:800;direction:ltr}
.leadmodal-tel:hover strong{color:var(--gold-dark)}
@media(max-width:620px){
  .lead-modal .form-row{grid-template-columns:1fr}
  .leadmodal-in{padding:22px 20px 18px}
  .leadmodal-head img{width:62px}
}

/* ---- the CTA block is now a heading plus two actions ---- */
.cta{
  margin:46px 0 10px;padding:30px 32px;border-radius:var(--radius);
  background:linear-gradient(135deg,var(--navy),var(--navy-deep));color:#fff;
  display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center
}
.cta h2{color:var(--gold);margin-bottom:.3em}
.cta p{color:rgba(255,255,255,.88);margin:0}
.cta-acts{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cta-acts .btn{margin:0;min-height:54px;padding:0 30px;font-size:1.06rem;font-weight:800;white-space:nowrap}
.cta-phone{display:inline-flex;flex-direction:column;color:#fff;text-decoration:none;line-height:1.2}
.cta-phone span{font-size:.8rem;color:rgba(255,255,255,.6)}
.cta-phone strong{font-size:1.26rem;font-weight:800;direction:ltr}
.cta-phone:hover strong{color:var(--gold)}
@media(max-width:860px){
  .cta{grid-template-columns:1fr;gap:20px;padding:26px 22px}
  .cta-acts{gap:16px}
  .cta-acts .btn{width:100%}
}

.sb-lead{width:100%;margin:4px 0 0;min-height:50px;font-size:1rem;font-weight:800;box-shadow:none}
.hero-leadbtn{display:none}

.field{margin-bottom:12px}
.field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:5px;color:rgba(255,255,255,.9)}
.field input{width:100%;padding:13px 15px;font:inherit;font-size:1rem;color:var(--ink);background:#fff;
  border:2px solid transparent;border-radius:var(--radius-sm);transition:border-color .15s}
.field input:focus{outline:none;border-color:var(--gold)}
.field input[aria-invalid="true"]{border-color:#e05252;background:#fff7f7}
/* error slot always reserved -> zero layout shift */
.err{display:block;min-height:18px;font-size:.8rem;color:#ffc9c9;margin-top:3px}
.form-row{display:grid;grid-template-columns:1fr 1fr auto;gap:0 12px;align-items:start}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;margin-top:24px;
  font:inherit;font-size:1rem;font-weight:500;color:#fff;background:var(--gold);border:0;
  border-radius:var(--radius-sm);cursor:pointer;min-height:50px;min-width:140px;transition:background .18s}
.btn:hover{background:var(--gold-dark)}
.btn:disabled{opacity:.6;cursor:not-allowed}
.consent{display:flex;align-items:flex-start;gap:9px;font-size:.84rem;color:rgba(255,255,255,.82);margin-top:8px}
.consent input{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:var(--gold);cursor:pointer}
.consent a{color:var(--gold)}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.formnote{min-height:20px;margin:8px 0 0;font-size:.88rem;font-weight:500}
.formnote.ok{color:#8ee6b4}
.formnote.bad{color:#ffc9c9}

/* ============================================================ footer */
.site-footer{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--navy-deep);color:rgba(255,255,255,.8);
  margin-top:64px;padding:56px 0 0;font-size:.95rem
}
/* the firm's mark, oversized and barely there */
.foot-mark{
  position:absolute;inset-block:-6% -12%;inset-inline-end:-9%;z-index:-1;
  display:grid;place-items:center;pointer-events:none
}
.foot-mark img{width:min(480px,40vw);height:auto;opacity:.07;filter:grayscale(1) brightness(2.6)}
@media(max-width:900px){.foot-mark{inset-inline-end:-14%}.foot-mark img{width:58vw;opacity:.05}}

.fgrid{display:grid;grid-template-columns:1fr 1.8fr 1.3fr;gap:40px;padding-bottom:40px}
.site-footer h2{color:#fff;font-size:1.05rem;margin-bottom:14px;letter-spacing:-.01em}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:9px}
.site-footer a{color:rgba(255,255,255,.8);text-decoration:none;transition:color .16s}
.site-footer a:hover{color:var(--gold)}

/* fifteen practice areas read better in two columns than one long list */
.fcol-services ul{columns:2;column-gap:30px}
.fcol-services li{break-inside:avoid}

/* the person behind the firm, next to how to reach him */
.flawyer{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.flawyer img{
  width:76px;height:auto;flex:none;border-radius:var(--radius-sm);
  background:linear-gradient(165deg,rgba(255,255,255,.1),rgba(255,255,255,.02))
}
.flawyer-name{margin:0;font-weight:800;color:#fff;font-size:1.02rem;letter-spacing:-.01em}
.flawyer-role{margin:3px 0 0;font-size:.82rem;color:rgba(255,255,255,.55)}

.fhours-h{margin-top:26px}
.fhours li{display:flex;justify-content:space-between;gap:14px;max-width:290px;color:rgba(255,255,255,.72)}
.fhours li span:last-child{color:#fff;font-weight:500;direction:ltr}

.fbot{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;display:flex;justify-content:space-between;
  gap:14px;flex-wrap:wrap;font-size:.86rem;color:rgba(255,255,255,.6)}
.fbot a{color:rgba(255,255,255,.6)}
.fcredit{display:inline-flex;align-items:center;gap:10px;opacity:.72;transition:opacity .18s}
.fcredit span{font-size:.8rem;color:rgba(255,255,255,.5)}
.fcredit img{width:92px;height:auto;display:block}
.fcredit:hover{opacity:1}
@media(max-width:900px){
  .fgrid{grid-template-columns:1fr 1fr;gap:30px}
  .fcol-contact{grid-column:1 / -1}
}
@media(max-width:620px){
  /* a single column made the footer enormous on a phone; two short ones read
     faster and cut its height roughly in half */
  /* nav and contact share the first row; the fifteen practice areas get the
     full width underneath in two short columns */
  .fgrid{grid-template-columns:1fr 1fr;gap:24px 18px;padding-bottom:30px}
  .fcol-nav{grid-column:1;grid-row:1}
  .fcol-contact{grid-column:2;grid-row:1}
  .fcol-services{grid-column:1 / -1;grid-row:2}
  .fcol-services ul{columns:2;column-gap:18px}
  .flawyer img{width:58px}
  .flawyer{gap:10px}
  .fcontact li{padding:7px 0}
  .flawyer{margin-bottom:18px}
  .site-footer h2{font-size:1rem;margin-bottom:10px}
  .site-footer li a{padding:9px 0;font-size:.92rem}
  .fhours li{max-width:none}
}

/* ============================================================ floating */
.wa{position:fixed;inset-inline-start:22px;bottom:22px;z-index:70;width:56px;height:56px;border-radius:50%;
  background:#25d366;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .18s}
.wa:hover{transform:scale(1.07)}
.wa svg{width:30px;height:30px;fill:#fff}

/* ---- accessibility widget (replaces 2 plugins) ---- */
.a11y{position:fixed;inset-inline-end:22px;bottom:22px;z-index:110}
.a11y-toggle{width:52px;height:52px;border-radius:50%;border:0;background:var(--navy);cursor:pointer;
  display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.a11y-toggle svg{width:28px;height:28px;fill:#fff}
.a11y-panel{position:absolute;inset-inline-end:0;bottom:62px;width:230px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:14px}
.a11y-panel[hidden]{display:none}
.a11y-panel h2{font-size:1rem;margin-bottom:10px}
.a11y-panel button{display:block;width:100%;text-align:start;padding:9px 12px;margin-bottom:5px;font:inherit;
  font-size:.9rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}
.a11y-panel button:hover{background:var(--gold-soft);border-color:var(--gold)}
.a11y-panel a{display:block;font-size:.84rem;margin-top:8px;color:var(--muted)}

/* a11y modes */
body.a11y-contrast{--bg:#000;--bg-soft:#111;--ink:#fff;--ink-soft:#eee;--navy:#ff0;--muted:#ccc;--line:#555;--gold:#ff0}
body.a11y-contrast img{filter:grayscale(1) contrast(1.3)}
body.a11y-links a{text-decoration:underline !important;font-weight:500 !important;outline:1px dashed currentColor}
body.a11y-motion *{animation:none !important;transition:none !important;scroll-behavior:auto !important}

/* ---- cookie banner: fixed, never shifts layout ---- */
.cookie{position:fixed;inset-inline:0;bottom:0;z-index:130;background:#fff;border-top:3px solid var(--gold);
  box-shadow:0 -6px 30px rgba(0,0,0,.16);padding:18px 0;transform:translateY(110%);
  transition:transform .3s ease;visibility:hidden}
.cookie[data-open="true"]{transform:translateY(0);visibility:visible}
.cookie .wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.cookie p{margin:0;flex:1 1 360px;font-size:.92rem}
.cookie .acts{display:flex;gap:10px;flex-wrap:wrap}
.cookie button{padding:11px 24px;font:inherit;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;
  border:2px solid var(--navy);min-height:46px}
.c-accept{background:var(--navy);color:#fff}
.c-reject{background:#fff;color:var(--navy)}

/* =================================== blocks migrated out of Elementor */
article.page>.wrap{max-width:1060px}
/* a section heading has to out-rank the card headings under it */
.blk-h{font-size:clamp(1.75rem,1.35rem + 1.25vw,2.45rem);margin:1.9em 0 .6em}
.blk-h:first-of-type{margin-top:1.1em}
.blk-text{max-width:var(--measure)}
.blk-img{margin:26px auto;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
/* never cropped: the template caps the width by aspect ratio instead */
.blk-img img{display:block;width:100%;height:auto}
.blk-img figcaption{font-size:.86rem;color:var(--muted);padding:10px 2px;text-align:center}
.blk-btn{margin:22px 0}
.btn-link{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;font-weight:500;
  padding:13px 30px;border-radius:var(--radius-sm);transition:background .18s}
.btn-link:hover{background:var(--gold-dark);color:#fff}

/* consecutive feature boxes line up as a restrained checklist, not an icon grid */
.blk-feature{border-inline-start:3px solid var(--gold);padding:2px 16px;margin:0 0 14px}
.blk-feature h3{font-size:1.05rem;margin:0 0 .2em;color:var(--ink)}
.blk-feature p{margin:0;color:var(--ink-soft);font-size:.95rem}
.blk-feature+.blk-feature{margin-top:-2px}

.blk-list{list-style:none;padding:0;margin:20px 0;max-width:var(--measure)}
.blk-list li{position:relative;padding-inline-start:30px;margin-bottom:11px}
.blk-list li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:14px;height:8px;
  border-inline-start:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.blk-video{margin:26px 0;aspect-ratio:16/9}
.blk-video iframe{width:100%;height:100%;border:0;border-radius:var(--radius)}

/* light card so it reads as a break after the navy hero, not more of it */
.statsbar{
  background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);
  border-radius:var(--radius);padding:26px 24px;margin:0 0 34px;box-shadow:var(--shadow)
}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:20px;text-align:center}
.stats>div+div{border-inline-start:1px solid var(--line)}
.stats strong{display:block;color:var(--navy);font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:800;line-height:1.2}
.stats span{color:var(--muted);font-size:.9rem}

/* ============================================================ responsive */
@media(max-width:1100px){
  .site-search{max-width:200px}
  .nav a{font-size:.97rem;padding:15px 12px}
}
@media(max-width:900px){
  /* the portrait stays on a phone, just smaller and above the copy, and the
     hero form stays in place under the copy */
  .hero.is-home.has-cutout{padding-bottom:0}
  .hero.is-home.has-cutout .hero-inner{grid-template-columns:1fr;gap:0}
  /* copy first, then the portrait standing on the bottom edge of the band */
  .hero.is-home.has-cutout .hero-main{order:0;padding-bottom:0}
  .hero.is-home.has-cutout .hero-portrait{
    display:block;order:1;justify-self:center;margin:22px 0 -1px
  }
  .hero.is-home.has-cutout .hero-portrait img{max-height:260px;max-width:none;width:auto}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .cta{grid-template-columns:1fr}
  .topbar .wrap{min-height:80px}
  .site-search{display:none}
  .hero-inner{grid-template-columns:1fr}
  .hero-portrait{max-width:260px}
}
@media(max-width:620px){
  .cards,.form-row,.svc-grid{grid-template-columns:1fr}
  .hero{padding:34px 0 30px}
  .btn{width:100%;margin-top:4px}
  .navtoggle{display:block}
  .nav{position:static}
  .nav .menu{display:none;flex-direction:column;padding:10px 0;align-items:stretch;overflow:visible}
  .nav.open .menu{display:flex}
  .nav .menu li{position:static}
  .nav>.wrap>.menu>li>a::before{display:none}
  .nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:rgba(255,255,255,.07);border:0;border-radius:var(--radius-sm);min-width:0;columns:1;
    margin:4px 0 8px;padding:6px;display:none}
  .nav .sub-menu.is-open{display:block}
  .nav .sub-menu a{color:#fff;font-size:.9rem}
  .nav .sub-menu a:hover{background:rgba(255,255,255,.12);color:#fff}
  .nav .menu-item-has-children>a{display:flex;justify-content:space-between;align-items:center}
  .topbar .wrap{min-height:68px;gap:10px}
  .topbar-actions{gap:10px}
  .brand{min-width:0}
  .brand img{width:min(50vw,190px)}
  .topcall-txt strong{font-size:1rem}
  .topcall-ic{width:42px;height:42px}
  .topcall-ic svg{width:19px;height:19px}
  .topcall{gap:9px}
  .topcall-txt small{display:none}
  .topcall-txt strong{font-size:1.06rem}
  .navtoggle{width:42px;height:42px}
  .cta{padding:24px 20px}
  .wa{width:50px;height:50px;inset-inline-start:14px;bottom:14px}
  .a11y{inset-inline-end:14px;bottom:14px}
  .cookie .acts{width:100%}
  .cookie button{flex:1}
}

@media(max-width:460px){
  .topcall-txt{display:none}
  .brand img{width:min(58vw,200px)}
}
/* ---- touch targets ----
   On a phone every list link, control and checkbox gets at least ~44px of
   height to tap, without changing how any of it looks on a desktop. */
@media(max-width:860px){
  .site-footer li{margin-bottom:0}
  .site-footer li a{display:block;padding:11px 0;line-height:1.35}
  .fcontact li{padding:9px 0}
  .fhours li{padding:8px 0}
  .fbot{padding:14px 0;gap:16px}
  .fbot a{display:inline-block;padding:9px 0}

  .sb-services a{padding:13px 0}
  .sb-more{padding:8px 0}
  .crumbs a{display:inline-block;padding:7px 0}
  .cta-phone{display:inline-block;padding:9px 0}
  .toc a{display:inline-block;padding:5px 0}

  .consent input{width:22px;height:22px;margin-top:1px}
  .carousel-btn{width:44px;height:44px}
  .carousel-btn svg{width:20px;height:20px}
  .carousel-dots button{width:11px;height:11px}
  .carousel-dots{gap:10px;padding:10px 0}

  .faq summary{padding:18px 20px}
  .a11y-panel button{padding:12px 14px}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
@media print{
  .nav,.topbar-actions,.cta,.wa,.a11y,.cookie,.site-footer{display:none !important}
  .article{max-width:none}
}

/* submenu toggle button injected by app.js */
.submenu-toggle{
  position:absolute;inset-inline-end:2px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border:0;background:transparent;cursor:pointer;display:none
}
.submenu-toggle::before{
  content:"";display:block;width:7px;height:7px;margin:0 auto;
  border-inline-end:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)
}
.submenu-toggle[aria-expanded="true"]::before{transform:rotate(-135deg)}
@media(max-width:620px){ .submenu-toggle{display:block} .nav .menu-item-has-children>a::after{display:none} }

/* ---- article author box ---- */
.authorbox{display:flex;gap:16px;align-items:flex-start;margin:36px 0 8px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft)}
.authorbox-img{flex:0 0 auto;width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;background:var(--gold-soft)}
.authorbox-name{margin:0;font-weight:700;color:var(--navy);font-size:1.05rem}
.authorbox-bio{margin:6px 0 8px;color:var(--ink-soft);line-height:1.65}
.authorbox a{font-weight:600;color:var(--gold-dark)}

/* ---- contrast (WCAG AA): text on gold buttons is navy, gold text is a darker gold,
   faint white text on navy is lifted; carousel dots get a 24px touch target ---- */
:root{--gold-text:#7a5e20}
.btn,.btn-link,.btn-link:hover,.btn:hover{color:var(--navy-deep)}
.sb-call span{color:var(--navy-deep)}
.sb-call strong{color:var(--navy-deep)}
.prose a,.authorbox a,.quicky-title{color:var(--gold-text)}
.topcall:hover .topcall-txt strong,.toc a:hover,.leadmodal-tel:hover strong{color:var(--gold-text)}
.artband .crumbs,.artband .crumbs a,.sb-role,.cta-phone span,.flawyer-role,.fbot,.fbot a{color:rgba(255,255,255,.8)}
.fcredit span{color:rgba(255,255,255,.75)}
.carousel-dots{gap:2px}
.carousel-dots button,.carousel-dots button[aria-selected="true"]{position:relative;width:24px;height:24px;border-radius:0;background:transparent}
.carousel-dots button::before{content:"";position:absolute;inset:0;margin:auto;width:9px;height:9px;border-radius:50%;background:var(--line);transition:background .18s,width .18s}
.carousel-dots button[aria-selected="true"]{width:34px}
.carousel-dots button[aria-selected="true"]::before{width:26px;border-radius:999px;background:var(--gold)}
@media(max-width:620px){.carousel-dots button,.carousel-dots button[aria-selected="true"]{height:24px}}

/* ==== landing pages (landing.php): the old landers' layout, no menu ==== */
.is-lp .nav,.is-lp .site-search,.is-lp .navtoggle,.is-lp .fgrid,.is-lp .foot-mark{display:none !important}
.is-lp .site-footer{margin-top:0;padding-top:0}
.is-lp .topbar .wrap{justify-content:space-between}
.lp-wrap{width:min(100% - 32px,960px);margin-inline:auto}
.lp{background:var(--bg)}

.lp-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);color:#fff;
  padding:56px 0 140px;text-align:center}
.lp-hero-bg{position:absolute;inset:0;z-index:-1}
.lp-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.16;filter:grayscale(1)}
.lp-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,29,56,.35),rgba(20,29,56,.9))}
.lp-hero-in{display:flex;flex-direction:column;align-items:center}
.lp-kicker{display:inline-block;margin:0 0 18px;padding:6px 16px;border-radius:999px;background:rgba(196,162,101,.16);
  border:1px solid rgba(196,162,101,.5);color:#e6cf9f;font-size:clamp(.95rem,.9rem + .3vw,1.1rem);font-weight:500;letter-spacing:.01em;line-height:1.4}
.lp-headline{margin:0 0 14px;max-width:22ch;color:#fff;font-weight:800;line-height:1.12;letter-spacing:-.025em;
  font-size:clamp(2rem,1.3rem + 3vw,3.4rem);text-wrap:balance}
.lp-sub{margin:0 0 12px;max-width:40ch;color:rgba(255,255,255,.92);font-size:clamp(1.15rem,1rem + .7vw,1.6rem);font-weight:500;line-height:1.35;text-wrap:balance}
.lp-lede{max-width:58ch;color:rgba(255,255,255,.82);font-size:1.02rem;line-height:1.7}
.lp-lede p{margin:0 0 .4em}
.lp-mark{margin:16px 0 0;padding:6px 14px;background:var(--gold);color:var(--navy-deep);font-weight:800;
  font-size:clamp(1.02rem,.95rem + .4vw,1.25rem);border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.lp-portrait{margin-top:26px;width:168px;height:168px;border-radius:50%;overflow:hidden;
  border:4px solid var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.45);background:var(--navy)}
.lp-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}

/* the form card straddles the hero's bottom edge, as on the old landers */
.lp-card{position:relative;margin-top:-100px;padding:30px clamp(18px,4vw,40px) 24px;border-radius:var(--radius);
  background:var(--navy);box-shadow:0 30px 70px rgba(20,29,56,.35);border-bottom:4px solid var(--gold);text-align:center}
.lp-card-title{margin:0 0 4px;color:#fff;font-size:clamp(1.4rem,1.15rem + 1vw,2rem)}
.lp-card-sub{margin:0 0 4px;color:#e6cf9f;font-size:clamp(1.02rem,.95rem + .4vw,1.25rem);font-weight:500}
.lp-card .lead-hero,.lp-formband .lead-hero{max-width:720px;margin:14px auto 0;text-align:right}
.lp-card .lead-hero::before,.lp-formband .lead-hero::before{content:none}
.lp-call{margin:16px 0 0;text-align:center}
.lp-call a{color:#fff;text-decoration:none;font-size:1.12rem}
.lp-call strong{display:inline-block;margin-inline-start:6px;color:var(--gold);font-size:1.4rem;font-weight:800;direction:ltr}
.lp-call a:hover strong{text-decoration:underline}
.lp-body > .lp-call a{color:var(--navy)}
.lp-body > .lp-call strong{color:var(--gold-text)}

/* body sections */
.lp-body{padding:20px 0 64px;display:flex;flex-direction:column;gap:34px}
.lp-h{margin:24px auto 0;text-align:center;color:var(--gold-text);font-size:clamp(1.6rem,1.25rem + 1.3vw,2.4rem);text-wrap:balance}
.lp-prose{font-size:1.1rem;line-height:1.85;color:var(--ink);max-width:780px}
.lp-prose p{margin:0 0 .9em}
.lp-prose strong{color:var(--navy)}
.lp-band{margin:0;background:var(--navy);color:#fff;text-align:center;padding:30px 0;position:relative}
.lp-band::before{content:"";position:absolute;top:-1px;inset-inline:0;margin:auto;width:0;height:0;
  border-inline:18px solid transparent;border-top:16px solid var(--bg)}
.lp-band span{display:block;font-size:clamp(1.1rem,1rem + .5vw,1.4rem);font-weight:500;line-height:1.55;max-width:820px}
.lp-checks{list-style:none;padding:0;display:grid;gap:10px;justify-items:center;max-width:620px}
.lp-checks li{display:flex;gap:10px;align-items:center;font-size:1.15rem;color:var(--navy);font-weight:500}
.lp-checks li::before{content:"";flex:0 0 22px;height:22px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23141d38' d='M9.5 16.6L4.9 12l1.4-1.4 3.2 3.2 8.2-8.2 1.4 1.4z'/%3E%3C/svg%3E") center/16px no-repeat}
.lp-quote{margin:0 auto;max-width:860px;text-align:center;padding:34px clamp(18px,4vw,48px);border-radius:var(--radius);
  background:var(--gold-soft);position:relative}
.lp-quote::before{content:"”";position:absolute;top:-30px;inset-inline:0;margin:auto;width:60px;height:60px;border-radius:50%;
  background:var(--gold);color:var(--navy-deep);font:800 3.2rem/1.25 Georgia,serif}
.lp-quote blockquote{margin:0}
.lp-quote p{margin:0;color:var(--navy);font-weight:800;font-size:clamp(1.15rem,1rem + .7vw,1.5rem);line-height:1.5;text-wrap:balance}
.lp-quote figcaption{margin-top:12px;color:var(--gold-text);font-weight:500}
.lp-grid{list-style:none;margin:0 auto;padding:0;display:grid;gap:16px}
.lp-services{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.lp-services li{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px 16px;
  border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 26px rgba(20,29,56,.06)}
.lp-services strong{color:var(--navy);font-size:1.06rem;line-height:1.4}
.lp-services span{color:var(--ink-soft);font-size:.95rem}
.lp-ic{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--gold-soft)}
.lp-ic svg{width:30px;height:30px;fill:var(--gold-text)}
.lp-steps{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));counter-reset:step}
.lp-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  padding:22px 12px 18px;counter-increment:step}
.lp-steps li::before{content:counter(step);position:absolute;top:0;inset-inline-start:calc(50% + 22px);display:grid;place-items:center;
  width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:.9rem}
.lp-steps img{width:72px;height:72px;object-fit:contain}
.lp-steps span{color:var(--navy);font-size:1rem;line-height:1.45}
.lp-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));text-align:center}
.lp-stats strong{display:block;font-size:2.2rem;color:var(--navy)}
.lp-stats span{color:var(--ink-soft)}
.lp-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:0 auto}
.lp-btn{display:inline-flex;align-items:center;min-height:54px;padding:0 30px;border-radius:var(--radius-sm);background:var(--gold);
  color:var(--navy-deep);font-weight:800;font-size:1.06rem;text-decoration:none;box-shadow:0 8px 22px rgba(196,162,101,.35)}
.lp-btn:hover{background:var(--gold-dark)}
.lp-btn-ghost{background:transparent;border:2px solid var(--navy);color:var(--navy);box-shadow:none}
.lp-btn-ghost:hover{background:var(--navy);color:#fff}
.lp-img{margin:0 auto;max-width:720px}
.lp-img{text-align:center}
.lp-img img{width:auto;max-width:100%;max-height:520px;height:auto;border-radius:var(--radius);box-shadow:0 18px 40px rgba(20,29,56,.12)}
.lp-formband{padding:30px clamp(18px,4vw,40px) 26px;border-radius:var(--radius);background:var(--navy);text-align:center;
  box-shadow:0 24px 60px rgba(20,29,56,.25)}
.lp-formband .lp-card-title{color:var(--gold)}
.lp-formband .lp-card-sub{color:#fff}
@media(max-width:700px){
  .lp-hero{padding:36px 0 120px}
  .lp-portrait{width:136px;height:136px}
  .lp-card .lead-hero .form-row,.lp-formband .lead-hero .form-row{grid-template-columns:1fr}
  .lp-prose{font-size:1.04rem}
}
@media(prefers-reduced-motion:reduce){.lp-btn{transition:none}}
