/* =========================================================================
   JURELIO — Design System & Shared Skeleton
   Art direction: Full-Bleed Cover Story (cinematic editorial, magazine hero)
   Class scheme: jur.module_part--modifier  (dot-segmented, escaped in CSS)
   ========================================================================= */

/* ---------- Fonts ---------- */
/* Fjalla One (heading) / Work Sans (body) loaded via head.html <link> */

/* ---------- Root tokens ---------- */
:root{
  --site-bg:#f5f1e8;
  --site-surface:#ffffff;
  --site-text:#1c1712;
  --site-muted:#79705f;
  --site-accent:#ab3927;

  --jur-accent2:#4f5d47;
  --jur-bg:var(--site-bg);
  --jur-surface:var(--site-surface);
  --jur-text:var(--site-text);
  --jur-muted:var(--site-muted);
  --jur-accent:var(--site-accent);

  --jur-container:1240px;
  --jur-radius:20px;
  --jur-shadow:0 4px 24px rgba(0,0,0,.08);
  --jur-section-pad:88px;

  --font-head:'Fjalla One', sans-serif;
  --font-body:'Work Sans', sans-serif;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html,body{max-width:100%;overflow-x:hidden;}
body{
  margin:0;
  background:var(--jur-bg);
  color:var(--jur-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.01em;
  line-height:1.05;
  margin:0 0 .5em;
  color:var(--jur-text);
}
p{margin:0 0 1em;color:var(--jur-text);}
:focus-visible{outline:3px solid var(--jur-accent);outline-offset:3px;}

/* ---------- Container / Section ---------- */
.jur\.container{
  width:100%;
  max-width:var(--jur-container);
  margin:0 auto;
  padding:0 24px;
}
.jur\.section{
  padding:var(--jur-section-pad) 0;
}
.jur\.section--tinted{
  background:#efe7d6;
}
.jur\.section--forest{
  background:var(--jur-accent2);
  color:#f5f1e8;
}
.jur\.section--forest h2,.jur\.section--forest h3{color:#f5f1e8;}
.jur\.section_head{
  max-width:760px;
  margin:0 0 48px;
}
.jur\.section_kicker{
  display:inline-block;
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  color:var(--jur-accent);
  margin-bottom:12px;
}
.jur\.section_title{
  font-size:clamp(2rem,3.4vw,3rem);
}
.jur\.section_lede{
  color:var(--jur-muted);
  font-size:1.08rem;
  max-width:60ch;
}

/* ---------- Buttons ---------- */
.jur\.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 30px;
  border-radius:999px;
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.88rem;
  border:2px solid transparent;
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  min-height:48px;
  white-space:nowrap;
}
.jur\.btn--primary{
  background:var(--jur-accent);
  color:#fff;
}
.jur\.btn--primary:hover{transform:translateY(-2px);background:#8f2e1f;}
.jur\.btn--outline{
  background:transparent;
  border-color:currentColor;
  color:inherit;
}
.jur\.btn--outline:hover{transform:translateY(-2px);background:rgba(255,255,255,.1);}
.jur\.btn--ghost{
  background:#fff;
  color:var(--jur-text);
  border-color:#fff;
}
.jur\.btn--ghost:hover{transform:translateY(-2px);}
.jur\.btn--dark{
  background:var(--jur-text);
  color:#fff;
}
.jur\.btn--dark:hover{transform:translateY(-2px);background:#000;}

/* ---------- Card base ---------- */
.jur\.card{
  background:var(--jur-surface);
  border-radius:var(--jur-radius);
  box-shadow:var(--jur-shadow);
  overflow:hidden;
}

/* =========================================================================
   HEADER — minimal transparent over hero, nav slides down on scroll
   ========================================================================= */
#topbar-7q9{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  padding:22px 0;
  background:transparent;
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
}
#topbar-7q9 .jur\.topbar_inner{
  max-width:var(--jur-container);
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.jur\.topbar_brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  transition:color .35s ease;
}
.jur\.topbar_logo{
  width:34px;height:34px;
  color:#fff;
  flex-shrink:0;
  transition:color .35s ease;
}
.jur\.topbar_wordmark{
  font-family:var(--font-head);
  font-size:1.4rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  line-height:1;
}
.jur\.topbar_actions{
  display:flex;
  align-items:center;
  gap:18px;
}
.jur\.topbar_cta{padding:13px 26px;font-size:.8rem;}

/* nav revealed on scroll */
.jur\.topbar_nav{
  position:absolute;
  left:0;right:0;top:100%;
  background:var(--jur-surface);
  box-shadow:var(--jur-shadow);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .3s ease, transform .3s ease, visibility .3s;
  pointer-events:none;
}
.jur\.topbar_nav .jur\.nav_list{
  max-width:var(--jur-container);
  margin:0 auto;
  padding:16px 24px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 30px;
}
.jur\.nav_link{
  display:inline-block;
  padding:8px 4px;
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.86rem;
  color:var(--jur-text);
  border-bottom:2px solid transparent;
}
.jur\.nav_link:hover,.jur\.nav_link--active{
  color:var(--jur-accent);
  border-color:var(--jur-accent);
}

#topbar-7q9.is-scrolled{
  background:var(--jur-surface);
  box-shadow:0 2px 16px rgba(0,0,0,.08);
  padding:14px 0;
}
#topbar-7q9.is-scrolled .jur\.topbar_brand{color:var(--jur-text);}
#topbar-7q9.is-scrolled .jur\.topbar_logo{color:var(--jur-accent);}
#topbar-7q9.is-scrolled .jur\.topbar_nav{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
}

/* mobile menu button */
.jur\.topbar_menubtn{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  border:none;background:transparent;
  color:#fff;
  font-size:1.3rem;
  border-radius:50%;
  transition:color .35s ease;
}
#topbar-7q9.is-scrolled .jur\.topbar_menubtn{color:var(--jur-text);}

/* drawer */
.jur\.drawer{
  position:fixed;
  top:0;right:0;bottom:0;
  width:min(340px,86vw);
  background:var(--jur-text);
  color:#f5f1e8;
  z-index:210;
  padding:28px 26px;
  transform:translateX(100%);
  transition:transform .35s ease;
  display:flex;
  flex-direction:column;
  gap:26px;
  overflow-y:auto;
}
.jur\.drawer.is-open{transform:translateX(0);}
.jur\.drawer_top{
  display:flex;justify-content:space-between;align-items:center;
}
.jur\.drawer_close{
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(245,241,232,.3);
  background:transparent;color:inherit;font-size:1.1rem;
}
.jur\.drawer_nav{display:flex;flex-direction:column;gap:6px;}
.jur\.drawer_nav a{
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.25rem;
  padding:12px 0;
  border-bottom:1px solid rgba(245,241,232,.15);
}
.jur\.drawer_cta{margin-top:auto;}

.jur\.drawer_veil{
  position:fixed;inset:0;
  background:rgba(28,23,18,.55);
  z-index:205;
  opacity:0;visibility:hidden;
  transition:opacity .35s ease, visibility .35s ease;
}
.jur\.drawer_veil.is-open{opacity:1;visibility:visible;}

@media (max-width:860px){
  .jur\.topbar_nav{display:none;}
  .jur\.topbar_menubtn{display:inline-flex;}
}

/* =========================================================================
   HERO — full-bleed magazine cover, headline in lower third
   ========================================================================= */
.jur\.hero{
  position:relative;
  min-height:94vh;
  overflow:hidden;
  color:#fff;
}
.jur\.hero_media{position:absolute;inset:0;}
.jur\.hero_media img{width:100%;height:100%;object-fit:cover;display:block;}
.jur\.hero::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(28,23,18,0) 30%, rgba(28,23,18,.55) 68%, rgba(28,23,18,.88) 100%);
  z-index:1;
}
.jur\.hero_mark{
  position:absolute;top:30px;left:28px;z-index:3;
  display:flex;align-items:center;gap:10px;
}
.jur\.hero_mark .jur\.topbar_logo{width:30px;height:30px;color:#fff;}
.jur\.hero_mark_word{
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.15rem;
}
.jur\.hero_lower{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:0 24px 72px;
}
.jur\.hero_lower_inner{max-width:var(--jur-container);margin:0 auto;}
.jur\.hero_title{
  font-size:clamp(2.6rem,7.2vw,6.4rem);
  line-height:.94;
  text-transform:uppercase;
  color:#fff;
  max-width:15ch;
  margin-bottom:.35em;
}
.jur\.hero_sub{
  color:rgba(255,255,255,.86);
  font-size:clamp(1rem,1.5vw,1.2rem);
  max-width:48ch;
}
.jur\.hero_actions{margin-top:30px;display:flex;gap:16px;flex-wrap:wrap;}

/* =========================================================================
   PAGE HERO variants (used on content/contact pages)
   ========================================================================= */

/* --- split: image right, text left --- */
.jur\.pagehero--split{
  padding:180px 0 var(--jur-section-pad);
}
.jur\.pagehero--split .jur\.pagehero_grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:56px;
  align-items:center;
}
.jur\.pagehero_kicker{
  color:var(--jur-accent);
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.8rem;
  margin-bottom:14px;
  display:block;
}
.jur\.pagehero_title{font-size:clamp(2.2rem,4.4vw,3.6rem);}
.jur\.pagehero_lede{color:var(--jur-muted);font-size:1.1rem;max-width:52ch;}
.jur\.pagehero_media{
  aspect-ratio:3/4;
  border-radius:var(--jur-radius);
  overflow:hidden;
  box-shadow:var(--jur-shadow);
}
.jur\.pagehero_media img{width:100%;height:100%;object-fit:cover;}

/* --- tinted band --- */
.jur\.pagehero--tinted{
  background:var(--jur-accent2);
  color:#f5f1e8;
  padding:190px 0 96px;
  text-align:center;
}
.jur\.pagehero--tinted .jur\.pagehero_title{color:#f5f1e8;max-width:20ch;margin:0 auto .4em;}
.jur\.pagehero--tinted .jur\.pagehero_lede{color:rgba(245,241,232,.82);margin:0 auto;text-align:center;}
.jur\.pagehero--tinted .jur\.pagehero_kicker{color:#e7c9a8;}

/* --- centered compact --- */
.jur\.pagehero--centered{
  padding:180px 0 64px;
  text-align:center;
}
.jur\.pagehero--centered .jur\.pagehero_title{max-width:22ch;margin:0 auto .3em;}
.jur\.pagehero--centered .jur\.pagehero_lede{margin:0 auto;text-align:center;}

@media (max-width:860px){
  .jur\.pagehero--split .jur\.pagehero_grid{grid-template-columns:1fr;}
  .jur\.pagehero_media{order:-1;aspect-ratio:4/3;}
}

/* =========================================================================
   STATS
   ========================================================================= */
.jur\.stats--row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:32px;
  border-top:1px solid rgba(28,23,18,.12);
  padding-top:48px;
}
.jur\.stat_item{text-align:left;}
.jur\.stat_num{
  font-family:var(--font-head);
  font-size:clamp(2.6rem,5vw,4.2rem);
  color:var(--jur-accent);
  line-height:1;
}
.jur\.stat_label{
  margin-top:10px;
  color:var(--jur-muted);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.82rem;
}

.jur\.stats--boxed{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:24px;
}
.jur\.stat_box{
  border:1px solid rgba(28,23,18,.16);
  border-radius:var(--jur-radius);
  padding:34px 26px;
  background:var(--jur-surface);
}
.jur\.stat_box .jur\.stat_num{color:var(--jur-text);}
.jur\.stat_box .jur\.stat_label{color:var(--jur-accent);}

/* =========================================================================
   TESTIMONIALS
   ========================================================================= */
.jur\.testi--triple{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:28px;
}
.jur\.testi_card{
  padding:38px 32px;
  position:relative;
}
.jur\.testi_mark{
  font-family:var(--font-head);
  font-size:3.4rem;
  color:var(--jur-accent);
  line-height:1;
  display:block;
  margin-bottom:6px;
}
.jur\.testi_quote{font-size:1.05rem;color:var(--jur-text);}
.jur\.testi_person{
  margin-top:22px;
  display:flex;align-items:center;gap:12px;
}
.jur\.testi_avatar{
  width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;
}
.jur\.testi_avatar img{width:100%;height:100%;object-fit:cover;}
.jur\.testi_name{font-family:var(--font-head);text-transform:uppercase;font-size:.92rem;}
.jur\.testi_role{color:var(--jur-muted);font-size:.82rem;}

.jur\.testi--dual{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
}
.jur\.testi--dual .jur\.testi_card{
  padding:0;background:transparent;box-shadow:none;border-radius:0;
  border-left:3px solid var(--jur-accent);
  padding-left:26px;
}
.jur\.testi--dual .jur\.testi_quote{font-size:1.25rem;font-family:var(--font-head);text-transform:none;letter-spacing:0;}

@media (max-width:860px){
  .jur\.testi--dual{grid-template-columns:1fr;gap:36px;}
}

/* =========================================================================
   TEAM
   ========================================================================= */
.jur\.team--cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:28px;
}
.jur\.team_card{}
.jur\.team_photo{aspect-ratio:3/4;overflow:hidden;}
.jur\.team_photo img{width:100%;height:100%;object-fit:cover;}
.jur\.team_body{padding:22px 24px 26px;}
.jur\.team_name{font-size:1.1rem;margin-bottom:2px;}
.jur\.team_role{color:var(--jur-accent);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;}

.jur\.team--tinted{
  background:#efe7d6;
}
.jur\.team--tinted .jur\.team_card{box-shadow:none;border:1px solid rgba(28,23,18,.1);}

/* =========================================================================
   SERVICES
   ========================================================================= */
.jur\.services_grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:28px;
}
.jur\.service_card{display:flex;flex-direction:column;}
.jur\.service_media{aspect-ratio:4/3;overflow:hidden;}
.jur\.service_media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.jur\.service_card:hover .jur\.service_media img{transform:scale(1.05);}
.jur\.service_body{padding:26px 28px 30px;}
.jur\.service_title{font-size:1.25rem;margin-bottom:8px;}
.jur\.service_text{color:var(--jur-muted);font-size:.96rem;}
.jur\.service_link{
  margin-top:16px;display:inline-flex;align-items:center;gap:8px;
  color:var(--jur-accent);font-family:var(--font-head);
  text-transform:uppercase;font-size:.82rem;letter-spacing:.05em;
}

/* =========================================================================
   BLOG FEED
   ========================================================================= */
.jur\.blog_grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:28px;
}
.jur\.blog_card{}
.jur\.blog_media{aspect-ratio:16/9;overflow:hidden;position:relative;}
.jur\.blog_media img{width:100%;height:100%;object-fit:cover;}
.jur\.blog_date{
  position:absolute;top:14px;left:14px;
  background:var(--jur-text);color:#fff;
  padding:6px 14px;border-radius:999px;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
}
.jur\.blog_body{padding:22px 24px 26px;}
.jur\.blog_title{font-size:1.15rem;margin-bottom:8px;}
.jur\.blog_excerpt{color:var(--jur-muted);font-size:.94rem;}

/* =========================================================================
   RESOURCES
   ========================================================================= */
.jur\.resources_grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
}
.jur\.resource_card{
  display:flex;align-items:center;gap:18px;
  padding:22px 24px;
}
.jur\.resource_type{
  width:52px;height:52px;flex-shrink:0;
  border-radius:14px;
  background:var(--jur-accent);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);
  font-size:.78rem;
  text-transform:uppercase;
}
.jur\.resource_name{font-size:1rem;margin-bottom:2px;}
.jur\.resource_size{color:var(--jur-muted);font-size:.82rem;}
.jur\.resource_dl{margin-left:auto;font-size:1.1rem;color:var(--jur-accent);flex-shrink:0;}

/* =========================================================================
   CTA STRIP variants
   ========================================================================= */

/* full width band */
.jur\.ctastrip--band{
  background:var(--jur-text);
  color:#f5f1e8;
  padding:72px 0;
  text-align:center;
}
.jur\.ctastrip--band .jur\.ctastrip_title{
  color:#fff;font-size:clamp(1.8rem,3.4vw,2.6rem);max-width:20ch;margin:0 auto 22px;
}
.jur\.ctastrip--band .jur\.btn--primary{margin-top:4px;}

/* split with contact info */
.jur\.ctastrip--split{
  background:#efe7d6;
  border-radius:var(--jur-radius);
  padding:56px;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:40px;
  align-items:center;
}
.jur\.ctastrip--split .jur\.ctastrip_title{font-size:clamp(1.6rem,2.8vw,2.2rem);}
.jur\.ctastrip_contact{border-left:1px solid rgba(28,23,18,.15);padding-left:36px;}
.jur\.ctastrip_contact_row{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:.98rem;}
.jur\.ctastrip_contact_row i{color:var(--jur-accent);width:18px;text-align:center;}

/* centered card */
.jur\.ctastrip--card{
  max-width:760px;margin:0 auto;
  background:var(--jur-surface);
  border-radius:var(--jur-radius);
  box-shadow:var(--jur-shadow);
  padding:56px 48px;
  text-align:center;
}
.jur\.ctastrip--card .jur\.ctastrip_title{font-size:clamp(1.7rem,3vw,2.3rem);}

@media (max-width:860px){
  .jur\.ctastrip--split{grid-template-columns:1fr;padding:36px 28px;}
  .jur\.ctastrip_contact{border-left:none;border-top:1px solid rgba(28,23,18,.15);padding-left:0;padding-top:24px;}
}

/* =========================================================================
   SPLIT FEATURE (alternating rows)
   ========================================================================= */
.jur\.splitfeat_row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
  padding:56px 0;
  border-bottom:1px solid rgba(28,23,18,.1);
}
.jur\.splitfeat_row:last-child{border-bottom:none;}
.jur\.splitfeat_row:nth-child(even) .jur\.splitfeat_media{order:2;}
.jur\.splitfeat_media{
  aspect-ratio:4/3;
  border-radius:var(--jur-radius);
  overflow:hidden;
  box-shadow:var(--jur-shadow);
}
.jur\.splitfeat_media img{width:100%;height:100%;object-fit:cover;}
.jur\.splitfeat_kicker{
  color:var(--jur-accent);font-family:var(--font-head);
  text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;margin-bottom:10px;display:block;
}
.jur\.splitfeat_title{font-size:clamp(1.5rem,2.6vw,2.1rem);}
.jur\.splitfeat_text{color:var(--jur-muted);}

@media (max-width:860px){
  .jur\.splitfeat_row{grid-template-columns:1fr;gap:24px;padding:36px 0;}
  .jur\.splitfeat_row:nth-child(even) .jur\.splitfeat_media{order:0;}
}

/* =========================================================================
   PROCESS — 4 numbered steps in a row
   ========================================================================= */
.jur\.process_row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.jur\.process_step{
  position:relative;
  padding:0 24px 0 0;
  border-right:1px dashed rgba(28,23,18,.2);
}
.jur\.process_step:last-child{border-right:none;}
.jur\.process_num{
  font-family:var(--font-head);
  font-size:2.6rem;
  color:var(--jur-accent);
  line-height:1;
  margin-bottom:14px;
}
.jur\.process_title{font-size:1.05rem;margin-bottom:8px;}
.jur\.process_text{color:var(--jur-muted);font-size:.92rem;}

@media (max-width:860px){
  .jur\.process_row{grid-template-columns:1fr;gap:28px;}
  .jur\.process_step{border-right:none;border-left:2px solid var(--jur-accent);padding:0 0 0 20px;}
}

/* =========================================================================
   FAQ ACCORDION
   ========================================================================= */
.jur\.faq_list{
  max-width:900px;
  border-top:1px solid rgba(28,23,18,.15);
}
.jur\.faq_item{
  border-bottom:1px solid rgba(28,23,18,.15);
}
.jur\.faq_trigger{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:none;border:none;
  padding:24px 4px;
  text-align:left;
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.02em;
  font-size:1.02rem;
  color:var(--jur-text);
}
.jur\.faq_trigger i{
  color:var(--jur-accent);
  transition:transform .3s ease;
  flex-shrink:0;
}
.jur\.faq_item.is-open .jur\.faq_trigger i{transform:rotate(45deg);}
.jur\.faq_body{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.jur\.faq_item.is-open .jur\.faq_body{max-height:600px;}
.jur\.faq_body_inner{
  padding:0 4px 26px;
  color:var(--jur-muted);
  max-width:70ch;
}

/* =========================================================================
   CHECKLIST — two columns
   ========================================================================= */
.jur\.checklist--dual{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 56px;
}
.jur\.checklist_item{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px 0;
  border-bottom:1px solid rgba(28,23,18,.12);
}
.jur\.checklist_item i{
  color:var(--jur-accent2);
  margin-top:4px;
  flex-shrink:0;
}
@media (max-width:768px){
  .jur\.checklist--dual{grid-template-columns:1fr;}
}

/* =========================================================================
   METHODOLOGY — numbered phases with rule between
   ========================================================================= */
.jur\.methodology_list{max-width:900px;}
.jur\.methodology_phase{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:32px;
  padding:44px 0;
  border-top:1px solid rgba(28,23,18,.15);
}
.jur\.methodology_phase:first-child{border-top:none;}
.jur\.methodology_num{
  font-family:var(--font-head);
  font-size:3.4rem;
  color:var(--jur-accent);
  line-height:1;
}
.jur\.methodology_title{font-size:1.4rem;margin-bottom:10px;}
.jur\.methodology_text{color:var(--jur-muted);max-width:60ch;}
@media (max-width:640px){
  .jur\.methodology_phase{grid-template-columns:1fr;gap:12px;}
}

/* =========================================================================
   CREDENTIALS
   ========================================================================= */
.jur\.credentials_list{max-width:820px;}
.jur\.credential_item{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding:20px 0;
  border-bottom:1px solid rgba(28,23,18,.15);
}
.jur\.credential_name{font-family:var(--font-head);text-transform:uppercase;font-size:1rem;}
.jur\.credential_year{color:var(--jur-accent);font-size:.9rem;flex-shrink:0;}

/* =========================================================================
   CONTACT FORM — two columns
   ========================================================================= */
.jur\.contactgrid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:56px;
  align-items:start;
}
.jur\.contactgrid_text .jur\.section_title{font-size:clamp(1.9rem,3.4vw,2.6rem);}
.jur\.contactgrid_points{margin-top:28px;}
.jur\.contactgrid_points li{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px 0;
  border-top:1px solid rgba(28,23,18,.12);
}
.jur\.contactgrid_points li:first-child{border-top:none;}
.jur\.contactgrid_points i{color:var(--jur-accent);margin-top:4px;}

.jur\.contactgrid_form{
  padding:40px;
}

@media (max-width:860px){
  .jur\.contactgrid{grid-template-columns:1fr;gap:32px;}
  .jur\.contactgrid_form{padding:28px 24px;}
}

/* =========================================================================
   FORMS (shared)
   ========================================================================= */
.jur\.field{margin-bottom:20px;}
.jur\.field_label{
  display:block;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--jur-muted);
  margin-bottom:8px;
}
.jur\.field_input,.jur\.field_textarea{
  width:100%;
  padding:14px 16px;
  border:1px solid rgba(28,23,18,.25);
  border-radius:12px;
  background:var(--jur-bg);
  font-family:var(--font-body);
  font-size:.98rem;
  color:var(--jur-text);
  transition:border-color .2s ease, background .2s ease;
}
.jur\.field_input:focus,.jur\.field_textarea:focus{
  border-color:var(--jur-accent);
  background:#fff;
  outline:none;
}
.jur\.field_textarea{min-height:150px;resize:vertical;}
.jur\.field--error .jur\.field_input,
.jur\.field--error .jur\.field_textarea{border-color:var(--jur-accent);}
.jur\.field_error{color:var(--jur-accent);font-size:.8rem;margin-top:6px;display:block;}
.jur\.field_submit{width:100%;margin-top:6px;}

/* =========================================================================
   FOOTER — newsletter-led
   ========================================================================= */
.jur\.footer{
  background:var(--jur-text);
  color:#f5f1e8;
}
.jur\.footer_signup{
  background:var(--jur-accent);
  padding:64px 0;
}
.jur\.footer_signup_inner{
  max-width:var(--jur-container);
  margin:0 auto;
  padding:0 24px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.jur\.footer_signup_title{
  color:#fff;
  font-size:clamp(1.6rem,3vw,2.3rem);
  max-width:16ch;
  margin:0;
}
.jur\.footer_signup_text{color:rgba(255,255,255,.85);max-width:34ch;margin:8px 0 0;}
.jur\.footer_form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  flex:1 1 380px;
  max-width:460px;
}
.jur\.footer_form_input{
  flex:1 1 220px;
  padding:15px 18px;
  border-radius:999px;
  border:none;
  font-family:var(--font-body);
  font-size:.95rem;
}
.jur\.footer_form_input:focus{outline:3px solid #1c1712;}

.jur\.footer_main{
  padding:64px 0 40px;
}
.jur\.footer_columns{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:40px;
}
.jur\.footer_brandblock{max-width:34ch;}
.jur\.footer_brand{
  display:flex;align-items:center;gap:10px;margin-bottom:14px;
}
.jur\.footer_brand .jur\.topbar_logo{width:28px;height:28px;color:#f5f1e8;}
.jur\.footer_brand_word{
  font-family:var(--font-head);
  text-transform:uppercase;
  font-size:1.15rem;
  letter-spacing:.03em;
}
.jur\.footer_tagline{color:rgba(245,241,232,.7);font-size:.92rem;}
.jur\.footer_heading{
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.82rem;
  color:#e7c9a8;
  margin-bottom:16px;
}
.jur\.footer_nav{display:flex;flex-direction:column;gap:10px;}
.jur\.footer_nav a{color:rgba(245,241,232,.82);font-size:.94rem;}
.jur\.footer_nav a:hover{color:#fff;}
.jur\.footer_contact{display:flex;flex-direction:column;gap:10px;}
.jur\.footer_contact a,.jur\.footer_contact address{
  color:rgba(245,241,232,.82);
  font-size:.94rem;
  font-style:normal;
}

.jur\.footer_legal{
  border-top:1px solid rgba(245,241,232,.15);
  padding:26px 0;
}
.jur\.footer_legal_inner{
  max-width:var(--jur-container);
  margin:0 auto;
  padding:0 24px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:14px 28px;
  font-size:.8rem;
  color:rgba(245,241,232,.6);
}
.jur\.footer_legal_links{display:flex;gap:20px;flex-wrap:wrap;}
.jur\.footer_legal_links a{color:rgba(245,241,232,.6);}
.jur\.footer_legal_links a:hover{color:#fff;}
.jur\.footer_reg{color:rgba(245,241,232,.5);}

@media (max-width:900px){
  .jur\.footer_columns{grid-template-columns:1fr 1fr;}
  .jur\.footer_brandblock{grid-column:1/-1;}
}
@media (max-width:600px){
  .jur\.footer_columns{grid-template-columns:1fr;}
  .jur\.footer_signup_inner{flex-direction:column;align-items:flex-start;}
  .jur\.footer_form{max-width:100%;width:100%;}
}

/* =========================================================================
   ACCORDION (generic, shared beyond FAQ)
   ========================================================================= */
[data-acc-item] [data-acc-body]{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
[data-acc-item].is-open [data-acc-body]{max-height:600px;}

/* =========================================================================
   SWIPER SLIDER
   ========================================================================= */
.swipe-deck-6eq{padding-bottom:56px;}
.swipe-deck-6eq .swiper-slide{height:auto;}
.swipe-deck-6eq .swiper-pagination-bullet{
  background:var(--jur-muted);
  opacity:.4;
  width:9px;height:9px;
}
.swipe-deck-6eq .swiper-pagination-bullet-active{
  background:var(--jur-accent);
  opacity:1;
}
.swipe-deck-6eq .swiper-button-prev,
.swipe-deck-6eq .swiper-button-next{
  width:46px;height:46px;
  background:var(--jur-surface);
  border-radius:50%;
  box-shadow:var(--jur-shadow);
  color:var(--jur-text);
}
.swipe-deck-6eq .swiper-button-prev::after,
.swipe-deck-6eq .swiper-button-next::after{font-size:1rem;}

/* =========================================================================
   MODAL / LIGHTBOX (scroll-safe)
   ========================================================================= */
.lightbox-2oi{
  position:fixed;
  inset:0;
  z-index:300;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(28,23,18,.6);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
}
.lightbox-2oi.is-open{opacity:1;visibility:visible;}
.lightbox-2oi_dialog{
  position:relative;
  background:var(--jur-surface);
  border-radius:var(--jur-radius);
  box-shadow:var(--jur-shadow);
  max-width:560px;
  width:100%;
  padding:44px 36px;
  transform:translateY(14px);
  transition:transform .25s ease;
}
.lightbox-2oi.is-open .lightbox-2oi_dialog{transform:translateY(0);}
.lightbox-2oi_close{
  position:absolute;top:18px;right:18px;
  width:38px;height:38px;
  border-radius:50%;
  border:1px solid rgba(28,23,18,.15);
  background:transparent;
  font-size:1rem;
}

/* =========================================================================
   PARALLAX helper
   ========================================================================= */
.para-img-3et{width:100%;height:100%;object-fit:cover;display:block;}

/* =========================================================================
   COOKIE CONSENT (shared component — matched via CSS vars)
   ========================================================================= */
.jur\.cookiebar,
#cookie-consent,
.cookie-consent{
  position:fixed;
  left:24px;bottom:24px;
  z-index:400;
  max-width:380px;
  background:var(--site-surface);
  color:var(--site-text);
  border-radius:var(--jur-radius);
  box-shadow:var(--jur-shadow);
  padding:26px;
}
.jur\.cookiebar h3,
#cookie-consent h3,
.cookie-consent h3{font-size:1.05rem;}
.jur\.cookiebar p,
#cookie-consent p,
.cookie-consent p{color:var(--site-muted);font-size:.88rem;}
.jur\.cookiebar button,
#cookie-consent button,
.cookie-consent button{
  border-radius:999px;
  border:2px solid transparent;
  padding:12px 22px;
  font-family:var(--font-head);
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.05em;
  background:var(--site-accent);
  color:#fff;
}

/* =========================================================================
   UTILITIES
   ========================================================================= */
.jur\.center{text-align:center;}
.jur\.divider{height:1px;background:rgba(28,23,18,.15);margin:56px 0;}
[data-aos]{transition-duration:600ms !important;}

/* =========================================================================
   RESPONSIVE — global grid/index adjustments
   ========================================================================= */
@media (max-width:1200px){
  .jur\.testi--triple{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
}
@media (max-width:768px){
  :root{--jur-section-pad:64px;}
  .jur\.hero{min-height:78vh;}
  .jur\.hero_lower{padding-bottom:48px;}
  .jur\.stats--row{grid-template-columns:repeat(2,1fr);}
  .jur\.footer_signup_inner{text-align:left;}
}
@media (max-width:480px){
  .jur\.container{padding:0 18px;}
  .jur\.hero_title{max-width:100%;}
  .jur\.stats--row{grid-template-columns:1fr;}
  .jur\.stat_item{border-bottom:1px solid rgba(28,23,18,.12);padding-bottom:20px;}
}


/* --- cookie consent (per-site) --- */
.privacy-note-fku-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.privacy-note-fku-overlay.is-open{opacity:1;visibility:visible;}
.privacy-note-fku-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.privacy-note-fku-panel.is-open{opacity:1;visibility:visible;}
.privacy-note-fku-panel h3{margin:0 0 8px;font-size:1.2rem;}
.privacy-note-fku-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.privacy-note-fku-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.privacy-note-fku-cat h4{margin:0 0 2px;font-size:.98rem;}
.privacy-note-fku-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.privacy-note-fku-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.privacy-note-fku-switch input{opacity:0;width:0;height:0;position:absolute;}
.privacy-note-fku-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.privacy-note-fku-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.privacy-note-fku-switch input:checked+span{background:var(--site-accent,#2b7);}
.privacy-note-fku-switch input:checked+span::before{transform:translateX(20px);}
.privacy-note-fku-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.privacy-note-fku-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.privacy-note-fku-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.privacy-note-fku-actions #privacy-note-fku-all{background:var(--site-accent,#2b7);color:#fff;}
.privacy-note-fku-actions #privacy-note-fku-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.privacy-note-fku-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.privacy-note-fku-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.privacy-note-fku-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.privacy-note-fku-overlay{background:transparent;pointer-events:none;}
.privacy-note-fku-panel{left:0;right:0;bottom:0;width:100%;border-radius:16px 16px 0 0;transform:translateY(100%);}
.privacy-note-fku-panel>*{max-width:900px;margin-left:auto;margin-right:auto;}
.privacy-note-fku-panel.is-open{transform:translateY(0);}
@media(max-width:520px){.privacy-note-fku-actions button{min-width:100%;}}
#quick-actions-4ny{left:auto !important;right:18px !important;}
@media(max-width:520px){#quick-actions-4ny{right:12px !important;}}
html[data-cookie-open] #quick-actions-4ny{bottom:min(46vh,260px) !important;}


/* --- safety net (deterministic) --- */
*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}
/* simpleParallax оборачивает <img> в свой .simpleParallax — заставляем обёртку
   тянуться на всю высоту родителя, а фото внутри — cover. Проценты безопасны:
   при родителе без заданной высоты height:100% откатывается к auto (без коллапса). */
.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}
/* Браузерный дефолт для <blockquote> и <figure> — margin: 1em 40px. Модель берёт
   эти семантические теги для отзывов и карточек с подписью, но сбросить поля
   забывает: внутри карточки в 267px текст сжимался до 131px (по 40px с каждой
   стороны) и переносился по одному слову, а между карточками зияли пустоты.
   Сбрасываем только горизонтальные поля — вертикальные обычно задуманы. */
blockquote, figure { margin-left: 0; margin-right: 0; }
/* Вложенные фигуры внутри сеток тоже не должны добавлять отступ сбоку. */
figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }
/* Если AOS не поднялся (CDN недоступен, блокировщик) — main.js вешает .no-aos.
   Без этого элементы с data-aos остались бы с opacity:0 из aos.css, то есть
   половина страницы была бы невидимой. */
html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}
/* Пользователи с prefers-reduced-motion получают контент сразу, без анимаций. */
@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}
