/* ============ Tokens ============ */
:root{
  --gap:clamp(104px,12.5vw,200px); /* one space between every section */
  --paper:#f6f5f1; --fg:#0b0b0a; --fg-2:#38352f; --muted:#6a655b;
  --line:rgba(11,11,10,.16); --veil:rgba(247,246,242,.76);
  --f-display:"Heebo",system-ui,sans-serif;
  --f-body:"Heebo",system-ui,sans-serif;
  --gut:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.19,1,.22,1);
  --hdr-h:84px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--paper);color:var(--fg);font-family:var(--f-body);font-weight:300;line-height:1.6;overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased}
body.is-loading{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
em{font-style:normal;font-weight:500}
::selection{background:var(--fg);color:var(--paper)}
.wrap{padding-inline:var(--gut);max-width:1500px;margin-inline:auto}
section{position:relative}
[hidden]{display:none!important}
/* hide the scrollbar everywhere (page still scrolls normally) */
html{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}

/* ============ Type ============ */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--fg-2);font-weight:400}
html[lang="he"] .eyebrow{letter-spacing:.1em;font-size:13px}
.eyebrow .num{font-family:var(--f-display);font-weight:400;letter-spacing:.05em;font-size:13px}
.eyebrow .num::after{content:"";display:inline-block;width:42px;height:1px;background:currentColor;margin-inline-start:14px;vertical-align:middle;opacity:.5}
.h2{font-family:var(--f-display);font-weight:200;font-size:clamp(34px,5.6vw,84px);line-height:1.08;letter-spacing:-.03em;margin-top:22px}
.h3{font-family:var(--f-display);font-weight:300;font-size:clamp(24px,3.4vw,46px);line-height:1.15;letter-spacing:-.02em}
.lead{font-family:var(--f-display);font-weight:300;font-size:clamp(20px,2.2vw,30px);line-height:1.45;letter-spacing:-.01em;margin-top:28px}
.sec-head{margin-bottom:clamp(40px,6vw,90px)}
.sec-lead{max-width:62ch;margin-top:clamp(22px,3vw,36px);font-size:clamp(15.5px,1.3vw,18px);line-height:1.75;color:#26241f}
.sec-lead-end{margin-top:clamp(36px,5vw,70px)}

/* ============ Background (photographic blur) ============ */
.bg{position:fixed;inset:0;height:100vh;height:100lvh;min-height:100%;z-index:-2;background:var(--paper);overflow:hidden}
.bg-l{position:absolute;inset:-6%;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease;transform:scale(1.05)}
.bg-l.on{opacity:1}
.bg{--va:.30}
.bg::after{content:"";position:absolute;inset:0;background:rgba(247,246,242,var(--va));transition:background-color 1.6s ease}
.grain{position:fixed;inset:-50%;z-index:80;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* ============ Preloader ============ */
.preloader{position:fixed;inset:0;z-index:1000;background:var(--paper);display:grid;place-items:center}
.pl-inner{display:grid;gap:26px;justify-items:center;text-align:center}
.pl-logo{width:min(62vw,360px);opacity:0;transform:translateY(14px)}
.pl-count{font-family:var(--f-display);font-weight:300;font-size:14px;color:var(--muted);letter-spacing:.15em;direction:ltr}
.pl-line{position:absolute;bottom:0;inset-inline:0;height:2px;background:var(--line)}
.pl-line span{display:block;height:100%;width:100%;background:var(--fg);transform:scaleX(0);transform-origin:left}

/* ============ Cursor ============ */
.cursor{position:fixed;top:0;left:0;z-index:999;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;display:grid;place-items:center;opacity:0;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .3s}
.cursor.on{opacity:1}
.cursor.big{width:92px;height:92px;margin:-46px 0 0 -46px;background:#0b0b0a;mix-blend-mode:normal;box-shadow:0 0 0 1px rgba(255,255,255,.5)}
.cursor-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#fff;opacity:0;font-weight:400}
.cursor.big .cursor-label{opacity:1}
@media (hover:none),(pointer:coarse){.cursor{display:none!important}}

/* ============ Header ============ */
.hdr{position:fixed;top:0;inset-inline:0;z-index:100;height:var(--hdr-h);padding-inline:var(--gut);display:flex;align-items:center;justify-content:space-between;color:#fff;transition:transform .6s var(--ease),background .4s,color .4s}
.hdr.hide{transform:translateY(-100%)}
.on-light .hdr,.menu-open .hdr{color:var(--fg)}
.on-light .hdr.solid{background:rgba(246,245,241,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.menu-open .hdr{background:transparent!important;backdrop-filter:none!important}
.hdr-logo{position:relative;display:block;height:34px}
.hdr-logo img{height:34px;width:auto;transition:opacity .4s}
.hdr-logo .lg-b{position:absolute;inset-inline-start:0;top:0;opacity:0}
.on-light .hdr-logo .lg-w,.menu-open .hdr-logo .lg-w{opacity:0}
.on-light .hdr-logo .lg-b,.menu-open .hdr-logo .lg-b{opacity:1}
.hdr-actions{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px)}
.lang{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.2em;font-weight:400}
.lang i{width:1px;height:12px;background:currentColor;opacity:.35}
.lang span{opacity:.5;transition:opacity .3s}
html[lang="he"] .lang [data-l="he"],html[lang="en"] .lang [data-l="en"]{opacity:1;font-weight:500}
.hdr-cta{display:none;font-size:13px;letter-spacing:.12em;padding:11px 22px;border:1px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:100px;transition:background .4s,color .4s,border-color .4s}
.hdr-cta:hover{background:#fff;border-color:#fff;color:#0b0b0a}
.on-light .hdr-cta:hover,.menu-open .hdr-cta:hover{background:var(--fg);border-color:var(--fg);color:var(--paper)}
@media(min-width:760px){.hdr-cta{display:inline-block}}
.burger{width:44px;height:44px;position:relative;z-index:110}
.burger span{position:absolute;inset-inline:10px;height:1px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:26px}
.burger[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){top:22px;transform:rotate(-45deg)}

/* Menu */
.menu{position:fixed;inset:0;z-index:95;background:rgba(246,245,241,.9);backdrop-filter:blur(34px);-webkit-backdrop-filter:blur(34px);clip-path:inset(0 0 100% 0);visibility:hidden;display:flex;align-items:center;color:var(--fg)}
.menu-inner{width:100%;padding:calc(var(--hdr-h) + 10px) var(--gut) 40px;max-width:1500px;margin-inline:auto;display:grid;gap:40px}
.menu ul{display:grid;gap:clamp(2px,1vh,10px)}
.menu li{overflow:hidden}
.menu li a{display:flex;align-items:baseline;gap:20px;font-family:var(--f-display);font-weight:300;font-size:clamp(32px,7vh,78px);letter-spacing:-.03em;line-height:1.18;transition:opacity .3s,padding .5s var(--ease)}
.menu li a::before{content:attr(data-num);font-size:13px;font-weight:400;letter-spacing:.1em;min-width:28px;opacity:.6}
.menu ul:hover li a{opacity:.35}
.menu ul li a:hover{opacity:1;padding-inline-start:14px}
.menu-foot{display:flex;flex-wrap:wrap;gap:12px 36px;color:var(--muted);font-size:14px;letter-spacing:.08em}
.menu-foot a:hover{color:var(--fg)}

/* Buttons */
.btn{--c:var(--fg);--inv:var(--paper);display:inline-flex;align-items:center;gap:16px;padding:18px 34px;border-radius:100px;border:1px solid var(--c);color:var(--c);font-size:15px;letter-spacing:.1em;font-weight:400;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--c);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1;border-radius:50% 50% 0 0/40% 40% 0 0}
.btn:hover{color:var(--inv)}
.btn:hover::before{transform:translateY(0);border-radius:0}
.btn-ghost{border-color:var(--line)}
.btn-solid{background:var(--fg);color:#fff;--inv:var(--fg)}
.btn-solid::before{background:#fff}
.arr{width:22px;height:1px;background:currentColor;position:relative;transition:transform .5s var(--ease)}
.arr::after{content:"";position:absolute;inset-inline-end:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-inline-start:1px solid currentColor;transform:rotate(-45deg)}
html[dir="rtl"] .arr{transform:scaleX(-1)}
.btn:hover .arr{transform:translateX(5px)}
html[dir="rtl"] .btn:hover .arr{transform:scaleX(-1) translateX(5px)}

/* ============ Hero ============ */
.hero{height:100svh;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.hero-media{position:absolute;inset:-6% 0 0;will-change:transform;-webkit-mask-image:linear-gradient(to bottom,#000 86%,transparent);mask-image:linear-gradient(to bottom,#000 86%,transparent)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 2.2s ease;overflow:hidden}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transform:scale(1.12);transition:transform 22s linear}
.slide.on img{transform:scale(1.02)}
.hero-shade{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 100%,rgba(11,11,10,.78) 0%,rgba(11,11,10,.28) 55%,rgba(11,11,10,.38) 100%),linear-gradient(to bottom,rgba(11,11,10,.45),transparent 28%)}
.hero-content{position:relative;z-index:2;width:100%;padding:0 var(--gut) clamp(90px,15vh,150px);max-width:1500px;margin-inline:auto}
.hero .eyebrow{color:rgba(255,255,255,.85)}
.hero-eyebrow{opacity:0}
.hero-title{font-family:var(--f-display);font-weight:200;font-size:clamp(40px,7.8vw,124px);line-height:1.02;letter-spacing:-.04em;margin:22px 0 28px}
.ln{display:block;overflow:hidden;padding-block:.08em}
.ln .t{display:inline-block;transform:translateY(110%)}
.hero-sub{max-width:44ch;color:rgba(255,255,255,.88);font-size:clamp(15px,1.4vw,19px);opacity:0}
.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;opacity:0}
.hero .btn{--c:#fff;--inv:#0b0b0a}
.hero .btn-ghost{border-color:rgba(255,255,255,.4)}
.hero-prog{position:absolute;z-index:3;inset-inline-start:var(--gut);bottom:clamp(40px,7vh,70px);display:flex;gap:8px}
.hero-prog i{display:block;width:clamp(34px,5vw,64px);height:2px;background:rgba(255,255,255,.3);overflow:hidden;cursor:pointer;position:relative}
.hero-prog i::before{content:"";position:absolute;inset:-10px 0}
.hero-prog b{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left}
html[dir="rtl"] .hero-prog b{transform-origin:right}
.hero-prog i.done b{transform:scaleX(1)}
.hero-prog i.act b{animation:prog 8s linear forwards}
@keyframes prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ============ About ============ */
.about{padding:var(--gap) 0 0;overflow:hidden}
.manifesto{font-family:var(--f-display);font-weight:200;font-size:clamp(26px,4.2vw,64px);line-height:1.25;letter-spacing:-.03em;margin-top:40px;max-width:22em}
.manifesto .w{display:inline-block;opacity:.16;white-space:pre}
.about .wrap{position:relative;z-index:1}
.stats{display:grid;grid-template-columns:1fr;gap:34px;margin-top:clamp(70px,10vw,150px);padding-top:40px;border-top:1px solid var(--line)}
@media(min-width:760px){.stats{grid-template-columns:repeat(3,1fr)}}
.stat b{display:block;font-family:var(--f-display);font-weight:200;font-size:clamp(54px,7.4vw,112px);line-height:1;letter-spacing:-.04em;color:var(--fg);text-align:start}
.stat span{display:block;margin-top:12px;color:var(--fg-2);font-size:15px;letter-spacing:.02em;text-align:start}

/* ============ Services ============ */
.services{padding:var(--gap) 0 0}
.svc-list{border-top:1px solid var(--line)}
.svc{position:relative;display:grid;grid-template-columns:auto 1fr;gap:8px 22px;align-items:baseline;padding:clamp(24px,3.4vw,46px) 0;border-bottom:1px solid var(--line);transition:padding .6s var(--ease)}
.svc::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .5s;z-index:0}
.svc>*{position:relative;z-index:1}
.svc-n{font-family:var(--f-display);font-weight:400;color:var(--muted);font-size:13px;letter-spacing:.08em}
.svc h3{font-family:var(--f-display);font-weight:300;font-size:clamp(24px,3.6vw,52px);line-height:1.15;letter-spacing:-.03em;grid-column:2}
.svc p{grid-column:2;color:#26241f;max-width:56ch;font-size:15.5px}
@media(min-width:900px){
  .svc{grid-template-columns:80px 1.1fr 1.3fr;align-items:center}
  .svc h3{grid-column:2}.svc p{grid-column:3}
}
@media(hover:hover) and (min-width:900px){
  .svc:hover{padding-inline:28px}
  .svc:hover::before{opacity:1}
}

/* ============ Couples + reels ============ */
.work{padding:var(--gap) 0 0}
.cp-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(200px,56vw,320px);gap:clamp(8px,1.4vw,18px)}
@media(min-width:900px){
  .cp-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(280px,30vw,440px)}
}
.cp{position:relative;overflow:hidden;border-radius:0;display:grid;place-items:center;text-align:center;color:#fff;background:#d9d6cf}
.cp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(7px) brightness(.85);transform:scale(1.2);transition:filter .8s var(--ease),transform 1.2s var(--ease)}
.cp b{position:relative;z-index:1;padding:0 14px;font-family:var(--f-display);font-weight:300;font-size:clamp(24px,3vw,46px);line-height:1.1;letter-spacing:-.03em;text-shadow:0 1px 24px rgba(0,0,0,.25)}
.cp-i{position:absolute;z-index:1;top:16px;inset-inline-start:18px;font-family:var(--f-display);font-size:12px;letter-spacing:.12em;opacity:.8}
@media(hover:hover){.cp:hover img{filter:blur(0) brightness(1);transform:scale(1.04)}.cp:hover b,.cp:hover .cp-i{opacity:0;transition:opacity .5s}}
.cp b,.cp-i{transition:opacity .5s}

.reels{margin-top:clamp(72px,9.5vw,150px)}
.reels .h3{margin-bottom:clamp(26px,4vw,50px)}
.rl-wrap{overflow-x:auto;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch;direction:ltr}
.rl-wrap::-webkit-scrollbar{display:none}
.rl-wrap.drag{cursor:grabbing}
.rl-track{display:flex;gap:clamp(12px,1.6vw,22px);width:max-content;padding-inline:var(--gut)}
.rl{position:relative;flex-shrink:0;width:clamp(220px,19vw,300px);aspect-ratio:9/16;border-radius:0;overflow:hidden;background:#222;transition:transform .8s var(--ease)}
.rl video{width:100%;height:100%;object-fit:cover;pointer-events:none}
.rl:hover{transform:translateY(-6px)}
.rl-hint{margin-top:30px;color:var(--muted);font-size:13px;letter-spacing:.08em}
@media(max-width:899px){.rl-wrap{scroll-snap-type:x mandatory}.rl{scroll-snap-align:center;width:66vw}}

.vmodal{position:fixed;inset:0;z-index:300;background:rgba(5,5,4,.94);backdrop-filter:blur(10px);display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.vmodal.open{opacity:1;visibility:visible}
.vm-stage{height:min(88svh,900px);aspect-ratio:9/16;max-width:92vw;border-radius:0;overflow:hidden;background:#000;transform:scale(.92);transition:transform .7s var(--ease)}
.vmodal.open .vm-stage{transform:scale(1)}
.vm-stage video{width:100%;height:100%;object-fit:contain}
.vm-close{position:absolute;top:22px;inset-inline-end:var(--gut);width:48px;height:48px;border:1px solid rgba(255,255,255,.3);border-radius:50%}
.vm-close span{position:absolute;inset-inline:15px;top:23px;height:1px;background:#fff}
.vm-close span:first-child{transform:rotate(45deg)}.vm-close span:last-child{transform:rotate(-45deg)}

/* ============ Ido ============ */
.ido{padding:var(--gap) 0 0}
.ido>.wrap:first-child{margin-bottom:clamp(26px,3.5vw,48px)}
.ido .h2{margin-top:0}
.ido-grid{display:grid;gap:clamp(30px,6vw,100px);align-items:center}
@media(min-width:900px){.ido-grid{grid-template-columns:5fr 6fr}}
.ido-img{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:0;background:transparent}
.ido-img img{position:absolute;inset:-9% 0;width:100%;height:118%;object-fit:cover;object-position:50% 30%;transform:scale(1.15)}
.ido-copy .btn{margin-top:36px}

/* ============ Contact ============ */
.contact{padding:var(--gap) 0 clamp(70px,9vw,130px)}
.ct-grid{display:grid;gap:clamp(44px,6vw,90px);margin-top:clamp(34px,5vw,70px)}
.ct-icons{order:2}.ct-form{order:1}
@media(min-width:900px){.ct-grid{grid-template-columns:1.2fr 1fr;align-items:start}}
.ct-icons{display:flex;flex-wrap:wrap;gap:clamp(16px,2.4vw,32px)}
.ic{display:grid;justify-items:center;gap:14px}
.ic svg{width:clamp(76px,9vw,112px);height:clamp(76px,9vw,112px);padding:clamp(22px,2.7vw,34px);border:1px solid var(--fg);border-radius:50%;transition:background .5s var(--ease),color .5s var(--ease),transform .6s var(--ease)}
.ic small{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--fg-2)}
html[lang="he"] .ic small{letter-spacing:.08em;font-size:13px}
@media(hover:hover){.ic:hover svg{background:var(--fg);color:var(--paper);transform:translateY(-6px)}}
.ct-form{display:grid;grid-template-columns:1fr;gap:26px}
@media(min-width:640px){.ct-form{grid-template-columns:1fr 1fr}.ct-form label:first-child,.ct-form button,.form-msg{grid-column:1/-1}}
.ct-form label{display:block;position:relative}
.ct-form label span{display:block;font-size:12px;letter-spacing:.15em;color:#1d1c19;margin-bottom:8px;transition:color .3s}
.ct-form input{width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0 12px;color:var(--fg);font:inherit;font-size:18px;outline:none;transition:border-color .4s;border-radius:0}
.ct-form input:focus{border-color:var(--fg)}
.ct-form label:focus-within span{color:var(--fg)}
.ct-form button{justify-self:start}
.hp{position:absolute!important;top:0;inset-inline-start:0;left:auto;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.form-msg{min-height:1.5em;font-size:15px;color:var(--fg-2)}
.form-msg.err{color:#b3261e}

/* Footer */
.ftr{display:grid;gap:22px;justify-items:center;text-align:center;padding:60px var(--gut) 50px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;letter-spacing:.06em}
.ftr-logo{width:min(70vw,280px)}
.to-top:hover{color:var(--fg)}

/* ============ Reveal helpers ============ */
[data-reveal]{opacity:0;transform:translateY(34px)}
.no-js [data-reveal],.reduced [data-reveal]{opacity:1;transform:none}
.reduced .manifesto .w{opacity:1}
.reduced .ln .t{transform:none}
.reduced .hero-eyebrow,.reduced .hero-sub,.reduced .hero-btns{opacity:1}
.reduced .ido-img img{transform:none}
@media(prefers-reduced-motion:reduce){.grain{animation:none}}

/* ============ Couple gallery overlay ============ */
.cp[data-couple]{cursor:pointer}
.cp:not([data-couple]){cursor:default}
.cp:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
.gal{position:fixed;inset:0;z-index:350;background:rgba(8,8,7,.97);color:#fff;display:grid;grid-template-rows:auto 1fr auto;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.gal.open{opacity:1;visibility:visible}
.gal-top{display:flex;align-items:center;justify-content:space-between;padding:20px var(--gut)}
.gal-title{display:flex;align-items:baseline;gap:18px}
.gal-title b{font-family:var(--f-display);font-weight:300;font-size:clamp(20px,2.4vw,32px);letter-spacing:-.02em}
.gal-title span{font-size:12px;letter-spacing:.2em;opacity:.6}
.gal-close{position:relative;width:48px;height:48px;border:1px solid rgba(255,255,255,.3);border-radius:50%;flex-shrink:0}
.gal-close span{position:absolute;inset-inline:15px;top:23px;height:1px;background:#fff}
.gal-close span:first-child{transform:rotate(45deg)}.gal-close span:last-child{transform:rotate(-45deg)}
.gal-stage{--gp:clamp(56px,8vw,120px);position:relative;min-height:0}
.gal-stage img{position:absolute;top:0;bottom:0;left:var(--gp);right:var(--gp);width:calc(100% - 2*var(--gp));height:100%;object-fit:contain;opacity:0;transform:scale(.985);transition:opacity .5s ease,transform .8s var(--ease);cursor:pointer;user-select:none}
.gal-stage img.in{opacity:1;transform:none}
.gal-nav{position:absolute;top:50%;width:52px;height:52px;margin-top:-26px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;transition:background .3s,border-color .3s}
.gal-nav:hover{background:#fff;border-color:#fff}
.gal-nav i{width:10px;height:10px;border-top:1px solid #fff;border-right:1px solid #fff;transition:border-color .3s}
.gal-nav:hover i{border-color:#0b0b0a}
.gal-prev{inset-inline-start:clamp(10px,2vw,30px)}
.gal-next{inset-inline-end:clamp(10px,2vw,30px)}
/* chevrons point along the reading direction */
html[dir="ltr"] .gal-prev i{transform:rotate(-135deg) translate(-2px,2px)}
html[dir="ltr"] .gal-next i{transform:rotate(45deg) translate(-2px,2px)}
html[dir="rtl"] .gal-prev i{transform:rotate(45deg) translate(-2px,2px)}
html[dir="rtl"] .gal-next i{transform:rotate(-135deg) translate(-2px,2px)}
.gal-thumbs{display:flex;gap:8px;overflow-x:auto;padding:16px var(--gut) 22px;scrollbar-width:none}
.gal-thumbs::-webkit-scrollbar{display:none}
.gal-thumbs button{flex:0 0 auto;width:64px;height:64px;opacity:.45;transition:opacity .3s;outline:1px solid transparent;outline-offset:2px}
.gal-thumbs button.act{opacity:1;outline-color:#fff}
.gal-thumbs button:hover{opacity:.9}
.gal-thumbs img{width:100%;height:100%;object-fit:cover}
@media(max-width:899px){.gal-stage{--gp:8px}.gal-nav{display:none}.gal-thumbs button{width:52px;height:52px}}

/* text link under the couples grid */
.cp-more{display:inline-flex;align-items:center;gap:16px;margin-top:clamp(28px,4vw,52px);padding-bottom:8px;border-bottom:1px solid var(--fg);font-family:var(--f-display);font-weight:300;font-size:clamp(17px,1.9vw,26px);letter-spacing:-.01em;line-height:1.3;transition:gap .5s var(--ease),opacity .3s}
@media(hover:hover){.cp-more:hover{gap:28px}}

/* smaller hero buttons on phones */
@media(max-width:899px){
  .hero-btns{gap:10px;margin-top:26px}
  .hero-btns{flex-wrap:nowrap}
  .hero .btn{padding:11px 18px;font-size:12.5px;gap:8px;letter-spacing:.04em;white-space:nowrap}
}

/* slightly smaller menu words on phones */
@media(max-width:899px){
  .menu li a{font-size:clamp(28px,5.4vh,46px)}
}

/* ===== services accordion ===== */
.svc{cursor:pointer;grid-template-columns:clamp(34px,6vw,80px) 1fr auto!important;align-items:center!important;row-gap:0!important}
.svc h3{grid-column:2!important}
.svc-arr{grid-column:3;grid-row:1;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;position:relative;flex-shrink:0;transition:background .4s,border-color .4s,transform .6s var(--ease)}
.svc-arr::before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translate(-50%,-70%) rotate(45deg)}
.svc.open .svc-arr{transform:rotate(180deg);background:var(--fg);border-color:var(--fg);color:var(--paper)}
@media(hover:hover){.svc:hover .svc-arr{border-color:var(--fg)}}
.svc-body{grid-column:2 / -1!important;display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease)}
.svc-body>div{overflow:hidden;min-height:0}
.svc.open .svc-body{grid-template-rows:1fr}
.svc-body p{grid-column:auto!important;padding-top:14px}
.svc:focus-visible{outline:1px solid var(--fg);outline-offset:-1px}
/* ===== Ido text ===== */
.ido-p{font-size:clamp(15.5px,1.28vw,18px);line-height:1.55;margin-top:12px;color:#1d1c19;max-width:none;text-wrap:pretty}
.ido-p.ido-first{font-family:var(--f-display);font-weight:300;font-size:clamp(20px,2vw,28px);line-height:1.3;margin-top:18px;text-wrap:balance;letter-spacing:-.01em;color:var(--fg)}


/* mobile: couple photos are sharp (blur stays on desktop) */
@media(max-width:899px){
  .cp img{filter:brightness(.8);transform:none}
  .cp b{text-shadow:0 1px 16px rgba(0,0,0,.5)}
  .cp-i{text-shadow:0 1px 8px rgba(0,0,0,.4)}
}

/* gallery arrows: small, borderless, visible on every screen */
.gal-nav{border:0!important;border-radius:0;background:none!important;width:48px;height:64px;margin-top:-32px;opacity:.75;transition:opacity .3s}
.gal-nav:hover{opacity:1}
.gal-nav i{width:16px;height:16px;border-top:1.5px solid #fff!important;border-right:1.5px solid #fff!important;filter:drop-shadow(0 1px 6px rgba(0,0,0,.55))}
.gal-nav:hover i{border-color:#fff!important}
@media(max-width:899px){
  .gal-nav{display:grid!important;width:40px;height:56px;margin-top:-28px;z-index:2}
  .gal-prev{inset-inline-start:2px}.gal-next{inset-inline-end:2px}
  .gal-nav i{width:13px;height:13px}
}

/* reels: poster is the tile background, video fades in when playing */
.rl{background-color:#d8d6cf;background-size:cover;background-position:center}
.rl video{opacity:0;transition:opacity .4s ease}
.rl.on video{opacity:1}

/* hero slide bars: the line stays thin, the clickable area is big (and covers the gaps between bars) */
.hero-prog{gap:0;bottom:clamp(26px,5vh,54px)}
.hero-prog i{width:calc(clamp(34px,5vw,64px) + 12px);height:44px;background:none;overflow:visible;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
.hero-prog i::before{content:"";position:absolute;inset:auto 6px;top:50%;height:2px;margin-top:-1px;background:rgba(255,255,255,.3)}
.hero-prog b{position:absolute;inset:auto 6px;top:50%;height:2px;margin-top:-1px;width:auto;background:#fff;transform:scaleX(0);transform-origin:left}
html[dir="rtl"] .hero-prog b{transform-origin:right}
.hero-prog i.done b{transform:scaleX(1)}
.hero-prog i.act b{animation:prog 8s linear forwards}
@media(max-width:899px){.hero-prog i{height:52px}}

/* producer text: a clean rectangular block (both edges straight, last line of each paragraph stays natural) */
.ido-p:not(.ido-first){text-align:justify;text-justify:inter-word;text-wrap:wrap;hyphens:manual;word-spacing:normal}

/* mobile only: "הבעלים והמפיק" start a new line together */
br.m-br{display:none}
@media(max-width:899px){br.m-br{display:inline}}

/* touch: steadier reels slider (no sticky hover lift, no constant grain repaint over the video tiles) */
@media(hover:none){
  .rl:hover{transform:none}
  .rl{transform:translateZ(0);contain:paint}
  .grain{animation:none}
}
