/* ═══════════════════════════════════════════════════════════════
   Base Reset & Defaults
   ═══════════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,video,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font:inherit;border:none;background:none}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700;font-family:var(--theme-heading-font)}

/* ═══════════════════════════════════════════════════════════════
   Layout — Container
   ═══════════════════════════════════════════════════════════════ */
.container{
    width:100%;
    max-width:72rem;
    margin:0 auto;
    padding-left:1rem;
    padding-right:1rem;
}
.container--narrow{max-width:42rem}
.container--medium{max-width:56rem}
.container--form{max-width:32rem}

@media(min-width:640px){
    .container{padding-left:1.5rem;padding-right:1.5rem}
}
@media(min-width:1024px){
    .container{padding-left:2rem;padding-right:2rem}
}

/* ═══════════════════════════════════════════════════════════════
   Sections
   ═══════════════════════════════════════════════════════════════ */
.section{
    padding:3rem 0;
}
.section--surface{background:var(--theme-surface)}
.section--compact{padding:2rem 0}

@media(min-width:640px){.section{padding:4rem 0}}
@media(min-width:1024px){.section{padding:5rem 0}}

.section__header{text-align:center;margin-bottom:2.5rem}
@media(min-width:640px){.section__header{margin-bottom:3rem}}

.section__heading{
    font-size:1.75rem;
    font-weight:700;
    letter-spacing:-0.02em;
}
.section__heading--center{text-align:center;margin-bottom:2.5rem}

@media(min-width:640px){.section__heading{font-size:2rem}}
@media(min-width:1024px){.section__heading{font-size:2.25rem}}

.section__desc{
    margin-top:0.75rem;
    font-size:1rem;
    opacity:0.7;
    max-width:36rem;
    margin-left:auto;
    margin-right:auto;
}
@media(min-width:640px){.section__desc{font-size:1.125rem}}

/* ═══════════════════════════════════════════════════════════════
   Header / Navigation
   ═══════════════════════════════════════════════════════════════ */
.site-header{
    position:sticky;
    top:0;
    z-index:50;
    background:var(--theme-surface);
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(0,0,0,0.08);
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:3.5rem;
}
@media(min-width:640px){.header-inner{min-height:4rem}}
.site-logo{
    font-weight:700;
    font-size:1.125rem;
    font-family:var(--theme-heading-font);
}
@media(min-width:640px){.site-logo{font-size:1.25rem}}
.desktop-nav{display:none;gap:2rem}
.desktop-nav .nav-link{
    font-size:0.875rem;
    font-weight:500;
    opacity:0.65;
    transition:opacity 0.2s;
}
.desktop-nav .nav-link:hover,.desktop-nav .nav-active{opacity:1}
.lang-switcher{display:flex;gap:0.25rem;align-items:center;margin-left:1rem;padding-left:1rem;border-left:1px solid rgba(0,0,0,0.1)}
.mobile-nav-toggle{display:flex;padding:0.5rem;color:inherit}
.mobile-nav{padding:0.75rem 1rem 1rem;display:flex;flex-direction:column;gap:0.25rem}
.mobile-nav .lang-switcher{margin-left:0;padding-left:0;border-left:none;padding:0.5rem 1rem 0;gap:0.5rem}
.mobile-nav .nav-link{
    display:block;
    padding:0.625rem 1rem;
    font-size:0.875rem;
    border-radius:var(--radius);
    transition:background 0.15s;
}
.mobile-nav .nav-link:hover{background:rgba(0,0,0,0.05)}
.mobile-nav .nav-active{font-weight:600}
.hidden{display:none!important}

@media(min-width:768px){
    .desktop-nav{display:flex;align-items:center}
    .mobile-nav-toggle{display:none}
    .mobile-nav{display:none!important}
}

/* ═══════════════════════════════════════════════════════════════
   Grid System
   ═══════════════════════════════════════════════════════════════ */
.grid{
    display:grid;
    gap:1.25rem;
}
@media(min-width:640px){.grid{gap:1.5rem}}

.grid--features{grid-template-columns:1fr}
@media(min-width:768px){.grid--features{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1200px){.grid--features{grid-template-columns:repeat(3,1fr)}}

.grid--cards{grid-template-columns:1fr}
@media(min-width:768px){.grid--cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1200px){.grid--cards{grid-template-columns:repeat(3,1fr)}}

.grid--pricing{grid-template-columns:1fr}
@media(min-width:768px){.grid--pricing{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1200px){.grid--pricing{grid-template-columns:repeat(3,1fr)}}

.grid--stats{grid-template-columns:repeat(2,1fr)}
@media(min-width:1024px){.grid--stats{grid-template-columns:repeat(4,1fr)}}

.grid--gallery{grid-template-columns:1fr}
@media(min-width:640px){.grid--gallery{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid--gallery{grid-template-columns:repeat(3,1fr)}}

/* ═══════════════════════════════════════════════════════════════
   Cards
   ═══════════════════════════════════════════════════════════════ */
.card{
    background:var(--theme-bg);
    border:1px solid rgba(0,0,0,0.08);
    border-radius:var(--radius);
    box-shadow:0 1px 3px rgba(0,0,0,0.04);
    overflow:hidden;
    transition:box-shadow 0.2s,transform 0.2s;
}
.card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.08)}

/* ═══════════════════════════════════════════════════════════════
   Buttons
   ═══════════════════════════════════════════════════════════════ */
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.75rem 2rem;
    font-size:0.9375rem;
    font-weight:600;
    border-radius:var(--radius);
    transition:opacity 0.2s,transform 0.15s;
    cursor:pointer;
    white-space:nowrap;
}
.btn:hover{opacity:0.9;transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn--primary{background:var(--btn-bg);color:var(--btn-text)}
.btn--full{width:100%}

/* ═══════════════════════════════════════════════════════════════
   Hero
   ═══════════════════════════════════════════════════════════════ */
.hero{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.hero--fullscreen{min-height:100vh;min-height:100dvh}
.hero--tall{min-height:70vh;min-height:70dvh}
.hero--medium{min-height:50vh;min-height:50dvh}

.hero__inner{max-width:48rem;margin:0 auto;padding:2rem 0}
@media(min-width:640px){.hero__inner{padding:3rem 0}}

.hero__heading{
    font-size:2rem;
    font-weight:800;
    letter-spacing:-0.03em;
    line-height:1.1;
}
@media(min-width:480px){.hero__heading{font-size:2.5rem}}
@media(min-width:640px){.hero__heading{font-size:3rem}}
@media(min-width:1024px){.hero__heading{font-size:3.75rem}}

.hero__sub{
    margin-top:1.25rem;
    font-size:1rem;
    opacity:0.7;
    max-width:36rem;
    margin-left:auto;
    margin-right:auto;
}
@media(min-width:640px){.hero__sub{font-size:1.125rem}}
@media(min-width:1024px){.hero__sub{font-size:1.25rem}}

.hero__cta{margin-top:2rem}

.hero--bg-image{position:relative}
.hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.5)}
.hero__inner--centered{text-align:center}
.hero__inner--left{text-align:left;max-width:48rem}

.hero__split{display:grid;gap:2rem;align-items:center}
@media(min-width:768px){.hero__split{grid-template-columns:1fr 1fr;gap:3rem}}

.hero__split-content .hero__heading{text-align:left}
.hero__split-content .hero__sub{margin-left:0;text-align:left}

/* ═══════════════════════════════════════════════════════════════
   Feature Cards
   ═══════════════════════════════════════════════════════════════ */
.feature-card{padding:1.5rem}
.feature-card__title{font-size:1.0625rem;font-weight:600;margin-bottom:0.5rem}
.feature-card__desc{font-size:0.875rem;opacity:0.7;line-height:1.6}

/* ═══════════════════════════════════════════════════════════════
   Testimonials
   ═══════════════════════════════════════════════════════════════ */
.testimonial-card{padding:1.5rem;display:flex;flex-direction:column}
.testimonial-card__stars{margin-bottom:0.75rem;font-size:1.125rem;display:flex;gap:2px}
.star{opacity:0.2}.star--filled{opacity:1}
.testimonial-card__quote{flex:1;font-style:italic;opacity:0.8;line-height:1.7;font-size:0.9375rem}
.testimonial-card__author{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,0.08)}
.testimonial-card__author strong{display:block;font-size:0.9375rem}
.testimonial-card__author span{font-size:0.8125rem;opacity:0.6}

/* ═══════════════════════════════════════════════════════════════
   Stats
   ═══════════════════════════════════════════════════════════════ */
.stat{text-align:center;padding:1rem 0.5rem}
.stat__value{
    font-size:2rem;
    font-weight:800;
    font-family:var(--theme-heading-font);
    letter-spacing:-0.02em;
}
@media(min-width:640px){.stat__value{font-size:2.5rem}}
@media(min-width:1024px){.stat__value{font-size:3rem}}
.stat__label{margin-top:0.375rem;font-size:0.8125rem;opacity:0.65;font-weight:500}
@media(min-width:640px){.stat__label{font-size:0.875rem}}

/* ═══════════════════════════════════════════════════════════════
   Pricing Cards
   ═══════════════════════════════════════════════════════════════ */
.pricing-card{padding:1.5rem;display:flex;flex-direction:column;position:relative}
@media(min-width:640px){.pricing-card{padding:2rem}}
.pricing-card--popular{border-width:2px}
.pricing-card__badge{
    position:absolute;top:-0.75rem;left:50%;transform:translateX(-50%);
    padding:0.25rem 0.875rem;border-radius:9999px;font-size:0.75rem;font-weight:600;
}
.pricing-card__name{font-size:1.125rem;font-weight:600}
.pricing-card__price{font-size:2rem;font-weight:800;margin:0.75rem 0 1.5rem}
.pricing-card__features{flex:1;margin-bottom:1.5rem}
.pricing-card__feature{display:flex;align-items:flex-start;gap:0.5rem;padding:0.375rem 0;font-size:0.875rem}
.pricing-card__check{width:1rem;height:1rem;flex-shrink:0;margin-top:0.125rem}

/* ═══════════════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════════════ */
.faq-list{overflow:hidden}
.faq-item{border-bottom:1px solid rgba(0,0,0,0.08)}
.faq-item:last-child{border-bottom:none}
.faq-item__question{
    display:flex;align-items:center;justify-content:space-between;gap:1rem;
    padding:1rem 1.25rem;font-weight:500;cursor:pointer;list-style:none;font-size:0.9375rem;
}
.faq-item__question::-webkit-details-marker{display:none}
.faq-item__chevron{flex-shrink:0;transition:transform 0.2s;opacity:0.5}
.faq-item[open] .faq-item__chevron{transform:rotate(180deg)}
.faq-item__answer{padding:0 1.25rem 1rem;opacity:0.75;line-height:1.7;font-size:0.9375rem}
@media(min-width:640px){
    .faq-item__question{padding:1.125rem 1.5rem;font-size:1rem}
    .faq-item__answer{padding:0 1.5rem 1.125rem;font-size:1rem}
}

/* ═══════════════════════════════════════════════════════════════
   Forms
   ═══════════════════════════════════════════════════════════════ */
.form{display:flex;flex-direction:column;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:0.375rem}
.form-label{font-size:0.875rem;font-weight:500}
.form-input{
    width:100%;
    padding:0.625rem 1rem;
    border:1px solid rgba(0,0,0,0.15);
    border-radius:var(--radius);
    background:transparent;
    font-size:0.9375rem;
    color:inherit;
    font-family:inherit;
    transition:border-color 0.2s,box-shadow 0.2s;
}
.form-input:focus{
    outline:none;
    border-color:var(--theme-primary);
    box-shadow:0 0 0 2px color-mix(in srgb, var(--theme-primary) 20%, transparent);
}

/* ═══════════════════════════════════════════════════════════════
   Newsletter
   ═══════════════════════════════════════════════════════════════ */
.newsletter-form{
    display:flex;flex-direction:column;gap:0.75rem;margin-top:1.75rem;
}
@media(min-width:480px){
    .newsletter-form{flex-direction:row}
    .newsletter-form__input{flex:1}
    .newsletter-form__btn{flex-shrink:0}
}

/* ═══════════════════════════════════════════════════════════════
   Team
   ═══════════════════════════════════════════════════════════════ */
.team-card{padding:1.5rem;text-align:center}
.team-card__avatar{
    width:5rem;height:5rem;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:1.5rem;font-weight:700;margin:0 auto 1rem;
}
.team-card__name{font-size:1.0625rem;font-weight:600}
.team-card__role{font-size:0.8125rem;font-weight:500;margin-top:0.25rem}
.team-card__bio{font-size:0.875rem;opacity:0.7;margin-top:0.75rem;line-height:1.6}

/* ═══════════════════════════════════════════════════════════════
   Gallery
   ═══════════════════════════════════════════════════════════════ */
.gallery__item{
    overflow:hidden;
    border-radius:var(--radius);
    box-shadow:0 1px 3px rgba(0,0,0,0.06);
}
.gallery__img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    transition:transform 0.4s;
}
.gallery__item:hover .gallery__img{transform:scale(1.05)}

/* ═══════════════════════════════════════════════════════════════
   Image Block
   ═══════════════════════════════════════════════════════════════ */
.image-block__img{width:100%;border-radius:var(--radius);box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.image__caption{text-align:center;margin-top:0.75rem;font-size:0.8125rem;opacity:0.6}

/* ═══════════════════════════════════════════════════════════════
   Video Embed
   ═══════════════════════════════════════════════════════════════ */
.video-embed{
    position:relative;
    padding-bottom:56.25%;
    height:0;
    overflow:hidden;
    border-radius:var(--radius);
    box-shadow:0 4px 16px rgba(0,0,0,0.1);
}
.video-embed__iframe{
    position:absolute;top:0;left:0;width:100%;height:100%;border:0;
}

/* ═══════════════════════════════════════════════════════════════
   Logo Cloud
   ═══════════════════════════════════════════════════════════════ */
.logo-cloud{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:1.5rem;
}
@media(min-width:640px){.logo-cloud{gap:2.5rem}}
.logo-cloud__img{
    height:1.75rem;
    max-width:100px;
    object-fit:contain;
    filter:grayscale(1);
    opacity:0.45;
    transition:all 0.3s;
}
@media(min-width:640px){.logo-cloud__img{height:2.25rem;max-width:120px}}
.logo-cloud__img:hover{filter:grayscale(0);opacity:1}
.logo-cloud__heading{
    text-align:center;
    font-size:0.8125rem;
    opacity:0.5;
    margin-bottom:1.5rem;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:0.05em;
}

/* ═══════════════════════════════════════════════════════════════
   Footer
   ═══════════════════════════════════════════════════════════════ */
.footer{padding:3rem 0 1.5rem}
@media(min-width:640px){.footer{padding:4rem 0 2rem}}

.footer__grid{
    display:grid;gap:2.5rem;
}
@media(min-width:768px){
    .footer__grid{grid-template-columns:1fr 2fr;gap:3rem}
}

.footer__brand-name{font-size:1.25rem;font-weight:700;font-family:var(--theme-heading-font)}
.footer__brand-desc{margin-top:0.75rem;font-size:0.875rem;opacity:0.7;max-width:20rem;line-height:1.6}

.footer__columns{
    display:grid;gap:1.5rem;
    grid-template-columns:repeat(2,1fr);
}
@media(min-width:640px){.footer__columns{grid-template-columns:repeat(3,1fr)}}

.footer__col-title{font-size:0.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.75rem;font-family:var(--theme-heading-font)}
.footer__links{display:flex;flex-direction:column;gap:0.5rem}
.footer__link{font-size:0.8125rem;opacity:0.65;transition:opacity 0.2s}
@media(min-width:640px){.footer__link{font-size:0.875rem}}
.footer__link:hover{opacity:1}

.footer__socials{display:flex;gap:1rem;margin-top:1.25rem}
.footer__social{font-size:0.875rem;opacity:0.6;transition:opacity 0.2s}
.footer__social:hover{opacity:1}

.footer__bottom{
    margin-top:2.5rem;
    padding-top:1.5rem;
    border-top:1px solid rgba(0,0,0,0.08);
    text-align:center;
    font-size:0.75rem;
    opacity:0.45;
}

/* ═══════════════════════════════════════════════════════════════
   Prose (text blocks)
   ═══════════════════════════════════════════════════════════════ */
.prose{
    font-size:1rem;
    line-height:1.75;
    opacity:0.8;
}
@media(min-width:640px){.prose{font-size:1.0625rem}}
.prose p+p{margin-top:1rem}

/* ═══════════════════════════════════════════════════════════════
   Scroll Animations
   ═══════════════════════════════════════════════════════════════ */
.block-animate{
    opacity:0;
    transform:translateY(20px);
    transition:opacity 0.6s ease-out,transform 0.6s ease-out;
}
.block-animate.visible{opacity:1;transform:translateY(0)}

@media(prefers-reduced-motion:reduce){
    .block-animate{opacity:1;transform:none;transition:none}
}

/* ═══════════════════════════════════════════════════════════════
   Block Variant Styles
   ═══════════════════════════════════════════════════════════════ */

/* Features Grid — Horizontal */
.features-grid--horizontal{max-width:48rem;margin:0 auto}
.features-grid--horizontal__item{display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem 0}
@media(max-width:639px){
    .features-grid--horizontal__item{flex-direction:column;gap:0.75rem}
}

/* Features Grid — Numbered */
.features-grid--numbered__number{
    font-size:2.5rem;
    font-weight:800;
    opacity:0.3;
    line-height:1;
    margin-bottom:0.75rem;
    font-family:var(--theme-heading-font);
}

/* Testimonials — Single */
.testimonial--single{padding:2rem 0}

/* Testimonials — Minimal */
.testimonial--minimal__item{padding:1.5rem 0}
.testimonial--minimal__item+.testimonial--minimal__item{border-top:1px solid rgba(0,0,0,0.06)}

/* Pricing — Highlight */
.pricing--highlight .pricing-card{transition:transform 0.3s,box-shadow 0.3s,opacity 0.3s}

/* Pricing — Compact */
.pricing--compact table{font-size:0.9375rem}
.pricing--compact th,.pricing--compact td{padding:0.75rem 1rem}

/* Footer — Minimal */
.footer--minimal{padding:1.25rem 0}

/* Footer — Simple */
.footer--simple .footer__bottom{margin-top:2rem;padding-top:1.25rem}
@media(min-width:768px){
    .footer--simple>div>.grid,.footer--simple div[style*="grid-template-columns"]{grid-template-columns:1fr 1fr}
}

/* CTA — Split */
.cta--split .section__desc{margin-top:0.5rem}
@media(max-width:639px){
    .cta--split div[style*="display:flex"]{flex-direction:column;text-align:center}
}

/* CTA — Minimal */
.cta--minimal{background:transparent}
.cta--minimal .section__desc{margin-bottom:0.5rem}

/* FAQ — Two Column */
@media(min-width:768px){
    .faq--two-column{grid-template-columns:repeat(2,1fr)!important}
}

/* FAQ — Cards */
.faq--cards .card{transition:box-shadow 0.2s}
.faq--cards .card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.08)}

/* Team — List */
.team--list__item:last-child{border-bottom:none}

/* Team — Compact */
@media(min-width:640px){.team--compact{grid-template-columns:repeat(3,1fr)!important}}
@media(min-width:1024px){.team--compact{grid-template-columns:repeat(4,1fr)!important}}

/* Stats — Cards */
.stats--cards__item{transition:box-shadow 0.2s,transform 0.2s}
.stats--cards__item:hover{box-shadow:0 4px 12px rgba(0,0,0,0.08)}

/* Stats — Inline */
.stats--inline{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem}
@media(max-width:639px){
    .stats--inline{flex-direction:column}
    .stats--inline .stats--inline__divider{width:60%!important;height:1px!important}
}

/* ═══════════════════════════════════════════════════════════════
   Timeline
   ═══════════════════════════════════════════════════════════════ */
.timeline{position:relative;padding:2rem 0}
.timeline__line{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%)}
.timeline__item{position:relative;width:50%;padding:1rem 2rem;box-sizing:border-box}
.timeline__item--left{left:0;text-align:right;padding-right:3rem}
.timeline__item--right{left:50%;padding-left:3rem}
.timeline__dot{position:absolute;top:1.5rem;width:14px;height:14px;border-radius:50%;border:3px solid}
.timeline__item--left .timeline__dot{right:-7px}
.timeline__item--right .timeline__dot{left:-7px}
.timeline__date{display:inline-block;padding:0.25rem 0.75rem;border-radius:1rem;font-size:0.8125rem;font-weight:600;margin-bottom:0.5rem}
.timeline__title{font-size:1.125rem;font-weight:700;margin:0 0 0.5rem}
.timeline__desc{font-size:0.875rem;opacity:0.7;line-height:1.6;margin:0}
.timeline--compact .timeline__line{left:1rem}
.timeline--compact .timeline__item{width:100%;left:0;padding-left:3rem;text-align:left}
.timeline--compact .timeline__dot{left:0.4rem}
.timeline--horizontal{display:flex;gap:2rem;overflow-x:auto;padding-bottom:1rem;position:relative}
.timeline--horizontal::before{content:'';position:absolute;top:1rem;left:0;right:0;height:2px}
.timeline--horizontal .timeline__hitem{flex:0 0 220px;text-align:center;padding-top:2.5rem;position:relative}
.timeline--horizontal .timeline__hitem::before{content:'';position:absolute;top:0.5rem;left:50%;width:12px;height:12px;border-radius:50%;transform:translateX(-50%);border:3px solid}
@media(max-width:767px){.timeline__line{left:1rem}.timeline__item{width:100%;left:0!important;padding-left:3rem!important;padding-right:1rem!important;text-align:left!important}.timeline__item .timeline__dot{left:0.4rem!important;right:auto!important}}

/* ═══════════════════════════════════════════════════════════════
   Process Steps
   ═══════════════════════════════════════════════════════════════ */
.process-steps--horizontal{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;justify-content:center}
.process-steps__step{flex:1;min-width:160px;max-width:250px;text-align:center;position:relative}
.process-steps__number{width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;margin:0 auto 1rem;color:#fff}
.process-steps__connector{flex:0 0 2rem;display:flex;align-items:center;margin-top:1.5rem}
.process-steps__connector svg{width:100%;height:2px;stroke:currentColor;opacity:0.3}
.process-steps--vertical .process-steps__vitem{display:flex;gap:1.5rem;padding-bottom:2rem;position:relative}
.process-steps--vertical .process-steps__vline{position:absolute;left:1.5rem;top:3rem;bottom:0;width:2px;border-left:2px dashed;opacity:0.2}

/* ═══════════════════════════════════════════════════════════════
   Comparison Table
   ═══════════════════════════════════════════════════════════════ */
.comparison-table{width:100%;border-collapse:collapse;font-size:0.875rem}
.comparison-table th,.comparison-table td{padding:0.75rem 1rem;text-align:center}
.comparison-table th:first-child,.comparison-table td:first-child{text-align:left}
.comparison-table thead th{font-weight:700;border-bottom:2px solid rgba(0,0,0,0.1)}
.comparison-table tbody tr{border-bottom:1px solid rgba(0,0,0,0.06)}
.comparison-table--highlight .comparison-table__popular{position:relative}
.comparison-table--minimal th,.comparison-table--minimal td{border:none}
.comparison-table--minimal tbody tr{border-bottom:1px solid rgba(0,0,0,0.04)}

/* ═══════════════════════════════════════════════════════════════
   Countdown
   ═══════════════════════════════════════════════════════════════ */
.countdown__digits{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.countdown__digit-box{text-align:center;min-width:5rem}
.countdown__digit-value{font-size:2.5rem;font-weight:800;line-height:1}
.countdown__digit-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;opacity:0.6;margin-top:0.25rem}
@media(min-width:768px){.countdown__digit-value{font-size:3.5rem}}
.countdown--banner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}

/* ═══════════════════════════════════════════════════════════════
   Menu List
   ═══════════════════════════════════════════════════════════════ */
.menu-list__category{margin-bottom:2rem}
.menu-list__category-name{font-size:1.25rem;font-weight:700;margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:2px solid}
.menu-list__item{display:flex;align-items:baseline;gap:0.5rem;padding:0.75rem 0;border-bottom:1px dotted rgba(0,0,0,0.15)}
.menu-list__item-name{font-weight:600;white-space:nowrap}
.menu-list__item-dots{flex:1;border-bottom:1px dotted rgba(0,0,0,0.2);min-width:2rem;margin-bottom:0.25rem}
.menu-list__item-price{font-weight:700;white-space:nowrap}
.menu-list__item-desc{font-size:0.8125rem;opacity:0.6;margin-top:0.125rem}
.menu-list--cards .menu-list__item{flex-direction:column;border-bottom:none}
.menu-list--elegant .menu-list__category-name{text-align:center;border-bottom:none;font-style:italic}
.menu-list--elegant .menu-list__item{border-bottom:none;justify-content:center;flex-direction:column;text-align:center;padding:1rem 0}

/* ═══════════════════════════════════════════════════════════════
   Download App
   ═══════════════════════════════════════════════════════════════ */
.download-app__badges{display:flex;gap:1rem;flex-wrap:wrap}
.download-app__badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;border-radius:0.75rem;background:#000;color:#fff;text-decoration:none;font-size:0.875rem;font-weight:600;transition:opacity 0.2s}
.download-app__badge:hover{opacity:0.85}
.download-app__badge svg{width:1.25rem;height:1.25rem}
.download-app__phone{max-width:280px;border-radius:1.5rem;box-shadow:0 20px 40px rgba(0,0,0,0.15)}
.download-app--split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
@media(max-width:767px){.download-app--split{grid-template-columns:1fr}.download-app__phone{margin:0 auto}}

/* ═══════════════════════════════════════════════════════════════
   RTL Support
   ═══════════════════════════════════════════════════════════════ */
[dir="rtl"] .desktop-nav{direction:rtl}
[dir="rtl"] .footer__grid{direction:rtl}
[dir="rtl"] .pricing-card__feature{flex-direction:row-reverse;text-align:right}