/* =========================================================
   LISORBIS premium theme
   Applies to pages whose <body> has class="premium".
   Palette: marble white, stone, ink navy, one blue accent.
   Type: Bodoni Moda (display) + Manrope (text).
   ========================================================= */
body.premium{
  --marble:#F4F4F2;
  --stone:#E6E5E1;
  --white:#FFFFFF;
  --ink:#0F1A26;
  --graphite:#4A5360;
  --mist:#8B929A;
  --hair:rgba(15,26,38,.14);
  --blue:#0A7FB5;        /* logo blue, darkened for readable text */
  --blue-bright:#00A3E2; /* logo blue, for marks on dark */
  --display:'Bodoni Moda','Bodoni 72','Didot',Georgia,serif;
  --text:'Manrope','Helvetica Neue',Arial,sans-serif;
  --wrap:1280px;
  --gutter:clamp(20px,4vw,56px);
  background:var(--marble);
  color:var(--ink);
  font-family:var(--text);
  font-size:17px;
  line-height:1.65;
}
body.premium h1,body.premium h2,body.premium h3{font-family:var(--display);color:var(--ink);font-weight:400;letter-spacing:-.01em;}
body.premium a{color:inherit;}
body.premium :focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
.p-wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);}
.p-section{padding:clamp(80px,11vw,150px) 0;}
.p-kicker{font-size:14px;color:var(--graphite);margin-bottom:18px;display:flex;align-items:center;gap:12px;}
.p-kicker::before{content:'';width:28px;height:1px;background:var(--blue);}
.p-h2{font-size:clamp(34px,4.4vw,58px);line-height:1.06;max-width:16ch;}
.p-lead{font-size:18px;color:var(--graphite);max-width:52ch;}

/* ---------- buttons ---------- */
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--text);font-weight:600;font-size:15px;
  padding:16px 28px;border-radius:2px;text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
.p-btn-solid{background:var(--ink);color:var(--white) !important;}
.p-btn-solid:hover{background:var(--blue);}
.p-btn-line{border:1px solid var(--ink);color:var(--ink);}
.p-btn-line:hover{background:var(--ink);color:var(--white) !important;}
.p-link{font-weight:600;text-decoration:none;border-bottom:1px solid var(--blue);padding-bottom:2px;transition:color .2s;}
.p-link:hover{color:var(--blue);}

/* ---------- header (shared include, restyled) ---------- */
body.premium .site-header{background:rgba(244,244,242,.92);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s;}
body.premium .site-header.scrolled{border-bottom-color:var(--hair);}
body.premium .nav-wrap{max-width:var(--wrap);padding:20px var(--gutter);}
body.premium .brand-logo{height:36px;}
body.premium .links{gap:32px;font-family:var(--text);font-size:14.5px;font-weight:500;}
body.premium .links > a:first-child{display:none;} /* logo already links home */
body.premium .links > a, body.premium .links .dropdown > a{color:var(--ink);}
body.premium .links > a.active, body.premium .links > a:hover, body.premium .links .dropdown:hover > a{border-bottom-color:var(--blue);}
body.premium .dropdown-menu{background:var(--white);border:1px solid var(--hair);border-radius:2px;box-shadow:0 24px 48px rgba(15,26,38,.10);padding:10px 0;}
body.premium .dropdown-menu a{font-size:14px;padding:10px 22px;}
body.premium .dropdown-menu a:hover{background:var(--marble);color:var(--blue);}
body.premium .nav-cta{background:transparent !important;color:var(--ink) !important;border:1px solid var(--ink) !important;border-radius:2px;padding:10px 20px !important;}
body.premium .nav-cta:hover{background:var(--ink) !important;color:var(--white) !important;}

/* ---------- hero ---------- */
.p-hero{padding:clamp(40px,6vw,80px) 0 clamp(60px,8vw,110px);}
.p-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end;}
.p-hero h1{font-size:clamp(44px,5.6vw,82px);line-height:.98;letter-spacing:-.02em;margin-bottom:34px;}
.p-hero h1 span{display:block;}
.p-hero .p-lead{margin-bottom:40px;}
.p-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.p-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--hair);}
.p-facts div{padding:18px 18px 0 0;font-size:14px;color:var(--graphite);line-height:1.45;}
.p-facts strong{display:block;font-family:var(--display);font-weight:400;font-size:26px;color:var(--ink);margin-bottom:4px;}
.p-facts a{text-decoration:none;}
.p-facts a:hover strong{color:var(--blue);}

/* signature: the gabled frame, after the folded roof of Faisal Mosque */
.p-gable{position:relative;aspect-ratio:3/4.3;clip-path:polygon(50% 0,100% 16%,100% 100%,0 100%,0 16%);overflow:hidden;background:var(--stone);}
.p-gable img{width:100%;height:100%;object-fit:cover;display:block;}
.p-hero-figure figcaption{font-size:13px;color:var(--mist);margin-top:14px;}

/* page-load sequence (the one orchestrated motion on the page) */
@media (prefers-reduced-motion:no-preference){
  .p-hero h1 span{opacity:0;transform:translateY(28px);animation:pRise .9s cubic-bezier(.2,.7,.2,1) forwards;}
  .p-hero h1 span:nth-child(2){animation-delay:.12s;}
  .p-hero h1 span:nth-child(3){animation-delay:.24s;}
  .p-hero .p-lead,.p-hero .p-cta-row,.p-hero .p-facts{opacity:0;animation:pFade .8s ease forwards .55s;}
  .p-gable{animation:pGable 1.4s cubic-bezier(.6,.05,.2,1) forwards;clip-path:polygon(50% 100%,100% 100%,100% 100%,0 100%,0 100%);}
  .p-gable img{transform:scale(1.08);animation:pSettle 2.2s cubic-bezier(.2,.7,.2,1) forwards .2s;}
}
@keyframes pRise{to{opacity:1;transform:none;}}
@keyframes pFade{to{opacity:1;}}
@keyframes pGable{to{clip-path:polygon(50% 0,100% 16%,100% 100%,0 100%,0 16%);}}
@keyframes pSettle{to{transform:scale(1);}}

/* ---------- clients ---------- */
.p-clients{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:36px 0;}
.p-clients .p-wrap{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center;}
.p-clients p{font-size:14px;color:var(--graphite);line-height:1.5;}
.p-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 40px;}
.p-logos img{height:46px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1) contrast(1.15);opacity:.75;mix-blend-mode:multiply;transition:opacity .2s;}
.p-logos img:hover{opacity:.9;}

/* ---------- practice ---------- */
.p-practice-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:clamp(48px,6vw,80px);}
.p-practice{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);}
.p-col h3{font-size:30px;margin-bottom:8px;}
.p-col > p{color:var(--graphite);margin-bottom:28px;max-width:46ch;}
.p-list{list-style:none;border-top:1px solid var(--ink);}
.p-list li{border-bottom:1px solid var(--hair);}
.p-list a{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:15px 0;text-decoration:none;font-size:16px;transition:color .2s,padding .25s;}
.p-list a:hover{color:var(--blue);padding-left:8px;}
.p-list small{font-size:13px;color:var(--mist);text-align:right;}
.p-list.two{column-count:2;column-gap:40px;border-top:none;}
.p-list.two li{break-inside:avoid;}
.p-list-wrap{border-top:1px solid var(--ink);}
.p-note{font-size:13.5px;color:var(--mist);margin-top:18px;max-width:52ch;}

/* ---------- partners ---------- */
.p-partners{background:var(--white);}
.p-partners-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:clamp(40px,5vw,72px);}
.p-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);}
.p-person img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:var(--stone);margin-bottom:22px;}
.p-person h3{font-size:26px;margin-bottom:2px;}
.p-person .role{font-size:14px;color:var(--blue);font-weight:600;margin-bottom:10px;}
.p-person p{font-size:15px;color:var(--graphite);line-height:1.55;}
.p-partners-foot{margin-top:48px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--hair);padding-top:26px;font-size:15px;color:var(--graphite);}

/* ---------- full-bleed band ---------- */
.p-band{position:relative;min-height:clamp(420px,62vw,760px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);}
.p-band picture, .p-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.p-band::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,26,38,0) 35%,rgba(15,26,38,.78) 100%);}
.p-band .p-wrap{position:relative;z-index:1;width:100%;padding-bottom:clamp(40px,6vw,80px);}
.p-band blockquote{font-family:var(--display);color:var(--white);font-size:clamp(28px,3.8vw,52px);line-height:1.12;max-width:22ch;}
.p-band cite{display:block;font-family:var(--text);font-style:normal;font-size:14px;color:rgba(255,255,255,.72);margin-top:20px;}

/* ---------- selected matters ---------- */
.p-matters{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start;}
.p-matters-aside img{width:100%;aspect-ratio:5/4;object-fit:cover;display:block;margin-top:40px;}
.p-matter{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--hair);}
.p-matter:first-child{border-top:1px solid var(--ink);}
.p-matter .area{font-size:13.5px;color:var(--blue);font-weight:600;padding-top:6px;}
.p-matter h3{font-size:24px;line-height:1.2;margin-bottom:8px;}
.p-matter p{color:var(--graphite);font-size:15.5px;}

/* ---------- process (a true sequence, so it is numbered) ---------- */
.p-process{background:var(--stone);}
.p-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:clamp(40px,5vw,72px);counter-reset:step;}
.p-step{padding:28px 28px 8px 0;border-top:1px solid var(--ink);position:relative;}
.p-step + .p-step{padding-left:28px;border-left:1px solid var(--hair);}
.p-step::before{counter-increment:step;content:counter(step);font-family:var(--display);font-size:56px;line-height:1;color:var(--blue);display:block;margin-bottom:22px;}
.p-step h3{font-size:24px;margin-bottom:8px;}
.p-step p{font-size:15px;color:var(--graphite);}

/* ---------- reviews + faq ---------- */
.p-trust{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,6vw,96px);align-items:start;}
.p-rating{border:1px solid var(--hair);background:var(--white);padding:36px;}
.p-rating .score{font-family:var(--display);font-size:72px;line-height:1;}
.p-rating .stars{color:var(--blue);letter-spacing:4px;font-size:18px;margin:10px 0 6px;}
.p-rating p{font-size:15px;color:var(--graphite);margin-bottom:22px;}
body.premium .faq-item{border-bottom:1px solid var(--hair);padding:0;}
body.premium .faq-item:first-of-type{border-top:1px solid var(--ink);}
body.premium .faq-item summary{font-family:var(--display);font-size:22px;color:var(--ink);padding:24px 44px 24px 0;cursor:pointer;list-style:none;position:relative;}
body.premium .faq-item summary::-webkit-details-marker{display:none;}
body.premium .faq-item summary::after{content:'';position:absolute;right:6px;top:50%;width:14px;height:14px;margin-top:-7px;
  background:linear-gradient(var(--blue),var(--blue)) center/14px 1.5px no-repeat,linear-gradient(var(--blue),var(--blue)) center/1.5px 14px no-repeat;transition:transform .25s;}
body.premium .faq-item[open] summary::after{transform:rotate(45deg);}
body.premium .faq-item p{color:var(--graphite);font-size:16px;padding:0 44px 26px 0;max-width:68ch;}

/* ---------- closing ---------- */
.p-close{background:var(--ink);color:var(--white);}
.p-close-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:end;}
body.premium .p-close h2{color:var(--white);font-size:clamp(40px,6vw,84px);line-height:1;}
.p-close .p-lead{color:rgba(255,255,255,.72);margin:26px 0 36px;}
.p-close .p-btn-solid{background:var(--white);color:var(--ink) !important;}
.p-close .p-btn-solid:hover{background:var(--blue-bright);}
.p-close .p-btn-line{border-color:rgba(255,255,255,.5);color:var(--white);}
.p-close .p-btn-line:hover{background:var(--white);color:var(--ink) !important;}
.p-contact-list{list-style:none;border-top:1px solid rgba(255,255,255,.25);}
.p-contact-list li{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:15px;}
.p-contact-list span{color:rgba(255,255,255,.55);}
.p-contact-list a{text-decoration:none;color:var(--white);text-align:right;}
.p-contact-list a:hover{color:var(--blue-bright);}

/* ---------- footer (shared include, restyled) ---------- */
body.premium footer{background:var(--ink);border-top:1px solid rgba(255,255,255,.12);}
body.premium footer h4{font-family:var(--text);font-size:13px;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.55);font-weight:500;}
body.premium footer a{font-family:var(--text);color:rgba(255,255,255,.85);font-size:14.5px;}
body.premium footer a:hover{color:var(--blue-bright);}
body.premium footer p{font-family:var(--text);color:rgba(255,255,255,.6);}
body.premium .footer-bottom{color:rgba(255,255,255,.45);}
body.premium .cookie-notice{background:var(--white);color:var(--ink);border-top:1px solid var(--hair);box-shadow:0 -10px 30px rgba(15,26,38,.08);}
body.premium .cookie-notice a{color:var(--blue);}
body.premium .cookie-notice button{background:var(--ink);color:var(--white);border-radius:2px;}

body.premium .whatsapp-fab{background:var(--ink);box-shadow:0 10px 24px rgba(15,26,38,.25);}
body.premium .whatsapp-fab:hover{background:#25D366;}

/* ---------- mobile action bar ---------- */
.p-actionbar{display:none;}

/* ---------- responsive ---------- */
@media (max-width:980px){
  body.premium .links > a:first-child{display:block;}
  body.premium .links{background:var(--marble);}
  .p-hero-grid,.p-practice,.p-practice-head,.p-partners-head,.p-matters,.p-trust,.p-close-grid{grid-template-columns:1fr;}
  .p-hero-figure{max-width:520px;}
  .p-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
  .p-facts div{padding-bottom:18px;}
  .p-clients .p-wrap{grid-template-columns:1fr;gap:22px;}
  .p-logos{justify-content:flex-start;}
  .p-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .p-step:nth-child(3){padding-left:0;border-left:none;}
  .p-matters-aside img{display:none;}
}
@media (max-width:640px){
  body.premium{font-size:16px;}
  .p-hero h1{font-size:clamp(42px,12vw,58px);}
  .p-list.two{column-count:1;}
  .p-people{grid-template-columns:1fr;gap:44px;}
  .p-person img{max-width:420px;}
  .p-matter{grid-template-columns:1fr;gap:6px;}
  .p-steps{grid-template-columns:1fr;}
  .p-step,.p-step + .p-step{padding-left:0;border-left:none;}
  .p-logos img{height:38px;max-width:100px;}
  .p-contact-list li{flex-direction:column;gap:4px;}
  .p-contact-list a{text-align:left;}
  body.premium .whatsapp-fab{display:none;}
  body.premium .footer-bottom{padding-bottom:110px;}
  body.premium .cookie-notice{bottom:64px;}
  .p-actionbar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;left:0;right:0;bottom:0;z-index:98;
    background:var(--white);border-top:1px solid var(--hair);padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));gap:8px;}
  .p-actionbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;font-size:14px;font-weight:600;text-decoration:none;color:var(--ink);border:1px solid var(--hair);border-radius:2px;}
  .p-actionbar a.book{background:var(--ink);color:var(--white);border-color:var(--ink);}
  .p-actionbar svg{width:18px;height:18px;}
}
@media (prefers-reduced-motion:reduce){ .p-list a,.p-btn{transition:none;} }

/* =========================================================
   Inner pages
   ========================================================= */
.p-pagehero{padding:clamp(48px,7vw,104px) 0 clamp(40px,5vw,72px);border-bottom:1px solid var(--hair);}
.p-pagehero h1{font-size:clamp(40px,5.4vw,76px);line-height:1.02;letter-spacing:-.02em;max-width:18ch;margin-bottom:24px;}
.p-pagehero .p-lead{font-size:19px;max-width:56ch;}
.p-pagehero .p-cta-row{margin-top:32px;}
.p-byline{font-size:14px;color:var(--mist);margin-top:22px;}
.p-crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:var(--mist);margin-bottom:28px;}
.p-crumbs a{text-decoration:none;color:var(--graphite);border-bottom:1px solid transparent;}
.p-crumbs a:hover{color:var(--blue);border-bottom-color:var(--blue);}
.p-pagehero-split{border-bottom:none;}
.p-pagehero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,6vw,96px);align-items:end;}
.p-pagehero-split h1{max-width:14ch;}

.p-sec{padding:clamp(56px,7vw,104px) 0;}
.p-sec + .p-sec{padding-top:0;}
.p-sec.p-tint{background:var(--white);padding-top:clamp(56px,7vw,104px);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
.p-tint + .p-sec{padding-top:clamp(56px,7vw,104px);}
.p-narrow{max-width:860px;}
.p-sec h2{font-size:clamp(28px,3.2vw,42px);line-height:1.1;margin-bottom:20px;}
.p-sec h3{font-size:22px;line-height:1.25;margin-bottom:8px;}
.p-sec p{color:var(--graphite);margin-bottom:14px;max-width:68ch;}
.p-narrow > p{font-size:18px;line-height:1.75;}
.p-sec .p-lead{margin-bottom:36px;}
.p-lead-center{margin-left:0;}

/* detail pages: content + aside */
.p-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(40px,6vw,96px);align-items:start;}
.p-items{border-top:1px solid var(--ink);margin-top:8px;}
.p-item{padding:26px 0;border-bottom:1px solid var(--hair);}
.p-item p{margin-bottom:0;}
.p-aside{position:sticky;top:110px;}
.p-aside-h{font-family:var(--text) !important;font-size:14px !important;font-weight:600 !important;color:var(--graphite) !important;margin:0 0 6px !important;}
.p-aside .p-list{margin-bottom:34px;}
.p-aside .p-list a{font-size:15px;padding:12px 0;}
.p-aside-cta{background:var(--white);border:1px solid var(--hair);padding:28px;}
.p-aside-cta p{font-family:var(--display);font-size:22px;line-height:1.25;color:var(--ink);margin-bottom:20px;}
.p-aside-cta .p-btn{width:100%;}

/* two/three column grids */
.p-grid{display:grid;gap:clamp(28px,4vw,64px);}
.p-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.p-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.p-grid > div > h2{margin-bottom:18px;}
.p-card{display:block;text-decoration:none;background:var(--white);border:1px solid var(--hair);padding:32px;transition:border-color .2s;}
a.p-card:hover{border-color:var(--ink);}
a.p-card:hover h3{color:var(--blue);}
.p-card h3{font-size:24px;margin:0 0 10px;transition:color .2s;}
.p-card p{font-size:15px;margin-bottom:0;}
.p-card-tag{font-size:13px;font-weight:600;color:var(--blue);margin-bottom:14px;}
.p-more{display:inline-block;margin-top:18px;font-size:14px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--blue);padding-bottom:2px;}
.p-chip{display:inline-block;font-size:13px;text-decoration:none;color:var(--graphite);border:1px solid var(--hair);padding:5px 12px;margin:10px 6px 0 0;transition:border-color .2s,color .2s;}
.p-chip:hover{border-color:var(--blue);color:var(--blue);}

/* closing band on inner pages */
.p-close-inner h2{font-size:clamp(34px,4.4vw,60px) !important;line-height:1.05;margin-bottom:32px;max-width:18ch;}

/* contact form */
body.premium .form-field label{font-family:var(--text);font-size:13.5px;letter-spacing:0;text-transform:none;color:var(--graphite);font-weight:500;}
body.premium .form-field input, body.premium .form-field select, body.premium .form-field textarea{font-family:var(--text);font-size:16px;color:var(--ink);border-bottom:1px solid rgba(15,26,38,.3);padding:12px 2px;}
body.premium .form-field input:focus, body.premium .form-field select:focus, body.premium .form-field textarea:focus{border-bottom-color:var(--blue);}
body.premium form button[type=submit], body.premium form .p-btn{cursor:pointer;border:none;}

@media (max-width:980px){
  .p-pagehero-grid,.p-detail,.p-grid-2,.p-grid-3{grid-template-columns:1fr;}
  .p-aside{position:static;}
  .p-pagehero-split .p-hero-figure{max-width:420px;}
}
body.premium .links .dropdown > a.active{border-bottom-color:var(--blue);}
.p-wrap.p-narrow{max-width:var(--wrap);}
.p-narrow > *{max-width:780px;}
.p-tint .p-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,72px);}
.p-crumbs span.p-here{color:var(--mist);}
.p-article h1{font-size:clamp(36px,4.2vw,58px);max-width:22ch;}
.p-disclaimer{font-size:14px !important;color:var(--mist) !important;border-top:1px solid var(--hair);padding-top:20px;}
@media (max-width:980px){.p-tint .p-items{grid-template-columns:1fr;}}

/* who we are */
.p-about{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center;}
.p-about-text h2{margin-top:8px;}
.p-about-text h2 + p{margin-bottom:40px;}
.p-about-img img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
.p-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);border-top:1px solid var(--ink);padding-top:28px;margin-top:12px;}
.p-values h3{font-size:24px;}
.p-values p{margin-bottom:0;}
.p-people-full .p-person p{margin-bottom:12px;}
.p-person .focus{color:var(--ink) !important;font-weight:500;}
.p-person .p-link{font-size:14px;}
.p-assocs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(28px,4vw,56px);border-top:1px solid var(--ink);}
.p-assoc{padding:28px 0;border-bottom:1px solid var(--hair);}
.p-assoc .role{font-size:13.5px;font-weight:600;color:var(--blue);margin-bottom:8px;}
.p-assoc h3{font-size:24px;}
.p-assoc .focus{color:var(--ink);font-weight:500;font-size:15px;margin-bottom:8px;}
.p-assoc p{font-size:15px;margin-bottom:0;}
@media (max-width:980px){.p-about,.p-values,.p-assocs{grid-template-columns:1fr;}}

/* contact */
.p-contact{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:start;}
.p-honey{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;}
.p-form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;}
body.premium .p-form .form-field{margin-bottom:30px;}
.p-form button{margin-top:6px;}
.p-form-note{font-size:13.5px !important;color:var(--mist) !important;margin-top:18px;}
.p-contact-aside{background:var(--white);border:1px solid var(--hair);padding:clamp(24px,3vw,40px);}
.p-contact-aside h2{font-size:30px;}
.p-contact-light{margin:24px 0;border-top-color:var(--ink) !important;}
.p-contact-light li{border-bottom-color:var(--hair) !important;}
.p-contact-light span{color:var(--mist) !important;}
.p-contact-light a{color:var(--ink) !important;}
.p-contact-light a:hover{color:var(--blue) !important;}
.p-map{aspect-ratio:4/3;background:var(--stone);margin-bottom:18px;}
.p-map iframe{width:100%;height:100%;border:0;filter:grayscale(1);display:block;}
@media (max-width:980px){.p-contact{grid-template-columns:1fr;}}
@media (max-width:640px){.p-form-row{grid-template-columns:1fr;}}

/* row lists (practice areas, industries) */
.p-rowlist{border-top:1px solid var(--ink);}
.p-rowlist .p-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) minmax(0,4fr);gap:clamp(20px,3vw,48px);align-items:baseline;background:none;border:none;border-bottom:1px solid var(--hair);padding:30px 0;}
.p-rowlist .p-card h3{margin:0;font-size:clamp(22px,2.2vw,30px);}
.p-rowlist .p-card p{margin:0;}
.p-rowlist .p-chip{margin:0 6px 8px 0;}
.p-rowlist a.p-card:hover{border-color:var(--hair);}
.p-rowlist a.p-card:hover h3{color:var(--blue);}
.p-rowlist .p-card > div:last-child:empty{display:none;}
/* market cards with images */
.p-markets{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:clamp(16px,2vw,28px);}
.p-markets .p-card{padding:0;border:none;background:none;}
.p-card-img img{width:100%;aspect-ratio:3/4.3;object-fit:cover;display:block;margin-bottom:18px;transition:transform .5s;}
.p-card-img{display:block;overflow:hidden;clip-path:polygon(50% 0,100% 12%,100% 100%,0 100%,0 12%);}
.p-markets a.p-card:hover img{transform:scale(1.04);}
.p-markets .p-card h3{font-size:22px;}
@media (max-width:980px){
  .p-rowlist .p-card{grid-template-columns:1fr;gap:10px;}
  .p-markets{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
.p-statutes{list-style:none;column-count:2;column-gap:clamp(32px,5vw,72px);border-top:1px solid var(--ink);}
.p-statutes li{break-inside:avoid;display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--hair);font-family:var(--display);font-size:19px;}
.p-statutes small{font-family:var(--text);font-size:14px;color:var(--mist);}
.p-note-block{margin-top:40px;font-size:16px;max-width:64ch;}
@media (max-width:760px){.p-statutes{column-count:1;}}
.p-sec p + h2, .p-sec .p-items + h2{margin-top:clamp(40px,5vw,64px);}
.p-creds .p-wrap{grid-template-columns:220px 1fr;}
.p-cred-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.p-cred-list li{font-family:var(--display);font-size:19px;line-height:1.3;color:var(--ink);padding-left:18px;border-left:1px solid var(--blue);}
.p-faq-wide{max-width:900px;}
.p-delivery{border:1px solid var(--ink);background:var(--white);padding:clamp(24px,3vw,40px);max-width:900px;}
.p-delivery h2{font-size:clamp(24px,2.6vw,32px) !important;margin-bottom:12px !important;}
.p-delivery p{margin:0;font-size:17px;}
@media (max-width:980px){.p-cred-list{grid-template-columns:1fr;gap:14px;}}
.p-hero .p-facts{grid-template-columns:repeat(3,minmax(0,1fr));}

/* ===== QA round fixes ===== */
/* Google Translate's loading spinner and hover tooltips never show */
.goog-te-spinner-pos,#goog-gt-tt,.goog-te-balloon-frame,.goog-tooltip,.goog-text-highlight{display:none !important;}
.goog-text-highlight{background:none !important;box-shadow:none !important;}

/* floating WhatsApp: sits above the cookie notice while it is open */
body.premium .whatsapp-fab{z-index:97;transition:bottom .2s;}
body.premium .cookie-notice{z-index:99;}
body.premium.cookie-open .whatsapp-fab{bottom:120px;}

/* step numbers: stronger contrast */
.p-step::before{color:var(--ink);}
.p-step h3{color:var(--ink);}

/* legal-currency and delivery notes read as notes, not body copy */
.p-sec .p-lead + .p-items{margin-top:0;}
.p-note-muted{font-size:14px !important;font-style:italic;color:var(--mist) !important;}

/* ----- desktop nav ----- */
.m-only{display:none !important;}
body.premium .nav-cta{background:var(--ink) !important;color:var(--white) !important;border-color:var(--ink) !important;}
body.premium .nav-cta:hover{background:var(--blue) !important;border-color:var(--blue) !important;}
body.premium .lang-dropdown .dropdown-menu a{font-family:var(--text);font-size:15px;font-weight:500;}

/* ----- mobile nav ----- */
@media (max-width:980px){
  .m-only{display:block !important;}
  body.premium .links{gap:0;max-height:calc(100vh - 76px);overflow-y:auto;padding-bottom:16px;}
  body.premium .links > a, body.premium .links .dropdown > a{font-size:16px;padding:16px 24px;border-bottom:1px solid var(--hair);color:var(--ink);}
  body.premium .links .dropdown-menu{display:none !important;padding:4px 0 10px 0;background:var(--white);border-bottom:1px solid var(--hair);}
  body.premium .links .dropdown.sub-open > .dropdown-menu{display:block !important;}
  body.premium .links .dropdown > a::after{transition:transform .2s;}
  body.premium .links .dropdown.sub-open > a::after{transform:rotate(-135deg) translateY(-2px);}
  body.premium .links .dropdown-menu a{display:block;font-family:var(--text);font-size:15px;font-weight:500;padding:12px 24px 12px 40px;color:var(--graphite);}
  body.premium .links .dropdown-menu a[lang]{font-size:15px;font-weight:500;}
  body.premium .nav-cta{display:flex !important;justify-content:center;margin:20px 24px 4px;width:calc(100% - 48px);padding:16px !important;font-size:15px;}
}
/* phones: the bottom action bar replaces the floating WhatsApp button on every page */
@media (max-width:640px){
  body.premium .whatsapp-fab{display:none !important;}
  body.premium main{padding-bottom:0;}
  body.premium .footer-bottom{padding-bottom:96px;}
  body.premium .cookie-notice{bottom:70px;}
}
/* list links show they are links */
.p-list a:not(:has(small))::after{content:'';flex:none;width:7px;height:7px;border-top:1.4px solid currentColor;border-right:1.4px solid currentColor;transform:rotate(45deg);opacity:.35;margin-right:4px;transition:opacity .2s;}
.p-list a:hover::after{opacity:1;}
/* market heroes: text sits level with the image instead of low on the page */
.p-pagehero-grid{align-items:center;}
