:root{
  --black:#0a0a0a;
  --black-soft:#151517;
  --black-line:rgba(255,255,255,.12);
  --white:#ffffff;
  --paper:#f3f3f0;
  --paper-line:rgba(10,10,10,.09);
  --ink:#121214;
  --ink-soft:#5c5c62;
  --ink-faint:#8c8c92;
  --gold:#c6a35d;
  --gold-bright:#e0bd78;
  --gold-dim:rgba(198,163,93,.16);
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --shadow-1:0 1px 2px rgba(0,0,0,.06);
  --shadow-2:0 12px 32px rgba(0,0,0,.10);
  --shadow-3:0 24px 60px rgba(0,0,0,.35);
  --ease:cubic-bezier(.16,.8,.24,1);
  --nav-h:64px;
  --display:'Space Grotesk',sans-serif;
  --body:'Inter',sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  animation:pageFade .4s var(--ease);
}
@keyframes pageFade{from{opacity:0;}to{opacity:1;}}
img,svg{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.mono{font-family:var(--mono);}
.eyebrow{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;
}
.eyebrow::before{content:"";width:16px;height:1px;background:var(--gold);}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.05;}

/* ---------- NAV ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 1.5rem;background:rgba(10,10,10,.72);backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--black-line);
}
.brand{display:flex;align-items:center;gap:.55rem;color:var(--white);font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:-.02em;}
.brand-mark{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 32% 28%, #eee 0%, var(--gold) 38%, #6b5527 78%, #201804 100%);box-shadow:inset 0 0 4px rgba(0,0,0,.5);}
.nav-links{display:none;gap:2rem;font-size:.88rem;color:rgba(255,255,255,.72);}
.nav-links a{display:block;transition:color .2s;padding:.4rem 0;}
.nav-links a:hover,.nav-links a.active{color:var(--white);}
.nav-right{display:flex;align-items:center;gap:1rem;}
@media(min-width:860px){.nav-links{display:flex;}}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.75rem 1.4rem;border-radius:999px;font-size:.88rem;font-weight:600;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s;
  white-space:nowrap;
}
.btn:active{transform:scale(.97);}
.btn-gold{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#1a1406;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 8px 20px rgba(198,163,93,.28);}
.btn-gold:hover{box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 10px 26px rgba(198,163,93,.4);transform:translateY(-1px);}
.btn-ghost-dark{border:1px solid rgba(255,255,255,.28);color:var(--white);}
.btn-ghost-dark:hover{border-color:var(--white);background:rgba(255,255,255,.06);}
.btn-ghost-light{border:1px solid var(--paper-line);color:var(--ink);}
.btn-ghost-light:hover{border-color:var(--ink);}
.btn-dark{background:var(--black);color:var(--white);}
.btn-dark:hover{background:#232326;}
.btn-sm{padding:.55rem 1rem;font-size:.8rem;}
.btn-block{width:100%;}
.btn[disabled]{opacity:.35;pointer-events:none;}

.wrap{max-width:1180px;margin:0 auto;padding:0 1.5rem;}
.section{padding:5.5rem 0;}
@media(min-width:860px){.section{padding:8rem 0;}}
.section-dark{background:var(--black);color:var(--white);}
.section-paper{background:var(--paper);color:var(--ink);}
.section-white{background:var(--white);color:var(--ink);}

/* ---------- HERO ---------- */
.hero{
  background:radial-gradient(circle at 18% -10%, #1c1a12 0%, var(--black) 45%), var(--black);
  color:var(--white);padding:calc(var(--nav-h) + 4.5rem) 0 4rem;position:relative;
}
.hero-grid{display:grid;gap:3rem;align-items:center;}
@media(min-width:960px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:2rem;}}
.hero h1{font-size:clamp(2.3rem,5.4vw,3.6rem);margin-bottom:1.2rem;}
.hero h1 em{font-style:normal;color:var(--gold-bright);}
.hero p.lead{font-size:1.08rem;color:rgba(255,255,255,.68);max-width:34rem;margin-bottom:2rem;line-height:1.6;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2.6rem;}
.hero-stats{display:flex;gap:2.2rem;flex-wrap:wrap;}
.hero-stat b{display:block;font-family:var(--mono);font-size:1.3rem;color:var(--white);}
.hero-stat span{font-size:.76rem;color:rgba(255,255,255,.5);}

/* signature: before/after dent slider */
.slider-card{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;
  box-shadow:var(--shadow-3);border:1px solid rgba(255,255,255,.08);user-select:none;
}
.slider-panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.3rem;overflow:hidden;}
.slider-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.panel-tag{position:relative;z-index:1;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.35rem .7rem;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;width:fit-content;backdrop-filter:blur(6px);}
.slider-clip{position:absolute;inset:0;overflow:hidden;}
.slider-handle{
  position:absolute;top:0;bottom:0;width:2px;background:var(--gold-bright);left:52%;
  box-shadow:0 0 14px rgba(224,189,120,.6);cursor:ew-resize;touch-action:none;
}
.slider-handle::after{
  content:"";position:absolute;top:50%;left:50%;width:42px;height:42px;border-radius:50%;
  transform:translate(-50%,-50%);background:var(--white);
  box-shadow:0 6px 18px rgba(0,0,0,.4);
  background-image:linear-gradient(90deg,transparent 46%,#bbb 46%,#bbb 54%,transparent 54%);
}
.slider-hint{position:absolute;top:1rem;left:50%;transform:translateX(-50%);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.8);background:rgba(0,0,0,.4);padding:.4rem .8rem;border-radius:999px;backdrop-filter:blur(6px);}

/* ---------- comparison (pain vs advantage) ---------- */
.compare{display:grid;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-2);}
@media(min-width:860px){.compare{grid-template-columns:1fr 1fr;}}
.compare-col{padding:2.6rem 2rem;}
.compare-old{background:var(--black-soft);color:rgba(255,255,255,.85);}
.compare-new{background:var(--white);color:var(--ink);}
.compare-col h3{font-size:1.3rem;margin-bottom:1.5rem;}
.compare-old h3{color:var(--white);}
.compare-list{list-style:none;display:flex;flex-direction:column;gap:1rem;}
.compare-list li{display:flex;gap:.7rem;font-size:.94rem;line-height:1.5;}
.compare-old .compare-list li{color:rgba(255,255,255,.62);}
.mark{flex:none;width:18px;height:18px;border-radius:50%;margin-top:.15rem;display:flex;align-items:center;justify-content:center;font-size:.7rem;}
.mark-x{background:rgba(255,255,255,.1);color:rgba(255,255,255,.6);}
.mark-check{background:var(--gold-dim);color:var(--gold);}

/* ---------- how it works ---------- */
.steps{display:grid;gap:1.2rem;}
@media(min-width:700px){.steps{grid-template-columns:repeat(3,1fr);gap:1.6rem;}}
.step{padding:1.8rem;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--paper-line);}
.step .num{font-family:var(--mono);color:var(--gold);font-size:.85rem;margin-bottom:.9rem;display:block;}
.step h4{font-family:var(--display);font-size:1.05rem;margin-bottom:.5rem;}
.step p{font-size:.88rem;color:var(--ink-soft);line-height:1.55;}

/* ---------- roles ---------- */
.roles{display:grid;gap:1.2rem;}
@media(min-width:700px){.roles{grid-template-columns:repeat(2,1fr);}}
.role-card{display:block;padding:2rem;border-radius:var(--radius-md);background:var(--black-soft);border:1px solid var(--black-line);transition:border-color .2s,transform .2s;}
.role-card:hover{border-color:rgba(198,163,93,.5);transform:translateY(-3px);}
.role-card h4{color:var(--white);font-size:1.15rem;margin-bottom:.6rem;}
.role-card p{color:rgba(255,255,255,.6);font-size:.88rem;line-height:1.6;margin-bottom:1.2rem;}
.role-tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);}

footer{padding:3rem 0;background:var(--black);color:rgba(255,255,255,.45);border-top:1px solid var(--black-line);}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.82rem;align-items:center;}

/* ================= APP CHROME (search/profile/quote/booking) ================= */
.app-shell{background:var(--paper);min-height:100vh;padding-top:calc(var(--nav-h) + 1.5rem);padding-bottom:4rem;}
.app-head{margin-bottom:2rem;}
.app-head h2{font-size:1.7rem;margin-bottom:.4rem;}
.app-head p{color:var(--ink-soft);font-size:.94rem;}
.back-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-soft);margin-bottom:1.2rem;}
.back-link:hover{color:var(--ink);}

/* filters */
.filter-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.8rem;}
.chip-select{
  font-family:var(--mono);font-size:.78rem;padding:.55rem .9rem;border-radius:999px;
  border:1px solid var(--paper-line);background:var(--white);color:var(--ink);
}
.search-layout{display:grid;gap:1.6rem;}
@media(min-width:960px){.search-layout{grid-template-columns:1fr 1fr;}}
.master-list{display:flex;flex-direction:column;gap:.9rem;}
.master-card{
  display:flex;gap:1rem;padding:1.1rem;background:var(--white);border:1px solid var(--paper-line);
  border-radius:var(--radius-md);cursor:pointer;transition:box-shadow .2s,transform .2s,border-color .2s;text-align:left;width:100%;
}
.master-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);border-color:transparent;}
.avatar{
  flex:none;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:700;color:#fff;font-size:1rem;
}
.mc-body{flex:1;min-width:0;}
.mc-top{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start;}
.mc-name{font-family:var(--display);font-weight:600;font-size:1rem;display:flex;align-items:center;gap:.4rem;}
.badge-pro{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;background:var(--gold-dim);color:#8a6d2e;padding:.15rem .45rem;border-radius:5px;}
.mc-price{font-family:var(--mono);font-size:.92rem;font-weight:500;white-space:nowrap;}
.mc-meta{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.78rem;color:var(--ink-soft);margin:.35rem 0 .5rem;}
.stars{color:var(--gold);letter-spacing:1px;font-size:.85rem;}
.mc-tags{display:flex;gap:.4rem;flex-wrap:wrap;}
.tag{font-size:.7rem;padding:.22rem .55rem;border-radius:999px;background:var(--paper);color:var(--ink-soft);}

.map-card{
  border-radius:var(--radius-lg);border:1px solid var(--paper-line);background:
    linear-gradient(0deg, rgba(10,10,10,.04), rgba(10,10,10,.04)),
    repeating-linear-gradient(0deg, transparent, transparent 38px, rgba(10,10,10,.05) 39px),
    repeating-linear-gradient(90deg, transparent, transparent 38px, rgba(10,10,10,.05) 39px),
    var(--white);
  min-height:340px;position:relative;overflow:hidden;
}
.map-pin{position:absolute;width:30px;height:30px;border-radius:50% 50% 50% 0;background:var(--black);transform:rotate(-45deg);box-shadow:0 4px 10px rgba(0,0,0,.25);}
.map-pin.gold{background:var(--gold);}
.map-note{position:absolute;bottom:1rem;left:1rem;font-family:var(--mono);font-size:.7rem;color:var(--ink-faint);background:rgba(255,255,255,.85);padding:.4rem .7rem;border-radius:8px;}

/* profile */
.profile-head{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap;margin-bottom:2rem;}
.avatar-lg{width:88px;height:88px;font-size:1.7rem;flex:none;}
.profile-name{font-size:1.6rem;display:flex;align-items:center;gap:.6rem;}
.profile-meta{color:var(--ink-soft);font-size:.9rem;margin-top:.3rem;display:flex;gap:1rem;flex-wrap:wrap;}
.profile-grid{display:grid;gap:2.2rem;}
@media(min-width:960px){.profile-grid{grid-template-columns:1.4fr 1fr;}}
.card{background:var(--white);border:1px solid var(--paper-line);border-radius:var(--radius-md);padding:1.6rem;}
.card + .card{margin-top:1.4rem;}
.card h3{font-size:1.05rem;margin-bottom:1rem;}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;}
.gal-item{position:relative;aspect-ratio:1/1;border-radius:var(--radius-sm);overflow:hidden;}
.gal-tag{position:absolute;bottom:.5rem;left:.5rem;font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;background:rgba(0,0,0,.5);color:#fff;padding:.2rem .5rem;border-radius:6px;}
.svc-row{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--paper-line);font-size:.88rem;}
.svc-row:last-child{border-bottom:none;}
.svc-price{font-family:var(--mono);}
.review{padding:1rem 0;border-bottom:1px solid var(--paper-line);}
.review:last-child{border-bottom:none;}
.review-top{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.35rem;}
.review p{font-size:.87rem;color:var(--ink-soft);line-height:1.55;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;margin-bottom:1rem;}
.cal-day{text-align:center;font-size:.72rem;color:var(--ink-faint);font-family:var(--mono);}
.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
.slot{padding:.55rem .3rem;text-align:center;border-radius:8px;border:1px solid var(--paper-line);font-family:var(--mono);font-size:.76rem;background:var(--white);transition:.15s;}
.slot:hover:not(.slot-disabled){border-color:var(--gold);}
.slot.selected{background:var(--black);color:var(--white);border-color:var(--black);}
.slot-disabled{opacity:.3;text-decoration:line-through;pointer-events:none;}

/* quote page */
.quote-wrap{max-width:640px;margin:0 auto;}
.dropzone{
  border:1.5px dashed var(--paper-line);border-radius:var(--radius-lg);background:var(--white);
  padding:3rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;
}
.dropzone:hover{border-color:var(--gold);background:#fdfbf6;}
.dropzone svg{margin:0 auto 1rem;}
.dropzone h4{font-family:var(--display);margin-bottom:.4rem;}
.dropzone p{font-size:.84rem;color:var(--ink-soft);}
.preview-box{border-radius:var(--radius-lg);overflow:hidden;position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#3a3d42,#232529 60%,#111214);}
.preview-box img{width:100%;height:100%;object-fit:cover;}
.analyzing-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.2);}
.analyzing-bar span{display:block;height:100%;width:0%;background:var(--gold-bright);transition:width 2.2s linear;}
.analyzing-label{position:absolute;top:1rem;left:1rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.5);padding:.4rem .8rem;border-radius:999px;}
.result-card{margin-top:1.5rem;padding:1.8rem;border-radius:var(--radius-lg);background:var(--black);color:#fff;}
.result-price{font-family:var(--mono);font-size:2.2rem;color:var(--gold-bright);margin:.4rem 0;}
.result-meta{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.6);margin-bottom:1.4rem;}

/* booking summary + confirmation */
.summary-row{display:flex;justify-content:space-between;font-size:.88rem;padding:.55rem 0;border-bottom:1px solid var(--paper-line);}
.summary-row:last-child{border-bottom:none;}
.summary-total{font-family:var(--mono);font-weight:600;font-size:1.05rem;}
.confirm-wrap{max-width:520px;margin:0 auto;text-align:center;padding:3rem 0;}
.check-circle{width:64px;height:64px;border-radius:50%;background:var(--gold-dim);color:var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 1.4rem;font-size:1.6rem;}
.ref-code{font-family:var(--mono);font-size:.9rem;color:var(--ink-soft);margin:.6rem 0 2rem;}
.next-list{text-align:left;display:flex;flex-direction:column;gap:.8rem;margin:2rem 0;}
.next-list li{display:flex;gap:.7rem;font-size:.88rem;color:var(--ink-soft);}
.next-list b{color:var(--ink);}

select.chip-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235c5c62'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:1.8rem;}

/* ================= REQUEST / MAP STATUS ================= */
:root{
  --status-available:#9096a1;
  --status-sent:#c6a35d;
  --status-accepted:#3d8f5b;
  --status-denied:#c1443a;
}
.request-note{background:var(--gold-dim);color:#8a6d2e;border-radius:var(--radius-sm);padding:.8rem 1.1rem;font-size:.85rem;margin-bottom:1.6rem;line-height:1.5;}
.radius-ring{position:absolute;top:50%;left:50%;width:78%;aspect-ratio:1/1;transform:translate(-50%,-50%);border:1.5px dashed rgba(10,10,10,.18);border-radius:50%;}
.map-pin.status-available{background:var(--status-available);}
.map-pin.status-sent{background:var(--status-sent);}
.map-pin.status-accepted{background:var(--status-accepted);}
.map-pin.status-denied{background:var(--status-denied);}
.status-legend{display:flex;flex-wrap:wrap;gap:1.1rem;margin-bottom:1.3rem;font-size:.78rem;color:var(--ink-soft);}
.status-legend span{display:flex;align-items:center;gap:.45rem;}
.legend-dot{width:9px;height:9px;border-radius:50%;flex:none;}
.request-row{display:flex;align-items:center;gap:.9rem;padding:1rem;border:1px solid var(--paper-line);border-radius:var(--radius-md);margin-bottom:.7rem;background:var(--white);}
.status-badge{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px;white-space:nowrap;}
.status-badge.status-available{background:rgba(144,150,161,.15);color:#5c626b;}
.status-badge.status-sent{background:var(--gold-dim);color:#8a6d2e;}
.status-badge.status-accepted{background:rgba(61,143,91,.13);color:#2b6b42;}
.status-badge.status-denied{background:rgba(193,68,58,.12);color:#9c362e;flex:none;}
.req-flagged{opacity:.5;}
.req-flagged .mc-name{text-decoration:line-through;}
.send-request-bar{display:flex;justify-content:center;margin:1.6rem 0 2rem;}
.status-badge.status-filled{background:rgba(139,146,161,.18);color:#5c626b;}
.request-details-card{margin-bottom:1.8rem;}
.request-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.6rem;margin-bottom:1rem;}
.request-photo{position:relative;aspect-ratio:1/1;border-radius:var(--radius-sm);overflow:hidden;background:#eee;}
.request-photo img{width:100%;height:100%;object-fit:cover;}
.request-photo button{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:rgba(10,10,10,.65);color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center;}
.add-photo-tile{aspect-ratio:1/1;border-radius:var(--radius-sm);border:1.5px dashed var(--paper-line);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--ink-faint);cursor:pointer;}
.add-photo-tile:hover{border-color:var(--gold);color:var(--gold);}
.request-details-card textarea{width:100%;min-height:70px;padding:.7rem .9rem;border-radius:8px;border:1px solid var(--paper-line);font-family:inherit;font-size:.85rem;resize:vertical;}
.other-specialists-note{font-size:.8rem;color:var(--ink-faint);margin:1rem 0 .8rem;line-height:1.5;}

/* ================= NEGOTIATION / DEPOSIT ================= */
.deal-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--paper-line);}
.deal-row:last-child{border-bottom:none;}
.deal-label{font-size:.82rem;color:var(--ink-soft);}
.deal-value{font-family:var(--mono);font-size:.98rem;text-align:right;}
.deal-status{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .55rem;border-radius:999px;margin-top:.3rem;display:inline-block;}
.deal-status.agreed{background:rgba(61,143,91,.13);color:#2b6b42;}
.deal-status.pending{background:var(--gold-dim);color:#8a6d2e;}
.deal-actions{display:flex;gap:.5rem;margin-top:.6rem;flex-wrap:wrap;}
.date-propose-row{display:flex;gap:.5rem;margin-top:.7rem;}
.date-propose-row input{flex:1;padding:.6rem .8rem;border-radius:8px;border:1px solid var(--paper-line);font-family:var(--mono);font-size:.82rem;}
.deposit-box{margin-top:1.6rem;padding:1.6rem;border-radius:var(--radius-lg);background:var(--black);color:#fff;display:none;}
.deposit-box.ready{display:block;}
.deposit-box .deal-row{border-color:rgba(255,255,255,.12);}
.deposit-box .deal-label{color:rgba(255,255,255,.6);}
.deposit-box .deal-value{color:#fff;}
.support-panel{display:none;margin-top:1rem;padding:1.2rem;border-radius:var(--radius-md);background:var(--paper);border:1px solid var(--paper-line);}
.support-panel.open{display:block;}
.support-panel textarea{width:100%;min-height:80px;padding:.7rem .9rem;border-radius:8px;border:1px solid var(--paper-line);font-family:inherit;font-size:.85rem;resize:vertical;margin-bottom:.8rem;}
.support-sent{font-size:.84rem;color:#2b6b42;display:none;margin-top:.6rem;}
.support-sent.show{display:block;}
.danger-zone{margin-top:2rem;padding-top:1.6rem;border-top:1px dashed var(--paper-line);}
.btn-danger{background:var(--white);border:1px solid #c1443a;color:#c1443a;}
.btn-danger:hover{background:#c1443a;color:#fff;}
.cancel-modal{position:fixed;inset:0;background:rgba(10,10,10,.55);display:none;align-items:center;justify-content:center;z-index:900;padding:1.5rem;}
.cancel-modal.open{display:flex;}
.cancel-modal-card{background:var(--white);border-radius:var(--radius-lg);padding:1.8rem;max-width:380px;width:100%;}
.cancel-modal-card h4{font-family:var(--display);font-size:1.15rem;margin-bottom:.7rem;}
.cancel-modal-card p{font-size:.88rem;color:var(--ink-soft);line-height:1.55;margin-bottom:1.4rem;}
.cancel-modal-actions{display:flex;gap:.7rem;flex-wrap:wrap;}
.cancelled-banner{padding:1.4rem;border-radius:var(--radius-md);background:rgba(193,68,58,.08);border:1px solid rgba(193,68,58,.25);color:#9c362e;font-size:.9rem;margin-bottom:1.5rem;}

/* ================= MASTER DASHBOARD ================= */
.filter-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.6rem;}
.filter-tab{font-family:var(--mono);font-size:.78rem;padding:.5rem .95rem;border-radius:999px;border:1px solid var(--paper-line);background:var(--white);}
.filter-tab.active{background:var(--black);color:#fff;border-color:var(--black);}
.earn-grid{display:grid;gap:1rem;margin-bottom:1.8rem;}
@media(min-width:700px){.earn-grid{grid-template-columns:repeat(3,1fr);}}
.earn-stat{padding:1.5rem;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--paper-line);}
.earn-num{font-family:var(--mono);font-size:1.7rem;margin-bottom:.25rem;}
.earn-label{font-size:.82rem;color:var(--ink-soft);}
.noshow-form{display:flex;gap:.7rem;align-items:flex-end;flex-wrap:wrap;}
.noshow-form .field-inline{display:flex;flex-direction:column;gap:.4rem;}
.noshow-form label{font-size:.78rem;color:var(--ink-soft);}
.noshow-form select, .noshow-form input{padding:.6rem .8rem;border-radius:8px;border:1px solid var(--paper-line);font-family:var(--mono);font-size:.85rem;}
.noshow-note{font-size:.78rem;color:var(--ink-faint);margin-top:.8rem;line-height:1.5;}

/* ================= AUTH / SIGNUP ================= */
.choice-grid{display:grid;gap:1.5rem;max-width:820px;margin:0 auto;}
@media(min-width:700px){.choice-grid{grid-template-columns:1fr 1fr;}}
.choice-card{padding:2.6rem 2rem;border-radius:var(--radius-lg);border:1px solid var(--paper-line);background:var(--white);text-align:center;transition:.2s;}
.choice-card:hover{box-shadow:var(--shadow-2);transform:translateY(-3px);}
.choice-icon{width:52px;height:52px;border-radius:50%;background:var(--gold-dim);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;font-size:1.4rem;}
.choice-card h3{font-size:1.3rem;margin-bottom:.6rem;}
.choice-card p{color:var(--ink-soft);font-size:.9rem;margin-bottom:1.6rem;line-height:1.55;}
.auth-wrap{max-width:560px;margin:0 auto;}
.form-section{margin-bottom:1.8rem;padding-bottom:1.8rem;border-bottom:1px solid var(--paper-line);}
.form-section:last-of-type{border-bottom:none;}
.form-section h4{font-family:var(--display);font-size:1rem;margin-bottom:1.1rem;}
.form-grid{display:grid;gap:1rem;}
@media(min-width:600px){.form-grid.cols-2{grid-template-columns:1fr 1fr;}}
.form-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;}
.form-field label{font-size:.82rem;font-weight:600;}
.form-field input[type=text],.form-field input[type=email],.form-field input[type=tel],.form-field input[type=password],.form-field textarea{
  padding:.7rem .9rem;border-radius:8px;border:1px solid var(--paper-line);font-family:inherit;font-size:.88rem;background:var(--white);
}
.toggle-yn{display:flex;gap:.5rem;max-width:220px;}
.toggle-yn button{flex:1;padding:.6rem;border-radius:8px;border:1px solid var(--paper-line);font-size:.85rem;background:var(--white);}
.toggle-yn button.active{background:var(--black);color:#fff;border-color:var(--black);}
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;}
.category-check{display:flex;align-items:center;gap:.55rem;padding:.65rem .85rem;border:1px solid var(--paper-line);border-radius:8px;font-size:.83rem;cursor:pointer;}
.category-check input{accent-color:var(--gold);}
.file-row-upload{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;border:1px dashed var(--paper-line);border-radius:8px;font-size:.85rem;background:var(--white);}
.checkbox-line{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;margin-bottom:.8rem;}
.checkbox-line input{margin-top:.25rem;accent-color:var(--gold);}
.conditional-block{display:none;margin-top:.9rem;}
.conditional-block.show{display:block;}
.form-success{display:none;text-align:center;padding:2.5rem 0;}
.form-success.show{display:block;}
.form-success .check-circle{margin:0 auto 1.2rem;}
.get-started-band{padding:2.6rem 0;}
.get-started-grid{display:grid;gap:1.2rem;}
@media(min-width:700px){.get-started-grid{grid-template-columns:1fr 1fr;}}
.get-started-card{padding:1.7rem;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--paper-line);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.get-started-card h4{font-family:var(--display);font-size:1.05rem;margin-bottom:.3rem;}
.get-started-card p{font-size:.84rem;color:var(--ink-soft);}

/* ---------------- CLIENT DASHBOARD / CASES ---------------- */
.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2rem;}
.case-tile{display:block;padding:1.6rem;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--paper-line);text-align:left;transition:box-shadow .2s,transform .2s;}
.case-tile:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);}
.case-tile h4{font-family:var(--display);font-size:1.05rem;margin:.7rem 0 .3rem;}
.case-sub{font-size:.78rem;color:var(--ink-faint);}
.status-badge.status-case-active{background:var(--gold-dim);color:#8a6d2e;}
.status-badge.status-case-completed{background:rgba(61,143,91,.13);color:#2b6b42;}

/* ---------------- SERVICES BEFORE/AFTER GALLERY ---------------- */
.services-gallery{display:grid;gap:1.4rem;}
@media(min-width:700px){.services-gallery{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1000px){.services-gallery{grid-template-columns:repeat(3,1fr);}}
.service-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);border:1px solid var(--paper-line);box-shadow:var(--shadow-1);transition:box-shadow .2s,transform .2s;}
.service-card:hover{box-shadow:var(--shadow-2);transform:translateY(-3px);}
.service-ba{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:16/10;}
.service-ba-panel{position:relative;overflow:hidden;}
.service-ba-panel img{width:100%;height:100%;object-fit:cover;}
.service-ba-panel.after{background-image:linear-gradient(120deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 35%), var(--sv-grad);}
.service-ba-panel.before{background-image:var(--sv-grad);}
.service-ba-panel .panel-tag{position:absolute;bottom:.5rem;left:.5rem;z-index:1;}
.service-card-body{padding:1.2rem 1.4rem;}
.service-card-body h4{font-family:var(--display);font-size:1rem;margin-bottom:.3rem;}
.service-card-body p{font-size:.8rem;color:var(--ink-soft);}
.crack-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.6;}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
