/* ================================================================
   Gersi. — Main stylesheet
   Hebrew RTL · Dark + Pink · Editorial
   ================================================================ */

/* === 1. RESET ==================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;font-family:var(--f-he),system-ui,-apple-system,Segoe UI,sans-serif;color:var(--c-black);background:var(--c-white);direction:rtl;line-height:1.5;overflow-x:hidden}
img,svg,video{max-width:100%;display:block;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5,h6,p,figure{margin:0}
input,textarea,select{font:inherit;color:inherit}
::selection{background:var(--c-pink);color:var(--c-white)}

/* === 2. TOKENS =================================================== */
:root{
	--c-black:#111111;
	--c-black-soft:#1a1a1a;
	--c-white:#FFFFFF;
	--c-pink:#FF2C79;
	--c-pink-dim:rgba(255,44,121,.12);
	--c-gray:#EFEFEF;
	--c-gray-mid:#D4D4D4;
	--c-gray-dark:#8C8C8C;
	--c-gray-ink:#3a3a3a;
	--f-he:'Heebo','Rubik',system-ui,sans-serif;
	--f-en:'Poppins','Heebo',sans-serif;
	--container:1280px;
	--container-narrow:840px;
	--radius:14px;
	--radius-lg:28px;
	--header-h:84px;
	--ease:cubic-bezier(.22,1,.36,1);
	--shadow-card:0 10px 30px -10px rgba(17,17,17,.16);
}

/* === 3. UTILITIES ================================================ */
.container{max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,4vw,48px);width:100%}
.container--narrow{max-width:var(--container-narrow)}
.section{padding-block:clamp(60px,9vw,120px)}
.section--dark{background:var(--c-black);color:var(--c-white)}
.section--gray{background:var(--c-gray)}
.section--center{text-align:center}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip-link{position:absolute;inset-inline-start:0;top:-100px;background:var(--c-pink);color:var(--c-white);padding:10px 16px;z-index:9999}
.skip-link:focus{top:0}
.muted{color:var(--c-gray-dark)}
.center{text-align:center}
.text-pink{color:var(--c-pink)}
.dot-accent{display:inline-block;width:.18em;height:.18em;background:var(--c-pink);border-radius:0 0 0 999px;margin-inline-start:.04em;vertical-align:baseline;transform:translateY(.02em)}
.dot-accent--lg{width:14px;height:14px;border-radius:0 0 0 999px}
[hidden]{display:none!important}

/* === 4. TYPOGRAPHY =============================================== */
.eyebrow{font-family:var(--f-en);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:var(--c-gray-dark);margin:0 0 18px}
.eyebrow--pink{color:var(--c-pink)}
.section--dark .eyebrow{color:rgba(255,255,255,.55)}
.lead{font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:var(--c-gray-ink);max-width:62ch}
.section--dark .lead{color:rgba(255,255,255,.78)}

.display-1{
	font-family:var(--f-he);
	font-weight:800;
	font-size:clamp(44px,8vw,128px);
	line-height:.92;
	letter-spacing:-0.03em;
	margin-block:0 24px;
}
.display-2{
	font-family:var(--f-he);
	font-weight:800;
	font-size:clamp(34px,5.4vw,72px);
	line-height:1;
	letter-spacing:-0.025em;
}
.display-3{
	font-family:var(--f-he);
	font-weight:700;
	font-size:clamp(26px,3.4vw,46px);
	line-height:1.08;
	letter-spacing:-0.02em;
}
h1,h2,h3{font-family:var(--f-he)}
p{max-width:64ch}

.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--c-black);border-bottom:2px solid transparent;padding-bottom:2px;transition:border-color .25s var(--ease),color .25s var(--ease)}
.link-arrow:hover{border-color:var(--c-pink);color:var(--c-pink)}
.section--dark .link-arrow{color:var(--c-white)}

/* === 5. LOGO ===================================================== */
.gersi-logo{display:inline-flex;align-items:flex-end;font-family:var(--f-en);font-weight:800;font-size:34px;line-height:1;letter-spacing:-.04em;direction:ltr}
.gersi-logo__word{display:inline-block}
.gersi-logo__dot{display:inline-block;width:.22em;height:.22em;background:var(--c-pink);margin-inline-start:.05em;border-radius:0 0 0 999px;transform:translateY(.02em)}
.gersi-logo[data-variant="dark"] .gersi-logo__word{color:var(--c-black)}

/* === 6. BUTTONS ================================================== */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:14px 26px;border-radius:999px;font-weight:600;font-size:15px;
	transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
	border:1.5px solid transparent;white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--c-pink);color:var(--c-white)}
.btn--primary:hover{background:var(--c-black);color:var(--c-white)}
.btn--ghost{border-color:rgba(255,255,255,.35);color:var(--c-white)}
.btn--ghost:hover{background:var(--c-white);color:var(--c-black);border-color:var(--c-white)}
.btn--ghost-dark{border-color:rgba(17,17,17,.2);color:var(--c-black)}
.btn--ghost-dark:hover{background:var(--c-black);color:var(--c-white);border-color:var(--c-black)}
.btn--white{background:var(--c-white);color:var(--c-black)}
.btn--white:hover{background:var(--c-pink);color:var(--c-white)}

/* === 7. HEADER =================================================== */
.site-header{position:fixed;inset-block-start:0;inset-inline:0;z-index:50;padding:18px 0;mix-blend-mode:difference;color:#fff;transition:padding .3s var(--ease),background .3s var(--ease)}
.site-header.is-scrolled{padding:12px 0;mix-blend-mode:normal;background:rgba(17,17,17,.78);backdrop-filter:blur(12px)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.site-header__logo{display:inline-flex;align-items:center}
.site-header.is-scrolled .gersi-logo__word{color:#fff}

.burger{width:48px;height:48px;display:inline-flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;padding:0 12px;border:1.5px solid currentColor;border-radius:12px;transition:transform .25s var(--ease)}
.burger:hover{transform:scale(1.05)}
.burger__line{display:block;height:1.5px;background:currentColor;width:22px;transition:transform .3s var(--ease),width .3s var(--ease)}
.burger__line:nth-child(2){width:14px}
body.menu-open .burger{opacity:0;pointer-events:none}

/* push content under fixed header */
.site-main{padding-block-start:var(--header-h)}

/* === 8. MENU OVERLAY ============================================= */
.menu-overlay{
	position:fixed;inset:0;background:var(--c-pink);color:var(--c-white);z-index:100;
	padding:clamp(24px,5vw,48px);
	display:flex;flex-direction:column;
	transform:translateY(-100%);transition:transform .55s var(--ease);
	pointer-events:none;
}
body.menu-open .menu-overlay{transform:translateY(0);pointer-events:auto}
.menu-overlay[aria-hidden="false"]{}
.menu-overlay__head{display:flex;align-items:center;justify-content:space-between}
.menu-overlay__close{width:48px;height:48px;border:1.5px solid #fff;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.menu-overlay__close:hover{background:#fff;color:var(--c-pink)}
.menu-overlay__nav{flex:1;display:flex;align-items:center;justify-content:flex-end;padding-block:clamp(20px,5vw,60px)}
.menu-overlay__list{width:100%;max-width:980px;margin-inline-start:auto;display:flex;flex-direction:column;gap:0}
.menu-overlay__item{border-bottom:1px solid rgba(255,255,255,.45)}
.menu-overlay__item:first-child{border-top:1px solid rgba(255,255,255,.45)}
.menu-overlay__item > a,
.menu-overlay__toggle{
	display:flex;align-items:center;justify-content:space-between;width:100%;
	padding:clamp(18px,3vw,30px) 4px;
	font-family:var(--f-he);font-weight:700;font-size:clamp(32px,5vw,68px);line-height:1;
	letter-spacing:-0.03em;color:#fff;
	transition:padding-inline-end .35s var(--ease),color .35s var(--ease);
}
.menu-overlay__item > a:hover,.menu-overlay__toggle:hover{padding-inline-end:24px}
.menu-overlay__toggle svg{transition:transform .35s var(--ease)}
.menu-overlay__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.menu-overlay__sub{
	max-height:0;overflow:hidden;transition:max-height .45s var(--ease);
	display:flex;flex-direction:column;gap:6px;padding-block:0;
}
.menu-overlay__sub.is-open{max-height:600px;padding-block:8px 24px}
.menu-overlay__sub a{display:block;padding:8px 0;font-size:clamp(16px,1.6vw,20px);font-weight:500;color:rgba(255,255,255,.92)}
.menu-overlay__sub a:hover{color:#fff;padding-inline-start:10px}
.menu-overlay__sub-all{font-weight:700;text-decoration:underline}

/* === 9. WHATSAPP FLOATER ========================================= */
.wa-floater{
	position:fixed;inset-block-end:24px;inset-inline-start:24px;z-index:60;
	width:88px;height:88px;display:inline-flex;align-items:center;justify-content:center;
	color:var(--c-black);
}
.wa-floater__ring{position:absolute;inset:0;animation:wa-spin 14s linear infinite}
@keyframes wa-spin{to{transform:rotate(-360deg)}}
.wa-floater__text{font-family:var(--f-en);font-size:11px;font-weight:600;letter-spacing:.15em;fill:#fff;text-transform:uppercase}
.wa-floater__icon{
	width:44px;height:44px;border-radius:50%;background:#fff;
	display:inline-flex;align-items:center;justify-content:center;
	box-shadow:0 6px 20px rgba(0,0,0,.18);
	color:#25D366;
	z-index:1;
	transition:transform .3s var(--ease);
}
.wa-floater:hover .wa-floater__icon{transform:scale(1.1)}

/* === 10. PINK TICKER ============================================= */
.ticker{background:var(--c-pink);color:#fff;overflow:hidden;padding:14px 0;border-block:1px solid rgba(255,255,255,.15)}
.ticker__track{display:flex;width:max-content;animation:ticker-scroll 38s linear infinite;direction:ltr}
.ticker__group{display:flex;align-items:center;gap:36px;padding-inline:18px}
.ticker__item{font-family:var(--f-he);font-weight:600;font-size:16px;letter-spacing:.01em;white-space:nowrap;direction:rtl}
.ticker__dot{font-size:10px;opacity:.85}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-33.333%)}}

/* === 11. FOOTER ================================================== */
.site-footer{background:var(--c-black);color:var(--c-white);padding:clamp(56px,8vw,96px) 0 28px;position:relative}
.site-footer__container{max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.site-footer__top{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}

.site-footer__h{font-family:var(--f-en);font-weight:800;font-size:clamp(56px,12vw,180px);line-height:.85;letter-spacing:-.04em;display:flex;flex-direction:column;gap:0;direction:ltr;color:#fff}
.site-footer__h span{display:block}
.site-footer__h-dot{display:inline;color:var(--c-pink);font-size:.2em;vertical-align:baseline}

.site-footer__form{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.site-footer__field{display:flex;flex-direction:column}
.site-footer__field--full{grid-column:1 / -1}
.site-footer__field label{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.55);margin-bottom:8px;font-family:var(--f-en);font-weight:600}
.site-footer__field input{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.32);color:#fff;padding:8px 0 12px;font-size:16px;transition:border-color .25s}
.site-footer__field input:focus{outline:0;border-color:var(--c-pink)}
.site-footer__submit{grid-column:1 / -1;justify-self:start;margin-top:12px;background:transparent;border:1.5px solid #fff;color:#fff;padding:14px 28px;border-radius:999px;font-weight:600;transition:background .25s,color .25s}
.site-footer__submit:hover{background:var(--c-pink);border-color:var(--c-pink)}

.site-footer__divider{height:1px;background:rgba(255,255,255,.14);margin-block:clamp(48px,7vw,80px) 40px}

.site-footer__bottom{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:flex-start}
.site-footer__brand .gersi-logo{font-size:54px}
.site-footer__tagline{margin-top:14px;color:rgba(255,255,255,.6);font-size:14px}

.site-footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.site-footer__col h4{font-family:var(--f-en);text-transform:uppercase;font-size:12px;letter-spacing:.18em;color:var(--c-pink);margin-bottom:14px;font-weight:700}
.site-footer__col ul{display:flex;flex-direction:column;gap:8px}
.site-footer__col a{color:rgba(255,255,255,.78);transition:color .2s}
.site-footer__col a:hover{color:#fff}

.site-footer__legal{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:rgba(255,255,255,.5);font-family:var(--f-en);letter-spacing:.04em}

/* === 12. SECTION HEAD ============================================ */
.section__head{display:flex;flex-direction:column;gap:8px;margin-bottom:clamp(36px,5vw,64px)}
.section__cta{margin-top:48px;display:flex;justify-content:center}

/* === 13. CARDS =================================================== */
.card{display:block;border-radius:var(--radius-lg);overflow:hidden;background:var(--c-white);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}

/* service card */
.card--service{position:relative;background:var(--c-gray);padding:32px;display:flex;flex-direction:column;justify-content:space-between;min-height:240px;border-radius:var(--radius-lg);overflow:hidden}
.card--service:hover{background:var(--c-black);color:var(--c-white)}
.card--service:hover .card--service__arrow{background:var(--c-pink);color:#fff;transform:rotate(0deg)}
.card--service__icon{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;color:var(--c-pink)}
.card--service__icon svg{width:42px;height:42px}
.card--service__title{font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.1;margin-bottom:8px;letter-spacing:-0.02em}
.card--service__tag{font-size:15px;color:var(--c-gray-dark);max-width:38ch}
.card--service:hover .card--service__tag{color:rgba(255,255,255,.75)}
.card--service__arrow{position:absolute;inset-block-start:24px;inset-inline-end:24px;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--c-black);display:inline-flex;align-items:center;justify-content:center;font-size:18px;transition:all .3s var(--ease);transform:rotate(-25deg)}

/* project card */
.card--project{background:transparent;display:flex;flex-direction:column;gap:14px;border-radius:0}
.card--project:hover{transform:translateY(-6px);box-shadow:none}
.card--project__media{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius)}
.card--project__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card--project:hover .card--project__media img{transform:scale(1.06)}
.card--project__placeholder{position:absolute;inset:0;background:linear-gradient(135deg,var(--c-gray) 0%,var(--c-gray-mid) 100%)}
.card--project__chip{position:absolute;inset-block-start:14px;inset-inline-end:14px;background:var(--c-pink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.card--project__meta{display:flex;flex-direction:column;gap:2px;padding-inline:4px}
.card--project__title{font-size:18px;font-weight:600}
.card--project__client{font-size:13px;color:var(--c-gray-dark)}
.section--dark .card--project__title{color:#fff}
.section--dark .card--project__client{color:rgba(255,255,255,.65)}

/* post card */
.card--post{}
.card--post__link{display:flex;flex-direction:column;gap:16px}
.card--post__media{aspect-ratio:5/4;overflow:hidden;border-radius:var(--radius);background:var(--c-gray)}
.card--post__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card--post:hover .card--post__media img{transform:scale(1.05)}
.card--post__placeholder{height:100%;background:linear-gradient(135deg,var(--c-gray),var(--c-gray-mid))}
.card--post__body{display:flex;flex-direction:column;gap:8px}
.card--post__meta{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--c-gray-dark);font-family:var(--f-en);letter-spacing:.05em}
.card--post__cat{background:var(--c-pink);color:#fff;padding:4px 10px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.card--post__title{font-size:clamp(18px,1.6vw,22px);font-weight:700;line-height:1.25;letter-spacing:-0.02em}
.card--post__excerpt{font-size:14px;color:var(--c-gray-ink);line-height:1.55}
.card--post__more{font-size:13px;font-weight:600;color:var(--c-pink);margin-top:4px}

/* === 14. GRIDS =================================================== */
.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:36px 28px}
.projects-grid--archive{grid-template-columns:repeat(3,1fr)}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}

/* === 15. HOMEPAGE ================================================ */
.home-hero{
	position:relative;background:var(--c-black);color:#fff;
	padding:clamp(120px,18vw,200px) 0 0;overflow:hidden;
}
.home-hero__inner{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;min-height:60vh}
.home-hero__copy{position:relative;z-index:2}
.home-hero .display-1{color:#fff}
.home-hero .lead{color:rgba(255,255,255,.75);margin-block:24px 32px}
.home-hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.home-hero__visual{position:relative;aspect-ratio:1;min-height:340px}
.home-hero__blob{
	position:absolute;inset:0;
	background:radial-gradient(circle at 30% 30%,var(--c-pink) 0%,transparent 55%),radial-gradient(circle at 70% 60%,rgba(255,44,121,.4) 0%,transparent 50%);
	filter:blur(40px);
	animation:blob 9s ease-in-out infinite alternate;
}
@keyframes blob{from{transform:translate(-4%,4%) scale(1)}to{transform:translate(6%,-6%) scale(1.08)}}
.home-hero__strip{margin-top:clamp(40px,7vw,80px);display:flex;gap:24px;overflow:hidden;padding-block:18px;border-block:1px solid rgba(255,255,255,.1);font-family:var(--f-en);font-size:14px;letter-spacing:.2em;font-weight:600;color:rgba(255,255,255,.5);text-transform:uppercase;direction:ltr;white-space:nowrap;animation:ticker-scroll 32s linear infinite;width:max-content}
.home-hero__strip span{display:inline-block}

.home-intro__grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}
.home-intro__body p{margin-block:22px;color:var(--c-gray-ink);font-size:18px}

.home-stats{background:var(--c-gray);padding-block:80px}
.home-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.home-stats__cell{display:flex;flex-direction:column;gap:6px}
.home-stats__num{font-family:var(--f-en);font-weight:800;font-size:clamp(40px,5vw,76px);color:var(--c-pink);line-height:1;letter-spacing:-0.04em}
.home-stats__label{font-size:14px;color:var(--c-gray-dark);text-transform:uppercase;letter-spacing:.12em;font-family:var(--f-en);font-weight:600}

/* === 16. ABOUT =================================================== */
.about-hero{padding-block:clamp(80px,12vw,160px) 30px;text-align:center}
.about-image__frame{aspect-ratio:21/9;border-radius:var(--radius-lg);overflow:hidden;background:var(--c-gray)}
.about-image__frame img{width:100%;height:100%;object-fit:cover}
.about-image__placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--c-gray),var(--c-gray-mid));color:var(--c-gray-dark)}
.about-stats__row{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;text-align:center;padding-block:24px}
.about-stats__cell{display:flex;flex-direction:column;gap:6px;border-inline-end:1px solid var(--c-gray);padding-inline:12px}
.about-stats__cell:last-child{border-inline-end:0}
.about-stats__n{font-family:var(--f-en);font-weight:800;font-size:clamp(38px,4vw,64px);color:var(--c-pink);line-height:1}
.about-stats__cell span:last-child{color:var(--c-gray-dark);font-size:14px;letter-spacing:.06em;font-family:var(--f-en);text-transform:uppercase}
.about-body__grid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}
.about-body__text p{margin-bottom:18px;font-size:17px;line-height:1.7;color:var(--c-gray-ink)}
.about-mission__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}

.logo-marquee{overflow:hidden;padding-block:24px;border-block:1px solid var(--c-gray)}
.logo-marquee__track{display:flex;gap:60px;animation:ticker-scroll 28s linear infinite;width:max-content;direction:ltr}
.logo-marquee__item{font-family:var(--f-en);font-weight:700;font-size:clamp(20px,2.4vw,32px);color:var(--c-gray-dark);letter-spacing:-0.02em;white-space:nowrap}

/* === 17. SERVICES LOBBY ========================================== */
.services-lobby__hero{padding-block:clamp(80px,12vw,160px) 30px;text-align:center}
.services-lobby__media{padding-bottom:60px}
.services-lobby__media-inner{aspect-ratio:21/9;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--c-gray),var(--c-gray-mid));display:flex;align-items:center;justify-content:center;color:var(--c-gray-dark)}

.service-row{display:flex;flex-direction:column;border-top:1px solid var(--c-gray)}
.service-row__item{border-bottom:1px solid var(--c-gray)}
.service-row__link{display:grid;grid-template-columns:80px 1fr auto 40px;align-items:center;gap:32px;padding:32px 0;transition:padding .35s var(--ease),color .3s var(--ease)}
.service-row__link:hover{padding-inline:16px;color:var(--c-pink)}
.service-row__num{font-family:var(--f-en);font-weight:600;color:var(--c-gray-dark);font-size:14px;letter-spacing:.08em}
.service-row__title{font-family:var(--f-he);font-weight:700;font-size:clamp(26px,3.2vw,46px);line-height:1.05;letter-spacing:-0.025em}
.service-row__tag{color:var(--c-gray-dark);font-size:15px;max-width:36ch;text-align:start}
.service-row__arrow{font-size:24px;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--c-gray);transition:background .3s,color .3s}
.service-row__link:hover .service-row__arrow{background:var(--c-pink);color:#fff}

/* === 18. SERVICE SINGLE ========================================== */
.service-single__hero{padding-block:clamp(80px,12vw,160px) 24px}
.breadcrumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--c-gray-dark);font-family:var(--f-en);letter-spacing:.04em;margin-bottom:24px}
.breadcrumbs a:hover{color:var(--c-pink)}
.breadcrumbs .current{color:var(--c-black)}
.service-single__placeholder{aspect-ratio:21/9;background:linear-gradient(135deg,var(--c-gray),var(--c-gray-mid));border-radius:var(--radius-lg)}
.service-single__media img{aspect-ratio:21/9;width:100%;object-fit:cover;border-radius:var(--radius-lg)}
.service-single__grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}
.service-single__icon{display:inline-flex;width:80px;height:80px;background:var(--c-pink-dim);border-radius:50%;align-items:center;justify-content:center;color:var(--c-pink);margin-top:24px}
.service-single__icon svg{width:48px;height:48px}
.service-single__copy{font-size:17px;line-height:1.75;color:var(--c-gray-ink)}
.service-single__copy p{margin-bottom:16px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.steps__item{padding:32px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);transition:background .3s,border-color .3s}
.steps__item:hover{background:rgba(255,44,121,.08);border-color:var(--c-pink)}
.steps__num{display:inline-block;font-family:var(--f-en);font-weight:800;font-size:14px;color:var(--c-pink);letter-spacing:.08em;margin-bottom:18px}
.steps__item h3{font-size:20px;font-weight:700;margin-bottom:10px}
.steps__item p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.7)}

.service-single__form-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:end}
.inline-form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:14px}
.inline-form input{padding:14px 18px;border-radius:999px;border:1.5px solid var(--c-gray);background:var(--c-white);font-size:15px}
.inline-form input:focus{outline:0;border-color:var(--c-pink)}
.inline-form .btn{align-self:stretch}

/* === 19. PORTFOLIO ============================================== */
.portfolio__hero{padding-block:clamp(80px,12vw,160px) 30px;text-align:center}

/* === 20. PROJECT SINGLE ========================================= */
.project-single__hero{padding-block:clamp(80px,12vw,160px) 24px}
.project-single__meta{display:flex;gap:36px;flex-wrap:wrap;margin-top:24px;padding-block:20px;border-block:1px solid var(--c-gray)}
.project-single__meta div{display:flex;flex-direction:column;gap:4px}
.project-single__meta dt{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--c-gray-dark);font-family:var(--f-en);margin:0}
.project-single__meta dd{margin:0;font-weight:600;font-size:16px}
.project-single__cover img{aspect-ratio:16/9;width:100%;object-fit:cover;border-radius:var(--radius-lg)}
.project-single__placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,var(--c-gray),var(--c-gray-mid));border-radius:var(--radius-lg)}
.prose{max-width:var(--container-narrow);margin-inline:auto;font-size:18px;line-height:1.8;color:var(--c-gray-ink)}
.prose p{margin-bottom:20px}
.prose h2{font-size:32px;margin-block:40px 16px}
.prose h3{font-size:24px;margin-block:28px 12px}
.prose img{border-radius:var(--radius);margin-block:24px}
.prose a{color:var(--c-pink);text-decoration:underline}
.prose ul,.prose ol{padding-inline-start:24px;list-style:disc;margin-bottom:20px}
.prose li{margin-bottom:6px}

/* === 21. BLOG ==================================================== */
.blog-lobby__hero{padding-block:clamp(80px,12vw,160px) 30px;text-align:center}
.blog-lobby__filter{padding-block:0 24px}
.filter-chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.chip{display:inline-block;padding:10px 20px;border-radius:999px;border:1.5px solid var(--c-gray);font-size:14px;font-weight:600;transition:all .25s}
.chip:hover{border-color:var(--c-black);color:var(--c-black)}
.chip--active{background:var(--c-black);color:#fff;border-color:var(--c-black)}

.pagination{display:flex;justify-content:center;margin-top:48px}
.pagination .nav-links{display:flex;gap:8px}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--c-gray);font-weight:600;transition:all .25s}
.pagination .page-numbers:hover{background:var(--c-black);color:#fff}
.pagination .page-numbers.current{background:var(--c-pink);color:#fff}

.post-single__hero{padding-block:clamp(80px,12vw,160px) 24px}
.post-single__meta{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--c-gray-dark);font-family:var(--f-en);letter-spacing:.05em;margin-bottom:20px}
.post-single__cat{background:var(--c-pink);color:#fff;padding:4px 12px;border-radius:999px;font-weight:600;text-transform:uppercase}
.post-single__cover img{aspect-ratio:21/9;width:100%;object-fit:cover;border-radius:var(--radius-lg);margin-block:32px 56px}

/* === 22. CAREERS ================================================= */
.careers__hero{padding-block:clamp(80px,12vw,160px) 30px;text-align:center}
.careers__media figure{aspect-ratio:21/9;border-radius:var(--radius-lg);overflow:hidden}
.careers__placeholder{height:100%;background:linear-gradient(135deg,var(--c-gray),var(--c-gray-mid));display:flex;align-items:center;justify-content:center;color:var(--c-gray-dark)}
.careers__intro-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start}
.careers__intro-grid p{font-size:17px;line-height:1.75;color:var(--c-gray-ink);margin-bottom:16px}

.positions{display:flex;flex-direction:column;border-top:1px solid var(--c-gray)}
.positions__item{border-bottom:1px solid var(--c-gray)}
.positions__head{display:flex;align-items:center;gap:24px;width:100%;padding:24px 0;transition:padding .3s}
.positions__head:hover{padding-inline:12px;color:var(--c-pink)}
.positions__num{font-family:var(--f-en);color:var(--c-gray-dark);font-size:14px;font-weight:600;letter-spacing:.06em;width:48px;text-align:start}
.positions__role{font-family:var(--f-he);font-size:clamp(20px,2vw,28px);font-weight:600;letter-spacing:-0.02em;flex:1;text-align:start}
.positions__plus{font-size:24px;width:44px;height:44px;border-radius:50%;background:var(--c-gray);display:inline-flex;align-items:center;justify-content:center;transition:transform .3s,background .3s}
.positions__head[aria-expanded="true"] .positions__plus{transform:rotate(45deg);background:var(--c-pink);color:#fff}
.positions__panel{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.positions__panel.is-open{max-height:400px}
.positions__panel p{padding-block:8px 24px;color:var(--c-gray-ink);font-size:16px;line-height:1.7;max-width:60ch}
.positions__panel .btn{margin-bottom:24px}

/* === 23. CONTACT ================================================= */
.contact--dark .site-main{background:var(--c-black);color:#fff}
.contact{background:var(--c-black);color:#fff;min-height:calc(100vh - var(--header-h))}
.contact__hero{padding-block:clamp(80px,10vw,140px) clamp(60px,9vw,120px)}
.contact__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}

.contact__form-head{color:#fff;font-weight:600;font-size:clamp(20px,2vw,28px);line-height:1.4;margin-block:14px 36px;letter-spacing:-0.01em}
.contact-form{display:flex;flex-direction:column;gap:28px}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contact-form__field{display:flex;flex-direction:column;gap:8px}
.contact-form__field--full{grid-column:1 / -1}
.contact-form__field label{font-size:12px;font-family:var(--f-en);text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.55);font-weight:600}
.contact-form__field input,.contact-form__field textarea{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.32);color:#fff;padding:6px 0 10px;font-size:16px;font-family:inherit;transition:border-color .25s;resize:vertical}
.contact-form__field input:focus,.contact-form__field textarea:focus{outline:0;border-color:var(--c-pink)}

.contact__info-col{padding-inline-start:clamp(0px,4vw,40px)}
.contact__info-eye{color:rgba(255,255,255,.7);font-size:18px;margin-bottom:12px}
.contact__shout{font-family:var(--f-he);font-weight:800;font-size:clamp(48px,9vw,124px);line-height:1;letter-spacing:-0.04em;margin-bottom:32px}
.contact__shout-bg{display:inline-block;background:#fff;color:var(--c-pink);padding:.1em .25em .15em;border-radius:6px}
.contact__info-lead{color:rgba(255,255,255,.75);font-size:17px;line-height:1.6;max-width:48ch;margin-bottom:32px}
.contact__info{display:flex;flex-direction:column;gap:14px}
.contact__info li{display:flex;align-items:center;gap:14px;font-size:16px}
.contact__info-icon{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;color:var(--c-pink);font-size:15px}

/* === 24. CTA SECTION ============================================= */
.cta{padding-block:clamp(60px,8vw,100px);background:var(--c-gray)}
.cta__inner{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.cta__title{font-family:var(--f-he);font-weight:800;font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:-0.03em}
.cta__sub{margin-top:14px;color:var(--c-gray-dark);font-size:17px;max-width:48ch}
.cta__actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start}

/* === 25. REVEAL ANIMATION ======================================== */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
	[data-reveal]{opacity:1;transform:none;transition:none}
	.ticker__track,.logo-marquee__track,.home-hero__strip,.home-hero__blob,.wa-floater__ring{animation:none!important}
}

/* === 26. BODY STATE ============================================== */
body.menu-open{overflow:hidden}

/* === 27. RESPONSIVE ============================================== */
@media (max-width:1024px){
	.home-hero__inner,.home-intro__grid,.about-body__grid,.about-mission__grid,.careers__intro-grid,.cta__inner,.contact__grid,.service-single__grid,.service-single__form-grid,.site-footer__top,.site-footer__bottom{grid-template-columns:1fr;gap:36px}
	.home-stats__grid,.about-stats__row,.services-grid,.projects-grid--archive,.post-grid,.steps,.site-footer__cols{grid-template-columns:repeat(2,1fr)}
	.about-stats__cell{border-inline-end:0}
	.inline-form{grid-template-columns:1fr 1fr;gap:14px}
	.inline-form .btn{grid-column:1 / -1}
	.service-row__link{grid-template-columns:50px 1fr 32px;gap:18px}
	.service-row__tag{display:none}
	.contact__info-col{padding-inline-start:0}
}
@media (max-width:640px){
	:root{--header-h:72px}
	.home-stats__grid,.about-stats__row,.services-grid,.projects-grid,.projects-grid--archive,.post-grid,.steps,.site-footer__cols,.site-footer__form,.contact-form__row{grid-template-columns:1fr}
	.about-stats__cell{padding-block:14px;border-block-end:1px solid var(--c-gray);border-inline-end:0}
	.about-stats__cell:last-child{border-block-end:0}
	.inline-form{grid-template-columns:1fr}
	.menu-overlay__item > a,.menu-overlay__toggle{font-size:32px;padding-block:16px}
	.site-footer__h{font-size:64px}
	.wa-floater{width:74px;height:74px;inset-block-end:18px;inset-inline-start:18px}
	.wa-floater__icon{width:38px;height:38px}
	.site-header__inner{padding-inline:16px}
	.section__head{margin-bottom:32px}
	.cta__inner{text-align:start}
}

/* === 28. UTILITIES (small) ======================================= */
.text-pink{color:var(--c-pink)}
