
:root{
  --bg:#070708;
  --bg-soft:#0b0b0d;
  --panel:#101012;
  --panel-2:#151518;
  --panel-3:#1b1b1f;
  --paper:#f6f3ef;
  --muted:#a5a0a0;
  --muted-2:#6f6c70;
  --line:rgba(255,255,255,.095);
  --line-strong:rgba(255,255,255,.17);
  --red:#d1132c;
  --red-2:#ef354b;
  --red-dark:#7f0f1d;
  --wine:#8e0e28;
  --shadow:0 28px 90px rgba(0,0,0,.5);
  --shadow-soft:0 14px 42px rgba(0,0,0,.34);
  --radius:28px;
  --radius-md:20px;
  --radius-sm:14px;
  --ease:cubic-bezier(.2,.75,.25,1);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;min-height:100vh;color:var(--paper);background:
  radial-gradient(circle at 9% 2%,rgba(209,19,44,.11),transparent 32%),
  radial-gradient(circle at 95% 34%,rgba(126,16,35,.09),transparent 34%),
  linear-gradient(180deg,#070708,#09090b 45%,#070708);
  overflow-x:hidden;
}
body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.45}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:rgba(239,53,75,.35);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#080809}
::-webkit-scrollbar-thumb{background:#2a2a2e;border-radius:999px;border:2px solid #080809}
::-webkit-scrollbar-thumb:hover{background:#3a272b}
.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}
.muted{color:var(--muted)}
.page-noise{
  position:fixed;inset:0;z-index:-3;opacity:.12;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")
}
.ambient{position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:-2;opacity:.28}
.ambient-a{width:440px;height:440px;background:#4d0713;left:-180px;top:18vh;animation:ambientFloat 14s ease-in-out infinite alternate}
.ambient-b{width:380px;height:380px;background:#28000a;right:-160px;top:58vh;animation:ambientFloat 18s ease-in-out infinite alternate-reverse}
@keyframes ambientFloat{to{transform:translate3d(50px,-32px,0) scale(1.1)}}
.scroll-progress{position:fixed;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--red),#ff7282);z-index:500;box-shadow:0 0 20px rgba(239,53,75,.6)}
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;transform:translate3d(-100px,-100px,0);will-change:transform}
.cursor-dot{width:5px;height:5px;background:#fff;border-radius:50%}
.cursor-ring{width:34px;height:34px;border:1px solid rgba(239,53,75,.7);border-radius:50%;transition:width .2s var(--ease),height .2s var(--ease),border-color .2s,background .2s}
body.cursor-active .cursor-ring{width:54px;height:54px;border-color:rgba(239,53,75,.45);background:rgba(209,19,44,.055)}
@media(pointer:coarse),(max-width:900px){.cursor-dot,.cursor-ring{display:none}}

.topbar{
  position:sticky;top:0;z-index:80;height:82px;display:flex;align-items:center;gap:28px;
  padding:0 clamp(18px,5vw,74px);border-bottom:1px solid transparent;
  background:linear-gradient(180deg,rgba(7,7,8,.94),rgba(7,7,8,.72));
  backdrop-filter:blur(22px) saturate(130%);transition:height .3s var(--ease),border-color .3s,box-shadow .3s;
}
.topbar.scrolled{height:70px;border-color:var(--line);box-shadow:0 18px 50px rgba(0,0,0,.2)}
.brand{border:0;background:transparent;padding:0;display:flex;align-items:center}
.brand img{width:154px;max-height:36px;object-fit:contain}
.topnav{display:flex;gap:4px;margin-left:auto}
.topnav button,.link-btn{
  border:0;background:transparent;color:#b8b4b4;padding:11px 13px;border-radius:999px;
  transition:color .2s,background .2s,transform .2s var(--ease)
}
.topnav button:hover,.link-btn:hover{color:#fff;background:rgba(255,255,255,.055);transform:translateY(-1px)}
.top-actions{display:flex;align-items:center;gap:10px}
.ghost-btn,.primary-btn,.danger-btn,.soft-btn,.icon-btn{
  min-height:44px;border-radius:999px;border:1px solid var(--line-strong);padding:11px 18px;
  font-weight:780;color:var(--paper);background:rgba(255,255,255,.025);
  transition:transform .22s var(--ease),border-color .22s,background .22s,box-shadow .22s;
}
.primary-btn{background:linear-gradient(135deg,var(--red),#e42a42);border-color:rgba(255,82,105,.45);box-shadow:0 10px 26px rgba(209,19,44,.22)}
.primary-btn:hover{transform:translateY(-2px);background:linear-gradient(135deg,var(--red-2),#d1132c);box-shadow:0 16px 34px rgba(209,19,44,.3)}
.ghost-btn:hover,.soft-btn:hover,.icon-btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.065)}
.danger-btn{background:#64101c;border-color:#8c1b2a}
.danger-btn:hover{background:#801424;transform:translateY(-1px)}
.icon-btn{width:43px;height:43px;padding:0;display:grid;place-items:center}
.pulse-dot{font-size:10px;color:var(--red-2);text-shadow:0 0 14px rgba(239,53,75,.8)}
.account-pill{padding-inline:20px}

.initial-loader{min-height:74vh;display:grid;place-content:center;text-align:center;gap:16px}
.loader-logo{width:120px;height:120px;margin:auto;border-radius:30px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.45)}
.loader-logo img{width:100%;height:100%;object-fit:cover}
.loader-line{width:220px;height:3px;background:#1b1b1f;border-radius:99px;overflow:hidden}
.loader-line i{display:block;height:100%;width:38%;background:linear-gradient(90deg,transparent,var(--red-2),transparent);animation:loader 1.1s linear infinite}
.initial-loader p{margin:0;color:var(--muted)}
@keyframes loader{from{transform:translateX(-100%)}to{transform:translateX(320%)}}

.hero{
  min-height:min(820px,calc(100vh - 82px));display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  align-items:center;gap:clamp(36px,6vw,100px);padding:clamp(54px,8vw,110px) clamp(22px,7vw,112px);
  position:relative;overflow:hidden;border-bottom:1px solid var(--line)
}
.hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(110deg,rgba(209,19,44,.13),transparent 38%),
    radial-gradient(circle at 76% 42%,rgba(209,19,44,.12),transparent 28%)
}
.hero:after{
  content:"CEIBAINK";position:absolute;right:-2vw;bottom:-3vw;font-weight:950;font-size:clamp(90px,16vw,260px);
  letter-spacing:-.08em;color:rgba(255,255,255,.018);pointer-events:none;white-space:nowrap
}
.hero-copy{position:relative;z-index:2;max-width:900px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.2em;color:#f35468;text-transform:uppercase}
.eyebrow:before{content:"";width:26px;height:1px;background:currentColor}
.hero h1{font-size:clamp(54px,7.4vw,112px);line-height:.88;letter-spacing:-.062em;margin:18px 0 24px;max-width:980px}
.hero h1 .accent,.accent{color:var(--red-2)}
.hero p{font-size:clamp(17px,1.7vw,22px);line-height:1.62;color:#c5c1c1;max-width:760px}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:32px}
.hero-visual{position:relative;min-height:520px;display:grid;place-items:center;z-index:2;perspective:1000px}
.hero-orbit{
  width:min(390px,70vw);aspect-ratio:1;border-radius:40px;padding:22px;position:relative;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 100px rgba(0,0,0,.55);
  transform:rotate(-3deg);overflow:hidden
}
.hero-orbit:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 120deg,transparent,rgba(209,19,44,.22),transparent 35%);animation:spin 9s linear infinite}
.hero-orbit:after{content:"";position:absolute;inset:1px;border-radius:39px;background:#0b0b0d;z-index:0}
.hero-orbit img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;border-radius:25px;filter:contrast(1.04)}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-float{
  position:absolute;z-index:5;min-width:170px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);
  background:rgba(18,18,20,.84);backdrop-filter:blur(14px);border-radius:18px;box-shadow:var(--shadow-soft);
  animation:floatCard 5s ease-in-out infinite
}
.hero-float strong{display:block;font-size:21px}.hero-float small{color:var(--muted)}
.hero-float.one{left:0;top:13%}.hero-float.two{right:-1%;bottom:18%;animation-delay:-2.2s}
@keyframes floatCard{50%{transform:translateY(-10px)}}

.section{padding:clamp(62px,8vw,112px) clamp(18px,6vw,90px);border-bottom:1px solid var(--line);position:relative}
.section:nth-of-type(even){background:linear-gradient(180deg,rgba(255,255,255,.012),transparent)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.section h2,.dashboard h1{font-size:clamp(36px,4.5vw,64px);letter-spacing:-.05em;line-height:.96;margin:7px 0 0}
.section-head p{color:var(--muted);max-width:520px}
.section-tools{display:flex;align-items:flex-end;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.section-tools>p{margin:0}
.filter-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.select.compact{min-width:150px;padding:10px 36px 10px 13px}
.searchbar{display:flex;gap:10px;max-width:590px;width:100%;padding:6px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:18px}
.searchbar .field{border:0;background:transparent;box-shadow:none}
.field,.textarea,.select{
  width:100%;background:#0d0d0f;border:1px solid #303035;border-radius:14px;padding:13px 14px;color:var(--paper);outline:none;
  transition:border-color .2s,box-shadow .2s,background .2s
}
.field:focus,.textarea:focus,.select:focus{border-color:rgba(239,53,75,.7);box-shadow:0 0 0 4px rgba(239,53,75,.09);background:#111114}
.textarea{min-height:120px;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-row{display:flex;flex-direction:column;gap:7px}
.form-row.full{grid-column:1/-1}
.form-row label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:#bbb6b6}
.hint{font-size:12px;color:#898487}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px}
.studio-card,.review-card,.recent-card,.stat-card,.request-card,.panel,.admin-card{
  border:1px solid var(--line);background:linear-gradient(155deg,rgba(26,26,30,.94),rgba(12,12,14,.97));
  border-radius:var(--radius);box-shadow:0 16px 50px rgba(0,0,0,.18);position:relative;overflow:hidden;
  transition:transform .32s var(--ease),border-color .32s,box-shadow .32s
}
.studio-card:before,.panel:before,.admin-card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);pointer-events:none
}
.studio-card:hover,.review-card:hover,.recent-card:hover,.request-card:hover,.admin-card:hover{
  transform:translateY(-6px);border-color:rgba(239,53,75,.28);box-shadow:0 28px 64px rgba(0,0,0,.34)
}
.studio-card{min-height:430px;display:flex;flex-direction:column}
.studio-media{height:245px;background:#09090a;overflow:hidden;position:relative}
.studio-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,7,8,.78))}
.studio-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .7s}
.studio-card:hover .studio-media img{transform:scale(1.045);filter:saturate(1.08)}
.studio-body{padding:21px 21px 22px;display:flex;flex-direction:column;flex:1}
.studio-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#a8a3a4;font-size:12px}
.studio-meta span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studio-card h3{font-size:25px;letter-spacing:-.025em;margin:10px 0 8px}
.studio-card p{line-height:1.55}
.studio-body .card-actions{margin-top:auto;padding-top:14px}
.card-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}

.recent-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.recent-card{grid-column:span 3;aspect-ratio:1;cursor:pointer;border-radius:22px}
.recent-card:nth-child(7n+1),.recent-card:nth-child(7n+5){grid-column:span 6;grid-row:span 2}
.recent-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.recent-card:hover img{transform:scale(1.055)}
.recent-card figcaption{position:absolute;inset:auto 0 0;padding:50px 15px 14px;background:linear-gradient(transparent,rgba(0,0,0,.88));font-size:12px;font-weight:780}
.reviews-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,410px);gap:15px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x mandatory}
.review-card{padding:23px;scroll-snap-align:start;min-height:190px}
.review-card p{font-size:16px;line-height:1.6}.review-card small{color:var(--muted)}
.stars{color:#f1485d;letter-spacing:2px;font-size:15px}
.promo-card{display:flex;flex-direction:column;gap:8px}
.promo-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:17px;margin-bottom:5px;border:1px solid var(--line)}

.empty{
  min-height:230px;border:1px solid var(--line);border-radius:var(--radius);padding:38px;text-align:center;color:#9e999b;
  display:grid;place-content:center;background:
  linear-gradient(145deg,rgba(255,255,255,.018),rgba(255,255,255,.005)),
  radial-gradient(circle at center,rgba(209,19,44,.06),transparent 60%)
}
.empty img{width:78px;height:78px;object-fit:cover;margin:0 auto 16px;border-radius:19px;opacity:.88}
.empty strong{font-size:17px;color:#e8e4e1;margin-bottom:5px}
.empty p{margin:0;max-width:520px}
.gallery-placeholder{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery-placeholder span{aspect-ratio:1;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#111114,#0a0a0b);position:relative;overflow:hidden}
.gallery-placeholder span:after{content:"";position:absolute;width:60px;height:60px;border-radius:50%;background:rgba(209,19,44,.07);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 50px rgba(209,19,44,.13)}

.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.how-card{padding:26px;border-radius:25px;border:1px solid var(--line);background:linear-gradient(150deg,#131316,#0b0b0d);position:relative;overflow:hidden}
.how-card b{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(209,19,44,.14);color:#ff5c70;margin-bottom:34px}
.how-card h3{font-size:22px;margin:0 0 8px}.how-card p{color:var(--muted);line-height:1.55;margin:0}
.how-card:after{content:attr(data-step);position:absolute;right:10px;bottom:-30px;font-size:110px;font-weight:950;color:rgba(255,255,255,.025)}


/* Modals */
.modal-backdrop{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.74);backdrop-filter:blur(18px);display:grid;place-items:center;padding:22px;animation:fadeIn .18s ease}
.modal{width:min(1080px,100%);max-height:min(92vh,960px);overflow:auto;background:linear-gradient(155deg,#151518,#0d0d0f);border:1px solid rgba(255,255,255,.14);border-radius:30px;box-shadow:0 40px 120px rgba(0,0,0,.64);animation:modalIn .26s var(--ease)}
.modal.small{width:min(560px,100%)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.modal-head{position:sticky;top:0;z-index:3;background:rgba(16,16,18,.92);backdrop-filter:blur(18px);display:flex;align-items:flex-start;justify-content:space-between;padding:23px 24px;border-bottom:1px solid var(--line)}
.modal-head h2{margin:4px 0 0;font-size:30px;letter-spacing:-.035em}
.modal-body{padding:24px}
.close-btn{border:1px solid var(--line);background:#1b1b1e;color:white;width:42px;height:42px;border-radius:14px;font-size:21px;transition:.2s}
.close-btn:hover{background:#27272b;transform:rotate(4deg)}
.tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--line);padding:0 22px}
.tab{border:0;background:transparent;color:#948f91;padding:15px 11px;border-bottom:2px solid transparent;white-space:nowrap}
.tab.active{color:white;border-color:var(--red-2)}
.studio-hero{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:start}
.studio-hero-media{aspect-ratio:1;border-radius:24px;overflow:hidden;background:#09090a;border:1px solid var(--line)}
.studio-hero-media img{width:100%;height:100%;object-fit:cover}
.artist-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:25px}
.artist-card{border:1px solid var(--line);background:#17171a;border-radius:18px;padding:14px;display:flex;align-items:center;gap:12px;text-align:left;color:white;transition:.25s var(--ease)}
.artist-card:hover{border-color:rgba(239,53,75,.45);transform:translateY(-3px);background:#1c1518}
.avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#09090a}
.artist-card .avatar.fallback{padding:8px;border-radius:16px}
.booking-layout{display:grid;grid-template-columns:350px 1fr;min-height:610px}
.booking-side{padding:28px;border-right:1px solid var(--line);background:linear-gradient(180deg,#0d0d0f,#101013)}
.booking-main{padding:28px}.booking-side img{width:145px;border-radius:22px;margin-bottom:24px}
.step-label{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--red-2);text-transform:uppercase}
.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.calendar-head h3{margin:0;text-transform:capitalize;font-size:21px}
.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.calendar-week div{text-align:center;color:#777276;font-size:11px;font-weight:800;padding:8px 0}
.day{aspect-ratio:1;border:1px solid var(--line);background:#17171a;color:white;border-radius:14px;display:grid;place-items:center;font-weight:780;transition:.2s var(--ease)}
.day.available:hover{border-color:var(--red-2);background:#271318;transform:translateY(-2px)}
.day.disabled{color:#4d494c;background:#0d0d0f;border-color:#18181b}
.day.selected{background:linear-gradient(135deg,var(--red),#ef354b);border-color:#ff5369;box-shadow:0 8px 24px rgba(209,19,44,.3)}
.day.blank{visibility:hidden}
.selection-summary{margin:22px 0;padding:17px;background:#17171a;border:1px solid var(--line);border-radius:17px}
.proposal-box{border:1px solid var(--line);border-radius:19px;padding:19px;background:#161619}
.proposal-price{font-size:36px;font-weight:900}
.decision-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.messages{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow:auto;padding:10px 0}
.message{max-width:78%;padding:11px 13px;border-radius:15px;background:#26262a}
.message.mine{align-self:flex-end;background:#42161d}
.message small{display:block;color:#918b8e;margin-top:4px}
.request-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.privacy-viewer{position:relative;border:1px solid var(--line);border-radius:19px;overflow:hidden;background:#050506}
.privacy-viewer img{width:100%;max-height:560px;object-fit:contain;-webkit-user-drag:none;user-select:none}
.privacy-viewer:after{content:"CeibaInk · referencia privada";position:absolute;bottom:8px;right:10px;color:rgba(255,255,255,.35);font-size:11px}

/* Dashboards */
.dashboard{padding:40px clamp(18px,5vw,74px) 80px;min-height:calc(100vh - 82px)}
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.dashboard-head p{color:var(--muted);margin:8px 0 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:13px;margin-bottom:22px}
.stat-card{padding:21px 22px;min-height:126px}
.stat-card span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.stat-card strong{display:block;font-size:36px;margin-top:9px;letter-spacing:-.04em}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}
.panel{padding:21px}.panel h2,.panel h3{margin-top:0}
.requests-list{display:grid;gap:10px}
.request-card{padding:16px;cursor:pointer}
.request-card:hover{border-color:rgba(255,255,255,.23)}
.status{display:inline-flex;border:1px solid #4b474a;border-radius:999px;padding:5px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.status.pending_provider,.status.change_requested{border-color:rgba(239,53,75,.65);color:#ff7788}
.status.confirmed,.status.completed{border-color:#6c5f62;color:#ddd}
.notifications{display:grid;gap:8px}
.notification{padding:14px;border:1px solid var(--line);border-radius:15px;background:#121215}.notification.unread{border-color:#742532}
.schedule-editor{display:grid;gap:10px}.schedule-day{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center}
.times{display:flex;gap:7px;flex-wrap:wrap}.time-chip{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#1a1a1d}
.qr-box{background:white;padding:16px;border-radius:18px;display:inline-block}
.timer{font-variant-numeric:tabular-nums;font-size:44px;font-weight:900;letter-spacing:-.05em}

/* Admin control room */
.admin-shell{display:grid;grid-template-columns:250px 1fr;gap:18px;align-items:start}
.admin-sidebar{position:sticky;top:92px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#121215,#0c0c0e);padding:12px;box-shadow:var(--shadow-soft)}
.admin-sidebar-head{padding:13px 12px 16px;border-bottom:1px solid var(--line);margin-bottom:8px}
.admin-sidebar-head img{width:112px}.admin-sidebar-head small{display:block;color:var(--muted);margin-top:9px}
.admin-nav{display:grid;gap:4px}
.admin-nav button{border:0;background:transparent;color:#aaa5a7;text-align:left;padding:11px 12px;border-radius:13px;font-weight:700;transition:.2s}
.admin-nav button:hover,.admin-nav button.active{background:linear-gradient(90deg,rgba(209,19,44,.16),rgba(209,19,44,.035));color:#fff}
.admin-nav button.active{box-shadow:inset 2px 0 0 var(--red-2)}
.admin-main{min-width:0}
.admin-hero{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;padding:26px;border:1px solid var(--line);border-radius:26px;background:
linear-gradient(135deg,rgba(209,19,44,.12),rgba(255,255,255,.012) 45%),#101012;margin-bottom:16px;overflow:hidden;position:relative}
.admin-hero:after{content:"ADMIN";position:absolute;right:-15px;bottom:-35px;font-size:120px;font-weight:950;color:rgba(255,255,255,.025);letter-spacing:-.08em}
.admin-hero h1{font-size:clamp(38px,4vw,58px);margin:5px 0 0}
.admin-resource-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}
.admin-resource-toolbar h2{margin:0;font-size:28px}
.admin-list{display:grid;gap:10px}
.admin-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(100px,.8fr)) auto;gap:12px;align-items:center;padding:14px 15px;border:1px solid var(--line);border-radius:17px;background:#111114}
.admin-row strong{overflow:hidden;text-overflow:ellipsis}.admin-row small{color:var(--muted)}
.admin-row .card-actions{margin:0;justify-content:flex-end}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-card{padding:20px}.admin-card h3{margin:0 0 8px}.admin-card p{color:var(--muted);line-height:1.5}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}
.admin-table th{color:#8d888b;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}

/* alerts */
.error-banner{
  max-width:1100px;margin:28px auto;padding:19px 21px;border:1px solid rgba(209,19,44,.38);
  background:linear-gradient(135deg,rgba(209,19,44,.1),rgba(255,255,255,.015));
  border-radius:19px;color:#f5f2ef
}
.error-banner strong{display:block;font-size:1.05rem;margin-bottom:6px}.error-banner p{margin:5px 0;color:#bbb5b5}
.info-banner{padding:15px 17px;border:1px solid var(--line);border-radius:16px;background:#121215;color:#c8c2c2}
.fatal-load{min-height:70vh;display:grid;place-content:center;text-align:center;gap:10px;padding:30px}.fatal-load img{width:96px;margin:auto;border-radius:20px}.fatal-load h1{font-size:34px;margin:6px 0}.fatal-load button{border:0;border-radius:999px;background:var(--red);color:white;padding:12px 20px;font-weight:800;margin:auto}

/* motion */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.07s}.reveal-delay-2{transition-delay:.14s}.reveal-delay-3{transition-delay:.21s}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* toasts */
.toast-root{position:fixed;top:94px;right:20px;z-index:220;display:grid;gap:10px;width:min(390px,calc(100vw - 40px))}
.toast{padding:14px 16px;border-radius:16px;background:#18181b;border:1px solid #424247;box-shadow:var(--shadow);animation:toastin .24s var(--ease)}
.toast.error{border-color:var(--red)}@keyframes toastin{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
.loading-line{height:2px;position:fixed;top:0;left:0;right:0;z-index:600;background:linear-gradient(90deg,transparent,var(--red-2),transparent);animation:load 1s linear infinite}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

@media(max-width:1050px){
  .hero{grid-template-columns:1fr;min-height:auto}.hero-visual{min-height:400px}.hero-orbit{width:300px}.hero-float.one{left:13%}.hero-float.two{right:12%}
  .recent-grid{grid-template-columns:repeat(6,1fr)}.recent-card{grid-column:span 2}.recent-card:nth-child(7n+1),.recent-card:nth-child(7n+5){grid-column:span 3}
  .admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;top:auto}.admin-nav{grid-template-columns:repeat(4,1fr)}.admin-nav button{text-align:center}
}
@media(max-width:900px){
  .topnav{display:none}.studio-hero{grid-template-columns:1fr}.studio-hero-media{max-width:390px}
  .booking-layout{grid-template-columns:1fr}.booking-side{border-right:0;border-bottom:1px solid var(--line)}
  .dashboard-grid,.request-detail-grid,.admin-grid{grid-template-columns:1fr}
  .how-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .topbar{height:68px;padding:0 14px}.topbar.scrolled{height:64px}.brand img{width:122px}.ghost-btn.account-pill{padding:9px 12px}
  .hero,.section{padding-left:16px;padding-right:16px}.hero{padding-top:48px}.hero h1{font-size:52px}.hero-visual{min-height:320px}.hero-orbit{width:230px;border-radius:30px}.hero-float{min-width:135px;padding:11px}.hero-float.one{left:0}.hero-float.two{right:0}
  .section-head{align-items:flex-start;flex-direction:column}.searchbar{max-width:none}
  .recent-grid{grid-template-columns:repeat(2,1fr)}.recent-card,.recent-card:nth-child(7n+1),.recent-card:nth-child(7n+5){grid-column:span 1;grid-row:auto}
  .form-grid{grid-template-columns:1fr}.form-row.full{grid-column:auto}
  .calendar-week,.calendar-grid{gap:4px}.day{border-radius:10px}.modal-backdrop{padding:0}.modal{height:100vh;max-height:100vh;border-radius:0}
  .admin-nav{grid-template-columns:repeat(2,1fr)}.admin-hero{align-items:flex-start;flex-direction:column}.admin-row{grid-template-columns:1fr}.admin-row .card-actions{justify-content:flex-start}
  .schedule-day{grid-template-columns:1fr}.gallery-placeholder{grid-template-columns:repeat(2,1fr)}
}

/* ===== CeibaInk 3.1.0 — editorial marketplace + control room ===== */
.reveal{opacity:0;transform:translate3d(0,18px,0);transition:opacity .6s var(--ease) var(--reveal-delay,0ms),transform .6s var(--ease) var(--reveal-delay,0ms)}
.reveal.revealed{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}.hero-orbit:before,.hero-float,.ambient{animation:none!important}}
.editorial-empty{min-height:300px}.editorial-empty img{width:76px;height:76px;object-fit:cover;border-radius:22px;margin:0 auto 14px;opacity:.9}.editorial-empty strong{font-size:24px;color:#eee}.editorial-empty p{max-width:620px;margin:8px auto 0;line-height:1.6}
.studio-badge{position:absolute;left:15px;bottom:15px;z-index:2;padding:8px 11px;border-radius:999px;background:rgba(7,7,8,.74);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.13);font-size:11px;font-weight:850;color:#fff}
.recent-card figcaption{display:grid;gap:2px}.recent-card figcaption strong{font-size:13px}.recent-card figcaption span{font-size:11px;color:#c7c3c3;font-weight:550}
.quote-mark{font:900 54px/1 Georgia,serif;color:rgba(239,53,75,.35);height:35px;margin-bottom:5px}
.review-placeholder{background:linear-gradient(145deg,rgba(209,19,44,.08),rgba(18,18,20,.95));min-width:min(520px,82vw)}
.how-section{overflow:hidden}.how-section:before{content:"";position:absolute;right:-12%;top:5%;width:360px;height:360px;border:1px solid rgba(209,19,44,.13);border-radius:50%;box-shadow:0 0 0 55px rgba(209,19,44,.018),0 0 0 110px rgba(209,19,44,.012)}
.how-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;z-index:2}.how-card{min-height:285px;padding:25px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(145deg,#131316,#0c0c0e);box-shadow:var(--shadow-soft);position:relative;overflow:hidden;transition:transform .3s var(--ease),border-color .3s}.how-card:hover{transform:translateY(-6px);border-color:rgba(239,53,75,.28)}.how-card>span{display:block;font-size:58px;font-weight:950;letter-spacing:-.07em;color:rgba(239,53,75,.16);margin-bottom:48px}.how-card h3{font-size:25px;margin:0 0 10px}.how-card p{color:var(--muted);line-height:1.6;margin:0}.how-card:after{content:"";position:absolute;right:-30px;bottom:-45px;width:120px;height:120px;border:1px solid rgba(255,255,255,.05);border-radius:50%}
.system-chip{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 12px;border:1px solid rgba(255,195,63,.22);background:rgba(255,184,53,.06);color:#e6c06b;border-radius:999px;font-size:11px;font-weight:760}.system-chip>span{width:7px;height:7px;border-radius:50%;background:#e8b143;box-shadow:0 0 12px rgba(232,177,67,.7)}
.stat-card{padding:20px;min-height:135px;display:flex;flex-direction:column;justify-content:flex-end}.stat-card strong{font-size:42px;letter-spacing:-.055em;line-height:1;margin:7px 0}.stat-card small{color:var(--muted);font-size:11px}.stat-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:850;color:#aaa5a7}
.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.panel-title h2{margin:6px 0 0}.provider-studio-panel{margin-top:18px}
.admin-dashboard{padding-top:28px}.admin-public-btn{width:100%;margin-top:12px}.admin-nav button span{display:inline-grid;width:20px;color:#ef455b}.admin-identity{position:relative;z-index:2;min-width:190px;padding:15px 17px;border:1px solid var(--line);border-radius:18px;background:rgba(0,0,0,.22);display:grid;gap:2px}.admin-identity small,.admin-identity span{color:var(--muted);font-size:11px}.admin-identity strong{font-size:17px}.admin-system-warning{margin:16px 0;padding:14px 16px;border:1px solid rgba(235,176,60,.22);background:rgba(235,176,60,.055);border-radius:17px;display:grid;gap:4px}.admin-system-warning strong{color:#eed08f}.admin-system-warning span{color:#aaa4a5;font-size:12px}.admin-stats{margin:18px 0}.admin-overview-list{margin-top:16px}.admin-row>div:first-child{min-width:0;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.admin-row>div:first-child .avatar{grid-row:1/3;width:38px;height:38px}.admin-row>div:first-child strong,.admin-row>div:first-child small{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis}.settings-row .setting-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#bbb7b8}.compact-loader{min-height:160px}.table-wrap{overflow:auto}.promo-section{background:linear-gradient(180deg,rgba(209,19,44,.025),transparent)!important}
.modal-backdrop{backdrop-filter:blur(16px)}.modal{box-shadow:0 35px 120px rgba(0,0,0,.7)}
.booking-side{background:radial-gradient(circle at 20% 10%,rgba(209,19,44,.12),transparent 45%),#0c0c0e}.booking-side img{filter:drop-shadow(0 15px 35px rgba(209,19,44,.12))}
.day.available{box-shadow:inset 0 0 0 1px rgba(239,53,75,.08)}.day.available:hover{transform:translateY(-2px)}
.loading-line{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--red-2),transparent);z-index:10000;animation:loadSweep .9s linear infinite}@keyframes loadSweep{from{transform:translateX(-55%)}to{transform:translateX(55%)}}
@media(max-width:900px){.how-grid{grid-template-columns:1fr}.how-card{min-height:auto}.how-card>span{margin-bottom:28px}.admin-identity{width:100%}}
.mail-queue{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 18px}.mail-queue span{padding:10px;border:1px solid var(--line);border-radius:13px;color:var(--muted);font-size:11px}.mail-queue strong{display:block;color:#fff;font-size:20px;margin-top:3px}

/* CeibaInk v3.2.0 QA Lab */
.qa-hero{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:26px 28px;margin-bottom:20px;border:1px solid rgba(216,27,48,.34);border-radius:24px;background:linear-gradient(135deg,rgba(216,27,48,.13),rgba(255,255,255,.025));box-shadow:0 24px 70px rgba(0,0,0,.24)}
.qa-hero h2{margin:.35rem 0 .6rem;font-size:clamp(1.7rem,3vw,3rem)}
.qa-hero p{max-width:760px;color:var(--muted)}
.qa-credentials{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:18px}
.qa-credentials code{display:inline-block;margin-top:5px;padding:6px 8px;border-radius:8px;background:#08080a;border:1px solid var(--line);color:#fff;word-break:break-all}
.qa-flow{margin-top:18px}
.qa-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.qa-steps article{padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.qa-steps strong{color:#fff}.qa-steps p{margin:.55rem 0 0;color:var(--muted);line-height:1.6}
@media(max-width:700px){.qa-hero{display:block}.qa-hero .system-chip{margin-top:14px}}

/* v3.4.0 international directory + server-side admin filters */
.directory-toolbar,.admin-filterbar{
  display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(190px,.75fr) auto auto auto;
  gap:12px;align-items:end;padding:16px;margin:18px 0 14px;border:1px solid var(--line);
  background:rgba(14,14,16,.82);backdrop-filter:blur(18px);border-radius:20px;
}
.directory-toolbar label,.admin-filterbar label{display:grid;gap:7px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#9f989b}
.directory-toolbar .field,.directory-toolbar .select,.admin-filterbar .field,.admin-filterbar .select{min-height:46px}
.directory-summary,.admin-result-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#989194;font-size:.82rem;margin:0 0 18px}
.directory-more{display:grid;place-items:center;min-height:100px;padding-top:22px}
#studios-sentinel{display:block;width:1px;height:1px}
.admin-filterbar{grid-template-columns:minmax(240px,1.5fr) minmax(170px,.65fr) minmax(150px,.55fr) auto auto;margin:16px 0}
.admin-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding-top:20px}
.admin-pagination span{color:#8f898d;font-size:.82rem}
.admin-pagination button:disabled{opacity:.35;cursor:not-allowed}
.admin-result-meta{justify-content:space-between;padding:0 3px}
.admin-directory-panel .admin-list{min-height:160px}
.directory-card{margin-bottom:12px}
.audit-row{grid-template-columns:minmax(260px,1.5fr) minmax(180px,1fr) minmax(180px,.7fr) .2fr .2fr}
.footer{padding:0;border-top:1px solid var(--line);background:
  radial-gradient(circle at 12% 10%,rgba(200,30,44,.10),transparent 32%),#070708;color:#9d9699}
.footer-grid{display:grid;grid-template-columns:minmax(260px,1.55fr) repeat(3,minmax(150px,.65fr));gap:44px;padding:58px clamp(20px,6vw,90px) 42px}
.footer-brand img{width:168px}.footer-brand p{max-width:420px;color:#c5bec0;line-height:1.65;margin:16px 0 18px}
.footer-country-pill{display:inline-flex;border:1px solid #343033;border-radius:999px;padding:8px 12px;color:#ddd6d7;font-size:.78rem}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-column strong{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:6px}
.footer-column button,.footer-column a,.footer-column span{border:0;background:none;padding:0;color:#aaa3a6;text-decoration:none;font:inherit;text-align:left;cursor:pointer}
.footer-column button:hover,.footer-column a:hover{color:#fff}
.footer-contact span{cursor:default}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #1e1c1e;padding:18px clamp(20px,6vw,90px);font-size:.76rem;color:#716b6e}
@media (max-width:980px){
 .directory-toolbar,.admin-filterbar{grid-template-columns:1fr 1fr}.directory-toolbar .directory-search,.admin-filterbar .admin-filter-search{grid-column:1/-1}
 .footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-contact{grid-column:1/-1}
}
@media (max-width:660px){
 .directory-toolbar,.admin-filterbar{grid-template-columns:1fr}.directory-toolbar .directory-search,.admin-filterbar .admin-filter-search{grid-column:auto}
 .directory-toolbar button,.admin-filterbar button{width:100%}
 .footer-grid{grid-template-columns:1fr;gap:28px;padding-top:42px}.footer-contact{grid-column:auto}.footer-bottom{flex-direction:column}
 .admin-pagination{justify-content:space-between}.admin-pagination span{display:none}
}


/* ===== CeibaInk 3.6.1 UX / calendar / owner ===== */
.btn-icon{width:18px;height:18px;display:inline-block;vertical-align:-4px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-right:6px}
.icon-action{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#111114;color:#f5f0ec;transition:.22s var(--ease)}
.icon-action:hover{transform:translateY(-2px) rotate(-4deg);border-color:#a72b3c;background:#241116}.icon-action .btn-icon{margin:0}
.primary-btn,.ghost-btn,.soft-btn,.danger-btn,.btn-legacy{position:relative;overflow:hidden}
.primary-btn:after,.ghost-btn:after,.soft-btn:after,.btn-legacy:after{content:"";position:absolute;top:-70%;left:-35%;width:28%;height:240%;transform:rotate(20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transition:left .55s var(--ease);pointer-events:none}
.primary-btn:hover:after,.ghost-btn:hover:after,.soft-btn:hover:after,.btn-legacy:hover:after{left:115%}

/* Beautiful close control without relying on the glyph. */
.close-btn{font-size:0!important;position:relative;border-radius:50%!important;width:44px!important;height:44px!important;background:rgba(255,255,255,.035)!important;display:grid!important;place-items:center!important}
.close-btn:before,.close-btn:after{content:"";position:absolute;width:17px;height:2px;border-radius:5px;background:#f4eeee;left:50%;top:50%;transition:.28s var(--ease)}
.close-btn:before{transform:translate(-50%,-50%) rotate(45deg)}.close-btn:after{transform:translate(-50%,-50%) rotate(-45deg)}
.close-btn:hover{transform:rotate(90deg) scale(1.07)!important;background:#3c1018!important;border-color:#b52c40!important}
.close-btn:hover:before,.close-btn:hover:after{background:#fff}

/* 3D studio cards */
.flip-card{perspective:1200px;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:360px!important}
.flip-card-inner{position:relative;width:100%;height:360px;transform-style:preserve-3d;transition:transform .68s cubic-bezier(.2,.75,.2,1);border-radius:4px}
.flip-card:hover .flip-card-inner,.flip-card:focus-within .flip-card-inner{transform:rotateY(180deg)}
.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #29262a;background:#101012;overflow:hidden;border-radius:4px;box-shadow:0 20px 55px rgba(0,0,0,.28)}
.flip-front .studio-media{height:100%!important}.flip-back{transform:rotateY(180deg);display:flex}.flip-back .studio-body{padding:27px!important}
.studio-front-title{position:absolute;left:20px;right:20px;bottom:22px;z-index:3}.studio-front-title small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d9d0cb}.studio-front-title h3{font-size:28px!important;margin:6px 0!important;text-shadow:0 4px 20px #000}
@media(pointer:coarse),(max-width:720px){.flip-card{min-height:420px!important}.flip-card-inner{height:420px;transform:none!important}.flip-front{position:relative;height:220px}.flip-back{position:relative;height:200px;transform:none;border-top:0}.flip-card-inner{display:block}.flip-back .studio-body{padding:18px!important}.flip-back h3{display:none}.flip-back .studio-meta{display:none}}

/* Spotlight carousel */
.spotlight-section{overflow:hidden}.spotlight-carousel{position:relative;min-height:520px;border:1px solid #2c292c;background:#09090a;overflow:hidden}
.spotlight-slide{position:absolute;inset:0;display:grid;grid-template-columns:58% 42%;opacity:0;pointer-events:none;transform:scale(1.025);transition:opacity .7s ease,transform .85s var(--ease)}
.spotlight-slide.active{opacity:1;pointer-events:auto;transform:none}.spotlight-slide>img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.06)}.spotlight-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,72px);background:radial-gradient(circle at 100% 0,rgba(209,19,44,.12),transparent 40%),#0d0d0f}.spotlight-copy>span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#d7ad68}.spotlight-copy h3{font-size:clamp(34px,4vw,62px);margin:13px 0;line-height:.96}.spotlight-copy p{color:#aaa2a2;line-height:1.7}.spotlight-copy .btn-legacy{align-self:flex-start;margin-top:18px}.carousel-controls{display:flex;gap:8px}.carousel-arrow{width:44px;height:44px;border-radius:50%;border:1px solid #3a3538;background:#0e0e10;color:#fff;transition:.22s var(--ease)}.carousel-arrow:hover{background:#d1132c;border-color:#e5485c;transform:translateY(-2px)}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}.carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#555;transition:.25s}.carousel-dots button.active{width:26px;border-radius:99px;background:#d1132c}
@media(max-width:800px){.spotlight-carousel{min-height:650px}.spotlight-slide{grid-template-columns:1fr;grid-template-rows:55% 45%}.spotlight-copy{padding:24px}.spotlight-copy h3{font-size:34px}}

/* Studio gallery + lightbox */
.gallery-open{cursor:zoom-in}.gallery-zoom{position:absolute;right:12px;top:12px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(8,8,9,.72);backdrop-filter:blur(8px);opacity:0;transform:scale(.85);transition:.22s}.gallery-open:hover .gallery-zoom{opacity:1;transform:none}.gallery-zoom .btn-icon{margin:0}
#lightbox-root:empty{display:none}.lightbox-backdrop{position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:40px;animation:fadeIn .2s ease}.lightbox-backdrop figure{margin:0;max-width:min(1100px,90vw);max-height:88vh;display:grid;gap:10px}.lightbox-backdrop img{max-width:100%;max-height:80vh;object-fit:contain;box-shadow:0 30px 100px #000}.lightbox-backdrop figcaption{text-align:center;color:#aaa}.lightbox-close,.lightbox-nav{position:fixed;z-index:2;border:1px solid #484248;background:#131315;color:#fff;width:48px;height:48px;border-radius:50%;display:grid;place-items:center}.lightbox-close{right:24px;top:22px}.lightbox-close .btn-icon{margin:0}.lightbox-nav{top:50%;transform:translateY(-50%);font-size:24px}.lightbox-nav.prev{left:24px}.lightbox-nav.next{right:24px}.lightbox-count{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.12em;color:#aaa}

/* Chat remains stable during polling */
.chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;position:sticky;bottom:0;background:linear-gradient(180deg,transparent,#101012 28%);padding-top:18px}.chat-draft-note{display:block;color:#716c6f;margin-top:6px}.messages{scroll-behavior:smooth}

/* Provider calendar */
.provider-main-grid{grid-template-columns:minmax(360px,.8fr) minmax(560px,1.2fr)!important}.schedule-panel{overflow:visible!important}.calendar-help{font-size:11px;color:#767174}.schedule-toolbar{display:grid;gap:10px;margin-bottom:16px}.schedule-shortcuts{display:flex;gap:8px;flex-wrap:wrap}.weekly-template{border:1px solid var(--line);border-radius:16px;margin:12px 0 18px;background:#0c0c0e}.weekly-template summary{cursor:pointer;padding:14px 16px;font-weight:800;display:flex;justify-content:space-between;list-style:none}.weekly-template summary span{color:#e1495d;font-size:12px}.weekly-template .schedule-editor{padding:0 14px 15px}.schedule-month-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;gap:12px;margin:18px 0 10px}.schedule-month-head span{text-transform:uppercase;letter-spacing:.14em;color:#777;font-size:9px}.schedule-month-head h3{margin:3px 0;text-transform:capitalize;font-size:24px}.schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.schedule-cal-day{min-height:82px;border:1px solid #28262a;background:#0c0c0e;color:#eee;border-radius:13px;padding:9px;text-align:left;display:flex;flex-direction:column;gap:7px;transition:.2s var(--ease)}.schedule-cal-day b{font-size:16px}.schedule-cal-day small{font-size:9px;line-height:1.25;color:#8f898c}.schedule-cal-day:hover{transform:translateY(-2px);border-color:#8c2635}.schedule-cal-day.work{background:linear-gradient(145deg,#111519,#0b0d0f);border-color:#29404a}.schedule-cal-day.override{background:linear-gradient(145deg,#132218,#0b0e0c);border-color:#315e3d}.schedule-cal-day.off{background:linear-gradient(145deg,#241014,#10090b);border-color:#6d202d}.schedule-cal-day.today{box-shadow:inset 0 0 0 1px #e64359}.schedule-cal-day.blank{opacity:0;pointer-events:none}.schedule-legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:12px;color:#8e888b;font-size:10px}.schedule-legend span{display:flex;align-items:center;gap:6px}.schedule-legend i{width:9px;height:9px;border-radius:50%;background:#444}.schedule-legend i.work{background:#315267}.schedule-legend i.override{background:#3d7b4c}.schedule-legend i.off{background:#8a2938}.schedule-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.schedule-choice{border:1px solid #302d31;border-radius:16px;background:#101013;color:#fff;text-align:left;padding:16px;transition:.2s}.schedule-choice span{display:block;font-weight:850}.schedule-choice small{display:block;color:#888;margin-top:4px}.schedule-choice:hover{transform:translateY(-2px);border-color:#b33345}.schedule-choice.off:hover{background:#281015}.schedule-choice.work:hover{background:#102116}
@media(max-width:1100px){.provider-main-grid{grid-template-columns:1fr!important}}@media(max-width:650px){.schedule-calendar-grid,.calendar-week{gap:3px}.schedule-cal-day{min-height:64px;padding:6px}.schedule-cal-day small{display:none}.schedule-choice-grid{grid-template-columns:1fr}.schedule-shortcuts .soft-btn,.schedule-shortcuts .ghost-btn{width:100%}}

/* Owner dashboard */
.member-role{display:inline-flex;padding:5px 9px;border-radius:99px;border:1px solid #3a3538;color:#aaa;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.member-role.owner{border-color:#8a6032;color:#e2b672;background:#24180b}.member-role.manager{border-color:#794052;color:#ec8795}.owner-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.owner-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.mini-chart{height:260px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;padding-top:28px}.mini-chart-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;position:relative}.mini-chart-col i{width:min(48px,70%);height:var(--h);min-height:5px;border-radius:10px 10px 2px 2px;background:linear-gradient(180deg,#ec3a52,#8c1023);box-shadow:0 8px 24px rgba(209,19,44,.18);transition:height .5s var(--ease)}.mini-chart-col small{font-size:9px;color:#747074}.mini-chart-value{font-size:9px;color:#9f999d;writing-mode:vertical-rl;transform:rotate(180deg);max-height:55px}.owner-table{display:grid;gap:7px}.owner-row{display:grid;grid-template-columns:42px minmax(140px,1fr) repeat(3,minmax(90px,.5fr)) 42px;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.owner-row small,.owner-row span{color:#8f898d;font-size:11px}.owner-clients{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.owner-clients>div{border:1px solid var(--line);border-radius:14px;padding:13px}.owner-clients strong,.owner-clients span,.owner-clients small{display:block}.owner-clients span,.owner-clients small{color:#8e898c;font-size:11px;margin-top:4px}@media(max-width:1000px){.owner-stats{grid-template-columns:repeat(2,1fr)}.owner-chart-grid{grid-template-columns:1fr}.owner-row{grid-template-columns:42px 1fr 42px}.owner-row>span,.owner-row>b{display:none}}@media(max-width:600px){.owner-stats{grid-template-columns:1fr}}

/* Notification center */
.popover-title>div strong,.popover-title>div small{display:block}.popover-link{border:0;background:transparent;color:#e64c61;font-size:11px;cursor:pointer}.popover-all{width:100%;border:0;border-top:1px solid var(--legacy-line);background:transparent;color:#eee;padding:12px;font-weight:800}.popover-all:hover{background:#1d1d20}.notification-row{grid-template-columns:8px 1fr 18px!important}.notification-row .btn-icon{margin:3px 0 0;width:15px;color:#666}.notification-center-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.notification-center-list{display:grid;gap:6px;max-height:65vh;overflow:auto}.notification-center-list .notification-row{border:1px solid var(--line)}

/* Floating WhatsApp */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:1200;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 18px 45px rgba(0,0,0,.42),0 0 0 0 rgba(37,211,102,.32);animation:waPulse 2.8s infinite;text-decoration:none;transition:.22s var(--ease)}.whatsapp-float:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 22px 55px rgba(0,0,0,.5)}.whatsapp-float svg{width:30px;height:30px;fill:currentColor}.whatsapp-float span{position:absolute;right:68px;white-space:nowrap;background:#101012;border:1px solid #343036;border-radius:10px;padding:8px 10px;font-size:11px;opacity:0;transform:translateX(5px);pointer-events:none;transition:.2s}.whatsapp-float:hover span{opacity:1;transform:none}@keyframes waPulse{50%{box-shadow:0 18px 45px rgba(0,0,0,.42),0 0 0 10px rgba(37,211,102,0)}}@media(max-width:600px){.whatsapp-float{width:54px;height:54px;right:15px;bottom:15px}.whatsapp-float span{display:none}}


/* v3.6.1 calendar month/year jump */
.month-jump{margin-top:8px;background:#0f0f11;color:#f6f3ef;border:1px solid #39343a;border-radius:10px;padding:8px 10px;font:inherit;color-scheme:dark}
.schedule-month-head .carousel-arrow svg{width:16px;height:16px}
.schedule-month-head .carousel-arrow:first-child svg{transform:rotate(180deg)}
.schedule-month-head .carousel-arrow.next svg{transform:none}


/* CeibaInk 3.3 — visual language adapted from the original CeibagTattoo reference */
:root{--legacy-red:#d1132c;--legacy-red2:#f04452;--legacy-brass:#b08a4e;--legacy-cream:#f3eee6;--legacy-ink:#080809;--legacy-panel:#101012;--legacy-line:rgba(255,255,255,.11)}
html{scroll-behavior:smooth}body{background:#070708;color:var(--legacy-cream);overflow-x:hidden}
#legacy-bg-canvas{position:fixed;inset:0;z-index:-3;pointer-events:none}.page-noise{opacity:.11;mix-blend-mode:soft-light}
.ambient{display:none!important}
.legacy-preloader{position:fixed;inset:0;z-index:9999;background:#070708;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .48s ease,visibility .48s ease}.legacy-preloader.done{opacity:0;visibility:hidden}.legacy-preloader svg{width:150px;height:150px}.legacy-preloader path{stroke:#d9d3cc;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;animation:needleDraw 1s cubic-bezier(.2,.8,.2,1) forwards}.legacy-preloader strong{font-size:11px;letter-spacing:.36em;color:#b08a4e}.legacy-preloader>div{width:220px;height:2px;background:#242225;overflow:hidden}.legacy-preloader i{display:block;height:100%;width:100%;background:#d1132c;transform-origin:left;animation:preloadBar 1.1s ease forwards}@keyframes needleDraw{to{stroke-dashoffset:0}}@keyframes preloadBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.topbar{height:82px;background:rgba(7,7,8,.82)!important;border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(18px);padding-inline:clamp(18px,5vw,72px)}.topbar.scrolled{background:rgba(7,7,8,.96)!important}.brand img{width:146px;max-height:44px;object-fit:contain}.topnav button{font-size:13px;letter-spacing:.03em;position:relative}.topnav button:after{content:"";position:absolute;left:50%;right:50%;bottom:6px;height:1px;background:var(--legacy-red2);transition:.28s}.topnav button:hover:after{left:12px;right:12px}
.notification-bell svg{width:19px;height:19px;fill:none;stroke:#f2ece7;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.notification-bell{position:relative}.notification-badge{position:absolute;right:-2px;top:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--legacy-red);font-size:9px;display:grid;place-items:center;color:white}
.account-pill{min-width:90px}.top-popover{position:fixed;z-index:500;top:72px;right:clamp(18px,5vw,72px);width:min(340px,calc(100vw - 28px));background:rgba(15,15,17,.98);border:1px solid rgba(255,255,255,.13);border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.55);padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transition:.18s ease}.top-popover.open{opacity:1;visibility:visible;transform:none}.notifications-popover{right:clamp(128px,12vw,190px);width:min(420px,calc(100vw - 28px))}.popover-user{display:flex;gap:11px;align-items:center;padding:11px 10px 14px;border-bottom:1px solid var(--legacy-line);margin-bottom:5px}.mini-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #7b2a35;background:#261015;color:#ff7181;font-weight:900}.popover-user strong,.popover-user small{display:block}.popover-user small{color:#8f898c;margin-top:2px;text-transform:capitalize}.top-popover>button{width:100%;border:0;background:transparent;color:#eee8e3;padding:11px 12px;text-align:left;border-radius:10px;font-weight:700}.top-popover>button:hover{background:#222225}.top-popover>button.danger-menu{color:#ff7484}.popover-title{display:flex;justify-content:space-between;align-items:center;padding:11px;border-bottom:1px solid var(--legacy-line)}.popover-title small{color:#8d8789}.popover-scroll{max-height:440px;overflow:auto;padding:5px}.notification-row{width:100%;display:grid;grid-template-columns:8px 1fr;gap:10px;padding:11px;border:0;background:transparent;color:white;text-align:left;border-radius:12px}.notification-row:hover{background:#1d1d20}.notification-row>span{width:7px;height:7px;border-radius:50%;margin-top:6px;background:#49464a}.notification-row.unread>span{background:#e62f47;box-shadow:0 0 13px #d1132c}.notification-row strong{display:block;font-size:13px}.notification-row p{margin:4px 0;color:#aaa4a6;font-size:12px;line-height:1.4}.notification-row small{color:#676367;font-size:10px}.popover-loading,.popover-empty{padding:22px;color:#aaa5a7}.popover-loading i,.network-indicator i{display:inline-block;width:14px;height:14px;border:2px solid #5d5659;border-top-color:#e63149;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:7px}
.network-indicator{position:fixed;z-index:9998;top:92px;left:50%;transform:translate(-50%,-10px);opacity:0;background:#141416;border:1px solid #3c3538;border-radius:999px;padding:8px 13px;font-size:11px;letter-spacing:.06em;color:#d7d0cb;box-shadow:0 15px 40px rgba(0,0,0,.42);transition:.18s}.network-indicator.show{opacity:1;transform:translate(-50%,0)}@keyframes spin{to{transform:rotate(360deg)}}button.is-loading{position:relative;opacity:.72!important;cursor:wait!important;pointer-events:none}button.is-loading:after{content:"";display:inline-block;width:13px;height:13px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .65s linear infinite;vertical-align:-2px}

/* Hero based on original CeibagTattoo composition */
.legacy-hero{min-height:calc(100vh - 20px);padding:120px 24px 92px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06);background:radial-gradient(circle at 50% 48%,rgba(90,17,26,.12),transparent 36%),linear-gradient(180deg,rgba(7,7,8,.16),#080809)}.hero-particles{position:absolute;inset:0;pointer-events:none}.hero-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:#c83744;box-shadow:0 0 14px rgba(209,19,44,.5);animation:floatParticle 8s ease-in-out infinite}.hero-particle:nth-child(1){left:12%;top:22%}.hero-particle:nth-child(2){left:88%;top:33%;animation-delay:-2s}.hero-particle:nth-child(3){left:75%;top:68%;animation-delay:-4s}.hero-particle:nth-child(4){left:18%;top:74%;animation-delay:-1s}.hero-particle:nth-child(5){left:50%;top:15%;animation-delay:-5s}.hero-particle:nth-child(6){left:64%;top:47%;animation-delay:-3s}.hero-particle:nth-child(7){left:33%;top:43%;animation-delay:-6s}.hero-particle:nth-child(8){left:92%;top:78%;animation-delay:-1.4s}@keyframes floatParticle{0%,100%{transform:translate(0,0);opacity:.3}50%{transform:translate(12px,-24px);opacity:.95}}
.hero-linework{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:min(460px,52vw);height:auto;opacity:.48;pointer-events:none}.hero-line{stroke:#d7d0ca;stroke-width:1.45;stroke-linecap:round;stroke-dasharray:500;stroke-dashoffset:500;animation:heroLine 1.9s .2s ease forwards}.hero-line:nth-child(2n){animation-delay:.32s}.hero-line:nth-child(3n){animation-delay:.45s}.hero-line.needle-red{stroke:#d1132c;stroke-width:2}@keyframes heroLine{to{stroke-dashoffset:0}}.hero-eyebrow{z-index:1;text-transform:none;letter-spacing:.48em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#c89a56;margin:0 0 14px}.legacy-hero-title{z-index:1;margin:0;line-height:.78;display:flex;flex-direction:column;align-items:center}.title-main{display:flex;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(82px,15vw,210px);letter-spacing:.015em;font-weight:900;color:#f0ece5;text-shadow:0 8px 60px rgba(0,0,0,.5)}.legacy-char{display:inline-block;opacity:0;transform:translateY(28px) rotateX(80deg);animation:titleChar .72s cubic-bezier(.18,.86,.24,1) forwards}@keyframes titleChar{to{opacity:1;transform:none}}.title-script{font-family:'Segoe Script','Brush Script MT',cursive;font-size:clamp(54px,8vw,110px);color:#df3f4d;transform:rotate(-2deg) translateY(8px);font-weight:700;letter-spacing:-.04em}.legacy-hero-sub{z-index:1;max-width:730px;color:#aaa4a0;line-height:1.75;margin:42px auto 0;font-size:15px}.legacy-hero-sub strong{color:#eee8e1}.legacy-actions{z-index:1;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:28px}.btn-legacy{border:1px solid rgba(255,255,255,.18);background:transparent;color:#f4efea;padding:12px 18px;min-height:44px;border-radius:2px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;transition:.25s ease}.btn-legacy.red{background:#b91d2c;border-color:#b91d2c}.btn-legacy:hover{transform:translateY(-3px);border-color:#d13f4d;box-shadow:0 12px 32px rgba(0,0,0,.32)}.btn-legacy.red:hover{background:#d12638}.scroll-indicator{position:absolute;bottom:24px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#716b68;font-size:8px;letter-spacing:.22em}.scroll-line{width:1px;height:45px;background:linear-gradient(#ad813f,transparent);animation:scrollPulse 1.7s ease-in-out infinite}@keyframes scrollPulse{50%{opacity:.25;transform:scaleY(.6)}}.home-repair{z-index:2;margin-top:24px;max-width:680px;text-align:left}

.legacy-section{position:relative;padding:100px clamp(20px,6vw,90px);max-width:1500px;margin:0 auto}.legacy-section-head{max-width:900px;margin-bottom:42px}.legacy-section-head.split{display:flex;align-items:end;justify-content:space-between;gap:30px;max-width:none}.legacy-section-head h2{font-size:clamp(38px,5vw,72px);line-height:.99;letter-spacing:-.045em;margin:9px 0 10px}.legacy-section-head h2 span{color:#d63a49}.legacy-section-head>p:not(.legacy-eyebrow){color:#918a87;line-height:1.6}.legacy-eyebrow{font-family:ui-monospace,monospace;font-size:10px;font-weight:800;letter-spacing:.25em;color:#e84455;text-transform:uppercase;margin:0}.bridge-section{max-width:none;background:linear-gradient(180deg,#0a0a0b,#0d0c0d 60%,#080809);border-bottom:1px solid rgba(255,255,255,.05)}.bridge-section>*{max-width:1320px;margin-left:auto;margin-right:auto}.bridge-grid-new{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.bridge-copy h3{font-size:40px;margin:15px 0}.bridge-copy>p{color:#aaa3a0;line-height:1.8;max-width:680px}.bridge-tag{font-size:10px;letter-spacing:.22em;color:#c79653}.bridge-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2b2829;border:1px solid #2b2829;margin-top:35px}.bridge-stats div{background:#0d0d0e;padding:23px}.bridge-stats strong{display:block;font-size:36px}.bridge-stats span{display:block;color:#777174;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:6px}.bridge-art{min-height:430px;display:grid;place-items:center;position:relative}.bridge-art img{width:min(310px,65%);filter:drop-shadow(0 40px 80px rgba(0,0,0,.7));position:relative;z-index:2}.bridge-art i{position:absolute;border:1px solid rgba(209,19,44,.18);border-radius:50%;width:350px;height:350px;animation:orbit 12s linear infinite}.bridge-art i:nth-of-type(2){width:440px;height:440px;border-color:rgba(176,138,78,.12);animation-direction:reverse}.bridge-art i:nth-of-type(3){width:520px;height:520px;border-style:dashed;opacity:.4}@keyframes orbit{to{transform:rotate(360deg)}}

.compact-studio-grid{grid-template-columns:repeat(auto-fill,minmax(255px,310px))!important;justify-content:center;gap:18px!important}.legacy-studio-card{min-height:0!important;border-radius:3px!important;background:#101012!important;overflow:hidden;border:1px solid #252326!important;box-shadow:none!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .25s!important}.legacy-studio-card:hover{transform:translateY(-8px) rotateX(1deg)!important;border-color:#7c2934!important}.legacy-studio-card .studio-media{aspect-ratio:1.35!important;border-radius:0!important}.legacy-studio-card .studio-media:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.76));pointer-events:none}.legacy-studio-card .studio-index{position:absolute;right:13px;top:11px;font-family:ui-monospace,monospace;font-size:10px;color:#d6ab68;letter-spacing:.18em;z-index:2}.legacy-studio-card .studio-badge{z-index:2;border-radius:2px!important;background:rgba(7,7,8,.82)!important}.legacy-studio-card .studio-body{padding:18px!important}.legacy-studio-card h3{font-size:21px!important;margin:10px 0!important}.legacy-studio-card p{font-size:12.5px!important;color:#989194!important;min-height:42px}.legacy-studio-card .studio-meta{font-size:9px!important;letter-spacing:.08em;text-transform:uppercase}.legacy-studio-card .btn-legacy{width:100%;font-size:10px;padding:10px 12px}.legacy-gallery{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important}.recent-card{border-radius:2px!important}.recent-card img{transition:transform .5s ease,filter .5s ease}.recent-card:hover img{transform:scale(1.055);filter:contrast(1.05)}
.process-track{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #302c2e;border-bottom:1px solid #302c2e}.process-track article{padding:30px 26px;border-right:1px solid #302c2e;position:relative}.process-track article:last-child{border:0}.process-track b{font-family:ui-monospace,monospace;color:#d13a49;font-size:11px;letter-spacing:.16em}.process-track h3{font-size:28px;margin:20px 0 7px}.process-track p{color:#888184;margin:0;font-size:13px}.promo-card{padding:22px}.legacy-panel{border:1px solid #29272a;background:#0f0f11}
.founder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.founder-card{border:1px solid #29272a;background:#0d0d0f;display:grid;grid-template-columns:42% 1fr;min-height:440px;overflow:hidden}.founder-photo{position:relative;min-height:440px;background:#111}.founder-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05)}.founder-photo.portrait img{object-position:center 22%}.founder-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#0d0d0f)}.founder-photo span{position:absolute;z-index:2;left:16px;top:15px;font-size:10px;letter-spacing:.15em;color:#d9b16f}.founder-card>div:last-child{padding:34px 25px;align-self:center}.founder-card h3{font-size:35px;margin:11px 0}.founder-card p:not(.legacy-eyebrow){color:#9f9895;line-height:1.65}.founder-card .btn-legacy{display:inline-block;margin-top:16px;text-decoration:none;font-size:9px}.support-strip{margin-top:20px;border:1px solid #302c2e;padding:18px 22px;display:flex;justify-content:center;gap:25px;flex-wrap:wrap;align-items:center;color:#918a88}.support-strip strong{color:#eee}.support-strip a{color:#e54758;text-decoration:none}

.service-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}.service-chips span{border:1px solid #393438;background:#121214;padding:9px 11px;min-width:130px}.service-chips strong,.service-chips small{display:block}.service-chips small{color:#7d7779;margin-top:3px;font-size:10px}.artist-card>b{margin-left:auto;font-size:10px;color:#e94253}.schema-note{border-left:2px solid #c79653;padding:8px 12px;color:#a89f98;font-size:12px}.schema-health{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:16px 0;border:1px solid #6c4b18;background:#1c150c}.schema-health.ok{border-color:#285d47;background:#0e1915}.schema-health strong,.schema-health span{display:block}.schema-health span{color:#aaa3a0;font-size:12px;margin-top:3px}.qa-credentials{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}
.reveal-left,.reveal-right,.reveal-scale{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.18,.86,.24,1)}.reveal-left{transform:translateX(-35px)}.reveal-right{transform:translateX(35px)}.reveal-scale{transform:scale(.96) translateY(20px)}.reveal-left.in,.reveal-right.in,.reveal-scale.in{opacity:1;transform:none}
@media(max-width:900px){.legacy-hero{min-height:820px;padding-top:105px}.hero-linework{width:80vw}.title-main{font-size:clamp(64px,18vw,120px)}.legacy-section{padding:70px 18px}.legacy-section-head.split,.bridge-grid-new{display:block}.searchbar{margin-top:20px}.bridge-art{min-height:300px;margin-top:35px}.bridge-art i{width:260px;height:260px}.bridge-art i:nth-of-type(2){width:320px;height:320px}.bridge-art i:nth-of-type(3){width:380px;height:380px}.process-track{grid-template-columns:1fr 1fr}.process-track article:nth-child(2){border-right:0}.founder-grid{grid-template-columns:1fr}.founder-card{grid-template-columns:1fr;min-height:0}.founder-photo{height:340px;min-height:340px}.founder-photo:after{background:linear-gradient(transparent 55%,#0d0d0f)}.notifications-popover,.top-popover{right:14px}.compact-studio-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important}}
@media(max-width:560px){.topnav{display:none}.legacy-hero{min-height:720px}.hero-eyebrow{letter-spacing:.23em}.title-script{font-size:50px}.legacy-hero-sub{font-size:13px;margin-top:34px}.process-track{grid-template-columns:1fr}.process-track article{border-right:0;border-bottom:1px solid #302c2e}.founder-photo{height:300px;min-height:300px}.compact-studio-grid{grid-template-columns:1fr!important}.legacy-studio-card .studio-media{aspect-ratio:1.6!important}.studio-hero{grid-template-columns:1fr!important}.booking-layout{grid-template-columns:1fr!important}.booking-side{border-right:0;border-bottom:1px solid var(--line)}.topbar{padding-inline:14px}.brand img{width:116px}}
@media(prefers-reduced-motion:reduce){.hero-particle,.hero-line,.legacy-char,.bridge-art i,.scroll-line{animation:none!important}.legacy-char{opacity:1;transform:none}.hero-line{stroke-dashoffset:0}.legacy-preloader{display:none!important}}

/* v3.6.1 overrides */
.legacy-studio-card:hover{transform:none!important}
.flip-card:hover{transform:none!important}



/* ===== CeibaInk 3.6.1 · UX + performance hardening ===== */
[hidden]{display:none!important}
:root{--muted:#b8b1b4;--muted-2:#8f898c}
#main-view{min-height:calc(100svh - 82px)}
.initial-loader{min-height:calc(100svh - 82px)}
@media(max-width:760px){#main-view,.initial-loader{min-height:calc(100svh - 68px)}}

/* Avoid layout-triggering header animation. */
.topbar{transition:border-color .25s,box-shadow .25s,background-color .25s!important}
.topbar.scrolled{height:82px!important}
@media(max-width:760px){.topbar,.topbar.scrolled{height:68px!important}}

/* Scroll indicator uses compositor transform instead of width changes. */
.scroll-progress{width:100%!important;transform:scaleX(var(--scroll-progress,0));transform-origin:left center;will-change:transform}

/* Cursor hover grows with scale, not width/height. */
.cursor-ring{--ring-scale:1;width:34px!important;height:34px!important;transition:border-color .2s,background .2s!important;will-change:transform}
body.cursor-active .cursor-ring{--ring-scale:1.58;width:34px!important;height:34px!important}

/* Busy state belongs to the control that triggered the request. */
.network-indicator{display:none!important}
button.is-loading,button.is-loading:disabled{opacity:1!important;cursor:wait!important;pointer-events:none;position:relative}
button.is-loading:after{content:"";display:inline-block;width:14px;height:14px;margin-left:9px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;vertical-align:-2px}
.icon-btn.is-loading:after,.icon-action.is-loading:after,.carousel-arrow.is-loading:after,.entity-arrow.is-loading:after{margin:0}
.loading-line{transform-origin:left center;will-change:transform}

/* Toasts show their remaining lifetime. */
.toast{position:relative;overflow:hidden;padding:15px 17px 18px;border-radius:18px;background:rgba(21,21,24,.98);backdrop-filter:blur(14px);border:1px solid #454047;box-shadow:0 20px 60px rgba(0,0,0,.45);animation:toastin .22s var(--ease)}
.toast-message{display:block;line-height:1.45}
.toast-progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,#d1132c,#ff6578);transform-origin:left center;animation:toastProgress linear forwards}
.toast.error .toast-progress{background:linear-gradient(90deg,#f03a50,#ff8a98)}
.toast-out{opacity:0;transform:translateY(-7px);transition:opacity .18s,transform .18s}
@keyframes toastProgress{to{transform:scaleX(0)}}

/* Logged-out header must never expose notification UI. */
.notification-bell[hidden],.notification-badge[hidden]{display:none!important}
.notification-bell{overflow:visible}
.notification-bell:hover svg{transform:rotate(-8deg)}
.notification-bell svg{transition:transform .2s var(--ease)}

/* More readable notification center. */
.notifications-popover{border-radius:22px;overflow:hidden;padding:0}
.popover-title{padding:15px 16px;background:#111113}
.popover-scroll{padding:7px;max-height:420px}
.notification-row{padding:13px 12px;border-radius:14px!important;transition:background .18s,transform .18s}
.notification-row:hover{transform:translateX(2px)}
.notification-row strong{font-size:13px}
.notification-row p{color:#c0b9bc!important}
.notification-row small{color:#918a8e!important}
.popover-all{padding:14px}
.notification-center-list .notification-row{background:#101012}

/* Rounded, less cut-off studio cards. */
.entity-rail-shell{position:relative;padding:0 56px}
.entity-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,310px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 2px 20px;overscroll-behavior-inline:contain}
.entity-rail::-webkit-scrollbar{display:none}
.entity-rail .flip-card{scroll-snap-align:start}
.entity-arrow{position:absolute;z-index:4;top:50%;translate:0 -50%;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid #403a40;background:rgba(13,13,15,.92);backdrop-filter:blur(12px);color:#fff;transition:transform .2s,background .2s,border-color .2s}
.entity-arrow.prev{left:0}.entity-arrow.next{right:0}.entity-arrow.prev .btn-icon{transform:rotate(180deg)}
.entity-arrow .btn-icon{margin:0}
.entity-arrow:hover:not(:disabled){transform:translateY(-2px) scale(1.04);background:#d1132c;border-color:#e74b5e}
.entity-arrow:disabled{opacity:.22;cursor:default}
.flip-card{min-height:382px!important;border-radius:24px!important}
.flip-card-inner{height:382px!important;border-radius:24px!important}
.flip-face{border-radius:24px!important}
.legacy-studio-card{border-radius:24px!important}
.legacy-studio-card .studio-media{border-radius:24px!important;aspect-ratio:1.42!important}
.studio-media img,.spotlight-slide>img,.studio-hero-media img{object-position:center center}
.studio-media img.brand-cover,.spotlight-slide>img.brand-cover,.studio-hero-media img.brand-cover{object-fit:contain!important;padding:24px;background:#0b0b0d;filter:none!important}
.studio-front-title{padding:18px!important}
.studio-front-title h3{max-width:100%;overflow-wrap:anywhere}
.recent-card{border-radius:20px!important;overflow:hidden}
.gallery-open{border-radius:20px!important}
.artist-card{border-radius:16px}
@media(max-width:720px){
  .entity-rail-shell{padding:0 44px}
  .entity-rail{grid-auto-columns:minmax(245px,82vw)}
  .flip-card{min-height:430px!important}.flip-card-inner{height:430px!important}
}

/* Carousel arrows are real navigation controls. */
.carousel-arrow{display:grid;place-items:center}
.carousel-arrow .btn-icon{margin:0}
.carousel-arrow.prev .btn-icon{transform:rotate(180deg)}
.calendar-nav .btn-icon{margin:0}
.calendar-nav.prev .btn-icon{transform:rotate(180deg)}

/* Lightbox arrows */
.lightbox-nav .btn-icon{margin:0;width:20px;height:20px}
.lightbox-nav.prev .btn-icon{transform:rotate(180deg)}
.lightbox-nav{transition:transform .2s,background .2s,border-color .2s}
.lightbox-nav:hover{background:#d1132c;border-color:#e94a5d}
.lightbox-nav.prev:hover{transform:translateY(-50%) translateX(-3px)}
.lightbox-nav.next:hover{transform:translateY(-50%) translateX(3px)}

/* Founder portraits: keep heads inside crop. */
.founder-photo img{object-position:center 18%}
.founder-photo.portrait img{object-position:center 12%}

/* Footer rebuilt as a designed support area rather than loose text. */
.footer{content-visibility:auto;contain-intrinsic-size:auto 520px;border-top:1px solid #211f22;background:radial-gradient(circle at 82% 20%,rgba(209,19,44,.10),transparent 30%),linear-gradient(180deg,#09090a,#060607);color:#bdb6b9}
.footer-shell{max-width:1500px;margin:auto;padding:64px clamp(22px,6vw,90px) 48px;display:grid;grid-template-columns:minmax(270px,1.25fr) minmax(260px,.8fr) minmax(330px,1fr);gap:52px;align-items:start}
.footer-brand img{width:170px;height:auto}
.footer-brand p{max-width:430px;color:#c4bdc0;line-height:1.72;margin:18px 0}
.footer-status{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #363137;border-radius:999px;color:#cfc8cb;font-size:11px}
.footer-status>span{width:7px;height:7px;border-radius:50%;background:#2bd56f;box-shadow:0 0 14px rgba(43,213,111,.45)}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-column strong{font-size:11px;letter-spacing:.16em;color:#f3edef;text-transform:uppercase;margin-bottom:5px}
.footer-column button{padding:0;border:0;background:transparent;color:#aaa2a6;text-align:left;transition:color .18s,transform .18s}
.footer-column button:hover{color:#fff;transform:translateX(3px)}
.footer-contact-card{border:1px solid #312d32;border-radius:26px;background:linear-gradient(145deg,#111113,#0b0b0d);padding:25px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.footer-kicker{font-size:10px;font-weight:900;letter-spacing:.18em;color:#ef465a}
.footer-contact-card h3{font-size:25px;line-height:1.05;margin:10px 0 20px}
.footer-contact-item{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:12px;border-radius:16px;border:1px solid transparent;color:#ded8da;transition:background .18s,border-color .18s,transform .18s;text-decoration:none}
a.footer-contact-item:hover{background:#17171a;border-color:#3b363c;transform:translateX(3px)}
.footer-contact-item>svg{width:22px;height:22px;justify-self:center;fill:none;stroke:#e64b5e;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-item .wa-mark{fill:#25D366;stroke:none;width:23px;height:23px}
.footer-contact-item small,.footer-contact-item strong{display:block}.footer-contact-item small{color:#8f888c;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.footer-contact-item strong{font-size:13px;margin-top:2px}
.footer-bottom{border-top:1px solid #1e1c1f;padding:18px clamp(22px,6vw,90px);display:grid;grid-template-columns:1fr auto 1fr;gap:20px;color:#928b8e;font-size:11px}
.footer-bottom>div{display:flex;gap:18px}.footer-bottom>span:last-child{text-align:right}
@media(max-width:1050px){.footer-shell{grid-template-columns:1fr 1fr}.footer-contact-card{grid-column:1/-1}.footer-bottom{grid-template-columns:1fr auto}.footer-bottom>span:last-child{display:none}}
@media(max-width:680px){.footer-shell{grid-template-columns:1fr;gap:34px;padding-top:46px}.footer-links{grid-template-columns:1fr 1fr}.footer-contact-card{grid-column:auto}.footer-bottom{grid-template-columns:1fr;gap:10px}.footer-bottom>div{order:3}.footer-bottom>span:last-child{display:block;text-align:left}}

/* WhatsApp: official mark + compositor-only pulse. */
.whatsapp-float{animation:none!important;isolation:isolate}
.whatsapp-float:before{content:"";position:absolute;inset:-7px;border:2px solid rgba(37,211,102,.42);border-radius:50%;z-index:-1;animation:waPulseComposite 2.4s ease-out infinite;will-change:transform,opacity}
.whatsapp-float svg{width:29px!important;height:29px!important;fill:#fff!important}
@keyframes waPulseComposite{0%{transform:scale(.78);opacity:.65}75%,100%{transform:scale(1.35);opacity:0}}

/* Improve text contrast reported by Lighthouse. */
.muted{color:#b1aaad!important}
.legacy-section-head>p:not(.legacy-eyebrow),.legacy-hero-sub,.bridge-copy>p,.founder-card p:not(.legacy-eyebrow){color:#b4adaf!important}
.footer-bottom,.mini-chart-col small,.schedule-cal-day small,.calendar-help{color:#928b8e!important}

/* Reserve intrinsic rendering size for lower sections. */
.legacy-section:not(:first-of-type){content-visibility:auto;contain-intrinsic-size:auto 760px}
.founders-section{contain-intrinsic-size:auto 720px}

/* Explicit stable media boxes. */
img{height:auto}
.studio-media,.studio-hero-media,.recent-card,.founder-photo,.spotlight-slide>img{contain:paint}

@media(prefers-reduced-motion:reduce){
  .whatsapp-float:before,.toast-progress{animation:none!important}
  .toast-progress{display:none}
}


/* CeibaInk v3.6.1 — UX corrections */
.close-btn>.btn-icon,.lightbox-close>.btn-icon{display:none!important}
.close-btn,.lightbox-close,.toast-close{will-change:transform;transform:translateZ(0)}
.close-btn:focus-visible,.lightbox-close:focus-visible,.toast-close:focus-visible{outline:2px solid #ff566b;outline-offset:3px}
.close-btn:active{transform:rotate(90deg) scale(.94)!important}
.lightbox-close{font-size:0!important;transition:transform .26s var(--ease),background .26s,border-color .26s;position:fixed}
.lightbox-close:before,.lightbox-close:after,.toast-close:before,.toast-close:after{content:"";position:absolute;left:50%;top:50%;width:17px;height:2px;border-radius:999px;background:#f4eeee;transition:background .2s}
.lightbox-close:before,.toast-close:before{transform:translate(-50%,-50%) rotate(45deg)}
.lightbox-close:after,.toast-close:after{transform:translate(-50%,-50%) rotate(-45deg)}
.lightbox-close:hover{transform:rotate(90deg) scale(1.07);background:#3c1018;border-color:#b52c40}.lightbox-close:active{transform:rotate(90deg) scale(.94)}
.toast{padding-right:58px!important;min-height:54px;display:flex;align-items:center}
.toast-message{padding-right:2px}
.toast-close{position:absolute;right:10px;top:50%;translate:0 -50%;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);cursor:pointer;transition:transform .24s var(--ease),background .24s,border-color .24s}
.toast-close:before,.toast-close:after{width:13px;height:1.8px}
.toast-close:hover{transform:rotate(90deg) scale(1.06);background:rgba(209,19,44,.2);border-color:rgba(255,86,107,.45)}
.toast-close:active{transform:rotate(90deg) scale(.92)}

/* Button request feedback: spinner replaces the label instead of hanging beside it. */
button.is-loading,button.is-loading:disabled{position:relative!important;opacity:1!important;cursor:wait!important;pointer-events:none!important;color:transparent!important;text-shadow:none!important}
button.is-loading .btn-icon{opacity:0!important}
button.is-loading:after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:18px!important;height:18px!important;margin:0!important;border:2px solid rgba(255,255,255,.28)!important;border-top-color:#fff!important;border-right-color:#fff!important;border-radius:50%!important;vertical-align:initial!important;animation:ceibaButtonSpin .7s linear infinite!important}
.ghost-btn.is-loading:after,.soft-btn.is-loading:after{border-color:rgba(255,255,255,.22)!important;border-top-color:#fff!important;border-right-color:#fff!important}
@keyframes ceibaButtonSpin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}

/* Gabriel: show the full square portrait in the tall founder slot; use a soft version as the fill. */
.founder-photo.gabriel-photo{isolation:isolate;overflow:hidden;background:#0d0d0f}
.founder-photo.gabriel-photo:before{content:"";position:absolute;inset:-10%;z-index:0;background:url('/assets/img/team/gabriel-v399.webp') center 18%/cover no-repeat;filter:blur(20px) brightness(.38) saturate(.62);transform:scale(1.08)}
.founder-photo.gabriel-photo img{position:relative;z-index:1;object-fit:contain!important;object-position:center center!important;filter:saturate(.8) contrast(1.04);background:rgba(0,0,0,.12)}
.founder-photo.gabriel-photo:after{z-index:2}.founder-photo.gabriel-photo span{z-index:3}

/* Request detail: alignment system, not decorative separator lines. */
.request-modal{width:min(1180px,calc(100vw - 32px))!important}
.request-detail-layout{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important;gap:28px!important;align-items:start}
.request-detail-column{display:grid;gap:16px;align-content:start;min-width:0}
.request-summary-card{display:grid;gap:22px;margin:0!important;padding:22px!important}
.request-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.request-summary-head h3{margin:10px 0 0;font-size:20px}.request-reference{font-size:10px;letter-spacing:.12em;color:#d65c6c;text-transform:uppercase;word-break:break-all;text-align:right}
.request-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;align-items:start}
.request-facts>div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:baseline;min-width:0}
.request-facts small,.request-description>small{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#868084;font-weight:800}
.request-facts strong{min-width:0;overflow-wrap:anywhere;font-size:14px;color:#f0ebea}
.request-description{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px}.request-description p{margin:0;line-height:1.6;color:#c9c3c2}
.request-reference-media{display:grid;gap:10px}.request-reference-media .privacy-viewer{margin:0}.request-reference-media img{display:block;width:100%;max-height:470px;object-fit:contain;background:#0a0a0c}
.request-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;min-height:48px;padding:0 2px}.request-section-heading h3{margin:5px 0 0;font-size:22px}.request-section-heading>small{color:#777174;font-size:11px}
.proposal-stack{display:grid;gap:12px}.proposal-stack>.empty{margin:0}
.proposal-box{display:grid;gap:10px;margin:0!important;padding:18px!important}.proposal-box p{margin:0;line-height:1.5}.proposal-price{font-size:27px;font-weight:900;letter-spacing:-.02em}.proposal-facts{display:flex;flex-wrap:wrap;gap:7px}.proposal-facts span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.045);font-size:11px;color:#b9b3b2}
.request-verification-card{margin-top:0!important}

/* Admin filters restored in the lazy workspace. */
.admin-main{min-width:0}.admin-directory-panel{display:grid;gap:18px}.admin-filterbar{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,.8fr) minmax(150px,.7fr) auto;gap:10px;align-items:center}.admin-filter-actions{display:flex;gap:8px}.admin-results-meta,.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-results-meta{font-size:11px;color:#817b7d}.admin-pagination{justify-content:flex-end}.admin-pagination button:disabled{opacity:.38;cursor:not-allowed}.admin-resource-toolbar p{margin:5px 0 0}

@media(max-width:900px){.request-detail-layout{grid-template-columns:1fr!important}.request-modal{width:min(760px,calc(100vw - 24px))!important}.admin-filterbar{grid-template-columns:1fr 1fr}.admin-filter-actions{grid-column:1/-1}.founder-photo.gabriel-photo img{object-position:center center!important}}
@media(max-width:560px){.request-facts{grid-template-columns:1fr}.request-facts>div,.request-description{grid-template-columns:78px minmax(0,1fr)}.request-summary-head{display:grid}.request-reference{text-align:left}.admin-filterbar{grid-template-columns:1fr}.admin-filter-actions{grid-column:auto}.admin-filter-actions>*{flex:1}.toast-root{right:12px;width:calc(100vw - 24px)}.toast{padding-right:54px!important}}
@media(prefers-reduced-motion:reduce){.close-btn,.lightbox-close,.toast-close,.legacy-studio-card .studio-media img{transition:none!important}.close-btn:hover,.lightbox-close:hover,.toast-close:hover{transform:none!important}button.is-loading:after{animation-duration:1.4s!important}}


/* v3.7.0 — media framing, admin readability and visual cleanup */
/* Founder photo: use the portrait naturally; no counter labels and no letterboxed square. */
.founder-photo.gabriel-photo:before{display:none!important}
.founder-photo.gabriel-photo img{position:relative;z-index:1;object-fit:cover!important;object-position:50% 18%!important;width:100%;height:100%;background:#0d0d0f;filter:saturate(.82) contrast(1.035)}
.founder-photo span{display:none!important}
@media(max-width:900px){.founder-photo.gabriel-photo img{object-position:50% 16%!important}}

/* Studio card media now expects an intentional crop produced by the editor. Cards with no uploaded photo (falling back to the brand logo, .brand-cover) are excluded so they keep showing the full logo via the contain rule above instead of getting cropped at the edges. */
.legacy-studio-card .studio-media{background:#0b0b0d!important;display:block;overflow:hidden}
.legacy-studio-card .studio-media img:not(.brand-cover){object-fit:cover!important;object-position:50% 50%!important;width:100%!important;height:100%!important;transform-origin:center!important;background:#0b0b0d}
.legacy-studio-card:hover .studio-media img{transform:scale(1.035)!important}

/* Footer contact is a flat footer column, not a floating card. */
.footer-contact{display:grid;align-content:start;gap:3px;padding:1px 0;min-width:0}
.footer-contact-title{font-size:11px;letter-spacing:.16em;color:#f3edef;text-transform:uppercase;margin-bottom:8px}
.footer-contact .footer-contact-item{border:0!important;border-radius:0!important;background:transparent!important;padding:9px 0!important;grid-template-columns:34px minmax(0,1fr)}
.footer-contact .footer-contact-item>svg{justify-self:start}
.footer-contact a.footer-contact-item:hover{border:0!important;background:transparent!important;transform:translateX(4px)}
.footer-contact .footer-contact-item strong{overflow-wrap:anywhere}
@media(max-width:1050px){.footer-contact{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 28px}.footer-contact-title{grid-column:1/-1}}
@media(max-width:680px){.footer-contact{grid-column:auto;grid-template-columns:1fr}.footer-contact-title{grid-column:auto}}

/* Admin tables: semantic visual headers sharing the exact row grid. */
.admin-table-head{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(100px,.8fr)) auto;gap:12px;align-items:end;padding:0 15px 7px;color:#8f898c;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
.admin-table-head>span:last-child{text-align:right}
.admin-row>span{min-width:0;overflow-wrap:anywhere}
.admin-row.settings-row>div:first-child{grid-template-columns:1fr!important}
.admin-row.settings-row>div:first-child strong,.admin-row.settings-row>div:first-child small{grid-column:1!important}
@media(max-width:900px){.admin-table-head{display:none}.admin-row{position:relative;padding-top:34px}.admin-row:before{content:"Registro";position:absolute;top:12px;left:15px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#6f696c}}

/* Image crop editor. It is independent from normal modals so it can edit a file selected inside one. */
body.crop-open{overflow:hidden}
.crop-overlay{position:fixed;inset:0;z-index:2200;background:rgba(0,0,0,.84);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px}
.crop-dialog{width:min(900px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#0f0f12;border:1px solid #343138;border-radius:26px;box-shadow:0 34px 100px rgba(0,0,0,.65)}
.crop-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 17px;border-bottom:1px solid #28262b}
.crop-head h2{margin:5px 0 4px;font-size:27px}.crop-head p{margin:0;color:#9a9498;font-size:12px}.crop-body{padding:22px;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:22px;align-items:start}
.crop-stage-wrap{min-width:0}.crop-stage{--crop-ratio:1.42;position:relative;width:100%;aspect-ratio:var(--crop-ratio);max-height:58vh;overflow:hidden;background:#060607;cursor:grab;touch-action:none;user-select:none;box-shadow:inset 0 0 0 2px #f02a44,inset 0 0 0 9999px rgba(0,0,0,.02)}
.crop-stage.dragging{cursor:grabbing}.crop-stage img{position:absolute;left:0;top:0;max-width:none!important;transform-origin:0 0;will-change:transform;pointer-events:none}
.crop-stage:before,.crop-stage:after{content:"";position:absolute;z-index:2;pointer-events:none;opacity:.42}.crop-stage:before{inset:33.333% 0 auto;height:1px;background:#fff;box-shadow:0 calc(var(--crop-stage-h,0px)/3) #fff}.crop-stage:after{inset:0 auto 0 33.333%;width:1px;background:#fff;box-shadow:calc(100% + 0px) 0 #fff}
.crop-grid-hint{color:#847e82;font-size:11px;margin-top:8px}.crop-controls{display:grid;gap:20px;align-content:start}.crop-controls label{display:grid;gap:9px;color:#aaa3a7;font-size:11px}.crop-zoom{width:100%;accent-color:#e51f39}.crop-actions{display:grid;gap:9px}.crop-file-preview{margin-top:10px;display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:9px;border:1px solid #302d32;border-radius:14px;background:#101013}.crop-file-preview img{width:58px;height:48px;object-fit:cover;border-radius:9px}.crop-file-preview span{min-width:0}.crop-file-preview strong,.crop-file-preview small{display:block}.crop-file-preview small{color:#8f898c;margin-top:2px}.crop-file-preview .ghost-btn{padding:8px 10px;font-size:10px}.field-help{color:#858084;font-size:10px;line-height:1.45;margin-top:4px}
@media(max-width:720px){.crop-dialog{border-radius:20px}.crop-body{grid-template-columns:1fr}.crop-stage{max-height:48vh}.crop-controls{grid-template-columns:1fr auto;align-items:end}.crop-actions{grid-template-columns:auto auto}.crop-file-preview{grid-template-columns:50px 1fr}.crop-file-preview .ghost-btn{grid-column:1/-1}.crop-file-preview img{width:50px;height:44px}}
@media(prefers-reduced-motion:reduce){.crop-stage img{will-change:auto}}

/* crop thirds grid correction */
.crop-stage:before{inset:0!important;width:auto!important;height:auto!important;background:linear-gradient(90deg,transparent 33.2%,rgba(255,255,255,.32) 33.3%,rgba(255,255,255,.32) 33.5%,transparent 33.6%,transparent 66.4%,rgba(255,255,255,.32) 66.5%,rgba(255,255,255,.32) 66.7%,transparent 66.8%),linear-gradient(0deg,transparent 33.2%,rgba(255,255,255,.32) 33.3%,rgba(255,255,255,.32) 33.5%,transparent 33.6%,transparent 66.4%,rgba(255,255,255,.32) 66.5%,rgba(255,255,255,.32) 66.7%,transparent 66.8%)!important;box-shadow:none!important}
.crop-stage:after{display:none!important}
/* Founder balance: give portraits a little more room without crowding the copy. */
@media(min-width:901px){.founder-card{grid-template-columns:46% 1fr}}


/* v3.9.0 — admin media manager, language control, founder portrait */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.language-picker{display:flex;align-items:center;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#0c0c0e;overflow:hidden}
.language-picker select{appearance:none;border:0;outline:0;background:transparent;color:#f3efeb;font-size:12px;font-weight:850;letter-spacing:.08em;padding:0 27px 0 13px;height:40px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#8e878a 50%),linear-gradient(135deg,#8e878a 50%,transparent 50%);background-position:calc(100% - 13px) 17px,calc(100% - 9px) 17px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}
.language-picker option{background:#121214;color:#fff}
.founder-photo.gabriel-photo{background:#d7d7d7!important}
.founder-photo.gabriel-photo:before{display:none!important}
.founder-photo.gabriel-photo img{object-fit:cover!important;object-position:center top!important;width:100%;height:100%;filter:saturate(.86) contrast(1.02)!important;background:#d7d7d7!important}
.founder-photo span{display:none!important}
.admin-row>span{min-width:0}.admin-row>span small{display:block;color:#8e888b;margin-top:4px;line-height:1.35}.admin-row>div:first-child small{display:block;margin-top:5px}.admin-row .stars{letter-spacing:.08em;color:#f0c56b}
.incident-row,.promotion-row,.review-row{align-items:center}
.incident-detail{padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02);margin-bottom:18px}.incident-detail p{line-height:1.65;color:#d0c9cb}.incident-detail small{color:#8f888b}
.admin-inline-action{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:18px}.admin-inline-action div{display:grid;gap:4px}.admin-inline-action span{color:#9c9598;font-size:13px}
.admin-advanced{border:1px dashed rgba(255,255,255,.13);border-radius:14px;padding:12px}.admin-advanced summary{cursor:pointer;color:#a49da0;font-size:13px;margin-bottom:10px}.admin-advanced:not([open]) label,.admin-advanced:not([open]) input{display:none}
.modal-divider{border:0;border-top:1px solid rgba(255,255,255,.1);margin:26px 0}
.media-manager-modal{width:min(980px,calc(100vw - 30px))!important}.studio-media-manager{display:grid;gap:20px}.media-manager-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.9fr);gap:24px;align-items:end}.media-manager-info h3{font-size:28px;margin:6px 0}.media-manager-info p{color:#a7a0a3;line-height:1.6;margin:0}.studio-cover-preview{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:#09090b;aspect-ratio:1.42;max-height:430px}.studio-cover-preview img{width:100%;height:100%;object-fit:cover;object-position:center}.studio-cover-preview>span{position:absolute;left:16px;bottom:16px;padding:7px 11px;border-radius:999px;background:rgba(0,0,0,.72);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.empty-cover{display:grid;place-content:center;text-align:center;gap:6px;color:#9e979a}.media-upload-box{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.018)}.media-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.media-admin-card{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#0c0c0e}.media-admin-card.is-cover{border-color:rgba(239,53,75,.5)}.media-admin-card>img{width:100%;aspect-ratio:1;object-fit:cover}.media-admin-card>div{padding:12px;display:grid;gap:6px}.media-admin-card small{color:#888185}.media-admin-card strong{font-size:13px}.media-admin-card .card-actions{margin-top:4px}.media-admin-card .ghost-btn,.media-admin-card .danger-btn{min-height:36px;padding:8px 11px;font-size:11px}.field-help{display:block;margin-top:7px;color:#8f888b;font-size:12px;line-height:1.45}.switch-row{padding:11px 0}.switch-row span{display:flex;gap:9px;align-items:center;font-weight:700}.media-create-cover{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.018)}
.crop-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 33.1%,rgba(255,255,255,.18) 33.2%,rgba(255,255,255,.18) 33.5%,transparent 33.6%,transparent 66.4%,rgba(255,255,255,.18) 66.5%,rgba(255,255,255,.18) 66.8%,transparent 66.9%),linear-gradient(to bottom,transparent 33.1%,rgba(255,255,255,.18) 33.2%,rgba(255,255,255,.18) 33.5%,transparent 33.6%,transparent 66.4%,rgba(255,255,255,.18) 66.5%,rgba(255,255,255,.18) 66.8%,transparent 66.9%)}
@media(max-width:900px){.media-manager-info{grid-template-columns:1fr}.admin-inline-action{align-items:flex-start;flex-direction:column}.media-manager-modal{width:min(760px,calc(100vw - 20px))!important}}
@media(max-width:560px){.language-picker{height:38px}.language-picker select{height:36px;padding-left:10px;padding-right:22px}.top-actions{gap:7px}.media-admin-grid{grid-template-columns:1fr 1fr}.media-admin-card .card-actions{display:grid}.founder-photo.gabriel-photo img{object-position:center top!important}}

/* v3.9.1 founder portrait fix: cover-fit and centered, matching Frank's card (was object-fit:contain, which shrank the photo and padded it with grey bars). */
.founder-photo.gabriel-photo{background:#111!important}
.founder-photo.gabriel-photo img{object-fit:cover!important;object-position:center 15%!important;width:100%!important;height:100%!important;filter:saturate(.86) contrast(1.02)!important;background:#111!important}
.founder-photo span{display:none!important}

/* ===== CeibaInk 3.9.0 discovery / location ===== */
.discovery-toolbar{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end}
.discovery-toolbar>label{grid-column:span 3}
.discovery-toolbar>.directory-search{grid-column:span 6}
.discovery-toolbar>.directory-check{display:flex;align-items:center;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:#0b0b0d;text-transform:none;letter-spacing:0;color:#d9d4d5}
.discovery-toolbar>.directory-check span{display:flex;gap:9px;align-items:center;font-size:.8rem}
.discovery-toolbar>.directory-check input{accent-color:var(--red);width:16px;height:16px}
.discovery-toolbar>.directory-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:2px}
.location-profile-prompt{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:16px 0;padding:16px 18px;border:1px solid rgba(209,19,44,.32);border-radius:16px;background:linear-gradient(110deg,rgba(209,19,44,.12),rgba(255,255,255,.025))}
.location-profile-prompt>div{display:grid;gap:4px}.location-profile-prompt strong{color:#fff}.location-profile-prompt span{color:#a9a2a4;font-size:.88rem;line-height:1.45}
.recommendation-badge{position:absolute;right:14px;top:14px;z-index:3;padding:7px 10px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(209,19,44,.86);box-shadow:0 8px 24px rgba(0,0,0,.26);font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#fff}
@media(max-width:980px){.discovery-toolbar>label,.discovery-toolbar>.directory-search{grid-column:span 6}}
@media(max-width:660px){.discovery-toolbar>label,.discovery-toolbar>.directory-search,.discovery-toolbar>.directory-check{grid-column:1/-1}.discovery-toolbar>.directory-actions{display:grid;grid-template-columns:1fr}.location-profile-prompt{align-items:flex-start;flex-direction:column}.location-profile-prompt button{width:100%}}


/* ===== CeibaInk v3.9.6 — studio card image framing + low-cost rendering =====
   One decoded image per card; contain preserves the full cover without GPU-heavy duplicate layers. */
.legacy-studio-card .studio-media.studio-card-media{
  position:relative!important;
  overflow:hidden!important;
  background:#08080a!important;
  isolation:isolate;
}
.legacy-studio-card .studio-media.studio-card-media>img.studio-card-backdrop{display:none!important}
.legacy-studio-card .studio-media.studio-card-media>img.studio-card-cover{
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  background:transparent!important;
  filter:none!important;
  transform:none!important;
  pointer-events:none!important;
}
.legacy-studio-card .studio-media.studio-card-media:after{
  z-index:2!important;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.82) 100%)!important;
}
.legacy-studio-card .studio-media.studio-card-media>.studio-badge,
.legacy-studio-card .studio-media.studio-card-media>.recommendation-badge,
.legacy-studio-card .studio-media.studio-card-media>.studio-front-title{
  z-index:3!important;
}
.legacy-studio-card:hover .studio-media.studio-card-media>img.studio-card-cover{
  transform:none!important;
  filter:none!important;
}
.legacy-studio-card:hover .studio-media.studio-card-media>img.studio-card-backdrop{display:none!important}


/* v3.9.6 mobile/Chrome rendering safeguards */
@media(max-width:760px){
  .topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .page-noise{display:none!important}
  .bridge-art i,.whatsapp-float:before{animation:none!important}
  .legacy-studio-card{transition:transform .18s ease,border-color .18s ease!important}
}
@media(prefers-reduced-motion:reduce){
  .bridge-art i,.whatsapp-float:before{animation:none!important}
}


/* ===== CeibaInk v3.9.7 — stable responsive studio cards =====
   No 3D flip: one predictable DOM flow across Chrome, Edge and mobile. */
.entity-rail-shell{padding-inline:clamp(18px,4vw,54px)!important}
.entity-rail{grid-auto-columns:clamp(270px,26vw,318px)!important;gap:18px!important;align-items:stretch!important}
.studio-directory-card{
  display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;
  overflow:hidden!important;border:1px solid #2a272b!important;border-radius:22px!important;
  background:#0d0d0f!important;box-shadow:0 18px 50px rgba(0,0,0,.24)!important;
  transform:none!important;perspective:none!important;scroll-snap-align:start!important
}
.studio-directory-card:hover{transform:translateY(-3px)!important;border-color:#60303a!important}
.studio-directory-card .studio-media.studio-card-media{
  position:relative!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;
  border-radius:0!important;background:#09090b!important;flex:0 0 auto!important
}
.studio-directory-card .studio-card-cover{object-fit:contain!important;object-position:center!important;transform:none!important}
.studio-directory-card:hover .studio-card-cover{transform:none!important;filter:none!important}
.studio-directory-card .studio-body{display:flex!important;flex-direction:column!important;gap:9px!important;padding:16px 17px 17px!important;min-width:0!important;flex:1 1 auto!important}
.studio-directory-card .studio-meta{display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:flex-start!important;font-size:9px!important;line-height:1.35!important}
.studio-directory-card .studio-meta span{min-width:0!important;overflow-wrap:anywhere!important}
.studio-directory-card h3{font-size:clamp(19px,2vw,23px)!important;line-height:1.08!important;margin:1px 0 0!important;overflow-wrap:anywhere!important}
.studio-directory-card p{font-size:12.5px!important;line-height:1.5!important;min-height:3.75em!important;margin:0!important;color:#aaa3a6!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.studio-directory-card .card-actions{margin-top:auto!important;padding-top:3px!important}
.studio-directory-card .btn-legacy{width:100%!important;min-height:42px!important}
.studio-directory-card .studio-badge,.studio-directory-card .recommendation-badge{max-width:calc(100% - 28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){
  .entity-rail-shell{padding-inline:12px!important}
  .entity-rail{grid-auto-columns:min(84vw,340px)!important;gap:14px!important;padding-bottom:14px!important;scroll-padding-inline:0!important}
  .entity-arrow{display:none!important}
  .studio-directory-card{border-radius:18px!important;box-shadow:0 12px 34px rgba(0,0,0,.2)!important}
  .studio-directory-card:hover{transform:none!important}
  .studio-directory-card .studio-media.studio-card-media{aspect-ratio:1.35!important}
  .studio-directory-card .studio-body{padding:14px 15px 15px!important}
  .studio-directory-card p{min-height:0!important;-webkit-line-clamp:2}
}
@media(max-width:420px){
  .entity-rail{grid-auto-columns:calc(100vw - 36px)!important}
  .studio-directory-card .studio-media.studio-card-media{aspect-ratio:1.45!important}
  .studio-directory-card .studio-meta{display:grid!important;gap:4px!important}
}

/* ===== CeibaInk v3.9.8 — image framing only =====
   Preserve complete featured-studio artwork and Gabriel portrait; no cropping. */
.spotlight-slide>img,
.spotlight-slide>img.brand-cover{
  object-fit:contain!important;
  object-position:center center!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  background:#000!important;
  filter:none!important;
  transform:none!important;
}
.founder-photo.gabriel-photo{
  background:#000!important;
}
.founder-photo.gabriel-photo img{
  object-fit:contain!important;
  object-position:center 65%!important;
  width:100%!important;
  height:100%!important;
  background:#000!important;
  filter:saturate(.9) contrast(1.02)!important;
  transform:none!important;
}
@media(max-width:560px){
  .founder-photo.gabriel-photo img{object-position:center 65%!important}
}


/* ===== CeibaInk v3.9.9 — Gabriel portrait FINAL ===== */
.founder-photo.gabriel-photo{
  background:#cfcfcf!important;
  overflow:hidden!important;
}
.founder-photo.gabriel-photo:before{display:none!important;}
.founder-photo.gabriel-photo img{
  object-fit:cover!important;
  object-position:50% 50%!important;
  width:100%!important;
  height:100%!important;
  background:#cfcfcf!important;
  filter:saturate(.92) contrast(1.01)!important;
  transform:none!important;
}
@media(max-width:900px){
  .founder-photo.gabriel-photo img{object-position:50% 50%!important;}
}


/* ===== CeibaInk v4.0.0 — cinematic tattoo scroll system =====
   Inspired by modern editorial/game landing-page motion: transform/opacity only,
   IntersectionObserver triggers, and progressive scroll timelines. */
#recent,#studios,.process-section,.founders-section,.bridge-section,.spotlight-section{isolation:isolate;overflow:clip}
#recent::before,#studios::before,.process-section::before,.founders-section::before,.bridge-section::before,.spotlight-section::before{
  content:"";position:absolute;z-index:0;pointer-events:none;width:min(980px,92vw);aspect-ratio:12/7;
  background:url('/assets/img/decor/tattoo-flash-sheet.svg') center/contain no-repeat;opacity:.045;
  transform:translate3d(0,0,0) rotate(-3deg);will-change:transform
}
#recent::before{right:-260px;top:40px}.bridge-section::before{left:-300px;top:80px;transform:rotate(8deg);opacity:.035}
#studios::before{right:-320px;top:180px;transform:rotate(-10deg);opacity:.05}.process-section::before{left:-270px;bottom:-100px;opacity:.035}
.founders-section::before{right:-280px;top:60px;opacity:.045}.spotlight-section::before{left:-340px;bottom:-120px;opacity:.03}
#recent>*,#studios>*,.process-section>*,.founders-section>*,.bridge-section>*,.spotlight-section>*{position:relative;z-index:1}
.legacy-section-head{position:relative}.legacy-section-head:after{content:"";display:block;width:clamp(56px,8vw,120px);height:2px;margin-top:18px;background:linear-gradient(90deg,#e51f39,transparent);transform-origin:left;transform:scaleX(0);transition:transform .8s cubic-bezier(.18,.86,.24,1)}
.legacy-section-head:has(h2.revealed):after{transform:scaleX(1)}
.letter-reveal{overflow:visible}.letter-reveal .reveal-char{display:inline-block;opacity:0;transform:translate3d(0,.8em,0) rotateX(68deg);transform-origin:50% 100%;transition:opacity .52s ease,transform .68s cubic-bezier(.16,.9,.24,1);transition-delay:calc(var(--char-index) * 14ms)}
.letter-reveal.letters-in .reveal-char{opacity:1;transform:none}
.studio-directory-card.reveal{opacity:0!important;transform:translate3d(0,34px,0) scale(.975)!important;transition:opacity .55s ease var(--reveal-delay,0ms),transform .72s cubic-bezier(.16,.9,.24,1) var(--reveal-delay,0ms),border-color .22s ease,box-shadow .22s ease!important}
.studio-directory-card.reveal.revealed{opacity:1!important;transform:none!important}
.studio-directory-card.reveal.revealed:hover{transform:translateY(-5px)!important;box-shadow:0 24px 64px rgba(0,0,0,.38)!important;border-color:#68313b!important}
.studio-directory-card .studio-card-cover{opacity:.82;transition:opacity .65s ease,transform .7s cubic-bezier(.16,.9,.24,1)!important}
.studio-directory-card.revealed .studio-card-cover{opacity:1}
.recent-card.reveal,.review-card.reveal,.promo-card.reveal,.founder-card.reveal,.process-track article.reveal{opacity:0;transform:translate3d(0,30px,0) scale(.985);transition:opacity .58s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.16,.9,.24,1) var(--reveal-delay,0ms)}
.recent-card.reveal.revealed,.review-card.reveal.revealed,.promo-card.reveal.revealed,.founder-card.reveal.revealed,.process-track article.reveal.revealed{opacity:1;transform:none}
.spotlight-slide.active .spotlight-copy{animation:spotCopyIn .72s cubic-bezier(.16,.9,.24,1) both}@keyframes spotCopyIn{from{opacity:0;transform:translate3d(28px,0,0)}to{opacity:1;transform:none}}
.verification-panel{display:grid;gap:16px;text-align:center}.verification-icon{width:64px;height:64px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:rgba(229,31,57,.12);border:1px solid rgba(229,31,57,.38);color:#ff6b7d}.verification-icon svg{width:28px;height:28px}.verification-icon.success{font-size:28px;font-weight:900;background:rgba(53,190,115,.12);border-color:rgba(53,190,115,.4);color:#6fe2a3}.verification-email{display:block;font-size:15px;overflow-wrap:anywhere}.verification-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
@supports (animation-timeline:view()){
  #recent::before,#studios::before,.process-section::before,.founders-section::before,.bridge-section::before,.spotlight-section::before{animation:tattooDrift linear both;animation-timeline:view();animation-range:entry -15% exit 115%}
  @keyframes tattooDrift{from{translate:0 70px;rotate:-4deg}to{translate:0 -70px;rotate:4deg}}
}
@media(max-width:760px){
  #recent::before,#studios::before,.process-section::before,.founders-section::before,.bridge-section::before,.spotlight-section::before{width:760px;opacity:.025!important}
  .studio-directory-card.reveal{transform:translate3d(0,22px,0) scale(.985)!important}.studio-directory-card.reveal.revealed:hover{transform:none!important}
  .letter-reveal .reveal-char{transition-delay:calc(var(--char-index) * 9ms)}.verification-actions{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  #recent::before,#studios::before,.process-section::before,.founders-section::before,.bridge-section::before,.spotlight-section::before{animation:none!important;transform:none!important;will-change:auto!important}
  .letter-reveal .reveal-char,.studio-directory-card.reveal,.recent-card.reveal,.review-card.reveal,.promo-card.reveal,.founder-card.reveal,.process-track article.reveal{opacity:1!important;transform:none!important;transition:none!important}
  .spotlight-slide.active .spotlight-copy{animation:none!important}
}


/* ===== CeibaInk v4.1.0 — photographic scrollytelling / filter-only discovery =====
   Four user-provided tattoo photographs are used as lightweight local WebP backgrounds.
   Motion is transform/opacity only. CSS scroll timelines are progressive enhancement. */
:root{
  --ceiba-photo-work:url('/assets/img/cinematic/ceiba-artist-work.webp');
  --ceiba-photo-portrait:url('/assets/img/cinematic/ceiba-artist-portrait.webp');
  --ceiba-photo-machine:url('/assets/img/cinematic/ceiba-machine.webp');
  --ceiba-photo-session:url('/assets/img/cinematic/ceiba-session.webp');
}
.legacy-hero,
.spotlight-section,
.bridge-section,
#recent,
#studios,
.process-section,
.promotions-section,
#reviews,
.founders-section{
  --home-bg:none;
  --home-bg-position:center;
  --home-bg-opacity:.30;
  isolation:isolate;
  overflow:clip;
  background:#070708!important;
}
.legacy-hero{--home-bg:var(--ceiba-photo-work);--home-bg-position:72% center;--home-bg-opacity:.46}
.spotlight-section{--home-bg:var(--ceiba-photo-machine);--home-bg-position:center 55%;--home-bg-opacity:.22}
.bridge-section{--home-bg:var(--ceiba-photo-portrait);--home-bg-position:68% 42%;--home-bg-opacity:.34}
#recent{--home-bg:var(--ceiba-photo-session);--home-bg-position:center 46%;--home-bg-opacity:.32}
#studios{--home-bg:var(--ceiba-photo-work);--home-bg-position:center 42%;--home-bg-opacity:.29}
.process-section{--home-bg:var(--ceiba-photo-machine);--home-bg-position:center 55%;--home-bg-opacity:.26}
.promotions-section{--home-bg:var(--ceiba-photo-portrait);--home-bg-position:66% 45%;--home-bg-opacity:.30}
#reviews{--home-bg:var(--ceiba-photo-session);--home-bg-position:center 52%;--home-bg-opacity:.25}
.founders-section{--home-bg:var(--ceiba-photo-portrait);--home-bg-position:70% 44%;--home-bg-opacity:.20}

/* Full-bleed photographic sections, but content remains aligned to the same 1320px grid. */
.spotlight-section,
.bridge-section,
#recent,
#studios,
.process-section,
.promotions-section,
#reviews,
.founders-section{
  max-width:none!important;
  margin-inline:0!important;
  padding-inline:max(20px,calc((100vw - 1320px)/2))!important;
}
.spotlight-section>*,.bridge-section>*,#recent>*,#studios>*,.process-section>*,
.promotions-section>*,#reviews>*,.founders-section>*{
  width:100%;
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
}

/* Replace the old flash-sheet pseudo art with the actual tattoo photography. */
.legacy-hero::before,
.spotlight-section::before,
.bridge-section::before,
#recent::before,
#studios::before,
.process-section::before,
.promotions-section::before,
#reviews::before,
.founders-section::before{
  content:""!important;
  position:absolute!important;
  inset:-8%!important;
  width:auto!important;
  height:auto!important;
  aspect-ratio:auto!important;
  left:-8%!important;right:-8%!important;top:-8%!important;bottom:-8%!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:var(--home-bg)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:var(--home-bg-position)!important;
  opacity:var(--home-bg-opacity)!important;
  filter:saturate(.78) contrast(1.08) brightness(.68)!important;
  transform:translate3d(0,2.5%,0) scale(1.14)!important;
  transform-origin:center!important;
  will-change:transform;
}
.legacy-hero::after,
.spotlight-section::after,
.bridge-section::after,
#recent::after,
#studios::after,
.process-section::after,
.promotions-section::after,
#reviews::after,
.founders-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(6,6,7,.78) 0%,rgba(6,6,7,.46) 34%,rgba(6,6,7,.64) 76%,#080809 100%),
    linear-gradient(90deg,rgba(6,6,7,.64),rgba(6,6,7,.16) 48%,rgba(6,6,7,.50));
}
.legacy-hero>*,
.spotlight-section>*,.bridge-section>*,#recent>*,#studios>*,.process-section>*,
.promotions-section>*,#reviews>*,.founders-section>*{z-index:1}

/* Hero feels more editorial/game-like without adding another JS animation loop. */
.legacy-hero{min-height:max(720px,calc(100svh - 20px));}
.legacy-hero .legacy-hero-title,
.legacy-hero .hero-eyebrow,
.legacy-hero .legacy-hero-sub,
.legacy-hero .legacy-actions,
.legacy-hero .scroll-indicator{position:relative;z-index:2}
.legacy-hero-title{filter:drop-shadow(0 18px 42px rgba(0,0,0,.42))}
.legacy-hero-sub{max-width:760px;padding:14px 18px;border-radius:18px;background:linear-gradient(90deg,transparent,rgba(7,7,8,.36),transparent)}

/* Each block gets a film-like edge so the transition between photographs feels intentional. */
.spotlight-section,
.bridge-section,
#recent,
#studios,
.process-section,
.promotions-section,
#reviews,
.founders-section{
  border-top:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.055);
  box-shadow:inset 0 80px 100px rgba(0,0,0,.22),inset 0 -80px 100px rgba(0,0,0,.30);
}

/* Supporting copy enters after the letter-by-letter heading. */
.legacy-section-head .legacy-eyebrow,
.legacy-section-head>p:not(.legacy-eyebrow){
  opacity:0;
  transform:translate3d(0,14px,0);
  transition:opacity .56s ease,transform .7s cubic-bezier(.16,.9,.24,1);
}
.legacy-section-head:has(h2.revealed) .legacy-eyebrow,
.legacy-section-head:has(h2.revealed)>p:not(.legacy-eyebrow){
  opacity:1;
  transform:none;
}
.legacy-section-head:has(h2.revealed) .legacy-eyebrow{transition-delay:.08s}
.legacy-section-head:has(h2.revealed)>p:not(.legacy-eyebrow){transition-delay:.18s}

/* Keep filters readable over photography. No device-location CTA: filters only. */
.discovery-toolbar{
  background:rgba(8,8,10,.88)!important;
  border-color:rgba(255,255,255,.13)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.34);
  backdrop-filter:blur(14px);
}
.discovery-toolbar .field,.discovery-toolbar .select,.discovery-toolbar .directory-check{
  background:rgba(7,7,9,.88)!important;
}
.location-profile-prompt:not(.current-location-prompt){
  background:rgba(8,8,10,.84)!important;
  backdrop-filter:blur(12px);
}

/* Photo-backed cards stay distinct from the section photograph. */
.studio-directory-card,.review-card,.promo-card,.process-track article,.founder-card{
  box-shadow:0 20px 60px rgba(0,0,0,.28);
}
.recent-card{box-shadow:0 24px 70px rgba(0,0,0,.30)}

/* Scroll-linked background zoom. If unsupported, the backgrounds simply remain static. */
@supports (animation-timeline:view()){
  .spotlight-section::before,
  .bridge-section::before,
  #recent::before,
  #studios::before,
  .process-section::before,
  .promotions-section::before,
  #reviews::before,
  .founders-section::before{
    animation:ceibaPhotoScroll linear both!important;
    animation-timeline:view()!important;
    animation-range:entry -12% exit 112%!important;
  }
  @keyframes ceibaPhotoScroll{
    from{transform:translate3d(0,4%,0) scale(1.17)}
    to{transform:translate3d(0,-4%,0) scale(1.035)}
  }
  .legacy-hero::before{
    animation:ceibaHeroPhoto linear both!important;
    animation-timeline:scroll(root block)!important;
    animation-range:0 72vh!important;
  }
  @keyframes ceibaHeroPhoto{
    from{transform:translate3d(0,0,0) scale(1.12)}
    to{transform:translate3d(0,-3%,0) scale(1.035)}
  }
}

@media(max-width:900px){
  .legacy-hero{--home-bg-position:62% center;min-height:760px}
  .spotlight-section,.bridge-section,#recent,#studios,.process-section,.promotions-section,#reviews,.founders-section{
    padding-inline:18px!important;
  }
  .legacy-hero::before,.spotlight-section::before,.bridge-section::before,#recent::before,#studios::before,
  .process-section::before,.promotions-section::before,#reviews::before,.founders-section::before{
    inset:-5%!important;left:-5%!important;right:-5%!important;top:-5%!important;bottom:-5%!important;
    opacity:var(--home-bg-opacity)!important;
  }
  .bridge-section{--home-bg-position:66% center}
  #studios{--home-bg-position:64% center}
  .founders-section{--home-bg-position:68% center}
  .discovery-toolbar{backdrop-filter:none}
}
@media(max-width:560px){
  .legacy-hero{--home-bg-position:68% center;min-height:700px;padding-top:102px}
  #recent{--home-bg-position:64% center}
  #studios{--home-bg-position:62% center}
  .process-section{--home-bg-position:55% center}
  #reviews{--home-bg-position:58% center}
  .founders-section{--home-bg-position:66% center}
  .legacy-section-head .legacy-eyebrow,.legacy-section-head>p:not(.legacy-eyebrow){transform:translate3d(0,9px,0)}
}

@media(prefers-reduced-motion:reduce){
  .legacy-hero::before,.spotlight-section::before,.bridge-section::before,#recent::before,#studios::before,
  .process-section::before,.promotions-section::before,#reviews::before,.founders-section::before{
    animation:none!important;transform:scale(1.06)!important;will-change:auto!important;
  }
  .legacy-section-head .legacy-eyebrow,.legacy-section-head>p:not(.legacy-eyebrow){
    opacity:1!important;transform:none!important;transition:none!important;
  }
}


/* ===== CeibaInk v4.2.0 — cascading geo selectors ===== */
.geo-hint{display:block;margin-top:7px;font-size:11px;line-height:1.45;color:#918a8e}
input.geo-loading{opacity:.72;cursor:progress}
input[list][name="province"],input[list][name="municipality"]{padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,#aaa 50%),linear-gradient(135deg,#aaa 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
input[list][name="province"]:disabled,input[list][name="municipality"]:disabled{opacity:.58}


/* ===== CeibaInk v4.3.0 — cinematic section reveal =====
   Each home block owns a different photograph. The visitor sees the photograph
   cleanly first; as scrolling continues, the same scene becomes the dark section
   backdrop and the existing letter/card reveals take over. */
:root{
  --v43-hero:url('/assets/img/cinematic/home-hero-v44.webp');
  --v43-spotlight:url('/assets/img/cinematic/home-spotlight-v43.webp');
  --v43-bridge:url('/assets/img/cinematic/home-bridge-v43.webp');
  --v43-recent:url('/assets/img/cinematic/ceiba-session.webp');
  --v43-studios:url('/assets/img/cinematic/home-studios-v43.webp');
  --v43-process:url('/assets/img/cinematic/home-process-v43.webp');
  --v43-promos:url('/assets/img/cinematic/ceiba-artist-work.webp');
  --v43-reviews:url('/assets/img/cinematic/ceiba-machine.webp');
  --v43-founders:url('/assets/img/cinematic/home-founders-v43.webp');
}
.legacy-hero{--home-bg:var(--v43-hero);--home-bg-position:center center;--home-bg-opacity:.42}
.spotlight-section{--home-bg:var(--v43-spotlight);--home-bg-position:center center;--home-bg-opacity:.24}
.bridge-section{--home-bg:var(--v43-bridge);--home-bg-position:center center;--home-bg-opacity:.25}
#recent{--home-bg:var(--v43-recent);--home-bg-position:center center;--home-bg-opacity:.28}
#studios{--home-bg:var(--v43-studios);--home-bg-position:center center;--home-bg-opacity:.26}
.process-section{--home-bg:var(--v43-process);--home-bg-position:center center;--home-bg-opacity:.25}
.promotions-section{--home-bg:var(--v43-promos);--home-bg-position:center center;--home-bg-opacity:.26}
#reviews{--home-bg:var(--v43-reviews);--home-bg-position:center center;--home-bg-opacity:.24}
.founders-section{--home-bg:var(--v43-founders);--home-bg-position:center center;--home-bg-opacity:.22}

/* Hero is intentionally two beats: clean opening image, then the actual intro copy. */
.legacy-hero{
  display:block!important;
  min-height:0!important;
  padding:0!important;
  text-align:center;
}
.hero-story-copy{
  min-height:max(720px,calc(100svh - 72px));
  padding:120px 24px 92px;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.hero-story-copy>.hero-particles,
.hero-story-copy>.hero-linework{z-index:0}
.hero-story-copy>.hero-eyebrow,
.hero-story-copy>.legacy-hero-title,
.hero-story-copy>.legacy-hero-sub,
.hero-story-copy>.legacy-actions,
.hero-story-copy>.home-repair,
.hero-story-copy>.scroll-indicator{position:relative;z-index:2}

/* Full photo beat before every home module. Use contain so the original photograph
   is visible in full; black bars are preferred over cropping. */
.home-scene-intro{
  position:relative!important;
  z-index:4!important;
  width:100vw!important;
  max-width:none!important;
  height:clamp(360px,62svh,760px);
  margin:0 calc(50% - 50vw) clamp(36px,6vw,82px)!important;
  overflow:hidden;
  background:#050506;
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 90px rgba(0,0,0,.34);
}
.legacy-hero>.home-scene-intro{
  height:min(82svh,calc(100vw * .558));
  min-height:420px;
  max-height:860px;
  margin:0!important;
}
.home-scene-intro img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  filter:saturate(.94) contrast(1.02) brightness(1.01);
  transform:scale(1.11);
  transform-origin:center center;
  will-change:transform,filter;
}
.home-scene-intro-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(4,4,5,.01) 0%,rgba(4,4,5,.02) 60%,rgba(4,4,5,.82) 100%),
    radial-gradient(circle at 50% 45%,transparent 45%,rgba(0,0,0,.12) 100%);
}
.home-scene-caption{
  position:absolute;
  left:clamp(18px,5vw,72px);
  bottom:clamp(18px,4vw,44px);
  display:flex;
  align-items:baseline;
  gap:12px;
  z-index:2;
  text-align:left;
  text-shadow:0 2px 16px rgba(0,0,0,.65);
}
.home-scene-caption span{
  color:#ef4056;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:9px;
  font-weight:900;
  letter-spacing:.24em;
}
.home-scene-caption small{
  color:#f5efea;
  font-size:12px;
  letter-spacing:.05em;
}

/* Section image remains behind the content after the clean image beat. */
.spotlight-section::before,.bridge-section::before,#recent::before,#studios::before,
.process-section::before,.promotions-section::before,#reviews::before,.founders-section::before{
  filter:saturate(.76) contrast(1.08) brightness(.55)!important;
}
.spotlight-section::after,.bridge-section::after,#recent::after,#studios::after,
.process-section::after,.promotions-section::after,#reviews::after,.founders-section::after{
  background:
    linear-gradient(180deg,rgba(6,6,7,.84) 0%,rgba(6,6,7,.54) 24%,rgba(6,6,7,.66) 70%,#080809 100%),
    linear-gradient(90deg,rgba(6,6,7,.66),rgba(6,6,7,.22) 48%,rgba(6,6,7,.58))!important;
}

/* Smooth large-to-small photographic movement. No scroll event loop. */
@supports (animation-timeline:view()){
  .home-scene-intro img{
    animation:v43SceneZoom linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 78%;
  }
  .home-scene-intro-shade{
    animation:v43SceneShade linear both;
    animation-timeline:view();
    animation-range:entry 8% cover 82%;
  }
  @keyframes v43SceneZoom{
    from{transform:scale(1.13);filter:saturate(.96) contrast(1.01) brightness(1.03)}
    to{transform:scale(1.005);filter:saturate(.86) contrast(1.05) brightness(.78)}
  }
  @keyframes v43SceneShade{
    from{opacity:.34}
    to{opacity:1}
  }
}

/* The first scene gets a small load settle even before the first scroll. */
.hero-scene-intro img{
  animation:v43HeroSettle 1.65s cubic-bezier(.16,.9,.24,1) both;
}
@keyframes v43HeroSettle{
  from{transform:scale(1.16);filter:saturate(1) contrast(1) brightness(1.04)}
  to{transform:scale(1.02);filter:saturate(.94) contrast(1.02) brightness(.98)}
}

/* Existing letter/card reveals now start after the photo beat instead of fighting it. */
.legacy-section-head{position:relative;z-index:2}
.home-scene-intro + .legacy-section-head{
  margin-top:0;
}
.home-scene-intro + .legacy-section-head .legacy-eyebrow{
  color:#ff5165;
}

/* Mobile: preserve the complete photograph instead of forcing a cropped portrait. */
@media(max-width:900px){
  .home-scene-intro{
    height:clamp(320px,56svh,620px);
    margin-bottom:48px!important;
  }
  .legacy-hero>.home-scene-intro{
    height:58svh;
    min-height:340px;
    max-height:620px;
  }
  .hero-story-copy{
    min-height:760px;
    padding:105px 18px 88px;
  }
  .home-scene-caption{
    left:18px;
    right:18px;
    bottom:18px;
    flex-wrap:wrap;
  }
}
@media(max-width:560px){
  .home-scene-intro{
    height:52svh;
    min-height:300px;
  }
  .legacy-hero>.home-scene-intro{
    height:50svh;
    min-height:300px;
  }
  .hero-story-copy{
    min-height:700px;
    padding:102px 16px 78px;
  }
  .home-scene-caption small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .home-scene-intro img,.home-scene-intro-shade,.hero-scene-intro img{
    animation:none!important;
    transform:none!important;
    filter:none!important;
    will-change:auto!important;
  }
}


/* ===== CeibaInk v4.4.0 — true cinematic scroll overlay =====
   The photograph never becomes a separate card above the section. It stays full-bleed
   and sticky while the section copy rises over it. Scroll progress controls zoom and
   darkening where scroll-driven animations are available. */
:root{--cinematic-top:82px}

/* All home cinematic stories are full-bleed, not boxed by the normal section max-width. */
.cinematic-story{
  position:relative!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0 clamp(20px,6vw,90px) clamp(110px,15svh,190px)!important;
  overflow:clip!important;
  isolation:isolate;
  view-timeline-name:--ceiba-story;
  view-timeline-axis:block;
}
.cinematic-story.hero-cinematic-story{
  padding:0!important;
  min-height:190svh!important;
}

/* The photograph is the section canvas. It fills the viewport and remains in place while copy crosses it. */
.cinematic-story>.home-scene-intro{
  position:sticky!important;
  top:var(--cinematic-top)!important;
  left:auto!important;
  width:100vw!important;
  max-width:none!important;
  height:calc(100svh - var(--cinematic-top))!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 calc(50% - 50vw) calc(-100svh + var(--cinematic-top))!important;
  z-index:0!important;
  overflow:hidden!important;
  border:0!important;
  box-shadow:none!important;
  background:#050506!important;
}
.cinematic-story>.home-scene-intro img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  border:0!important;
  transform:scale(1.15);
  transform-origin:center center;
  filter:saturate(.98) contrast(1.02) brightness(1.03);
  will-change:transform,filter;
}
/* Clean opening photograph — no little caption sitting on top. */
.cinematic-story .home-scene-caption{display:none!important}
.cinematic-story .home-scene-intro-shade{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  opacity:.08;
  background:
    linear-gradient(180deg,rgba(4,4,5,.01) 0%,rgba(4,4,5,.12) 42%,rgba(4,4,5,.84) 82%,rgba(4,4,5,.96) 100%),
    linear-gradient(90deg,rgba(0,0,0,.18),transparent 42%,rgba(0,0,0,.14))!important;
  pointer-events:none!important;
  will-change:opacity;
}

/* Everything after the photo is in the same visual plane, over the sticky photograph. */
.cinematic-story>.home-scene-intro~*{
  position:relative!important;
  z-index:3!important;
}
.cinematic-story>.legacy-section-head{
  max-width:1180px!important;
  padding-top:84svh!important;
  margin:0 auto 52px!important;
  text-shadow:0 4px 30px rgba(0,0,0,.88);
}
.cinematic-story>.legacy-section-head h2{
  max-width:980px;
  font-size:clamp(44px,6vw,88px)!important;
}
.cinematic-story>.legacy-section-head>p:not(.legacy-eyebrow){
  max-width:760px;
  color:#ded7d2!important;
  text-shadow:0 2px 18px rgba(0,0,0,.95);
}
.cinematic-story>.legacy-section-head.split{max-width:1320px!important}

/* Give the content itself a soft darkness instead of replacing the photograph with a black section. */
.cinematic-story>.legacy-section-head::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-8vw;
  right:-8vw;
  top:60svh;
  bottom:-45px;
  background:radial-gradient(ellipse at 35% 62%,rgba(5,5,6,.62),rgba(5,5,6,.16) 55%,transparent 76%);
  filter:blur(8px);
  pointer-events:none;
}

/* Hero: first full-width photo, then CEIBAINK rises over that same photo as it darkens. */
.hero-cinematic-story>.home-scene-intro{
  top:var(--cinematic-top)!important;
  height:calc(100svh - var(--cinematic-top))!important;
}
.hero-cinematic-story>.hero-story-copy{
  min-height:182svh!important;
  margin:0!important;
  padding:104svh 24px 36svh!important;
  justify-content:flex-start!important;
  background:linear-gradient(180deg,transparent 0%,transparent 37%,rgba(5,5,6,.16) 48%,rgba(5,5,6,.68) 68%,rgba(5,5,6,.94) 100%)!important;
}
.hero-cinematic-story .legacy-hero-title{
  margin-top:0!important;
}
.hero-cinematic-story .legacy-hero-sub{
  color:#e2dbd6!important;
  background:rgba(6,6,7,.18)!important;
  backdrop-filter:blur(3px);
}

/* Keep real UI blocks readable while preserving the photo behind them. */
.cinematic-story .directory-toolbar,
.cinematic-story .directory-summary,
.cinematic-story .location-profile-nudge,
.cinematic-story .process-track,
.cinematic-story .founder-grid,
.cinematic-story .support-strip,
.cinematic-story .bridge-grid-new,
.cinematic-story .recent-grid,
.cinematic-story .review-grid,
.cinematic-story .compact-studio-grid,
.cinematic-story .spotlight-carousel,
.cinematic-story .carousel-dots,
.cinematic-story .entity-rail-shell{
  position:relative;
  z-index:3;
}

/* Scroll itself is the timeline: photo zooms out slowly and the darkness grows underneath the content. */
@supports (animation-timeline:view()){
  .cinematic-story>.home-scene-intro img{
    animation:v44PhotoPullback linear both;
    animation-timeline:--ceiba-story;
    animation-range:entry 0% exit 78%;
  }
  .cinematic-story>.home-scene-intro .home-scene-intro-shade{
    animation:v44PhotoDim linear both;
    animation-timeline:--ceiba-story;
    animation-range:entry 8% exit 68%;
  }
  @keyframes v44PhotoPullback{
    0%{transform:scale(1.16);filter:saturate(1.03) contrast(1.01) brightness(1.06)}
    38%{transform:scale(1.075);filter:saturate(.99) contrast(1.02) brightness(.98)}
    72%{transform:scale(1.025);filter:saturate(.88) contrast(1.05) brightness(.78)}
    100%{transform:scale(1.005);filter:saturate(.78) contrast(1.07) brightness(.63)}
  }
  @keyframes v44PhotoDim{
    0%,18%{opacity:.04}
    48%{opacity:.34}
    74%{opacity:.72}
    100%{opacity:1}
  }
}

/* Slower type/card reveals so the scroll feels deliberate rather than snappy. */
.cinematic-story .letter-reveal .reveal-char{
  transition-duration:.78s,.95s!important;
  transition-delay:calc(var(--char-index) * 22ms)!important;
}
.cinematic-story .studio-directory-card.reveal,
.cinematic-story .recent-card.reveal,
.cinematic-story .review-card.reveal,
.cinematic-story .promo-card.reveal,
.cinematic-story .founder-card.reveal,
.cinematic-story .process-track article.reveal{
  transition-duration:.8s,1.05s!important;
}

/* The old ::before photo layer would compete with the new sticky full-width image. Disable it only on these stories. */
.cinematic-story::before,.cinematic-story::after{content:none!important;display:none!important}

@media(max-width:900px){
  :root{--cinematic-top:68px}
  .cinematic-story{padding-inline:18px!important;padding-bottom:96px!important}
  .cinematic-story>.home-scene-intro{
    height:calc(100svh - var(--cinematic-top))!important;
    margin-bottom:calc(-100svh + var(--cinematic-top))!important;
  }
  .cinematic-story>.legacy-section-head{padding-top:80svh!important;margin-bottom:36px!important}
  .cinematic-story>.legacy-section-head h2{font-size:clamp(38px,11vw,64px)!important}
  .hero-cinematic-story>.hero-story-copy{
    min-height:174svh!important;
    padding:100svh 18px 30svh!important;
  }
}
@media(max-width:560px){
  .cinematic-story{padding-inline:14px!important}
  .cinematic-story>.legacy-section-head{padding-top:78svh!important}
  .hero-cinematic-story>.hero-story-copy{padding:98svh 14px 28svh!important}
  .hero-cinematic-story .legacy-hero-title .title-main{font-size:clamp(58px,18vw,96px)!important}
}
@media(prefers-reduced-motion:reduce){
  .cinematic-story>.home-scene-intro img,
  .cinematic-story>.home-scene-intro .home-scene-intro-shade{
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
  }
  .cinematic-story .home-scene-intro-shade{opacity:.56!important}
}

/* ===== CeibaInk v4.5.0 — loader + home cleanup + responsive cinematic polish ===== */
/* Never split animated words between individual character spans. */
.reveal-word{display:inline-block;white-space:nowrap}

/* The search belongs on the home page and appears immediately after the opening scene. */
.discovery-home-section{
  max-width:none!important;
  margin:0!important;
  padding:clamp(54px,7vw,92px) max(18px,calc((100vw - 1280px)/2))!important;
  background:
    radial-gradient(circle at 12% 12%,rgba(209,19,44,.11),transparent 34%),
    linear-gradient(180deg,#09090a,#070708)!important;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.discovery-home-copy{max-width:860px;margin:0 0 28px}
.discovery-home-copy h2{margin:8px 0 12px;font-size:clamp(34px,4.7vw,66px);line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.discovery-home-copy>p:last-child{max-width:760px;color:#aaa3a6;line-height:1.65}
.discovery-home-section .discovery-toolbar{margin:0!important;max-width:1280px!important}

/* Cinematic copy remains readable much earlier in the scroll. */
.cinematic-story>.home-scene-intro .home-scene-intro-shade{
  background:
    linear-gradient(180deg,rgba(4,4,5,.02) 0%,rgba(4,4,5,.15) 25%,rgba(4,4,5,.70) 56%,rgba(4,4,5,.94) 80%,rgba(4,4,5,.98) 100%),
    radial-gradient(circle at 50% 42%,transparent 28%,rgba(0,0,0,.32) 74%,rgba(0,0,0,.58) 100%)!important;
}
.cinematic-story>.legacy-section-head h2{
  font-size:clamp(36px,5vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  text-wrap:balance;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.compact-story-head{padding-top:76svh!important;margin-bottom:34px!important}
.compact-story-head h2{max-width:760px!important;font-size:clamp(36px,4.6vw,66px)!important}

/* Hero uses a wide padded asset; keep the head safely below the fixed header on every aspect ratio. */
.hero-cinematic-story>.home-scene-intro img{
  object-position:center center!important;
}

/* The old giant highlighted-studio carousel is gone. Results are a compact rail. */
.studios-story .entity-rail-shell{max-width:1280px;margin-inline:auto!important;padding-inline:0!important}
.studios-story .directory-summary{max-width:1280px;margin:0 auto 14px!important}

/* Editorial flow instead of QA counters / boxed vanity stats. */
.bridge-route{display:flex;align-items:center;gap:clamp(12px,2vw,28px);margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.bridge-route>span{min-width:0;flex:1}
.bridge-route b{display:block;font-size:clamp(24px,3vw,42px);line-height:1;color:#f4efeb;letter-spacing:-.03em}
.bridge-route small{display:block;margin-top:8px;color:#a9a2a4;line-height:1.5}
.bridge-route>i{font-style:normal;color:#ef354b;font-size:clamp(18px,2vw,28px);opacity:.75}

/* 3D studio cards return on precise-pointer desktops. Mobile keeps the stable readable face. */
.flip-studio-card{height:390px!important;min-height:390px!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;perspective:1100px!important}
.flip-studio-inner{position:relative;width:100%;height:100%;transition:transform .72s cubic-bezier(.16,.9,.24,1);transform-style:preserve-3d}
.flip-studio-face{position:absolute;inset:0;border:1px solid #302d31;border-radius:22px;overflow:hidden;background:#0d0d0f;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 20px 55px rgba(0,0,0,.28)}
.flip-studio-front{display:flex;flex-direction:column}
.flip-studio-front .studio-card-media{aspect-ratio:auto!important;height:230px!important;flex:0 0 230px!important}
.flip-studio-front .studio-body{padding:15px 17px 16px!important}
.flip-hint{margin-top:auto;color:#e94253;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.flip-studio-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;padding:26px 24px;background:linear-gradient(145deg,#141114,#09090b 68%)}
.flip-studio-back h3{font-size:clamp(27px,2.4vw,36px)!important;margin:8px 0 14px!important}
.flip-studio-back p{display:block!important;min-height:0!important;font-size:13px!important;line-height:1.6!important;color:#b8b1b4!important;margin:0 0 20px!important;overflow:visible!important}
.flip-back-meta{display:grid;gap:7px;padding:14px 0 18px;border-top:1px solid rgba(255,255,255,.1);color:#a9a2a4;font-size:11px}
.flip-back-meta strong{color:#f0ebe7}
.flip-studio-back .btn-legacy{margin-top:auto;width:100%}
@media (hover:hover) and (pointer:fine){
  .flip-studio-card:hover .flip-studio-inner,.flip-studio-card:focus-within .flip-studio-inner{transform:rotateY(180deg)}
  .flip-studio-card:hover{transform:none!important}
}

/* Founder images: never sacrifice a head for the card frame. */
.founder-photo.gabriel-photo img{object-fit:contain!important;object-position:center center!important;background:#cfcfcf!important}

/* Faster dim/soft blur as copy comes over the photograph. */
@supports (animation-timeline:view()){
  .cinematic-story>.home-scene-intro img{animation-range:entry 0% exit 62%!important}
  .cinematic-story>.home-scene-intro .home-scene-intro-shade{animation-range:entry 2% exit 48%!important}
  @keyframes v44PhotoPullback{
    0%{transform:scale(1.13);filter:saturate(1.02) contrast(1.01) brightness(1.04) blur(0)}
    28%{transform:scale(1.075);filter:saturate(.97) contrast(1.03) brightness(.88) blur(.25px)}
    52%{transform:scale(1.035);filter:saturate(.84) contrast(1.05) brightness(.67) blur(1px)}
    100%{transform:scale(1.008);filter:saturate(.72) contrast(1.07) brightness(.52) blur(1.8px)}
  }
  @keyframes v44PhotoDim{0%,8%{opacity:.05}28%{opacity:.42}52%{opacity:.82}100%{opacity:1}}
}

/* Keep sections deliberate but not comically tall. */
.cinematic-story:not(.hero-cinematic-story){padding-bottom:clamp(78px,10svh,128px)!important}
.cinematic-story:not(.hero-cinematic-story)>.legacy-section-head{padding-top:76svh!important}
.hero-cinematic-story{min-height:176svh!important}
.hero-cinematic-story>.hero-story-copy{min-height:168svh!important;padding-top:96svh!important;padding-bottom:28svh!important}

/* Responsive typography and card layout: no character-level word breaks, no overflow offscreen. */
@media(max-width:900px){
  .discovery-home-section{padding:48px 18px!important}
  .cinematic-story>.legacy-section-head h2{font-size:clamp(34px,9vw,58px)!important}
  .bridge-route{display:grid;grid-template-columns:1fr;gap:14px}.bridge-route>i{transform:rotate(90deg);justify-self:start;margin-left:8px}
  .flip-studio-card{height:auto!important;min-height:0!important;overflow:hidden!important;border:1px solid #2a272b!important;border-radius:18px!important;background:#0d0d0f!important;box-shadow:0 12px 34px rgba(0,0,0,.2)!important;perspective:none!important}
  .flip-studio-inner{height:auto!important;transform:none!important;transform-style:flat!important}
  .flip-studio-face{position:relative!important;inset:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;backface-visibility:visible!important}
  .flip-studio-front{display:flex!important}.flip-studio-back{display:none!important}
  .flip-studio-front .studio-card-media{height:auto!important;flex:auto!important;aspect-ratio:1.35!important}
  .flip-hint{display:none}
  .founder-photo.gabriel-photo img{object-fit:contain!important}
}
@media(max-width:560px){
  .discovery-home-copy h2{font-size:clamp(32px,10vw,48px)}
  .cinematic-story>.legacy-section-head{padding-top:72svh!important}
  .cinematic-story>.legacy-section-head h2{font-size:clamp(31px,10.5vw,50px)!important;line-height:1.02!important}
  .hero-cinematic-story>.hero-story-copy{padding-top:94svh!important}
}
@media(prefers-reduced-motion:reduce){.flip-studio-inner{transition:none!important}.flip-studio-card:hover .flip-studio-inner{transform:none!important}}

/* ===== CeibaInk v4.5.1 — unified studio filters/results + rating stars + hero/founder polish ===== */
#studio-search-zone{scroll-margin-top:92px}
#studio-results{scroll-margin-top:112px}

/* The filters and the cards are one module now. Keep the controls visible over the same studio scene. */
.studios-story .discovery-toolbar{
  position:relative!important;
  z-index:4!important;
  max-width:1280px!important;
  margin:0 auto 18px!important;
  padding:18px!important;
  opacity:1!important;
  transform:none!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:18px!important;
  background:rgba(8,8,10,.80)!important;
  box-shadow:0 26px 70px rgba(0,0,0,.30)!important;
  backdrop-filter:blur(16px);
}
.studios-story .location-profile-prompt{
  max-width:1280px!important;
  margin:0 auto 14px!important;
  position:relative!important;
  z-index:4!important;
}
.studios-story .directory-summary{
  position:relative!important;
  z-index:4!important;
  margin:18px auto 16px!important;
}
.studios-story .entity-rail-shell{position:relative!important;z-index:4!important}

/* Ratings are visible on every studio card, even when the studio has no reviews yet. */
.studio-rating{display:flex;align-items:center;gap:9px;min-width:0;margin:7px 0 8px;color:#d8d1cc;font-size:11px;line-height:1.2}
.studio-rating-stars{color:#e7b553;font-size:15px;letter-spacing:.08em;white-space:nowrap;text-shadow:0 0 18px rgba(231,181,83,.12)}
.studio-rating-copy{color:#aaa2a4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flip-studio-back .studio-rating{margin:0 0 16px}
.flip-studio-back .studio-rating-stars{font-size:17px}

/* First load: a subtle camera pull-back. The decorative linework stays hidden until the user starts scrolling. */
.hero-first-load>.home-scene-intro{animation:ceibaHeroOpeningZoom 1.85s cubic-bezier(.16,.84,.24,1) both;transform-origin:center center;will-change:transform}
@keyframes ceibaHeroOpeningZoom{0%{transform:scale(1.045)}100%{transform:scale(1)}}
.hero-pristine .hero-story-copy>.hero-particles,
.hero-pristine .hero-story-copy>.hero-linework,
.hero-pristine .hero-story-copy>.hero-eyebrow,
.hero-pristine .hero-story-copy>.legacy-hero-title,
.hero-pristine .hero-story-copy>.legacy-hero-sub,
.hero-pristine .hero-story-copy>.legacy-actions,
.hero-pristine .hero-story-copy>.scroll-indicator{opacity:0!important}
.hero-cinematic-story .hero-story-copy>.hero-particles,
.hero-cinematic-story .hero-story-copy>.hero-linework,
.hero-cinematic-story .hero-story-copy>.hero-eyebrow,
.hero-cinematic-story .hero-story-copy>.legacy-hero-title,
.hero-cinematic-story .hero-story-copy>.legacy-hero-sub,
.hero-cinematic-story .hero-story-copy>.legacy-actions,
.hero-cinematic-story .hero-story-copy>.scroll-indicator{transition:opacity .55s ease}

/* Gabriel uses a portrait crop again, not the padded square version that made him look tiny. */
.founder-photo.gabriel-photo{background:#d1d1d1!important}
.founder-photo.gabriel-photo:before{display:none!important}
.founder-photo.gabriel-photo img{
  object-fit:cover!important;
  object-position:center 18%!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  background:#d1d1d1!important;
  filter:saturate(.88) contrast(1.02)!important;
}

@media(max-width:900px){
  .studios-story .discovery-toolbar{padding:14px!important;backdrop-filter:none}
  .founder-photo.gabriel-photo img{object-position:center 14%!important}
}
@media(max-width:560px){
  .studio-rating{align-items:flex-start;flex-direction:column;gap:4px}
  .studio-rating-copy{white-space:normal}
  #studio-search-zone{scroll-margin-top:76px}
}
@media(prefers-reduced-motion:reduce){
  .hero-first-load>.home-scene-intro{animation:none!important}
}
.founder-photo.gabriel-photo:before{display:none!important;background:none!important}


/* ===== CeibaInk v4.5.2 — startup/runtime repair ===== */
/* Keep the opening camera pull-back paused behind the preloader; it starts when the loader actually leaves. */
body.ceibag-preloading .hero-first-load>.home-scene-intro{
  animation-play-state:paused!important;
}
.hero-first-load>.home-scene-intro{
  animation-name:ceibaHeroOpeningZoomV452!important;
  animation-duration:2.65s!important;
  animation-timing-function:cubic-bezier(.16,.82,.22,1)!important;
  animation-fill-mode:both!important;
  transform-origin:center center!important;
  will-change:transform;
}
@keyframes ceibaHeroOpeningZoomV452{
  0%{transform:scale(1.18)}
  42%{transform:scale(1.075)}
  100%{transform:scale(1)}
}
/* The loader fades while the hero begins moving underneath it. */
.ceibag-preloader{transition:opacity .9s cubic-bezier(.16,.9,.24,1),visibility .9s!important}
/* Founders/support must never remain invisible because a nonessential rail helper failed. */
.founders-section .founder-card.reveal:not(.revealed),
.founders-section .founder-card.reveal-scale:not(.revealed){
  opacity:1;
}
@media(prefers-reduced-motion:reduce){
  .hero-first-load>.home-scene-intro{animation:none!important;transform:none!important;will-change:auto!important}
}

/* ===== CeibaInk v4.5.3 — discovery filter picker polish ONLY ===== */
#studio-search.discovery-toolbar{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:end!important;
  overflow:visible!important;
}
#studio-search .directory-search{grid-column:span 4!important}
#studio-search .geo-country{grid-column:span 2!important}
#studio-search .geo-province{grid-column:span 3!important}
#studio-search .geo-city{grid-column:span 3!important}
#studio-search .filter-rating,#studio-search .filter-style,#studio-search .filter-sort{grid-column:span 4!important}
#studio-search .directory-check{grid-column:span 3!important}
#studio-search .directory-actions{grid-column:span 6!important;justify-content:flex-end!important;align-self:center!important;padding-top:0!important}
#studio-search>label{position:relative;min-width:0}
#studio-search>label>span:first-child{display:block;margin:0 0 8px;color:#9d9699;font-size:10px;font-weight:700;letter-spacing:.085em;text-transform:uppercase}

/* Hide only the three source controls that are mirrored by the searchable pickers. */
#studio-search .geo-source-hidden{
  position:absolute!important;
  width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important;
  clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;
}
#studio-search .geo-picker{position:relative;min-width:0}
#studio-search .geo-picker-control{
  width:100%;height:48px;min-width:0;
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(18,18,21,.98),rgba(9,9,11,.98));
  color:#f4f1ee;
  outline:0;
  padding:0 15px;
  font:inherit;font-size:12px;font-weight:650;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
#studio-search .geo-picker-control::placeholder{color:#6f696c;font-weight:500}
#studio-search .geo-picker-control:focus{
  border-color:rgba(239,53,75,.78);
  box-shadow:0 0 0 4px rgba(239,53,75,.10),inset 0 1px 0 rgba(255,255,255,.035);
  background:#101013;
}
#studio-search .geo-picker.is-disabled .geo-picker-control{opacity:.52;cursor:not-allowed}
#studio-search .geo-picker.is-busy .geo-picker-control{opacity:.72;cursor:progress}
#studio-search .geo-picker.is-error .geo-picker-control{border-color:rgba(239,53,75,.55)}
#studio-search .geo-picker-menu{
  display:none;position:absolute;z-index:80;
  left:0;right:0;top:calc(100% + 8px);
  max-height:280px;overflow:auto;overscroll-behavior:contain;
  padding:7px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px;
  background:rgba(12,12,15,.985);
  box-shadow:0 24px 70px rgba(0,0,0,.56);
  backdrop-filter:blur(18px);
}
#studio-search .geo-picker-menu.open{display:block}
#studio-search .geo-picker-option{
  width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:0;border-radius:9px;background:transparent;color:#d8d2d4;
  padding:9px 11px;text-align:left;cursor:pointer;font:inherit;font-size:12px;
}
#studio-search .geo-picker-option:hover,#studio-search .geo-picker-option.active{background:rgba(255,255,255,.065);color:#fff}
#studio-search .geo-picker-option.selected{background:rgba(239,53,75,.11);color:#fff}
#studio-search .geo-picker-option i{font-style:normal;color:#ef354b;font-weight:900}
#studio-search .geo-picker-empty{padding:12px;color:#817a7e;font-size:12px;text-align:center}
#studio-search .geo-picker-status{min-height:0;margin-top:6px;color:#8e878b;font-size:10px;line-height:1.35}
#studio-search .geo-picker-status:empty{display:none}
#studio-search .geo-picker-status button{border:0;background:none;color:#ef354b;padding:0 0 0 8px;font:inherit;font-weight:800;cursor:pointer}

/* Remove the old datalist arrow artwork from this filter completely. */
#studio-search input[list][name="province"],#studio-search input[list][name="municipality"]{background-image:none!important;padding-right:15px!important}

@media(max-width:1080px){
  #studio-search .directory-search{grid-column:1/-1!important}
  #studio-search .geo-country,#studio-search .geo-province,#studio-search .geo-city{grid-column:span 4!important}
  #studio-search .filter-rating,#studio-search .filter-style,#studio-search .filter-sort{grid-column:span 4!important}
  #studio-search .directory-check{grid-column:span 4!important}
  #studio-search .directory-actions{grid-column:span 4!important}
}
@media(max-width:720px){
  #studio-search.discovery-toolbar{gap:13px!important;padding:15px!important}
  #studio-search .directory-search,#studio-search .geo-country,#studio-search .geo-province,#studio-search .geo-city,
  #studio-search .filter-rating,#studio-search .filter-style,#studio-search .filter-sort,#studio-search .directory-check,#studio-search .directory-actions{grid-column:1/-1!important}
  #studio-search .directory-actions{justify-content:stretch!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  #studio-search .directory-actions .primary-btn,#studio-search .directory-actions .link-btn{width:100%}
  #studio-search .geo-picker-menu{max-height:240px}
}

#studio-search .select{appearance:none!important;-webkit-appearance:none!important;background-image:none!important;padding-right:15px!important}

/* ===== CeibaInk v4.5.6 — clean symbol-free filter fields ONLY ===== */
#studio-search .geo-picker-control{padding-right:15px!important}
#studio-search .geo-picker-menu{scrollbar-width:thin;scrollbar-color:#393338 transparent}
#studio-search .geo-picker-option{transition:background .14s ease,color .14s ease,transform .14s ease}
#studio-search .geo-picker-option:hover{transform:translateX(2px)}

/* All filter selects are intentionally symbol-free. The whole field remains clickable. */
#studio-search select.select,
#studio-search select.select:focus{
  appearance:none!important;-webkit-appearance:none!important;
  background-image:none!important;background:none!important;
  padding-right:15px!important;
}

/* Loading buttons: one spinner born at the exact center; no travel from text/edge. */
button.is-loading:after{content:none!important;display:none!important}
button.is-loading .button-spinner{
  position:absolute!important;left:50%!important;top:50%!important;
  width:18px!important;height:18px!important;margin:0!important;
  border:2px solid rgba(255,255,255,.28)!important;border-top-color:#fff!important;
  border-radius:50%!important;pointer-events:none!important;
  transform:translate(-50%,-50%) rotate(0deg);
  animation:ceibaFixedButtonSpin .68s linear infinite!important;
}
@keyframes ceibaFixedButtonSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

@media(max-width:720px){
  #studio-search .geo-picker-control{padding-right:15px!important}
  #studio-search select.select{padding-right:15px!important}
}


/* ===== CeibaInk v4.5.7 — founder names + contact buttons only ===== */
.founders-section .founder-name{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  color:#f4f0eb!important;
}
.founders-section .founder-contact-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:0 16px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#f6f2ee!important;
  font-size:10px!important;
  letter-spacing:.035em;
  line-height:1;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease;
}
.founders-section .founder-contact-btn:hover{
  background:rgba(229,71,88,.12);
  border-color:rgba(229,71,88,.72)!important;
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.founders-section .founder-contact-icon{
  width:16px;
  height:16px;
  flex:0 0 16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  display:block;
}
.founders-section .founder-contact-btn span{display:inline-block;line-height:1}
@media(max-width:560px){
  .founders-section .founder-contact-btn{min-height:42px;padding:0 14px!important;font-size:9px!important}
}
