
:root{
  --sage:#405533;
  --sage2:#7e9174;
  --cream:#f6f2ea;
  --soft:#e6ecdd;
  --ink:#101515;
  --muted:#667064;
  --danger:#a33b3b;
  --blue:#466ba3;
  --line:rgba(64,85,51,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}
a{text-decoration:none;color:inherit}
.exact-page{
  min-height:100vh;
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  position:relative;
}
.landing-page{width:100%;min-height:0;aspect-ratio:3/2;background-size:100% 100%;background-position:top center}
.overlay-nav{
  position:absolute;
  inset:0 0 auto 0;
  z-index:10;
  height:115px;
  pointer-events:none;
}
.click-hotspot{
  position:absolute;
  display:block;
  z-index:20;
  pointer-events:auto;
  border-radius:999px;
}
.top-signup{right:13.6%;top:5.0%;width:11.2%;height:8.2%}
.top-signin{right:3.2%;top:5.0%;width:8.8%;height:8.2%;z-index:25}
.get-started-today{left:5.7%;top:55.1%;width:18.2%;height:6.1%}
.landing-top-getstarted{right:10.2%;top:3.3%;width:10.8%;height:5.2%}
.landing-top-signin{right:2.3%;top:3.3%;width:7.4%;height:5.2%;z-index:40}
.landing-features{right:42.7%;top:5%;width:7.0%;height:4.8%;border-radius:8px}
.landing-about{right:32.7%;top:5%;width:7.5%;height:4.8%;border-radius:8px}
.landing-contact{right:24.8%;top:5%;width:6.7%;height:4.8%;border-radius:8px}
.learn-about{left:5.7%;top:93.4%;width:17%;height:4.4%;border-radius:8px}

.page-wrap{min-height:100vh;padding:52px 22px;background:linear-gradient(135deg,#fffdf8,#f3eadc 55%,#edf4e7)}
.card{
  width:min(760px,calc(100% - 24px));
  margin:0 auto;
  background:rgba(255,255,255,.76);
  border:1px solid var(--line);
  border-radius:30px;
  padding:32px;
  box-shadow:0 24px 70px rgba(64,85,51,.12);
  backdrop-filter:blur(16px);
}
.wide-card{width:min(1120px,calc(100% - 24px))}
h1,h2{margin:0 0 18px;letter-spacing:-.04em}
h1{font-size:clamp(42px,6vw,76px)}
h2{font-size:clamp(34px,5vw,58px);color:var(--sage)}
label{display:grid;gap:7px;margin-bottom:14px;font-weight:800;color:var(--sage)}
input,select,textarea{
  border:0;border-radius:18px;background:var(--soft);padding:16px 18px;font-size:16px;outline:1px solid transparent;width:100%;
}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(64,85,51,.36);background:white}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:999px;
  background:var(--sage);color:white;font-weight:900;text-transform:uppercase;letter-spacing:.05em;
  padding:16px 26px;cursor:pointer;text-decoration:none;
}
.btn.secondary{background:white;color:var(--sage);border:1px solid var(--sage)}
.btn.danger{background:var(--danger)}
.status{font-weight:900;color:var(--sage);min-height:22px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.package-card{background:rgba(255,255,255,.74);border:1px solid var(--line);border-radius:24px;padding:26px;cursor:pointer;position:relative}
.package-radio{position:absolute;opacity:0;pointer-events:none}
.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}
.package-gui-card{max-width:1080px;padding:18px}
.package-artwork{position:relative;max-width:860px;margin:0 auto;border-radius:24px;overflow:hidden}
.package-artwork>img{display:block;width:100%;height:auto}
.package-hotspot{position:absolute;top:29%;height:54%;cursor:pointer;border:4px solid transparent;border-radius:18px;transition:.2s}
.package-hotspot span{position:absolute;left:50%;bottom:2%;transform:translateX(-50%);background:transparent;color:#405533;border:2px solid #405533;padding:10px 16px;border-radius:999px;font-weight:800;white-space:nowrap;opacity:0;transition:.2s;text-shadow:0 1px 2px #fff}
.package-hotspot:hover,.package-hotspot.selected{border-color:#405533;box-shadow:0 0 0 5px rgba(64,85,51,.2);background:transparent!important}
.package-hotspot.selected span,.package-hotspot:focus-within span{opacity:1}
.package-hotspot-1{left:2.5%;width:29.5%}.package-hotspot-2{left:33.5%;width:29.5%}.package-hotspot-3{left:64.5%;width:33%}
.package-gui-action{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;padding:18px}
@media(max-width:600px){.package-gui-card{padding:8px}.package-hotspot{border-width:2px;border-radius:8px}.package-hotspot span{display:none}.package-gui-action{gap:10px}}
.package-card.selected{outline:3px solid rgba(64,85,51,.35)}
.price{font-size:34px;font-weight:900;color:var(--sage)}
.hidden{display:none!important}
.progress{
  display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px
}
.progress span{padding:8px 12px;border-radius:999px;background:#e5eadb;color:var(--sage);font-weight:800;font-size:13px}
.progress .active{background:var(--sage);color:white}
.portal-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:290px 1fr;
  background:#f4f7ee;
}
.sidebar{
  background:#819271;color:white;padding:28px;display:flex;flex-direction:column;gap:18px
}
.sidebar h2{color:white;font-size:30px}
.sidebar a{padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.12);font-weight:800}
.mainpanel{padding:32px}
.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}
.portal-stat{background:white;border-radius:24px;padding:24px;box-shadow:0 16px 40px rgba(64,85,51,.08)}
.portal-stat strong{font-size:28px;color:var(--sage);display:block;margin-top:6px}
.app-downloads{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.app-downloads a{padding:16px;border-radius:16px;background:#e6ecdd;text-align:center;font-weight:900;color:var(--sage)}
.notice{background:#fff;border-left:6px solid var(--sage);padding:18px;border-radius:16px;margin:18px 0}
@media(max-width:900px){
  .exact-page{min-height:72vh;background-size:cover}
  .landing-page{min-height:0;aspect-ratio:3/2;background-size:100% 100%}
  .top-signin,.top-signup,.get-started-today,.landing-top-getstarted,.landing-top-signin,.landing-features,.landing-about,.landing-contact,.learn-about{display:none}
  .mobile-actions{display:flex!important}
  .grid3,.portal-grid,.app-downloads{grid-template-columns:1fr}
  .portal-shell{grid-template-columns:1fr}
}
.mobile-actions{display:none;position:fixed;bottom:14px;left:14px;right:14px;z-index:50;gap:10px}
.mobile-actions a{flex:1}


/* PATCH: show full uploaded page images without cutting them off */
.exact-page{
  background-size:contain !important;
  background-color:#f5f0e8;
  min-height: min(100vh, calc(100vw * 0.5625));
  height: calc(100vw * 0.5625);
  max-height: 100vh;
}
@media(max-width:960px){
  .exact-page{
    min-height: calc(100vw * 0.5625);
    height: calc(100vw * 0.5625);
    background-size:contain !important;
  }
}


/* PATCH: Calah Flutter-style client dashboard */
.portal-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:280px 1fr;
  background:#f4f7ee;
  color:#20221f;
}
.sidebar{
  background:#7f916f;
  color:#fff;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.sidebar h2{
  color:#fff;
  font-family:Georgia,serif;
  margin:0 0 12px;
}
.sidebar .brand-logo{
  width:110px;
  height:86px;
  object-fit:contain;
  background:#fff;
  border-radius:14px;
  padding:8px;
  margin-bottom:12px;
}
.sidebar a{
  padding:13px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-weight:800;
  text-decoration:none;
}
.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.26)}
.mainpanel{
  padding:30px;
  overflow:auto;
}
.dash-top{
  background:#7f916f;
  color:#fff;
  margin:-30px -30px 26px;
  padding:22px 30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.dash-top h1{
  margin:0;
  font-size:30px;
  letter-spacing:0;
}
.sage-toggle{
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:10px 16px;
  font-weight:900;
}
.portal-hero{
  display:flex;
  align-items:center;
  gap:22px;
  margin-bottom:26px;
}
.portal-hero img{
  width:130px;
  height:86px;
  object-fit:contain;
  background:#fff;
  border-radius:12px;
  padding:8px;
}
.portal-hero h2{
  color:#7f916f;
  font-family:Georgia,serif;
  font-size:38px;
  margin:0;
}
.portal-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:18px;
  margin-bottom:26px;
}
.portal-stat{
  background:rgba(255,255,255,.86);
  border-radius:24px;
  padding:26px;
  min-height:145px;
  box-shadow:0 18px 50px rgba(64,85,51,.08);
}
.portal-stat .round-icon{
  width:52px;
  height:52px;
  border-radius:50%;
  background:#7f916f;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:25px;
  margin-bottom:18px;
}
.portal-stat span{
  font-weight:900;
  display:block;
  margin-bottom:14px;
}
.portal-stat strong{
  font-size:32px;
  color:#7f916f;
}
.dashboard-layout{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:20px;
}
.client-card,.dash-card{
  background:rgba(255,255,255,.86);
  border-radius:24px;
  padding:26px;
  box-shadow:0 18px 50px rgba(64,85,51,.08);
  margin-bottom:20px;
}
.client-card h3,.dash-card h3{
  font-family:Georgia,serif;
  color:#7f916f;
  font-size:30px;
  margin:0 0 16px;
}
.client-logo{
  width:180px;
  height:120px;
  object-fit:contain;
  margin-top:14px;
}
.task-item,.appointment-item,.message-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
  border-top:1px solid rgba(64,85,51,.16);
  padding:14px 0;
}
.task-dot{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#7f916f;
  color:#fff;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.status-pill{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  background:#e6ecdd;
  color:#405533;
  font-size:12px;
  font-weight:900;
}
.approve-btn{
  background:#466ba3;
  color:white;
  border:0;
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
  cursor:pointer;
}
.approve-btn.not{
  background:#a33b3b;
}
.app-downloads{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
.app-downloads a{
  padding:16px;
  border-radius:16px;
  background:#e6ecdd;
  color:#405533;
  font-weight:900;
  text-align:center;
}
@media(max-width:1000px){
  .portal-shell{grid-template-columns:1fr}
  .dashboard-layout,.portal-grid,.app-downloads{grid-template-columns:1fr}
  .dash-top{margin:0 0 20px}
}


/* FULL WEB PORTAL PATCH - mirrors Calah Flutter app workflow */
.full-portal{
  min-height:100vh;
  display:grid;
  grid-template-columns:292px 1fr;
  background:#f4f7ee;
  color:#20221f;
}
.full-sidebar{
  background:#819271;
  color:white;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.full-sidebar h2{
  font-family:Georgia,serif;
  color:white;
  margin:0 0 12px;
}
.full-sidebar .calah-logo{
  background:white;
  color:#111;
  border-radius:18px;
  padding:18px;
  text-align:center;
  font-family:Georgia,serif;
  font-size:44px;
  margin-bottom:8px;
}
.full-sidebar button,.full-sidebar a{
  border:0;
  text-align:left;
  padding:13px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.14);
  color:white;
  font-weight:850;
  cursor:pointer;
  text-decoration:none;
}
.full-sidebar button.active,.full-sidebar button:hover,.full-sidebar a:hover{
  background:rgba(255,255,255,.28);
}
.full-main{
  padding:28px;
  overflow:auto;
}
.full-top{
  background:#819271;
  color:white;
  margin:-28px -28px 24px;
  padding:22px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.full-top h1{
  margin:0;
  font-size:30px;
  letter-spacing:0;
}
.full-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:16px;
  margin-bottom:20px;
}
.full-stat,.full-card{
  background:rgba(255,255,255,.9);
  border-radius:24px;
  padding:22px;
  box-shadow:0 16px 42px rgba(64,85,51,.08);
}
.full-stat .round-icon{
  width:48px;height:48px;border-radius:50%;
  background:#819271;color:white;display:grid;place-items:center;font-size:24px;margin-bottom:12px;
}
.full-stat span{font-weight:850}
.full-stat strong{font-size:27px;color:#819271;display:block;margin-top:8px}
.full-card{margin-bottom:18px}
.full-card h2,.full-card h3{
  font-family:Georgia,serif;
  color:#819271;
  margin-top:0;
}
.full-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.full-form{
  display:grid;
  gap:12px;
}
.full-form label{
  display:grid;
  gap:6px;
  font-size:13px;
  font-weight:850;
  color:#405533;
}
.full-form input,.full-form select,.full-form textarea{
  border:0;
  border-radius:14px;
  background:#e6ecdd;
  padding:13px 14px;
  font-size:15px;
  width:100%;
}
.full-form textarea{min-height:88px;resize:vertical}
.full-btn{
  border:0;
  border-radius:999px;
  background:#819271;
  color:white;
  font-weight:900;
  padding:12px 17px;
  cursor:pointer;
}
.full-btn.red{background:#a33b3b}
.full-btn.blue{background:#466ba3}
.full-btn.light{background:#e6ecdd;color:#405533}
.full-list{
  display:grid;
  gap:10px;
}
.full-item{
  background:#f6f8f2;
  border:1px solid rgba(64,85,51,.15);
  border-radius:18px;
  padding:14px;
}
.full-item-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.badge{
  display:inline-block;
  border-radius:999px;
  padding:7px 11px;
  background:#e6ecdd;
  color:#405533;
  font-size:12px;
  font-weight:900;
}
.badge.red{background:#f0dada;color:#a33b3b}
.badge.yellow{background:#fff0bf;color:#7d6513}
.badge.blue{background:#dfe8ff;color:#466ba3}
.badge.green{background:#dfeee1;color:#2f6b3e}
.hidden-section{display:none}
.download-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
.download-row a{
  background:#e6ecdd;
  color:#405533;
  border-radius:16px;
  padding:14px;
  text-align:center;
  font-weight:900;
}
.modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.42);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:18px;
}
.modal-backdrop.show{display:flex}
.modal{
  width:min(680px,100%);
  background:white;
  border-radius:26px;
  padding:24px;
  box-shadow:0 30px 90px rgba(0,0,0,.25);
  max-height:90vh;
  overflow:auto;
}
@media(max-width:1050px){
  .full-portal{grid-template-columns:1fr}
  .full-grid,.full-two,.download-row{grid-template-columns:1fr}
}


/* PATCH: dashboard logo + FICA upload */
.calah-logo-img{
  width:150px;
  height:auto;
  display:block;
  object-fit:contain;
}
.sidebar-logo-wrap,
.profile-logo-wrap{
  background:#fff;
  border-radius:18px;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.profile-logo-wrap{
  width:210px;
  margin-top:14px;
}
.file-note{
  font-size:13px;
  color:#405533;
  font-weight:800;
}


/* FINAL LOGO PATCH */
.calah-logo-img{
  width:170px;
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}
.sidebar-logo-wrap,.profile-logo-wrap{
  background:#fff;
  border-radius:18px;
  padding:10px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.sidebar-logo-wrap{min-height:120px;}
.profile-logo-wrap{width:230px;margin-top:14px;}


/* POLISHED FINAL DASHBOARD PATCH */
.full-portal{
  min-height:100vh;
  display:grid;
  grid-template-columns:300px 1fr;
  background:
    radial-gradient(circle at 72% 18%, rgba(129,146,113,.35), transparent 26%),
    linear-gradient(135deg,#eef4e8,#f8f5ef);
  color:#111716;
}
.full-sidebar{
  position:relative;
  background:linear-gradient(180deg,#9aab8b,#758968);
  color:white;
  padding:28px 24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:hidden;
}
.full-sidebar:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 5%, rgba(255,255,255,.35), transparent 28%),
             linear-gradient(90deg, rgba(255,255,255,.10), transparent 55%);
  pointer-events:none;
}
.full-sidebar > *{position:relative;z-index:1}
.sidebar-logo-wrap{
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  min-height:150px!important;
  margin-bottom:22px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.calah-logo-img{
  width:220px!important;
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));
}
.full-sidebar h2{
  display:none;
}
.full-sidebar button,.full-sidebar a{
  border:0;
  text-align:left;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  color:white;
  font-weight:850;
  cursor:pointer;
  text-decoration:none;
  letter-spacing:.01em;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
}
.full-sidebar button.active,.full-sidebar button:hover,.full-sidebar a:hover{
  background:rgba(255,255,255,.27);
  transform:translateX(3px);
}
.full-main{
  padding:30px;
  overflow:auto;
}
.full-top{
  background:rgba(255,255,255,.62)!important;
  color:#111716!important;
  margin:-30px -30px 26px!important;
  padding:22px 30px!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(64,85,51,.15);
  backdrop-filter:blur(18px);
}
.full-top h1{
  margin:0;
  font-size:34px!important;
  letter-spacing:-.03em;
  font-weight:900;
}
.full-top:before{
  content:"";
  width:185px;
  height:82px;
  background:url("../assets/calah-logo-transparent.png") center/contain no-repeat;
  order:2;
}
.full-top strong{
  order:3;
  background:#e5ecdd;
  border-radius:999px;
  padding:12px 16px;
  color:#405533;
}
.full-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(170px,1fr));
  gap:18px;
  margin-bottom:24px;
}
.full-stat,.full-card{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(64,85,51,.12);
  border-radius:26px!important;
  padding:24px!important;
  box-shadow:0 20px 60px rgba(64,85,51,.10)!important;
  backdrop-filter:blur(16px);
}
.full-stat .round-icon{
  width:52px;height:52px;border-radius:50%;
  background:#819271;color:white;display:grid;place-items:center;font-size:24px;margin-bottom:14px;
}
.full-stat span{font-weight:850}
.full-stat strong{font-size:30px;color:#405533;display:block;margin-top:8px}
.full-card{margin-bottom:20px}
.full-card h2,.full-card h3{
  font-family:Georgia,serif;
  color:#819271;
  margin-top:0;
}
.profile-logo-wrap{
  background:transparent!important;
  width:230px!important;
  padding:0!important;
  margin-top:14px;
}
.client-profile-logo{
  width:230px;
  height:auto;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.12));
}
.dashboard-layout,.full-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.full-form{
  display:grid;
  gap:12px;
}
.full-form label{
  display:grid;
  gap:6px;
  font-size:13px;
  font-weight:850;
  color:#405533;
}
.full-form input,.full-form select,.full-form textarea{
  border:0;
  border-radius:16px;
  background:#e6ecdd;
  padding:14px 15px;
  font-size:15px;
  width:100%;
}
.full-form textarea{min-height:90px;resize:vertical}
.full-btn{
  border:0;
  border-radius:999px;
  background:#819271;
  color:white;
  font-weight:900;
  padding:12px 17px;
  cursor:pointer;
}
.full-btn.red{background:#a33b3b}
.full-btn.blue{background:#466ba3}
.full-btn.light{background:#e6ecdd;color:#405533}
.full-list{
  display:grid;
  gap:10px;
}
.full-item{
  background:#f6f8f2;
  border:1px solid rgba(64,85,51,.15);
  border-radius:18px;
  padding:14px;
}
.full-item-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.badge{
  display:inline-block;
  border-radius:999px;
  padding:7px 11px;
  background:#e6ecdd;
  color:#405533;
  font-size:12px;
  font-weight:900;
}
.badge.red{background:#f0dada;color:#a33b3b}
.badge.yellow{background:#fff0bf;color:#7d6513}
.badge.blue{background:#dfe8ff;color:#466ba3}
.badge.green{background:#dfeee1;color:#2f6b3e}
.hidden-section{display:none}
.download-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
.download-row a{
  background:#e6ecdd;
  color:#405533;
  border-radius:16px;
  padding:14px;
  text-align:center;
  font-weight:900;
}
.modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.42);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:18px;
}
.modal-backdrop.show{display:flex}
.modal{
  width:min(680px,100%);
  background:white;
  border-radius:26px;
  padding:24px;
  box-shadow:0 30px 90px rgba(0,0,0,.25);
  max-height:90vh;
  overflow:auto;
}
@media(max-width:1050px){
  .full-portal{grid-template-columns:1fr}
  .full-grid,.full-two,.dashboard-layout,.download-row{grid-template-columns:1fr}
  .full-top{margin:0 0 20px!important}
  .full-top:before{display:none}
}


/* STAFF/KPI + CLIENT FORM PATCH */
.address-suggestions{
  background:white;
  border:1px solid rgba(64,85,51,.22);
  border-radius:16px;
  box-shadow:0 14px 38px rgba(64,85,51,.16);
  overflow:hidden;
  display:none;
  margin-top:-8px;
}
.address-suggestions.show{display:block}
.address-suggestions button{
  display:block;
  width:100%;
  border:0;
  background:white;
  text-align:left;
  padding:12px 14px;
  cursor:pointer;
}
.address-suggestions button:hover{background:#e6ecdd}
.kpi-bar{
  height:10px;
  background:#e6ecdd;
  border-radius:999px;
  overflow:hidden;
  margin:8px 0 12px;
}
.kpi-fill{
  height:100%;
  background:#819271;
  width:0%;
}
.client-logo-preview{
  max-width:180px;
  max-height:120px;
  object-fit:contain;
  margin-top:8px;
  border-radius:12px;
}


/* TRANSPARENT LOGO + NOMINATIM ADDRESS PATCH */
.calah-logo-img,
.client-profile-logo{
  object-fit:contain;
  background:transparent!important;
}
.sidebar-logo-wrap,
.profile-logo-wrap{
  background:transparent!important;
  box-shadow:none!important;
}
.address-suggestions{
  position:relative;
  z-index:9999;
  background:#fff;
  border:1px solid rgba(64,85,51,.25);
  border-radius:16px;
  box-shadow:0 18px 48px rgba(64,85,51,.20);
  overflow:hidden;
  display:none;
  margin-top:6px;
}
.address-suggestions.show{display:block}
.address-suggestions button{
  display:block;
  width:100%;
  border:0;
  background:#fff;
  text-align:left;
  padding:12px 14px;
  cursor:pointer;
  color:#111;
}
.address-suggestions button:hover{background:#e6ecdd}
.address-helper{
  font-size:12px;
  color:#405533;
  margin-top:4px;
}


/* CLIENT SEARCH / REMOVE SETTINGS PATCH */
.client-search-box{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(64,85,51,.18);
  border-radius:22px;
  padding:18px;
  margin-bottom:16px;
}
.search-results{
  background:#fff;
  border:1px solid rgba(64,85,51,.22);
  border-radius:16px;
  overflow:hidden;
  margin-top:8px;
  display:none;
}
.search-results.show{display:block}
.search-results button{
  display:block;
  width:100%;
  text-align:left;
  border:0;
  background:#fff;
  padding:12px 14px;
  cursor:pointer;
}
.search-results button:hover{background:#e6ecdd}
.client-readonly-note{
  background:#e6ecdd;
  color:#405533;
  border-radius:16px;
  padding:14px;
  font-weight:800;
  margin-bottom:14px;
}
.logo-upload-row{
  margin-top:10px;
  padding:12px;
  border-radius:16px;
  background:#f6f8f2;
}
.logo-preview-small{
  max-width:160px;
  max-height:100px;
  object-fit:contain;
  display:block;
  margin-top:8px;
}

.package-card{border:2px solid #ccc;padding:16px;border-radius:12px;display:inline-block;margin:8px;cursor:pointer}.package-card.selected{border-color:#819271;background:rgba(238,245,233,.32)}

/* FINAL LANDING HOTSPOT ALIGNMENT PATCH */
.exact-page.landing-page{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:50/21!important;
  background-size:100% 100%!important;
  background-position:top center!important;
}
.landing-top-getstarted{
  right:10.2%;
  top:3.3%;
  width:10.8%;
  height:5.2%;
  z-index:35;
}
.landing-top-signin{
  right:2.3%;
  top:3.3%;
  width:7.4%;
  height:5.2%;
  z-index:60;
}

/* MARKETING POWERHOUSE DASHBOARD REFRESH */
:root{
  --power-sage:#405533;
  --power-moss:#819271;
  --power-leaf:#b7c7a6;
  --power-cream:#f8f3ea;
  --power-ink:#101515;
  --power-gold:#d7b66f;
  --power-coral:#d9795d;
  --power-glass:rgba(255,255,255,.78);
}
body:has(.full-portal){
  background:
    radial-gradient(circle at 9% 12%, rgba(215,182,111,.26), transparent 28%),
    radial-gradient(circle at 90% 3%, rgba(129,146,113,.34), transparent 30%),
    linear-gradient(135deg,#fbf7ef 0%,#edf5e8 48%,#f7efe2 100%);
}
.full-portal{
  grid-template-columns:310px minmax(0,1fr)!important;
  background:
    radial-gradient(circle at 80% 10%, rgba(215,182,111,.20), transparent 24%),
    radial-gradient(circle at 18% 88%, rgba(129,146,113,.20), transparent 28%),
    linear-gradient(135deg,#f9f5ed,#eef6e9 55%,#fbf1e5)!important;
}
.full-sidebar{
  background:
    linear-gradient(160deg,rgba(64,85,51,.98),rgba(95,119,78,.96) 48%,rgba(129,146,113,.95))!important;
  border-right:1px solid rgba(255,255,255,.22);
  box-shadow:24px 0 70px rgba(44,64,35,.18);
}
.full-sidebar:after{content:none!important;display:none!important}
.full-sidebar button,.full-sidebar a{
  display:block;
  width:100%;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.10)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.full-sidebar button:before,.full-sidebar a:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(#d7b66f,#f4df9d);
  opacity:0;
  transition:opacity .18s ease;
}
.full-sidebar button.active,.full-sidebar button:hover,.full-sidebar a:hover{
  background:rgba(255,255,255,.22)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.14);
  transform:translateX(5px);
}
.full-sidebar button.active:before,.full-sidebar button:hover:before,.full-sidebar a:hover:before{
  opacity:1;
}
.full-main{
  padding:34px!important;
}
.full-top{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.62))!important;
  border:1px solid rgba(64,85,51,.12);
  border-radius:0 0 34px 34px;
  box-shadow:0 18px 60px rgba(64,85,51,.10);
}
.full-top:after{
  content:"Campaigns • Clients • Growth • Momentum";
  position:absolute;
  left:30px;
  bottom:10px;
  color:rgba(64,85,51,.72);
  font-weight:900;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.full-top h1{
  font-family:Georgia,serif;
  color:#304325;
  font-size:42px!important;
  padding-bottom:20px;
}
.full-top strong{
  background:linear-gradient(135deg,#e8efdf,#fff6df)!important;
  border:1px solid rgba(64,85,51,.14);
  box-shadow:0 12px 28px rgba(64,85,51,.10);
}
.full-grid{
  gap:20px!important;
}
.full-stat{
  position:relative;
  overflow:hidden;
  min-height:132px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,255,255,.66))!important;
}
.full-stat:before{
  content:"";
  position:absolute;
  right:-38px;
  top:-38px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,182,111,.40),rgba(129,146,113,.05) 70%);
}
.full-stat span{
  position:relative;
  z-index:1;
  color:#5b6c51;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.10em;
}
.full-stat strong{
  position:relative;
  z-index:1;
  color:#334927!important;
  font-size:34px!important;
  letter-spacing:-.04em;
}
.full-card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,255,255,.70))!important;
  border:1px solid rgba(64,85,51,.13)!important;
  box-shadow:0 24px 70px rgba(64,85,51,.12)!important;
}
.full-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#405533,#819271,#d7b66f,#d9795d);
  opacity:.78;
}
.full-card h2,.full-card h3{
  color:#405533!important;
  font-size:clamp(26px,3vw,42px);
  line-height:1;
  margin-bottom:18px;
}
.full-item{
  background:
    linear-gradient(135deg,rgba(246,248,242,.96),rgba(255,252,245,.92))!important;
  border:1px solid rgba(64,85,51,.14)!important;
  box-shadow:0 10px 24px rgba(64,85,51,.06);
  transition:transform .18s ease, box-shadow .18s ease;
}
.full-item:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(64,85,51,.10);
}
.full-form input,.full-form select,.full-form textarea,
input,select,textarea{
  background:#eef4e8!important;
  border:1px solid rgba(64,85,51,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.full-form input:focus,.full-form select:focus,.full-form textarea:focus,
input:focus,select:focus,textarea:focus{
  background:white!important;
  outline:3px solid rgba(215,182,111,.28)!important;
}
.full-btn,.btn.primary{
  background:linear-gradient(135deg,#405533,#819271)!important;
  box-shadow:0 14px 30px rgba(64,85,51,.20);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.full-btn:hover,.btn.primary:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 38px rgba(64,85,51,.24);
  filter:saturate(1.08);
}
.full-btn.light{
  background:linear-gradient(135deg,#eef4e8,#fff7df)!important;
  color:#405533!important;
  border:1px solid rgba(64,85,51,.13)!important;
}
.full-btn.blue{background:linear-gradient(135deg,#466ba3,#6f8fcb)!important}
.full-btn.red{background:linear-gradient(135deg,#a33b3b,#d9795d)!important}
.badge{
  box-shadow:0 8px 18px rgba(64,85,51,.08);
  border:1px solid rgba(64,85,51,.08);
}
.badge.green{background:linear-gradient(135deg,#dfeee1,#f4ffed)!important;color:#2f6b3e!important}
.badge.yellow{background:linear-gradient(135deg,#fff0bf,#fff8df)!important;color:#7d6513!important}
.badge.blue{background:linear-gradient(135deg,#dfe8ff,#edf3ff)!important;color:#466ba3!important}
.badge.red{background:linear-gradient(135deg,#f0dada,#fff0ea)!important;color:#a33b3b!important}
.client-readonly-note{
  background:linear-gradient(135deg,#e9f1df,#fff7df)!important;
  border:1px solid rgba(64,85,51,.13);
}
.download-row a{
  background:linear-gradient(135deg,#e9f1df,#fff7df)!important;
  border:1px solid rgba(64,85,51,.12);
  box-shadow:0 14px 28px rgba(64,85,51,.08);
}
@media(max-width:1050px){
  .full-portal{grid-template-columns:1fr!important}
  .full-sidebar{border-radius:0 0 28px 28px}
  .full-main{padding:20px!important}
  .full-top{margin:-20px -20px 22px!important}
}

/* PREMIUM PACKAGE SELECTION EXPERIENCE */
.package-page{
  min-height:100vh;
  padding:42px 18px 56px;
  background:
    radial-gradient(circle at 14% 12%, rgba(215,182,111,.28), transparent 24%),
    radial-gradient(circle at 88% 6%, rgba(129,146,113,.34), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(217,121,93,.14), transparent 34%),
    linear-gradient(135deg,#fbf7ef,#edf6e9 52%,#fff2e7)!important;
}
.package-page:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(64,85,51,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(64,85,51,.045) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at 50% 22%, black, transparent 72%);
}
.package-gui-card{
  position:relative;
  width:min(1180px,calc(100% - 20px))!important;
  max-width:1180px!important;
  padding:26px!important;
  border-radius:38px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,255,255,.66))!important;
  border:1px solid rgba(64,85,51,.16)!important;
  box-shadow:0 34px 100px rgba(64,85,51,.18)!important;
  backdrop-filter:blur(18px);
  overflow:hidden;
}
.package-gui-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,#405533,#819271,#d7b66f,#d9795d);
  opacity:.9;
}
.package-gui-card:after{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:250px;
  height:250px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,182,111,.30),transparent 66%);
  pointer-events:none;
}
.package-hero{
  position:relative;
  z-index:1;
  text-align:center;
  padding:18px 12px 24px;
}
.package-hero p{
  margin:0 0 10px;
  color:#819271;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
}
.package-hero h1{
  margin:0 auto 12px;
  max-width:820px;
  font-family:Georgia,serif;
  font-size:clamp(42px,7vw,86px);
  line-height:.92;
  color:#304325;
  letter-spacing:-.06em;
}
.package-hero small{
  color:#5d6a55;
  font-weight:800;
  font-size:15px;
}
.package-artwork{
  position:relative;
  max-width:980px!important;
  margin:0 auto!important;
  border-radius:34px!important;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(64,85,51,.15);
  box-shadow:0 24px 70px rgba(64,85,51,.16);
}
.package-artwork>img{
  display:block;
  width:100%;
  height:auto;
}
.package-hotspot{
  top:29%!important;
  height:54%!important;
  border:0!important;
  outline:0 solid transparent;
  border-radius:24px!important;
  background:rgba(255,255,255,0)!important;
  transition:outline .22s ease, box-shadow .22s ease, background .22s ease, transform .22s ease;
}
.package-hotspot span{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
.package-hotspot:hover,
.package-hotspot.selected{
  outline:6px solid rgba(64,85,51,.92)!important;
  outline-offset:-6px;
  box-shadow:
    inset 0 0 0 999px rgba(255,255,255,.05),
    0 0 0 12px rgba(129,146,113,.18),
    0 24px 55px rgba(64,85,51,.22)!important;
  background:rgba(255,255,255,.03)!important;
  transform:translateY(-2px);
}
.package-hotspot.selected:after{
  content:"Selected";
  position:absolute;
  left:50%;
  top:2.4%;
  transform:translateX(-50%);
  background:linear-gradient(135deg,#405533,#819271);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 12px 24px rgba(64,85,51,.20);
  border-radius:999px;
  padding:8px 18px;
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.package-gui-action{
  position:relative;
  z-index:1;
  margin:24px auto 6px;
  padding:18px!important;
  width:min(820px,100%);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,247,223,.72));
  border:1px solid rgba(64,85,51,.14);
  box-shadow:0 18px 44px rgba(64,85,51,.10);
}
#selectedPackageText{
  color:#405533;
  font-size:18px;
  letter-spacing:-.01em;
}
.package-gui-action .btn{
  min-width:260px;
}
@media(max-width:700px){
  .package-page{padding:20px 8px 34px}
  .package-gui-card{padding:14px!important;border-radius:26px!important}
  .package-hero h1{font-size:clamp(34px,11vw,58px)}
  .package-hero small{font-size:13px}
  .package-artwork{border-radius:22px!important}
  .package-hotspot{border-radius:14px!important}
  .package-hotspot:hover,.package-hotspot.selected{outline-width:4px!important;outline-offset:-4px}
  .package-hotspot.selected:after{font-size:10px;padding:6px 12px;top:1%}
  .package-gui-action{border-radius:28px;gap:12px!important}
  .package-gui-action .btn{width:100%;min-width:0}
}

/* PREMIUM FICA/KYC EXPERIENCE */
.fica-body{
  background:
    radial-gradient(circle at 12% 10%, rgba(215,182,111,.24), transparent 24%),
    radial-gradient(circle at 88% 14%, rgba(129,146,113,.26), transparent 28%),
    linear-gradient(135deg,#fbf7ef,#eef6eb 55%,#fff5ea)!important;
}
.fica-page{
  min-height:100vh;
  padding:42px 18px 56px!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fica-card{
  position:relative;
  width:min(980px,100%)!important;
  max-width:980px!important;
  padding:32px!important;
  border-radius:38px!important;
  border:1px solid rgba(64,85,51,.16)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(255,255,255,.70))!important;
  box-shadow:0 34px 100px rgba(64,85,51,.18)!important;
  overflow:hidden;
}
.fica-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,#405533,#819271,#d7b66f,#d9795d);
}
.fica-card:after{
  content:"";
  position:absolute;
  right:-100px;
  top:-100px;
  width:290px;
  height:290px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,182,111,.30),transparent 68%);
  pointer-events:none;
}
.fica-progress,
.fica-hero,
.fica-form{
  position:relative;
  z-index:1;
}
.fica-hero{
  text-align:center;
  margin:22px auto 30px;
}
.fica-hero p{
  margin:0 0 10px;
  color:#819271;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:12px;
}
.fica-hero h1{
  margin:0 auto 12px;
  color:#304325;
  font-family:Georgia,serif;
  font-size:clamp(48px,7vw,92px);
  line-height:.9;
  letter-spacing:-.06em;
}
.fica-hero small{
  color:#5d6a55;
  font-size:15px;
  font-weight:800;
}
.fica-form{
  display:grid;
  gap:18px;
}
.fica-grid,
.fica-upload-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.fica-form label{
  color:#405533;
  font-weight:950;
  letter-spacing:-.01em;
}
.fica-form input,
.fica-form select,
.fica-form textarea{
  margin-top:8px!important;
  border:1px solid rgba(64,85,51,.12)!important;
  border-radius:22px!important;
  background:rgba(233,241,223,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.fica-form textarea{
  min-height:118px;
}
.fica-form input:focus,
.fica-form select:focus,
.fica-form textarea:focus{
  border-color:rgba(64,85,51,.45)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 0 0 5px rgba(129,146,113,.16)!important;
  outline:none;
}
.fica-form .btn{
  margin-top:8px;
  width:100%;
  border-radius:999px!important;
  min-height:58px;
  box-shadow:0 18px 34px rgba(64,85,51,.20);
}
.client-logo-placeholder{
  margin:18px 0 0;
  padding:16px 18px;
  border-radius:22px;
  color:#5d6a55;
  font-weight:850;
  background:linear-gradient(135deg,rgba(233,241,223,.78),rgba(255,247,223,.70));
  border:1px dashed rgba(64,85,51,.24);
}
.dashboard-jump{
  display:block;
  width:100%;
  text-align:left;
  cursor:pointer;
  font-family:inherit;
}
.dashboard-jump:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 60px rgba(64,85,51,.16)!important;
}
.dashboard-jump:focus-visible{
  outline:4px solid rgba(129,146,113,.30);
  outline-offset:3px;
}
.all-clients-box{
  margin-top:22px;
}
@media(max-width:760px){
  .fica-page{padding:22px 10px 34px!important}
  .fica-card{padding:22px!important;border-radius:28px!important}
  .fica-grid,
  .fica-upload-grid{grid-template-columns:1fr}
  .fica-hero h1{font-size:clamp(42px,13vw,66px)}
}

/* MOBILE LANDING FIX
   The desktop landing page is a full-page artwork screenshot. It looks right on
   desktop, but on phones it becomes the broken tiny image/oversized logo layout.
   Mobile now gets its own responsive landing page while desktop stays unchanged. */
.mobile-landing{
  display:none;
}
@media(max-width:900px){
  body:has(.mobile-landing){
    background:
      radial-gradient(circle at 18% 8%, rgba(255,255,255,.96), rgba(255,255,255,0) 34%),
      radial-gradient(circle at 84% 12%, rgba(245,222,179,.30), rgba(255,255,255,0) 30%),
      linear-gradient(145deg,#fbf7ee 0%,#f6f1e8 44%,#eef4e9 100%);
    padding-bottom:104px;
    overflow-x:hidden;
  }
  .desktop-landing.landing-page{
    display:none!important;
    background-image:none!important;
    min-height:0!important;
    height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }
  .mobile-landing{
    display:block;
    position:relative;
    z-index:0;
    min-height:100svh;
    width:100%;
    max-width:640px;
    margin:0 auto;
    padding:16px 16px 132px;
    color:#101515;
  }
  .mobile-landing::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
      linear-gradient(180deg,rgba(251,247,238,.82),rgba(251,247,238,.70) 48%,rgba(238,244,233,.78)),
      url('../assets/mobile-watermark.png') center top / cover no-repeat;
    opacity:.36;
  }
  .mobile-landing-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:8px 0 18px;
  }
  .mobile-landing-head img{
    display:block;
    width:86px;
    height:86px;
    object-fit:contain;
    filter:drop-shadow(0 14px 24px rgba(64,85,51,.12));
  }
  .mobile-landing-head nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
    font-size:12px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.06em;
  }
  .mobile-landing-head nav a{
    color:#405533;
    background:rgba(255,255,255,.74);
    border:1px solid rgba(64,85,51,.13);
    border-radius:999px;
    padding:9px 11px;
    box-shadow:0 10px 26px rgba(64,85,51,.08);
  }
  .mobile-landing-hero,
  .mobile-landing-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(64,85,51,.14);
    box-shadow:0 24px 70px rgba(64,85,51,.13);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .mobile-landing-hero{
    border-radius:34px;
    padding:30px 24px 27px;
    background:
      linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,255,255,.60)),
      radial-gradient(circle at 92% 14%,rgba(64,85,51,.13),rgba(255,255,255,0) 34%);
  }
  .mobile-landing-hero .eyebrow{
    margin:0 0 16px;
    color:#405533;
    font-size:13px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .mobile-landing-hero h1{
    margin:0;
    color:#101515;
    font-size:clamp(48px,15vw,76px);
    line-height:.88;
    letter-spacing:-.075em;
  }
  .mobile-landing-hero h1 em{
    display:block;
    color:#405533;
    font-family:Georgia,'Times New Roman',serif;
    font-style:italic;
    letter-spacing:-.06em;
  }
  .mobile-landing-hero p:not(.eyebrow),
  .mobile-landing-card p{
    color:#384037;
    font-size:16px;
    line-height:1.55;
  }
  .mobile-landing-hero p:not(.eyebrow){
    margin:22px 0 0;
  }
  .mobile-hero-link{
    display:inline-flex;
    margin-top:22px;
    color:#405533;
    font-weight:950;
    letter-spacing:.02em;
  }
  .mobile-landing-card{
    margin-top:18px;
    padding:24px;
    border-radius:30px;
    background:rgba(255,255,255,.70);
  }
  .mobile-landing-card h2{
    margin:0 0 14px;
    color:#405533;
    font-size:clamp(30px,9vw,46px);
    line-height:1;
    letter-spacing:-.055em;
  }
  .mobile-landing-card p{
    margin:0 0 18px;
  }
  .mobile-feature-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .mobile-feature-grid a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    border-radius:999px;
    border:1px solid rgba(64,85,51,.32);
    background:rgba(255,255,255,.80);
    color:#405533;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.06em;
    box-shadow:0 10px 24px rgba(64,85,51,.07);
  }
  .mobile-actions{
    left:8px;
    right:8px;
    bottom:12px;
    gap:8px;
  }
  .mobile-actions a{
    min-height:54px;
    padding:14px 10px;
    font-size:12px;
  }
}
@media(max-width:390px){
  .mobile-landing{
    padding-left:12px;
    padding-right:12px;
  }
  .mobile-landing-head{
    align-items:flex-start;
  }
  .mobile-landing-head img{
    width:72px;
    height:72px;
  }
  .mobile-landing-head nav{
    gap:6px;
    font-size:11px;
  }
  .mobile-landing-head nav a{
    padding:8px 9px;
  }
  .mobile-landing-hero{
    padding:26px 20px 24px;
  }
}

/* Service selection, image-reference package pages, and utility navigation. */
.service-selection-body,.package-image-body{min-height:100vh;background:#f7f4ed}
.service-artwork,.package-image{position:relative;width:min(100vw,1254px);margin:0 auto}
.service-artwork img,.package-image img{display:block;width:100%;height:auto}
.service-choice,.image-package-choice{position:absolute;display:block;z-index:2}
.social-choice{left:12%;top:35%;width:36%;height:43%}
.appointment-choice{left:50%;top:35%;width:37%;height:43%}
.image-package-choice{top:39%;height:55%;width:29%}
.image-choice-1{left:3%}.image-choice-2{left:35.5%}.image-choice-3{left:67.5%}
.image-package-choice button{display:block;width:100%;height:100%;border:0;background:transparent;cursor:pointer;border-radius:20px}
.image-package-choice:hover button,.image-package-choice:focus-within button{outline:5px solid rgba(64,85,51,.82);outline-offset:-5px;background:rgba(255,255,255,.07)}
.site-utility-nav{position:fixed;z-index:100;right:24px;top:18px;display:flex;align-items:center;gap:4px;max-width:calc(100vw - 32px);padding:7px;background:rgba(255,253,248,.88);border:1px solid rgba(64,85,51,.18);border-radius:999px;box-shadow:0 14px 34px rgba(38,48,30,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font:800 13px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.015em;color:#101515}
.site-utility-nav a{display:flex;align-items:center;justify-content:center;min-height:36px;color:#101515;background:transparent;border:0;border-radius:999px;padding:10px 13px;cursor:pointer;white-space:nowrap}
.site-utility-nav a:hover,.site-utility-nav a:focus-visible{color:#fff;background:#405533;text-decoration:none;outline:0}
.landing-utility-nav{position:fixed;z-index:110;top:18px;right:24px;width:auto;font-size:clamp(10px,.78vw,13px)}
.landing-utility-nav a{flex:0 0 auto;min-height:36px;padding:10px 13px;border-radius:999px;font-weight:800}
.landing-utility-nav a:hover,.landing-utility-nav a:focus-visible{color:#fff;background:#405533;text-decoration:none}
.desktop-landing .get-started-today{left:5.9%;top:81.7%;width:17.2%;height:9.1%}
.legal-page{width:min(800px,calc(100% - 36px));margin:70px auto;padding:40px;border-radius:28px;background:rgba(255,255,255,.86);box-shadow:0 22px 70px rgba(64,85,51,.14)}
.legal-page h1,.legal-page h2{font-family:Georgia,serif;color:#405533}.legal-page h2{font-size:28px;margin:30px 0 8px}.legal-page p{line-height:1.65;font-size:17px}.legal-kicker{font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:#819271;font-size:12px}
@media(max-width:700px){.site-utility-nav{right:12px;top:12px;gap:1px;padding:4px;font-size:clamp(8px,2.3vw,10px)}.site-utility-nav a{min-height:30px;padding:7px 8px}.service-choice{top:34%;height:44%}.image-package-choice{top:39%;height:55%}.legal-page{margin:70px auto 25px;padding:28px 22px}.legal-page h1{font-size:40px}}
@media(max-width:900px){.landing-utility-nav{display:none!important}}
