/* LINGVEL Groups | Corporate typography and balanced visual rhythm
   Original styling preserved in style.css and premium-refinements.css.
   Refinement inspired by clean, readable enterprise layouts; no brand assets copied.
*/
:root{
 --wrap:min(1220px,calc(100vw - 3.25rem));
 --shadow:0 14px 36px rgba(79,43,29,.075);
}
html{-webkit-text-size-adjust:100%}
body{
 font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 color:#392722;
 line-height:1.65;
}
h1,h2,h3,h4{
 font-family:inherit;
 font-weight:680;
 letter-spacing:-.032em;
 color:#3e2721;
}
p{font-size:.975rem;line-height:1.72}
.lead{font-size:clamp(1.01rem,1.3vw,1.11rem);line-height:1.67;letter-spacing:-.008em}
.topbar .nav{min-height:76px}
body .topbar .brand .brand-title{font-size:1.31rem;font-weight:760;letter-spacing:-.037em;line-height:1.1}
body .footer .brand-title{font-size:1.26rem;font-weight:740;letter-spacing:-.025em}
body .topbar .brand-logo{width:49px;height:49px}
body .footer .brand-logo{width:54px;height:54px}
.nav-links>a,.nav-toggle{font-weight:590;font-size:.905rem}
.dropdown-menu strong{font-weight:660}

/* Home: two clear lines instead of oversized multi-line type. */
.hero-premium{padding:clamp(60px,5.2vw,83px) 0 clamp(64px,5vw,78px)}
.hero-premium-grid{
 grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);
 gap:clamp(28px,4.1vw,66px);align-items:center;
}
.hero-premium .hero-copy h1{
 font-size:clamp(2.8rem,3.95vw,3.7rem);
 line-height:1.14;
 font-weight:705;
 letter-spacing:-.047em;
 margin:0 0 1.2rem;
 max-width:630px;
 text-wrap:initial;
}
.hero-premium h1 .headline-line{display:block}
.hero-premium .lead{font-size:1.02rem;line-height:1.73;max-width:535px;margin:.35rem 0 .75rem}
.hero-premium .slogan{font-size:.95rem;line-height:1.55;font-weight:645;margin:.95rem 0 0;color:#ac5b41}
.hero-premium .actions{margin-top:1.8rem}
.hero-premium-art{border-radius:24px;padding:.78rem;box-shadow:0 19px 46px rgba(94,54,34,.09)}
.hero-premium-art::after{display:none}
.hero-premium-art>img{border-radius:17px;display:block;width:100%;height:auto;aspect-ratio:4/3 !important;object-fit:contain !important;object-position:center;background:#fff}
.hero-categories{font-size:.79rem;font-weight:565;padding-top:1.05rem;margin-top:1.75rem}
.hero-categories span:not(:first-child)::before{margin-right:1rem}

/* General sizes and whitespace; readable like mature enterprise sites. */
.section{padding:clamp(62px,5.7vw,85px) 0}
.section-head{margin-bottom:1.65rem}
.section-head h2{
 font-size:clamp(1.76rem,2.7vw,2.62rem);
 letter-spacing:-.04em;line-height:1.17;font-weight:685;
 margin:0 0 .8rem;
}
.section-head p{line-height:1.7}
.page-hero{padding:clamp(52px,5.1vw,76px) 0 clamp(54px,5.4vw,80px)}
.page-hero h1{
 font-size:clamp(2.25rem,3.55vw,3.58rem);
 font-weight:700;line-height:1.16;letter-spacing:-.045em;
 margin:.15rem 0 1.05rem;
}
.page-hero .lead{font-size:1.035rem;line-height:1.72}
.page-hero .hero-art{border-radius:22px;padding:.65rem;box-shadow:0 14px 43px rgba(104,55,33,.075)}
.page-hero .hero-art img{border-radius:15px}
.page-hero .two-col{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(30px,4vw,64px)}

/* Restrained rather than oversize or overly rounded buttons/cards. */
.btn{font-family:inherit;border-radius:11px;font-size:.91rem;font-weight:645;padding:.85rem 1.2rem;min-height:47px}
.btn.primary{background:linear-gradient(115deg,#d96546,#e58161);box-shadow:0 9px 21px rgba(215,108,74,.16)}
.btn.secondary,.btn.ghost{background:#fff}
.grid-featured{gap:1.5rem}
.grid-featured .business-feature-card{border-radius:20px;box-shadow:0 8px 25px rgba(112,49,24,.055)}
.grid-featured .business-feature-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(112,49,24,.11)}
.grid-featured .card-body{padding:1.42rem 1.6rem 1.48rem}
.grid-featured .card h3{
 font-size:clamp(1.21rem,1.55vw,1.44rem);
 font-weight:680;letter-spacing:-.03em;
 line-height:1.25;margin:.1rem 0 .62rem;
}
.grid-featured .card p{font-size:.95rem;line-height:1.68;max-width:54ch;margin:0 0 1rem}
.grid-featured .card .text-link{font-size:.91rem;font-weight:630}
.info-card,.panel,.form-card,.feature{border-radius:19px}
.info-card h3,.panel h3{font-weight:685}
.feature{padding:1.4rem 1.45rem}
.feature h3{font-size:1.08rem;font-weight:675;letter-spacing:-.025em}
.feature p{font-size:.93rem}
.feature-icon{font-weight:680}
.visual-story-copy h2{font-size:clamp(1.8rem,2.7vw,2.65rem);font-weight:690;line-height:1.17}
.showcase h2{font-size:clamp(1.48rem,2.05vw,1.9rem);font-weight:690}
.showcase h3{font-size:1.19rem;font-weight:680}
.showcase>.panel,.showcase>.info-card{border-radius:20px;padding:1.7rem 1.85rem}
.service-premium-card{border-radius:18px}
.service-premium-card .service-photo-content h3{font-size:1.1rem;font-weight:680}
.service-premium-card .service-photo-content p{font-size:.93rem}
.related-business-card .card-body h3{font-size:1.08rem;font-weight:670}
.business-content-section{padding:clamp(61px,5.5vw,85px) 0}
.step{border-radius:15px;font-weight:640}
.business-content-section .step{border-radius:15px;font-weight:640}
.footer h4{font-weight:700}

/* Careers: realistic photo with proper composition, no distortion. */
.careers-page .page-hero .hero-art{overflow:hidden}
.careers-page .page-hero .hero-art img{
 display:block;width:100%;height:auto;
 aspect-ratio:4/3;object-fit:cover;object-position:center;
}

@media(max-width:1100px){
 .hero-premium .hero-copy h1{font-size:clamp(2.55rem,4.25vw,3.25rem)}
 .hero-premium-grid{gap:2.1rem}
}
@media(max-width:900px){
 .hero-premium-grid,.page-hero .two-col{grid-template-columns:1fr}
 .hero-premium .hero-copy h1{font-size:clamp(2.55rem,5.3vw,3.2rem)}
 .hero-premium-art{max-width:700px}
 .page-hero .hero-art{max-width:740px}
}
@media(max-width:800px){
 :root{--wrap:min(100% - 2.3rem,1220px)}
 body .topbar .brand .brand-title{font-size:1.11rem}
 body .topbar .brand-logo{height:43px;width:43px}
 .section{padding:59px 0}
 .page-hero{padding:46px 0 52px}
 .page-hero h1{font-size:clamp(2.05rem,7.2vw,2.8rem)}
 .section-head h2{font-size:clamp(1.7rem,5.9vw,2.16rem)}
 .hero-premium{padding:49px 0 58px}
 .hero-premium .hero-copy h1{font-size:clamp(2.36rem,7.2vw,3rem)}
 .hero-premium-art{margin:0}
 .grid-featured{gap:1.05rem}
}
@media(max-width:530px){
 :root{--wrap:min(100% - 2rem,1220px)}
 .hero-premium .hero-copy h1{font-size:clamp(2.02rem,8.6vw,2.48rem);letter-spacing:-.047em;line-height:1.16}
 .hero-premium h1 .headline-line{display:inline}
 .hero-premium h1 .headline-line+ .headline-line::before{content:' '}
 .hero-premium .lead{font-size:.975rem}
 .hero-premium .slogan{font-size:.9rem}
 .page-hero .lead{font-size:1rem}
 .grid-featured .card-body{padding:1.25rem 1.3rem 1.45rem}
 .grid-featured .card h3{font-size:1.24rem}
 .hero-categories{font-size:.75rem;column-gap:.5rem}
}


/* Accessible full-card navigation on home, businesses hub and related-business cards. */
.business-feature-card .business-card-link,
.related-business-card .business-card-link {
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  border-radius:inherit;
}
.business-feature-card .business-card-link > img,
.related-business-card .business-card-link > img { flex:0 0 auto; }
.business-feature-card .business-card-link .card-body,
.related-business-card .business-card-link .card-body { flex:1; }
.business-feature-card:focus-within,
.related-business-card:focus-within {
  box-shadow:0 0 0 3px rgba(219,102,69,.30), 0 17px 42px rgba(110,55,32,.12);
}
.business-card-link:focus-visible {
  outline:3px solid #da7450;
  outline-offset:-3px;
}
.business-card-link:hover .text-link,
.business-card-link:focus-visible .text-link { text-decoration:underline; text-underline-offset:4px; }
