/* ==========================================================================
   SoRica Clean — Master stylesheet
   Version 2.2.12
   Font: Manrope
   Structure: global foundations, components, page sections, responsive rules, portfolio
   ==========================================================================*/

:root{
  --bg: #fff;
  --soft: #f7f7f7;
  --text: #202e42;
  --accent: #ec635c;
  --muted: #667085;
  --border: rgba(32,46,66,.12);
  --radius: 24px;
  --container: 1600px;
  --content: 1400px;
  --hero-h1-start: 200px;
  --s1: 8px;
  --s2: 16px;
  --s3: 24px;
  --s4: 32px;
  --s5: 48px;
  --s6: 64px;
  --s7: 96px;
  --s8: 132px;
  --type-h1: clamp(72px,7.5vw,125px);
  --type-h2: clamp(42px,4.4vw,64px);
  --type-h3: clamp(24px,2vw,30px);
  --type-lead: clamp(20px,1.6vw,24px);
  --type-body: 17px;
  --type-ui: 16px;
  --type-label: 13px;
  --type-stat: clamp(52px,4vw,62px);
  --weight-regular: 400;
  --weight-display: 800;
  --weight-ui: 700;
  --weight-section: 700;
  --tracking-display: -.08em;
  --tracking-section: -.06em;
  --tracking-card: -.045em;
  --tracking-label: .12em;
  --leading-display: 1.03;
  --leading-section: 1;
  --leading-card: 1.06;
  --leading-lead: 1.35;
  --leading-ui: 1.5;
  --leading-body: 1.65;
}


/* ==========================================================================
   ELEMENTOR DESIGN TOKEN BRIDGE
   Keep Elementor widgets aligned with SoRica's locked design system.
   ========================================================================== */

body.elementor-kit-18{
  --e-global-color-primary: var(--text);
  --e-global-color-secondary: var(--text);
  --e-global-color-text: var(--text);
  --e-global-color-accent: var(--accent);
  --e-global-typography-primary-font-family: "Manrope";
  --e-global-typography-secondary-font-family: "Manrope";
  --e-global-typography-text-font-family: "Manrope";
  --e-global-typography-accent-font-family: "Manrope";
}

.e-con.sorica-page-hero,
.e-con.sorica-section,
.e-con.sorica-contact{
  padding-inline: 0;
}

.e-con.sorica-page-hero > .e-con-inner,
.e-con.sorica-section > .e-con-inner,
.e-con.sorica-contact > .e-con-inner{
  margin-inline: auto;
  max-width: none;
  padding: 0;
  width: min(var(--content),92%);
}

.e-con.sorica-page-hero > .e-con-inner{
  gap: 0;
}

@media (max-width:720px) {
  .e-con.sorica-page-hero > .e-con-inner,
  .e-con.sorica-section > .e-con-inner,
  .e-con.sorica-contact > .e-con-inner{
    padding-inline: 20px;
    width: 100%;
  }
}



.sorica-skip-link{
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(32,46,66,.18);
  color: var(--text);
  font-weight: var(--weight-ui);
  left: 12px;
  padding: 12px 18px;
  position: fixed;
  text-decoration: none;
  top: 12px;
  transform: translateY(-160%);
  transition: transform .15s ease;
  z-index: 10000;
}

.sorica-skip-link:focus{
  outline: 3px solid var(--accent);
  outline-offset: 3px;
  transform: translateY(0);
}

*{
  box-sizing: border-box;
}

html{
  scroll-behavior: smooth;
}

body{
  background: var(--bg);
  color: var(--text);
  font-family: "Manrope",sans-serif;
  line-height: 1.5;
  margin: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.admin-bar .sorica-header{
  top: 32px;
}

img{
  display: block;
  height: auto;
  max-width: 100%;
}

a{
  color: inherit;
  text-decoration: none;
}

.sorica-container{
  margin-inline: auto;
  max-width: var(--container);
  padding: 0;
  width: min(1400px,92%);
}

.sorica-header{
  align-items: center;
  backdrop-filter: blur(18px);
  background: hsla(0,0%,100%,.86);
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  padding: 18px clamp(24px,5vw,72px);
  position: static;
  top: 0;
  z-index: 1000;
}

@media (min-width:1025px) {
  .menu-toggle,
.mobile-toggle,
.nav-toggle,
.sorica-menu-toggle{
    display: none;
  }
}

.sorica-brand{
  color: var(--accent);
  font-size: 26px;
  font-weight: var(--weight-ui);
  letter-spacing: -.055em;
}

.sorica-nav{
  color: var(--accent);
  display: flex;
  font-size: 15px;
  font-weight: var(--weight-ui);
  gap: 30px;
}

.sorica-menu-toggle{
  background: none;
  border: 0;
  display: none;
  position: relative;
}

.sorica-menu-toggle span{
  background: var(--text);
  display: block;
  height: 2px;
  margin: 7px 0;
}


.sorica-hero{
  align-items: center;
  display: flex;
}


.sorica-hero__grid{
  align-items: center;
  display: grid;
  gap: 96px;
  grid-template-columns: minmax(0,1.25fr) minmax(560px,.9fr);
  max-width: var(--content);
}

.sorica-kicker{
  color: var(--accent);
  display: inline-flex;
  font-size: var(--type-label);
  font-weight: 800;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-ui);
  margin-bottom: 16px;
  text-transform: uppercase;
}

h1{
  color: var(--text);
  margin: 0 0 40px;
}

.sorica-hero h1{
  max-width: 780px;
}

.sorica-hero p{
  color: var(--muted);
  margin: 0;
  max-width: 700px;
}

.sorica-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.sorica-btn{
  align-items: center;
  background: var(--text);
  border: 1px solid var(--border);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: var(--type-ui);
  font-weight: var(--weight-ui);
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  transition: transform .22s ease,opacity .22s ease,background .22s ease;
}

.sorica-btn:hover{
  opacity: .92;
  transform: translateY(-2px);
}

.sorica-btn--ghost{
  background: #fff;
  border: 1px solid var(--border);
  color: var(--accent);
}

.sorica-hero__portrait{
  border-radius: var(--radius);
  margin: 0;
  max-width: 620px;
  overflow: hidden;
  width: 100%;
}

.sorica-hero__portrait img{
  aspect-ratio: auto;
  display: block;
  height: auto;
  object-fit: contain;
  object-position: center center;
  width: 100%;
}

.sorica-section{
  padding: 95px 0;
}

.sorica-section--soft{
  background: var(--soft);
}

.sorica-section-head{
  margin-bottom: 46px;
  max-width: 820px;
}

.sorica-section-head--sticky{
  align-self: start;
  margin-bottom: 0;
  position: static;
  top: auto;
}

.sorica-about h2,
.sorica-contact h2,
.sorica-section-head h2,
.sorica-split h2{
  color: var(--text);


  margin: 0 0 18px;
}

.sorica-section-head p{
  color: var(--muted);
  margin: 0;
}

.sorica-focus-grid{
  gap: 28px;
}

.sorica-cases-grid,
.sorica-focus-grid{
  display: grid;
  grid-template-columns: repeat(3,1fr);
}

.sorica-cases-grid{
  gap: 36px;
}

.sorica-card,
.sorica-focus-grid article,
.sorica-stats div,
.sorica-steps article{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 14px 40px rgba(32,46,66,.06);
}

.sorica-focus-grid article{
  min-height: 240px;
  padding: 32px;
}

.sorica-card h3,
.sorica-focus-grid h3,
.sorica-steps h3{
  color: var(--text);


  margin: 0 0 14px;
}

.sorica-about__text p,
.sorica-card p,
.sorica-focus-grid p,
.sorica-richtext__paragraph,
.sorica-steps p{
  color: var(--muted);

  margin: 0;
}

.sorica-richtext {
	margin-top: 16px;
}

.sorica-card{
  min-height: 620px;
  overflow: hidden;
  padding: 0;
  transition: .24s ease;
}

.sorica-card:hover{
  box-shadow: 0 28px 70px rgba(32,46,66,.12);
  transform: translateY(-5px);
}

.sorica-card__media{
  aspect-ratio: 16/9;
  background: #eee;
  margin: 0;
  min-height: 300px;
  overflow: hidden;
}

.sorica-card__media img{
  height: 100%;
  object-fit: cover;
  transition: .5s ease;
  width: 100%;
}

.sorica-card:hover img{
  transform: scale(1.04);
}

.sorica-card__body{
  padding: 32px;
}

.sorica-card__body .sorica-kicker{
  color: var(--muted);
  margin-bottom: 14px;
}

.sorica-link{
  color: var(--text);
  display: inline-flex;
  font-weight: var(--weight-ui);
  margin-top: 24px;
}

.sorica-experience-layout{
  align-items: start;
  display: grid;
  gap: 72px;
  grid-template-columns: .75fr 1.25fr;
}

.sorica-stats{
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2,1fr);
}

.sorica-stats div{
  color: var(--muted);
  font-size: clamp(16px,1.4vw,24px);
  font-weight: var(--weight-display);
  padding: 30px;
}

.sorica-stats div:first-child{
  grid-column: span 2;
}

.sorica-stats strong{
  color: var(--text);
  display: block;
  font-size: var(--type-stat);
  font-weight: var(--weight-section);
  letter-spacing: var(--tracking-section);
  line-height: var(--leading-section);
  margin-bottom: 12px;
}

.sorica-about,
.sorica-contact__grid,
.sorica-split{
  align-items: start;
  display: grid;
  gap: 72px;
  grid-template-columns: .8fr 1.2fr;
}

.sorica-steps{
  display: grid;
  gap: 18px;
}

.sorica-steps article{
  padding: 32px;
}

.sorica-steps span{
  color: var(--accent);
  display: inline-flex;
  font-weight: var(--weight-ui);
  margin-bottom: 18px;
}

.sorica-large-text{
  color: var(--text);
  font-size: var(--type-lead);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-card);
  line-height: var(--leading-lead);
  margin-bottom: 28px;
}

.sorica-contact{
  background: var(--text);
  color: #fff;
  padding: 160px 0;
}

.sorica-contact .sorica-kicker,
.sorica-contact p{
  color: hsla(0,0%,100%,.72);
}

.sorica-contact h2{
  color: #fff;
}

.sorica-contact .sorica-btn--ghost{
  background: transparent;
  border-color: hsla(0,0%,100%,.25);
  color: #fff;
}


.sorica-contact--soft{
  background: var(--soft);
  color: var(--text);
}

.sorica-contact--soft .sorica-kicker,
.sorica-contact--soft p{
  color: var(--muted);
}

.sorica-contact--soft h2{
  color: var(--text);
}

.sorica-contact--soft .sorica-btn--ghost{
  border-color: var(--border);
  color: var(--text);
}

.sorica-footer{
  background: #111827;
  color: #fff;
  padding: 56px 0 32px;
}

.sorica-footer__grid{
  border-bottom: 1px solid hsla(0,0%,100%,.14);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding-bottom: 32px;
}

.sorica-footer p{
  color: hsla(0,0%,100%,.65);
  margin: 8px 0 0;
}

.sorica-footer__links{
  display: flex;
  font-weight: var(--weight-ui);
  gap: 24px;
}

.sorica-footer__bottom{
  color: hsla(0,0%,100%,.5);
  padding-top: 24px;
}

.sorica-case-hero{
  background: linear-gradient(180deg,#f7f7f7,#fff 72%);
  padding-bottom: 96px;
}

.sorica-back{
  color: var(--accent);
  display: inline-flex;
  font-weight: var(--weight-ui);
  margin-bottom: 36px;
}

.sorica-case-hero__grid{
  align-items: start;
  display: grid;
  gap: 28px 48px;
  grid-template-areas:
    "headline visual"
    "intro meta";
  grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
}

.sorica-case-hero__headline{
  grid-area: headline;
  margin-top: 20px;
  max-width: none;
  min-width: 0;
}

.sorica-case-hero__intro{
  grid-area: intro;
  min-width: 0;
}

.sorica-case-hero__intro p+p{
  margin-top: 16px;
}

body.wp-theme-hello-elementor .sorica-case-hero h1{
  color: var(--text);
  margin: 0;
  max-width: none;
}

.sorica-case-hero p{
  color: var(--muted);
  margin: 0;
  max-width: 720px;
}

.sorica-case-hero figure{
  background: #eee;
  border-radius: var(--radius);
  box-shadow: 0 28px 80px rgba(32,46,66,.14);
  margin: 0;
  overflow: hidden;
}

.sorica-case-hero figure img{
  aspect-ratio: 16/10;
  object-fit: cover;
  width: 100%;
}

.sorica-case-meta{
  display: grid;
  gap: 14px;
  grid-area: meta;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 0;
  min-width: 0;
}

.sorica-case-meta div{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 18px;
}

.sorica-case-meta span{
  color: var(--accent);
  display: block;
  font-size: var(--type-label);
  font-weight: var(--weight-ui);
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-ui);
  margin-bottom: 8px;
  text-transform: uppercase;
}

.sorica-case-meta strong{
  color: var(--text);
  display: block;
  font-size: var(--type-ui);
  font-weight: var(--weight-display);
}

.sorica-case-intro{
  padding: 95px 0;
}

.sorica-case-intro__grid{
  display: grid;
  gap: 72px;
  grid-template-columns: .92fr 1.08fr;
}

.sorica-case-content h2,
.sorica-case-gallery-head h2,
.sorica-case-intro h2{


  margin: 0 0 22px;
}

.sorica-case-lead{
  color: var(--text);
  font-size: var(--type-lead);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-card);
  line-height: var(--leading-lead);
  margin: 0;
}

.sorica-pill-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.sorica-pill-list span{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--text);
  display: inline-flex;
  font-size: var(--type-label);
  font-weight: var(--weight-ui);
  padding: 10px 14px;
}

.sorica-case-layout{
  align-items: start;
  display: grid;
  gap: 80px;
  grid-template-columns: 280px minmax(0,1fr);
}

.sorica-case-layout aside{
  display: grid;
  gap: 10px;
  position: sticky;
  top: 104px;
}

.sorica-case-layout aside a{
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font-weight: var(--weight-ui);
  padding: 12px 0;
}

.sorica-case-content{
  display: grid;
  gap: 22px;
}

.sorica-case-content article{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 14px 40px rgba(32,46,66,.05);
  padding: 42px;
}

.sorica-case-content p{
  color: var(--muted);
  margin: 0;
}

.sorica-case-content ul{
  color: var(--muted);
  font-size: var(--type-body);
  margin: 20px 0 0;
  padding-left: 20px;
}

.sorica-case-content li{
  margin-bottom: 10px;
}

.sorica-gallery{
  display: block;
}

.sorica-gallery figure{
  background: #eee;
  border-radius: var(--radius);
  box-shadow: 0 14px 50px rgba(32,46,66,.08);
  margin: 0;
  overflow: hidden;
}

.sorica-gallery figure+figure{
  margin-top: 24px;
}

.sorica-gallery img{
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.sorica-gallery figcaption{
  background: #fff;
  color: var(--muted);
  font-weight: var(--weight-display);
  padding: 18px 20px;
}









@media (max-width:1100px) {
  .sorica-about,
.sorica-case-hero__grid,
.sorica-case-intro__grid,
.sorica-case-layout,
.sorica-contact__grid,
.sorica-experience-layout,
.sorica-hero__grid,
.sorica-split{
    gap: 42px;
    grid-template-columns: 1fr;
  }

  .sorica-focus-grid{
    grid-template-columns: 1fr 1fr;
  }

  .sorica-cases-grid{
    gap: 28px;
    grid-template-columns: 1fr;
  }

  .sorica-hero{
    min-height: auto;
  }

  .sorica-hero__grid{
    max-width: 900px;
  }

  .sorica-case-layout aside{
    display: flex;
    flex-wrap: wrap;
    position: relative;
    top: auto;
  }

  .sorica-case-layout aside a{
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 10px 14px;
  }

  .sorica-case-hero__grid{
    gap: 32px;
    grid-template-areas:
      "headline"
      "visual"
      "intro"
      "meta";
  }

  .sorica-case-meta{
    grid-template-columns: 1fr 1fr;
  }

  .sorica-case-hero figure img{
    aspect-ratio: 16/9;
  }
}

@media (max-width:720px) {
  body.admin-bar .sorica-header{
    top: 46px;
  }

  .sorica-container{
    padding: 0 20px;
    width: 100%;
  }

  .sorica-header{
    padding: 14px 20px;
  }

  .sorica-nav{
    background: #fff;
    border-bottom: 1px solid var(--border);
    box-shadow: 0 30px 70px rgba(0,0,0,.08);
    display: grid;
    gap: 22px;
    inset: 69px 0 auto 0;
    padding: 28px 20px;
    position: fixed;
    transform: translateY(-130%);
    transition: .25s ease;
  }

  .menu-open .sorica-nav{
    transform: translateY(0);
  }

  .sorica-hero{
    background: linear-gradient(180deg,#f7fbff,#fff 72%);
    min-height: auto;
    padding-bottom: 68px;
  }

  .sorica-hero__grid{
    gap: 32px;
  }

  

  

  .sorica-hero__portrait{
    max-width: 100%;
  }


  .sorica-section{
    padding: 68px 0;
  }

  .sorica-section-head{
    margin-bottom: 30px;
  }

  

  .sorica-case-meta,
.sorica-cases-grid,
.sorica-focus-grid,
.sorica-stats{
    grid-template-columns: 1fr;
  }

  .sorica-stats div:first-child{
    grid-column: auto;
  }

  .sorica-focus-grid article{
    min-height: auto;
    padding: 26px;
  }

  .sorica-card{
    min-height: auto;
  }

  .sorica-card__media{
    min-height: 260px;
  }

  .sorica-card__body{
    padding: 24px;
  }

  .sorica-large-text{
    font-size: var(--type-lead);
  }

  .sorica-contact{
    padding: 88px 0;
  }

  .sorica-contact .sorica-actions{
    margin-top: 0;
  }

  .sorica-footer__grid,
.sorica-footer__links{
    display: grid;
  }

  .sorica-case-hero{
    padding-bottom: 64px;
  }

  .sorica-back{
    margin-bottom: 26px;
  }

  

  

  .sorica-case-hero figure img{
    aspect-ratio: 4/3;
  }

  .sorica-case-intro{
    padding: 68px 0;
  }

  .sorica-case-lead{
    font-size: var(--type-lead);
  }

  .sorica-case-content article{
    padding: 28px;
  }

  

  
}

@media (prefers-reduced-motion:reduce) {
  html{
    scroll-behavior: auto;
  }

  *,
:after,
:before{
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}





















.sorica-large-text--medium{
  color: var(--text);
  font-size: var(--type-lead);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-card);
  line-height: var(--leading-lead);
  margin-bottom: 24px;
}











.sorica-contact p+p{
  margin-top: 14px;
}

.sorica-page-content{
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 24px;
}

.sorica-page-content:empty{
  display: none;
}

















.sorica-editorial-list-layout{
  align-items: start;
  display: grid;
  gap: 72px;
  grid-template-columns: .75fr 1.25fr;
}

.sorica-editorial-list article{
  border-top: 1px solid var(--border);
  padding: 32px 0;
}

.sorica-editorial-list article:last-child{
  border-bottom: 1px solid var(--border);
}

.sorica-editorial-list h3{
  color: var(--text);


  margin: 0 0 12px;
}

.sorica-editorial-list p{
  color: var(--muted);

  margin: 0;
  max-width: 850px;
}









@media (max-width:1100px) {
  .sorica-editorial-list-layout{
    gap: 42px;
    grid-template-columns: 1fr;
  }

  

  

  

  
}

@media (max-width:720px) {
  

  

  

  

  

  

  

  

  

  .sorica-editorial-list article{
    padding: 26px 0;
  }

  

  

  

  .sorica-page-content{
    padding: 0 20px;
  }

  

  .sorica-large-text--medium{
    font-size: var(--type-lead);
  }
}

















































































































.sorica-flow-grid{
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4,1fr);
}

.sorica-flow-grid article{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 14px 40px rgba(32,46,66,.06);
  min-height: 300px;
  overflow: hidden;
  padding: 34px;
  position: relative;
}

.sorica-flow-grid article:before{
  background: var(--accent);
  content: "";
  height: 4px;
  inset: 0 0 auto;
  opacity: .85;
  position: absolute;
}

.sorica-flow-grid span{
  color: var(--accent);
  display: inline-flex;
  font-weight: var(--weight-ui);
  letter-spacing: var(--tracking-label);
  margin-bottom: 24px;
}

.sorica-flow-grid h3{
  color: var(--text);


  margin: 0 0 14px;
}

.sorica-flow-grid p{
  color: var(--muted);

  margin: 0;
}

.sorica-deliverables-grid{
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2,1fr);
}

.sorica-deliverables-grid article{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(32,46,66,.045);
  padding: 26px;
}

.sorica-deliverables-grid h3{
  color: var(--text);


  margin: 0 0 10px;
}

.sorica-deliverables-grid p{
  color: var(--muted);

  margin: 0;
}



@media (max-width:1100px) {
  .sorica-deliverables-grid,
.sorica-flow-grid{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:720px) {
  .sorica-deliverables-grid,
.sorica-flow-grid{
    grid-template-columns: 1fr;
  }

  .sorica-flow-grid article{
    min-height: auto;
    padding: 26px;
  }

  

  .sorica-deliverables-grid article{
    padding: 24px;
  }
}



.sorica-legal-hero__grid{
  gap: 92px;
  grid-template-columns: 1.05fr .95fr;
  max-width: var(--content);
}

.sorica-legal-hero h1{


  max-width: 960px;
}

.sorica-legal-hero__intro p{

  margin: 0 0 16px;
}

.sorica-legal-layout{
  grid-template-columns: .72fr 1.28fr;
}

.sorica-legal-content{
  box-shadow: 0 14px 40px rgba(32,46,66,.06);
  padding: clamp(32px,4vw,56px);
}

.sorica-legal-content h2{
  border-top: 1px solid var(--border);
  margin: 44px 0 14px;
  padding-top: 28px;
}

.sorica-legal-content h2:first-child{
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.sorica-legal-content p{
  margin: 0 0 18px;
  max-width: 82ch;
}

.sorica-legal-content a{
  color: var(--accent);
  font-weight: var(--weight-ui);
  text-decoration: none;
}

.sorica-legal-content .privacy-policy-tutorial{
  display: none;
}

.sorica-contact--compact{
  padding: 120px 0;
}

@media (max-width:1100px) {
  .sorica-legal-hero__grid,
.sorica-legal-layout{
    gap: 42px;
    grid-template-columns: 1fr;
  }

  .sorica-legal-hero{
    padding-bottom: 82px;
  }

  .sorica-section-head--sticky{
    position: static;
  }
}

@media (max-width:720px) {
  .sorica-legal-hero{
    padding-bottom: 68px;
  }

  

  

  .sorica-legal-content{
    padding: 26px;
  }

  

  .sorica-contact--compact{
    padding: 80px 0;
  }
}

















.sorica-footer__links span{
  color: var(--muted);
  font-weight: var(--weight-ui);
}

@media (max-width:1100px) {
  .sorica-hero__grid{
    align-items: center;
    min-height: auto;
  }

  .sorica-hero__portrait{
    height: auto;
  }

}

.sorica-hero__portrait{
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.sorica-focus-grid--linked article{
  overflow: hidden;
    padding: 34px;
}

.sorica-focus-grid--linked article:has(> .sorica-focus-link){
  padding: 0;
}

.sorica-focus-link{
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 34px;
  text-decoration: none;
}

.sorica-focus-link span{
  color: var(--accent);
  display: inline-flex;
  font-weight: var(--weight-ui);
  margin-top: auto;
  padding-top: 22px;
}

.sorica-focus-link:focus-visible h3,
.sorica-focus-link:hover h3{
  color: var(--accent);
}

.sorica-focus-link:focus-visible{
  border-radius: var(--radius);
  outline: 3px solid rgba(156,28,31,.28);
  outline-offset: -3px;
}

.sorica-case-bullet-heading{
  color: var(--text);
  font-size: var(--type-lead);
  font-weight: var(--weight-display);
  letter-spacing: var(--tracking-card);
  margin: 24px 0 10px;
}

.sorica-case-bullet-heading:first-of-type{
  margin-top: 18px;
}





@media (max-width:1100px) {
    .sorica-focus-grid--linked article:not(:has(> .sorica-focus-link)),
.sorica-focus-link{
    padding: 26px;
  }

  

  

  
}

.sorica-focus-grid:not(.sorica-focus-grid--linked) article{
  overflow: visible;
  padding: 34px;
}

@media (max-width:720px) {
  .sorica-focus-grid:not(.sorica-focus-grid--linked) article{
    padding: 26px;
  }
}

.sorica-focus-grid article a.sorica-readmore{
  color: var(--accent);
  display: inline-flex;
  font-weight: var(--weight-ui);
  margin-top: 16px;
  text-decoration: none;
}

.elementor .sorica-case-hero,
.elementor .sorica-contact,
.elementor .sorica-hero,
.elementor .sorica-page-hero,
.elementor .sorica-section{
  font-family: inherit;
}

.elementor-widget-html{
  width: 100%;
}

.elementor-widget-html .sorica-container{
  box-sizing: border-box;
}











.sorica-case-bullets h3{
  margin: 28px 0 10px;
}

.sorica-case-bullets ul{
  margin-top: 0;
}

body{
  overflow-x: hidden;
}

.elementor-widget-html .sorica-case-content,
.elementor-widget-html .sorica-case-hero,
.elementor-widget-html .sorica-case-intro,
.elementor-widget-html .sorica-contact,
.elementor-widget-html .sorica-hero,
.elementor-widget-html .sorica-page-hero,
.elementor-widget-html .sorica-section{
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
  width: 100%;
}

.elementor-widget-html .sorica-container{
  margin-left: auto;
  margin-right: auto;
}

.elementor-widget-html .sorica-case-hero__grid,
.elementor-widget-html .sorica-case-intro__grid,
.elementor-widget-html .sorica-case-layout,
.elementor-widget-html .sorica-hero__grid{
  width: var(--wrap);
}

.elementor-widget-html .sorica-case-card figure,
.elementor-widget-html .sorica-case-hero figure,
.elementor-widget-html .sorica-gallery-grid figure,
.elementor-widget-html .sorica-hero__portrait{
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.elementor img[class*=wp-image],
.elementor-widget-html .sorica-case-card img,
.elementor-widget-html .sorica-case-hero img,
.elementor-widget-html .sorica-gallery-grid img,
.elementor-widget-image img{
  border-radius: var(--radius-lg);
}

.elementor-widget-text-editor,
.elementor-widget-text-editor .elementor-widget-container{
  width: 100%;
}

.elementor-widget-text-editor .sorica-container{
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}

.elementor-widget-text-editor .sorica-case-content,
.elementor-widget-text-editor .sorica-case-hero,
.elementor-widget-text-editor .sorica-case-intro,
.elementor-widget-text-editor .sorica-contact,
.elementor-widget-text-editor .sorica-hero,
.elementor-widget-text-editor .sorica-page-hero,
.elementor-widget-text-editor .sorica-section{
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
  width: 100%;
}

.elementor-widget-text-editor .sorica-case-hero__grid,
.elementor-widget-text-editor .sorica-case-intro__grid,
.elementor-widget-text-editor .sorica-case-layout,
.elementor-widget-text-editor .sorica-hero__grid{
  width: var(--wrap);
}

.elementor-widget-text-editor .sorica-case-card figure,
.elementor-widget-text-editor .sorica-case-hero figure,
.elementor-widget-text-editor .sorica-gallery-grid figure,
.elementor-widget-text-editor .sorica-hero__portrait{
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.elementor-widget-text-editor .sorica-case-card img,
.elementor-widget-text-editor .sorica-case-hero img,
.elementor-widget-text-editor .sorica-gallery-grid img{
  border-radius: var(--radius-lg);
}

.elementor-widget-text-editor .sorica-case-card figure img{
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.elementor-widget-text-editor .sorica-gallery-grid img{
  display: block;
  height: auto;
  width: 100%;
}

.sorica-case-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 14px 40px rgba(32,46,66,.06);
  min-height: 600px;
  overflow: hidden;
  transition: transform .24s ease,box-shadow .24s ease;
}

.sorica-case-card:hover{
  box-shadow: 0 28px 70px rgba(32,46,66,.12);
  transform: translateY(-5px);
}

.sorica-case-card>a{
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}

.sorica-case-card figure{
  aspect-ratio: 16/9;
  background: #eee;
  border-radius: var(--radius) var(--radius) 0 0;
  margin: 0;
  min-height: 300px;
  overflow: hidden;
  width: 100%;
}

.sorica-case-card figure img{
  border-radius: 0;
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform .5s ease;
  width: 100%;
}

.sorica-case-card:hover figure img{
  transform: scale(1.04);
}

.sorica-case-card>a>div,
.sorica-case-card>div{
  padding: 30px;
}

.sorica-case-card h3{
  color: var(--text);


  margin: 0 0 14px;
}

.sorica-case-card p{
  color: var(--muted);

  margin: 0;
}

.sorica-case-card strong{
  color: var(--accent);
  display: inline-flex;
  font-weight: var(--weight-ui);
  margin-top: 24px;
}

.elementor-widget-text-editor .sorica-case-card .wp-caption,
.elementor-widget-text-editor .sorica-case-card figure,
.elementor-widget-text-editor .sorica-case-card img{
  max-width: none;
}

.elementor-widget-text-editor .sorica-case-card figure{
  width: 100%;
}

@media (max-width:720px) {
  .sorica-case-card{
    min-height: auto;
  }

  .sorica-case-card figure{
    min-height: 260px;
  }

  .sorica-case-card>a>div,
.sorica-case-card>div{
    padding: 30px;
  }
}

.sorica-hero__portrait{
  border-radius: var(--radius);
  isolation: isolate;
  -webkit-mask-image: -webkit-radial-gradient(#fff, #000);
  overflow: hidden;
}





.sorica-legal-hero{
  background: linear-gradient(180deg,#f7f7f7,#fff 76%);
}

.sorica-legal-hero__grid{
  align-items: start;
  display: grid;
  gap: 72px;
  grid-template-columns: .8fr 1.2fr;
}

.sorica-legal-hero h1{
  color: var(--text);


  margin: 0;
}

.sorica-legal-hero__intro p{
  color: var(--muted);

  margin: 0 0 14px;
  max-width: 760px;
}

.sorica-legal-layout{
  align-items: start;
  display: grid;
  gap: 72px;
  grid-template-columns: .75fr 1.25fr;
}

.sorica-legal-content{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 14px 40px rgba(32,46,66,.055);
  padding: 48px;
}

.sorica-legal-content h2{
  color: var(--text);


  margin: 0 0 14px;
}

.sorica-legal-content h2:not(:first-child){
  margin-top: 42px;
}

.sorica-legal-content p{
  color: var(--muted);

  margin: 0 0 16px;
  max-width: 80ch;
}

.sorica-contact--compact{
  padding: 95px 0;
}

@media (max-width:720px) {
  .sorica-legal-hero{
    padding-bottom: 64px;
  }

  

  .sorica-legal-content{
    padding: 28px;
  }

  
}

.sorica-case-card,
.sorica-focus-grid article,
.sorica-legal-card,
.sorica-steps article{
  transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

@media (hover:hover) and (pointer:fine) {
  .sorica-case-card:hover,
.sorica-focus-grid article:hover{
    box-shadow: 0 18px 46px rgba(32,46,66,.1);
    transform: translateY(-6px);
  }
}

.site-footer{
  padding-bottom: 42px;
  padding-top: 64px;
}

.site-footer__bar{
  margin-top: 34px;
  padding-top: 24px;
}

.sorica-legal-cards{
  display: grid;
  gap: 22px;
  grid-template-columns: 1fr;
}

.sorica-legal-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 14px 40px rgba(32,46,66,.055);
  padding: 34px 38px;
}

.sorica-legal-card h2{
  color: var(--text);


  margin: 0 0 12px;
}

.sorica-legal-card p{
  color: var(--muted);

  margin: 0 0 12px;
  max-width: 80ch;
}

.sorica-legal-card p:last-child{
  margin-bottom: 0;
}

.sorica-legal-card strong{
  color: var(--text);
  font-weight: var(--weight-ui);
}

.sorica-legal-layout .sorica-legal-content{
  display: none;
}

.sorica-info-cards{
  gap: 32px;
  grid-template-columns: repeat(4,minmax(0,1fr));
  max-width: none;
}

.sorica-info-cards h3 a{
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.sorica-info-cards h3 a:focus-visible,
.sorica-info-cards h3 a:hover{
  color: var(--accent);
}

.sorica-info-cards .sorica-info-card--linked{
  cursor: pointer;
  position: relative;
}

.sorica-info-card__link:after{
  border-radius: var(--radius);
  content: "";
  inset: 0;
  position: absolute;
}

.sorica-info-card__link:focus-visible:after{
  outline: 3px solid rgba(236,99,92,.38);
  outline-offset: -3px;
}

@media (max-width:1100px) {
  .sorica-info-cards{
    gap: 28px;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width:720px) {
  .sorica-info-cards{
    grid-template-columns: 1fr;
    max-width: none;
  }

  .site-footer{
    padding-bottom: 32px;
    padding-top: 46px;
  }

  .sorica-legal-card{
    padding: 26px;
  }

  
}





.sorica-page-hero h1{
  max-width: 980px;
}



.sorica-legal-hero h1{
  max-width: 1100px;
}

.sorica-btn:not(.sorica-btn--ghost):focus,
.sorica-btn:not(.sorica-btn--ghost):hover,
.sorica-contact a.sorica-btn--ghost:focus,
.sorica-contact a.sorica-btn--ghost:hover,
a.sorica-btn:not(.sorica-btn--ghost):focus,
a.sorica-btn:not(.sorica-btn--ghost):hover{
  color: #fff;
  text-decoration: none;
}



@media (min-width:721px) and (max-width:1100px) {
  .sorica-hero{
    min-height: auto;
    padding-bottom: 76px;
  }

  .elementor-widget-html .sorica-hero__grid,
.elementor-widget-text-editor .sorica-hero__grid,
.sorica-hero__grid{
    align-items: start;
    gap: 42px;
    grid-template-columns: 1fr;
    min-height: auto;
    width: min(900px,92vw);
  }

  .elementor-widget-html .sorica-hero__portrait,
.elementor-widget-text-editor .sorica-hero__portrait,
.sorica-hero__portrait{
    align-self: start;
    height: 70vh;
    margin: 0;
    max-height: 900px;
    max-width: 620px;
    width: 100%;
  }


  .sorica-info-cards article{
    min-height: 210px;
    padding: 28px;
  }
}

@media (max-width:720px) {
  .sorica-hero{
    min-height: auto;
  }

  .elementor-widget-html .sorica-hero__portrait,
.elementor-widget-text-editor .sorica-hero__portrait,
.sorica-hero__portrait{
    align-self: center;
    height: auto;
    margin: 0 auto;
    max-height: none;
    max-width: 320px;
    width: 100%;
  }


  .sorica-footer__links{
    gap: 16px;
  }

  
}







/* Case editorial rows */

body.single-case .sorica-case-section{
  border-top: 1px solid var(--border);
  padding: clamp(56px,5vw,72px) 0;
}

body.single-case .sorica-case-section__grid{
  align-items: start;
  display: grid;
  gap: clamp(48px,6vw,80px);
  grid-template-columns: minmax(220px,280px) minmax(0,760px);
  justify-content: space-between;
  max-width: 1200px;
}

body.single-case .sorica-case-section__grid>.sorica-richtext{
  justify-self: end;
  max-width: 760px;
  width: 100%;
}

body.single-case .sorica-case-section__grid aside h2{
  margin-top: 0;
}

body.single-case .sorica-case-section__grid .sorica-richtext>:first-child{
  margin-top: 0;
}

body.single-case .sorica-case-section__grid .sorica-richtext>:last-child{
  margin-bottom: 0;
}

body.single-case .sorica-case-section__grid .sorica-richtext p+p{
  margin-top: 20px;
}

body.single-case .sorica-case-section__grid .sorica-richtext ul{
  margin-bottom: 24px;
  margin-top: 18px;
}

body.single-case .sorica-gallery figcaption,
body.single-case .sorica-gallery-grid figcaption{
  background: #fff;
  color: var(--muted);
  display: block;
  font-weight: var(--weight-display);
  line-height: var(--leading-ui);
  padding: 24px 22px 26px;
}

@media (max-width:900px) {
  body.single-case .sorica-case-section{
    padding: 48px 0;
  }

  body.single-case .sorica-case-section__grid{
    gap: 24px;
    grid-template-columns: 1fr;
  }

  body.single-case .sorica-case-section__grid>.sorica-richtext{
    justify-self: stretch;
    max-width: none;
  }
}

@media (max-width:720px) {
  body.single-case .sorica-case-section{
    padding: 42px 0;
  }

  body.single-case .sorica-case-section__grid{
    gap: 20px;
  }

  body.single-case .sorica-gallery figcaption,
body.single-case .sorica-gallery-grid figcaption{
    padding: 20px 18px 22px;
  }
}

/* Case editorial row refinements */

body.single-case main{
  counter-reset: sorica-case-section;
}

body.single-case .sorica-case-section{
  border-top: 0;
  counter-increment: sorica-case-section;
  padding: clamp(50px,4.25vw,62px) 0;
  position: relative;
}

body.single-case .sorica-case-section::before{
  background: color-mix(in srgb,var(--border) 62%,transparent);
  content: "";
  height: 1px;
  left: max(20px,calc((100% - min(var(--content),calc(100% - 40px)))/2));
  position: absolute;
  top: 0;
  width: min(880px,calc(100% - 40px));
}

body.single-case .sorica-case-section__grid{
  gap: clamp(52px,5vw,72px);
  grid-template-columns: minmax(270px,340px) minmax(0,760px);
}

body.single-case .sorica-case-section__grid aside::before{
  color: var(--accent);
  content: counter(sorica-case-section,decimal-leading-zero);
  display: block;
  font-size: var(--type-label);
  font-weight: var(--weight-ui);
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-ui);
  margin-bottom: 14px;
}

body.single-case .sorica-case-section__grid aside h2{
  max-width: 340px;
}

body.single-case .sorica-case-bullets{
  margin-top: 22px;
}

body.single-case .sorica-case-bullets h3{
  margin: 24px 0 10px;
}

body.single-case .sorica-case-bullets h3:first-child{
  margin-top: 0;
}

body.single-case .sorica-case-bullets ul{
  margin: 10px 0 20px;
  padding-left: 22px;
}

body.single-case .sorica-case-bullets li{
  margin-bottom: 8px;
  padding-left: 3px;
}

body.single-case .sorica-case-bullets li:last-child{
  margin-bottom: 0;
}

@media (max-width:1100px) and (min-width:721px) {
  body.single-case .sorica-case-section{
    padding: 46px 0;
  }
}

@media (max-width:900px) {
  body.single-case .sorica-case-section__grid{
    gap: 22px;
  }

  body.single-case .sorica-case-section__grid aside h2{
    max-width: none;
  }
}

@media (max-width:720px) {
  body.single-case .sorica-case-section{
    padding: 42px 0;
  }

  body.single-case .sorica-case-section::before{
    left: 20px;
    width: calc(100% - 40px);
  }

  body.single-case .sorica-case-section__grid aside::before{
    margin-bottom: 12px;
  }

  body.single-case .sorica-case-bullets{
    margin-top: 20px;
  }
}

@media (max-width:1100px) {
  .sorica-hero{
    min-height: auto;
    padding-bottom: 76px;
  }

  .sorica-hero__grid{
    align-items: center;
    display: grid;
    gap: 36px;
    grid-template-columns: 1fr;
    min-height: auto;
  }

  

  .sorica-hero__portrait{
    align-self: center;
    height: auto;
    margin: 0 auto;
    max-width: 520px;
    width: 100%;
  }

}

@media (max-width:720px) {
  .sorica-hero,
.sorica-legal-hero{
    padding-bottom: 62px;
  }

  .sorica-case-hero h1,
.sorica-hero h1,
.sorica-legal-hero h1,
h1{


    max-width: 100%;
  }

  

  .sorica-hero p{
    max-width: 100%;
  }

  .sorica-hero__portrait{
    max-width: 340px;
  }
}

/* ==========================================================================
   HEADER & MOBILE NAVIGATION — canonical toggle rules
   ==========================================================================*/

.sorica-menu-toggle{
  align-items: center;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 2px solid var(--accent);
  border-radius: 999px;
  box-shadow: none;
  cursor: pointer;
  display: none;
  height: 52px;
  justify-content: center;
  line-height: 0;
  margin: 0;
  min-height: 52px;
  min-width: 52px;
  padding: 0;
  position: relative;
  transition: background-color .25s ease,border-color .25s ease,transform .25s ease;
  width: 52px;
}

.sorica-menu-toggle span{
  background: var(--accent);
  border-radius: 999px;
  display: block;
  height: 2px;
  left: 50%;
  margin: 0;
  padding: 0;
  position: absolute;
  right: auto;
  transform-origin: center center;
  transition: background-color .25s ease,transform .25s ease,opacity .22s ease,top .22s ease;
  width: 20px;
}

.sorica-menu-toggle span:first-child{
  top: 21px;
  transform: translateX(-50%);
}

.sorica-menu-toggle span:last-child{
  top: 29px;
  transform: translateX(-50%);
}

.menu-open .sorica-menu-toggle,
.sorica-menu-toggle:focus-visible,
.sorica-menu-toggle:hover{
  background: var(--accent);
  border-color: var(--accent);
}

.sorica-menu-toggle:hover{
  transform: scale(1.05);
}

.menu-open .sorica-menu-toggle span,
.sorica-menu-toggle:focus-visible span,
.sorica-menu-toggle:hover span{
  background: #fff;
}

.menu-open .sorica-menu-toggle span:first-child{
  height: 3px;
  top: 50%;
  transform: translate(-50%,-50%) rotate(45deg);
}

.menu-open .sorica-menu-toggle span:last-child{
  height: 3px;
  top: 50%;
  transform: translate(-50%,-50%) rotate(-45deg);
}

@media (min-width:721px) {
  .sorica-menu-toggle{
    display: none;
  }

  .sorica-nav{
    display: flex;
  }
}

@media (max-width:720px) {
  .sorica-header{
    gap: 16px;
  }

  .sorica-menu-toggle{
    display: inline-flex;
  }

  .sorica-nav{
    background: hsla(0,0%,100%,.98);
    border-bottom: 1px solid var(--border);
    border-top: 1px solid var(--border);
    bottom: auto;
    box-shadow: 0 28px 70px rgba(32,46,66,.12);
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr;
    left: 0;
    opacity: 0;
    padding: 24px 20px 28px;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 64px;
    transform: translateY(-145%);
    transition: transform .24s ease,opacity .18s ease;
    z-index: 999;
  }

  .menu-open .sorica-nav{
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .sorica-nav a{
    border-bottom: 1px solid rgba(32,46,66,.08);
    color: var(--text);
    font-size: var(--type-ui);
    font-weight: var(--weight-ui);
    padding: 12px 0;
  }

  .sorica-nav a:last-child{
    border-bottom: 0;
  }
}


@media (min-width:768px) and (max-width:1024px) {
  .sorica-info-cards article{
    min-height: auto;
    padding: 24px;
  }
}

@media (min-width:721px) and (max-width:1100px) {
  .elementor-widget-html .sorica-hero__portrait,
.elementor-widget-text-editor .sorica-hero__portrait,
.sorica-hero__portrait{
    max-width: 560px;
  }

  

  .sorica-case-hero+.sorica-section,
.sorica-contact{
    padding-bottom: 82px;
    padding-top: 82px;
  }
}

.sorica-gallery-grid:empty{
  display: none;
}

.sorica-cases-grid{
  align-items: stretch;
}

.sorica-card{
  display: flex;
  flex-direction: column;
  height: 100%;
}

.sorica-card__media{
  flex: 0 0 auto;
}

.sorica-card__body{
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.sorica-card__body .sorica-link,
.sorica-card__body a.sorica-link{
  margin-top: auto;
  padding-top: 24px;
}



@media (max-width:720px) {
  .sorica-actions .sorica-btn,
.sorica-contact .sorica-btn{
    line-height: 1.1;
    min-height: 50px;
    padding: 2px 20px;
  }

  .sorica-pill-list{
    gap: 11px;
  }

  .sorica-pill-list span{
    line-height: 1.15;
    padding: 11px 15px;
  }

  .sorica-footer__links{
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    line-height: 1.25;
  }

  .sorica-footer__links a{
    align-items: center;
    display: inline-flex;
    min-height: 24px;
  }
}

.sorica-case-disclaimer{
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--text);
  font-size: var(--type-label);
  line-height: var(--leading-ui);
  margin: 28px 0 0;
  max-width: none;
  opacity: .72;
  padding: 0;
  text-wrap: pretty;
}

@media (max-width:720px) {
  .sorica-case-disclaimer{
    margin-top: 24px;
  }
}

.sorica-case-visual{
  grid-area: visual;
  min-width: 0;
}

.sorica-contact .sorica-contact__grid{
  align-items: center;
}

.sorica-contact .sorica-actions{
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0;
  width: 100%;
}

.sorica-contact .sorica-actions .sorica-btn{
  background: hsla(0,0%,100%,.055);
  border: 1px solid hsla(0,0%,100%,.24);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(0,0,0,.1);
  color: #fff;
  font-size: var(--type-ui);
  font-weight: var(--weight-ui);
  justify-content: flex-start;
  line-height: var(--leading-ui);
  min-height: 66px;
  padding: 16px 20px;
  text-align: left;
}

.sorica-contact .sorica-actions .sorica-btn:focus-visible,
.sorica-contact .sorica-actions .sorica-btn:hover{
  background: hsla(0,0%,100%,.11);
  border-color: hsla(0,0%,100%,.38);
}

@media (max-width:720px) {
  .sorica-contact .sorica-actions{
    gap: 12px;
    grid-template-columns: 1fr;
    margin-top: 8px;
  }

  .sorica-contact .sorica-actions .sorica-btn{
    min-height: 58px;
    padding: 14px 18px;
  }

}

@media (min-width:1101px) {
  body.single-case .elementor-section:has(.sorica-section--soft)+.elementor-section:has(.sorica-case-section) .sorica-case-section{
    padding-top: 96px;
  }

  body.single-case .elementor-section:has(.sorica-case-section):has(+.elementor-section .sorica-section--soft,+.elementor-section .sorica-contact) .sorica-case-section{
    padding-bottom: 96px;
  }
}

@media (min-width:721px) and (max-width:1100px) {
  body.single-case .elementor-section:has(.sorica-section--soft)+.elementor-section:has(.sorica-case-section) .sorica-case-section{
    padding-top: 64px;
  }

  body.single-case .elementor-section:has(.sorica-case-section):has(+.elementor-section .sorica-section--soft,+.elementor-section .sorica-contact) .sorica-case-section{
    padding-bottom: 64px;
  }
}

@media (max-width:720px) {
  body.single-case .elementor-section:has(.sorica-section--soft)+.elementor-section:has(.sorica-case-section) .sorica-case-section{
    padding-top: 48px;
  }

  body.single-case .elementor-section:has(.sorica-case-section):has(+.elementor-section .sorica-section--soft,+.elementor-section .sorica-contact) .sorica-case-section{
    padding-bottom: 48px;
  }
}



.sorica-section--soft{
  box-shadow: 0 0 0 100vmax var(--soft);
  clip-path: inset(0 -100vmax);
}

.sorica-contact{
  box-shadow: 0 0 0 100vmax var(--text);
  clip-path: inset(0 -100vmax);
}

@media (min-width:1101px) {
  .elementor-section:has(.sorica-container)>.elementor-container.elementor-column-gap-no{
    max-width: none;
    width: 100%;
  }
}

/* ========================================================================== 
   Portfolio · shared, Elementor-editable components
   Legacy .sorica-portfolio-* names remain active as compatibility aliases.
   ==========================================================================*/

.sorica-media-stage{
  aspect-ratio: 16/9;
  background: var(--text);
  border-radius: var(--radius);
  box-shadow: 0 28px 80px rgba(32,46,66,.16);
  overflow: hidden;
  position: relative;
}

.sorica-media-stage>img,
.sorica-media-stage>video,
.sorica-project-card__media>img,
.sorica-project-card__media>video{
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.sorica-media-stage>video,
.sorica-project-card__media>video{
  background: #05070b;
  object-fit: contain;
  z-index: 3;
}

.sorica-media-placeholder{
  align-items: flex-end;
  background: radial-gradient(circle at 76% 24%,rgba(236,99,92,.82),transparent 24%),
    linear-gradient(135deg,#202e42 0%,#121a28 58%,#ec635c 160%);
  color: #fff;
  display: flex;
  height: 100%;
  inset: 0;
  overflow: hidden;
  padding: clamp(24px,4vw,56px);
  position: absolute;
  width: 100%;
}

.sorica-media-placeholder:before{
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  content: "";
  height: 58%;
  position: absolute;
  right: -8%;
  top: -18%;
  width: 42%;
}

.sorica-media-placeholder span{
  font-size: var(--type-h2);
  font-weight: var(--weight-section);
  letter-spacing: var(--tracking-section);
  line-height: var(--leading-section);
  max-width: 80%;
  position: relative;
}

.sorica-media-placeholder--animation{
  background: linear-gradient(145deg,#ec635c,#202e42 78%);
}

.sorica-media-placeholder--video-editing{
  background: linear-gradient(145deg,#202e42,#3c5576);
}

.sorica-media-placeholder--ai-video{
  background: linear-gradient(145deg,#574d86,#ec635c);
}

.sorica-media-placeholder--concept{
  background: linear-gradient(145deg,#4b5d46,#202e42);
}

.sorica-portfolio-play{
  background: var(--accent);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 14px 34px rgba(32,46,66,.28);
  color: #fff;
  cursor: pointer;
  height: 76px;
  left: 50%;
  min-height: 76px;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 76px;
  z-index: 5;
}

.sorica-portfolio-play svg{
  fill: currentColor;
  height: 32px;
  transform: translateX(2px);
  transition: color .22s ease;
  width: 32px;
}

.sorica-btn.sorica-portfolio-play:focus-visible,
.sorica-btn.sorica-portfolio-play:hover{
  background: var(--accent);
  color: var(--text);
  opacity: 1;
  transform: translate(-50%,-50%) scale(1.06);
}

.sorica-portfolio-status{
  background: var(--accent);
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: var(--type-h3);
  font-weight: var(--weight-section);
  left: 50%;
  padding: 13px 20px;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: 5;
}

.sorica-portfolio-filters{
  display: flex;
  flex-wrap: wrap;
  column-gap: 14px;
  margin: 4px 0 46px;
  row-gap: 12px;
}

.sorica-portfolio-filter{
  background: #fff;
  border: 1px solid transparent;
  border-radius: 999px;
  box-shadow: none;
  color: var(--text);
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  font-weight: var(--weight-ui);
  min-height: 48px;
  padding: 0 22px;
}



.sorica-portfolio-filter.is-active,
.sorica-portfolio-filter:focus-visible,
.sorica-portfolio-filter:hover{
  background: var(--text);
  border-color: var(--text);
  color: #fff;
}

.sorica-portfolio-filter:focus:not(:focus-visible){
  outline: none;
}

.sorica-portfolio-filter:focus-visible,
.sorica-portfolio-play:focus-visible,
.sorica-portfolio-more a:focus-visible{
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.sorica-project-grid{
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(6,minmax(0,1fr));
}

.sorica-project-grid>.sorica-project-card{
  grid-column: span 2;
}

.sorica-portfolio-graphics-grid{
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.sorica-project-card.sorica-card,
.sorica-portfolio-graphic-card.sorica-card{
  min-height: 0;
}

.sorica-project-card__media{
  min-height: 0;
  position: relative;
}

.sorica-project-card__media .sorica-media-placeholder{
  padding: 28px;
}

.sorica-project-card__media .sorica-media-placeholder span{
  font-size: var(--type-h3);
  max-width: 92%;
}

.sorica-project-card .sorica-card__body,
.sorica-portfolio-graphic-card .sorica-card__body{
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.sorica-project-card .sorica-card__body{
  padding: 22px 24px 24px;
}

.sorica-portfolio-meta{
  border-top: 1px solid var(--border);
  display: grid;
  gap: 14px 18px;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin: 20px 0 0;
  padding-top: 18px;
}

.sorica-portfolio-meta div{
  display: grid;
  gap: 4px;
}

.sorica-portfolio-meta div:first-child{
  grid-column: 1/-1;
}

.sorica-portfolio-meta dt{
  color: var(--accent);
  font-size: var(--type-label);
  font-weight: var(--weight-ui);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.sorica-portfolio-meta dd{
  color: var(--muted);

  margin: 0;
}

/* Portfolio · compact cards and native fullscreen video */

button.sorica-btn.sorica-portfolio-play{
  align-items: center;
  appearance: none;
  background: var(--accent);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 14px 34px rgba(32,46,66,.34);
  color: #fff;
  display: flex;
  height: 76px;
  justify-content: center;
  left: 50%;
  margin: 0;
  max-height: 76px;
  max-width: 76px;
  min-height: 76px;
  min-width: 76px;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 76px;
  z-index: 6;
}

button.sorica-btn.sorica-portfolio-play:hover,
button.sorica-btn.sorica-portfolio-play:focus-visible{
  background: var(--accent);
  color: var(--text);
  opacity: 1;
  transform: translate(-50%,-50%) scale(1.07);
}

button.sorica-btn.sorica-portfolio-play svg{
  display: block;
  flex: 0 0 auto;
  height: 32px;
  margin: 0;
  width: 32px;
}

.sorica-portfolio-fullscreen-info{
  display: none;
}

.sorica-portfolio-fullscreen-close{
  display: none;
}

.sorica-project-card__media:fullscreen,
.sorica-project-card__media:-webkit-full-screen{
  align-items: stretch;
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100vh;
  max-height: none;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.sorica-project-card__media:fullscreen>video,
.sorica-project-card__media:-webkit-full-screen>video{
  background: #05070b;
  display: block;
  flex: 1 1 0;
  height: auto;
  inset: auto;
  min-height: 0;
  object-fit: contain;
  position: relative;
  width: 100%;
}

.sorica-project-card__media:fullscreen .sorica-portfolio-play,
.sorica-project-card__media:-webkit-full-screen .sorica-portfolio-play{
  display: none;
}

.sorica-project-card__media:fullscreen .sorica-portfolio-fullscreen-close,
.sorica-project-card__media:-webkit-full-screen .sorica-portfolio-fullscreen-close{
  align-items: center;
  background: var(--accent);
  border: 2px solid var(--accent);
  border-radius: 999px;
  box-shadow: 0 8px 28px rgba(0,0,0,.3);
  color: #fff;
  cursor: pointer;
  display: flex;
  font-family: "Manrope",sans-serif;
  font-size: 48px;
  font-weight: var(--weight-regular);
  height: 64px;
  justify-content: center;
  line-height: 1;
  padding: 0 0 5px;
  position: absolute;
  right: clamp(20px,2.5vw,48px);
  top: clamp(20px,2.5vw,48px);
  transition: background-color .2s ease,color .2s ease,transform .2s ease;
  width: 64px;
  z-index: 5;
}

.sorica-project-card__media:fullscreen .sorica-portfolio-fullscreen-close:hover,
.sorica-project-card__media:fullscreen .sorica-portfolio-fullscreen-close:focus-visible,
.sorica-project-card__media:-webkit-full-screen .sorica-portfolio-fullscreen-close:hover,
.sorica-project-card__media:-webkit-full-screen .sorica-portfolio-fullscreen-close:focus-visible{
  background: #fff;
  color: var(--accent);
  outline: 3px solid var(--accent);
  outline-offset: 3px;
  transform: scale(1.06);
}

.sorica-project-card__media:fullscreen .sorica-portfolio-fullscreen-info,
.sorica-project-card__media:-webkit-full-screen .sorica-portfolio-fullscreen-info{
  background: #fff;
  color: var(--text);
  display: flex;
  flex: 0 0 clamp(180px,22vh,260px);
  flex-direction: column;
  justify-content: center;
  margin-top: -1px;
  padding: clamp(24px,3.5vh,44px) clamp(28px,5vw,88px);
  position: relative;
  width: 100%;
  z-index: 2;
}

.sorica-portfolio-fullscreen-info h3{
  color: var(--text);

  margin: 0;
}

.sorica-portfolio-fullscreen-info .sorica-portfolio-meta{
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: clamp(20px,2.4vh,30px);
  padding-top: clamp(16px,2vh,24px);
}

.sorica-portfolio-fullscreen-info .sorica-portfolio-meta div:first-child{
  grid-column: auto;
}

.sorica-portfolio-fullscreen-info .sorica-portfolio-meta dt{
  font-size: var(--type-label);
  line-height: var(--leading-ui);
}

.sorica-portfolio-fullscreen-info .sorica-portfolio-meta dd{

  margin-top: 6px;
}

@media (max-height:700px) and (min-width:721px) {
  .sorica-project-card__media:fullscreen .sorica-portfolio-fullscreen-info,
.sorica-project-card__media:-webkit-full-screen .sorica-portfolio-fullscreen-info{
    flex-basis: 170px;
    padding-bottom: 20px;
    padding-top: 20px;
  }

  
}

@media (max-width:720px) {
  button.sorica-btn.sorica-portfolio-play{
    height: 64px;
    max-height: 64px;
    max-width: 64px;
    min-height: 64px;
    min-width: 64px;
    width: 64px;
  }

  .sorica-portfolio-fullscreen-info .sorica-portfolio-meta{
    grid-template-columns: 1fr;
  }
}

.sorica-portfolio-more{
  justify-content: center;
  margin-top: 44px;
}

.sorica-portfolio-more .sorica-btn{
  background: var(--accent);
  border-color: var(--accent);
  min-height: 54px;
  min-width: 170px;
}

.sorica-portfolio-more .sorica-btn:focus-visible,
.sorica-portfolio-more .sorica-btn:hover{
  background: var(--text);
  border-color: var(--text);
  opacity: 1;
}

html.sorica-js [data-sorica-project-grid]:not(.is-expanded):not(.is-filtered) [data-sorica-more-item]{
  display: none;
}

[data-sorica-project-grid] [hidden]{
  display: none;
}

.sorica-portfolio-graphic-card .sorica-card__media{
  background: #e9ebef;
}

.sorica-portfolio-graphic-card .sorica-card__media img{
  object-fit: cover;
  padding: 0;
}

a.sorica-portfolio-graphic-card{
  color: inherit;
  text-decoration: none;
}

a.sorica-portfolio-graphic-card .sorica-link{
  display: inline-block;
  margin-top: 18px;
}

a.sorica-portfolio-graphic-card:hover,
a.sorica-portfolio-graphic-card:focus-visible{
  color: inherit;
  transform: translateY(-3px);
}

a.sorica-portfolio-graphic-card:focus-visible{
  outline: 3px solid var(--accent);
  outline-offset: 4px;
}

.sorica-portfolio-audio{
  background: var(--text);
  box-shadow: 0 0 0 100vmax var(--text);
  clip-path: inset(0 -100vmax);
  color: #fff;
}

.sorica-portfolio-audio .sorica-section-head h2{
  color: #fff;
}

.sorica-portfolio-audio .sorica-section-head p{
  color: rgba(255,255,255,.68);
}

.sorica-portfolio-audio-grid{
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.sorica-portfolio-audio-grid article{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius);
  overflow: hidden;
}

.sorica-portfolio-audio__image{
  aspect-ratio: 864/550;
  background: #fff;
  margin: 0;
  overflow: hidden;
}

.sorica-portfolio-audio__image img{
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.sorica-portfolio-audio__body{
  padding: 28px 32px 32px;
}

.sorica-portfolio-audio-grid h3{
  color: #fff;


  margin: 0 0 14px;
}

.sorica-portfolio-audio-grid p{
  color: rgba(255,255,255,.68);

  margin: 0 0 24px;
}

.sorica-portfolio-audio-grid audio{
  accent-color: var(--accent);
  background: #fff;
  border-radius: 999px;
  color-scheme: light;
  display: block;
  height: 46px;
  width: 100%;
}

.sorica-portfolio-contact .sorica-actions{
  grid-template-columns: 1fr;
  max-width: 520px;
}

.sorica-portfolio-contact .sorica-actions .sorica-btn{
  background: var(--accent);
  border-color: var(--accent);
  justify-content: center;
  min-height: 66px;
  text-align: center;
}

.sorica-portfolio-contact .sorica-actions .sorica-btn:focus-visible,
.sorica-portfolio-contact .sorica-actions .sorica-btn:hover{
  background: #fff;
  border-color: #fff;
  color: var(--accent);
}

@media (max-width:1100px) {
  .sorica-project-grid,
.sorica-portfolio-graphics-grid{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .sorica-project-grid>.sorica-project-card,
[data-sorica-project-grid]:not(.is-expanded):not(.is-filtered) .sorica-project-card{
    grid-column: auto;
  }

  .sorica-portfolio-audio-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width:720px) {
  .sorica-project-grid,
.sorica-portfolio-graphics-grid{
    grid-template-columns: 1fr;
  }

  .sorica-portfolio-filters{
    column-gap: 10px;
    margin: 8px 0 36px;
    row-gap: 10px;
  }

  .sorica-portfolio-filter{
    min-height: 44px;
    padding: 0 18px;
  }

  .sorica-portfolio-play{
    height: 62px;
    min-height: 62px;
    width: 62px;
  }

  .sorica-portfolio-play svg{
    height: 27px;
    width: 27px;
  }

  .sorica-portfolio-meta{
    grid-template-columns: 1fr;
  }

  .sorica-portfolio-meta div:first-child{
    grid-column: auto;
  }

  .sorica-portfolio-audio-grid article{
    padding: 26px;
  }

}

@media (prefers-reduced-motion:reduce) {
  .sorica-project-card,
.sorica-portfolio-filter,
.sorica-portfolio-play{
    transition: none;
  }
}

/* ==========================================================================
   RELATED CASES
   ========================================================================== */








.sorica-placeholder{min-height:320px;border:1px dashed var(--accent);border-radius:24px;display:flex;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--muted);margin-top:32px;}

/* Keep portrait hero content aligned with the standard container on smaller desktop screens. */
@media (min-width: 1101px) and (max-width: 1535px) {
  .sorica-container.sorica-hero__grid{
        width: min(1400px, 92%);
    margin-inline: auto;
  }
}

/* ==========================================================================
   LOCKED MASTER CORRECTIONS
   Original live CSS remains the visual baseline.
   Only approved responsive/design corrections are appended below.
   ========================================================================== */

/* --------------------------------------------------------------------------
   NAVIGATION
   Desktop navigation: 1101px+
   Burger navigation: 0–1100px
   Open burger = full-page soft overlay with centered links.
   -------------------------------------------------------------------------- */

@media (min-width:1101px) {
  .sorica-menu-toggle{
    display: none;
  }

  .sorica-nav{
    display: flex;
    opacity: 1;
    pointer-events: auto;
    position: static;
    transform: none;
  }
}

@media (max-width:1100px) {
  .sorica-header{
    gap: 16px;
    position: sticky;
    z-index: 1001;
  }

  .sorica-menu-toggle{
    display: inline-flex;
    z-index: 1003;
  }

  .sorica-nav{
    align-items: center;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    background: rgba(247,247,247,.94);
    border: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 26px;
    inset: 0;
    justify-content: center;
    min-height: 100dvh;
    opacity: 0;
    padding: clamp(88px,12vh,132px) 28px 56px;
    pointer-events: none;
    position: fixed;
    transform: none;
    transition: opacity .24s ease;
    width: 100vw;
    z-index: 1000;
  }

  .menu-open .sorica-nav{
    opacity: 1;
    pointer-events: auto;
  }

  .sorica-nav a{
    border: 0;
    color: var(--accent);
    display: inline-flex;
    font-size: var(--type-h3);
    font-weight: var(--weight-ui);
    justify-content: center;
    line-height: var(--leading-card);
    padding: 8px 16px;
    text-align: center;
  }

  .sorica-nav a:focus-visible,
.sorica-nav a:hover{
    color: var(--text);
  }
}

/* --------------------------------------------------------------------------
   HERO
   Tablet/mobile: no desktop 92vh minimum.
   Mid desktop (1101–1535): remove excessive vertical whitespace while
   preserving the approved large-desktop layout at 1536px+.
   -------------------------------------------------------------------------- */

@media (max-width:1100px) {
  .sorica-hero{
    height: auto;
    min-height: auto;
  }

  .sorica-hero__grid{
    height: auto;
    min-height: auto;
  }
}

/* ========================================================================== 
   v2.2.12 — GLOBAL COMPONENTS AND TYPOGRAPHY
   ========================================================================== */

@media (min-width:1101px) {
  .sorica-hero,
  .sorica-page-hero,
  .sorica-case-hero,
  .sorica-legal-hero{
    min-height: 45vh;
    padding-bottom: 104px;
  }

  .sorica-page-hero,
  .sorica-container.sorica-hero__grid{
    margin-top: 80px;
  }

  .sorica-case-hero .sorica-kicker,
  .sorica-hero .sorica-kicker,
  .sorica-legal-hero .sorica-kicker{
    margin-top: 0;
  }

  .sorica-page-hero p:has(> .sorica-kicker){
    display: contents;
  }

  .sorica-hero h1{
        margin-top: 50px;
  }

  .sorica-page-hero h1,
  body.wp-theme-hello-elementor .sorica-case-hero h1{
    margin-top: calc(var(--hero-h1-start) - 100px);
  }

  .sorica-hero__grid{
    align-items: stretch;
  }

  .sorica-hero__grid>div{
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }

  .sorica-hero__portrait{
    align-self: stretch;
    height: 100%;
  }

  .sorica-hero--portrait .sorica-hero__grid{
    align-items: center;
    gap: 72px;
    grid-template-columns: minmax(0,1.04fr) minmax(520px,.96fr);
  }

  body.wp-theme-hello-elementor .sorica-hero--portrait h1{
    max-width: 680px;
  }

  .sorica-hero--portrait .sorica-hero__portrait{
    align-self: center;
    height: auto;
  }

}

.sorica-page-hero__grid{
  align-items: end;
  display: grid;
  gap: 92px;
  grid-template-columns: 1.05fr .95fr;
  max-width: var(--content);
}

.sorica-page-hero__intro p + p{
  margin-top: 16px;
}

.sorica-page-hero__intro .sorica-actions{
  margin-top: 30px;
}

body.wp-theme-hello-elementor h1,
body.wp-theme-hello-elementor h2,
body.wp-theme-hello-elementor h3,
body.wp-theme-hello-elementor p,
body.wp-theme-hello-elementor li,
body.wp-theme-hello-elementor dd{
  font-family: "Manrope", sans-serif;
}

body.wp-theme-hello-elementor h4,
body.wp-theme-hello-elementor h5,
body.wp-theme-hello-elementor h6,
body.wp-theme-hello-elementor a,
body.wp-theme-hello-elementor button,
body.wp-theme-hello-elementor input,
body.wp-theme-hello-elementor textarea,
body.wp-theme-hello-elementor select{
  font-family: "Manrope", sans-serif;
}

body.wp-theme-hello-elementor h1{
  font-size: var(--type-h1);
  font-weight: var(--weight-display);
  hyphens: manual;
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-display);
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

body.wp-theme-hello-elementor h2{
  font-size: var(--type-h2);
  font-weight: var(--weight-section);
  hyphens: manual;
  letter-spacing: var(--tracking-section);
  line-height: var(--leading-section);
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

body.wp-theme-hello-elementor h3{
  font-size: var(--type-h3);
  font-weight: var(--weight-display);
  letter-spacing: var(--tracking-card);
  line-height: var(--leading-card);
  text-wrap: pretty;
}

body.wp-theme-hello-elementor p,
body.wp-theme-hello-elementor li,
body.wp-theme-hello-elementor dd{
  font-size: var(--type-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
  text-wrap: pretty;
}

@media (min-width:721px) and (max-width:1100px) {
  :root{
    --type-h1: clamp(56px,8vw,80px);
    --type-h2: clamp(36px,5vw,48px);
    --type-h3: clamp(24px,3.5vw,30px);
    --type-lead: clamp(20px,2.2vw,22px);
    --type-stat: clamp(38px,4.5vw,46px);
    --leading-display: 1.03;
    --leading-section: 1.02;
    --leading-card: 1.08;
  }

  .sorica-page-hero__grid{
    gap: 42px;
    grid-template-columns: 1fr;
  }

}

@media (max-width:720px) {
  :root{
    --type-h1: clamp(42px,12.4vw,52px);
    --type-h2: clamp(30px,9vw,38px);
    --type-h3: clamp(24px,7vw,28px);
    --type-lead: clamp(19px,5.5vw,21px);
    --type-body: 16px;
    --type-stat: clamp(36px,10vw,44px);
    --tracking-display: -.065em;
    --leading-display: .96;
    --leading-section: 1.02;
    --leading-card: 1.08;
  }

  .sorica-page-hero__grid{
    gap: 36px;
    grid-template-columns: 1fr;
  }

}
/* Privacy cards — shared styling for native text widgets */
.elementor-widget-text-editor.privacy-card {
  box-sizing: border-box;
  padding: var(--s3);
  background: var(--bg);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgb(32 46 66 / 5%);
}

.elementor-widget-text-editor.privacy-card h2 {
  margin-top: 0;
}

.elementor-widget-text-editor.privacy-card p:last-child {
  margin-bottom: 0;
}