/* ================= v3 — WordPress theme + client revisions ================= */

/* logo images (chrome mark + chrome calligraphy) */
.brand__mono{width:54px;height:auto}
.brand__calli{width:150px;height:auto}
.ftr__mono{width:76px;height:auto}
.ftr__calli{width:230px;height:auto}
.loader__mono{height:auto;filter:drop-shadow(0 18px 40px rgba(217,165,125,.25))}
.loader__calli{height:auto}
.hero__mono-bg img{width:60vw;max-width:none}
.cta-band__mono img{width:clamp(80px,9vw,130px);height:auto;filter:drop-shadow(0 16px 36px rgba(217,165,125,.22))}
.phero__badge img{width:46px}
.founder__badge img{width:34px}
.hero__seal-mono{width:56px;height:auto}
.book__mono{height:auto}
.book__calli{height:auto}
@media (max-width:640px){.brand__calli{width:110px}.brand__mono{width:42px}}

/* nav from wp_nav_menu */
.nav__list{display:flex;gap:clamp(14px,2vw,34px)}
.nav .current-menu-item>a,.nav .current_page_item>a,.nav .current-menu-ancestor>a,.nav .current_page_parent>a{color:var(--ivory)}
.nav .current-menu-item>a::after,.nav .current_page_item>a::after,.nav .current_page_parent>a::after{transform:scaleX(1);transform-origin:left}

/* 1) WhatsApp in the brand identity */
.dock__btn--wa{background:var(--metal);color:#1a1410;box-shadow:0 14px 30px -10px rgba(217,165,125,.55)}
.dock__btn--wa::before{border-color:var(--lit)}
.dock__btn--call{background:#1a1816;color:var(--lit);border:1px solid var(--line2)}
.dock__btn--call::before{border-color:var(--line2)}

/* 2) better photos — lighter, cleaner grade everywhere */
.hero__arch img,.intro__p img,.panel img,.bk__stack img,.feat img,.row img,.faq-sec__img img,.city img,.phero__img img,.svc-card__img img{filter:saturate(1.02) contrast(1.04) brightness(.97)}
.stats-band__bg img{filter:brightness(.4) saturate(.85)}
.process2__bg img{filter:brightness(.32) saturate(.8)}
.svc-card__img{position:relative}
.svc-card__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(18,18,16,.55))}
.svc-card:hover .svc-card__img img{filter:saturate(1.08) contrast(1.06) brightness(1.02)}

/* 3) services slider: 3 cards + dots */
.svs{position:relative}
.svs__viewport{overflow:hidden;margin-inline:-6px;padding:6px 6px 14px;touch-action:pan-y}
.svs__track{display:flex;gap:24px;transition:transform .9s var(--ease);will-change:transform;cursor:grab}
.svs__track.is-drag{transition:none;cursor:grabbing}
.svs__card{--w:calc((100% - 48px)/3);position:relative;flex:0 0 var(--w);display:flex;flex-direction:column;border-radius:calc(var(--r) + 4px);overflow:hidden;background:linear-gradient(170deg,#1f1c18,#151412);border:1px solid var(--line);transition:border-color .5s,transform .7s var(--ease),box-shadow .7s var(--ease);user-select:none;-webkit-user-drag:none}
.svs__card img{-webkit-user-drag:none;pointer-events:none}
.svs__card:hover{border-color:var(--line2);transform:translateY(-8px);box-shadow:0 34px 70px -40px rgba(217,165,125,.45)}
.svs__img{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden}
.svs__img img{width:100%;height:100%;object-fit:cover;filter:saturate(1.03) contrast(1.05);transform:scale(1.02);transition:transform 1.4s var(--ease),filter .7s}
.svs__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,16,0) 45%,rgba(21,20,18,.92) 100%)}
.svs__card:hover .svs__img img{transform:scale(1.1);filter:saturate(1.1) contrast(1.07) brightness(1.04)}
.svs__n{position:absolute;top:18px;right:18px;z-index:2;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:rgba(18,18,16,.78);border:1px solid var(--line2);font:500 16px var(--display);color:var(--glow);backdrop-filter:blur(6px)}
.svs__body{position:relative;display:flex;flex-direction:column;gap:10px;flex:1;padding:4px 28px 28px;margin-top:-34px;z-index:1}
.svs__tag{align-self:flex-start;padding:5px 12px;border-radius:999px;background:rgba(217,165,125,.12);border:1px solid var(--line2);color:var(--glow);font-size:12px}
.svs__body h3{font:500 clamp(20px,1.6vw,24px)/1.45 var(--display)}
.svs__body p{color:var(--dim);font-size:15px;flex:1}
.svs__body .link-arrow{margin-top:6px}
.svs__nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:34px}
.svs__dots{display:flex;align-items:center;gap:10px}
.svs__dot{width:10px;height:10px;border-radius:999px;background:var(--line2);transition:width .6s var(--ease),background .4s}
.svs__dot.is-on{width:34px;background:var(--metal-h)}
.svs__arr{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line2);color:var(--lit);transition:background .4s,color .4s,opacity .3s}
.svs__arr svg{width:20px;height:20px}
.svs__arr--prev svg{transform:scaleX(-1)}
.svs__arr:hover{background:var(--metal);color:#1a1410;border-color:transparent}
.svs__arr:disabled{opacity:.3;pointer-events:none}
@media (max-width:1000px){.svs__card{--w:calc((100% - 24px)/2)}}
@media (max-width:640px){.svs__card{--w:86%}.svs__track{gap:16px}.svs__arr{display:none}}

/* 4) lawyers on home: founder + second lawyer mirrored */
.founder{overflow:hidden}
.founder__media{position:relative}
.founder__num{position:absolute;top:-30px;left:-10px;font:600 clamp(90px,11vw,170px)/1 var(--display);background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.16;pointer-events:none}
.founder__btns{display:flex;flex-wrap:wrap;gap:12px}
.founder__frame--empty{display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(217,165,125,.16),transparent 60%),linear-gradient(170deg,#1f1c18,#121110)}
.founder__ph{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--faint);font-size:13px}
.founder__ph img{width:42%;opacity:.6}
.founder__frame--empty .founder__ph{width:100%}
.founder--alt{background:var(--bg2);border-block:1px solid var(--line)}
.founder--alt .founder__in{grid-template-columns:1.1fr .9fr}
.founder--alt .founder__media{order:2}
.founder--alt .founder__frame{border-radius:var(--r) var(--r) 240px 240px}
.founder--alt .founder__frame::before{content:"";position:absolute;inset:14px;border:1px solid var(--line2);border-radius:inherit;pointer-events:none;z-index:2}
.founder--alt .founder__frame{position:relative}
.founder--alt .founder__badge{right:auto;left:-24px;bottom:auto;top:40px}
.founder--alt .founder__num{left:auto;right:-10px;top:auto;bottom:-40px}
.founder--alt .founder__facts li{background:var(--bg)}
.founder__ghost{position:absolute;left:-8vw;top:50%;transform:translateY(-50%);width:42vw;opacity:.04;pointer-events:none}
.founder__ghost img{width:100%}
@media (max-width:900px){
  .founder--alt .founder__in{grid-template-columns:1fr}
  .founder--alt .founder__media{order:0}
  .founder--alt .founder__badge{left:12px;top:auto;bottom:30px}
  .founder__num{display:none}
}

/* 6) contact numbers */
.side-card--phones{gap:14px}
.side-card--phones .phones{display:grid;gap:10px;width:100%}
.side-card .fc,.ftr__col a.fc{color:var(--ivory)}
.phones .fc{width:100%}
.fc__t b{direction:ltr;text-align:right}

/* offices: no phone numbers */
.city b{display:none}

/* form */
.hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none}
.form__err{color:#e39a8a;font-size:14px}
.form.is-busy button[type=submit]{opacity:.6;pointer-events:none}

/* WordPress content */
.prose__content>*+*{margin-top:16px}
.prose__content p,.prose--post p,.prose--page p{color:var(--dim)}
.prose--post>*+*,.prose--page>*+*{margin-top:20px}
.prose--post h2,.prose--page h2{font:500 clamp(24px,2.2vw,32px)/1.4 var(--display);margin-top:44px}
.prose--post h3,.prose--page h3{font:500 22px/1.5 var(--display);margin-top:30px}
.prose--post ul,.prose--page ul{display:flex;flex-direction:column}
.prose--post ul li,.prose--page ul li,.prose__content ul li{position:relative;padding:10px 32px 10px 0;color:var(--dim);border-bottom:1px solid var(--line)}
.prose--post ul li::before,.prose--page ul li::before,.prose__content ul li::before{content:"";position:absolute;right:0;top:19px;width:14px;height:8px;border:solid var(--lit);border-width:0 0 1.5px 1.5px;transform:rotate(-45deg)}
.prose--post ol,.prose--page ol{list-style:decimal;padding-inline-start:22px;color:var(--dim)}
.prose--post a,.prose--page a,.prose__content a{color:var(--lit);text-decoration:underline;text-underline-offset:4px}
.prose--post img,.prose--page img{border-radius:var(--r);height:auto}
.prose--post blockquote,.prose--page blockquote{margin:36px 0;padding:26px 30px;border-inline-start:3px solid var(--lit);background:var(--bg2);border-radius:0 14px 14px 0;font:500 clamp(20px,1.8vw,26px)/1.6 var(--display)}
.prose--post blockquote p,.prose--page blockquote p{color:var(--ivory)}
.prose--post em,.prose--page em{color:var(--faint)}
.prose--page{max-width:900px}
.alignleft{float:left;margin:0 0 16px 24px}.alignright{float:right;margin:0 24px 16px 0}.aligncenter{margin-inline:auto}
.wp-caption-text{font-size:13px;color:var(--faint)}
.posts-more{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}
@media (max-width:900px){.posts-more{grid-template-columns:1fr}}
.pager{margin-top:40px}
.pager .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pager .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding-inline:14px;border-radius:999px;border:1px solid var(--line2);color:var(--dim)}
.pager .page-numbers.current,.pager .page-numbers:hover{background:var(--metal);color:#1a1410;border-color:transparent}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* admin bar offset */
body.admin-bar .hdr{top:32px}
@media (max-width:782px){body.admin-bar .hdr{top:46px}}

/* ---- scroll performance ---- */
.city__body,.city::before,.svs__n,.dl-toast,.hdr.is-stuck{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.hdr.is-stuck{background:rgba(18,18,16,.94)}
.city__body{background:linear-gradient(135deg,rgba(18,18,16,.9),rgba(30,28,25,.8))}
.svs__n{background:rgba(18,18,16,.88)}
[data-parallax],.intro__p img,.founder__frame img{will-change:auto}
.svs__img img,.city img,.feat img,.row img,.svc-card__img img{transition:transform 1.2s var(--ease)}
.dock__btn,.dock__btn svg,.dock__btn::before{animation-duration:4s}
@media (max-width:900px){.hero__dust,.grain{display:none}.dock__btn,.dock__btn svg,.dock__btn::before{animation:none}}

/* ---- comfortable spacing between text and buttons ---- */
.founder__btns,.bk__list>.btn,.profile__txt>.btn,.cta-band__btns,.faq-sec .sec__head .btn{margin-top:34px}
.founder__facts{margin-block:30px 0}
.intro__txt .link-arrow,.sec__head--split .link-arrow{margin-top:24px}
.quote__tags{margin-top:34px}
.hero__btns{margin-top:40px}
.side-card .btn{margin-top:10px}
.side-card--metal .side-card__tel{margin-top:4px}
.svs__body .link-arrow{margin-top:14px}
.svc-card>.link-arrow{margin-top:8px}
.lawyer-hero .hero__btns{margin-top:34px}
.form .btn{margin-top:10px}
.feat__body .post__more{margin-top:6px}
@media (max-width:900px){.cta-band__btns{margin-top:22px;justify-content:center}}

/* native scroll always available, even during the intro */
body.is-loading{overflow:visible}
html{scroll-behavior:auto}

/* ---- lawyer portraits: compact, framed, premium ---- */
.founder__in{grid-template-columns:minmax(0,420px) 1fr;gap:clamp(40px,7vw,110px)}
.founder--alt .founder__in{grid-template-columns:1fr minmax(0,420px)}
.founder__media{width:100%;max-width:420px;justify-self:center;padding:18px}
.founder__media::before{content:"";position:absolute;inset:0;border:1px solid var(--line2);border-radius:250px 250px 26px 26px;pointer-events:none}
.founder--alt .founder__media::before{border-radius:26px 26px 250px 250px}
.founder__media::after{content:"";position:absolute;inset:auto 12% -18px;height:40px;background:radial-gradient(ellipse at center,rgba(217,165,125,.28),transparent 70%);filter:blur(6px);pointer-events:none}
.founder__frame,.lawyer-hero .founder__frame{aspect-ratio:4/4.7;border-radius:230px 230px 18px 18px;border:1px solid rgba(217,165,125,.45);background:radial-gradient(circle at 50% 38%,rgba(246,211,186,.22),transparent 58%),linear-gradient(180deg,#2a241f 0%,#16140f 100%);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),inset 0 0 0 6px rgba(18,18,16,.55)}
.founder--alt .founder__frame{border-radius:18px 18px 230px 230px}
.founder__frame img,.lawyer-hero .founder__frame img{width:100%;height:100%;object-fit:contain;object-position:50% 100%;padding-top:14%;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55));transform:none!important}
.founder__badge{bottom:34px;right:-6px}
.founder--alt .founder__badge{left:-6px;right:auto;top:auto;bottom:34px}
.founder--alt .founder__frame::before{display:none}
.lawyer-hero__in{grid-template-columns:minmax(0,360px) 1fr}
.lawyer-hero .founder__frame{max-width:360px}
@media (max-width:900px){
  .founder__in,.founder--alt .founder__in{grid-template-columns:1fr}
  .founder__media{max-width:320px}
  .lawyer-hero__in{grid-template-columns:1fr}.lawyer-hero .founder__frame{max-width:300px}
}
.founder__frame .founder__ph img{width:38%!important;height:auto!important;padding:0!important;object-fit:contain;opacity:.55;filter:none}
.founder__frame .founder__ph{height:100%;justify-content:center}

/* ---- floating contact buttons: soft pulse + light shadow ---- */
.dock__btn{animation:yhm-pulse 2.6s ease-in-out infinite!important;box-shadow:0 8px 22px -6px rgba(0,0,0,.55),0 0 0 0 rgba(217,165,125,.45)}
.dock__btn svg{animation:none!important}
.dock__btn::before{animation:yhm-ring 2.6s ease-out infinite!important;border-color:rgba(217,165,125,.7)!important;opacity:0}
.dock__btn--call,.dock__btn--call::before{animation-delay:-1.3s!important}
.dock__btn:hover{animation-play-state:paused!important;transform:scale(1.08)}
@keyframes yhm-pulse{0%,100%{transform:scale(1);box-shadow:0 8px 22px -6px rgba(0,0,0,.55),0 0 0 0 rgba(217,165,125,.4)}50%{transform:scale(1.05);box-shadow:0 10px 26px -6px rgba(0,0,0,.6),0 0 0 9px rgba(217,165,125,0)}}
@keyframes yhm-ring{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(1.45);opacity:0}}
@media (prefers-reduced-motion:reduce){.dock__btn,.dock__btn::before{animation:none!important}}

/* ---- Contact Form 7 inside the theme form card ---- */
.form--cf7 .wpcf7,.form--cf7 form{display:contents}
.form--cf7 form{display:flex;flex-direction:column;gap:18px}
.form--cf7 .wpcf7-form-control-wrap{display:block;position:relative}
.fld .fld__l{position:absolute;right:18px;top:18px;color:var(--faint);font-size:15px;font-style:normal;pointer-events:none;transition:.3s var(--ease)}
.fld:has(input:focus) .fld__l,.fld:has(input:not(:placeholder-shown)) .fld__l,.fld:has(textarea:focus) .fld__l,.fld:has(textarea:not(:placeholder-shown)) .fld__l,.fld--sel .fld__l{top:7px;font-size:11.5px;color:var(--lit)}
.form--cf7 .fld input[type=tel],.form--cf7 .fld input[type=email]{direction:ltr;text-align:right}
.form--cf7 .seg .wpcf7-radio{display:flex;gap:10px}
.form--cf7 .seg .wpcf7-list-item{margin:0}
.form--cf7 .seg label{cursor:pointer}
.form--cf7 .seg input{position:absolute;opacity:0}
.form--cf7 .seg .wpcf7-list-item-label{display:block;padding:9px 22px;border-radius:999px;border:1px solid var(--line2);font-size:14px;transition:.3s}
.form--cf7 .seg input:checked+.wpcf7-list-item-label{background:var(--metal);color:#1a1410;border-color:transparent}
.form--cf7 .agree .wpcf7-list-item{margin:0}
.form--cf7 .agree label{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--dim);cursor:pointer}
.form--cf7 .agree input{accent-color:var(--lit);margin-top:6px}
.form--cf7 .wpcf7-submit{align-self:flex-start;border:0;cursor:pointer;font-family:var(--sans)}
.form--cf7 .wpcf7-not-valid{border-color:#c46a5a!important}
.form--cf7 .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:12.5px;color:#e39a8a}
.form--cf7 .wpcf7-spinner{margin:0 12px;background:var(--lit)}
.form--cf7 .wpcf7-response-output{margin:4px 0 0!important;padding:14px 18px!important;border-radius:12px;border:1px solid var(--line2)!important;background:rgba(217,165,125,.08);color:var(--ivory);font-size:14px}
.form--cf7 form.sent .wpcf7-response-output{border-color:var(--lit)!important;background:rgba(217,165,125,.16);color:var(--glow)}
.form--cf7 form.invalid .wpcf7-response-output,.form--cf7 form.failed .wpcf7-response-output{border-color:#c46a5a!important;color:#e9b0a4}
.form--cf7 .screen-reader-response{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
