
:root{
  --page-bg:#f0eeea;
  --wall-text:#222;
  --frame:#242424;
  --shadow:rgba(0,0,0,.18);
  --floor-shadow:rgba(0,0,0,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--wall-text);
  background:var(--page-bg);
}
a{color:inherit;text-decoration:none}
button{font:inherit}

.home-page{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:#efede9;
}
.scene-bg{
  position:absolute;
  inset:0;
  background-image:url('/assets/background.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.scene-fade{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(255,255,255,.04), rgba(255,255,255,.02) 58%, rgba(255,255,255,.06));
}
.collection-mark{
  position:absolute;
  top:22px;
  left:28px;
  z-index:12;
  font-size:11px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(0,0,0,.28);
}

.wall-scroll{
  position:relative;
  z-index:10;
  height:100vh;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
  cursor:grab;
  -webkit-overflow-scrolling:touch;
}
.wall-scroll::-webkit-scrollbar{display:none}
.wall-scroll.is-dragging{cursor:grabbing}

.wall-track{
  position:relative;
  height:100%;
}

.edge-fade{
  position:absolute;
  top:0;
  bottom:0;
  width:64px;
  z-index:14;
  pointer-events:none;
}
.edge-fade.left{
  left:0;
  background:linear-gradient(to right, rgba(239,237,233,1), rgba(239,237,233,.7), transparent);
}
.edge-fade.right{
  right:0;
  background:linear-gradient(to left, rgba(239,237,233,1), rgba(239,237,233,.7), transparent);
}


.wall-frame{
  position:absolute;
  background:transparent;
  border:0;
  padding:0;
  cursor:pointer;
}
.wall-frame .drop-shadow{
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:3px;
  background:rgba(0,0,0,.08);
  filter:blur(1px);
  transform:translate(8px, 12px);
}
.wall-frame .frame-shell{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  border:1px solid rgba(0,0,0,.35);
  border-radius:2px;
  background:var(--frame);
  padding:12px;
  box-shadow:0 14px 30px rgba(0,0,0,.28);
  transition:transform .3s ease;
}
.wall-frame:hover .frame-shell{transform:scale(1.015)}
.wall-frame .art-wrap{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.wall-frame img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  transition:transform .5s ease;
}
.wall-frame:hover .art-wrap img{transform:scale(1.02)}

.frame-one{width:236px;height:430px;top:118px}
.frame-two{width:255px;height:460px;top:98px}
.frame-three{width:236px;height:430px;top:118px}
.frame-four{width:236px;height:430px;top:118px}
.frame-five{width:236px;height:430px;top:118px}


.vase{display:none!important}

.product-page{
  min-height:100vh;
  background:#f4f1ed;
  color:#161616;
}
.product-shell{
  max-width:1120px;
  margin:0 auto;
  padding:32px 24px 48px;
}
.back-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(0,0,0,.1);
  background:rgba(255,255,255,.8);
  padding:10px 16px;
  border-radius:999px;
  color:rgba(0,0,0,.72);
  box-shadow:0 1px 2px rgba(0,0,0,.05);
}
.product-grid{
  display:grid;
  gap:32px;
  margin-top:32px;
}
.product-visual,
.product-card{
  background:#fff;
  border-radius:28px;
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}
.product-visual{padding:16px}
.product-visual img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
}
.product-card{padding:32px}
.product-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.24em;
  color:rgba(0,0,0,.4);
}
.product-title{
  margin:16px 0 0;
  font-size:clamp(2rem, 4vw, 3.25rem);
  line-height:1.02;
  font-weight:500;
  color:rgba(0,0,0,.82);
}
.product-price{
  margin-top:16px;
  font-size:1.6rem;
  color:rgba(0,0,0,.75);
}
.product-description{
  margin-top:24px;
  max-width:42rem;
  font-size:1rem;
  line-height:1.8;
  color:rgba(0,0,0,.58);
}
.buy-button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:32px;
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  padding:14px 22px;
}

@media (min-width: 900px){
  .product-grid{
    grid-template-columns: 1fr .9fr;
    align-items:start;
  }
  .vase{display:none!important}
}
@media (max-width: 768px){
  .collection-mark{top:18px;left:20px}
  .scroll-hint{bottom:18px}
  .edge-fade{width:32px}
  
  .frame-one{width:160px;height:160px;top:180px}
  .frame-two{width:190px;height:280px;top:125px}
  .frame-three{width:160px;height:160px;top:180px}
  .frame-four{width:180px;height:208px;top:155px}
  .frame-five{width:180px;height:208px;top:155px}

}


.live-updates-button{
  position:absolute;
  right:24px;
  bottom:24px;
  z-index:16;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  max-width:min(340px, calc(100vw - 32px));
  padding:14px 22px;
  border-radius:999px;
  background:rgba(17,17,17,.88);
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  backdrop-filter:blur(8px);
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}
.live-updates-button:hover{opacity:.94}

.gallery-page{
  min-height:100vh;
  background:#f4f1ed;
  color:#161616;
}
.gallery-shell{
  max-width:1180px;
  margin:0 auto;
  padding:28px 24px 56px;
}
.gallery-hero{
  display:grid;
  gap:20px;
  margin-top:20px;
  margin-bottom:32px;
}
.gallery-kicker{
  font-size:12px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgba(0,0,0,.42);
}
.gallery-title{
  margin:0;
  font-size:clamp(2.1rem, 6vw, 4.4rem);
  line-height:0.98;
  font-weight:600;
  color:rgba(0,0,0,.88);
}
.gallery-subtitle{
  margin:0;
  max-width:780px;
  font-size:1.05rem;
  line-height:1.8;
  color:rgba(0,0,0,.62);
}
.gallery-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:8px;
}
.primary-chip,
.secondary-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:12px 18px;
  font-size:14px;
  font-weight:600;
}
.primary-chip{
  background:#111;
  color:#fff;
}
.secondary-chip{
  background:#fff;
  color:#111;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.feature-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.feature-pill{
  border-radius:999px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(0,0,0,.06);
  padding:9px 14px;
  font-size:13px;
  color:rgba(0,0,0,.62);
}
.info-card{
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.08);
  padding:28px;
}
.info-card h2{
  margin:0 0 12px;
  font-size:1.25rem;
}
.info-card p,
.info-card li{
  color:rgba(0,0,0,.62);
  line-height:1.8;
}
.project-grid{
  display:grid;
  gap:18px;
  margin-top:24px;
}
.project-card{
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 54px rgba(0,0,0,.08);
}
.project-thumb{
  aspect-ratio: 16 / 10;
  background:linear-gradient(135deg, #f4f2ef, #dfe7ef 48%, #cbd7e5 100%);
  position:relative;
}
.project-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.thumb-overlay{
  position:absolute;
  inset:auto 16px 16px 16px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.thumb-badge{
  background:rgba(255,255,255,.82);
  color:#111;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:600;
  backdrop-filter:blur(8px);
}
.project-body{
  padding:24px;
}
.project-type{
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(0,0,0,.4);
}
.project-name{
  margin:10px 0 8px;
  font-size:1.45rem;
  line-height:1.1;
}
.project-copy{
  margin:0;
  color:rgba(0,0,0,.62);
  line-height:1.8;
}
.project-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.link-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:11px 15px;
  font-size:14px;
  font-weight:600;
  background:#111;
  color:#fff;
}
.link-button.secondary{
  background:#fff;
  color:#111;
  border:1px solid rgba(0,0,0,.08);
}
.project-list{
  margin:10px 0 0;
  padding-left:18px;
}
.project-list li + li{margin-top:6px}
.code-snippet{
  margin-top:18px;
  border-radius:20px;
  background:#11151a;
  color:#dbe7f5;
  padding:18px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:13px;
  line-height:1.7;
  overflow:auto;
}
.split-grid{
  display:grid;
  gap:18px;
}
@media (min-width: 860px){
  .project-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .split-grid{grid-template-columns:1.15fr .85fr; align-items:start;}
}
@media (max-width: 768px){
  .live-updates-button{
    bottom:68px;
    min-width:auto;
    width:min(calc(100vw - 32px), 340px);
    text-align:center;
    padding:13px 16px;
  }
  .scroll-hint{bottom:18px}
}

.top-actions{
  position:absolute;
  right:24px;
  top:20px;
  z-index:16;
  display:flex;
  gap:10px;
}
.top-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.82);
  color:rgba(0,0,0,.74);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.top-chip-solid{
  border-color:transparent;
  background:#1f66ff;
  color:#fff;
}

.request-page.blue-theme{
  background:
    radial-gradient(circle at top left, rgba(80,146,255,.16), transparent 28%),
    linear-gradient(180deg, #eef5ff 0%, #f6f9ff 48%, #f8fbff 100%);
}
.request-shell{
  max-width:1240px;
  margin:0 auto;
  padding:28px 24px 56px;
}
.request-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.request-auth{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.account-chip{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(31,102,255,.08);
  color:#2454b8;
  border:1px solid rgba(31,102,255,.14);
}
.request-hero{
  margin-top:28px;
  margin-bottom:28px;
}
.request-layout{
  display:grid;
  gap:24px;
  grid-template-columns:1.05fr .95fr;
  align-items:start;
}
.request-form,
.quote-panel,
.account-panel{
  border:1px solid rgba(33,66,120,.08);
  border-radius:28px;
  background:rgba(255,255,255,.88);
  box-shadow:0 20px 60px rgba(31,61,124,.08);
  backdrop-filter:blur(8px);
}
.request-form{
  padding:24px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}
.form-grid label{
  display:grid;
  gap:8px;
}
.form-grid label.full{
  grid-column:1 / -1;
}
.form-grid span{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#4a68a4;
}
.form-grid input,
.form-grid select,
.form-grid textarea{
  width:100%;
  border-radius:16px;
  border:1px solid rgba(31,102,255,.12);
  background:#f8fbff;
  padding:14px 16px;
  font:inherit;
  color:#17315f;
  outline:none;
}
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus{
  border-color:rgba(31,102,255,.4);
  box-shadow:0 0 0 4px rgba(31,102,255,.08);
}
.request-submit{
  margin-top:18px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg, #1962ff, #3a82ff);
  color:#fff;
  padding:15px 20px;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 16px 28px rgba(25,98,255,.18);
}
.request-submit[disabled]{opacity:.7;cursor:wait}
.quote-panel{
  padding:24px;
  min-height:520px;
}
.quote-placeholder h2,
.quote-result h2,
.account-panel h2{
  margin:0 0 14px;
  font-size:1.35rem;
  color:#143264;
}
.quote-placeholder ol{
  margin:0;
  padding-left:18px;
  color:#35548a;
  line-height:1.9;
}
.quote-badge{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.quote-badge.basic{
  background:rgba(31,102,255,.12);
  color:#0f4bd2;
}
.quote-badge.custom{
  background:rgba(15,20,44,.1);
  color:#152447;
}
.quote-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
  margin:18px 0 20px;
}
.quote-metric{
  border-radius:20px;
  background:#f7faff;
  border:1px solid rgba(31,102,255,.08);
  padding:16px;
}
.quote-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#5b74a3;
}
.quote-value{
  margin-top:8px;
  font-size:1.8rem;
  font-weight:700;
  color:#12356a;
}
.quote-terms{
  border-top:1px solid rgba(31,102,255,.08);
  padding-top:18px;
  color:#35548a;
}
.quote-terms ul{
  margin:12px 0 0;
  padding-left:18px;
  line-height:1.8;
}
.quote-actions{
  margin-top:22px;
}
.quote-error{
  padding:16px;
  border-radius:18px;
  background:#fff2f2;
  color:#932c2c;
}
.account-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:20px;
}
.account-panel{
  padding:22px;
}
.account-panel.span-2{
  grid-column:1 / -1;
}
.account-stack{
  display:grid;
  gap:12px;
}
.account-card-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  border-radius:18px;
  background:#f7faff;
  border:1px solid rgba(31,102,255,.08);
  padding:14px 16px;
}
.row-title{
  font-weight:600;
  color:#18376b;
}
.row-meta{
  margin-top:4px;
  font-size:.92rem;
  color:#5c76a6;
}
.row-tag{
  padding:8px 10px;
  border-radius:999px;
  background:#e9f1ff;
  color:#1d5be4;
  white-space:nowrap;
}
.row-tag.is-current{
  background:#1f66ff;
  color:#fff;
}
.empty-state{
  border-radius:18px;
  background:#f7faff;
  border:1px dashed rgba(31,102,255,.16);
  padding:18px;
  color:#5972a0;
}
@media (max-width: 920px){
  .request-layout,
  .account-grid{
    grid-template-columns:1fr;
  }
  .form-grid{
    grid-template-columns:1fr;
  }
  .top-actions{
    right:18px;
    top:16px;
    gap:8px;
  }
}


.welcome-panel{
  position:absolute;
  left:28px;
  top:76px;
  z-index:15;
  width:min(620px, calc(100vw - 56px));
  padding:26px 26px 22px;
  border:1px solid rgba(33,66,120,.08);
  border-radius:32px;
  background:rgba(255,255,255,.74);
  box-shadow:0 24px 72px rgba(25,60,120,.12);
  backdrop-filter:blur(14px);
}
.welcome-kicker{
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#3a66bf;
}
.welcome-title{
  margin:14px 0 0;
  font-size:clamp(2.05rem, 5vw, 4rem);
  line-height:.98;
  font-weight:700;
  color:#102448;
}
.welcome-copy{
  margin:18px 0 0;
  max-width:54ch;
  font-size:1rem;
  line-height:1.82;
  color:rgba(16,36,72,.72);
}
.welcome-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.welcome-strip{
  margin-top:18px;
}
.service-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.service-card{
  display:grid;
  gap:10px;
  min-height:128px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(31,102,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(243,248,255,.92));
  box-shadow:0 14px 34px rgba(31,61,124,.08);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(31,61,124,.12);
  border-color:rgba(31,102,255,.18);
}
.service-card strong{
  font-size:1rem;
  line-height:1.45;
  color:#143264;
}
.service-label{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#4a68a4;
}
.service-card-accent{
  background:linear-gradient(135deg, rgba(25,98,255,.96), rgba(58,130,255,.92));
  border-color:transparent;
}
.service-card-accent strong,
.service-card-accent .service-label{
  color:#fff;
}

.clarity-grid,
.clarity-band{
  display:grid;
  gap:14px;
  margin-top:18px;
}
.clarity-card{
  border-radius:24px;
  padding:18px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(31,102,255,.10);
  box-shadow:0 14px 34px rgba(31,61,124,.08);
}
.clarity-card span{
  display:block;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#4a68a4;
}
.clarity-card strong{
  display:block;
  margin-top:10px;
  font-size:1.02rem;
  color:#143264;
}
.clarity-card p{
  margin:10px 0 0;
  color:rgba(20,50,100,.7);
  line-height:1.75;
}
.definition-grid{
  display:grid;
  gap:18px;
  margin:26px 0 6px;
}
.request-clarity{
  margin-bottom:20px;
}
.field-help{
  display:block;
  margin-top:-2px;
  font-size:12px;
  line-height:1.55;
  color:#6480b0;
  text-transform:none;
  letter-spacing:0;
}
.quote-note{
  color:#5a74a5;
  line-height:1.8;
}
.terms-intro{
  color:#35548a;
}
@media (min-width: 860px){
  .clarity-grid,
  .clarity-band,
  .definition-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .definition-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 980px){
  .welcome-panel{
    width:min(640px, calc(100vw - 40px));
    left:20px;
    top:72px;
  }
}

@media (max-width: 768px){
  .welcome-panel{
    position:relative;
    left:auto;
    top:auto;
    width:calc(100vw - 32px);
    margin:72px 16px 0;
    padding:22px 18px 18px;
    border-radius:26px;
  }
  .welcome-title{
    font-size:clamp(1.85rem, 9vw, 2.8rem);
  }
  .service-grid{
    grid-template-columns:1fr;
  }
  .top-actions{
    right:14px;
    left:14px;
    top:14px;
    justify-content:flex-end;
    flex-wrap:wrap;
  }
  .top-chip{
    min-height:40px;
    padding:0 14px;
  }
  .wall-scroll{
    margin-top:-30px;
  }
  .collection-mark{
    left:16px;
    top:20px;
  }
}


.onboarding-overlay{
  position:fixed;
  inset:0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:92px 24px 32px;
  background:linear-gradient(180deg, rgba(238,245,255,.58), rgba(244,248,255,.82));
  backdrop-filter:blur(10px);
}
.onboarding-overlay[hidden]{display:none !important}
html.has-known-account .onboarding-overlay{display:none !important}
.onboarding-overlay .welcome-panel{
  position:relative;
  left:auto;
  top:auto;
  width:min(780px, calc(100vw - 48px));
  max-height:calc(100vh - 124px);
  overflow:auto;
  margin:0;
}
.onboarding-note{
  margin:18px 0 0;
  font-size:13px;
  line-height:1.7;
  color:rgba(16,36,72,.58);
}
html.has-known-account .wall-scroll,
html.has-known-account .live-updates-button,
html.has-known-account .scroll-hint,
html.has-known-account .edge-fade,
html.has-known-account .top-actions,
html.has-known-account .collection-mark,
html.has-known-account .scene-bg,
html.has-known-account .scene-fade{filter:none}
@media (max-width: 768px){
  .onboarding-overlay{
    align-items:flex-start;
    padding:78px 16px 20px;
    overflow:auto;
  }
  .onboarding-overlay .welcome-panel{
    width:100%;
    max-height:none;
  }
}


body.onboarding-active{
  overflow:hidden;
}

.onboarding-gate{
  position:fixed;
  inset:0;
  z-index:60;
  display:grid;
  place-items:center;
  padding:24px;
}
.onboarding-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,18,39,.46);
  backdrop-filter:blur(8px);
}
.onboarding-shell{
  position:relative;
  width:min(980px, calc(100vw - 32px));
  max-height:min(92vh, 920px);
  overflow:auto;
  border-radius:34px;
  padding:28px;
  background:
    radial-gradient(circle at top left, rgba(80,146,255,.18), transparent 26%),
    linear-gradient(180deg, #eef5ff 0%, #f6f9ff 48%, #f8fbff 100%);
  box-shadow:0 38px 90px rgba(0,0,0,.24);
}
.onboarding-progress{
  display:flex;
  gap:10px;
  margin-bottom:22px;
}
.step-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:rgba(31,102,255,.18);
  border:1px solid rgba(31,102,255,.16);
}
.step-dot.is-active{
  background:#1f66ff;
  border-color:#1f66ff;
}
.onboarding-step{display:none}
.onboarding-step.is-active{display:block}
.onboarding-kicker{
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(13,37,82,.56);
}
.onboarding-title,
.onboarding-subtitle{
  margin:12px 0 0;
  color:#0d2552;
  line-height:1.02;
}
.onboarding-title{font-size:clamp(2.25rem, 6vw, 4.4rem); max-width:12ch;}
.onboarding-subtitle{font-size:clamp(1.8rem, 4vw, 3rem); max-width:18ch;}
.onboarding-copy{
  max-width:780px;
  margin:18px 0 0;
  font-size:1.05rem;
  line-height:1.8;
  color:rgba(9,27,59,.7);
}
.onboarding-copy.small{max-width:680px}
.onboarding-strip{margin-top:22px}
.onboarding-actions,
.onboarding-nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.onboarding-actions.stacked{
  flex-direction:column;
  align-items:flex-start;
}
.onboarding-card-grid,
.onboarding-choice-grid{
  display:grid;
  gap:14px;
  margin-top:24px;
}
.onboarding-card,
.choice-card{
  width:100%;
  text-align:left;
  border:1px solid rgba(31,102,255,.12);
  border-radius:24px;
  padding:20px 20px 18px;
  background:rgba(255,255,255,.84);
  box-shadow:0 14px 34px rgba(31,102,255,.08);
  color:#0d2552;
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.onboarding-card:hover,
.choice-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 42px rgba(31,102,255,.12);
}
.onboarding-card.is-selected,
.choice-card.is-selected{
  border-color:#1f66ff;
  box-shadow:0 0 0 3px rgba(31,102,255,.14), 0 20px 44px rgba(31,102,255,.14);
}
.onboarding-card span,
.choice-card span{
  display:block;
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(13,37,82,.56);
}
.onboarding-card strong,
.choice-card strong{
  display:block;
  margin-top:10px;
  font-size:1rem;
  line-height:1.65;
  font-weight:600;
  color:#0d2552;
}
.onboarding-summary{
  margin-top:22px;
  border-radius:24px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(31,102,255,.12);
  box-shadow:0 18px 42px rgba(31,102,255,.08);
  padding:20px;
}
.summary-line{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid rgba(13,37,82,.08);
}
.summary-line:last-child{border-bottom:0}
.summary-line span{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(13,37,82,.52);
}
.summary-line strong{
  color:#0d2552;
  text-align:right;
}
.ghost-link{
  border:0;
  background:transparent;
  color:rgba(13,37,82,.68);
  padding:4px 2px;
  cursor:pointer;
}
@media (min-width: 860px){
  .onboarding-card-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .onboarding-choice-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
}
@media (max-width: 768px){
  .onboarding-gate{padding:12px;}
  .onboarding-shell{padding:20px 18px 22px; border-radius:28px;}
  .onboarding-title{max-width:none}
  .summary-line{flex-direction:column; align-items:flex-start;}
  .summary-line strong{text-align:left}
}


.quote-head p{color:#35548a;line-height:1.8;margin:0 0 10px}
.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px}
.quote-metric{border-radius:22px;background:#f3f8ff;border:1px solid rgba(31,102,255,.1);padding:18px}
.quote-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#4a68a4}
.quote-value{margin-top:8px;font-size:1.6rem;font-weight:700;color:#143264}
.quote-terms{border-top:1px solid rgba(31,102,255,.1);padding-top:18px}
.quote-terms h3{margin:0 0 10px;color:#143264}
.terms-intro{margin:0 0 12px;color:#35548a;line-height:1.7}
.terms-check{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:18px;background:#f8fbff;border:1px solid rgba(31,102,255,.1);margin-top:10px;color:#23457e}
.terms-check input{margin-top:3px}
.quote-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.quote-loading,.quote-error{border-radius:20px;padding:16px;background:#f8fbff;color:#23457e}
.quote-error{background:#fff1f3;color:#8e2642;border:1px solid rgba(194,45,86,.18)}
.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.account-panel{padding:24px}
.account-panel.span-2{grid-column:1 / -1}
.account-panel h2{margin:0 0 10px;color:#143264}
.account-stack{display:grid;gap:14px}
.account-line{padding:14px 16px;border-radius:18px;background:#f8fbff;border:1px solid rgba(31,102,255,.08);color:#35548a}
.account-card-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px;border-radius:20px;background:#f8fbff;border:1px solid rgba(31,102,255,.08)}
.row-title{font-weight:700;color:#143264}
.row-meta{margin-top:4px;font-size:.92rem;color:#5a76aa}
.row-tag{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;background:rgba(31,102,255,.1);color:#0f4bd2;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.row-tag.is-current{background:#1f66ff;color:#fff}
.quote-mini{text-align:right}
.account-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding:18px 20px;border-radius:22px;border:1px solid rgba(31,102,255,.12);background:rgba(255,255,255,.92);box-shadow:0 16px 40px rgba(31,61,124,.08)}
.account-banner strong{display:block;color:#143264}
.account-banner span{display:block;margin-top:6px;color:#35548a;line-height:1.7}
.account-banner.is-error{border-color:rgba(194,45,86,.18);background:#fff1f3}
.project-status-card{padding:18px;border-radius:22px;background:#f8fbff;border:1px solid rgba(31,102,255,.08)}
.project-status-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.project-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.project-status-grid div{padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(31,102,255,.08)}
.project-status-grid span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#5a76aa}
.project-status-grid strong{display:block;margin-top:8px;color:#143264}
.project-status-copy{color:#35548a;line-height:1.7}
.project-links.compact{margin-top:16px}
.account-section-copy{margin:0 0 16px;color:#35548a;line-height:1.7}
.empty-state{padding:18px;border-radius:18px;background:#f8fbff;border:1px dashed rgba(31,102,255,.18);color:#35548a}
.status-deposit_paid,.status-setup_in_progress,.status-in_build,.status-review,.status-completed{background:rgba(31,102,255,.1);color:#0f4bd2}
.status-completed{background:rgba(38,180,102,.14);color:#0d7d43}
.status-review{background:rgba(255,188,33,.16);color:#9c6600}
.single-form-layout{grid-template-columns:1.1fr .9fr}
.admin-page .request-shell{max-width:1320px}
.admin-access-banner{margin-bottom:18px;padding:14px 18px;border-radius:18px;background:#f8fbff;color:#35548a;border:1px solid rgba(31,102,255,.08)}
.admin-access-banner.is-error{background:#fff1f3;color:#8e2642;border-color:rgba(194,45,86,.18)}
.admin-access-banner.is-success{background:#edf7ff;color:#16407d}
.admin-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.admin-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.admin-edit-grid h3{margin:0 0 12px;color:#143264}
.admin-edit-card{padding:16px;border-radius:20px;background:#f8fbff;border:1px solid rgba(31,102,255,.08);display:grid;gap:10px;margin-bottom:12px}
.admin-edit-card label{display:grid;gap:8px}
.admin-edit-title{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#4a68a4;font-weight:700}
.admin-actions-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.admin-actions-row.compact{margin-top:14px}
.save-state{color:#35548a;font-weight:600}
.admin-project-card{padding:16px;border-radius:20px;background:#f8fbff;border:1px solid rgba(31,102,255,.08);display:grid;gap:14px}
.admin-project-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-project-fields label{display:grid;gap:8px}
.admin-project-fields span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#4a68a4}
.admin-project-fields select{border-radius:14px;border:1px solid rgba(31,102,255,.12);background:#fff;padding:12px 14px;font:inherit;color:#17315f}
@media (max-width: 980px){
  .request-layout,.single-form-layout,.admin-layout,.account-grid{grid-template-columns:1fr}
  .account-panel.span-2{grid-column:auto}
  .project-status-grid,.admin-project-fields,.quote-grid,.admin-edit-grid{grid-template-columns:1fr}
  .account-banner{align-items:flex-start;flex-direction:column}
}


.market-benchmark-band{
  margin:18px 0 0;
  padding:14px 16px;
  border-radius:22px;
  background:rgba(20,50,100,.76);
  color:#fff;
  box-shadow:0 14px 34px rgba(20,50,100,.18);
}
.market-benchmark-copy{
  font-size:14px;
  line-height:1.75;
  color:rgba(255,255,255,.92);
}
.market-note,
.service-compare{
  display:block;
  margin-top:10px;
  font-size:12px;
  line-height:1.6;
  color:#4f6ea5;
}
.service-card .service-compare{
  color:#6480b0;
}
.benchmark-band{
  display:grid;
  gap:14px;
  margin:18px 0 22px;
}
.benchmark-card{
  border-radius:24px;
  padding:18px;
  background:rgba(18,52,116,.9);
  color:#fff;
  box-shadow:0 18px 40px rgba(18,52,116,.16);
}
.benchmark-card span{
  display:block;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.benchmark-card strong{
  display:block;
  margin-top:10px;
  font-size:1.02rem;
  color:#fff;
}
.benchmark-card p{
  margin:10px 0 0;
  line-height:1.75;
  color:rgba(255,255,255,.86);
}
@media (min-width: 860px){
  .benchmark-band{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}


.tiers-grid{
  display:grid;
  gap:18px;
  margin:24px 0;
}
.tier-card{
  border-radius:28px;
  padding:24px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(31,102,255,.12);
  box-shadow:0 16px 38px rgba(31,61,124,.08);
}
.tier-card.featured{
  background:linear-gradient(180deg, rgba(23,73,170,.94), rgba(13,47,117,.96));
  color:#fff;
}
.tier-card.featured p,
.tier-card.featured li,
.tier-card.featured .tier-kicker{
  color:rgba(255,255,255,.88);
}
.tier-kicker{
  display:block;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#4a68a4;
}
.tier-card h2{
  margin:10px 0 12px;
  font-size:2rem;
  color:#143264;
}
.tier-card.featured h2{color:#fff;}
.note-card{
  border-radius:28px;
  padding:24px;
  margin:24px 0;
  background:rgba(14,48,112,.08);
  border:1px solid rgba(14,48,112,.12);
}
.note-card h2{
  margin:0 0 12px;
  color:#143264;
}
.subtle-copy{
  color:#4f6ea5;
  line-height:1.8;
}
.agent-final-actions{
  justify-content:flex-start;
  margin-bottom:30px;
}
@media (min-width: 980px){
  .tiers-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}




/* Onboarding removed */


.welcome-panel{
  transition:opacity .28s ease, transform .28s ease;
}
.welcome-panel.is-hidden{
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
}

@media (max-width: 900px){
  .live-updates-button{
    right:16px;
    bottom:16px;
    min-width:auto;
    padding:12px 18px;
    max-width:calc(100vw - 32px);
  }
}


.gallery-note{
  margin:0;
  max-width:820px;
  font-size:.95rem;
  line-height:1.7;
  color:rgba(0,0,0,.56);
}
.project-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.link-button-secondary{
  background:rgba(255,255,255,.9);
  color:#16305f;
  border:1px solid rgba(22,48,95,.12);
}
.preview-modal{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:20px;
}
.preview-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,13,24,.52);
  backdrop-filter:blur(8px);
}
.preview-shell{
  position:relative;
  z-index:2;
  width:min(1240px, calc(100vw - 28px));
  height:min(86vh, 860px);
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:14px;
  padding:18px;
  border-radius:28px;
  background:rgba(255,255,255,.96);
  box-shadow:0 28px 80px rgba(0,0,0,.22);
}
.preview-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.preview-label{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(0,0,0,.45);
}
.preview-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.preview-note{
  margin:0;
  font-size:.92rem;
  line-height:1.6;
  color:rgba(0,0,0,.58);
}
.preview-frame{
  width:100%;
  height:100%;
  border:1px solid rgba(0,0,0,.08);
  border-radius:20px;
  background:#fff;
}
body.preview-open{
  overflow:hidden;
}
@media (max-width: 760px){
  .preview-shell{
    width:min(100vw - 16px, 900px);
    height:min(88vh, 900px);
    padding:14px;
    border-radius:22px;
  }
  .preview-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
}


.webgallery-page{
  background:
    linear-gradient(rgba(244,241,237,.88), rgba(244,241,237,.92)),
    url('/assets/webgallery-background.png') center top / cover no-repeat fixed;
}

.webgallery-page .gallery-shell{
  position:relative;
}

.webgallery-page .gallery-hero,
.webgallery-page .benchmark-band,
.webgallery-page .clarity-band,
.webgallery-page .definition-grid,
.webgallery-page .project-card{
  backdrop-filter:blur(6px);
}

.webgallery-page .project-card{
  background:rgba(255,255,255,.92);
}

.project-thumb-live{
  position:relative;
  overflow:hidden;
  min-height:280px;
  background:#eef1f5;
}

.project-thumb-frame{
  width:100%;
  height:100%;
  min-height:280px;
  border:0;
  display:block;
  background:#fff;
}

.project-thumb-live .thumb-overlay{
  pointer-events:none;
}

@media (max-width: 900px){
  .webgallery-page{
    background:
      linear-gradient(rgba(244,241,237,.9), rgba(244,241,237,.94)),
      url('/assets/webgallery-background.png') center top / cover no-repeat;
  }
}


.project-inline-preview{
  display:none;
  margin-top:16px;
  padding:14px;
  border-radius:22px;
  background:rgba(246,247,250,.92);
  border:1px solid rgba(18,48,96,.10);
  box-shadow:0 12px 32px rgba(16,36,72,.08);
}
.project-card.has-inline-preview .project-inline-preview{
  display:block;
}
.project-inline-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.project-inline-label{
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(0,0,0,.45);
}
.project-inline-note{
  margin:10px 0 12px;
  font-size:.9rem;
  line-height:1.6;
  color:rgba(0,0,0,.55);
}
.project-inline-frame{
  width:100%;
  height:min(62vh, 720px);
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
}
.project-card.has-inline-preview [data-preview-toggle]{
  background:#132d5f;
  color:#fff;
  border-color:#132d5f;
}
.preview-modal,
.preview-backdrop,
.preview-shell,
.preview-frame,
.preview-topbar,
.preview-actions,
.preview-note{
  display:none !important;
}

@media (max-width: 760px){
  .project-inline-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .project-inline-frame{
    height:68vh;
  }
}


.webgallery-wall-page .collection-mark,
.webgallery-wall-page .top-actions,
.webgallery-wall-page .live-updates-button,
.webgallery-wall-page .welcome-panel{
  display:none !important;
}
.webgallery-back{
  position:absolute;
  top:22px;
  left:28px;
  z-index:18;
}
.webgallery-scene-bg{
  background-image:url('/assets/webgallery-background.png');
  background-position:center center;
}
.webgallery-scene-fade{
  background:linear-gradient(to bottom, rgba(255,255,255,.10), rgba(255,255,255,.04) 55%, rgba(255,255,255,.12));
}
.webgallery-scroll{
  z-index:12;
}
.webgallery-frame{
  cursor:default;
}
.webgallery-art-wrap{
  background:#fff;
  padding:0;
}
.webgallery-frame .frame-shell{
  padding:10px 10px 74px;
  overflow:hidden;
}
.webgallery-frame-media{
  width:100%;
  height:100%;
  border:0;
  display:block;
  object-fit:cover;
  object-position:top center;
  background:#fff;
}
.webgallery-frame-footer{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:3;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 18px rgba(0,0,0,.10);
}
.webgallery-frame-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.webgallery-frame-meta strong{
  font-size:14px;
  line-height:1.2;
  color:#102448;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.webgallery-frame-badge{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#6e7e9b;
}
.webgallery-open-link{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:600;
}
@media (max-width:768px){
  .webgallery-back{
    top:18px;
    left:20px;
  }
  .webgallery-frame .frame-shell{
    padding:8px 8px 70px;
  }
  .webgallery-frame-footer{
    left:8px;
    right:8px;
    bottom:8px;
    padding:10px;
  }
  .webgallery-frame-meta strong{
    font-size:12px;
  }
  .webgallery-open-link{
    padding:8px 12px;
    font-size:11px;
  }
}
