@font-face{font-family:Rubik;font-weight:500;font-display:swap;src:url(../fonts/rubik-hebrew-500-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Rubik;font-weight:500;font-display:swap;src:url(../fonts/rubik-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Rubik;font-weight:300;font-display:swap;src:url(../fonts/rubik-hebrew-300-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Rubik;font-weight:300;font-display:swap;src:url(../fonts/rubik-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Rubik;font-weight:400;font-display:swap;src:url(../fonts/rubik-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Rubik;font-weight:400;font-display:swap;src:url(../fonts/rubik-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Rubik;font-weight:600;font-display:swap;src:url(../fonts/rubik-hebrew-600-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Rubik;font-weight:600;font-display:swap;src:url(../fonts/rubik-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Rubik;font-weight:700;font-display:swap;src:url(../fonts/rubik-hebrew-700-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Rubik;font-weight:700;font-display:swap;src:url(../fonts/rubik-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo Black";font-weight:400;font-display:swap;src:url(../fonts/archivo-black-latin-400-normal.woff2) format("woff2")}

:root{
  --svc-w:calc(3 * 250px + 2 * clamp(60px,10vw,170px));
  --blue:#0000ff; --navy:#00007a; --ink:#1c1c85; --mint:#74e4d6; --mint-soft:#abeee6; --mint-btn:#62ecd6;
  --hl:#c6f4ea; --grey:#ececec; --grey-2:#f3f3f3; --white:#fff;
  --display:"Archivo Black","Arial Black",Arial,sans-serif;
  --wrap:1140px; --radius:14px; --header:80px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:Rubik,Arial,sans-serif;font-size:17px;line-height:1.55;color:var(--navy);background:#fff;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0 0 .4em;line-height:1.2}
p{margin:0 0 1em;text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
.wrap{width:min(var(--wrap),100% - 48px);margin-inline:auto}
.en{font-family:var(--display);direction:ltr;unicode-bidi:isolate;letter-spacing:-.01em;font-weight:400}
.blue{color:var(--blue)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:200;background:#fff;color:var(--blue);padding:10px 16px;border-radius:8px;font-weight:600}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--mint);outline-offset:3px;border-radius:6px}
mark{background:var(--hl);color:inherit;padding:.05em .15em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font:inherit;font-size:16px;line-height:1.2;text-decoration:none;border-radius:999px;padding:.8em 2.8em;border:2px solid transparent;cursor:pointer;transition:transform .15s,background-color .15s,color .15s}
.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-blue:hover{background:#fff;color:var(--blue);border-color:var(--blue)}
.btn-pulse{animation:stretch 4.5s ease-in-out 2s infinite}
.btn-pulse:hover,.btn-pulse:focus-visible{animation-play-state:paused}
@keyframes stretch{0%,78%,100%{transform:scale(1,1)}84%{transform:scale(1.07,.94)}90%{transform:scale(.97,1.04)}95%{transform:scale(1.02,.99)}}
.btn-outline{border-color:var(--blue);color:var(--blue);background:#fff}
.btn-outline:hover{background:var(--blue);color:#fff}
.btn-mint{background:var(--mint-btn);color:var(--blue);font-weight:500}
.btn-mint:hover{background:transparent;border-color:var(--mint-btn);color:#fff}
.btn-ghost{font-weight:500;border-color:var(--mint-btn);border-width:2.5px;color:#fff;background:transparent;padding:.6em 3em;font-size:14px}
.btn-ghost:hover{background:var(--mint-btn);color:var(--blue)}

/* header */
.site-header{position:sticky;top:0;z-index:100;height:var(--header);background:linear-gradient(90deg,rgba(0,0,122,.92) 0%,var(--blue) 98%);color:#fff}
.site-header .wrap{width:calc(100% - 120px);max-width:1800px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;direction:ltr}
.brand{display:block;width:150px;flex:none}
.brand img{width:100%;height:auto}
.nav{direction:rtl}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:44px}
.nav a{text-decoration:none;font-size:17px;padding:6px 0;color:#fff;transition:color .15s}
.nav a:hover,.nav a[aria-current="page"]{color:#48f7d4}
.header-cta{direction:rtl}
.menu-btn{display:none;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;color:#fff;width:44px;height:44px;padding:0 9px;cursor:pointer}
.menu-btn span{display:block;height:2px;width:100%;background:currentColor;transition:transform .2s,opacity .2s}
.menu-open .menu-btn span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){opacity:0}
.menu-open .menu-btn span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* hero */
.hero{background:var(--blue);color:#fff;min-height:calc(100svh - var(--header));display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;text-align:center;padding:clamp(60px,20vh,240px) 24px 0}
.hero h1{margin:0;width:clamp(300px,44vw,860px)}
.hero h1 img{width:100%}
.hero h1 img{width:100%}
.hero-arrow{margin:clamp(40px,12vh,170px) auto 40px;width:50px;height:50px;border:2px solid var(--mint);border-radius:50%;display:grid;place-items:center;color:var(--mint);animation:bob 2.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(6px)}}
.hero-quills{margin-top:auto;width:clamp(340px,33vw,680px);pointer-events:none}

/* intro */
.intro{padding:90px 0}
.intro .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:stretch;max-width:990px}
.intro-text{display:flex;flex-direction:column;align-items:flex-start;padding-top:.15em}
.intro-text p{max-width:360px}
.intro-text .btn{margin-top:auto}
.intro h2{font-size:25px;font-weight:700}
.intro .big{font-size:clamp(40px,5vw,76px);line-height:.95;color:var(--navy);margin:0}
.intro .big span{display:block}

/* clarity */
.clarity{background:var(--grey);padding:48px 0 52px;text-align:center}
.clarity h2{font-size:25px;font-weight:700;color:var(--blue)}
.clarity h2 span{color:var(--ink)}
.clarity p{max-width:680px;margin:0 auto 36px}
.video-card{max-width:640px;margin:0 auto;position:relative}
.ba-badge{position:absolute;top:-26px;left:-34px;width:104px;height:104px;border-radius:50%;background:var(--navy);color:var(--mint);display:grid;place-items:center;text-align:center;font-family:Rubik,sans-serif;font-weight:700;font-size:23px;line-height:1.05;transform:rotate(-12deg);box-shadow:0 6px 16px rgba(0,0,80,.18);z-index:2}
.video-card.in .ba-badge{animation:pop .6s .4s cubic-bezier(.3,1.6,.5,1) both}
@keyframes pop{from{transform:rotate(-40deg) scale(0)}to{transform:rotate(-12deg) scale(1)}}
.video-card video{background:var(--grey)}

/* band */
.band{background:var(--navy);color:#fff;text-align:center;padding:30px 24px}
.band p{margin:0;font-weight:700;font-size:clamp(19px,2.2vw,28px);direction:ltr}
.band .blue{color:var(--mint-btn)}

/* services */
.services{padding:56px 0 53px;overflow-x:clip}
.services ol{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,250px));justify-content:center;gap:40px clamp(60px,10vw,170px)}
.services .num{font-family:Rubik,sans-serif;font-weight:300;font-size:clamp(96px,9vw,140px);line-height:.9;color:var(--mint);margin-bottom:14px;direction:ltr;text-align:right;letter-spacing:-.02em}
.services h3{font-size:21px;font-weight:600;color:var(--blue);margin-bottom:.7em}
.services p{max-width:250px;line-height:1.45}

/* projects */
.projects{padding:0 0 30px}
.projects .grid-2{max-width:var(--svc-w);margin-inline:auto!important}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card-link{display:block;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,60,.12);transition:transform .25s,box-shadow .25s;background:#ddd}
.card-link img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s}
.card-link:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,60,.2)}
.card-link:hover img{transform:scale(1.03)}

/* clients */
.clients{padding:40px 0 34px;text-align:center}
.clients h2{font-size:23px;font-weight:700;color:var(--blue);margin-bottom:34px}
.logos{list-style:none;margin:0 auto 30px;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:8px 20px;align-items:center;max-width:1060px}
.logos img{width:100%;max-width:175px;height:auto;margin:auto}
.clients p{color:var(--blue);margin-bottom:26px}
.clients p strong{color:var(--navy);font-weight:700;display:block}

/* beyond */
.beyond{padding:0 0 70px}
.beyond-box{background:var(--blue);color:#fff;border-radius:16px;display:grid;grid-template-columns:.8fr 1.35fr;align-items:center;gap:16px;padding:26px 24px 26px 56px;direction:ltr;max-width:960px;margin:auto;overflow:hidden}
.beyond-text{direction:rtl;text-align:left}
.beyond-text h2{font-size:clamp(36px,4.4vw,52px);line-height:1;color:var(--mint);margin-bottom:18px;text-align:left}
.beyond-text p{font-size:18px;line-height:1.4;margin-bottom:22px}
.beyond-media video,.beyond-media img{width:100%}

/* testimonials */
.quotes{background:var(--grey-2);padding:50px 0}
.quotes h2{text-align:center;font-size:23px;color:var(--blue);margin-bottom:34px}
.q-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.q-card{background:#fff;border-radius:20px;padding:34px 30px;text-align:center;color:var(--ink);font-size:16px;display:flex;flex-direction:column;margin:0}
.q-card::before{content:"";display:block;width:30px;height:24px;margin:10px auto 22px;background:var(--blue);-webkit-mask:url(../img/quote.svg) center/contain no-repeat;mask:url(../img/quote.svg) center/contain no-repeat}
.q-card blockquote{margin:0 0 24px;flex:1}
.q-card blockquote p{margin:0 0 .6em}
.q-card figcaption{line-height:1.5}
.q-card .who{color:var(--blue);font-weight:700;font-size:17px;display:block}
.q-single{max-width:860px;margin:0 auto}
.quotes .more-wrap{display:flex;justify-content:flex-end;margin-top:22px}
.more-link{display:inline-flex;align-items:center;gap:.5em;color:var(--blue);font-size:15px;font-weight:600;text-decoration:none;padding:6px 2px}
.more-link:hover{text-decoration:underline}

/* footer */
.site-footer{background:var(--ink);color:#fff;font-size:14px;padding:18px 0}
.site-footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer .sep{margin:0 10px;opacity:.6}

/* popup */
dialog.popup{border:0;padding:0;border-radius:22px;width:min(1000px,94vw);max-height:92vh;overflow:auto;color:var(--navy);box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog.popup::backdrop{background:rgba(0,0,60,.55)}
.popup-body{padding:40px 24px 32px;text-align:center}
.popup h2{font-size:clamp(34px,4.6vw,54px);color:var(--blue);margin-bottom:24px}
.popup .lead{font-weight:700;margin-bottom:8px}
.popup .lead+p{max-width:700px;margin:0 auto 34px}
.popup ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.popup li img{background:var(--grey-2);border-radius:14px;width:100%;aspect-ratio:1;object-fit:contain;padding:10px;margin-bottom:16px}
.popup li h3{font-size:20px;font-weight:700;color:var(--blue);margin-bottom:4px}
.popup li p{font-size:17px;margin:0}
.popup-foot{background:var(--blue);padding:16px;text-align:center}
.popup-foot .btn{padding:.5em 2.4em;font-size:18px}
.popup-close{position:absolute;top:18px;left:22px;background:none;border:0;color:var(--blue);width:44px;height:44px;cursor:pointer;padding:6px}
.no-scroll{overflow:hidden}

/* project page */
.p-hero{padding:30px 0 34px}
.p-hero .wrap{display:grid;grid-template-columns:minmax(0,380px) minmax(0,553px);justify-content:center;gap:clamp(60px,10vw,200px);align-items:center}
.p-hero h1{font-size:28px;color:var(--blue);font-weight:700}
.p-hero h1 small{font-size:20px;font-weight:400}
.p-hero img{border-radius:14px;box-shadow:0 8px 24px rgba(0,0,60,.15);width:100%}
.slides{background:var(--grey);padding:44px 0}
.slides .grid-2{gap:34px;max-width:1010px;margin:auto}
.slides img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;box-shadow:0 8px 22px rgba(0,0,60,.15);background:#fff}
.more{padding:40px 0 44px;text-align:center}
.more h2{font-size:23px;color:var(--blue);margin-bottom:28px}
.carousel{position:relative}
.track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 14px}
.track::-webkit-scrollbar{display:none}
.track li{flex:0 0 calc((100% - 48px)/4);scroll-snap-align:start;list-style:none}
.carousel ul{margin:0;padding:0}
.car-btn{position:absolute;top:calc(50% - 30px);width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--blue);box-shadow:0 4px 14px rgba(0,0,60,.25);cursor:pointer;display:grid;place-items:center;z-index:2}
.car-prev{right:-20px}.car-next{left:-20px}
.more .btn{margin-top:30px}

/* about */
.about{padding:60px 0 40px}
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,140px);align-items:stretch}
.about-text{display:flex;flex-direction:column;align-items:flex-start;max-width:530px;justify-self:end;width:100%}
.about-text .btn{margin-top:auto;align-self:flex-start;min-width:280px}
.about-text p:last-of-type{margin-bottom:30px}
.about h2{font-size:28px;color:var(--blue);margin:0}
.about h2+p{font-size:22px;margin-bottom:22px}
.about-visual{direction:ltr}
.about-visual h1{font-size:clamp(46px,5.6vw,80px);line-height:.95;color:var(--blue);margin-bottom:clamp(30px,4vw,60px)}
.hog{position:relative;max-width:520px;margin-inline-start:-10px}
.hog::before{content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,transparent 44%,var(--mint) 45%);opacity:.85;left:2%;top:18%;z-index:-1}

/* contact */
.contact{background:var(--blue);color:#fff;padding:56px 0 28px}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;direction:ltr}
.contact .c-title{font-size:clamp(56px,7vw,96px);line-height:.9;color:var(--mint);margin:0}
.contact form,.contact .c-intro{direction:rtl}
.c-intro .btn-ghost{margin-top:4px}
.social{display:flex;gap:14px;margin-top:34px;direction:ltr}
.social svg{width:40px;height:40px}
.contact h2{font-size:24px;font-weight:400;margin-bottom:14px}
.contact h2 strong{display:block;font-weight:700}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;margin-top:26px}
.form-grid .full{grid-column:1/-1}
.field label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.field{position:relative}
.field input,.field textarea{width:100%;font:inherit;font-size:16px;padding:13px 16px;border:1px solid rgba(255,255,255,.85);border-radius:2px;color:#fff;background:transparent;transition:border-color .15s,background-color .15s}
.field input::placeholder{color:rgba(255,255,255,.92)}
.field input:focus{outline:none;border-color:var(--mint);background:rgba(255,255,255,.06)}
.field textarea{min-height:90px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.check input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:2px;border:1px solid #fff;border-radius:2px;background:transparent;flex:none;cursor:pointer;display:grid;place-items:center}
.check input:checked{background:var(--mint);border-color:var(--mint)}
.check input:checked::after{content:"";width:9px;height:5px;border:2px solid var(--blue);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.check a{color:var(--mint)}
.form-grid button.btn-mint{background:#55f2d5}
.form-grid button.btn-mint:hover{background:transparent;border-color:#55f2d5}
.form-grid button{width:100%;justify-content:center;border-radius:2px;font-weight:500;font-size:17px;padding:.75em 1em}
.form-note{font-size:13px;opacity:.85;margin:10px 0 0}
.hp{display:none}
.form-msg{margin-top:26px;border:1px solid var(--mint);border-radius:2px;padding:22px 24px;font-size:17px;line-height:1.5}
.form-msg strong{display:block;color:var(--mint);font-size:20px;margin-bottom:4px}
.form-msg.err{border-color:#fff}
.form-msg.err strong{color:#fff}
.form-msg a{color:var(--mint)}
.form-msg:focus{outline:none}

/* legal */
.legal{padding:60px 0 28px}
.legal .wrap{max-width:720px}
.legal h1{font-size:26px;color:var(--blue);text-align:center;margin-bottom:1em}
.legal h1 span{display:block;font-weight:400;font-size:.8em}
.legal h2{font-size:19px;color:var(--blue);margin:1.6em 0 .4em}
.legal .side{direction:ltr;position:sticky;top:calc(var(--header) + 30px)}
.legal .side .en{font-size:clamp(46px,5.4vw,72px);line-height:.95;color:var(--blue)}
.legal a{color:var(--blue)}

/* reveal animation */
.reveal{opacity:0;transition:opacity .9s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.card-link.reveal{transform:translateY(24px)}
.beyond-box.reveal{transform:scale(.96)}
.video-card.reveal{transform:scale(.97)}
.services li.reveal{transform:translateX(-70px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.services li.reveal.in{transform:none}
.services li.reveal:nth-child(2){transition-delay:.25s}
.services li.reveal:nth-child(3){transition-delay:.5s}
.services .num{transition:opacity .9s ease .1s}
.services li:not(.in) .num{opacity:0}
.words .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}
.words .w>span{display:inline-block;transform:translateY(105%);transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.in .words .w>span{transform:none}
.in .words .w:nth-child(2)>span{transition-delay:.15s}
.in .words .w:nth-child(3)>span{transition-delay:.3s}
.in .words .w:nth-child(4)>span{transition-delay:.45s}
.no-js .words .w>span{transform:none}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

/* responsive */
@media (max-width:1024px){
  .nav ul{gap:26px}
  .site-header .wrap{width:calc(100% - 48px)}
  .logos{grid-template-columns:repeat(4,1fr)}
  .track li{flex-basis:calc((100% - 32px)/3)}
  .beyond-box{padding:32px}
}
@media (max-width:860px){
  :root{
  --svc-w:calc(3 * 250px + 2 * clamp(60px,10vw,170px));--header:64px}
  .brand{width:120px}
  .menu-btn{display:flex;order:3;margin-inline-start:auto}
  .site-header .wrap{position:relative}
  .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  .header-cta{display:none}
  .nav{position:fixed;top:var(--header);inset-inline:0;background:var(--navy);padding:10px 24px 26px;transform:translateY(-110%);visibility:hidden;transition:transform .25s,visibility .25s;z-index:-1}
  .menu-open .nav{transform:none;visibility:visible}
  .nav ul{flex-direction:column;gap:0}
  .nav li a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:18px}
  .nav .nav-cta{display:block;margin-top:18px}
  .intro .wrap,.p-hero .wrap,.about .wrap,.contact .wrap,.legal .wrap{grid-template-columns:1fr;gap:34px}
  .intro .big{order:-1}
  .intro-text .btn{margin-top:28px}
  .clarity h2 span{display:block}
  .services .num{text-align:center}
  .ba-badge{width:80px;height:80px;font-size:17px;top:-16px;left:-6px}
  .beyond-box{padding:30px 22px}
  .services ol{grid-template-columns:1fr;gap:28px;text-align:center}
  .quotes .more-wrap{justify-content:center}
  .services p{margin-inline:auto}
  .grid-2,.q-grid{grid-template-columns:1fr}
  .beyond-box{grid-template-columns:1fr;direction:rtl;text-align:center;padding:30px 22px}
  .beyond-text{text-align:center}
  .beyond-text h2{text-align:center}
  .popup ul{grid-template-columns:1fr;max-width:360px;margin:auto}
  .about-visual{order:-1}
  .hog{margin:auto}
  .about-text{max-width:none}
  .about-text .btn{margin-top:24px;align-self:flex-start}
  .contact .wrap{direction:rtl}
  .contact .c-title{direction:ltr;text-align:right}
  .track li{flex-basis:78%}
  .car-btn{display:none}
}
@media (min-width:861px){.nav .nav-cta{display:none}}
@media (max-width:560px){
  body{font-size:16px}
  .logos{grid-template-columns:repeat(3,1fr);gap:22px}
  .form-grid{grid-template-columns:1fr}
  .site-footer .wrap{justify-content:center;text-align:center}
  .intro{padding:60px 0}
}

/* mobile refinements */
@media (max-width:860px){
  .nav .nav-cta{display:inline-flex;justify-content:center;width:auto;padding:.6em 2.6em;font-size:16px;margin-top:22px}
  .popup-close{left:auto;right:14px;top:14px}
  .popup-body{padding-top:68px}
  .band .blue{display:block}
  .hero h1{width:112vw;max-width:640px;flex:none}
  .hero-arrow{animation:bob-strong 1.8s ease-in-out infinite}
  .about{padding-bottom:0}
  .about .wrap{display:flex;flex-direction:column;gap:0}
  .about-visual{display:contents}
  .about-visual h1{order:1;text-align:center;margin-bottom:26px}
  .about-text{order:2}
  .hog{order:3;max-width:none;width:100%;height:67vw;max-height:437px;overflow:hidden;margin:34px 0 0}
  .hog img{display:block;width:115%;height:auto;max-width:552px;margin-inline:-7.5%}
  .hog::before{width:66%;left:16%;top:10%}
  .about-text .btn{align-self:center;min-width:0;width:72%;font-size:19px;padding:.7em 1em}
  .social{justify-content:flex-end;margin-top:18px}
  .social svg{width:34px;height:34px}
}
@keyframes bob-strong{0%,100%{transform:translateY(0)}50%{transform:translateY(16px)}}
@media (max-width:560px){
  body{font-size:18px}
  .btn{font-size:18px}
  .logos{grid-template-columns:repeat(2,1fr);gap:18px 26px}
  .q-card{font-size:17px}
  .services p{max-width:300px}
}

/* hero logo: mobile variant with readable tagline */
.logo-m{display:none}
@media (max-width:560px){
  .hero h1{width:auto;max-width:none}
  .hero h1 .logo-full{display:none}
  .logo-m{display:flex;flex-direction:column;align-items:center}
  .hero .logo-m svg{width:76vw;max-width:400px;height:auto;display:block}
  .logo-m .tagline{font-family:Rubik,sans-serif;font-weight:400;font-size:16.5px;letter-spacing:.26em;margin-top:14px;margin-inline-end:-.26em;direction:ltr;color:#fff}
  p,li,blockquote{line-height:1.42}
  .intro{padding:54px 0 40px}
  .intro-text{align-items:center;text-align:center}
  .intro-text .btn{align-self:center}
  .intro .big{text-align:center}
  .band p{font-size:25px;line-height:1.25}
  .services{padding:44px 0 30px}
  .services .num{font-size:124px}
  .services h3{font-size:23px}
  .services p{max-width:250px}
  .projects{padding-bottom:12px}
  .clients{padding-top:28px}
  .clients h2{margin-bottom:14px}
  .logos{grid-template-columns:repeat(2,minmax(0,160px));justify-content:center;gap:14px 14px;max-width:340px}
  .logos img{max-width:160px}
  .video-card{margin-inline:-14px}
  .ba-badge{left:4px;top:-30px}
  .logos .hide-m{display:none}
  .mbr{display:block}
  .beyond{padding-bottom:35px}
  .beyond-box{padding:28px 14px 34px;gap:30px}
  .beyond-media{margin:4px -14px 0}
  .quotes{padding:40px 0 24px}
  .more-link{font-size:17px}
  .quotes .more-wrap{margin-top:16px}
  .site-footer{padding:14px 0}
  .site-footer .wrap{gap:4px}
  .site-footer .wrap p:first-child{font-size:15px}
}

@media (max-width:860px){
  .contact .c-title{text-align:left}
}
@media (max-width:560px){
  .clarity p{max-width:310px}
  .field input{font-size:17px}
  .field input::placeholder{color:#fff}
  .check{font-size:15px;color:#fff}
  .contact h2{font-size:24px}
  .contact:not(.contact-about) h2 strong{font-size:21px}
}

@media (max-width:860px){
  .contact-about .wrap > div:first-child{order:2;direction:ltr;text-align:left;width:100%}
  .contact-about .c-intro{order:1;text-align:center}
  .contact-about .c-intro .btn-ghost{margin-inline:auto}
  .contact-about .wrap{display:flex;flex-direction:column;gap:40px}
  .contact-about .social{justify-content:flex-start}
}

/* hero logo build-in */
.hero h1 svg.logo-full{width:100%;height:auto;display:block}
@media (max-width:560px){.hero h1 svg.logo-full{display:none}}
.hero [data-lt]{opacity:0;transform-box:fill-box;transform-origin:50% 100%;animation:lt .78s cubic-bezier(.75,0,.25,1) forwards;animation-delay:calc(.25s + var(--i) * .06s)}
@keyframes lt{
  0%{opacity:0;transform:scale(.55,.04)}
  12%{opacity:1}
  38%{transform:translateY(-22%) scale(.62,1.7)}
  58%{transform:translateY(0) scale(1.14,.82)}
  76%{transform:translateY(-4%) scale(.96,1.07)}
  100%{opacity:1;transform:none}}
.hero .tg,.hero .logo-m .tagline{opacity:0;animation:tg-m .9s cubic-bezier(.2,.8,.2,1) 1.05s forwards}
.hero .logo-m .tagline{animation-name:tg-m}
@keyframes tg{to{opacity:1}}
.hero .tg{transform-box:fill-box;transform-origin:center;animation-name:tg-d}
@keyframes tg-d{from{opacity:0;transform:translateY(40%) scaleX(1.15)}to{opacity:1;transform:none}}
@keyframes tg-m{from{opacity:0;letter-spacing:.6em}to{opacity:1;letter-spacing:.26em}}
.hero-arrow{opacity:0;animation:tg .8s ease 1.6s forwards, bob 2.4s ease-in-out 2.4s infinite}
@media (prefers-reduced-motion:reduce){.hero [data-lt],.hero .tg,.hero .logo-m .tagline,.hero-arrow{opacity:1;animation:none;transform:none;filter:none}}
@media (max-width:860px){
  .hero-arrow{animation:tg .8s ease 1.6s forwards, bob-strong 1.8s ease-in-out 2.4s infinite}
  .contact:not(.contact-about) .c-intro{text-align:center}
  .contact:not(.contact-about) .form-grid{text-align:right}
}

/* tablet portrait (561-860) */
@media (min-width:561px) and (max-width:860px){
  body{font-size:18px}
  p,li,blockquote{line-height:1.5}
  .btn{font-size:17px}
  .intro .wrap,.clarity .wrap,.about .wrap,.legal .wrap,.contact .wrap,.p-hero .wrap,.quotes .wrap,.clients .wrap{max-width:620px}
  .intro{padding:70px 0 50px}
  .intro-text{align-items:center;text-align:center}
  .intro-text p{max-width:480px}
  .intro-text .btn{align-self:center}
  .intro .big{text-align:center;font-size:64px}
  .clarity p{max-width:520px}
  .band p{font-size:26px}
  .band .blue{display:inline}
  .services ol{gap:44px}
  .services .num{font-size:130px}
  .services h3{font-size:24px}
  .services p{max-width:320px}
  .grid-2{grid-template-columns:repeat(2,1fr);gap:16px}
  .projects .grid-2{max-width:none;padding-inline:24px}
  .slides .grid-2{gap:20px}
  .logos{grid-template-columns:repeat(3,minmax(0,160px));justify-content:center;gap:10px 22px}
  .logos img{max-width:160px}
  .q-card{font-size:17px;padding:30px 34px}
  .beyond-box{max-width:620px;margin:auto}
  .track li{flex-basis:calc((100% - 32px)/3)}
  .contact h2{font-size:26px}
  .contact:not(.contact-about) .c-intro{text-align:center}
  .contact:not(.contact-about) .form-grid{text-align:right}
  .field input{font-size:17px}
  .check{font-size:15px}
  .p-hero h1{font-size:30px}
  .p-hero h1 small{font-size:22px}
  .legal h1{font-size:28px}
  .about-text{max-width:none}
  .about-text .btn{align-self:center;width:60%;font-size:19px;padding:.7em 1em}
  .hog{height:52vw;max-height:440px}
  .hog img{width:100%;max-width:520px;margin-inline:auto}
  .site-footer .wrap{justify-content:center;text-align:center}
}
@media (max-width:560px){.slides .grid-2{gap:20px}}
.q-single .q-card blockquote,.q-single .q-card figcaption{max-width:600px;margin-inline:auto}
.p-hero p{max-width:380px}
.popup li p{line-height:1.35}
@media (max-width:560px){.intro-text .btn{padding:.75em 1.7em}}
@media (min-width:861px){.intro-text .btn{padding:.62em 2.2em}}
.popup-close{left:auto;right:22px}
@media (min-width:861px){
  .about-text .btn{min-width:0;padding:.62em 2.2em}
  .hog img{transform:translateX(-5%)}
  .hog::before{width:74%;left:12%;top:10%}
  .ba-badge{width:88px;height:88px;font-size:19px;top:-22px;left:-28px}
}

/* hero: always fit one screen, quills always visible */
.hero{height:calc(100svh - var(--header));min-height:460px;padding:24px 24px 0;justify-content:flex-start}
.hero h1{margin-top:auto !important;width:min(44vw,78vh,860px)}
.hero-arrow{margin:clamp(18px,6vh,90px) auto auto !important}
.hero-quills{margin-top:clamp(16px,3vh,40px);width:min(clamp(340px,33vw,680px),56vh);flex:none}
@media (min-width:561px) and (max-width:860px){.hero h1{width:min(72vw,52vh,600px)}}
@media (max-width:560px){
  .hero h1{width:auto}
  .hero .logo-m svg{width:min(76vw,46vh,400px)}
  .hero-quills{width:min(92vw,46vh)}
}

/* round: bigger quills (cropped at bottom), logo lower, smaller slides */
.hero-quills{--qw:min(50vw,96vh,900px);width:var(--qw);margin-top:clamp(12px,2.5vh,32px);margin-bottom:calc(var(--qw) * -0.09)}
.hero-arrow{margin:clamp(16px,4.5vh,70px) auto clamp(8px,2vh,30px) !important}
.hero h1{margin-top:auto !important}
@media (min-width:561px) and (max-width:860px){.hero-quills{--qw:min(80vw,46vh)}}
@media (max-width:560px){.hero-quills{--qw:min(104vw,50vh)}}
.slides .grid-2{max-width:860px}
.hero-quills{margin-top:calc(var(--qw) * -0.05);margin-bottom:calc(var(--qw) * -0.1)}
@media (max-width:560px){.hero-arrow{margin-bottom:auto !important}.hero-quills{margin-top:0}}
@media (max-width:560px){.hero-quills{--qw:min(116vw,56vh)}}

@media (max-width:560px){.hero-quills{max-width:none}}
@media (min-width:861px){
  .p-hero p{font-size:16px;line-height:1.45}
  .p-hero .wrap{grid-template-columns:minmax(0,380px) minmax(0,500px)}
  .about-text p:not(h2+p){font-size:16px}
}
@media (min-width:861px){
  .about-text .btn{margin-top:14px}
  .p-hero .wrap{gap:clamp(48px,5vw,90px);justify-content:center}
}
@media (min-width:861px){.hog{margin-inline-start:clamp(-58px,calc(560px - 50vw),0px)}}
/* hero spacing via spacers */
.hero::before{content:"";flex:1.25 1 0}
.hero-sp{display:block;flex:0 1 0}
.hero-sp.sp2{flex:1 1 0}
.hero h1{margin-top:0 !important}
.hero-arrow{margin:clamp(16px,4.5vh,70px) auto clamp(8px,2vh,24px) !important}
@media (max-width:560px){
  .hero::before{flex:1 1 0}
  .hero-sp.sp1{flex:1 1 0}
  .hero-sp.sp2{flex:0 0 0}
  .hero-arrow{margin:16px auto 14px !important}
}
.hero::before{flex-grow:1.7}
@media (max-width:560px){.hero::before{flex-grow:1.5}}
/* desktop tagline: keep its intended scale (animation was overriding it) */
@keyframes tg-d{from{opacity:0;transform:translateY(40%) scale(.8,.7)}to{opacity:1;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){.hero .tg{transform:scale(.7)}}
/* short desktop screens (laptops): bigger logo + tagline */
@media (min-width:861px) and (max-height:800px){
  .hero h1{width:min(46vw,94vh,860px)}
  @keyframes tg-d{from{opacity:0;transform:translateY(40%) scale(.95,.85)}to{opacity:1;transform:scale(.85)}}
  .hero-quills{--qw:min(50vw,88vh,900px)}
}
@media (min-width:861px) and (max-height:800px) and (prefers-reduced-motion:reduce){.hero .tg{transform:scale(.85)}}
@media (min-width:561px){.hero-sp.sp1{flex:1 1 0}.hero-sp.sp2{flex:0 0 0}.hero-arrow{margin-bottom:clamp(10px,2.2vh,26px) !important}}
@media (max-width:560px){.p-hero .wrap{gap:20px}}
@media (max-width:560px){.p-hero p{margin-bottom:0}}
/* tablet portrait round */
@media (min-width:561px) and (max-width:860px){
  :root{--header:78px}
  .brand{width:150px}
  .menu-btn{width:54px;height:54px;padding:0 10px;gap:8px}
  .menu-btn span{height:2.5px}
  .menu-open .menu-btn span:nth-child(1){transform:translateY(10.5px) rotate(45deg)}
  .menu-open .menu-btn span:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}
  .hero h1{width:min(80vw,58vh,680px)}
  .hero::before{flex-grow:1.2}
  .hero-quills{--qw:min(104vw,64vh,860px);max-width:none}
  .logos{grid-template-columns:repeat(4,minmax(0,140px));gap:10px 20px}
  .logos .hide-t{display:none}
  .clients{padding-top:14px}
  .beyond-text h2{font-size:46px}
  .beyond-text p{font-size:20px}
  .beyond-text .no-t{display:none}
  .more-link{font-size:19px}
  .quotes{padding-bottom:26px}
  .quotes .more-wrap{margin-top:14px}
}
@media (min-width:561px) and (max-width:860px){
  @keyframes tg-d{from{opacity:0;transform:translateY(40%) scale(1,.9)}to{opacity:1;transform:scale(.9)}}
}
@media (min-width:561px) and (max-width:860px) and (prefers-reduced-motion:reduce){.hero .tg{transform:scale(.9)}}
@media (min-width:561px) and (max-width:860px){
  .services ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-inline:8px}
  .services .num{font-size:clamp(80px,12vw,104px)}
  .services h3{font-size:20px}
  .services p{font-size:16px;max-width:210px}
}
@media (min-width:561px) and (max-width:860px){
  .popup ul{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:16px}
  .popup li img{margin-bottom:12px}
  .popup li h3{font-size:18px}
  .popup li p{font-size:15px}
}
@media (min-width:561px) and (max-width:860px){.popup .lead{font-size:20px}}
#popup-title:focus{outline:none}
/* tablet: about page */
@media (min-width:561px) and (max-width:860px){
  .about-visual h1{margin-bottom:46px}
  .hog{height:calc(52vw - 12px)}
  .contact-about .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;direction:ltr;max-width:none;padding-inline:32px}
  .contact-about .wrap > div:first-child{order:0;text-align:left}
  .contact-about .c-intro{order:0;text-align:right;direction:rtl}
  .contact-about .c-intro .btn-ghost{margin-inline:0}
  .contact-about .c-title{font-size:64px}
}
/* tablet: legal forms like desktop, project hero 2 columns */
@media (min-width:561px) and (max-width:860px){
  .contact:not(.contact-about) .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;direction:ltr;max-width:none;padding-inline:32px}
  .contact:not(.contact-about) .c-title{text-align:left;font-size:58px}
  .contact:not(.contact-about) .c-intro{text-align:right;direction:rtl}
  .contact:not(.contact-about) .c-intro .btn-ghost{margin-inline:0}
  .p-hero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:30px;max-width:none;padding-inline:28px;align-items:center}
  .p-hero h1{font-size:24px}
  .p-hero h1 small{font-size:18px}
  .p-hero p{font-size:15px;line-height:1.45;margin-bottom:0}
}
.about{overflow-x:clip}
/* tablet landscape (861-1199) */
@media (min-width:861px) and (max-width:1199px){
  .wrap{width:min(var(--wrap),100% - 112px)}
  .site-header .wrap{width:min(var(--wrap),100% - 80px)}
  body{font-size:18px}
  .intro .wrap{grid-template-columns:minmax(0,400px) max-content;justify-content:center;gap:56px}
  .ba-badge{width:98px;height:98px;font-size:21px}
  .about-text p:not(h2+p){font-size:17px}
  .p-hero p{font-size:17px}
}
@media (min-width:561px) and (max-width:860px){
  .ba-badge{width:92px;height:92px;font-size:19px}
}
/* popup: no white flash on overscroll bounce (iPad) */
dialog.popup{overscroll-behavior:contain;background:linear-gradient(to bottom,#fff 0 50%,var(--blue) 50% 100%)}
.popup-body{background:#fff}
@media (min-width:861px) and (max-width:1199px){.more-link{font-size:18px}}
@media (min-width:561px) and (max-width:860px){.clarity h2 span{display:inline}}
@media (min-width:861px) and (max-width:1199px){.beyond{padding-bottom:40px}.quotes{padding-bottom:28px}}
@media (min-width:561px) and (max-width:860px){.beyond{padding-bottom:46px}}
@media (min-width:1200px){.beyond{padding-bottom:40px}.quotes{padding-bottom:28px}}
/* 404 */
.nf{position:relative;overflow:hidden;min-height:calc(100svh - var(--header) - 60px);display:flex;align-items:center;justify-content:center;padding:60px 24px;background:#fff}
.nf-text{position:relative;z-index:1;text-align:center;max-width:560px;margin-inline-start:auto;margin-inline-end:8vw}
.nf-num{font-size:clamp(110px,16vw,220px);line-height:.9;margin:0 0 10px;color:var(--blue);letter-spacing:-.02em}
.nf h1{font-size:clamp(26px,3vw,38px);color:var(--ink);margin:0 0 14px}
.nf p{font-size:18px;color:var(--ink);margin:0 0 28px}
.nf-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-ghost-blue{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.btn-ghost-blue:hover{background:var(--blue);color:#fff}
.nf-hog{position:absolute;left:0;bottom:0;width:min(40vw,62vh,560px);height:auto;transform-origin:0 100%;animation:peek 1.1s cubic-bezier(.34,1.4,.6,1) .3s both}
@keyframes peek{from{transform:translate(-18%,40%) rotate(-8deg)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.nf-hog{animation:none}}
@media (max-width:860px){
  .nf{align-items:flex-start;padding-top:48px;padding-bottom:calc(min(62vw,46vh) + 10px)}
  .nf-text{margin-inline:auto}
  .nf-hog{width:min(62vw,46vh)}
}
.nf .nf-num{font-size:clamp(110px,15vw,210px);line-height:.9;margin:0 0 14px}
@media (min-width:861px){.nf{justify-content:flex-start}.nf-text{margin-inline-start:max(8vw,40px);margin-inline-end:0;max-width:min(520px,46vw)}}
@media (max-width:860px){.nf .nf-num{font-size:clamp(96px,28vw,150px)}.nf{padding-bottom:calc(min(62vw,46vh) - 10px)}}
.nf .nf-num{color:var(--blue)}@media (max-width:560px){.nf-hog{width:min(72vw,48vh)}.nf{padding-bottom:calc(min(72vw,48vh) - 10px)}}
.legal .btn-blue,.legal .btn-blue:visited{color:#fff}.legal .btn-blue:hover{color:var(--blue)}
