:root {
  --ink: #25211e;
  --muted: #78706a;
  --paper: #faf8f5;
  --line: #e9e4de;
  --brand: #7b4a35;
  --brand-dark: #553023;
  --cream: #f3e7dc;
  font-family: "Noto Serif SC", "Songti SC", Georgia, serif;
  color: var(--ink);
  background: var(--paper);
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: flex; flex-direction: column; }
.app-shell > main { flex: 1; }
.site-footer { padding: 18px 24px 24px; border-top: 1px solid var(--line); text-align: center; font: 12px/1.6 ui-sans-serif, system-ui, sans-serif; }
.site-footer a { color: var(--muted); text-decoration: none; }
.site-footer a:hover { color: var(--brand); text-decoration: underline; }
.site-footer--memory { width: 100%; padding: 6px 18px 0; border-top: 0; }
.theme-warm .site-footer--memory a { color: rgba(255,243,234,.5); }
.topbar { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(24px, calc((100vw - 1180px) / 2)); border-bottom: 1px solid var(--line); background: rgba(250,248,245,.92); position: sticky; top: 0; z-index: 5; backdrop-filter: blur(10px); }
.brand { text-decoration: none; color: var(--ink); font-size: 18px; letter-spacing: .08em; font-weight: 700; }
.brand small { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 10px; color: var(--brand); letter-spacing: .16em; margin-left: 5px; }
.nav { display: flex; gap: 18px; align-items: center; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 14px; }
.nav a { text-decoration: none; color: var(--muted); }
.nav a.active { color: var(--brand); font-weight: 700; }
.nav .nav-action { color: white; background: var(--brand); padding: 10px 15px; border-radius: 999px; }
.home { max-width: 1180px; margin: 0 auto; padding: 64px 24px 80px; }
.eyebrow { margin: 0 0 12px; font: 600 12px ui-sans-serif, system-ui, sans-serif; color: var(--brand); letter-spacing: .16em; text-transform: uppercase; }
h1 { font-size: clamp(38px, 6vw, 70px); line-height: 1.1; margin: 0; max-width: 700px; letter-spacing: -.04em; }
.intro { color: var(--muted); font-size: 17px; line-height: 1.8; max-width: 620px; margin: 24px 0 32px; }
.button { border: 0; border-radius: 10px; padding: 13px 18px; background: var(--brand); color: #fff; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 14px; font-weight: 650; }
.button:hover { background: var(--brand-dark); }
.button.ghost { background: transparent; color: var(--brand); border: 1px solid #d5bdb0; }
.button.small { padding: 9px 12px; font-size: 13px; }
.hero-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 54px; align-items: center; }
.phone { width: min(100%, 355px); aspect-ratio: 9/16; justify-self: center; border: 9px solid #28231f; border-radius: 40px; padding: 8px; background: #28231f; box-shadow: 0 30px 60px rgba(63,38,25,.22); }
.phone-screen { height: 100%; border-radius: 28px; overflow: hidden; background: linear-gradient(180deg,rgba(25,14,8,.02) 18%,rgba(25,14,8,.12) 46%,rgba(25,14,8,.78) 100%), url("./assets/home-demo-mountain.jpg?v=experience-v4-5") center 28% / cover; color: white; display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; position: relative; }
.phone-screen:before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg,rgba(255,238,218,.15),transparent 38%), linear-gradient(0deg,rgba(24,11,5,.28),transparent 40%); }
.phone-screen > * { position: relative; }
.phone-mark { position:absolute; top:20px; left:24px; letter-spacing:.12em; font: 700 11px ui-sans-serif,system-ui,sans-serif; }
.phone-title { font-size: 30px; line-height: 1.28; margin: 0 0 12px; }
.phone-copy { margin: 0; font-size: 14px; line-height:1.7; color: rgba(255,255,255,.88); }
.phone-date { margin: 18px 0 0; font: 12px ui-sans-serif,system-ui,sans-serif; letter-spacing:.08em; }
.steps { margin-top: 76px; border-top: 1px solid var(--line); padding-top: 28px; display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.step-num { color: #bd8a73; font: 700 13px ui-sans-serif,system-ui,sans-serif; }
.step h3 { margin: 10px 0 8px; font-size: 20px; }.step p { margin:0; color:var(--muted); line-height:1.7; font-size:14px; }
.admin { max-width: 1180px; margin: 0 auto; padding: 42px 24px 70px; }
.page-title { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:28px; gap:20px; }.page-title h1 { font-size:38px; }.page-title p { color:var(--muted); margin:10px 0 0; font-family:ui-sans-serif,system-ui,sans-serif; font-size:14px; }
.admin-grid { display:grid; grid-template-columns: 395px 1fr; gap:28px; align-items:start; }
.panel { background:#fff; border:1px solid var(--line); border-radius:16px; padding:25px; box-shadow: 0 10px 30px rgba(67,45,29,.035); }.panel h2 { margin:0 0 20px; font-size:21px; }
.field { display:block; margin-bottom:16px; font-family:ui-sans-serif,system-ui,sans-serif; font-size:13px; color:#4c4540; }.field span { display:block; margin-bottom:7px; font-weight:650; }.field em { color:#a98776; font-style:normal; font-weight:400; }
input, textarea, select { width:100%; padding:11px 12px; border:1px solid #ded6cf; border-radius:8px; background:#fffdfb; color:var(--ink); outline:none; font-family:inherit; font-size:14px; } input:focus,textarea:focus,select:focus { border-color:#b7846b; box-shadow:0 0 0 3px rgba(183,132,107,.14); } textarea { resize:vertical; min-height:78px; }
.file-note { color:var(--muted); font-size:12px; line-height:1.55; margin:7px 0 16px; }.form-actions { display:flex; gap:10px; align-items:center; }.form-actions .button { flex:1; }.clear-link { border:0; background:none; color:var(--muted); font:13px ui-sans-serif,system-ui,sans-serif; }
.empty { text-align:center; padding:62px 20px; color:var(--muted); font-family:ui-sans-serif,system-ui,sans-serif; }.empty strong { display:block; color:var(--ink); font-family:inherit; margin-bottom:7px; }
.card-list { display:grid; gap:14px; }.admin-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; display:grid; grid-template-columns:72px 1fr auto; gap:15px; align-items:center; }.thumb { width:72px; height:72px; border-radius:10px; object-fit:cover; background:linear-gradient(150deg,#dfb6a2,#754535); }.card-meta h3 { margin:0 0 7px; font-size:18px; }.card-meta p { margin:0; font:12px ui-sans-serif,system-ui,sans-serif; color:var(--muted); line-height:1.6; }.status { display:inline-flex; padding:4px 8px; border-radius:999px; color:#39715a; background:#e9f5ed; font:11px ui-sans-serif,system-ui,sans-serif; margin-left:8px; }.card-actions { display:flex; flex-direction:column; gap:8px; }.notice { background:#f8f0eb; border:1px solid #efddd3; border-radius:10px; padding:12px; color:#805a48; font:12px/1.6 ui-sans-serif,system-ui,sans-serif; margin-bottom:16px; }
.link-panel { max-width:680px; margin:54px auto; background:#fff; padding:32px; border:1px solid var(--line); border-radius:18px; }.link-panel h1 { font-size:32px; }.nfc-link { margin:20px 0; padding:14px; background:#faf7f4; border:1px dashed #cbb7aa; border-radius:9px; overflow-wrap:anywhere; font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; color:var(--brand-dark); }.nfc-hint { color:var(--muted); line-height:1.7; font-size:14px; }.link-actions { display:flex; gap:10px; flex-wrap:wrap; }
.theme-picker { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.theme-choice { border:1px solid #e0d7d0; border-radius:9px; padding:8px 5px; color:#5e514a; background:#fff; font:11px ui-sans-serif,system-ui,sans-serif; text-align:center; }.theme-choice:before { content:""; display:block; height:35px; border-radius:5px; margin-bottom:7px; background:linear-gradient(150deg,#f7d7c4,#c98d76); }.theme-choice[data-theme="minimal"]:before { background:linear-gradient(150deg,#f3f4f2,#b9c3bf); }.theme-choice[data-theme="warm"]:before { background:linear-gradient(150deg,#c18c76,#38231c); }.theme-choice.selected { border-color:#a96e53; color:#7a442e; box-shadow:0 0 0 2px rgba(169,110,83,.12); font-weight:700; }.theme-preview { height:185px; margin:13px 0 18px; overflow:hidden; border-radius:12px; position:relative; border:1px solid #eadfd7; background:#fffaf6; }.theme-preview-photo { height:72%; background:radial-gradient(circle at 75% 18%,#fff9e7,transparent 24%),linear-gradient(150deg,#f7d7c4 0%,#eab99f 43%,#c98d76 100%); background-position:center; background-size:cover; }.theme-preview-copy { position:absolute; inset:72px 13px auto; padding-top:23px; }.theme-preview-copy strong { display:block; color:#56372a; font-size:18px; line-height:1.25; }.theme-preview-copy small { color:#a17b68; font:10px ui-sans-serif,system-ui,sans-serif; }.orientation-note { color:var(--muted); font:11px ui-sans-serif,system-ui,sans-serif; margin-top:6px; }.theme-preview.orientation-landscape .theme-preview-photo { height:56%; }.theme-preview.orientation-landscape .theme-preview-copy { inset:53px 13px auto; }.theme-preview.theme-minimal { background:#fcfcfb; }.theme-preview.theme-minimal .theme-preview-photo { background:linear-gradient(150deg,#eef0ef,#b9c3bf); }.theme-preview.theme-minimal .theme-preview-copy strong { color:#303837; }.theme-preview.theme-minimal .theme-preview-copy small { color:#7f8a86; }.theme-preview.theme-warm { background:#34261f; }.theme-preview.theme-warm .theme-preview-photo { background:linear-gradient(150deg,#c18c76,#38231c); }.theme-preview.theme-warm .theme-preview-copy strong { color:#fff; }.theme-preview.theme-warm .theme-preview-copy small { color:rgba(255,255,255,.62); }.memory-page { min-height:100vh; background:#eadbd1; color:#4a3025; display:flex; justify-content:center; }.memory-wrap { width:min(100%,580px); min-height:100vh; background:#fffaf6; position:relative; overflow:hidden; }.memory-photo-frame,.memory-placeholder { height:78vh; min-height:540px; width:100%; background:radial-gradient(circle at 74% 22%,#fff9e7,transparent 24%),linear-gradient(150deg,#f7d7c4 0%,#eab99f 43%,#c98d76 100%); }.memory-photo { height:100%; width:100%; object-fit:cover; display:block; }.memory-overlay { position:absolute; inset:0 0 auto; height:78vh; min-height:540px; pointer-events:none; }.memory-brand { position:absolute; top:28px; left:26px; font:700 11px ui-sans-serif,system-ui,sans-serif; letter-spacing:.16em; }.memory-content { position:relative; margin:-164px 26px 0; padding-bottom:18px; }.memory-content h1 { max-width:100%; font-size:clamp(32px,8vw,46px); line-height:1.2; margin:0 0 14px; letter-spacing:-.04em; }.memory-message { margin:0; line-height:1.8; font-size:16px; white-space:pre-wrap; }.memory-date { font:12px ui-sans-serif,system-ui,sans-serif; letter-spacing:.12em; margin:20px 0 0; }.memory-footer { position:relative; display:block; margin:0 26px; padding:4px 0 24px; font:11px ui-sans-serif,system-ui,sans-serif; letter-spacing:.07em; }.orientation-landscape .memory-photo-frame,.orientation-landscape .memory-placeholder { height:auto; min-height:0; aspect-ratio:16/9; }.orientation-landscape .memory-photo { object-fit:contain; background:rgba(255,255,255,.25); }.orientation-landscape .memory-overlay { height:min(56.25vw,326px); min-height:0; }.orientation-landscape .memory-content { margin:-56px 26px 0; }.orientation-square .memory-photo-frame,.orientation-square .memory-placeholder { height:72vh; min-height:490px; }.orientation-square .memory-overlay { height:72vh; min-height:490px; }.theme-wedding .memory-overlay { background:linear-gradient(180deg,rgba(255,249,243,0) 27%,rgba(255,248,243,.16) 46%,rgba(255,248,243,.9) 81%,#fffaf6 100%); }.theme-wedding .memory-brand { color:#815844; }.theme-wedding .memory-content h1 { color:#56372a; }.theme-wedding .memory-message { color:#775849; }.theme-wedding .memory-date,.theme-wedding .memory-footer { color:#a17b68; }.theme-minimal { background:#e7e7e5; }.theme-minimal .memory-wrap { background:#fcfcfb; }.theme-minimal .memory-placeholder { background:linear-gradient(150deg,#eef0ef,#d5dad8 58%,#aeb9b5); }.theme-minimal .memory-overlay { background:linear-gradient(180deg,rgba(255,255,255,0) 30%,rgba(252,252,251,.18) 48%,rgba(252,252,251,.92) 82%,#fcfcfb 100%); }.theme-minimal .memory-brand,.theme-minimal .memory-date,.theme-minimal .memory-footer { color:#7f8a86; }.theme-minimal .memory-content h1 { color:#303837; }.theme-minimal .memory-message { color:#66716e; }.theme-warm { background:#201814; color:#fff; }.theme-warm .memory-wrap { background:#34261f; }.theme-warm .memory-placeholder { background:linear-gradient(150deg,#e0b4a0 0%,#92604c 45%,#38231c 100%); }.theme-warm .memory-overlay { background:linear-gradient(180deg,rgba(12,7,4,.04) 28%,rgba(25,15,10,.38) 50%,rgba(25,15,10,.95) 85%,#211813 100%); }.theme-warm .memory-brand { color:#fff; }.theme-warm .memory-content h1 { color:#fff; }.theme-warm .memory-message { color:rgba(255,255,255,.87); }.theme-warm .memory-date,.theme-warm .memory-footer { color:rgba(255,255,255,.6); }.not-found { min-height:100vh; display:grid; place-items:center; text-align:center; padding:24px; background:var(--paper); }.not-found h1 { font-size:34px; }.not-found p { color:var(--muted); line-height:1.7; }
/* Unified horizontal digital-card layout for all image directions. */
.memory-page { min-height:100svh; display:grid; place-items:center; padding:28px 18px; background:linear-gradient(145deg,#f4ece7,#dfc9bb); }
.memory-wrap { width:min(100%,860px); min-height:0; display:grid; gap:15px; justify-items:center; overflow:visible; background:transparent; }
.digital-card { width:100%; aspect-ratio:1.58; display:grid; grid-template-columns:42% 58%; overflow:hidden; border-radius:18px; background:#fffaf6; box-shadow:0 22px 55px rgba(76,45,30,.2); position:relative; }
.digital-visual { min-width:0; overflow:hidden; background:linear-gradient(150deg,#f5d7c7,#cf947b); }
.digital-photo { display:block; width:100%; height:100%; object-fit:cover; }.digital-placeholder { width:100%; height:100%; background:radial-gradient(circle at 66% 20%,#fff5d8,transparent 25%),linear-gradient(150deg,#f7d7c4,#c98d76); }
.digital-copy { padding:clamp(18px,4vw,46px); display:flex; flex-direction:column; justify-content:center; min-width:0; }.digital-brand { font:700 10px ui-sans-serif,system-ui,sans-serif; letter-spacing:.16em; color:#925f49; margin-bottom:clamp(9px,2vw,18px); }.digital-copy h1 { margin:0; color:#56372a; font-size:clamp(20px,4.2vw,46px); line-height:1.18; letter-spacing:-.045em; }.digital-copy p { margin:clamp(9px,2vw,18px) 0 0; color:#775849; font-size:clamp(11px,1.8vw,16px); line-height:1.7; white-space:pre-wrap; }.digital-copy time { display:block; margin-top:clamp(10px,2vw,20px); color:#a17b68; font:clamp(9px,1.5vw,12px) ui-sans-serif,system-ui,sans-serif; letter-spacing:.1em; }.digital-footer { color:#9c7868; font:11px ui-sans-serif,system-ui,sans-serif; letter-spacing:.08em; }
.orientation-landscape .digital-card { grid-template-columns:1fr; }.orientation-landscape .digital-visual { grid-area:1/1; }.orientation-landscape .digital-photo { object-fit:cover; }.orientation-landscape .digital-copy { grid-area:1/1; align-self:stretch; justify-self:stretch; width:56%; margin-left:auto; position:relative; z-index:1; background:linear-gradient(90deg,transparent,rgba(255,250,246,.78) 20%,#fffaf6 80%); }.orientation-landscape .digital-copy h1 { max-width:10em; }
.orientation-square .digital-card { grid-template-columns:46% 54%; }.theme-minimal .digital-card { background:#fbfcfb; }.theme-minimal .digital-visual,.theme-minimal .digital-placeholder { background:linear-gradient(150deg,#edf0ef,#b6c0bc); }.theme-minimal .digital-brand,.theme-minimal .digital-copy time,.theme-minimal .digital-footer { color:#7f8a86; }.theme-minimal .digital-copy h1 { color:#303837; }.theme-minimal .digital-copy p { color:#66716e; }.theme-warm .digital-card { background:#34261f; }.theme-warm .digital-visual,.theme-warm .digital-placeholder { background:linear-gradient(150deg,#c18c76,#38231c); }.theme-warm .digital-brand,.theme-warm .digital-copy time,.theme-warm .digital-footer { color:#d3a992; }.theme-warm .digital-copy h1 { color:#fff; }.theme-warm .digital-copy p { color:rgba(255,255,255,.78); }.theme-warm.orientation-landscape .digital-copy { background:linear-gradient(90deg,transparent,rgba(45,27,20,.72) 20%,#34261f 82%); }
/* Photo-first composition: every card uses a full image with a softened lower reading area. */
.digital-card,.orientation-square .digital-card { grid-template-columns:1fr; }.digital-visual,.orientation-landscape .digital-visual { grid-area:1/1; }.digital-photo { object-fit:cover; }.digital-copy,.orientation-landscape .digital-copy { grid-area:1/1; width:100%; margin:0; padding:clamp(18px,4vw,46px); position:relative; z-index:1; align-self:stretch; justify-self:stretch; justify-content:flex-end; text-align:center; background:linear-gradient(180deg,rgba(255,250,246,0) 25%,rgba(255,250,246,.1) 42%,rgba(255,250,246,.78) 69%,#fffaf6 100%); }.digital-copy:before { content:""; position:absolute; z-index:0; inset:36% 0 0; background:linear-gradient(180deg,rgba(255,250,246,.08),rgba(255,250,246,.76) 42%,#fffaf6 100%); backdrop-filter:blur(15px); }.digital-copy > * { position:relative; z-index:1; }.digital-brand { margin-bottom:clamp(7px,1.3vw,13px); }.digital-copy h1,.orientation-landscape .digital-copy h1 { max-width:14em; margin-inline:auto; }.digital-copy p { max-width:32em; margin-inline:auto; }.orientation-landscape .digital-copy p { display:block; }.theme-warm .digital-copy,.theme-warm.orientation-landscape .digital-copy { background:linear-gradient(180deg,rgba(34,20,14,0) 24%,rgba(34,20,14,.12) 43%,rgba(34,20,14,.76) 70%,#34261f 100%); }.theme-warm .digital-copy:before { background:linear-gradient(180deg,rgba(34,20,14,.08),rgba(34,20,14,.72) 43%,#34261f 100%); }.theme-minimal .digital-copy { background:linear-gradient(180deg,rgba(251,252,251,0) 25%,rgba(251,252,251,.12) 42%,rgba(251,252,251,.8) 70%,#fbfcfb 100%); }.theme-minimal .digital-copy:before { background:linear-gradient(180deg,rgba(251,252,251,.08),rgba(251,252,251,.8) 43%,#fbfcfb 100%); }
/* Final photo-first treatment: no blur, copy lives below the card. */
.digital-card,.orientation-square .digital-card,.orientation-landscape .digital-card { display:block; grid-template-columns:1fr; background:transparent; box-shadow:0 20px 48px rgba(76,45,30,.18); }.digital-visual,.orientation-landscape .digital-visual { display:block; width:100%; height:100%; position:relative; overflow:hidden; }.digital-photo { width:100%; height:100%; object-fit:cover; }.digital-mark { position:absolute; left:16px; bottom:14px; color:rgba(255,255,255,.72); font:700 9px ui-sans-serif,system-ui,sans-serif; letter-spacing:.16em; text-shadow:0 1px 8px rgba(0,0,0,.25); }.digital-copy { display:none; }.memory-caption { max-width:620px; text-align:center; padding:3px 22px 0; }.memory-caption h1 { margin:0; color:#593c30; font-size:clamp(19px,3vw,30px); font-weight:600; line-height:1.3; letter-spacing:-.035em; }.memory-caption p { margin:9px 0 0; color:#876958; font-size:14px; line-height:1.65; white-space:pre-wrap; }.memory-caption time { display:block; margin-top:10px; color:#ad8c7b; font:11px ui-sans-serif,system-ui,sans-serif; letter-spacing:.1em; }.theme-minimal .memory-caption h1 { color:#36403d; }.theme-minimal .memory-caption p { color:#6f7c77; }.theme-minimal .memory-caption time,.theme-minimal .digital-footer { color:#89928e; }.theme-warm .memory-caption h1 { color:#fff3ea; }.theme-warm .memory-caption p { color:rgba(255,243,234,.7); }.theme-warm .memory-caption time,.theme-warm .digital-footer { color:rgba(255,243,234,.5); }.theme-warm .digital-card { box-shadow:0 20px 48px rgba(0,0,0,.3); }
/* Preserve the source image: horizontal, vertical, and square cards follow photo direction. */
.orientation-landscape .digital-card { width:100%; aspect-ratio:1.58; }.orientation-landscape .digital-photo { object-fit:cover; }
.orientation-portrait .digital-card { width:min(72%, 500px); aspect-ratio:3/4; }.orientation-portrait .digital-photo { object-fit:contain; background:#eadbd1; }
.orientation-square .digital-card { width:min(82%, 620px); aspect-ratio:1/1; }.orientation-square .digital-photo { object-fit:contain; background:#eadbd1; }
@media (max-width:800px) { .topbar { height:64px; padding:0 18px; }.nav a:not(.nav-action) { display:none; }.home { padding:42px 22px 60px; }.hero-grid { grid-template-columns:1fr; gap:38px; }.hero-copy { order:1; }.phone { order:2; width:min(100%, 390px); border-width:8px; border-radius:36px; }.phone-screen { border-radius:27px; padding:26px; }.phone-title { font-size:clamp(28px,8vw,34px); }.steps { grid-template-columns:1fr; margin-top:50px; }.admin { padding:28px 16px 55px; }.admin-grid { grid-template-columns:1fr; }.page-title { align-items:start; flex-direction:column; }.admin-card { grid-template-columns:58px 1fr; }.thumb { width:58px; height:58px; }.card-actions { grid-column:2; flex-direction:row; }.memory-wrap { width:100%; }.digital-card { border-radius:14px; }.orientation-portrait .digital-card { width:min(78%, 420px); }.orientation-square .digital-card { width:min(88%, 520px); }.memory-caption { padding-inline:14px; }.memory-caption h1 { font-size:20px; }.memory-caption p { font-size:13px; } }

/* 客户订单与额度 */
.order-manager { margin: 0 0 1.5rem; }
.order-heading { display: flex; gap: 1.5rem; justify-content: space-between; align-items: end; }
.order-heading h2 { margin: .2rem 0; }
.order-heading p { margin: 0; color: var(--muted); }
.order-form { display: flex; gap: .6rem; align-items: center; }
.order-form input, .order-actions input { border: 1px solid #ded3c8; border-radius: .55rem; background: #fffdfa; padding: .65rem .75rem; color: var(--ink); }
.order-form input[name="name"] { min-width: 10rem; }
.order-form input[name="quota"], .order-actions input { width: 4.5rem; }
.order-list { margin-top: 1.1rem; border-top: 1px solid #eee5dc; }
.order-row { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #eee5dc; }
.order-row strong { font-size: 1rem; }
.order-row p { color: var(--muted); font-size: .86rem; margin: .35rem 0; }
.order-row code { color: #8b563b; font-size: .75rem; word-break: break-all; }
.order-actions { display: flex; align-items: center; gap: .45rem; white-space: nowrap; }
.order-actions label { color: var(--muted); font-size: .8rem; }

/* Experience-led product pages */
.hero-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.text-link { color:var(--brand); font:600 14px ui-sans-serif,system-ui,sans-serif; text-decoration:none; border-bottom:1px solid #cda995; padding-bottom:3px; }
.hero-note { margin:18px 0 0; color:#9b8174; font:12px ui-sans-serif,system-ui,sans-serif; letter-spacing:.04em; }
.experience-strip { margin:70px 0 0; padding:23px 26px; display:flex; align-items:center; justify-content:space-between; gap:24px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.experience-strip p { margin:0; font-size:17px; line-height:1.55; max-width:420px; }
.experience-strip div { display:flex; align-items:center; gap:10px; flex-wrap:wrap; color:#846352; font:12px ui-sans-serif,system-ui,sans-serif; }
.experience-strip i { width:4px; height:4px; border-radius:50%; background:#be8a70; }
.home-solution { display:grid; grid-template-columns:1fr 1fr auto; gap:32px; align-items:end; margin-top:74px; padding:48px; border-radius:18px; color:#fff; background:linear-gradient(125deg,#7b4a35,#4e3024); }
.home-solution h2,.page-intro h1 { margin:0; max-width:600px; font-size:clamp(29px,4vw,48px); line-height:1.18; letter-spacing:-.04em; }
.home-solution p { margin:0; color:rgba(255,255,255,.78); font:15px/1.8 ui-sans-serif,system-ui,sans-serif; }
.home-solution .eyebrow { color:#eac4b0; }
.home-solution .button.ghost { color:#fff; border-color:rgba(255,255,255,.45); white-space:nowrap; }
.content-page { max-width:1180px; margin:0 auto; padding:72px 24px 88px; }
.page-intro { max-width:820px; margin:0 auto 54px; text-align:center; }
.page-intro h1 { margin-inline:auto; }
.page-intro > p:last-child { color:var(--muted); margin:22px 0 0; font:17px/1.85 ui-sans-serif,system-ui,sans-serif; }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.value-grid article { min-height:224px; padding:25px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.value-grid span,.guide-steps span { color:#b7775a; font:700 12px ui-sans-serif,system-ui,sans-serif; letter-spacing:.12em; }
.value-grid h2,.guide-steps h2 { margin:34px 0 9px; font-size:21px; }
.value-grid p,.guide-steps p,.scene-list p,.action-banner p { color:var(--muted); margin:0; font:14px/1.75 ui-sans-serif,system-ui,sans-serif; }
.scene-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; margin:80px 0; padding-top:56px; border-top:1px solid var(--line); }
.scene-section h2 { margin:0; font-size:34px; line-height:1.25; }
.scene-list { display:grid; gap:0; }.scene-list article { padding:0 0 24px; margin-bottom:24px; border-bottom:1px solid var(--line); }.scene-list h3 { margin:0 0 7px; font-size:19px; }
.action-banner { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:42px 46px; border-radius:18px; background:#f1e4da; }.action-banner h2 { margin:0 0 10px; font-size:29px; }.action-banner p { max-width:600px; }
.guide-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.guide-steps article { padding:28px; border-top:2px solid #b7785d; background:#fff; border-radius:0 0 14px 14px; }.guide-steps h2 { margin-top:26px; }
.faq-section { max-width:830px; margin:82px auto 0; }.faq-section > div { margin-bottom:20px; }.faq-section h2 { margin:0; font-size:32px; }
.faq-section details { border-top:1px solid var(--line); padding:20px 4px; }.faq-section details:last-child { border-bottom:1px solid var(--line); }.faq-section summary { cursor:pointer; list-style:none; padding-right:30px; position:relative; font-size:18px; }.faq-section summary::-webkit-details-marker { display:none; }.faq-section summary:after { content:"+"; position:absolute; right:4px; color:var(--brand); font:300 25px ui-sans-serif,system-ui,sans-serif; top:-5px; }.faq-section details[open] summary:after { content:"−"; }.faq-section details p { max-width:690px; margin:14px 0 0; color:var(--muted); font:14px/1.8 ui-sans-serif,system-ui,sans-serif; }
 .mobile-menu-toggle { display:none; }
@media (max-width:800px) { .topbar { justify-content:space-between; gap:12px; overflow:visible; position:sticky; }.brand { flex:none; }.brand small { display:none; }.mobile-menu-toggle { display:inline-flex; align-items:center; gap:10px; border:1px solid #dcc7bb; border-radius:999px; padding:8px 12px; background:#fffaf6; color:var(--brand); font:600 12px ui-sans-serif,system-ui,sans-serif; }.mobile-menu-toggle span { font-size:18px; line-height:12px; }.nav { display:none; position:absolute; top:58px; right:14px; left:auto; width:min(232px,calc(100vw - 28px)); padding:8px; border:1px solid var(--line); border-radius:14px; background:rgba(255,253,251,.98); box-shadow:0 18px 38px rgba(67,45,29,.15); flex-direction:column; gap:2px; font-size:14px; white-space:normal; }.topbar.menu-open .nav { display:flex; }.nav a,.nav a:not(.nav-action) { display:block; padding:12px 11px; border-radius:8px; }.nav a.active { background:#f7ede7; }.nav .nav-action { margin-top:4px; padding:11px; text-align:center; }.experience-strip,.home-solution,.scene-section { display:block; }.experience-strip { margin-top:46px; padding:22px; }.experience-strip div { margin-top:14px; }.home-solution { margin-top:52px; padding:32px 25px; }.home-solution > p { margin:17px 0 23px; }.value-grid,.guide-steps { grid-template-columns:1fr; }.value-grid article { min-height:0; }.value-grid h2 { margin-top:22px; }.content-page { padding:46px 20px 64px; }.page-intro { margin-bottom:40px; text-align:left; }.page-intro h1 { margin-inline:0; }.scene-section { margin:56px 0; padding-top:42px; }.scene-list { margin-top:30px; }.action-banner { display:block; padding:30px 25px; }.action-banner .button { margin-top:22px; }.faq-section { margin-top:58px; } }
.empty-copy { color: var(--muted); padding: 1rem 0 .25rem; }
.customer-portal .page-title strong { color: #8b563b; }
.mobile-workspace-nav { display:none; }
.managed-content-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 14px; }
.managed-content-heading .eyebrow { margin-bottom:5px; }
.managed-content-heading h2 { margin:0; font-size:22px; }
.managed-content-heading h2 span { display:inline-flex; min-width:22px; min-height:22px; align-items:center; justify-content:center; padding:0 6px; border-radius:999px; background:#f2e5dc; color:var(--brand); font:700 12px ui-sans-serif,system-ui,sans-serif; vertical-align:middle; }
.managed-content-heading > span { color:var(--muted); font:12px ui-sans-serif,system-ui,sans-serif; }
@media (max-width:760px) { .order-heading, .order-row, .order-form, .order-actions { align-items:stretch; flex-direction:column; }.order-form input[name="name"] { min-width:0; }.order-form input[name="quota"], .order-actions input { width:100%; box-sizing:border-box; }.order-actions .button { width:100%; } }

/* Mobile content studio: single-column workflow with quick access to creation and existing content. */
@media (max-width:800px) {
  .admin { padding:25px 16px 46px; }
  .admin .page-title { margin-bottom:17px; gap:7px; }
  .admin .page-title h1 { font-size:clamp(30px,9vw,36px); }
  .admin .page-title p { max-width:34em; line-height:1.65; }
  .mobile-workspace-nav { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:0 0 18px; }
  .mobile-workspace-nav a, .mobile-workspace-nav button { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 14px; text-decoration:none; border:1px solid #e4d5cb; border-radius:12px; background:#fffdfa; color:var(--brand-dark); font:650 13px ui-sans-serif,system-ui,sans-serif; }
  .mobile-workspace-nav a:first-child, .mobile-workspace-nav button:first-child { background:var(--brand); border-color:var(--brand); color:#fff; }
  .mobile-workspace-nav span { font-size:20px; font-weight:400; }
  .mobile-workspace-nav strong { display:inline-flex; min-width:22px; min-height:22px; align-items:center; justify-content:center; padding:0 5px; border-radius:999px; background:#f1e3da; color:var(--brand); font-size:12px; }
  .admin-grid { gap:22px; }
  .content-creation-panel { padding:20px 18px; scroll-margin-top:80px; }
  .content-creation-panel h2 { font-size:20px; margin-bottom:19px; }
  .field { margin-bottom:18px; }
  .field span { margin-bottom:8px; font-size:13px; }
  .field input, .field select { min-height:48px; }
  .field textarea { min-height:104px; }
  .theme-picker { gap:7px; }
  .theme-choice { min-height:82px; padding:7px 4px; font-size:11px; }
  .theme-choice:before { height:32px; margin-bottom:6px; }
  .theme-preview { height:158px; margin:11px 0 17px; }
  .theme-preview-copy { inset:60px 12px auto; padding-top:19px; }
  .theme-preview-copy strong { font-size:17px; }
  .theme-preview.orientation-landscape .theme-preview-copy { inset:48px 12px auto; }
  .form-actions { flex-direction:column; align-items:stretch; gap:8px; }
  .form-actions .button { min-height:50px; width:100%; }
  .clear-link { min-height:38px; align-self:center; padding:7px 13px; }
  .managed-content { scroll-margin-top:80px; }
  .managed-content-heading { margin:0 2px 12px; }
  .managed-content-heading h2 { font-size:21px; }
  .notice { padding:12px 13px; margin-bottom:13px; }
  .admin-card { grid-template-columns:58px minmax(0,1fr); gap:12px; padding:14px; }
  .card-meta h3 { font-size:16px; line-height:1.35; margin-bottom:5px; }
  .card-meta p { font-size:12px; line-height:1.55; }
  .status { margin:4px 0 0; vertical-align:middle; }
  .card-actions { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:1px; }
  .card-actions .button { min-height:42px; width:100%; padding:8px 7px; }
  .order-manager { padding:19px 18px; }
  .order-heading { gap:14px; }
  .order-heading h2 { font-size:20px; }
  .order-row { gap:12px; padding:16px 0; }
  .order-row code { display:block; max-height:3.4em; overflow:hidden; }
  .order-actions { gap:8px; }
  .order-actions .button, .order-actions label { min-height:42px; }
  .customer-portal .page-title p { margin-top:7px; }
}
