html{scroll-padding-top:24px}
.features-section{background:#FFFFFF;padding:72px 5.2%;min-height:calc(100svh - 56px);display:flex;flex-direction:column;justify-content:center}
.features-heading{max-width:1320px;width:100%;text-align:center;margin:0 auto 64px}
.features-heading h2{font-size:clamp(34px,3vw,48px);line-height:1.25}
.features-heading>p{color:#353535;font-size:20px;line-height:1.6;margin-top:18px}
.feature-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:56px 48px;max-width:1320px;width:100%;margin:0 auto}
.voice-feature{flex:0 1 calc((100% - 96px)/3);min-width:min(100%,280px);max-width:420px;text-align:center;color:#353535}
.feature-icon{position:relative;isolation:isolate;display:grid;place-items:center;width:96px;height:96px;margin:0 auto;color:#3C6E71;border:1px solid #3C6E7138;border-radius:50%;background:linear-gradient(145deg,#FFFFFFED,#3C6E710A 65%,#FFFFFFC7);box-shadow:0 8px 14px #284B630A,inset 0 2px 3px #FFFFFF;backdrop-filter:blur(6px)}
.feature-icon::before{content:'';position:absolute;inset:5px 10px 49%;border-radius:50%;background:linear-gradient(#FFFFFFCC,#FFFFFF00);z-index:-1}
.feature-icon svg{display:block;width:46px;height:46px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform-box:view-box;transform-origin:center;overflow:visible}
.voice-feature h3{font-size:clamp(19px,1.5vw,23px);line-height:1.4;font-weight:500;letter-spacing:-.02em;margin:24px 0 12px}
.voice-feature p{font-size:18px;line-height:1.7;color:#353535;max-width:400px;margin:0 auto}
.voice-feature p span{display:block}
[dir=rtl] .voice-feature h3{letter-spacing:0;line-height:1.65}
[dir=rtl] .voice-feature p{line-height:1.9}
.feature-icon{transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .25s,color .25s}
.feature-icon::before{transition:transform .55s var(--ease),opacity .4s}
@media(hover:hover){
  .voice-feature:hover .feature-icon{border-color:#3C6E7180;color:#284B63;box-shadow:0 12px 22px #284B6314,inset 0 2px 3px #FFFFFF}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .voice-feature:hover .feature-icon{transform:translateY(-6px) scale(1.04)}
  .voice-feature:hover .feature-icon::before{transform:translate(4px,-3px) rotate(-12deg);opacity:.75}
  .voice-feature[data-feature=dialects]:hover .feature-icon svg{animation:feature-conversation .7s ease-out}
  .voice-feature[data-feature=fluency]:hover .feature-icon svg{animation:feature-wave .7s ease-in-out 2}
  .voice-feature[data-feature=channels]:hover .feature-icon svg{animation:feature-message .75s ease-out}
  .voice-feature[data-feature=systems]:hover .feature-icon svg path{stroke-dasharray:160;animation:feature-connect .8s ease-out}
  .voice-feature[data-feature=voices]:hover .feature-icon svg{animation:feature-voices .85s ease-out}
}
@keyframes feature-conversation{0%,100%{transform:rotate(0)}30%{transform:rotate(-3deg)}65%{transform:rotate(2deg)}}
@keyframes feature-wave{0%,100%{transform:scaleY(1)}35%{transform:scaleY(.72)}70%{transform:scaleY(1.15)}}
@keyframes feature-message{0%,100%{transform:translateY(0)}35%{transform:translateY(-4px)}65%{transform:translateY(1px)}}
@keyframes feature-connect{from{stroke-dashoffset:160}to{stroke-dashoffset:0}}
@keyframes feature-voices{0%,100%{transform:translateX(0);opacity:1}30%{transform:translateX(-3px);opacity:.65}65%{transform:translateX(3px);opacity:1}}
.approach-section{--wave-period:1400px;position:relative;isolation:isolate;display:block;padding:clamp(40px,6svh,64px) 5.2% 72px;min-height:0;overflow:hidden;background:#F7E7D7;color:#353535}
.process-stage{position:relative;z-index:1;top:auto;min-height:0;display:flex;flex-direction:column;gap:36px;padding:0}
.process-heading{text-align:center;max-width:920px;margin:0 auto}
.process-heading h2{font-size:clamp(30px,3vw,42px)}
.process-heading>p{font-size:18px;color:#353535;margin-top:18px}
.process-stack{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0;margin:0 auto;width:min(100%,1140px);direction:ltr}
.process-card{position:relative;min-width:0;min-height:208px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:28px 32px;border:1px solid #FFFFFFB3;border-radius:14px;background:#FFFFFFD9;color:var(--ink);margin:0;direction:ltr;box-shadow:inset 0 1px 0 #FFFFFFD9;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.process-card{background:linear-gradient(135deg,#FFFFFFB8,#FFFFFF66);backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1)}}
.process-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.process-number{font:500 18px/1.2 var(--heading);color:#3C6E71;font-variant-numeric:tabular-nums;flex:none}
.process-symbol{display:grid;place-items:center;width:44px;height:44px;color:#3C6E71;transition:color .3s,transform .4s var(--ease)}
.process-symbol svg{width:100%;height:100%;stroke-width:1.6;fill:none}
.process-card h3{font-size:clamp(22px,2vw,28px);letter-spacing:-.025em;line-height:1.3}
.process-card p{font-size:16px;color:#353535;line-height:1.6;margin-top:10px}
.process-waves{position:absolute;z-index:0;inset:100px 0 0;pointer-events:none;overflow:hidden;mask-image:linear-gradient(transparent,#000 24%,#000);-webkit-mask-image:linear-gradient(transparent,#000 24%,#000)}
.process-wave-track{position:absolute;inset:0 auto 0 0;width:calc(100% + var(--wave-period));background:url('/assets/process-waves.svg') repeat-x left bottom/var(--wave-period) 560px;animation:process-wave-flow 36s linear infinite;animation-play-state:paused;opacity:.72}
.approach-section[data-wave-running=true] .process-wave-track{animation-play-state:running;will-change:transform}
@keyframes process-wave-flow{to{transform:translateX(calc(-1 * var(--wave-period)))}}
.process-wave-toggle{position:absolute;z-index:2;right:24px;bottom:20px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #3C6E7166;border-radius:50%;background:#FFFFFFB3;color:#284B63;transition:background .25s}
.process-wave-toggle[hidden]{display:none}
.process-wave-toggle:hover{background:#FFFFFF}
.process-wave-toggle svg{width:18px;height:18px;stroke-width:1.8}
.wave-play,.process-wave-toggle[aria-pressed=true] .wave-pause{display:none}
.process-wave-toggle[aria-pressed=true] .wave-play{display:block}
@media(hover:hover){.process-card:hover{border-color:#FFFFFF;box-shadow:inset 0 1px 0 #FFFFFF,0 14px 28px #284B6317}.process-card:hover .process-symbol{color:#A35C40}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.process-card:hover{transform:translateY(-5px)}.process-card:hover .process-symbol{transform:translateY(-2px) rotate(-5deg)}}
.faq-list details{box-sizing:border-box}
.faq-list details[data-expanded=false] .faq-plus::after{transform:rotate(90deg)}
.faq-list details[data-expanded=true] .faq-plus::after{transform:rotate(0)}
.contact-section{padding:0;background:transparent;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;direction:ltr;overflow:visible;min-height:calc(100svh - 56px)}
.contact-copy{background:#3C6E71;border-radius:var(--radius);padding:60px 4.5vw;display:flex;flex-direction:column;justify-content:center;min-width:0;direction:ltr}
#contact-form{background:#F7E7D7;color:#353535;border-radius:var(--radius);padding:60px 4vw;display:flex;flex-direction:column;justify-content:center;min-width:0;direction:ltr}
[dir=rtl] .contact-copy,[dir=rtl] #contact-form{direction:rtl}
[dir=rtl] .process-card{direction:rtl}
[dir=rtl] .process-card{justify-content:flex-start}
[dir=rtl] .contact-section{direction:rtl}
/* Shared row tracks keep headings and descriptions aligned across each pair. */
@supports(grid-template-rows:subgrid){
 [dir=rtl] .process-card{display:grid;grid-row:span 3;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;row-gap:16px}
 [dir=rtl] .process-card>div:last-child{display:contents}
 [dir=rtl] .process-card p{margin-top:0}
}
[dir=rtl] .process-card h3{font-size:clamp(21px,1.8vw,26px);line-height:1.6;letter-spacing:0}
[dir=rtl] .process-card p{font-size:15px;line-height:1.8}
@media(max-width:1100px){.contact-copy{padding:48px 36px}#contact-form{padding:48px 32px}}
@media(max-width:760px){
 .approach-section{padding:32px 24px 68px}
 .process-stage{gap:24px}
 .process-heading h2{font-size:28px;line-height:1.3}
 .process-heading>p{font-size:16px;line-height:1.65;margin-top:14px}
 .process-stack{gap:16px}
 .process-card{min-height:158px;padding:18px;gap:14px}
 .process-symbol{width:32px;height:32px}
 .process-number{font-size:15px}
 .process-card h3{font-size:20px;line-height:1.35}
 .process-card p{font-size:14px;line-height:1.65;margin-top:8px}
 .process-waves{inset:80px 0 0}
 .process-wave-track{background-size:var(--wave-period) 480px}
 .process-wave-toggle{width:44px;height:44px;right:18px;bottom:12px}
 .contact-section{grid-template-columns:1fr;gap:12px;min-height:0}.contact-copy{display:block;padding:42px 28px}.contact-copy h2{max-width:500px}#contact-form{padding:38px 28px 24px}.contact-copy .contact-addresses{margin-top:30px}
 [dir=rtl] .process-card h3{font-size:19px;line-height:1.55}[dir=rtl] .process-card p{font-size:14px;line-height:1.7}
}
@media(max-width:360px){.approach-section{padding-inline:18px}.process-stack{gap:12px}.process-card{padding:14px;gap:12px}.process-card h3{font-size:17px}.process-card p{font-size:13px}.process-number{font-size:14px}[dir=rtl] .process-card h3{font-size:17px}[dir=rtl] .process-card p{font-size:13px}.contact-copy,#contact-form{padding-inline:24px}}
@media(prefers-reduced-motion:reduce){.process-wave-track{animation:none;transform:none}.process-wave-toggle{display:none}.process-card,.process-symbol{transition:none}}
@media(max-height:700px) and (min-width:761px){.approach-section{padding-block:32px 56px}.process-stage{gap:24px}.process-heading h2{font-size:34px}.process-heading>p{font-size:16px;margin-top:12px}.process-card{min-height:156px;padding:20px 24px;gap:14px}.process-symbol{width:32px;height:32px}.process-card h3{font-size:23px}.process-card p{font-size:15px;margin-top:8px}}

/* Let form fields use their available width at intermediate breakpoints. */
@media(min-width:851px) and (max-width:1100px){.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:850px){
 .contact-section{grid-template-columns:1fr;gap:12px;min-height:0}
 .contact-copy{display:block;padding:42px 28px}.contact-copy h2{max-width:500px}
 .contact-copy>p{margin-top:19px}
 .contact-copy .contact-addresses{margin-top:30px}
 .contact-addresses a{font-size:14px;min-height:32px;display:inline-flex;align-items:center;max-width:100%;overflow-wrap:anywhere}
 #contact-form{padding:38px 28px 24px}
}
@media(max-width:540px){
 .features-section{padding:48px 7%;min-height:0}.features-heading{margin-bottom:40px}
 .features-heading h2{font-size:32px}.features-heading>p{font-size:18px}
 .feature-grid{row-gap:40px}.voice-feature p{font-size:16px}
 [dir=rtl] .features-heading h2{font-size:29px;line-height:1.5}
 .form-bottom{flex-wrap:wrap}.form-bottom>p{flex:1 1 135px;max-width:none}
 .form-bottom .button{flex-shrink:0;margin-inline-start:auto}
}
@media(max-width:360px){.contact-copy,#contact-form{padding-inline:24px}}
