/* GHULYAN.AM — responsive developer services landing page */
:root { --bg:#f7f8f3; --ink:#171924; --muted:#6e7280; --purple:#6254ee; --accent:#dfff81; --stroke:#e2e3e0; --white:#fff; --font:Inter, "Noto Sans Armenian", "Segoe UI", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--font); -webkit-font-smoothing:antialiased; }
body:lang(hy) { font-family:"Noto Sans Armenian", "DejaVu Sans", Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid var(--purple); outline-offset:4px; }
::selection { color:#171924; background:#dfff81; }
.container { width:min(1240px, calc(100% - 96px)); margin-inline:auto; }
.site-shell { overflow:hidden; }
.skip { position:fixed; z-index:200; top:-90px; left:20px; padding:12px 18px; background:#fff; border:2px solid var(--ink); }
.skip:focus { top:15px; }
/* Header */
.header { background:rgba(247,248,243,.96); border-bottom:1px solid var(--stroke); position:relative; z-index:30; }
.header-inner { height:91px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.brand { display:flex; gap:12px; align-items:center; font-size:21px; font-weight:800; letter-spacing:-1px; white-space:nowrap; }
.brand-icon { display:grid; place-items:center; width:38px; height:38px; color:#fff; background:var(--purple); border-radius:12px; font-size:27px; line-height:1; font-weight:850; position:relative; padding-bottom:4px; }
.brand-icon-dot { color:var(--accent); margin-left:18px; position:absolute; bottom:6px; font-size:23px; }
.brand-period { color:var(--purple); }
.nav { display:flex; align-items:center; gap:36px; margin-left:auto; margin-right:16px; }
.nav a { font-size:13px; font-weight:650; color:#5e6370; transition:color .2s; white-space:nowrap; }
.nav a:hover { color:var(--purple); }
.header-right { display:flex; align-items:center; gap:21px; }
.locale-switch { display:flex; gap:3px; align-items:center; background:#ebede8; padding:4px; border-radius:9px; }
.locale-switch button { border:0; background:transparent; color:#868a95; padding:8px 9px; font-size:11px; font-weight:800; border-radius:6px; transition:background .2s,color .2s,box-shadow .2s; }
.locale-switch button.is-active { color:var(--ink); background:white; box-shadow:0 2px 7px rgba(15,20,40,.08); }
.header-cta { background:var(--ink); color:#fff; padding:14px 17px; border-radius:10px; font-size:12px; font-weight:700; white-space:nowrap; transition:background .2s,transform .2s; }
.header-cta:hover { background:var(--purple); transform:translateY(-2px); }
.header-cta span { padding-left:8px; }
/* Hero */
.hero { display:grid; grid-template-columns:1.03fr .97fr; align-items:center; min-height:675px; gap:30px; padding-top:66px; padding-bottom:72px; }
.hero-left { position:relative; z-index:3; padding-bottom:8px; }
.eyebrow { display:flex; align-items:center; gap:11px; font-size:10px; font-weight:850; letter-spacing:2px; color:var(--purple); white-space:nowrap; }
.eyebrow-square { width:8px; height:8px; background:var(--purple); border-radius:2px; }
.eyebrow-dash { height:1px; width:24px; background:#d5d7d5; }
.eyebrow-year { color:#96999d; font-weight:650; }
.hero h1 { font-size:clamp(53px,5.15vw,79px); line-height:1.11; font-weight:820; letter-spacing:-4px; margin:29px 0 23px; white-space:nowrap; }
.hero-accent { color:var(--purple); position:relative; }
.hero-accent::after { content:""; position:absolute; left:0; right:2px; bottom:-9px; height:8px; border-radius:50%; border-top:4px solid var(--accent); transform:rotate(-2deg); }
.hero-period { color:var(--purple); }
.hero-subtitle { color:#666c7a; font-size:16px; line-height:1.85; max-width:520px; margin:0; }
.hero-actions { display:flex; align-items:center; gap:25px; margin-top:29px; flex-wrap:wrap; }
.button { border:0; display:inline-flex; justify-content:center; align-items:center; min-height:53px; padding:14px 21px; border-radius:10px; font-size:13px; font-weight:750; transition:transform .2s, background .2s, box-shadow .2s; }
.button:hover { transform:translateY(-3px); }
.button-dark { background:var(--ink); color:#fff; box-shadow:0 12px 20px rgba(20,24,36,.08); }
.button-dark:hover { background:var(--purple); box-shadow:0 15px 27px rgba(98,84,238,.18); }
.button-arrow { background:#373947; width:27px; height:27px; border-radius:7px; display:grid; place-items:center; font-size:15px; margin-left:24px; }
.button-link { padding-left:0; padding-right:0; color:var(--ink); gap:13px; }
.button-link:hover { color:var(--purple); }
.hero-bottom { margin-top:54px; }
.hero-line { height:1px; background:var(--stroke); max-width:475px; }
.hero-highlights { display:flex; gap:34px; align-items:center; margin-top:21px; color:#777d88; font-size:11px; font-weight:600; }
.hero-highlights>div { display:flex; align-items:center; gap:10px; }
.mini-plus { color:var(--purple); font-size:15px; }
/* Illustration / original CSS mockup */
.hero-right { height:529px; min-width:0; position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; }
.hero-right:before { content:""; position:absolute; z-index:-2; width:90%; aspect-ratio:1; top:0; right:-10%; background:radial-gradient(circle at 42% 48%,rgba(146,138,250,.22),rgba(146,138,250,.085) 38%,transparent 69%); }
.stage-grid { position:absolute; z-index:-1; inset:10px -40px 0 -20px; opacity:.7; background-image:radial-gradient(#cfd0cf 1px, transparent 1px); background-size:21px 21px; mask-image:radial-gradient(ellipse at center,#000 12%,transparent 77%); }
.stage-flower { position:absolute; color:#ac9bff; font-size:73px; left:24px; top:11px; opacity:.65; animation:rotate 24s linear infinite; }
.browser-window { width:min(100%,510px); height:377px; border-radius:17px; overflow:hidden; background:#fff; border:1px solid rgba(18,22,46,.17); position:relative; z-index:3; transform:rotate(-3.2deg) translate(4px,-5px); box-shadow:0 35px 70px rgba(40,31,119,.21),0 15px 28px rgba(0,0,0,.065); }
.browser-shadow { width:440px; height:360px; border-radius:20px; background:var(--accent); position:absolute; left:11%; top:20%; transform:rotate(5deg); opacity:.8; }
.browser-top { background:#f9f9f9; height:42px; display:flex; align-items:center; padding:0 18px; gap:12px; border-bottom:1px solid #e6e6e7; }
.traffic-lights { display:flex; gap:6px; }
.traffic-lights i { display:block; width:7px; height:7px; border-radius:50%; background:#ff9c87; }
.traffic-lights i:nth-child(2) { background:#f4d66b; }
.traffic-lights i:nth-child(3) { background:#94d5a8; }
.browser-url { margin:auto; border-radius:5px; background:#f0f0f1; padding:4px 35px; color:#9296a1; font-size:9px; font-weight:600; }
.url-lock { color:#a0a7ae; font-size:6px; margin-right:4px; }
.browser-menu { font-size:12px; letter-spacing:1px; color:#aaa; }
.mock-site { background:#fffef7; height:calc(100% - 42px); padding:25px 31px; }
.mock-nav { display:flex; align-items:center; justify-content:space-between; }
.mock-nav strong { color:#23213e; font-size:20px; font-weight:850; letter-spacing:-1.3px; }
.mock-nav strong span { color:#6155e5; }
.mock-nav strong .mock-brand-dot { color:#ffa88c; }
.mock-nav>span { color:#444252; font-size:8px; letter-spacing:.2px; font-weight:750; }
.mock-nav>span b { font-size:13px; margin-left:4px; }
.mock-main { position:relative; margin-top:34px; height:225px; background:#ece6ff; border-radius:3px; padding:24px 28px; overflow:hidden; }
.mock-main::before { content:""; position:absolute; right:-41px; bottom:-118px; width:271px; height:271px; border:36px solid #5748d8; border-radius:50%; box-shadow:0 0 0 36px #ffd0b8, 0 0 0 66px #d8f197; }
.mock-main::after { content:"✳"; color:#ffd59d; position:absolute; font-size:89px; top:10px; right:26px; animation:rotate 19s linear infinite; }
.mock-label { font-size:7px; font-weight:900; letter-spacing:1.5px; color:#5d51a4; display:block; position:relative; z-index:2; }
.mock-main>strong { display:block; font-size:35px; line-height:1.06; letter-spacing:-1.3px; margin-top:14px; font-weight:900; color:#292441; position:relative; z-index:2; }
.mock-main>strong i { color:#5d4bd4; font-family:Georgia,serif; font-weight:500; }
.mock-main>strong>span { color:#7a70db; }
.mock-bottom { display:flex; justify-content:space-between; position:absolute; z-index:2; bottom:14px; left:27px; right:24px; color:#444259; font-size:7px; font-weight:800; letter-spacing:.5px; }
.floating-sticker { position:absolute; z-index:5; background:#fff; border:1px solid rgba(75,72,125,.09); border-radius:12px; display:flex; align-items:center; gap:12px; box-shadow:0 16px 38px rgba(50,49,81,.12); }
.sticker-one { bottom:46px; left:-16px; padding:13px 19px 13px 12px; transform:rotate(3deg); }
.sticker-icon { height:38px; width:38px; display:grid; place-items:center; background:#e9e6ff; color:var(--purple); border-radius:9px; font-size:22px; }
.sticker-one strong { display:block; font-size:12px; color:#2e2946; }
.sticker-one small { display:block; margin-top:4px; font-size:8px; letter-spacing:.85px; color:#9495a0; }
.sticker-two { right:-16px; top:60px; padding:12px 15px; transform:rotate(8deg); }
.sticker-two strong { font-size:11px; letter-spacing:-.2px; }
.sticker-spark { color:#ff9f77; font-size:23px; }
.stage-caption { position:absolute; bottom:4px; left:10%; right:8%; display:flex; justify-content:space-between; color:#9c9ca6; font-size:9px; font-weight:800; letter-spacing:1.8px; }
@keyframes rotate { to { transform:rotate(360deg); } }
/* Marquee */
.marquee { height:72px; display:flex; align-items:center; overflow:hidden; background:var(--purple); color:#fff; transform:rotate(-.7deg) scale(1.013); }
.marquee-track { display:flex; white-space:nowrap; width:max-content; animation:marquee 31s linear infinite; }
.marquee-track span { font-size:18px; font-weight:850; letter-spacing:1.8px; margin-right:48px; }
.marquee-track b { font-size:17px; font-weight:500; color:var(--accent); padding:0 35px; }
@keyframes marquee { to { transform:translateX(-50%); } }
/* Sections */
.services-section { padding-top:125px; padding-bottom:139px; }
.section-top { display:grid; grid-template-columns:.39fr 1fr; gap:50px; margin-bottom:51px; }
.section-kicker { display:flex; gap:17px; align-items:center; padding-top:18px; font-size:11px; font-weight:850; letter-spacing:1.7px; color:#777b87; white-space:nowrap; }
.kicker-index { color:var(--purple); letter-spacing:0; font-size:16px; }
.section-intro { display:grid; grid-template-columns:1.25fr .7fr; gap:28px; align-items:end; }
.section-intro h2, .approach-heading h2 { font-size:clamp(37px,3.8vw,57px); letter-spacing:-2.7px; line-height:1.13; margin:0; font-weight:830; }
.section-intro h2 em,.approach-heading h2 em { font-style:normal; color:var(--purple); }
.section-intro p { font-size:14px; line-height:1.85; color:var(--muted); max-width:300px; margin:0 0 4px; }
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.service-card { background:#fff; min-height:316px; border-radius:17px; padding:26px 28px 23px; border:1px solid #e7e8e5; position:relative; display:flex; flex-direction:column; justify-content:space-between; transition:transform .25s,box-shadow .25s; }
.service-card:hover { transform:translateY(-7px); box-shadow:0 22px 55px rgba(28,26,68,.08); }
.card-tint { background:#edebff; border-color:#e4e0ff; }
.card-head { display:flex; justify-content:space-between; align-items:start; }
.card-index { font-size:12px; font-weight:800; color:#9a9aa6; }
.service-icon { width:67px; height:67px; border-radius:16px; display:grid; place-items:center; background:#f0f0ff; color:var(--purple); }
.card-tint .service-icon { background:#fff; }
.service-icon svg { width:39px; height:39px; }
.service-card h3 { font-size:23px; line-height:1.2; letter-spacing:-.9px; margin:24px 0 11px; }
.service-card p { font-size:13px; line-height:1.83; color:#777984; max-width:275px; margin:0; padding-right:9px; }
.card-arrow { color:var(--purple); position:absolute; bottom:23px; right:27px; font-size:25px; }
/* Approach */
.approach-section { background:#1b1c29; color:white; position:relative; overflow:hidden; }
.approach-inner { position:relative; padding-top:105px; padding-bottom:116px; }
.section-kicker-light { color:#a6a8b7; padding-top:0; }
.section-kicker-light .kicker-index { color:var(--accent); }
.approach-heading { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-top:34px; margin-bottom:76px; }
.approach-heading h2 { font-size:clamp(38px,4vw,57px); }
.approach-heading h2 em { color:#a99dff; }
.approach-heading p { max-width:270px; margin:0 0 5px; font-size:14px; line-height:1.8; color:#a9abb9; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; }
.process-item { position:relative; z-index:2; }
.step-no { font-size:12px; font-weight:800; color:var(--accent); }
.step-line { margin-top:18px; display:block; width:100%; height:1px; background:rgba(255,255,255,.2); position:relative; }
.step-line:after { content:""; height:7px; width:7px; border-radius:100%; background:var(--accent); position:absolute; left:0; top:-3px; }
.process-item h3 { font-size:19px; letter-spacing:-.5px; margin:23px 0 10px; }
.process-item p { font-size:13px; line-height:1.85; color:#adb0c1; margin:0; max-width:250px; }
.approach-decor { position:absolute; z-index:0; top:-35px; right:-35px; font-size:240px; color:#2c2b42; line-height:1; pointer-events:none; }
/* Contact */
.contact-section { padding-top:124px; padding-bottom:124px; }
.contact-panel { border-radius:23px; background:#eae8ff; display:grid; grid-template-columns:1fr .86fr; gap:65px; padding:67px; overflow:hidden; position:relative; }
.contact-panel:before { content:""; position:absolute; border:1px solid rgba(104,90,235,.12); border-radius:50%; height:510px; width:510px; left:-240px; bottom:-330px; box-shadow:0 0 0 64px rgba(104,90,235,.025),0 0 0 128px rgba(104,90,235,.022); pointer-events:none; }
.contact-info { z-index:1; }
.contact-info .section-kicker { padding-top:0; }
.contact-info h2 { font-size:clamp(39px,4vw,58px); font-weight:840; line-height:1.15; letter-spacing:-2.9px; margin:37px 0 21px; }
.contact-info h2 em { font-style:normal; color:var(--purple); }
.contact-info>p { color:#686b81; line-height:1.85; max-width:400px; font-size:14px; margin:0; }
.direct-mail { margin-top:66px; }
.direct-caption { display:block; color:#86829b; font-weight:850; font-size:10px; letter-spacing:1.3px; margin-bottom:14px; }
.email-row { display:flex; align-items:center; gap:10px; }
.email-row a { font-size:clamp(18px,2.2vw,27px); font-weight:750; letter-spacing:-1px; border-bottom:2px solid var(--purple); padding-bottom:5px; overflow-wrap:anywhere; }
.email-row a:hover { color:var(--purple); }
.copy-btn { background:#fff; border:0; border-radius:10px; width:42px; height:42px; display:grid; place-items:center; color:var(--purple); }
.copy-btn svg { height:19px; width:19px; }
.copy-status { display:block; color:var(--purple); font-size:12px; min-height:18px; padding-top:9px; }
.contact-form { background:#fff; border-radius:17px; padding:33px 32px 30px; box-shadow:0 18px 35px rgba(71,62,135,.085); display:flex; flex-direction:column; z-index:1; }
.form-eyebrow { font-size:12px; font-weight:830; letter-spacing:1px; color:#313044; margin-bottom:27px; display:flex; align-items:center; justify-content:space-between; }
.form-eyebrow>span { color:var(--purple); font-size:22px; }
.contact-form label { font-size:12px; color:#393a4a; font-weight:750; margin:0 0 9px; }
.contact-form input,.contact-form textarea { width:100%; background:#f9f9fb; color:#262838; border:1px solid #e9eaf1; border-radius:9px; padding:14px 15px; margin-bottom:20px; font-size:13px; transition:border-color .2s,background .2s; }
.contact-form textarea { resize:vertical; min-height:104px; }
.contact-form input:focus,.contact-form textarea:focus { background:#fff; border-color:var(--purple); outline:2px solid rgba(98,84,238,.14); outline-offset:0; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#a8aab2; }
.submit-btn { width:100%; justify-content:space-between; padding-inline:19px; }
.submit-btn>span:last-child { font-size:18px; }
.form-note { color:#999ba5; font-size:10px; line-height:1.65; text-align:center; margin:13px 0 0; }
/* Footer */
.footer { border-top:1px solid var(--stroke); }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:35px; padding-bottom:35px; }
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-badge { background:var(--purple); color:#fff; border-radius:9px; width:34px; height:34px; display:grid; place-items:center; font-weight:850; font-size:19px; }
.footer-brand strong { display:block; font-size:14px; letter-spacing:-.35px; }
.footer-brand small { display:block; margin-top:5px; color:#9699a1; font-size:11px; }
.footer-right { display:flex; align-items:center; gap:34px; color:#878995; font-size:10px; font-weight:800; letter-spacing:.5px; }
.footer-right a { color:#474957; text-transform:none; }
.footer-right a:hover { color:var(--purple); }
/* Language-specific sizing */
html[lang="hy"] .eyebrow { letter-spacing:.65px; font-size:10px; }
html[lang="hy"] .hero h1 { letter-spacing:-2.5px; font-size:clamp(46px,4.6vw,67px); }
html[lang="hy"] .hero-subtitle { font-size:15px; }
html[lang="hy"] .section-intro h2,html[lang="hy"] .approach-heading h2 { letter-spacing:-1.5px; font-size:clamp(32px,3.55vw,51px); }
html[lang="hy"] .contact-info h2 { font-size:clamp(35px,3.65vw,52px); letter-spacing:-1.6px; }
html[lang="hy"] .service-card h3 { font-size:21px; }
html[lang="hy"] .nav { gap:22px; }
html[lang="hy"] .nav a { font-size:12px; }
/* Responsive */
@media (max-width:1150px){
 .container { width:min(100% - 64px,1080px); }
 .nav { gap:20px; margin-right:0; }
 .header-inner { gap:16px; }
 .header-right { gap:10px; }
 .header-cta { display:none; }
 .hero { gap:10px; }
 .hero h1 { font-size:clamp(52px,5.35vw,68px); }
 .hero-right { transform:scale(.92); transform-origin:center right; }
 .browser-window { width:500px; max-width:100%; }
 .contact-panel { gap:38px; padding:50px; }
}
@media (max-width:820px){
 .container { width:calc(100% - 44px); }
 .header-inner { height:74px; }
 .nav { display:none; }
 .header-cta { display:inline-flex; padding:12px 13px; }
 .hero { grid-template-columns:1fr; padding-top:62px; padding-bottom:67px; min-height:0; }
 .hero-left { max-width:690px; }
 .hero h1 { font-size:clamp(53px,8vw,72px); }
 html[lang="hy"] .hero h1 { font-size:clamp(44px,7vw,64px); }
 .hero-subtitle { max-width:600px; }
 .hero-bottom { margin-top:37px; }
 .hero-right { margin:25px auto -7px; width:min(100%,610px); height:455px; transform:none; }
 .browser-window { width:min(100%,500px); }
 .browser-shadow { left:12%; }
 .services-section { padding-top:92px; padding-bottom:97px; }
 .section-top { grid-template-columns:1fr; gap:22px; }
 .section-kicker { padding-top:0; }
 .section-intro { grid-template-columns:1fr .7fr; }
 .services-grid { gap:12px; }
 .service-card { padding:22px 20px; min-height:300px; }
 .service-card h3 { font-size:19px; }
 .contact-panel { grid-template-columns:1fr; }
 .direct-mail { margin-top:35px; }
 .contact-info h2 { margin-top:24px; }
 .contact-form { max-width:100%; }
}
@media (max-width:600px){
 .container { width:calc(100% - 36px); }
 .header-inner { height:70px; }
 .brand { font-size:17px; gap:8px; }
 .brand-icon { width:32px; height:32px; font-size:22px; border-radius:9px; }
 .brand-icon-dot { font-size:19px; bottom:5px; margin-left:16px; }
 .header-cta { display:none; }
 .locale-switch button { padding:7px 8px; font-size:10px; }
 .hero { padding-top:53px; padding-bottom:56px; }
 .eyebrow { font-size:9px; letter-spacing:1.1px; }
 .hero h1 { font-size:clamp(39px,9.15vw,57px); line-height:1.15; letter-spacing:-2.7px; margin-top:22px; }
 html[lang="hy"] .hero h1 { font-size:clamp(29px,7.8vw,43px); letter-spacing:-1.1px; }
 .hero-subtitle { font-size:14px; line-height:1.82; }
 .hero-actions { gap:20px; margin-top:25px; }
 .button { min-height:49px; font-size:12px; }
 .button-arrow { margin-left:12px; }
 .hero-bottom { margin-top:30px; }
 .hero-highlights { gap:14px; flex-wrap:wrap; font-size:10px; }
 .hero-right { height:335px; margin:13px auto 0; }
 .browser-window { width:calc(100% - 26px); height:280px; transform:rotate(-3deg); }
 .browser-shadow { width:80%; height:77%; left:11%; top:14%; }
 .browser-top { height:33px; padding:0 11px; }
 .traffic-lights { gap:4px; }
 .traffic-lights i { width:5px; height:5px; }
 .browser-url { font-size:7px; padding:3px 15px; }
 .mock-site { height:calc(100% - 33px); padding:16px 18px; }
 .mock-nav strong { font-size:15px; }
 .mock-nav>span { font-size:5.8px; }
 .mock-nav>span b { font-size:9px; }
 .mock-main { margin-top:24px; height:177px; padding:17px; }
 .mock-label { font-size:5px; }
 .mock-main>strong { font-size:clamp(22px,6vw,30px); margin-top:13px; }
 .mock-main::before { width:180px; height:180px; border-width:26px; right:-39px; bottom:-90px; box-shadow:0 0 0 24px #ffd0b8,0 0 0 48px #d8f197; }
 .mock-main::after { font-size:52px; right:14px; }
 .mock-bottom { bottom:12px; left:16px; right:16px; font-size:5px; }
 .sticker-one { padding:8px 10px 8px 8px; left:-3px; bottom:13px; gap:8px; }
 .sticker-one strong { font-size:9px; }
 .sticker-one small { font-size:6px; }
 .sticker-icon { width:28px; height:28px; font-size:16px; }
 .sticker-two { top:14px; right:-1px; padding:8px 10px; gap:6px; }
 .sticker-two strong { font-size:9px; }
 .sticker-spark { font-size:16px; }
 .stage-flower { font-size:43px; top:0; }
 .stage-caption { display:none; }
 .marquee { height:54px; }
 .marquee-track span { font-size:12px; }
 .marquee-track b { padding-inline:16px; }
 .services-section { padding-top:75px; padding-bottom:75px; }
 .section-top { margin-bottom:29px; }
 .section-intro { grid-template-columns:1fr; gap:14px; }
 .section-intro h2 { font-size:clamp(32px,8.5vw,44px); letter-spacing:-1.7px; }
 html[lang="hy"] .section-intro h2 { font-size:clamp(29px,7.5vw,40px); }
 .section-intro p { max-width:400px; }
 .services-grid { grid-template-columns:1fr; }
 .service-card { min-height:206px; padding:22px 24px; }
 .service-card h3 { margin:18px 0 8px; font-size:21px; }
 .service-card p { max-width:340px; }
 .service-icon { width:53px; height:53px; }
 .service-icon svg { width:32px; height:32px; }
 .approach-inner { padding-top:75px; padding-bottom:84px; }
 .approach-heading { display:block; margin-top:24px; margin-bottom:35px; }
 .approach-heading h2 { font-size:clamp(33px,8.2vw,44px); letter-spacing:-1.6px; }
 html[lang="hy"] .approach-heading h2 { font-size:clamp(28px,7vw,39px); }
 .approach-heading p { margin-top:21px; }
 .process-grid { grid-template-columns:1fr; gap:31px; }
 .process-item h3 { margin-top:16px; margin-bottom:7px; }
 .step-line { margin-top:12px; }
 .approach-decor { font-size:170px; right:-70px; top:-30px; }
 .contact-section { padding-top:68px; padding-bottom:74px; }
 .contact-panel { border-radius:17px; padding:27px 21px; gap:25px; }
 .contact-info h2 { font-size:clamp(34px,8.3vw,46px); letter-spacing:-2px; }
 html[lang="hy"] .contact-info h2 { font-size:clamp(30px,7vw,42px); letter-spacing:-1px; }
 .contact-info>p { font-size:13px; }
 .direct-mail { margin-top:28px; }
 .email-row a { font-size:20px; }
 .contact-form { padding:24px 19px; }
 .footer-inner { align-items:flex-start; padding-top:27px; padding-bottom:29px; }
 .footer-right { gap:12px; flex-direction:column-reverse; align-items:flex-end; }
 .footer-brand small { max-width:165px; line-height:1.5; }
}
@media (max-width:370px){
 .hero h1 { font-size:35px; }
 html[lang="hy"] .hero h1 { font-size:28px; }
 .eyebrow { gap:7px; font-size:8px; }
 .hero-actions { gap:9px; }
 .button-link { font-size:11px; }
 .email-row a { font-size:18px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }
