:root {
  --ink: #211827;
  --muted: #786e80;
  --subtle: #a79dac;
  --line: #e9e2ed;
  --paper: #ffffff;
  --canvas: #f7f4f8;
  --night: #15101c;
  --night-2: #1e1727;
  --purple: #6d3df1;
  --purple-2: #8e64ff;
  --purple-soft: #f0eaff;
  --green: #16825d;
  --green-soft: #e8f7f1;
  --amber: #a96700;
  --amber-soft: #fff3d8;
  --red: #b8384d;
  --red-soft: #ffe8ed;
  --blue: #2f6fca;
  --blue-soft: #e8f1ff;
  --shadow-sm: 0 7px 24px rgba(37, 21, 49, .07);
  --shadow-lg: 0 28px 80px rgba(37, 21, 49, .15);
  --radius: 16px;
  --radius-sm: 10px;
  --max: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; background: var(--canvas); }
a { color: inherit; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(var(--max), calc(100% - 36px)); margin: 0 auto; }
h1, h2, h3, h4 { line-height: 1.12; margin: 0 0 .7em; letter-spacing: -.025em; }
h1 { font-size: clamp(2rem, 4vw, 4.2rem); }
h2 { font-size: clamp(1.65rem, 3vw, 2.75rem); }
h3 { font-size: 1.15rem; }
p { margin: 0 0 1rem; }
.eyebrow { color: var(--purple); font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; margin-bottom: .55rem; }
.muted { color: var(--muted); }
.small { font-size: .86rem; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.stack { display: grid; gap: 16px; }
.stack-sm { display: grid; gap: 9px; }
.flex { display: flex; gap: 12px; align-items: center; }
.flex-between { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.wrap { flex-wrap: wrap; }
.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 22px; }
.card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 18px; }
.card-header h2, .card-header h3 { margin: 0; }
.card-subtitle { color: var(--muted); font-size: .9rem; margin-top: 4px; }
.divider { height: 1px; background: var(--line); margin: 20px 0; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 10px; padding: 10px 15px; font-weight: 750; text-decoration: none; transition: .16s ease; min-height: 42px; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: linear-gradient(135deg, var(--purple), var(--purple-2)); color: #fff; box-shadow: 0 8px 22px rgba(109, 61, 241, .22); }
.btn-secondary { background: var(--night); color: #fff; }
.btn-ghost { background: #fff; border-color: var(--line); color: var(--ink); }
.btn-soft { background: var(--purple-soft); color: #5629cf; }
.btn-danger { background: var(--red-soft); color: var(--red); }
.btn-success { background: var(--green-soft); color: var(--green); }
.btn-small { padding: 7px 10px; min-height: 34px; font-size: .82rem; border-radius: 8px; }
.btn-block { width: 100%; }
.status { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 6px 10px; font-size: .76rem; line-height: 1; font-weight: 800; white-space: nowrap; }
.status-info { background: var(--blue-soft); color: var(--blue); }
.status-success { background: var(--green-soft); color: var(--green); }
.status-warning { background: var(--amber-soft); color: var(--amber); }
.status-danger { background: var(--red-soft); color: var(--red); }
.status-muted { background: #eeeaf0; color: #756d78; }
.flash { width: min(var(--max), calc(100% - 36px)); margin: 14px auto; padding: 13px 16px; border-radius: 11px; font-weight: 650; border: 1px solid; }
.flash-success { background: var(--green-soft); border-color: #bfe7d7; color: var(--green); }
.flash-warning { background: var(--amber-soft); border-color: #f1d79a; color: #835200; }
.flash-danger { background: var(--red-soft); border-color: #f1b8c4; color: var(--red); }
.flash-info { background: var(--blue-soft); border-color: #b8d4fa; color: var(--blue); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-group { display: grid; gap: 7px; }
.form-group.full { grid-column: 1 / -1; }
label { font-size: .88rem; font-weight: 760; }
.label-help { color: var(--muted); font-weight: 500; font-size: .78rem; }
input, select, textarea { width: 100%; border: 1px solid #dcd3e2; background: #fff; color: var(--ink); border-radius: 10px; padding: 11px 12px; outline: none; transition: border-color .15s, box-shadow .15s; }
input:focus, select:focus, textarea:focus { border-color: var(--purple); box-shadow: 0 0 0 4px rgba(109, 61, 241, .11); }
textarea { min-height: 110px; resize: vertical; }
input[type="checkbox"], input[type="radio"] { width: auto; accent-color: var(--purple); }
.check-row { display: flex; gap: 9px; align-items: flex-start; font-weight: 600; }
.check-row input { margin-top: 4px; }
.input-prefix { position: relative; }
.input-prefix span { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); }
.input-prefix input { padding-left: 28px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
table { width: 100%; border-collapse: collapse; min-width: 760px; background: #fff; }
th { background: #fbf9fc; color: var(--muted); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
th, td { text-align: left; padding: 13px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; }
tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fcfaff; }
.table-title { font-weight: 780; text-decoration: none; }
.table-subtitle { color: var(--muted); font-size: .8rem; margin-top: 2px; }
.pagination { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; color: var(--muted); font-size: .85rem; }
.pagination-links { display: flex; gap: 7px; }
.pagination a, .pagination span { min-width: 34px; height: 34px; display: inline-flex; justify-content: center; align-items: center; border: 1px solid var(--line); background: #fff; border-radius: 8px; text-decoration: none; }
.pagination .current { background: var(--purple); border-color: var(--purple); color: #fff; }
.empty-state { text-align: center; padding: 44px 20px; color: var(--muted); }
.empty-state h3 { color: var(--ink); }
.empty-icon { width: 54px; height: 54px; border-radius: 50%; background: var(--purple-soft); color: var(--purple); display: grid; place-items: center; margin: 0 auto 14px; font-size: 1.4rem; }

/* Public site */
.public-body { background: #fff; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.9); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(233,226,237,.86); }
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-brand, .admin-brand { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.site-brand strong, .admin-brand strong { display: block; font-family: Georgia, serif; font-size: 1.04rem; }
.site-brand small, .admin-brand small { display: block; color: var(--muted); font-size: .69rem; margin-top: 1px; }
.brand-mark { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--purple), #a673ff); font-weight: 900; font-size: .82rem; box-shadow: 0 8px 20px rgba(109,61,241,.22); }
.site-nav { display: flex; align-items: center; gap: 4px; }
.site-nav a { padding: 9px 12px; text-decoration: none; color: #544b59; font-size: .89rem; font-weight: 680; border-radius: 9px; }
.site-nav a:hover, .site-nav a.active { color: var(--purple); background: var(--purple-soft); }
.site-nav .nav-portal { background: var(--night); color: #fff; margin-left: 7px; }
.mobile-nav-toggle { display: none; border: 0; background: var(--purple-soft); color: var(--purple); width: 40px; height: 40px; border-radius: 9px; }
.hero { overflow: hidden; background: radial-gradient(circle at 15% 20%, rgba(142,100,255,.19), transparent 32%), radial-gradient(circle at 85% 28%, rgba(255,190,213,.32), transparent 32%), linear-gradient(180deg,#fff,#fbf8fd); padding: 95px 0 76px; }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 70px; }
.hero-copy h1 { font-family: Georgia, serif; max-width: 720px; }
.hero-copy .lead { color: #665b6d; font-size: 1.12rem; max-width: 640px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 27px; }
.hero-note { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 29px; color: var(--muted); font-size: .82rem; }
.hero-note span::before { content: "✓"; color: var(--green); margin-right: 6px; font-weight: 900; }
.art-window { position: relative; border-radius: 28px; background: var(--night); padding: 18px; box-shadow: var(--shadow-lg); transform: rotate(1deg); }
.art-window::before, .art-window::after { content:""; position:absolute; border-radius:50%; filter: blur(2px); }
.art-window::before { width: 90px; height: 90px; background:#e6b6ca; left:-42px; top:40px; z-index:-1; }
.art-window::after { width: 130px; height:130px; background:#bca9ff; right:-52px; bottom:30px; z-index:-1; }
.art-window-inner { min-height: 480px; border-radius: 19px; background: linear-gradient(155deg,#f5c7dc 0 23%,#9f82e6 24% 45%,#443158 46% 64%,#191326 65%); position: relative; overflow: hidden; }
.art-window-inner::before { content:""; position:absolute; inset:15% 11% 13%; border:2px solid rgba(255,255,255,.65); border-radius: 50% 50% 44% 56%; transform: rotate(-10deg); box-shadow: inset 0 0 70px rgba(255,255,255,.15); }
.art-window-inner::after { content:"JORDAN HARP"; position:absolute; right:20px; bottom:17px; color:rgba(255,255,255,.7); font-size:.63rem; letter-spacing:.3em; }
.section { padding: 86px 0; }
.section-soft { background: var(--canvas); }
.section-dark { background: var(--night); color: #fff; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 34px; }
.section-heading p { max-width: 570px; color: var(--muted); margin: 0; }
.section-dark .section-heading p { color: #bbb0c3; }
.service-card { padding: 27px; min-height: 250px; position: relative; overflow: hidden; }
.service-number { font-family: Georgia,serif; color: var(--purple); font-size: 2.1rem; margin-bottom: 36px; }
.service-card p { color: var(--muted); }
.service-link { color: var(--purple); font-weight: 780; text-decoration: none; }
.process-grid { counter-reset: step; }
.process-step { border-left: 1px solid rgba(255,255,255,.15); padding-left: 24px; }
.process-step::before { counter-increment: step; content: "0" counter(step); color: #a98cff; display: block; font-size: .75rem; font-weight: 900; letter-spacing: .1em; margin-bottom: 34px; }
.process-step p { color: #bbb0c3; }
.portfolio-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 260px; gap: 16px; }
.portfolio-card { grid-column: span 4; position: relative; border-radius: 18px; overflow: hidden; background: #ddd; text-decoration: none; }
.portfolio-card.wide { grid-column: span 8; }
.portfolio-card.tall { grid-row: span 2; }
.portfolio-card img { width:100%; height:100%; object-fit:cover; transition: transform .35s; }
.portfolio-card:hover img { transform:scale(1.035); }
.portfolio-overlay { position:absolute; inset:auto 0 0; color:#fff; padding:50px 19px 17px; background:linear-gradient(transparent,rgba(14,9,18,.88)); }
.portfolio-overlay span { font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:#d7cbe0; }
.testimonial { padding: 29px; }
.testimonial .stars { color:#d29623; letter-spacing:.14em; }
.testimonial blockquote { font-family: Georgia,serif; font-size:1.18rem; line-height:1.55; margin:15px 0 20px; }
.cta-panel { background: linear-gradient(135deg,#211529,#6d3df1); color:#fff; border-radius:26px; padding:50px; display:flex; align-items:center; justify-content:space-between; gap:35px; overflow:hidden; position:relative; }
.cta-panel::after { content:""; width:250px; height:250px; border-radius:50%; background:rgba(255,255,255,.09); position:absolute; right:-60px; top:-80px; }
.cta-panel p { color:#ded4e7; max-width:600px; }
.site-footer { background:#110c16; color:#d6cddd; padding:65px 0 24px; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:40px; }
.footer-grid > div { display:grid; align-content:start; gap:9px; }
.footer-grid strong { color:#fff; margin-bottom:7px; }
.footer-grid a, .footer-grid span, .footer-grid p { color:#a99fae; text-decoration:none; font-size:.86rem; margin:0; }
.footer-brand { font-family:Georgia,serif; font-size:1.4rem; color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.09); margin-top:40px; padding-top:20px; display:flex; justify-content:space-between; color:#887f8e; font-size:.78rem; }
.footer-bottom a { color:#887f8e; }
.page-hero { padding:70px 0 55px; background:linear-gradient(180deg,#fff,#faf7fc); border-bottom:1px solid var(--line); }
.page-hero p { color:var(--muted); max-width:680px; font-size:1.05rem; }
.faq-list { display:grid; gap:12px; }
.faq-item { border:1px solid var(--line); border-radius:12px; background:#fff; overflow:hidden; }
.faq-item button { width:100%; text-align:left; border:0; background:#fff; padding:18px 20px; display:flex; justify-content:space-between; font-weight:780; color:var(--ink); }
.faq-answer { display:none; padding:0 20px 19px; color:var(--muted); }
.faq-item.open .faq-answer { display:block; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:35px; }
.contact-info { background:var(--night); color:#fff; border-radius:var(--radius); padding:30px; }
.contact-info p, .contact-info a { color:#bdb3c5; }

/* Admin */
.admin-body { background:#f5f3f7; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:265px 1fr; }
.admin-sidebar { position:sticky; top:0; height:100vh; background:linear-gradient(180deg,#15101c,#1b1423); color:#fff; padding:24px 17px; display:flex; flex-direction:column; z-index:70; }
.admin-brand { color:#fff; padding:0 7px 22px; border-bottom:1px solid rgba(255,255,255,.08); }
.admin-brand small { color:#9d93a5; }
.admin-nav { display:grid; gap:4px; margin-top:19px; overflow-y:auto; }
.admin-nav a { display:grid; grid-template-columns:27px 1fr auto; align-items:center; gap:8px; color:#c9bfce; text-decoration:none; border-radius:9px; padding:10px 11px; font-size:.87rem; font-weight:640; }
.admin-nav a:hover, .admin-nav a.active { background:rgba(126,81,255,.19); color:#fff; }
.admin-nav a.active { box-shadow:inset 3px 0 var(--purple-2); }
.admin-nav b { min-width:21px; height:21px; padding:0 6px; border-radius:999px; display:grid; place-items:center; background:#ef5570; color:#fff; font-size:.68rem; }
.nav-icon { color:#a992ef; text-align:center; font-weight:900; }
.sidebar-account { margin-top:auto; border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:11px; display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:9px; }
.sidebar-account strong { display:block; font-size:.8rem; }
.sidebar-account small { display:block; color:#92889a; font-size:.68rem; text-transform:capitalize; }
.sidebar-account a { color:#aaa0b1; text-decoration:none; }
.avatar { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,#e3b6cf,#7d5bd7); font-weight:900; }
.admin-main { min-width:0; padding:28px 30px 50px; }
.admin-topbar { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:25px; }
.admin-topbar h1 { font-size:2rem; margin:0; }
.admin-topbar .eyebrow { margin:0 0 4px; }
.top-actions { display:flex; gap:9px; align-items:center; }
.sidebar-toggle { display:none; border:0; background:#fff; border-radius:9px; width:42px; height:42px; box-shadow:var(--shadow-sm); }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.metric-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; box-shadow:var(--shadow-sm); }
.metric-label { color:var(--muted); font-size:.78rem; font-weight:700; }
.metric-value { font-size:1.75rem; font-weight:850; margin:9px 0 4px; letter-spacing:-.04em; }
.metric-change { font-size:.75rem; color:var(--green); }
.metric-icon { float:right; width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:var(--purple-soft); color:var(--purple); font-weight:900; }
.dashboard-grid { display:grid; grid-template-columns:1.5fr .9fr; gap:18px; margin-top:18px; }
.chart { display:flex; align-items:end; gap:8px; height:210px; padding-top:12px; }
.chart-column { flex:1; display:grid; grid-template-rows:1fr auto; gap:8px; height:100%; align-items:end; }
.chart-bar { width:100%; min-height:3px; border-radius:7px 7px 2px 2px; background:linear-gradient(180deg,var(--purple-2),var(--purple)); position:relative; }
.chart-bar:hover::after { content:attr(data-value); position:absolute; left:50%; transform:translateX(-50%); top:-30px; white-space:nowrap; background:var(--night); color:#fff; padding:4px 7px; border-radius:6px; font-size:.68rem; }
.chart-label { text-align:center; font-size:.68rem; color:var(--muted); }
.progress { height:8px; border-radius:999px; background:#eee9f1; overflow:hidden; }
.progress > span { display:block; height:100%; background:linear-gradient(90deg,var(--purple),var(--purple-2)); border-radius:999px; }
.activity-list { display:grid; gap:0; }
.activity-row { display:grid; grid-template-columns:35px 1fr auto; gap:11px; padding:12px 0; border-bottom:1px solid var(--line); align-items:start; }
.activity-row:last-child { border-bottom:0; }
.activity-dot { width:31px; height:31px; border-radius:9px; display:grid; place-items:center; background:var(--purple-soft); color:var(--purple); }
.activity-row p { margin:0; font-size:.84rem; }
.activity-row time { color:var(--muted); font-size:.7rem; white-space:nowrap; }
.filter-bar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:16px; }
.filter-bar input, .filter-bar select { width:auto; min-width:160px; }
.filter-bar .search { flex:1; min-width:230px; }
.commission-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr); gap:18px; align-items:start; }
.sticky-card { position:sticky; top:20px; }
.invoice-summary { background:linear-gradient(135deg,#21172a,#6d3df1); color:#fff; }
.invoice-summary .muted { color:#d3c7df; }
.money-large { font-size:2.1rem; font-weight:900; letter-spacing:-.04em; }
.timeline-list { display:grid; gap:0; }
.timeline-item { display:grid; grid-template-columns:24px 1fr; gap:11px; position:relative; padding-bottom:19px; }
.timeline-item:not(:last-child)::after { content:""; position:absolute; left:10px; top:23px; bottom:0; width:2px; background:var(--line); }
.timeline-dot { width:21px; height:21px; border-radius:50%; background:#fff; border:2px solid #cfc5d4; z-index:1; }
.timeline-item.complete .timeline-dot { background:var(--green); border-color:var(--green); box-shadow:inset 0 0 0 4px #fff; }
.timeline-item.active .timeline-dot { background:var(--purple); border-color:var(--purple); box-shadow:inset 0 0 0 4px #fff; }
.timeline-item h4 { font-size:.88rem; margin:1px 0 3px; }
.timeline-item p { color:var(--muted); font-size:.75rem; margin:0; }
.message-thread { display:grid; gap:12px; max-height:540px; overflow-y:auto; padding:5px 4px 8px; }
.message-bubble { max-width:86%; padding:12px 14px; border-radius:14px 14px 14px 4px; background:#f1edf4; }
.message-bubble.artist { margin-left:auto; border-radius:14px 14px 4px 14px; background:var(--purple-soft); }
.message-meta { display:flex; gap:8px; justify-content:space-between; color:var(--muted); font-size:.67rem; margin-bottom:4px; }
.message-bubble p { margin:0; white-space:pre-wrap; font-size:.86rem; }
.file-list { display:grid; gap:8px; }
.file-row { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:10px; border:1px solid var(--line); border-radius:10px; padding:10px; }
.file-icon { width:42px; height:42px; border-radius:9px; background:var(--purple-soft); color:var(--purple); display:grid; place-items:center; font-weight:900; }
.file-row strong { display:block; font-size:.83rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-row small { color:var(--muted); font-size:.7rem; }
.item-repeater { display:grid; gap:9px; }
.item-row { display:grid; grid-template-columns:1fr 90px 140px 42px; gap:8px; align-items:end; }
.item-row button { width:42px; height:42px; border:0; border-radius:9px; background:var(--red-soft); color:var(--red); }
.setup-check { display:flex; justify-content:space-between; gap:15px; padding:13px 0; border-bottom:1px solid var(--line); }
.setup-check:last-child { border-bottom:0; }
.setup-check strong { display:block; }
.setup-check small { display:block; color:var(--muted); }
.health-good { color:var(--green); font-weight:800; }
.health-bad { color:var(--red); font-weight:800; }
.health-warn { color:var(--amber); font-weight:800; }

/* Client portal */
.client-body { background:#f7f5f9; }
.client-topbar { background:#fff; border-bottom:1px solid var(--line); }
.client-topbar-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.client-meta { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:.82rem; }
.client-hero { background:radial-gradient(circle at 80% 20%,rgba(190,158,255,.35),transparent 35%),linear-gradient(135deg,#1c1424,#5d36cd); color:#fff; padding:48px 0 85px; }
.client-hero h1 { font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.2rem); }
.client-hero p { color:#d3c8dc; }
.client-overview { margin-top:-50px; position:relative; }
.client-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr); gap:18px; align-items:start; }
.client-tabs { display:flex; gap:5px; border-bottom:1px solid var(--line); overflow-x:auto; }
.client-tabs a { padding:12px 14px; text-decoration:none; color:var(--muted); font-size:.82rem; font-weight:750; white-space:nowrap; border-bottom:2px solid transparent; }
.client-tabs a.active { color:var(--purple); border-bottom-color:var(--purple); }
.payment-panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden; }
.payment-panel-head { background:#191320; color:#fff; padding:21px; }
.payment-panel-body { padding:20px; }
.payment-row { display:flex; justify-content:space-between; gap:15px; padding:9px 0; }
.payment-row.total { border-top:1px solid var(--line); margin-top:7px; padding-top:15px; font-weight:850; }
.gateway-stack { display:grid; gap:9px; margin-top:16px; }
.gateway-btn { border:0; border-radius:9px; padding:12px 14px; font-weight:850; width:100%; text-align:center; }
.gateway-stripe { background:#635bff; color:#fff; }
.gateway-paypal { background:#ffc439; color:#172b4d; }
.gateway-square { background:#111; color:#fff; }
.milestone-card { border:1px solid var(--line); border-radius:12px; padding:14px; display:grid; gap:8px; }
.milestone-head { display:flex; justify-content:space-between; gap:12px; }
.approval-box { border:1px dashed #bcaee0; background:#faf8ff; border-radius:12px; padding:17px; }
.client-footer { padding:28px 0; color:var(--muted); font-size:.75rem; }
.client-footer .container { display:flex; justify-content:space-between; gap:15px; }
.invoice-paper { max-width:900px; margin:35px auto; background:#fff; padding:45px; box-shadow:var(--shadow-lg); }
.invoice-head { display:flex; justify-content:space-between; gap:35px; margin-bottom:45px; }
.invoice-brand { font-family:Georgia,serif; font-size:1.6rem; }
.invoice-total { font-size:2.2rem; font-weight:900; }
.print-only { display:none; }

/* Login */
.login-page { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; background:#fff; }
.login-art { background:radial-gradient(circle at 20% 20%,rgba(228,178,207,.8),transparent 30%),radial-gradient(circle at 80% 80%,rgba(126,88,215,.8),transparent 35%),#17101f; display:grid; place-items:center; padding:45px; color:#fff; }
.login-art-inner { max-width:460px; }
.login-art h1 { font-family:Georgia,serif; }
.login-art p { color:#c5bbc9; }
.login-panel { display:grid; place-items:center; padding:35px; }
.login-card { width:min(430px,100%); }
.login-card .site-brand { margin-bottom:40px; }
.login-card h2 { font-size:2rem; }
.login-card form { display:grid; gap:15px; margin-top:25px; }

@media (max-width: 1100px) {
  .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-grid, .commission-layout { grid-template-columns:1fr; }
  .sticky-card { position:static; }
  .hero-grid { gap:40px; }
}
@media (max-width: 900px) {
  .grid-4, .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-grid, .contact-layout, .client-grid { grid-template-columns:1fr; }
  .art-window { max-width:620px; }
  .admin-shell { grid-template-columns:1fr; }
  .admin-sidebar { position:fixed; left:-285px; width:265px; transition:left .2s; box-shadow:var(--shadow-lg); }
  .admin-sidebar.open { left:0; }
  .admin-main { padding:22px 18px 45px; }
  .sidebar-toggle { display:block; }
  .top-actions .btn-ghost { display:none; }
  .portfolio-card, .portfolio-card.wide { grid-column:span 6; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 700px) {
  .site-nav { display:none; position:absolute; left:18px; right:18px; top:70px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-lg); border-radius:13px; padding:10px; flex-direction:column; align-items:stretch; }
  .site-nav.open { display:flex; }
  .site-nav .nav-portal { margin-left:0; text-align:center; }
  .mobile-nav-toggle { display:block; }
  .hero { padding:65px 0 55px; }
  .section { padding:62px 0; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:9px; }
  .grid-2, .grid-3, .grid-4, .form-grid { grid-template-columns:1fr; }
  .form-group.full { grid-column:auto; }
  .portfolio-grid { grid-auto-rows:230px; }
  .portfolio-card, .portfolio-card.wide { grid-column:1 / -1; }
  .portfolio-card.tall { grid-row:span 1; }
  .cta-panel { padding:34px 25px; flex-direction:column; align-items:flex-start; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom, .client-footer .container { flex-direction:column; }
  .admin-topbar { align-items:flex-start; flex-wrap:wrap; }
  .admin-topbar > div:nth-child(2) { order:2; flex:1 0 calc(100% - 60px); }
  .top-actions { width:100%; order:3; }
  .top-actions .btn-primary { width:100%; }
  .metric-grid { grid-template-columns:1fr; }
  .item-row { grid-template-columns:1fr 70px 110px 42px; }
  .client-meta > span:first-child { display:none; }
  .invoice-paper { margin:0; padding:25px 18px; box-shadow:none; }
  .invoice-head { flex-direction:column; }
  .login-page { grid-template-columns:1fr; }
  .login-art { display:none; }
}
@media print {
  body { background:#fff !important; }
  .no-print, .site-header, .site-footer, .client-topbar, .client-footer, .flash { display:none !important; }
  .print-only { display:block; }
  .invoice-paper { box-shadow:none; margin:0; max-width:none; padding:0; }
}

/* Secure client portal additions */
.narrow{max-width:820px}.access-section{padding:80px 0;min-height:calc(100vh - 160px);display:flex;align-items:center;background:radial-gradient(circle at 12% 12%,rgba(111,60,255,.12),transparent 35%),linear-gradient(180deg,#faf8fc,#f3eef7)}
.access-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:64px;align-items:center}.access-copy h1{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.02;margin:.2em 0}.access-copy .lead{font-size:1.15rem;color:var(--muted);max-width:650px}.access-card{padding:34px}.access-card h2{font-size:1.8rem;margin:.2em 0}.form-stack{display:grid;gap:16px}.form-stack label{display:grid;gap:7px;font-weight:700}.form-help{font-size:.82rem;color:var(--muted);margin-top:16px}.feature-stack{display:grid;gap:20px;margin-top:34px}.feature-stack>div{display:grid;grid-template-columns:46px 1fr;gap:14px}.feature-stack>div>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#ece4ff;color:#6f3cff;font-weight:800}.feature-stack p{margin:4px 0 0;color:var(--muted)}
.preview-banner{background:#fff2c7;color:#604800;text-align:center;padding:10px 18px;font-size:.9rem;border-bottom:1px solid #e8d188}.preview-banner a{font-weight:800;color:inherit}.client-main{padding-bottom:70px}.client-hero{padding:50px 0 24px;background:radial-gradient(circle at 85% 10%,rgba(153,101,255,.18),transparent 32%),linear-gradient(135deg,#17111f,#2a1a38);color:#fff}.client-overview{display:flex;justify-content:space-between;gap:24px;align-items:end}.client-overview h1{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4rem);margin:.12em 0}.client-overview p{color:#cfc3d8}.client-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.client-hero .btn-ghost{border-color:rgba(255,255,255,.25);color:#fff}.paid-badge{display:inline-flex;align-items:center;background:#d9fbe8;color:#125735;padding:12px 18px;border-radius:12px;font-weight:800}.client-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:34px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden}.client-summary-grid>div{padding:18px 20px;background:rgba(10,5,15,.28);display:grid;gap:5px}.client-summary-grid small{color:#bfb2c8;text-transform:uppercase;letter-spacing:.08em}.client-summary-grid strong{font-size:1rem}.client-grid{grid-template-columns:minmax(0,1fr) 370px;padding-top:28px;align-items:start}.client-content{min-width:0}.client-sidebar{min-width:0}.client-tabs{position:sticky;top:0;z-index:15;display:flex;gap:5px;overflow:auto;padding:9px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 30px rgba(35,27,43,.08)}.client-tabs a{white-space:nowrap;padding:9px 12px;border-radius:9px;color:var(--muted);font-weight:700;font-size:.9rem}.client-tabs a:hover{background:#f2ecf8;color:var(--ink)}.rich-copy{line-height:1.75;color:#493f50}.timeline-item{grid-template-columns:24px 1fr auto}.timeline-dot.done{background:#26af6f;box-shadow:0 0 0 5px rgba(38,175,111,.12)}.timeline-dot.active{background:#6f3cff;box-shadow:0 0 0 5px rgba(111,60,255,.12)}.timeline-item small{display:block;color:var(--muted);margin-top:3px}.portal-gallery{display:grid;gap:12px}.portal-file{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:10px}.portal-file-preview{width:88px;height:70px;border-radius:10px;background:#f2edf6;display:grid;place-items:center;overflow:hidden}.portal-file-preview img{width:100%;height:100%;object-fit:cover}.portal-file strong,.portal-file small{display:block}.portal-file small{margin-top:5px;color:var(--muted)}.portal-file.locked{background:#faf7fb}.upload-panel{border-top:1px solid var(--border);margin-top:22px;padding-top:20px}.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline-form input[type=file]{flex:1;min-width:220px}.message-compose{margin-top:16px}.message-compose small{color:var(--muted)}.revision-list{display:grid;gap:12px}.revision-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;border:1px solid var(--border);padding:16px;border-radius:13px}.revision-row p{margin:6px 0}.revision-row small{color:var(--muted)}.details-panel{margin-top:18px}.details-panel summary{list-style:none;display:inline-flex}.details-form{margin-top:16px;border:1px solid var(--border);border-radius:13px;padding:18px}.approval-box{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #e5d8f2;background:#faf7fd;padding:18px;border-radius:14px;margin-bottom:12px}.approval-box.approved{background:#effbf4;border-color:#c7ecd8}.approval-box p{margin:5px 0 0;color:var(--muted)}.approval-box details{min-width:max-content}.approval-box summary{list-style:none}.approval-form{position:absolute;right:0;margin-top:8px;width:min(360px,calc(100vw - 42px));padding:20px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px rgba(30,20,40,.18);z-index:20}.approval-box details{position:relative}.approval-history{border-top:1px solid var(--border);padding-top:16px;margin-top:18px}.approval-history>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.approval-history small{color:var(--muted)}.milestone-stack{display:grid;gap:12px;margin:18px 0}.milestone-card .gateway-stack{margin-top:12px}.gateway-stack form{margin:0}.gateway-btn{width:100%;border:0;border-radius:10px;padding:11px 13px;font:inherit;font-weight:800;cursor:pointer}.gateway-stripe{background:#635bff;color:#fff}.gateway-paypal{background:#ffc439;color:#10236a}.gateway-square{background:#111;color:#fff}.payment-security{font-size:.78rem;line-height:1.55;color:var(--muted);margin-top:16px}.detail-list{margin:0}.detail-list>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}.detail-list dt{color:var(--muted)}.detail-list dd{font-weight:700;text-align:right;margin:0}.payment-history{display:grid;gap:8px}.payment-history>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:9px 0}.payment-history strong,.payment-history small{display:block}.payment-history small{margin-top:4px;color:var(--muted)}.help-card{background:linear-gradient(135deg,#f4ecff,#fff)}
.invoice-body{background:#ede9f0;color:#231b2b;padding:30px}.invoice-toolbar{max-width:900px;margin:0 auto 18px;display:flex;justify-content:space-between}.invoice-sheet{max-width:900px;margin:0 auto;background:#fff;padding:60px;box-shadow:0 20px 70px rgba(35,27,43,.12)}.invoice-head{display:flex;justify-content:space-between;gap:30px;border-bottom:2px solid #24182d;padding-bottom:28px}.invoice-logo{width:52px;height:52px;border-radius:15px;background:#24182d;color:#fff;display:grid;place-items:center;font-weight:900}.invoice-head h1{margin:10px 0 4px;font-size:1.55rem}.invoice-head p{color:#6e6375;line-height:1.55}.invoice-title{text-align:right}.invoice-title h2{font-size:2.5rem;margin:4px 0}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:30px 0}.invoice-parties>div{display:grid;gap:5px}.invoice-parties small{text-transform:uppercase;letter-spacing:.1em;color:#827788}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th{background:#24182d;color:#fff;text-align:left;padding:13px}.invoice-table td{padding:14px 13px;border-bottom:1px solid #e7e0eb}.invoice-table th:not(:first-child),.invoice-table td:not(:first-child){text-align:right}.invoice-totals{margin-left:auto;width:min(380px,100%);padding:22px 0}.invoice-totals>div{display:flex;justify-content:space-between;padding:8px 0}.invoice-totals .invoice-balance{border-top:2px solid #24182d;margin-top:8px;padding-top:14px;font-size:1.25rem}.invoice-history{margin-top:25px;border-top:1px solid #e7e0eb;padding-top:20px}.invoice-history>div{display:flex;justify-content:space-between;padding:7px 0}.invoice-note{display:flex;justify-content:space-between;border-top:1px solid #e7e0eb;margin-top:40px;padding-top:18px;color:#6e6375}.no-print{display:flex}
@media print{.no-print{display:none!important}.invoice-body{padding:0;background:#fff}.invoice-sheet{box-shadow:none;max-width:none;padding:20px}.invoice-sheet a{color:inherit;text-decoration:none}}
@media(max-width:980px){.access-grid,.client-grid{grid-template-columns:1fr}.client-sidebar .sticky-card{position:static}.client-summary-grid{grid-template-columns:repeat(2,1fr)}.client-overview{align-items:start}.approval-form{position:fixed;left:20px;right:20px;top:20%;width:auto}.invoice-sheet{padding:35px}}
@media(max-width:680px){.access-section{padding:45px 0}.access-grid{gap:34px}.client-overview{display:grid}.client-hero-actions{justify-content:start}.client-summary-grid{grid-template-columns:1fr 1fr}.portal-file{grid-template-columns:64px 1fr}.portal-file-preview{width:64px;height:56px}.portal-file .btn,.portal-file>.status{grid-column:2}.approval-box{display:grid}.timeline-item{grid-template-columns:22px 1fr}.timeline-item>.text-right{grid-column:2;text-align:left}.invoice-body{padding:0}.invoice-sheet{padding:24px}.invoice-head,.invoice-note{display:grid}.invoice-title{text-align:left}.invoice-parties{grid-template-columns:1fr}.invoice-table{font-size:.8rem}.invoice-table th,.invoice-table td{padding:8px 5px}.invoice-toolbar{padding:12px;margin:0}.client-summary-grid>div{padding:14px}.client-tabs{border-radius:0;margin-inline:-18px}.approval-history>div{grid-template-columns:1fr}.client-topbar .client-meta{display:none}}

/* v4 storefront and catalog */
.announcement-bar{background:var(--night);color:#fff;text-align:center;padding:10px 18px;font-size:.86rem;font-weight:700}
.btn-large{min-height:50px;padding:13px 20px}.btn-disabled,.btn:disabled{background:#ded8e2;color:#807685;border-color:#ded8e2;box-shadow:none;cursor:not-allowed;transform:none!important}.link-danger{border:0;background:none;color:var(--red);padding:4px;font-size:.8rem;text-decoration:underline}.page-actions{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:18px}.narrow-page{max-width:760px}.checkout-focus{text-align:center;margin:70px auto}.venmo-button-wrap{max-width:420px;margin:24px auto}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.home-hero{overflow:hidden;padding:78px 0 82px;background:radial-gradient(circle at 8% 18%,rgba(142,100,255,.18),transparent 28%),radial-gradient(circle at 88% 20%,rgba(242,187,211,.35),transparent 30%),linear-gradient(180deg,#fff,#fbf8fd)}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);gap:72px;align-items:center}.home-hero-copy h1{font-family:Georgia,serif;font-size:clamp(3.2rem,6vw,6.3rem);line-height:.95;max-width:780px;margin:.12em 0 .28em}.hero-lead{font-size:1.16rem;color:#655a6c;max-width:690px}.hero-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;color:var(--muted);font-size:.82rem}.hero-trust span::first-letter{color:var(--green)}
.home-art-collage{min-height:600px;position:relative}.home-art-collage figure{margin:0;position:absolute;border:10px solid #fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);background:#eee}.home-art-collage img{width:100%;height:100%;object-fit:cover}.home-art-collage figcaption{position:absolute;left:10px;bottom:10px;background:rgba(20,14,26,.78);color:#fff;padding:7px 10px;border-radius:8px;font-size:.76rem;font-weight:750;backdrop-filter:blur(8px)}.collage-1{width:58%;height:67%;left:3%;top:4%;transform:rotate(-4deg)}.collage-2{width:51%;height:57%;right:1%;top:8%;transform:rotate(4deg)}.collage-3{width:52%;height:51%;left:25%;bottom:0;transform:rotate(1deg)}
.section{padding:78px 0}.section-soft{background:var(--canvas)}.section-heading{margin-bottom:30px}.section-heading.centered{text-align:center;max-width:760px;margin:0 auto 34px}.split-heading{display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:end}.split-heading>div:last-child{color:var(--muted)}.split-heading a{color:var(--purple);font-weight:800;text-decoration:none}.home-store-section{background:#fff}.featured-product-grid,.store-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.featured-product-card,.store-product-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.18s ease}.featured-product-card:hover,.store-product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.featured-product-card>div:last-child,.store-product-copy{padding:20px}.featured-product-card h3,.store-product-card h2{margin-bottom:.45rem}.featured-product-card p,.store-product-card p{color:var(--muted)}.featured-product-image,.store-product-image{position:relative;aspect-ratio:4/3;background:#eee;overflow:hidden}.featured-product-image img,.store-product-image img{width:100%;height:100%;object-fit:cover}.sold-out-ribbon{position:absolute;right:12px;top:12px;background:var(--night);color:#fff;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:850}.sold-out-card{opacity:.82}.product-card-bottom{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:22px}.product-card-bottom span{display:grid}.product-card-bottom small{color:var(--muted)}.product-card-bottom strong{font-size:1.28rem}.home-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-gallery figure{margin:0;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#eee}.home-gallery img{width:100%;height:100%;object-fit:cover;transition:.25s}.home-gallery figure:hover img{transform:scale(1.03)}.home-gallery figcaption{position:absolute;inset:auto 10px 10px;background:rgba(18,12,23,.76);color:#fff;padding:10px 12px;border-radius:10px;display:flex;justify-content:space-between;gap:12px;backdrop-filter:blur(9px)}.home-gallery figcaption span{color:#d7cfdd;font-size:.78rem}.about-grid{display:grid;grid-template-columns:minmax(310px,.78fr) minmax(0,1.22fr);gap:70px;align-items:center}.about-photo{border-radius:28px;overflow:hidden;box-shadow:var(--shadow-lg);background:#eee;aspect-ratio:4/5}.about-photo img{width:100%;height:100%;object-fit:cover}.about-copy h2{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.6rem)}.about-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.process-section{background:var(--night);color:#fff}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.process-grid article{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:18px;padding:25px}.process-grid article>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--purple);font-weight:900;margin-bottom:18px}.process-grid p{color:#c9bdcf}.store-hero{padding:70px 0;background:linear-gradient(135deg,var(--night),#342044);color:#fff;text-align:center}.store-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.5rem)}.store-hero p{color:#d1c6d7;font-size:1.08rem}.narrow-copy{max-width:820px}
.builder-page{background:linear-gradient(180deg,#fff,#f7f3f8);padding-bottom:80px}.builder-breadcrumb{padding:24px 0 14px}.builder-breadcrumb a{color:var(--purple);font-weight:750;text-decoration:none}.builder-layout{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:34px;align-items:start}.builder-product-panel{position:sticky;top:105px}.builder-product-image{aspect-ratio:4/3;border-radius:22px;overflow:hidden;margin-bottom:24px;box-shadow:var(--shadow-lg);background:#eee}.builder-product-image img{width:100%;height:100%;object-fit:cover}.builder-product-panel h1{font-family:Georgia,serif}.builder-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:24px}.builder-facts>div{padding:14px;background:#fff;display:grid;gap:3px}.builder-facts small{color:var(--muted);font-size:.72rem}.builder-form-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow-sm)}.order-builder-form{display:grid;gap:26px}.builder-section{display:grid;gap:18px}.builder-section+.builder-section{border-top:1px solid var(--line);padding-top:26px}.builder-section-title{display:grid;grid-template-columns:40px 1fr;gap:13px}.builder-section-title>span{width:36px;height:36px;border-radius:12px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;font-weight:900}.builder-section-title h2{font-size:1.35rem;margin:0}.builder-section-title p{color:var(--muted);font-size:.86rem;margin:4px 0}.quantity-field{max-width:150px}.builder-option-group{border:0;padding:0;margin:0;display:grid;gap:10px}.builder-option-group legend{font-weight:850;margin-bottom:2px}.builder-option-group legend span{color:var(--red)}.option-help{font-size:.84rem;color:var(--muted);margin:-4px 0 4px}.builder-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.builder-choice{border:1px solid var(--line);border-radius:13px;padding:13px;cursor:pointer;transition:.14s}.builder-choice:hover{border-color:#bba9f8;background:#fcfaff}.builder-choice:has(input:checked){border-color:var(--purple);box-shadow:0 0 0 3px rgba(109,61,241,.1);background:#fbf9ff}.builder-choice input{position:absolute;opacity:0;pointer-events:none}.builder-choice span{display:grid;gap:4px}.builder-choice small,.builder-addon small{color:var(--muted);font-weight:500}.builder-choice b{color:var(--purple);font-size:.8rem}.builder-choice-list{display:grid;gap:8px}.builder-addon{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}.builder-addon input{margin-top:4px}.builder-addon span{display:grid}.builder-addon b{color:var(--purple);font-size:.82rem}.choice-disabled{opacity:.58;cursor:not-allowed;background:#f5f2f6}.sold-out-message{background:var(--amber-soft);color:#795000;border:1px solid #eed390;border-radius:14px;padding:18px;margin-bottom:20px}.sold-out-message h2{font-size:1.25rem;margin-bottom:5px}.builder-total-card{position:sticky;bottom:12px;background:var(--night);color:#fff;border-radius:17px;padding:20px;box-shadow:0 20px 45px rgba(27,17,34,.24);display:grid;gap:14px}.builder-total-card>div{display:grid}.builder-total-card small{color:#c6bacd}.builder-total-card strong{font-size:2rem}.builder-total-card p{font-size:.76rem;color:#afa2b7;margin:0}.terms-check{font-size:.8rem}.terms-check a{color:#c7b1ff}
.catalog-admin-grid{display:grid;gap:16px}.catalog-admin-card{display:grid;grid-template-columns:230px 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden}.catalog-admin-image{position:relative;background:#eee;min-height:170px}.catalog-admin-image img{width:100%;height:100%;object-fit:cover}.catalog-admin-copy{padding:18px}.catalog-admin-copy h3{margin:3px 0}.catalog-admin-copy p{color:var(--muted)}.stock-badge{position:absolute;top:10px;left:10px;border-radius:999px;padding:6px 9px;background:#fff;font-size:.72rem;font-weight:850}.stock-active{color:var(--green)}.stock-out_of_stock,.stock-paused{color:var(--amber)}.stock-draft{color:var(--muted)}.product-admin-meta{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.product-admin-meta span{background:var(--canvas);border-radius:999px;padding:5px 8px;font-size:.73rem;color:var(--muted)}.admin-create-panel summary{list-style:none;display:inline-flex}.product-editor-layout{display:grid;grid-template-columns:260px 1fr;gap:24px}.product-image-editor{display:grid;align-content:start;gap:12px}.product-image-editor img{aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:15px;background:#eee}.option-checks{display:flex;gap:18px;flex-wrap:wrap}.inline-create{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:var(--canvas);border-radius:13px;padding:14px}.inline-create input{min-width:240px;flex:1}.inline-create select{width:auto;min-width:170px}.option-group-list{display:grid;gap:14px;margin-top:18px}.option-admin-group{border:1px solid var(--line);border-radius:15px;overflow:hidden}.option-admin-group>summary{list-style:none;display:flex;justify-content:space-between;gap:12px;padding:16px 18px;background:#fbf9fc;cursor:pointer}.option-admin-group>summary span:first-child{display:grid}.option-admin-group>summary small{color:var(--muted);font-weight:500;margin-top:3px}.option-admin-body{padding:18px}.compact-form{background:#fff}.choice-admin-list{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.choice-admin-row{display:grid;grid-template-columns:1fr 1.3fr .7fr .7fr .65fr .45fr auto;gap:8px;align-items:end;background:var(--canvas);border-radius:12px;padding:10px}.choice-admin-row .form-group label{font-size:.7rem}.choice-flags{display:grid;gap:3px;font-size:.73rem;padding-bottom:8px}.choice-delete{text-align:right;margin-top:-4px}.small-create{margin-top:10px;padding:10px}.group-delete{border-top:1px solid var(--line);padding-top:14px;margin-top:16px}
.gateway-cashapp{background:#00d64f;color:#071d0d}.gateway-venmo{background:#008cff;color:#fff}
@media(max-width:1080px){.home-hero-grid,.builder-layout{grid-template-columns:1fr}.home-art-collage{min-height:520px;max-width:700px;width:100%;margin:0 auto}.builder-product-panel{position:static}.featured-product-grid,.store-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-admin-row{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-admin-row>.btn{align-self:end}.product-editor-layout{grid-template-columns:220px 1fr}}
@media(max-width:760px){.home-hero{padding-top:55px}.home-hero-copy h1{font-size:clamp(2.8rem,15vw,4.7rem)}.home-art-collage{min-height:420px}.split-heading,.about-grid{grid-template-columns:1fr;gap:24px}.featured-product-grid,.store-product-grid,.home-gallery,.process-grid{grid-template-columns:1fr}.home-gallery figure{aspect-ratio:5/4}.builder-layout{width:min(100% - 22px,var(--max))}.builder-form-panel{padding:18px}.builder-choice-grid{grid-template-columns:1fr}.builder-facts{grid-template-columns:1fr}.builder-total-card{bottom:6px}.catalog-admin-card{grid-template-columns:1fr}.catalog-admin-image{aspect-ratio:16/9}.product-editor-layout{grid-template-columns:1fr}.choice-admin-row{grid-template-columns:1fr 1fr}.choice-admin-row .form-group:nth-child(2){grid-column:1/-1}.inline-create{display:grid}.inline-create select{width:100%}.home-art-collage figcaption{display:none}}
.order-selection-summary{margin-top:22px;background:var(--canvas);border:1px solid var(--line);border-radius:14px;padding:17px}.order-selection-summary h3{margin-bottom:12px}.selection-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.selection-summary-grid>div{display:grid;gap:2px;background:#fff;border-radius:10px;padding:11px}.selection-summary-grid small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:600px){.selection-summary-grid{grid-template-columns:1fr}}

/* =========================================================
   v5 — Carrd-inspired studio + polished catalog/client flow
   ========================================================= */
:root{
  --studio-cream:#f7f2eb;
  --studio-paper:#fffdf9;
  --studio-ink:#28231f;
  --studio-muted:#776f67;
  --studio-coral:#df765f;
  --studio-coral-dark:#bc5b47;
  --studio-line:#e9e0d7;
  --admin-bg:#f2f4f7;
  --admin-panel:#ffffff;
  --admin-line:#e4e7ec;
}

/* Persistent floating public navigation */
.floating-site-header{position:fixed!important;top:16px;left:0;right:0;background:transparent!important;border:0!important;backdrop-filter:none!important;z-index:200;pointer-events:none}
.floating-site-nav{width:min(1120px,calc(100% - 28px));min-height:62px;margin:0 auto;padding:7px 8px 7px 10px;border:1px solid rgba(55,44,37,.13);border-radius:19px;background:rgba(255,253,249,.91);backdrop-filter:blur(18px) saturate(145%);box-shadow:0 14px 50px rgba(40,31,25,.13);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;pointer-events:auto}
.floating-site-nav .site-brand{display:flex;align-items:center;gap:9px;text-decoration:none;min-width:190px}
.floating-site-nav .brand-mark{width:36px;height:36px;border-radius:50%;font-family:Georgia,serif;font-size:.83rem;background:#2b2421;color:#fff;box-shadow:none}
.floating-site-nav .site-brand strong{font-family:Georgia,serif;font-size:.98rem;color:var(--studio-ink)}
.floating-site-nav .site-brand small{display:block;color:#8a8078;font-size:.62rem;margin-top:1px}
.floating-site-nav .site-nav{justify-content:center;gap:0}
.floating-site-nav .site-nav a{font-size:.78rem;color:#615952;padding:8px 10px;background:transparent;border-radius:999px}
.floating-site-nav .site-nav a:hover,.floating-site-nav .site-nav a.active{background:#f1e9e1;color:#2c2521}
.persistent-actions{display:flex;gap:7px;align-items:center}
.persistent-action{min-height:42px;padding:8px 13px;border-radius:12px;text-decoration:none;display:flex;align-items:center;gap:7px;font-size:.77rem;font-weight:800;white-space:nowrap;border:1px solid var(--studio-line);background:#fff;color:var(--studio-ink)}
.persistent-action span{font-size:.9rem}.persistent-action.action-shop{background:var(--studio-coral);border-color:var(--studio-coral);color:#fff;box-shadow:0 7px 18px rgba(223,118,95,.2)}
.persistent-action:hover{transform:translateY(-1px)}
.public-body:not(.page-index) main{padding-top:82px}
.public-body .flash{position:relative;z-index:205;margin-top:94px}
.public-body .flash+main{padding-top:0}

/* Homepage: fixed art wall + scrolling center rail */
.page-index{background:#191512;color:var(--studio-ink)}
.page-index .flash{position:fixed;left:50%;transform:translateX(-50%);top:76px;margin:0;z-index:210}
.home-fixed-gallery{position:fixed;inset:0;z-index:0;background:#201b17;overflow:hidden}
.home-fixed-art{position:absolute;top:0;bottom:0;width:calc(50% - 310px);min-width:290px;overflow:hidden;background:#d7cdc1}
.home-fixed-art-left{left:0}.home-fixed-art-right{right:0}
.home-fixed-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(.96);transform:scale(1.02)}
.home-fixed-art-left::after,.home-fixed-art-right::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,12,.06),rgba(20,15,12,.12))}
.home-fixed-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,13,11,.26),transparent 18%,transparent 82%,rgba(17,13,11,.26));pointer-events:none}
.carrd-home{position:relative;z-index:2;padding:106px 0 0}
.home-center-rail{width:min(670px,calc(100% - 32px));margin:0 auto;background:rgba(255,253,249,.975);box-shadow:0 0 0 1px rgba(55,44,37,.1),0 0 80px rgba(11,8,6,.24);min-height:100vh}
.home-announcement{background:#2a2420;color:#fff;padding:10px 24px;text-align:center;font-size:.76rem;letter-spacing:.03em}
.home-rail-section{padding:72px 64px;border-bottom:1px solid var(--studio-line);position:relative}
.home-intro-card{text-align:center;padding-top:82px;padding-bottom:76px}
.home-profile{width:88px;height:88px;border-radius:50%;padding:4px;background:#fff;border:1px solid #e8ddd2;box-shadow:0 10px 30px rgba(55,40,30,.14);margin:0 auto 20px;overflow:hidden}
.home-profile img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.home-kicker{font-family:Georgia,serif;font-size:1.05rem;letter-spacing:.03em;color:#50463f;margin-bottom:12px}
.home-intro-card h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(3rem,6vw,5rem);line-height:.96;letter-spacing:-.045em;color:#2c2723;margin:0 auto 14px;max-width:530px}
.home-subtitle{text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;font-weight:800;color:#a06658;margin-bottom:25px}
.home-lead{font-family:Georgia,serif;font-size:1.08rem;line-height:1.75;color:#6b625b;max-width:510px;margin:0 auto 28px}
.home-intro-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.home-pill{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:10px 19px;border-radius:999px;border:1px solid #d9ccc1;background:#fff;color:#514943;text-decoration:none;font-size:.78rem;font-weight:800;letter-spacing:.02em;transition:.16s}
.home-pill:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(54,39,30,.08)}
.home-pill-primary{background:var(--studio-coral);border-color:var(--studio-coral);color:#fff;box-shadow:0 8px 22px rgba(223,118,95,.2)}
.home-pill-wide{width:100%;margin-top:16px}
.home-mini-links{display:flex;justify-content:center;gap:9px;margin-top:24px;color:#9b9087;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.home-mini-links a{text-decoration:none}.home-mini-links a:hover{color:var(--studio-coral-dark)}
.home-section-number{position:absolute;top:28px;right:32px;margin:0;color:#c9bbb0;font-family:Georgia,serif;font-size:.77rem;letter-spacing:.12em}
.rail-copy-section{text-align:center}.rail-copy-section h2,.rail-shop-section h2,.rail-process-section h2,.rail-closing-section h2,.rail-gallery-section h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.15rem);color:#302a26}
.home-serif-copy{font-family:Georgia,serif;color:#746a62;line-height:1.9;font-size:1rem;max-width:500px;margin:0 auto 24px}
.text-link{color:#a75a48;text-decoration:none;font-size:.77rem;font-weight:800;letter-spacing:.02em}.text-link:hover{text-decoration:underline}
.rail-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.rail-heading h2{margin:0}.rail-heading .eyebrow{color:#a75a48}
.rail-art-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.rail-art-item{margin:0;position:relative;overflow:hidden;background:#eee;aspect-ratio:1/1}.rail-art-item.item-1{grid-column:1/-1;aspect-ratio:16/10}.rail-art-item.item-4{grid-column:1/-1;aspect-ratio:16/9}.rail-art-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.rail-art-item:hover img{transform:scale(1.025)}.rail-art-item figcaption{position:absolute;left:9px;right:9px;bottom:9px;padding:9px 11px;background:rgba(255,253,249,.9);backdrop-filter:blur(10px);display:flex;justify-content:space-between;gap:10px;font-size:.7rem}.rail-art-item figcaption strong{font-family:Georgia,serif}.rail-art-item figcaption span{color:#897e75}
.rail-shop-section{text-align:center}.rail-shop-section>p:not(.eyebrow):not(.home-section-number){color:#756c65;max-width:500px;margin-left:auto;margin-right:auto}.rail-product-list{display:grid;gap:8px;margin-top:26px;text-align:left}.rail-product{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:13px;text-decoration:none;border:1px solid var(--studio-line);padding:8px;border-radius:12px;background:#fff;transition:.15s}.rail-product:hover{border-color:#d3b4aa;transform:translateX(2px)}.rail-product img{width:72px;height:64px;object-fit:cover;border-radius:8px}.rail-product span{display:grid;gap:1px}.rail-product small{color:#a39991;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.rail-product strong{font-family:Georgia,serif;font-size:.98rem}.rail-product em{font-style:normal;color:#aa654f;font-size:.72rem}.rail-product>b{font-size:1.15rem;color:#b16752;padding-right:8px}
.rail-process-list{display:grid;gap:11px;margin:24px 0 28px}.rail-process-list>div{display:grid;grid-template-columns:34px 1fr;gap:12px;text-align:left;align-items:start}.rail-process-list span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid #d8cbc0;color:#a65c49;font-family:Georgia,serif}.rail-process-list p{margin:2px 0;color:#726860;font-size:.9rem;line-height:1.65}.rail-process-list strong{color:#3a332e}
.rail-closing-section{text-align:center;background:#f8f1eb}.rail-closing-section>p:not(.home-section-number){color:#746a62;line-height:1.75}.page-index .site-footer{position:relative;z-index:3;width:min(670px,calc(100% - 32px));margin:0 auto;background:#251f1b;padding:45px 0 24px}.page-index .site-footer .container{width:calc(100% - 64px)}.page-index .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.page-index .footer-grid>div:nth-child(3),.page-index .footer-grid>div:nth-child(4){display:none}

/* Client identity hub */
.client-access-page .access-section{padding-top:125px;background:radial-gradient(circle at 13% 13%,rgba(223,118,95,.14),transparent 34%),linear-gradient(180deg,#fffdf9,#f4eee8)}
.access-grid-v5{gap:70px}.access-primary-card{border-color:#e2d8d0;box-shadow:0 30px 80px rgba(75,55,43,.12)}
.access-divider{display:flex;align-items:center;gap:10px;color:#9b9088;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin:3px 0}.access-divider::before,.access-divider::after{content:"";height:1px;background:var(--studio-line);flex:1}.access-recovery summary{cursor:pointer;color:#8c5749;font-weight:800;font-size:.82rem;text-align:center;list-style:none}.access-recovery .details-form{margin-top:15px;padding-top:15px;border-top:1px solid var(--studio-line)}
.client-hub-page{background:#f5f1ed}.client-hub-hero{padding:130px 0 55px;background:linear-gradient(135deg,#241d1a,#4b3830);color:#fff}.client-hub-heading{display:flex;justify-content:space-between;gap:35px;align-items:end}.client-hub-heading h1{font-family:Georgia,serif;font-weight:400}.client-hub-heading>div:first-child p:last-child{color:#cfc2b9}.client-id-card{min-width:260px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);padding:18px;border-radius:16px;display:grid;gap:5px}.client-id-card small{color:#bfb2a9;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem}.client-id-card strong{font-size:1.25rem;letter-spacing:.08em}.client-id-card .btn{margin-top:8px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}.client-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.client-project-card{background:#fff;border:1px solid #e5ddd7;border-radius:17px;padding:20px;box-shadow:0 8px 25px rgba(65,47,37,.05)}.client-project-top,.client-project-foot,.client-project-money{display:flex;justify-content:space-between;gap:15px;align-items:center}.client-project-top small,.client-project-foot small{color:var(--muted)}.client-project-card h3{font-family:Georgia,serif;font-size:1.45rem;margin:20px 0 4px}.client-project-card>p{color:var(--muted)}.client-project-money{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:17px 0}.client-project-money>div{display:grid}.client-project-money small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.client-project-money strong{font-size:1.08rem}
.client-code-chip{border:1px solid var(--line);background:#faf7fb;border-radius:10px;padding:6px 9px;display:grid;gap:0;text-align:left;color:var(--ink)}.client-code-chip small{font-size:.55rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.client-code-chip strong{font-size:.72rem;letter-spacing:.05em}.new-order-welcome{background:#fff9ee;border-bottom:1px solid #eadac0}.new-order-welcome-inner{padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}.new-order-welcome h2{font-family:Georgia,serif;margin:0 0 5px}.new-order-welcome p{margin:0;color:#756758}.new-order-code{background:#fff;border:1px solid #e4d3bd;border-radius:13px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;min-width:290px}.new-order-code small{grid-column:1;color:#9a8067;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em}.new-order-code strong{letter-spacing:.08em;font-size:1.08rem}.new-order-code .btn{grid-row:1/3;grid-column:2}
.client-tabs{top:12px!important;border-radius:999px!important;padding:7px!important;width:max-content;max-width:100%;margin:0 auto 2px;background:rgba(255,255,255,.94)!important;box-shadow:0 10px 32px rgba(40,29,47,.1)!important}.client-tabs a{border:0!important;border-radius:999px!important;padding:8px 13px!important}.client-tabs a:hover{background:#efe7f5}.client-topbar{position:sticky;top:0;z-index:100}

/* Admin polish */
.admin-body{background:var(--admin-bg)}
.admin-sidebar{background:linear-gradient(180deg,#16181d,#20232a)}.admin-nav a:hover,.admin-nav a.active{background:rgba(255,255,255,.075)}.admin-nav a.active{box-shadow:inset 3px 0 #9b79ff}.admin-main{padding:30px 34px 60px}.admin-topbar{background:rgba(242,244,247,.88);backdrop-filter:blur(14px);position:sticky;top:0;z-index:40;margin:-30px -34px 26px;padding:22px 34px 16px;border-bottom:1px solid rgba(220,224,231,.8)}.admin-topbar h1{font-size:1.8rem}.admin-body .card{border-color:var(--admin-line);box-shadow:0 5px 20px rgba(16,24,40,.045);border-radius:14px}.admin-body input,.admin-body select,.admin-body textarea{border-color:#d7dce3;border-radius:9px}.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{border-color:#8362df;box-shadow:0 0 0 3px rgba(112,75,210,.09)}
.admin-intro-banner{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:26px 28px;margin-bottom:18px;border-radius:16px;background:linear-gradient(135deg,#24202c,#59437d);color:#fff;box-shadow:0 14px 38px rgba(49,37,65,.15)}.admin-intro-banner h2{font-size:1.55rem;margin:.15em 0}.admin-intro-banner p:not(.eyebrow){color:#d2c9dc;margin:0;max-width:760px}.admin-intro-banner .eyebrow{color:#bca7ff}.admin-editor-card{padding:26px}.backdrop-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.backdrop-editor{display:grid;gap:10px}.backdrop-preview{height:260px;border-radius:12px;overflow:hidden;background:#eef0f3;border:1px dashed #ccd1d8}.backdrop-preview img{width:100%;height:100%;object-fit:cover}.backdrop-empty{height:100%;display:grid;place-items:center;color:#8c939d;font-size:.85rem}.admin-save-bar{position:sticky;bottom:14px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#1e2025;color:#fff;padding:13px 14px 13px 18px;border-radius:13px;box-shadow:0 18px 45px rgba(18,21,27,.2)}.admin-save-bar span{color:#b7bdc7;font-size:.8rem}
.product-builder-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}.product-builder-head h2{font-size:2rem;margin:.15em 0}.product-builder-head p:last-child{color:var(--muted);margin:0}.product-builder-head-actions{display:flex;gap:9px}.back-link{font-size:.78rem;color:var(--muted);text-decoration:none}.product-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.builder-admin-card{padding:26px}.product-basics-grid{display:grid;grid-template-columns:245px 1fr;gap:25px}.builder-cover-editor img{aspect-ratio:4/5}.builder-cover-editor small{color:var(--muted);font-size:.72rem}.input-suffix{position:relative}.input-suffix input{padding-right:58px}.input-suffix span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.75rem}.toggle-grid{display:flex;gap:10px;flex-wrap:wrap}.admin-toggle{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--admin-line);border-radius:10px;background:#fbfcfd;font-size:.77rem}.admin-toggle input{display:none}.admin-toggle>span{width:30px;height:18px;border-radius:999px;background:#cdd2da;position:relative;transition:.15s}.admin-toggle>span::after{content:"";width:12px;height:12px;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.admin-toggle input:checked+span{background:#7254ca}.admin-toggle input:checked+span::after{left:15px}.admin-toggle b{font-weight:700}
.option-count-badge{padding:6px 10px;border-radius:999px;background:#f0ecfb;color:#6548ba;font-size:.72rem;font-weight:800}.option-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 0 22px}.option-preset-card button{width:100%;height:100%;border:1px dashed #cfd3db;background:#fafbfc;border-radius:12px;padding:14px;text-align:left;display:grid;gap:3px;color:var(--ink)}.option-preset-card button:hover{border-color:#8d73d2;background:#f8f5ff}.option-preset-card span{font-size:1.25rem;color:#7659c8}.option-preset-card strong{font-size:.82rem}.option-preset-card small{color:var(--muted);font-size:.68rem}.admin-option-stack{display:grid;gap:13px}.admin-option-card{border:1px solid var(--admin-line);border-radius:14px;background:#fff;overflow:hidden}.admin-option-card-head{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:16px 18px;background:#fbfcfd;border-bottom:1px solid var(--admin-line)}.option-order-number{width:34px;height:34px;border-radius:10px;background:#eee9fb;color:#684eb2;display:grid;place-items:center;font-weight:900;font-size:.8rem}.admin-option-card-head h3{margin:2px 0;font-size:1rem}.admin-option-card-head small,.admin-option-card-head p{color:var(--muted);margin:0;font-size:.72rem}.option-settings-drawer{padding:0 18px;border-bottom:1px solid var(--admin-line)}.option-settings-drawer summary{list-style:none;cursor:pointer;padding:11px 0;color:#655a70;font-size:.76rem;font-weight:800}.option-settings-drawer summary::before{content:"▸";margin-right:7px}.option-settings-drawer[open] summary::before{content:"▾"}.option-group-settings{padding:5px 0 18px}.choice-editor-list{padding:15px 18px 10px;display:grid;gap:8px}.choice-editor-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:3px}.choice-editor-heading small{color:var(--muted);font-size:.7rem}.choice-editor-row{display:grid;grid-template-columns:minmax(200px,1.6fr) 110px 100px 70px 65px 110px 58px;gap:7px;align-items:end;background:#f8f9fb;border:1px solid #edf0f3;border-radius:10px;padding:9px}.choice-main-fields{display:grid;grid-template-columns:.8fr 1.2fr;gap:6px}.choice-editor-row label{font-size:.62rem;color:var(--muted)}.choice-editor-row input,.choice-editor-row select{padding:8px;font-size:.75rem}.choice-flags{padding:0;display:grid;align-content:center;gap:2px;font-size:.67rem}.choice-flags label{display:flex;gap:5px;align-items:center;color:#5d6672}.choice-flags input{width:auto}.sold-flag{color:#a15e35!important}.choice-delete-form{height:0;position:relative}.choice-delete-form button{position:absolute;right:-8px;top:-48px;width:25px;height:25px;border:0;border-radius:50%;background:#fff0f0;color:#c84d55;font-weight:900}.add-choice-row{display:flex;gap:7px;margin-top:5px}.add-choice-row input{max-width:280px;padding:8px 10px}.text-option-preview{margin:14px 18px;padding:14px;background:#f8f6fb;border-radius:10px}.text-option-preview span{font-weight:800;font-size:.78rem}.text-option-preview p{margin:2px 0 0;color:var(--muted);font-size:.72rem}.delete-option-form{padding:0 18px 14px;text-align:right}.text-danger-button{border:0;background:transparent;color:#bd4651;font-size:.7rem;font-weight:800}.option-empty{text-align:center;padding:44px 20px;color:var(--muted)}.option-empty span{font-size:2rem;color:#7254ca}.option-empty h3{color:var(--ink);margin:9px 0 5px}.builder-readiness-card{top:94px}.readiness-cover{height:185px;border-radius:10px;overflow:hidden;background:#eee;margin:12px 0 15px}.readiness-cover img{width:100%;height:100%;object-fit:cover}.readiness-list{display:grid;margin:0 0 15px}.readiness-list>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--admin-line);padding:8px 0}.readiness-list dt{color:var(--muted);font-size:.72rem}.readiness-list dd{margin:0;font-size:.75rem;font-weight:800}.builder-readiness-card>p:last-child{margin-top:10px}

@media(max-width:1180px){
  .floating-site-nav{grid-template-columns:auto 1fr auto}.floating-site-nav .site-nav{display:none}.mobile-nav-toggle{display:block;justify-self:end;order:2}.persistent-actions{order:3}.product-builder-layout{grid-template-columns:1fr}.product-builder-sidebar{display:none}.choice-editor-row{grid-template-columns:1fr 105px 90px 75px}.choice-main-fields{grid-column:1/-1}.choice-flags{grid-column:auto}.option-preset-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .home-fixed-art{width:50%;min-width:0;opacity:.55}.home-fixed-vignette{background:rgba(19,15,12,.45)}.home-center-rail{width:min(670px,calc(100% - 30px))}.floating-site-nav{width:calc(100% - 20px)}.compact-brand small{display:none}.client-project-grid{grid-template-columns:1fr}.product-basics-grid{grid-template-columns:1fr}.builder-cover-editor{max-width:320px}.backdrop-editor-grid{grid-template-columns:1fr}.admin-topbar{margin:-22px -18px 22px;padding:18px}.admin-main{padding:22px 18px 45px}.product-builder-head{align-items:flex-start;flex-direction:column}.client-hub-heading{align-items:flex-start;flex-direction:column}.client-id-card{min-width:0;width:100%}
}
@media(max-width:700px){
  .floating-site-header{top:9px}.floating-site-nav{min-height:56px;border-radius:15px;padding:6px;grid-template-columns:auto 1fr auto}.floating-site-nav .site-brand{min-width:0}.floating-site-nav .site-brand>span:last-child{display:none}.floating-site-nav .brand-mark{width:38px;height:38px}.floating-site-nav .mobile-nav-toggle{display:none}.persistent-actions{justify-self:end}.persistent-action{min-height:39px;padding:7px 10px}.persistent-action span{display:none}.persistent-action b{font-size:.7rem}.public-body:not(.page-index) main{padding-top:70px}.home-center-rail{width:calc(100% - 20px)}.carrd-home{padding-top:79px}.home-rail-section{padding:58px 25px}.home-intro-card{padding-top:64px}.home-intro-card h1{font-size:clamp(2.7rem,15vw,4rem)}.rail-heading{align-items:flex-start;flex-direction:column}.rail-art-grid{grid-template-columns:1fr}.rail-art-item,.rail-art-item.item-1,.rail-art-item.item-4{grid-column:auto;aspect-ratio:4/3}.page-index .site-footer{width:calc(100% - 20px)}.page-index .site-footer .container{width:calc(100% - 42px)}.page-index .footer-grid{grid-template-columns:1fr}.new-order-welcome-inner{align-items:flex-start;flex-direction:column}.new-order-code{width:100%;min-width:0}.client-topbar-inner{align-items:flex-start;padding:10px 0}.client-meta{flex-wrap:wrap;justify-content:flex-end}.client-code-chip{order:4}.client-hub-hero{padding-top:105px}.client-project-foot{align-items:flex-start;flex-direction:column}.client-project-foot .btn{width:100%}.option-preset-grid{grid-template-columns:1fr 1fr}.choice-editor-row{grid-template-columns:1fr 1fr}.choice-main-fields{grid-column:1/-1;grid-template-columns:1fr}.choice-editor-row>.btn{width:100%}.admin-intro-banner{align-items:flex-start;flex-direction:column}.admin-intro-banner .btn{width:100%}.admin-save-bar{align-items:stretch;flex-direction:column}.admin-save-bar .btn{width:100%}.top-actions .btn-soft{display:none}
}
@media(max-width:500px){.option-preset-grid{grid-template-columns:1fr}.choice-editor-row{grid-template-columns:1fr}.choice-scope-field,.choice-stock-field,.choice-price-field,.choice-flags{grid-column:1}.page-index .footer-bottom{gap:8px}.home-fixed-art-left{display:none}.home-fixed-art-right{width:100%;opacity:.42}}
@media(max-width:1180px) and (min-width:701px){
  .floating-site-nav .site-nav.open{display:flex;position:absolute;top:70px;left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 36px));padding:10px;background:rgba(255,253,249,.98);border:1px solid var(--studio-line);border-radius:14px;box-shadow:0 18px 45px rgba(40,31,25,.14);flex-direction:column;align-items:stretch}.floating-site-nav .site-nav.open a{text-align:center}
}


/* v5.0.2 — client portal cleanup & QOL */
.client-body section[id]{scroll-margin-top:145px}
.client-hero-actions .btn{min-width:150px}
.btn-hero-secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff;backdrop-filter:blur(8px)}
.btn-hero-secondary:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5)}
.client-tabs{top:76px!important;z-index:90!important}
.client-tabs a.active{background:#24182d!important;color:#fff!important;box-shadow:0 4px 12px rgba(36,24,45,.14)}
.payment-panel-head p{margin-bottom:0;color:#cfc3d8}.payment-panel-head p strong{color:#fff}
.milestone-head{align-items:flex-start}
.milestone-head .milestone-title{display:grid;gap:3px;min-width:0}
.milestone-head .milestone-title strong{line-height:1.25}
.milestone-head .milestone-title small{display:block;color:var(--muted);font-size:.75rem;line-height:1.35}
.milestone-head .milestone-amount{white-space:nowrap;line-height:1.25}
.checkout-unavailable{display:grid;gap:7px;padding:12px;border-radius:10px;background:#faf7fb;border:1px solid var(--line)}
.checkout-unavailable p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}
.checkout-unavailable .btn{margin-top:3px}
.client-sidebar .payment-panel{box-shadow:0 18px 48px rgba(35,27,43,.1)}
.new-order-code strong,.client-code-chip strong{font-variant-numeric:tabular-nums}
@media(max-width:980px){.client-tabs{top:72px!important}.client-body section[id]{scroll-margin-top:135px}}
@media(max-width:680px){.client-tabs{top:66px!important;width:auto!important;margin-inline:-18px!important;border-radius:0!important}.client-hero-actions .btn{width:100%;min-width:0}.client-body section[id]{scroll-margin-top:125px}.milestone-head{gap:8px}}

/* ==========================================================
   v5.1 — Elegant editorial studio homepage
   Inspired by Jordan's supplied warm ivory / olive reference.
   ========================================================== */
:root{
  --jha-page-bg:#d9d3c8;
  --jha-ivory:#f6f1e7;
  --jha-paper:#fbf8f0;
  --jha-paper-2:#eee8dc;
  --jha-olive:#657150;
  --jha-olive-dark:#4e5b3d;
  --jha-olive-soft:#899078;
  --jha-ink:#36342e;
  --jha-muted:#777267;
  --jha-line:#d9d1c2;
  --jha-warm:#e8dfd1;
  --jha-shadow:0 24px 80px rgba(58,48,35,.13);
}

.public-body{background:var(--jha-page-bg);color:var(--jha-ink)}
.page-index{background:var(--jha-page-bg)}
.page-index .flash{position:relative;z-index:500;margin:0 auto;width:min(1180px,100%)}

/* Header */
.elegant-site-header{position:sticky;top:0;z-index:450;width:min(1180px,100%);margin:0 auto;background:var(--jha-paper);border:0;border-bottom:1px solid rgba(92,82,65,.12);backdrop-filter:blur(14px);box-shadow:0 2px 15px rgba(53,45,34,.04)}
.elegant-site-nav{height:86px;padding:0 44px;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:24px}
.elegant-brand{height:65px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-decoration:none;color:var(--jha-ink);line-height:.82}
.elegant-brand img{max-width:150px;max-height:60px;object-fit:contain;object-position:left center}
.elegant-brand-kicker{font-size:.62rem;letter-spacing:.27em;text-transform:uppercase;margin:0 0 1px 31px;color:#50564a}
.elegant-brand strong{font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive;font-size:2rem;font-weight:500;transform:rotate(-4deg);white-space:nowrap}
.elegant-nav-links{display:flex!important;justify-content:flex-end;align-items:center;gap:29px}
.elegant-nav-links a{padding:0!important;border:0!important;background:none!important;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.67rem;font-weight:800;color:#595950!important;white-space:nowrap;position:relative}
.elegant-nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--jha-olive);transition:right .2s ease}
.elegant-nav-links a:hover::after,.elegant-nav-links a.active::after{right:0}
.elegant-order-button{margin-left:5px;display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 24px;border-radius:999px;background:var(--jha-olive);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:850;white-space:nowrap;transition:.18s ease}
.elegant-order-button:hover{background:var(--jha-olive-dark);transform:translateY(-1px)}
.elegant-mobile-toggle{display:none!important;border:0;background:transparent;color:var(--jha-ink);font-size:1.35rem}

/* Home paper */
.studio-home-shell{width:min(1180px,100%);margin:0 auto;background:var(--jha-paper);box-shadow:var(--jha-shadow);overflow:hidden}
.studio-announcement{text-align:center;padding:8px 20px;background:var(--jha-olive);color:#fff;font-size:.73rem;letter-spacing:.06em}
.studio-eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.17em;font-size:.66rem;font-weight:850;color:var(--jha-olive)}
.studio-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 30px;border:0;border-radius:3px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;font-weight:850;transition:.18s ease;cursor:pointer}
.studio-button-primary{background:var(--jha-olive);color:#fff}
.studio-button-primary:hover{background:var(--jha-olive-dark);transform:translateY(-1px)}
.studio-text-link{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--jha-olive-dark);text-decoration:none}
.studio-text-link span{padding-left:5px}

/* Hero */
.studio-hero{min-height:590px;display:grid;grid-template-columns:45% 55%;background:linear-gradient(135deg,var(--jha-ivory),var(--jha-paper-2))}
.studio-hero-copy{padding:88px 62px 72px 96px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.studio-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,5vw,4.55rem);font-weight:400;line-height:.99;letter-spacing:-.035em;margin:0;color:var(--jha-ink);max-width:470px}
.studio-flourish{font-family:Georgia,serif;color:var(--jha-olive);font-size:2.25rem;line-height:1;margin:20px 0 10px;transform:rotate(-11deg)}
.studio-hero-lead{max-width:410px;margin:0 0 26px;color:var(--jha-muted);font-family:Georgia,serif;font-size:1.02rem;line-height:1.7}
.studio-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.studio-hero-art{position:relative;min-height:590px;background:#d8d0c2;overflow:hidden}
.studio-hero-art::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(246,241,231,.12),transparent 25%),linear-gradient(180deg,transparent 65%,rgba(48,43,34,.08))}
.studio-hero-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.94) contrast(.98)}
.studio-art-caption{position:absolute;right:18px;bottom:14px;z-index:2;background:rgba(250,247,239,.84);backdrop-filter:blur(8px);padding:6px 10px;color:#696358;font-family:Georgia,serif;font-style:italic;font-size:.72rem}

/* About */
.studio-about{display:grid;grid-template-columns:47% 53%;min-height:480px;background:var(--jha-paper-2);border-top:1px solid rgba(96,83,63,.08);border-bottom:1px solid rgba(96,83,63,.09)}
.studio-about-photo{padding:44px 24px 44px 96px;display:flex;align-items:stretch}
.studio-about-photo img{width:100%;min-height:365px;object-fit:cover;box-shadow:0 10px 30px rgba(72,60,44,.08)}
.studio-about-copy{padding:60px 86px 48px 58px;display:flex;flex-direction:column;justify-content:center}
.studio-about h2,.studio-order h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.3rem,4vw,3.4rem);letter-spacing:-.025em;margin:0;color:var(--jha-ink)}
.studio-rule{width:36px;height:1px;background:var(--jha-olive);margin:18px 0}
.studio-body-copy{font-family:Georgia,serif;color:var(--jha-muted);line-height:1.75;font-size:.96rem;max-width:520px}
.studio-values{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:32px}
.studio-value{text-align:center;color:#616755}
.studio-value svg{width:34px;height:34px;margin:0 auto 8px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.studio-value strong{display:block;font-size:.58rem;letter-spacing:.12em;line-height:1.35}
.studio-value span{display:block;color:#8b867c;font-size:.62rem;margin-top:4px}

/* Gallery */
.studio-gallery{padding:54px 86px 50px;background:var(--jha-paper);text-align:center}
.studio-section-heading{text-align:center;margin-bottom:26px}
.studio-section-heading .studio-eyebrow{margin-bottom:0}.studio-section-heading h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--jha-ink);margin:8px 0 5px}.studio-section-intro{max-width:620px;margin:8px auto 0!important;color:var(--jha-muted);font-family:Georgia,serif;font-size:.88rem;line-height:1.65}
.studio-heading-flourish{color:var(--jha-olive);font-family:Georgia,serif;font-size:1.5rem;line-height:1;margin-top:4px}
.studio-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0 auto 27px}
.studio-gallery-card{margin:0;min-width:0}
.studio-gallery-card a{display:block;overflow:hidden;background:#ece5da;aspect-ratio:4/4.7}
.studio-gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease;filter:saturate(.95)}
.studio-gallery-card:hover img{transform:scale(1.025);filter:saturate(1.03)}
.studio-gallery-card figcaption{font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive;font-size:1.2rem;color:#787269;margin-top:7px;line-height:1}
.studio-centered-button{margin:0 auto}
.studio-empty-gallery{border:1px dashed var(--jha-line);background:#fff;padding:30px;color:var(--jha-muted);font-size:.85rem}

/* Process */
.studio-process{padding:46px 78px 56px;background:var(--jha-ivory);border-top:1px solid rgba(96,83,63,.08);border-bottom:1px solid rgba(96,83,63,.08)}
.studio-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.studio-process-step{text-align:center;color:#68685c}
.studio-process-step svg{width:54px;height:54px;margin:0 auto 17px;fill:none;stroke:var(--jha-olive);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.studio-process-step strong{display:block;font-size:.62rem;letter-spacing:.11em;color:#535748;margin-bottom:9px}
.studio-process-step p{font-family:Georgia,serif;font-size:.78rem;line-height:1.6;color:#7c776d;margin:0 auto;max-width:190px}

/* Home order form */
.studio-order{display:grid;grid-template-columns:39% 61%;background:var(--jha-paper-2)}
.studio-order-intro{padding:66px 54px 66px 88px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;border-right:1px solid rgba(96,83,63,.12)}
.studio-order-intro h2{font-size:clamp(2rem,3.2vw,3.15rem);line-height:1.05}
.studio-order-intro>p:not(.studio-eyebrow){font-family:Georgia,serif;color:#777167;line-height:1.65;font-size:.9rem;max-width:300px}
.studio-order-branch{color:var(--jha-olive);font-size:3.3rem;line-height:.75;margin:20px 0;transform:rotate(-14deg)}
.studio-order-contact{display:grid;gap:5px;font-size:.7rem;color:#777168}
.studio-order-contact strong{color:#56594d;text-transform:uppercase;letter-spacing:.09em;font-size:.62rem}
.studio-order-contact a{color:var(--jha-olive-dark);font-weight:750}
.studio-order-form-wrap{padding:56px 72px;background:var(--jha-ivory);display:flex;align-items:center}
.studio-order-form{width:100%}
.studio-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px}
.studio-order-form .form-group{margin:0}
.studio-order-form .form-group.full{grid-column:1/-1}
.studio-order-form label{display:block;margin:0 0 5px;font-size:.63rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#66675d}
.studio-order-form label span{font-weight:500;color:#999287;text-transform:none;letter-spacing:0}
.studio-order-form input,.studio-order-form select,.studio-order-form textarea{width:100%;border:1px solid #d8d0c2!important;border-radius:2px!important;background:#fffdf8!important;box-shadow:none!important;padding:11px 12px!important;min-height:42px;color:#403d37}
.studio-order-form textarea{min-height:86px;resize:vertical}
.studio-order-form input:focus,.studio-order-form select:focus,.studio-order-form textarea:focus{outline:none;border-color:var(--jha-olive)!important;box-shadow:0 0 0 2px rgba(101,113,80,.11)!important}
.studio-form-note{margin:13px 0;color:#8a8478;font-size:.67rem}
.studio-submit{width:100%;min-height:46px}

/* Footer */
.elegant-footer{width:min(1180px,100%);margin:0 auto;background:var(--jha-olive)!important;color:#fff!important;padding:19px 40px!important;border:0!important}
.elegant-footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:40px}
.elegant-socials{display:flex;gap:9px}
.elegant-socials a{width:31px;height:31px;border-radius:50%;border:1px solid rgba(255,255,255,.72);display:grid;place-items:center;color:#fff;transition:.18s}
.elegant-socials a:hover{background:#fff;color:var(--jha-olive)}
.elegant-socials svg{width:16px;height:16px;fill:currentColor;stroke:currentColor;stroke-width:1.6}
.elegant-socials svg rect,.elegant-socials svg circle:not(.fill-dot){fill:none}
.elegant-footer-copy{font-size:.63rem;opacity:.9;text-align:center}
.elegant-footer-links{justify-self:end;display:flex;gap:14px}
.elegant-footer-links a{color:#fff;text-decoration:none;font-size:.61rem;opacity:.82}
.elegant-footer-links a:hover{opacity:1;text-decoration:underline}

/* Keep public subpages aligned with the new sticky header without affecting admin/client. */
.public-body:not(.page-index)>.site-header+main,.public-body:not(.page-index)>.flash+main{padding-top:0}
.public-body:not(.page-index) .site-footer{margin-top:0}

/* Website editor additions */
.elegant-admin-banner{background:linear-gradient(135deg,#fffdf8,#f1ecdf)!important;border-color:#ddd4c5!important}
.site-brand-editor-grid{display:grid;grid-template-columns:280px 1fr;gap:26px;align-items:start}
.site-image-editor{display:grid;gap:11px;align-content:start}
.site-image-preview{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f4f0e8;min-height:240px;display:grid;place-items:center}
.site-image-preview img{width:100%;height:100%;max-height:390px;object-fit:cover}
.compact-site-image-editor .site-image-preview{min-height:150px}
.logo-preview img{object-fit:contain;padding:24px;background:var(--jha-paper)}
.generated-logo-preview{padding:30px;text-align:center;line-height:.85;color:#4e4d45}.generated-logo-preview small{display:block;text-transform:uppercase;letter-spacing:.25em;font-size:.65rem}.generated-logo-preview strong{font-family:"Segoe Script","Brush Script MT",cursive;font-size:2rem;font-weight:500}
.hero-site-preview{aspect-ratio:4/3}.about-site-preview{aspect-ratio:4/3}
.site-value-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.site-value-card{border:1px solid var(--line);border-radius:12px;padding:13px;background:#faf9fb;display:grid;gap:8px}.site-value-card label{font-weight:800;font-size:.72rem}.site-value-card input{min-width:0}


/* v5.2 Website editor / backups / logs */
.site-editor-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;position:sticky;top:10px;z-index:25;background:#f5f3f7;padding:8px 0}
.site-editor-tabs a{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;font-size:.78rem;font-weight:750;color:var(--muted)}
.site-editor-tabs a:hover{color:var(--purple);border-color:#cdbef8}
.editor-section-anchor{scroll-margin-top:90px}
.editor-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.editor-copy-grid .wide{grid-column:1/-1}
.editor-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.editor-color-field{border:1px solid var(--line);background:#faf9fb;border-radius:12px;padding:11px;display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center}
.editor-color-field input[type=color]{width:42px;height:42px;padding:2px;border-radius:8px}.editor-color-field input[type=text]{min-width:0}
.admin-save-bar{position:sticky;bottom:14px;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:16px;background:rgba(21,16,28,.95);color:#fff;border-radius:14px;padding:12px 14px 12px 18px;box-shadow:0 18px 45px rgba(26,18,33,.22);backdrop-filter:blur(12px)}
.backup-intro-banner{display:flex;align-items:center;justify-content:space-between;gap:25px}.backup-safety-badge{min-width:94px;min-height:94px;border-radius:50%;display:grid;place-items:center;background:#e8f7f1;color:#16825d;font-weight:900;letter-spacing:.08em;border:1px solid #bfe7d7}
.backup-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.6fr);gap:18px;margin-top:18px;align-items:start}.backup-list{display:grid;gap:10px}.backup-row{display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff}.backup-row.is-locked{background:#fffdf7;border-color:#ead7a8}.backup-icon{width:42px;height:42px;border-radius:11px;background:var(--purple-soft);display:grid;place-items:center;font-weight:900}.backup-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.backup-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.74rem;margin:4px 0}.backup-main small{color:var(--subtle)}.backup-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.backup-actions form{margin:0}.backup-exclusion-list{display:grid;gap:8px;color:var(--muted);font-size:.85rem}.backup-exclusion-list span::first-letter{color:var(--green)}.code-box{background:#17121d;color:#e8dded;border-radius:9px;padding:11px 12px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto;white-space:nowrap;margin:8px 0}.admin-dialog{border:0;border-radius:16px;max-width:520px;width:calc(100% - 30px);padding:24px;box-shadow:0 35px 100px rgba(22,14,29,.3)}.admin-dialog::backdrop{background:rgba(18,13,23,.55);backdrop-filter:blur(3px)}
.log-filter-bar{display:grid;grid-template-columns:190px 1fr auto auto;gap:9px;margin-bottom:14px}.system-log-view{background:#15101c;color:#d9cfe0;border-radius:11px;padding:14px;max-height:520px;overflow:auto;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.system-log-view>div{padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);overflow-wrap:anywhere}.policy-content h2{margin-top:1.45em}.policy-content p{color:var(--muted);line-height:1.8}.policy-bullet{padding-left:12px}
@media(max-width:1050px){.backup-layout{grid-template-columns:1fr}.editor-color-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.editor-copy-grid,.editor-color-grid{grid-template-columns:1fr}.editor-copy-grid .wide{grid-column:auto}.backup-row{grid-template-columns:40px 1fr}.backup-actions{grid-column:1/-1;justify-content:flex-start}.log-filter-bar{grid-template-columns:1fr}.admin-save-bar{position:static;align-items:stretch;flex-direction:column}.backup-intro-banner{align-items:flex-start}.backup-safety-badge{min-width:72px;min-height:72px;font-size:.72rem}}

@media(max-width:1050px){
  .elegant-site-nav{padding:0 24px;grid-template-columns:160px 1fr auto;gap:15px}.elegant-nav-links{gap:17px}.elegant-nav-links a{font-size:.61rem}.elegant-order-button{padding:0 18px}
  .studio-hero-copy{padding-left:62px}.studio-about-photo{padding-left:60px}.studio-about-copy{padding-right:55px}.studio-order-intro{padding-left:55px}.studio-order-form-wrap{padding-right:50px;padding-left:50px}
}

@media(max-width:860px){
  .elegant-site-nav{height:72px;grid-template-columns:1fr auto auto;padding:0 18px}.elegant-brand{height:60px}.elegant-brand strong{font-size:1.65rem}.elegant-brand-kicker{font-size:.52rem;margin-left:24px}
  .elegant-mobile-toggle{display:block!important;order:2}.elegant-order-button{order:3;min-height:36px;padding:0 14px;font-size:.57rem}.elegant-nav-links{display:none!important}.elegant-nav-links.open{display:flex!important;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:9px 18px 15px;background:#fbf8f0;border-bottom:1px solid var(--jha-line);box-shadow:0 12px 25px rgba(50,43,34,.09)}.elegant-nav-links.open a{padding:12px 7px!important;text-align:center;border-bottom:1px solid #ebe5d9!important}
  .studio-hero{grid-template-columns:1fr}.studio-hero-copy{padding:65px 55px;text-align:center;align-items:center}.studio-hero h1{max-width:650px}.studio-hero-art{min-height:520px}.studio-about{grid-template-columns:1fr}.studio-about-photo{padding:48px 55px 0}.studio-about-copy{padding:45px 55px 55px;text-align:center;align-items:center}.studio-values{width:100%;max-width:600px}.studio-gallery{padding:50px 45px}.studio-gallery-grid{grid-template-columns:repeat(2,1fr)}.studio-process{padding:48px 45px}.studio-process-grid{grid-template-columns:repeat(2,1fr);row-gap:42px}.studio-order{grid-template-columns:1fr}.studio-order-intro{padding:55px;border-right:0;border-bottom:1px solid rgba(96,83,63,.12)}.studio-order-form-wrap{padding:48px 55px}.elegant-footer-inner{grid-template-columns:1fr;justify-items:center}.elegant-footer-links{justify-self:center}.site-brand-editor-grid,.site-feature-editor{grid-template-columns:1fr!important}.site-value-editor{grid-template-columns:1fr}
}

@media(max-width:560px){
  .public-body,.page-index{background:var(--jha-paper)}.elegant-site-header{width:100%}.elegant-site-nav{padding:0 12px;grid-template-columns:1fr auto auto;gap:8px}.elegant-brand strong{font-size:1.35rem}.elegant-brand-kicker{display:none}.elegant-order-button{padding:0 10px}.studio-home-shell{width:100%;box-shadow:none}
  .studio-hero-copy{padding:55px 26px}.studio-hero h1{font-size:clamp(2.6rem,12vw,3.5rem)}.studio-hero-art{min-height:410px}.studio-about-photo{padding:35px 24px 0}.studio-about-copy{padding:38px 25px 46px}.studio-values{grid-template-columns:1fr;gap:23px}.studio-value span{font-size:.68rem}.studio-gallery{padding:45px 22px}.studio-gallery-grid{gap:12px}.studio-gallery-card figcaption{font-size:1rem}.studio-process{padding:42px 24px}.studio-process-grid{grid-template-columns:1fr 1fr;gap:34px 17px}.studio-process-step p{font-size:.72rem}.studio-order-intro{padding:48px 25px}.studio-order-form-wrap{padding:38px 22px}.studio-form-grid{grid-template-columns:1fr}.studio-order-form .form-group.full{grid-column:auto}.elegant-footer{padding:20px!important}.elegant-footer-links{gap:10px;flex-wrap:wrap;justify-content:center}
}
.page-index .site-footer.elegant-footer{width:min(1180px,100%);margin:0 auto;background:var(--jha-olive)!important;padding:19px 40px!important}


/* v5.3 public-flow polish: clear ordering, direct contact, all-ages readability */
.footer-contact-line{margin-top:5px;font-size:.72rem;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;align-items:center}.footer-contact-line span{opacity:.82}.footer-contact-line a{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px}.order-reassurance{margin:14px 0 16px;padding:13px 15px;border:1px solid rgba(101,113,80,.22);background:rgba(101,113,80,.07);display:grid;gap:4px;border-radius:7px}.order-reassurance strong{font-family:var(--sans);font-size:.74rem;letter-spacing:.04em;color:var(--jha-olive-dark)}.order-reassurance span{font-size:.73rem;line-height:1.55;color:var(--jha-muted)}.store-reassurance{display:inline-flex;margin-top:15px;padding:9px 13px;border:1px solid rgba(101,113,80,.24);background:rgba(255,255,255,.45);border-radius:999px;color:var(--jha-olive-dark);font-size:.78rem;font-weight:700;line-height:1.35}.simple-contact-page{min-height:calc(100vh - 190px);display:grid;place-items:center;padding:70px 22px;background:var(--jha-paper)}.simple-contact-card{width:min(650px,100%);text-align:center;padding:48px 42px;border:1px solid var(--jha-line);background:var(--jha-ivory);box-shadow:0 18px 60px rgba(64,55,43,.07)}.simple-contact-card h1{font-family:var(--serif);font-size:clamp(2.2rem,6vw,3.4rem);margin:7px 0 14px;color:var(--jha-ink)}.simple-contact-card>p{max-width:560px;margin:0 auto;color:var(--jha-muted);line-height:1.75}.simple-contact-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:28px 0}.simple-contact-email{display:grid;gap:5px;margin-top:25px;padding-top:22px;border-top:1px solid var(--jha-line)}.simple-contact-email span{font-size:.65rem;letter-spacing:.16em;font-weight:800;color:var(--jha-muted)}.simple-contact-email a{font-size:1.05rem;font-weight:800;color:var(--jha-olive-dark);word-break:break-word}.simple-contact-note{font-size:.76rem!important;margin-top:13px!important}.elegant-nav-links a,.elegant-order-button,.studio-button{touch-action:manipulation}.studio-order-form input,.studio-order-form select,.studio-order-form textarea,.order-builder-form input,.order-builder-form select,.order-builder-form textarea{font-size:16px}.studio-order-form label,.order-builder-form label,.builder-option-group legend{line-height:1.35}.studio-form-note{line-height:1.55}.elegant-footer-copy{line-height:1.55}
@media(max-width:560px){.simple-contact-card{padding:36px 22px}.simple-contact-actions{flex-direction:column}.simple-contact-actions .btn{width:100%;justify-content:center}.store-reassurance{border-radius:8px}.footer-contact-line{font-size:.76rem}}

/* ==========================================================
   v5.4 — Production polish
   Floating navigation, quieter copy, tighter admin/client UI.
   ========================================================== */

/* Accessible focus states across the public, client, and admin UI. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid rgba(101,113,80,.38);outline-offset:3px
}

/* Public navigation: transparent header + independently floating controls. */
.elegant-site-header{
  position:sticky;top:12px;z-index:900;width:100%;margin:0;background:transparent!important;
  border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0 0 2px;
  pointer-events:none
}
.elegant-site-nav{
  width:min(1260px,calc(100% - 30px));height:auto;min-height:64px;margin:0 auto;padding:0;
  grid-template-columns:auto 1fr auto;gap:13px;pointer-events:none
}
.elegant-brand,.elegant-nav-links,.elegant-order-button,.elegant-mobile-toggle{pointer-events:auto}
.elegant-brand{
  min-width:190px;height:64px;padding:8px 18px;border:1px solid rgba(98,89,73,.16);border-radius:18px;
  background:rgba(251,248,240,.86);backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);box-shadow:0 10px 30px rgba(50,43,34,.09)
}
.elegant-brand img{max-height:48px}
.elegant-nav-links{justify-content:center!important;gap:7px!important;min-width:0}
.elegant-nav-links a{
  padding:11px 14px!important;border:1px solid rgba(98,89,73,.14)!important;border-radius:999px!important;
  background:rgba(251,248,240,.84)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 8px 22px rgba(50,43,34,.075);transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease!important
}
.elegant-nav-links a::after{display:none!important}
.elegant-nav-links a:hover{transform:translateY(-2px);background:rgba(255,253,247,.97)!important;box-shadow:0 12px 28px rgba(50,43,34,.12)}
.elegant-nav-links a.active{background:var(--jha-olive)!important;color:#fff!important;border-color:var(--jha-olive)!important;box-shadow:0 10px 26px rgba(78,91,61,.22)}
.elegant-order-button{
  min-height:48px;margin:0;padding:0 23px;border:1px solid rgba(58,69,44,.16);box-shadow:0 12px 28px rgba(65,76,51,.22)
}
.elegant-order-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(65,76,51,.28)}
.elegant-site-header.is-scrolled .elegant-brand,
.elegant-site-header.is-scrolled .elegant-nav-links a{background:rgba(251,248,240,.94)!important;box-shadow:0 12px 30px rgba(50,43,34,.12)}
.elegant-site-header.is-scrolled .elegant-nav-links a.active{background:var(--jha-olive)!important}

/* Keep anchored sections from disappearing beneath the floating nav. */
.public-body [id]{scroll-margin-top:96px}

/* Homepage copy gets a little more breathing room, but fewer explainer boxes. */
.studio-form-note{margin:13px 0 16px;color:var(--jha-muted);font-size:.72rem;text-align:left}
.order-reassurance{display:none!important}
.store-reassurance{padding:7px 11px;font-size:.73rem;font-weight:650}
.studio-order-contact{margin-top:18px}

/* Client UI: floating top bar, lighter hierarchy, fewer decorative labels. */
.floating-client-topbar{
  position:sticky;top:8px;z-index:700;background:transparent!important;border:0!important;padding:7px 0;box-shadow:none!important
}
.floating-client-topbar .client-topbar-inner{
  width:min(1180px,calc(100% - 28px));min-height:62px;padding:7px 12px;border-radius:18px;
  background:rgba(255,255,255,.91);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);
  border:1px solid rgba(62,52,70,.10);box-shadow:0 12px 32px rgba(35,27,43,.10)
}
.floating-client-topbar .site-brand{gap:9px}.floating-client-topbar .brand-mark{width:38px;height:38px;border-radius:12px}
.floating-client-topbar .site-brand small{margin-top:1px}
.client-tabs{top:86px!important}
.client-body section[id]{scroll-margin-top:150px}
.client-invoice-kicker{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.66);font-weight:800;margin-bottom:8px}
.new-order-welcome .eyebrow{display:none}.new-order-welcome h2{margin-top:0}
.client-content .card-header .eyebrow,.client-sidebar .eyebrow{display:none}
.client-content .card-header h2{margin:0}
.client-sidebar>.card>h3{margin-top:0}
.help-card p{margin:.35rem 0 1rem}.help-card h3{margin-bottom:0}
.checkout-unavailable{gap:10px}.checkout-unavailable p{display:none}
.payment-panel-head h2{margin-top:0}

/* Client access is intentionally simple: title + sign-in, not a marketing page. */
.access-grid-v5{grid-template-columns:minmax(260px,.78fr) minmax(360px,1fr);align-items:center}
.access-grid-v5 .access-copy{max-width:500px}
.access-grid-v5 .access-copy h1{font-size:clamp(2.8rem,5vw,4.8rem);line-height:.98}
.access-grid-v5 .access-copy .lead{max-width:430px}
.access-grid-v5 .feature-stack{display:none!important}
.access-primary-card{box-shadow:0 20px 60px rgba(35,27,43,.10)}

/* Admin: compact workspace chrome, less tutorial-like decoration. */
.admin-main{padding-top:22px}
.admin-topbar{
  min-height:68px;margin:-12px -14px 24px;padding:10px 14px 10px 18px;border:1px solid rgba(213,218,226,.9)!important;
  border-radius:16px;background:rgba(247,248,250,.92)!important;box-shadow:0 8px 24px rgba(16,24,40,.055);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
.admin-topbar h1{font-size:1.55rem;letter-spacing:-.02em}.admin-topbar .eyebrow{display:none}
.admin-topbar .top-actions{gap:7px}.admin-topbar .top-actions .btn{min-height:39px}
.admin-body .card-subtitle{line-height:1.5}
.admin-intro-banner.elegant-admin-banner{display:none!important}
.site-editor-tabs{top:84px!important}

/* Website editor gains a simple, searchable toolbar without another giant banner. */
.editor-production-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:12px 14px;
  background:#fff;border:1px solid var(--admin-line);border-radius:14px;box-shadow:0 5px 18px rgba(16,24,40,.04)
}
.editor-production-toolbar .editor-search{flex:1;max-width:460px;position:relative}
.editor-production-toolbar input{width:100%;padding-left:36px}
.editor-production-toolbar .editor-search::before{content:"⌕";position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#7d8490;font-size:1.05rem}
.editor-production-toolbar .flex{margin-left:auto}
.admin-editor-card.editor-filter-hidden{display:none!important}
.admin-editor-card .card-header{margin-bottom:18px}
.admin-editor-card .card-header .eyebrow{font-size:.65rem;opacity:.72}
.admin-save-bar span{max-width:700px}

/* Login should look like a finished product, not a test environment. */
.production-login .login-art-inner{max-width:520px}
.production-login .login-wordmark{font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive;font-size:3rem;color:#fff;text-decoration:none}
.production-login .login-art h1{font-size:clamp(3rem,7vw,5.5rem);margin:.1em 0 0}
.production-login .login-card>h2{margin-top:30px}
.production-login .login-card .site-brand small{display:none}

/* Reduced motion and stronger mobile touch targets. */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:1080px){
  .elegant-site-nav{width:calc(100% - 22px);gap:9px}.elegant-brand{min-width:160px;padding-inline:14px}
  .elegant-nav-links a{padding:10px 10px!important;font-size:.59rem}.elegant-nav-links{gap:5px!important}.elegant-order-button{padding:0 17px}
}
@media(max-width:860px){
  .elegant-site-header{top:8px}.elegant-site-nav{grid-template-columns:1fr auto auto;min-height:58px}
  .elegant-brand{height:58px;min-width:0;width:max-content;max-width:100%;padding:6px 13px;border-radius:16px}
  .elegant-brand strong{font-size:1.55rem}.elegant-brand-kicker{font-size:.48rem;margin-left:22px}
  .elegant-mobile-toggle{display:grid!important;place-items:center;width:46px;height:46px;border-radius:15px!important;background:rgba(251,248,240,.92)!important;border:1px solid rgba(98,89,73,.15)!important;box-shadow:0 9px 24px rgba(50,43,34,.09)}
  .elegant-order-button{min-height:46px;border-radius:15px;padding:0 14px}
  .elegant-nav-links.open{display:flex!important;position:absolute;top:67px;left:11px;right:11px;padding:8px;gap:6px!important;border:1px solid rgba(98,89,73,.14);border-radius:18px;background:rgba(251,248,240,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 18px 45px rgba(50,43,34,.15)}
  .elegant-nav-links.open a{padding:12px 14px!important;border:0!important;box-shadow:none;text-align:left;background:transparent!important}
  .elegant-nav-links.open a.active{background:var(--jha-olive)!important;color:#fff!important}
  .access-grid-v5{grid-template-columns:1fr;gap:24px}.access-grid-v5 .access-copy{text-align:center;margin-inline:auto}.access-grid-v5 .access-copy .lead{margin-inline:auto}
  .client-tabs{top:82px!important}
  .editor-production-toolbar{align-items:stretch;flex-direction:column}.editor-production-toolbar .editor-search{max-width:none}.editor-production-toolbar .flex{margin-left:0}
}
@media(max-width:560px){
  .elegant-site-nav{width:calc(100% - 14px);gap:6px}.elegant-brand{padding:6px 10px}.elegant-brand strong{font-size:1.3rem}.elegant-brand-kicker{display:none}
  .elegant-order-button{padding:0 10px;font-size:.55rem}.elegant-mobile-toggle{width:42px;height:42px}.elegant-order-button{min-height:42px}
  .floating-client-topbar .client-topbar-inner{width:calc(100% - 14px);padding:7px 9px}.client-tabs{top:78px!important}
  .client-body section[id]{scroll-margin-top:138px}
  .admin-topbar{margin:-10px -6px 20px;padding:10px}.admin-topbar .top-actions{width:100%;overflow:auto;padding-bottom:2px}.admin-topbar .top-actions .btn{white-space:nowrap}
}

/* ==========================================================
   v5.5 — Editorial layout + scroll-pinned navigation
   Header behaves like a newspaper masthead/navigation: quiet
   at page top, compact backed bar once the visitor scrolls.
   Homepage sections blend together instead of reading as one
   rigid, boxed vertical column.
   ========================================================== */

/* Public canvas: keep a centered editorial measure without a visible "card" edge. */
.public-body,
.page-index{
  background:var(--jha-paper);
}
.page-index .flash{
  width:min(1360px,calc(100% - 52px));
}
.studio-home-shell{
  width:min(1360px,calc(100% - 52px));
  margin:0 auto;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

/* Masthead at the top: deliberately plain and integrated with the page. */
.elegant-site-header{
  position:sticky;
  top:0;
  z-index:900;
  width:100%;
  margin:0;
  padding:0;
  pointer-events:auto;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.elegant-site-nav{
  width:min(1360px,calc(100% - 52px));
  min-height:78px;
  height:78px;
  margin:0 auto;
  padding:0 8px;
  display:grid;
  grid-template-columns:220px 1fr auto;
  gap:28px;
  pointer-events:auto;
  transition:min-height .22s ease,height .22s ease,padding .22s ease;
}
.elegant-brand{
  min-width:0;
  height:68px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transition:height .22s ease,transform .22s ease;
}
.elegant-brand img{max-height:58px;max-width:180px}
.elegant-brand strong{font-size:2.05rem}
.elegant-nav-links{
  justify-content:flex-end!important;
  gap:27px!important;
}
.elegant-nav-links a{
  padding:7px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#55564e!important;
  transform:none!important;
  font-size:.65rem;
  letter-spacing:.12em;
  transition:color .16s ease!important;
}
.elegant-nav-links a::after{
  display:block!important;
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:1px;
  height:1px;
  background:var(--jha-olive);
  transition:right .18s ease;
}
.elegant-nav-links a:hover,
.elegant-nav-links a.active{
  color:var(--jha-olive-dark)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.elegant-nav-links a:hover::after,
.elegant-nav-links a.active::after{right:0}
.elegant-order-button{
  min-height:42px;
  padding:0 23px;
  margin:0;
  border-radius:999px;
  box-shadow:none;
  border:1px solid rgba(58,69,44,.12);
}
.elegant-order-button:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(65,76,51,.16)}

/* After scrolling, the masthead becomes a compact, opaque navigation strip. */
.elegant-site-header.is-scrolled{
  background:rgba(251,248,240,.96)!important;
  border-bottom:1px solid rgba(82,78,67,.18)!important;
  box-shadow:0 4px 18px rgba(44,39,32,.08)!important;
  backdrop-filter:blur(16px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.05)!important;
}
.elegant-site-header.is-scrolled .elegant-site-nav{
  min-height:58px;
  height:58px;
}
.elegant-site-header.is-scrolled .elegant-brand{
  height:54px;
  background:transparent!important;
  box-shadow:none!important;
}
.elegant-site-header.is-scrolled .elegant-brand img{max-height:44px}
.elegant-site-header.is-scrolled .elegant-brand strong{font-size:1.65rem}
.elegant-site-header.is-scrolled .elegant-nav-links a{
  background:transparent!important;
  box-shadow:none!important;
}
.elegant-site-header.is-scrolled .elegant-nav-links a.active{
  color:var(--jha-olive-dark)!important;
  background:transparent!important;
}
.elegant-site-header.is-scrolled .elegant-order-button{min-height:38px}
.public-body [id]{scroll-margin-top:76px}

/* Homepage: broader, calmer editorial composition. */
.studio-announcement{
  width:min(1160px,calc(100% - 70px));
  margin:8px auto 18px;
  border-radius:999px;
  padding:8px 18px;
}
.studio-hero{
  min-height:620px;
  grid-template-columns:minmax(370px,.78fr) minmax(560px,1.22fr);
  gap:0;
  background:linear-gradient(115deg,var(--jha-ivory) 0%,rgba(246,241,231,.96) 41%,rgba(238,232,220,.42) 66%,rgba(251,248,240,0) 100%);
  border-radius:24px;
  overflow:hidden;
  margin:12px 0 30px;
}
.studio-hero-copy{padding:86px 64px 80px 72px}
.studio-hero-art{
  min-height:620px;
  margin:22px 22px 22px 0;
  border-radius:18px;
  box-shadow:0 18px 55px rgba(63,53,40,.11);
}
.studio-hero-art::before{border-radius:inherit}
.studio-art-caption{border-radius:999px}

/* The bio floats on the page rather than becoming a full-width color band. */
.studio-about{
  position:relative;
  grid-template-columns:minmax(380px,.9fr) minmax(430px,1.1fr);
  gap:clamp(34px,6vw,88px);
  min-height:520px;
  margin:10px auto 36px;
  padding:72px clamp(42px,6vw,88px);
  background:linear-gradient(135deg,rgba(238,232,220,.52),rgba(251,248,240,.05) 68%);
  border:0;
  border-radius:28px;
}
.studio-about-photo{padding:0;align-items:center}
.studio-about-photo img{
  min-height:400px;
  border-radius:18px;
  box-shadow:0 16px 45px rgba(72,60,44,.09);
}
.studio-about-copy{padding:12px 0;justify-content:center}

/* Gallery and process share the same paper canvas; separation comes from rhythm, not blocks. */
.studio-gallery{
  padding:72px clamp(34px,6vw,84px) 78px;
  background:transparent;
  border:0;
}
.studio-gallery-grid{gap:clamp(16px,2.2vw,30px)}
.studio-gallery-card a{
  border-radius:14px;
  box-shadow:0 10px 30px rgba(67,57,44,.055);
}
.studio-process{
  position:relative;
  margin:0 auto 40px;
  padding:70px clamp(38px,6vw,86px) 76px;
  background:linear-gradient(180deg,rgba(246,241,231,.26),rgba(238,232,220,.48),rgba(246,241,231,.2));
  border:0;
  border-radius:28px;
}
.studio-process-grid{gap:clamp(28px,5vw,66px)}

/* Order area remains distinct, but as one soft panel instead of another hard color band. */
.studio-order{
  grid-template-columns:minmax(330px,.72fr) minmax(520px,1.28fr);
  gap:0;
  margin:0 0 34px;
  background:linear-gradient(120deg,rgba(238,232,220,.82),rgba(246,241,231,.92));
  border:1px solid rgba(96,83,63,.10);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(65,54,41,.055);
}
.studio-order-intro{
  padding:72px clamp(40px,5vw,72px);
  border-right:1px solid rgba(96,83,63,.09);
}
.studio-order-form-wrap{background:rgba(251,248,240,.50)}

/* Footer follows the broader page measure instead of reintroducing a narrow vertical edge. */
.page-index .site-footer.elegant-footer{
  width:min(1360px,calc(100% - 52px));
  margin:0 auto 22px;
  border-radius:18px;
  overflow:hidden;
}

@media(max-width:1080px){
  .elegant-site-nav,.studio-home-shell,.page-index .site-footer.elegant-footer{width:calc(100% - 32px)}
  .page-index .flash{width:calc(100% - 32px)}
  .elegant-site-nav{grid-template-columns:180px 1fr auto;gap:18px}
  .elegant-nav-links{gap:17px!important}.elegant-nav-links a{font-size:.59rem}
  .studio-hero{grid-template-columns:42% 58%}.studio-hero-copy{padding:74px 42px 70px 50px}
  .studio-about{padding:58px 48px;gap:45px}.studio-order-intro{padding:60px 42px}
}

@media(max-width:860px){
  .elegant-site-nav{width:calc(100% - 22px);min-height:70px;height:70px;padding:0 2px;grid-template-columns:1fr auto auto;gap:8px}
  .elegant-brand{height:62px;padding:0;background:transparent!important;border:0;box-shadow:none!important}
  .elegant-mobile-toggle{display:grid!important;place-items:center;width:43px;height:43px;border-radius:8px!important;background:transparent!important;border:1px solid rgba(98,89,73,.18)!important;box-shadow:none}
  .elegant-order-button{min-height:43px;border-radius:999px}
  .elegant-nav-links.open{
    top:70px;left:0;right:0;width:100%;transform:none;padding:10px 14px 15px;gap:0!important;
    border:1px solid rgba(98,89,73,.14);border-radius:0 0 12px 12px;
    background:rgba(251,248,240,.98);box-shadow:0 14px 30px rgba(50,43,34,.10)
  }
  .elegant-nav-links.open a{padding:12px 7px!important;text-align:center;background:transparent!important;border-bottom:1px solid rgba(98,89,73,.10)!important;border-radius:0!important}
  .elegant-nav-links.open a:last-child{border-bottom:0!important}
  .elegant-nav-links.open a.active{color:var(--jha-olive-dark)!important;background:transparent!important}
  .elegant-site-header.is-scrolled .elegant-site-nav{height:58px;min-height:58px}
  .elegant-site-header.is-scrolled .elegant-nav-links.open{top:58px}
  .studio-home-shell{width:calc(100% - 24px)}
  .studio-hero{grid-template-columns:1fr;border-radius:20px}.studio-hero-copy{padding:64px 45px;text-align:center;align-items:center}.studio-hero-art{margin:0 18px 18px;min-height:500px}
  .studio-about{grid-template-columns:1fr;padding:50px 42px;gap:34px}.studio-about-photo{max-width:650px;width:100%;margin:0 auto}.studio-about-copy{text-align:center;align-items:center}
  .studio-order{grid-template-columns:1fr}.studio-order-intro{border-right:0;border-bottom:1px solid rgba(96,83,63,.09)}
  .page-index .site-footer.elegant-footer{width:calc(100% - 24px)}
}

@media(max-width:560px){
  .elegant-site-nav{width:calc(100% - 14px);height:62px;min-height:62px}.elegant-brand{height:56px}.elegant-brand strong{font-size:1.35rem}.elegant-mobile-toggle{width:40px;height:40px}.elegant-order-button{min-height:40px;padding-inline:11px}
  .elegant-site-header.is-scrolled .elegant-site-nav{height:54px;min-height:54px}.elegant-site-header.is-scrolled .elegant-nav-links.open{top:54px}
  .studio-home-shell{width:100%}.studio-announcement{width:calc(100% - 24px);border-radius:12px;margin-top:6px}
  .studio-hero{margin:6px 10px 24px;border-radius:18px}.studio-hero-copy{padding:52px 25px}.studio-hero-art{margin:0 10px 10px;min-height:400px;border-radius:14px}
  .studio-about{margin:0 10px 24px;padding:38px 24px;border-radius:18px}.studio-about-photo img{min-height:330px;border-radius:14px}
  .studio-gallery{padding:52px 22px 58px}.studio-process{margin:0 10px 26px;padding:52px 24px;border-radius:18px}
  .studio-order{margin:0 10px 24px;border-radius:18px}.studio-order-intro{padding:48px 25px}.studio-order-form-wrap{padding:38px 22px}
  .page-index .site-footer.elegant-footer{width:calc(100% - 20px);margin-bottom:10px;border-radius:15px}
}

/* v5.6 — configurable portfolio layout + favicon editor */
.portfolio-page-hero{padding-bottom:34px;border-bottom:0;background:transparent}
.portfolio-page-hero .container{max-width:1180px}
.portfolio-page-section{padding-top:22px}
.portfolio-grid-custom{grid-auto-flow:dense;grid-auto-rows:210px;gap:18px}
.portfolio-grid-custom .portfolio-card{grid-column:span 4;grid-row:span 1;border-radius:14px;background:var(--jha-paper-2);box-shadow:0 10px 28px rgba(57,50,39,.055)}
.portfolio-grid-custom .portfolio-size-small{grid-column:span 3}
.portfolio-grid-custom .portfolio-size-standard{grid-column:span 4}
.portfolio-grid-custom .portfolio-size-wide{grid-column:span 8}
.portfolio-grid-custom .portfolio-size-tall{grid-column:span 4;grid-row:span 2}
.portfolio-grid-custom .portfolio-size-large{grid-column:span 8;grid-row:span 2}
.portfolio-grid-custom .portfolio-size-full{grid-column:1/-1;grid-row:span 2}
.portfolio-grid-custom .portfolio-card img{object-position:var(--portfolio-x,50%) var(--portfolio-y,50%)}
.portfolio-grid-custom .portfolio-fit-cover img{object-fit:cover}
.portfolio-grid-custom .portfolio-fit-contain img{object-fit:contain;padding:18px;background:var(--jha-paper-2)}
.portfolio-grid-custom .portfolio-overlay{padding:58px 18px 16px;background:linear-gradient(transparent,rgba(30,27,22,.84))}
.portfolio-grid-custom .portfolio-overlay strong{display:block;font-family:Georgia,serif;font-size:1rem;letter-spacing:0}
.portfolio-grid-custom .portfolio-overlay span{color:rgba(255,255,255,.72)}

.favicon-editor{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.favicon-preview{width:58px;height:58px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;background:#f7f7f9;overflow:hidden}
.favicon-preview img{width:100%;height:100%;object-fit:contain;padding:7px}
.favicon-editor>div:last-child{display:grid;gap:6px}.favicon-editor small{color:var(--muted)}

.portfolio-manager-header{align-items:flex-start}.portfolio-add-panel{margin-top:4px}.portfolio-add-panel>summary{display:inline-flex;cursor:pointer;margin-bottom:16px}
.portfolio-editor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portfolio-editor-new{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fafafd}
.portfolio-admin-list{display:grid;gap:18px}
.portfolio-admin-item{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 6px 22px rgba(20,16,30,.035)}
.portfolio-admin-visual{position:relative;width:100%;min-height:240px;max-height:420px;border-radius:13px;overflow:hidden;background:#27241f;align-self:start}
.portfolio-admin-visual img{width:100%;height:100%;min-height:240px;object-fit:cover;object-position:var(--portfolio-x,50%) var(--portfolio-y,50%)}
.portfolio-preview-fit-contain img{object-fit:contain;padding:14px;background:#27241f}
.portfolio-preview-small{aspect-ratio:1/1}.portfolio-preview-standard{aspect-ratio:4/3}.portfolio-preview-wide{aspect-ratio:16/9}.portfolio-preview-tall{aspect-ratio:3/4;max-width:310px}.portfolio-preview-large{aspect-ratio:4/3}.portfolio-preview-full{aspect-ratio:2/1}
.portfolio-admin-order{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.92);color:#24202a;border-radius:999px;padding:5px 9px;font-weight:800;font-size:.75rem;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.portfolio-item-actions{grid-column:1/-1;display:flex;gap:8px;border-top:1px solid var(--line);padding-top:12px}.portfolio-delete-action{margin-left:auto}
.portfolio-checks{display:flex;gap:16px;align-items:center;align-content:end;flex-wrap:wrap}
.range-field label{display:flex;justify-content:space-between;gap:8px}.range-field output{font-weight:700;color:var(--purple)}
.range-field input[type=range]{width:100%;accent-color:var(--purple)}

@media(max-width:1000px){
  .portfolio-grid-custom .portfolio-size-small,.portfolio-grid-custom .portfolio-size-standard,.portfolio-grid-custom .portfolio-size-tall{grid-column:span 6}
  .portfolio-grid-custom .portfolio-size-wide,.portfolio-grid-custom .portfolio-size-large{grid-column:span 12}
  .portfolio-admin-item{grid-template-columns:1fr}.portfolio-admin-visual{max-width:620px}
}
@media(max-width:700px){
  .portfolio-grid-custom{grid-auto-rows:240px}.portfolio-grid-custom .portfolio-card{grid-column:1/-1!important;grid-row:span 1!important}.portfolio-grid-custom .portfolio-size-tall{grid-row:span 2!important}
  .portfolio-editor-form{grid-template-columns:1fr}.portfolio-item-actions{flex-wrap:wrap}.portfolio-delete-action{margin-left:0;width:100%}.portfolio-delete-action .btn{width:100%}
}

/* v5.7 — typography, homepage ornament controls, admin theming and collapsible sidebar */
:root{--jha-font-display:Georgia,serif;--jha-font-body:Arial,sans-serif;--jha-font-ui:Arial,sans-serif}
.public-body,.client-body{font-family:var(--jha-font-body)}
.elegant-brand strong,.studio-hero h1,.studio-about h2,.studio-heading h2,.studio-order h2,.portfolio-page h1,.client-hero h1,.client-main h1,.client-main h2,.client-main h3{font-family:var(--jha-font-display)}
.elegant-nav-links,.elegant-order-button,.btn,button,input,select,textarea,label,.client-tabs,.eyebrow,.studio-kicker{font-family:var(--jha-font-ui)}
.studio-section-rule{width:68px;height:1px;background:currentColor;opacity:.34;margin:13px auto 0}.studio-order-rule{margin:20px 0 0;width:82px}
.font-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.font-preview-card{padding:16px;border:1px solid var(--admin-line,var(--line));border-radius:12px;background:var(--admin-surface,#fff)}.font-preview-card strong{font-size:1.35rem;display:block}.font-preview-card small{color:var(--admin-muted,var(--muted))}

.admin-body{background:var(--admin-bg,#f5f3f7);color:var(--admin-text,#20232a);font-family:var(--admin-font-family,Arial,sans-serif)}
.admin-shell{grid-template-columns:265px 1fr;transition:grid-template-columns .2s ease}
.admin-sidebar{background:linear-gradient(180deg,var(--admin-sidebar-bg,#17191f),var(--admin-sidebar-bg-2,#20232a));color:var(--admin-sidebar-text,#d8dbe2);transition:width .2s ease,padding .2s ease}
.admin-brand{color:var(--admin-sidebar-text,#d8dbe2)}.admin-brand small{color:var(--admin-sidebar-muted,#9298a5)}
.admin-nav a{color:var(--admin-sidebar-muted,#9298a5)}.admin-nav a:hover,.admin-nav a.active{background:color-mix(in srgb,var(--admin-accent,#7b5ce1) 18%,transparent);color:var(--admin-sidebar-text,#fff)}.admin-nav a.active{box-shadow:inset 3px 0 var(--admin-accent,#7b5ce1)}
.admin-body .card,.admin-body .admin-editor-card{background:var(--admin-surface,#fff);border-color:var(--admin-line,#dfe3e8);color:var(--admin-text,#20232a)}
.admin-topbar{background:color-mix(in srgb,var(--admin-topbar,#f4f5f7) 91%,transparent);border-color:var(--admin-line,#dfe3e8)}
.admin-body .muted,.admin-body .card-subtitle,.admin-body small{color:var(--admin-muted,#697180)}
.admin-body .btn-primary{background:var(--admin-accent,#7b5ce1);border-color:var(--admin-accent,#7b5ce1)}
.admin-body .btn-soft{background:var(--admin-accent-soft,#eee9fb);color:var(--admin-accent,#7b5ce1);border-color:color-mix(in srgb,var(--admin-accent,#7b5ce1) 15%,transparent)}
.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{border-color:var(--admin-accent,#7b5ce1);box-shadow:0 0 0 3px color-mix(in srgb,var(--admin-accent,#7b5ce1) 11%,transparent)}
.admin-body .health-good,.admin-body .status-success{color:var(--admin-success,#23865c)}.admin-body .health-warn,.admin-body .status-warning{color:var(--admin-warning,#b57815)}.admin-body .health-bad,.admin-body .status-danger{color:var(--admin-danger,#c64755)}
.sidebar-collapse{position:absolute;right:-14px;top:82px;width:28px;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,var(--admin-sidebar-text,#fff) 20%,transparent);background:var(--admin-sidebar-bg-2,#20232a);color:var(--admin-sidebar-text,#fff);display:grid;place-items:center;cursor:pointer;z-index:90;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:transform .2s ease}
.admin-shell.sidebar-collapsed{grid-template-columns:78px 1fr}.admin-shell.sidebar-collapsed .admin-sidebar{padding-left:11px;padding-right:11px}.admin-shell.sidebar-collapsed .admin-brand{justify-content:center}.admin-shell.sidebar-collapsed .admin-brand>span:last-child,.admin-shell.sidebar-collapsed .admin-nav a>span:not(.nav-icon),.admin-shell.sidebar-collapsed .admin-nav a>b,.admin-shell.sidebar-collapsed .sidebar-account>div:not(.avatar),.admin-shell.sidebar-collapsed .sidebar-account>a{display:none}.admin-shell.sidebar-collapsed .admin-nav a{grid-template-columns:1fr;justify-items:center;padding:11px 6px}.admin-shell.sidebar-collapsed .nav-icon{font-size:1rem}.admin-shell.sidebar-collapsed .sidebar-account{justify-content:center;padding:10px 0}.admin-shell.sidebar-collapsed .sidebar-collapse{transform:rotate(180deg)}

.shipping-rate-list{display:grid;gap:10px;margin-top:14px}.shipping-rate{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--admin-line,var(--line));border-radius:12px;background:var(--admin-surface,#fff)}.shipping-rate strong{display:block}.shipping-rate small{display:block;margin-top:3px}.shipping-summary{display:grid;gap:10px}.tracking-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.tracking-card .tracking-number{font-family:ui-monospace,monospace;font-weight:700;letter-spacing:.04em}.shipping-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.notification-option{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--admin-line,var(--line));border-radius:11px;background:var(--admin-surface,#fff)}.notification-option input{margin-top:3px}

@media(max-width:900px){.sidebar-collapse{display:none}.admin-shell.sidebar-collapsed{grid-template-columns:1fr}.notification-grid,.shipping-address-grid,.font-preview-grid{grid-template-columns:1fr}}
.public-body h1,.public-body h2,.public-body h3,.public-body h4,.client-body h1,.client-body h2,.client-body h3,.client-body h4{font-family:var(--jha-font-display)}
.public-body,.public-body p,.public-body li,.public-body dd,.public-body dt,.client-body,.client-body p,.client-body li,.client-body dd,.client-body dt{font-family:var(--jha-font-body)}
.public-body nav,.public-body button,.public-body .btn,.public-body input,.public-body select,.public-body textarea,.client-body nav,.client-body button,.client-body .btn,.client-body input,.client-body select,.client-body textarea{font-family:var(--jha-font-ui)}
.admin-body{--purple:var(--admin-accent,#7b5ce1);--purple-2:var(--admin-accent,#7b5ce1);--soft-purple:var(--admin-accent-soft,#eee9fb);--line:var(--admin-line,#dfe3e8);--muted:var(--admin-muted,#697180);--ink:var(--admin-text,#20232a);--success:var(--admin-success,#23865c);--warning:var(--admin-warning,#b57815);--danger:var(--admin-danger,#c64755)}
.admin-body input,.admin-body select,.admin-body textarea{background:var(--admin-surface,#fff);color:var(--admin-text,#20232a);border-color:var(--admin-line,#dfe3e8)}
.admin-body table,.admin-body th,.admin-body td{border-color:var(--admin-line,#dfe3e8)}

/* v5.8 — granular typography + editor QOL */
:root{
  --jha-font-brand:'Snell Roundhand','Segoe Script','Brush Script MT',cursive;
  --jha-font-nav:var(--jha-font-ui);
  --jha-font-eyebrow:var(--jha-font-ui);
  --jha-font-button:var(--jha-font-ui);
  --jha-font-hero-heading:var(--jha-font-display);
  --jha-font-hero-body:var(--jha-font-body);
  --jha-font-about-heading:var(--jha-font-display);
  --jha-font-about-body:var(--jha-font-body);
  --jha-font-gallery-heading:var(--jha-font-display);
  --jha-font-gallery-caption:'Snell Roundhand','Segoe Script','Brush Script MT',cursive;
  --jha-font-process-heading:var(--jha-font-display);
  --jha-font-process-body:var(--jha-font-body);
  --jha-font-order-heading:var(--jha-font-display);
  --jha-font-order-body:var(--jha-font-body);
  --jha-font-store-heading:var(--jha-font-display);
  --jha-font-store-body:var(--jha-font-body);
  --jha-font-portfolio-heading:var(--jha-font-display);
  --jha-font-portfolio-body:var(--jha-font-body);
  --jha-font-client-heading:var(--jha-font-display);
  --jha-font-client-body:var(--jha-font-body);
  --jha-font-footer:var(--jha-font-ui);
}

.elegant-brand strong{font-family:var(--jha-font-brand)!important}
.elegant-nav-links,.elegant-nav-links a{font-family:var(--jha-font-nav)!important}
.studio-eyebrow,.eyebrow,.studio-kicker{font-family:var(--jha-font-eyebrow)!important}
.studio-button,.elegant-order-button,.public-body .btn,.public-body button,.public-body input,.public-body select,.public-body textarea,.public-body label{font-family:var(--jha-font-button)!important}

.studio-hero h1{font-family:var(--jha-font-hero-heading)!important}
.studio-hero-lead,.studio-art-caption{font-family:var(--jha-font-hero-body)!important}
.studio-about h2{font-family:var(--jha-font-about-heading)!important}
.studio-body-copy,.studio-about .studio-value span{font-family:var(--jha-font-about-body)!important}
.studio-gallery .studio-section-heading h2,.studio-gallery .studio-section-intro{font-family:var(--jha-font-gallery-heading)!important}
.studio-gallery-card figcaption{font-family:var(--jha-font-gallery-caption)!important}
.studio-process .studio-section-heading h2,.studio-process-step strong{font-family:var(--jha-font-process-heading)!important}
.studio-process .studio-section-intro,.studio-process-step p{font-family:var(--jha-font-process-body)!important}
.studio-order h2{font-family:var(--jha-font-order-heading)!important}
.studio-order-intro>p:not(.studio-eyebrow),.studio-order-contact{font-family:var(--jha-font-order-body)!important}

.page-shop h1,.page-shop h2,.page-shop h3,.page-order h1,.page-order h2,.page-order h3{font-family:var(--jha-font-store-heading)!important}
.page-shop p,.page-shop li,.page-order p,.page-order li,.page-order dd,.page-order dt{font-family:var(--jha-font-store-body)!important}
.page-portfolio h1,.page-portfolio h2,.page-portfolio h3,.portfolio-grid-custom .portfolio-overlay strong{font-family:var(--jha-font-portfolio-heading)!important}
.page-portfolio p,.page-portfolio li,.page-portfolio figcaption,.portfolio-grid-custom .portfolio-overlay span{font-family:var(--jha-font-portfolio-body)!important}
.client-body h1,.client-body h2,.client-body h3,.client-body h4,.client-project-card h3,.new-order-welcome h2{font-family:var(--jha-font-client-heading)!important}
.client-body,.client-body p,.client-body li,.client-body dd,.client-body dt{font-family:var(--jha-font-client-body)!important}
.elegant-footer,.elegant-footer *,.client-footer,.client-footer *{font-family:var(--jha-font-footer)!important}

.font-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.font-role-grid .form-group{min-width:0}
.admin-save-bar [data-save-state]{color:var(--admin-success,#23865c)}
.site-editor-form.is-dirty .admin-save-bar [data-save-state]{color:var(--admin-warning,#b57815)}
.site-editor-tabs a.is-active{background:var(--admin-accent-soft,#eee9fb);color:var(--admin-accent,#7b5ce1);border-color:color-mix(in srgb,var(--admin-accent,#7b5ce1) 25%,transparent)}

@media(max-width:1100px){.font-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.font-role-grid{grid-template-columns:1fr}}
.studio-value strong{font-family:var(--jha-font-eyebrow)!important}
.editor-tip{margin-top:14px;padding:12px 14px;border:1px solid var(--admin-line,var(--line));border-radius:10px;background:color-mix(in srgb,var(--admin-accent-soft,#eee9fb) 60%,var(--admin-surface,#fff));color:var(--admin-muted,var(--muted));font-size:.82rem;line-height:1.55}.editor-tip strong{color:var(--admin-text,var(--ink))}

/* v5.8.2 — typography-safe spacing
   Decorative ornaments must never be responsible for layout spacing. */
.studio-hero h1{
  line-height:1.045;
}
/* When the optional flourish is hidden, preserve the breathing room it used to occupy. */
.studio-hero h1 + .studio-hero-lead{
  margin-top:22px;
}
/* If a flourish is visible, its existing margins provide the separation. */
.studio-hero .studio-flourish + .studio-hero-lead{
  margin-top:0;
}

.studio-order-intro h2{
  line-height:1.11;
}
.studio-order-intro h2 + p:not(.studio-eyebrow){
  margin-top:18px;
}

/* Give editorial headings slightly safer line boxes across selectable display fonts. */
.studio-about h2,
.studio-section-heading h2{
  line-height:1.12;
}

/* Prevent a selected font's metrics from making common body copy feel cramped. */
.studio-hero-lead,
.studio-body-copy,
.studio-section-intro,
.studio-order-intro>p:not(.studio-eyebrow),
.studio-process-step p{
  text-wrap:pretty;
}

@media(max-width:700px){
  .studio-hero h1{line-height:1.06}
  .studio-hero h1 + .studio-hero-lead{margin-top:19px}
  .studio-order-intro h2{line-height:1.12}
  .studio-order-intro h2 + p:not(.studio-eyebrow){margin-top:16px}
}

/* ==========================================================
   v5.10 — Studio operations + storefront consistency
   ========================================================== */

/* Header logo sizing is editor-controlled, while the sticky masthead still compacts cleanly. */
.elegant-site-nav{grid-template-columns:minmax(220px,300px) 1fr auto}
.elegant-brand img{
  max-height:var(--jha-logo-height,58px)!important;
  max-width:calc(var(--jha-logo-height,58px) * 3.35)!important;
}
.elegant-site-header.is-scrolled .elegant-brand img{
  max-height:var(--jha-logo-height-scrolled,44px)!important;
  max-width:calc(var(--jha-logo-height-scrolled,44px) * 3.35)!important;
}

/* Six-step process: three generous columns instead of squeezing six tiny items across. */
.studio-process .studio-section-heading h2{
  font-size:clamp(2.3rem,4vw,3.4rem);
  margin-bottom:12px;
}
.studio-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:52px}

/* Pet-photo reference guide beneath the process. */
.studio-photo-guide{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  gap:clamp(36px,6vw,84px);
  align-items:center;
  margin:0 0 40px;
  padding:clamp(42px,6vw,78px);
  background:var(--jha-paper);
  border:1px solid rgba(96,83,63,.10);
  border-radius:28px;
  box-shadow:0 18px 55px rgba(65,54,41,.045);
}
.studio-photo-guide-copy{display:grid;align-content:center}
.studio-photo-guide-copy h2{
  margin:6px 0 18px;
  font-family:var(--jha-font-photo-guide-heading,var(--jha-font-display,Georgia,serif));
  font-size:clamp(2.25rem,4vw,3.45rem);
  font-weight:400;
  line-height:1.08;
  color:var(--jha-ink);
}
.studio-photo-guide-copy>p:not(.studio-eyebrow){
  color:var(--jha-muted);
  font-family:var(--jha-font-photo-guide-body,var(--jha-font-body,Georgia,serif));
  line-height:1.75;
  max-width:560px;
}
.studio-photo-guide-copy ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:11px}
.studio-photo-guide-copy li{position:relative;padding-left:24px;color:var(--jha-ink);font-size:.88rem;line-height:1.5}
.studio-photo-guide-copy li::before{content:"✦";position:absolute;left:0;top:.02em;color:var(--jha-olive);font-size:.82rem}
.studio-photo-guide-image{min-height:390px;border-radius:18px;overflow:hidden;background:var(--jha-paper-2);box-shadow:0 14px 38px rgba(65,54,41,.08)}
.studio-photo-guide-image img{width:100%;height:100%;min-height:390px;object-fit:cover}
.photo-guide-placeholder{min-height:390px;display:grid;place-items:center;align-content:center;text-align:center;padding:36px;color:var(--jha-muted);background:linear-gradient(135deg,var(--jha-paper-2),var(--jha-ivory))}
.photo-guide-placeholder span{font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;color:var(--jha-olive);font-weight:800}
.photo-guide-placeholder strong{max-width:360px;margin-top:10px;font-family:var(--jha-font-display,Georgia,serif);font-size:2rem;font-weight:400;color:var(--jha-ink)}
.photo-guide-site-preview{min-height:260px}.photo-guide-site-preview img{width:100%;height:100%;min-height:260px;object-fit:cover}

/* Shop + builder now inherit the same Studio Jordan Harp palette as the homepage. */
.page-shop,.page-order,.page-start-order{
  --ink:var(--jha-ink);
  --muted:var(--jha-muted);
  --line:var(--jha-line);
  --paper:var(--jha-paper);
  --canvas:var(--jha-ivory);
  --night:var(--jha-ink);
  --night-2:var(--jha-olive-dark);
  --purple:var(--jha-olive);
  --purple-2:var(--jha-olive-dark);
  --purple-soft:var(--jha-paper-2);
  background:var(--jha-paper);
  color:var(--jha-ink);
}
.page-shop .store-hero{
  background:linear-gradient(135deg,var(--jha-ivory),var(--jha-paper-2));
  color:var(--jha-ink);
  border-bottom:1px solid var(--jha-line);
}
.page-shop .store-hero h1,.page-shop .store-product-card h2,.page-shop .section-heading h2{
  font-family:var(--jha-font-store-heading,var(--jha-font-display,Georgia,serif));
  font-weight:400;
}
.page-shop .store-hero p,.page-shop .store-product-card p,.page-shop .section-soft p{
  color:var(--jha-muted);
  font-family:var(--jha-font-store-body,var(--jha-font-body,Georgia,serif));
}
.page-shop .store-product-card{
  background:var(--jha-paper);
  border-color:var(--jha-line);
  border-radius:18px;
  box-shadow:0 12px 36px rgba(65,54,41,.055);
}
.page-shop .store-product-image{background:var(--jha-paper-2)}
.page-shop .section-soft{background:linear-gradient(180deg,var(--jha-ivory),var(--jha-paper-2))}
.page-shop .sold-out-ribbon{background:var(--jha-ink)}
.page-shop .btn-primary,.page-order .btn-primary{
  background:linear-gradient(135deg,var(--jha-olive),var(--jha-olive-dark));
  box-shadow:0 8px 22px rgba(78,91,61,.18);
}
.page-shop input:focus,.page-shop select:focus,.page-shop textarea:focus,
.page-order input:focus,.page-order select:focus,.page-order textarea:focus{
  border-color:var(--jha-olive);
  box-shadow:0 0 0 4px rgba(101,113,80,.11);
}

/* Order archive organization. */
.archive-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.archive-tabs a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--admin-line,var(--line));border-radius:999px;background:var(--admin-surface,#fff);text-decoration:none;font-size:.82rem;font-weight:800;color:var(--admin-muted,var(--muted))}
.archive-tabs a span{min-width:21px;height:21px;padding:0 6px;display:inline-grid;place-items:center;border-radius:999px;background:var(--admin-bg,#f4f5f7);font-size:.7rem}
.archive-tabs a.active{background:var(--admin-accent-soft,var(--purple-soft));border-color:transparent;color:var(--admin-accent,var(--purple))}
.archive-mini-badge{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:999px;background:#eeeaf0;color:#756d78;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.archived-order-row{opacity:.82}

@media(max-width:900px){
  .studio-photo-guide{grid-template-columns:1fr;padding:48px 36px}.studio-photo-guide-image{min-height:340px}.studio-photo-guide-image img{min-height:340px}
  .elegant-site-nav{grid-template-columns:minmax(0,1fr) auto auto}
  .elegant-brand img{max-height:min(var(--jha-logo-height,58px),56px)!important;max-width:190px!important}
}
@media(max-width:620px){
  .studio-process-grid{grid-template-columns:1fr 1fr;gap:36px 18px}
  .studio-photo-guide{margin:0 10px 28px;padding:40px 24px;border-radius:18px}.studio-photo-guide-image,.studio-photo-guide-image img,.photo-guide-placeholder{min-height:280px}
}
.studio-photo-guide.no-image{grid-template-columns:minmax(0,760px);justify-content:center;text-align:center}
.studio-photo-guide.no-image .studio-photo-guide-copy>p:not(.studio-eyebrow){margin-left:auto;margin-right:auto}
.studio-photo-guide.no-image .studio-photo-guide-copy ul{max-width:620px;margin-left:auto;margin-right:auto;text-align:left}

/* ==========================================================
   v5.11 — clearer pricing, compatibility rules & legal editor
   ========================================================== */
.page-order .builder-page{background:linear-gradient(180deg,var(--jha-ivory),var(--jha-paper));}
.page-order .builder-form-panel,.page-order .builder-facts>div{background:var(--jha-ivory);border-color:var(--jha-line)}
.page-order .builder-product-image{box-shadow:0 16px 44px rgba(65,54,41,.09)}
.page-order .builder-breadcrumb a{color:var(--jha-olive-dark)}
.page-order .builder-section-title>span{background:var(--jha-paper-2);color:var(--jha-olive-dark)}
.page-order .builder-choice:hover,.page-order .builder-addon:hover{border-color:color-mix(in srgb,var(--jha-olive) 55%,var(--jha-line));background:var(--jha-paper)}
.page-order .builder-choice:has(input:checked),.page-order .builder-addon:has(input:checked){border-color:var(--jha-olive);box-shadow:0 0 0 3px rgba(101,113,80,.10);background:var(--jha-paper)}
.page-order .builder-choice b,.page-order .builder-addon b{color:var(--jha-olive-dark)}
.page-order .builder-total-card{background:linear-gradient(145deg,var(--jha-olive-dark),var(--jha-olive));color:#fff;box-shadow:0 20px 45px rgba(63,73,48,.20)}
.page-order .builder-total-card small,.page-order .builder-total-card p{color:rgba(255,255,255,.76)}
.page-order .terms-check a{color:#fff;text-decoration-color:rgba(255,255,255,.6)}
.page-order .builder-facts.no-base-price{grid-template-columns:repeat(2,1fr)}
.page-shop .product-card-bottom.no-public-base-price{justify-content:flex-end}
.choice-rule-disabled{opacity:.46!important;background:#f4f1ea!important;cursor:not-allowed!important}
.choice-rule-disabled::after{content:"Unavailable with current selection";display:block;grid-column:1/-1;margin-top:5px;font-size:.68rem;color:#8a6547;font-weight:700}

.pricing-model-card{border-color:color-mix(in srgb,var(--admin-accent,#7b5ce1) 18%,var(--admin-line,#dfe3e8))}
.compatibility-rule-form{padding-bottom:18px;border-bottom:1px solid var(--admin-line,var(--line));margin-bottom:14px}
.compatibility-rule-list{display:grid;gap:9px}
.compatibility-rule-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 14px;border:1px solid var(--admin-line,var(--line));border-radius:11px;background:var(--admin-surface,#fff)}
.compatibility-rule-row>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compatibility-rule-row span{color:var(--admin-muted,var(--muted));font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.compatibility-rule-row small{width:100%;color:var(--admin-muted,var(--muted))}
.legal-admin-grid{display:grid;grid-template-columns:1fr;gap:18px}.policy-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.6}
@media(max-width:760px){.page-order .builder-facts.no-base-price{grid-template-columns:1fr}.compatibility-rule-row{align-items:flex-start;flex-direction:column}}

/* ==========================================================
   v5.12 — staff roles, permissions, security & admin QOL
   ========================================================== */
.staff-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,var(--admin-surface),color-mix(in srgb,var(--admin-accent-soft) 48%,var(--admin-surface)));}
.staff-hero h2{margin:.2rem 0 .45rem;font-size:clamp(1.7rem,2.6vw,2.7rem)}
.staff-role-chip{min-width:180px;padding:14px 18px;border:1px solid var(--admin-line);border-radius:14px;background:var(--admin-surface);display:grid;gap:4px}.staff-role-chip small{color:var(--admin-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.staff-role-chip strong{font-size:1rem}
.staff-security-grid{margin-top:18px}.copy-field{display:flex;gap:8px;align-items:center}.copy-field input{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.recovery-box{margin:16px 0;padding:16px;border:1px solid color-mix(in srgb,var(--admin-warning) 45%,var(--admin-line));background:color-mix(in srgb,var(--admin-warning) 8%,var(--admin-surface));border-radius:12px}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.recovery-code-grid code{padding:9px 10px;border:1px solid var(--admin-line);border-radius:8px;background:var(--admin-bg);text-align:center;letter-spacing:.08em}
.break-code{display:block;white-space:normal;overflow-wrap:anywhere;padding:10px;background:var(--admin-bg);border-radius:8px;margin-top:8px}.totp-setup details{margin-top:12px}
.session-list{display:grid;gap:10px}.session-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--admin-line)}.session-row:last-child{border-bottom:0}.session-row>div:first-child{display:grid;gap:3px;min-width:0}.session-row small{display:block;color:var(--admin-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px}
.staff-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.staff-account-card{border:1px solid var(--admin-line);border-radius:14px;padding:16px;background:var(--admin-surface)}.staff-account-head{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center}.staff-account-head h3,.staff-account-head p{margin:0}.staff-account-head p{font-size:.78rem;color:var(--admin-muted)}.staff-account-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.staff-account-meta span{display:grid;gap:3px;padding:9px;border-radius:9px;background:var(--admin-bg);font-size:.78rem}.staff-account-meta small{color:var(--admin-muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.compact-form{margin-top:14px}.staff-reset-password{margin-top:10px}.staff-reset-password input{flex:1;min-width:190px}
.role-grid{display:grid;gap:12px}.role-card{border:1px solid var(--admin-line);border-radius:14px;background:var(--admin-surface);overflow:hidden}.role-card>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;cursor:pointer;list-style:none}.role-card>summary::-webkit-details-marker{display:none}.role-card>summary>div{display:grid;gap:3px}.role-card>summary span{color:var(--admin-muted);font-size:.75rem}.role-editor{padding:0 16px 16px;border-top:1px solid var(--admin-line);padding-top:16px}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.permission-group{border:1px solid var(--admin-line);border-radius:12px;padding:10px 12px;margin:0;min-width:0}.permission-group legend{padding:0 6px;font-weight:800;font-size:.8rem}.permission-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start;padding:9px 2px;border-bottom:1px solid color-mix(in srgb,var(--admin-line) 70%,transparent)}.permission-row:last-child{border-bottom:0}.permission-row span{display:grid;gap:2px}.permission-row small{color:var(--admin-muted);font-size:.7rem;line-height:1.35}.permission-row code{font-size:.62rem;color:var(--admin-muted);align-self:center}.permission-row input{margin-top:3px}.compact-permissions{max-height:52vh;overflow:auto}.role-delete-form{padding:0 16px 16px}.access-denied-card{max-width:720px;margin:34px auto}
.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-action-card{display:grid;gap:5px;padding:16px;border:1px solid var(--admin-line);border-radius:12px;text-decoration:none;color:var(--admin-text);background:var(--admin-surface)}.quick-action-card:hover{border-color:var(--admin-accent)}.quick-action-card span{font-size:.78rem;color:var(--admin-muted)}
.command-palette{border:0;padding:0;background:transparent;width:min(680px,calc(100vw - 32px));max-width:none}.command-palette::backdrop{background:rgba(8,10,15,.48);backdrop-filter:blur(3px)}.command-palette-box{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.25);overflow:hidden}.command-search{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--admin-line)}.command-search input{border:0!important;box-shadow:none!important;background:transparent!important;font-size:1rem}.command-search kbd{font-size:.7rem;color:var(--admin-muted);border:1px solid var(--admin-line);border-radius:6px;padding:3px 6px}.command-results{display:grid;padding:8px;max-height:60vh;overflow:auto}.command-results a{display:grid;gap:2px;padding:12px 13px;border-radius:9px;text-decoration:none;color:var(--admin-text)}.command-results a:hover{background:var(--admin-accent-soft)}.command-results small{color:var(--admin-muted)}.command-palette-trigger{font-size:1.15rem;min-width:42px}
@media(max-width:900px){.staff-account-grid,.permission-groups{grid-template-columns:1fr}.staff-hero{align-items:flex-start;flex-direction:column}.staff-role-chip{width:100%}.staff-account-meta{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:1fr}}
.permission-override-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px);gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--admin-line)}
.permission-override-row:last-child{border-bottom:0}.permission-override-row span{display:flex;flex-direction:column;gap:2px}.permission-override-row small{color:var(--admin-muted);font-size:.78rem}.staff-overrides{margin-top:10px}.staff-overrides>summary{cursor:pointer;list-style:none}.staff-overrides[open]>summary{margin-bottom:12px}@media(max-width:720px){.permission-override-row{grid-template-columns:1fr}.permission-override-row select{width:100%}}
