/* Shared base for the 3 avivi.nails designs. Each dN.css sets the tokens and its own look. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--ft);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-family:var(--fd);line-height:1.1;margin:0}
p{margin:0}
a{color:inherit}
ul{list-style:none;margin:0;padding:0}
figure{margin:0}
main>section{padding:clamp(56px,9vw,120px) clamp(16px,5vw,64px)}
section h2{font-size:clamp(30px,5vw,54px);margin-bottom:28px}

:focus-visible{outline:3px solid var(--focus,var(--acc));outline-offset:3px;border-radius:4px}
.logo{min-height:44px;display:inline-flex;align-items:center}
.skip{position:absolute;inset-inline-start:12px;top:-60px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;z-index:50;text-decoration:none}
.skip:focus{top:12px}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:var(--r,999px);background:var(--acc);color:var(--acc-ink);font:700 16px var(--ft);text-decoration:none;border:2px solid var(--acc);transition:transform .2s ease,background-color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:currentColor}

/* gallery tabs */
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.tabs [role=tab]{min-height:44px;padding:0 20px;border-radius:var(--r,999px);border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:600 16px var(--ft);cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.tabs [role=tab] span{font-size:13px;color:var(--soft)}
.tabs [aria-selected=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tabs [aria-selected=true] span{color:inherit;opacity:.75}
.pnote{color:var(--soft);margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(44%,220px),1fr));gap:12px}
.grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--ri,12px)}

/* services menu */
.menu{display:grid;gap:0;max-width:820px}
.menu li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.menu h3{font-size:22px;margin-bottom:4px}
.menu p{color:var(--soft);max-width:52ch}
.menu b{font:700 20px var(--ft);white-space:nowrap}

/* visually hidden */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* "נעים מאוד" first-person story */
.story{display:grid;gap:20px;max-width:980px}
.pill{display:inline-block;justify-self:start;padding:6px 16px;border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--soft)}
.story h2{margin:0;max-width:18ch}
.story-body{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.story-body p{font-size:19px;line-height:1.75}
.facts{display:flex;flex-wrap:wrap;gap:10px}
.facts li{padding:8px 16px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:600;font-size:15px}

/* her real Instagram post as a card */
.igp{position:relative;background:var(--ig-bg,#fff);color:var(--ig-ink,#121212);border:1px solid var(--ig-line,#e4e0dc);border-radius:var(--ig-r,14px);overflow:hidden;width:100%;max-width:420px}
.igp header{display:flex;gap:10px;align-items:center;padding:10px 12px}
.igp header b{font-size:14px}
.igp header span{display:block;font-size:12px;opacity:.7}
.igp .av{width:34px;height:34px;font-size:11px}
.igp img{width:100%;aspect-ratio:4/5;object-fit:cover}
.acts{display:flex;gap:14px;padding:10px 12px 4px}
.cap{padding:2px 12px 6px;font-size:15px;line-height:1.55}
.igp .go{display:flex;align-items:center;min-height:44px;padding:0 12px 8px;font-size:14px;font-weight:600;opacity:.75;text-decoration:none}
.igp .go:hover{opacity:1;text-decoration:underline}

/* FAQ as a chat with Aviv */
.av{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--av-bg,linear-gradient(135deg,#E7B9A8,#9B4A5A));color:#fff;font:700 13px/1 system-ui,sans-serif;letter-spacing:.04em;direction:ltr}
.ask{position:relative;overflow:hidden;background:var(--ask-bg,#1B1516);color:#fff;display:grid;place-items:center;isolation:isolate}
.orbs i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;z-index:-1}
.orbs i:nth-child(1){width:360px;height:360px;background:var(--orb1,#9B4A5A);top:-90px;inset-inline-start:-80px}
.orbs i:nth-child(2){width:300px;height:300px;background:var(--orb2,#E7B9A8);bottom:-110px;inset-inline-end:-40px}
.orbs i:nth-child(3){width:220px;height:220px;background:var(--orb3,#6E5A8C);top:40%;inset-inline-start:45%;opacity:.35}
.phone{width:min(580px,100%);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:18px 18px 20px;backdrop-filter:blur(14px);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.ask-head{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.14)}
.ask-head h2{font-size:clamp(22px,3vw,30px);margin:0;color:#fff}
.ask-head p{font-size:14px;opacity:.75}
.log{display:flex;flex-direction:column;gap:10px;padding:16px 2px;max-height:400px;overflow-y:auto;scroll-behavior:smooth}
.msg{display:flex;gap:8px;align-items:flex-end;max-width:90%;animation:msgin .35s ease both}
.msg p{padding:11px 16px;border-radius:20px;font-size:16px;line-height:1.55}
.msg.her{align-self:flex-start}
.msg.her p{background:var(--her-bg,#fff);color:var(--her-ink,#1B1516);border-end-start-radius:6px}
.msg.me{align-self:flex-end}
.msg.me p{background:var(--me-bg,rgba(255,255,255,.16));color:#fff;border-end-end-radius:6px}
.typing p{display:flex;gap:5px;align-items:center;min-height:44px}
.typing i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35;animation:blink 1s infinite}
.typing i:nth-of-type(2){animation-delay:.15s}
.typing i:nth-of-type(3){animation-delay:.3s}
@keyframes blink{50%{opacity:1;transform:translateY(-2px)}}
@keyframes msgin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.qs{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}
.qs button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font:500 15px var(--ft);cursor:pointer;transition:background-color .2s}
.qs button:hover{background:rgba(255,255,255,.12)}
.qs button.asked{opacity:.45}
.more{display:flex;justify-content:center;align-items:center;min-height:52px;margin-top:16px;border-radius:999px;background:var(--her-bg,#fff);color:var(--her-ink,#1B1516);font-weight:700;text-decoration:none}
.ask :focus-visible{outline-color:#fff}
.nojs dt{font-weight:700;margin-top:12px}
.nojs dd{margin:4px 0 0;opacity:.85}

@media (max-width:760px){.story-body{grid-template-columns:1fr}.log{max-height:340px}}

.close{text-align:center}
.close h2{margin-bottom:14px}
.close p{max-width:46ch;margin:0 auto 26px;color:var(--soft)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.close .addr{margin:26px auto 0;font-size:15px}

.ft{padding:28px 16px 110px;text-align:center;font-size:14px;color:var(--soft);border-top:1px solid var(--line)}
.ft .sk{margin-top:6px;font-size:13px}

/* design switcher (sketch only) */
@media (max-width:760px){.sw span{display:none}.sw{padding:5px!important}}
.sw{position:fixed;inset-inline-end:16px;bottom:16px;z-index:40;display:flex;align-items:center;gap:6px;background:#111;color:#fff;padding:6px 6px 6px 14px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25);font:600 14px system-ui,sans-serif}
.sw span{padding-inline:8px 4px;white-space:nowrap}
.sw a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#fff;text-decoration:none;background:rgba(255,255,255,.12)}
.sw a[aria-current]{background:#fff;color:#111}
.sw a:focus-visible{outline-color:#fff}

/* reveal */
.rv .in{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.rv section h2:not(.in),.rv .spread:not(.in),.rv .igp:not(.in),.rv .menu li:not(.in),.rv .grid li:not(.in),.rv .story-body p:not(.in){opacity:0}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
