@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');

:root {
  --ink: #263c35;
  --pine: #315a4b;
  --leaf: #718b70;
  --mint: #e4ede3;
  --paper: #f4f2e9;
  --sand: #e4dfd1;
  --coral: #bd7058;
  --sun: #d2ac61;
  --muted: #727d72;
  --line: #d8ddd1;
  --white: #fbfaf4;
  --danger: #a34e43;
  --shadow: 0 20px 55px rgba(39, 66, 54, .11);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100dvh;
  background: var(--paper);
  color: var(--ink);
  font-family: 'DM Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select { font: inherit; }
button { color: inherit; }
a { color: inherit; }
.dc-shell { min-height: 100dvh; }
.dc-topbar {
  height: 76px; display:flex; align-items:center; justify-content:space-between;
  padding: 0 clamp(18px, 5vw, 76px); background:var(--white);
  border-bottom:1px solid rgba(49,91,76,.12);
}
.dc-brand { display:flex; align-items:center; gap:13px; text-decoration:none; }
.dc-brand-mark { width:37px;height:37px;border-radius:50% 50% 48% 4px;background:var(--pine);display:grid;place-items:center;color:#f7f5ed;font-size:16px; }
.dc-brand-name { font-size:13px; font-weight:700; letter-spacing:.02em; }
.dc-brand-sub { display:block; color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:3px; }
.dc-nav { display:flex; gap:24px;align-items:center;font-size:13px;font-weight:600; }
.dc-nav a { text-decoration:none; }
.dc-nav .dc-client-link { color:var(--pine); border-bottom:1px solid #a6b9a8; padding:9px 0; }
.dc-intro { max-width:1380px;margin:auto;padding:36px clamp(18px, 4vw, 56px) 23px;display:flex;justify-content:space-between;align-items:end;gap:24px; }
.dc-kicker { font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--leaf);font-weight:700; }
.dc-intro h1 { font: 400 clamp(36px, 4.3vw, 57px)/.98 'Instrument Serif', serif; letter-spacing:-.02em;margin:12px 0 10px; }
.dc-intro p { color:#68766c;font-size:14px;line-height:1.6;max-width:600px;margin:0; }
.dc-layout { max-width:1380px;margin:auto;padding:0 clamp(18px,4vw,56px) 62px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.78fr);gap:22px;align-items:start; }
.dc-stage-card,.dc-panel { background:var(--white);border:1px solid rgba(49,91,76,.12);border-radius:17px;box-shadow:var(--shadow);overflow:hidden; }
.dc-stage-top { padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line); }
.dc-view-switch { display:flex;background:#f0f1e9;padding:4px;border-radius:10px;gap:3px; }
.dc-view-switch button,.dc-ghost,.dc-icon-button,.dc-primary,.dc-secondary,.dc-danger-button { border:0;cursor:pointer;transition:background .18s,transform .18s,opacity .18s; }
.dc-view-switch button { background:transparent;padding:9px 13px;border-radius:7px;color:#68766c;font-size:12px;font-weight:700; }
.dc-view-switch button[aria-pressed="true"] { background:var(--white);color:var(--pine);box-shadow:0 2px 7px rgba(40,60,49,.1); }
.dc-orientation { font-size:11px;color:#7d857d; }
.dc-image-scene { height:auto;aspect-ratio:3/4;position:relative;overflow:hidden;background:#d5ddd2; }
.dc-image-scene img { display:block;width:100%;height:100%;object-fit:fill; }
.dc-image-scene img[hidden] {display:none}
.dc-photo-unavailable button {margin:13px auto 0;border:1px solid #a8b9a9;border-radius:7px;background:#f8f8f1;padding:9px 14px;color:var(--pine);font:600 11px 'DM Sans',sans-serif;cursor:pointer}
.dc-photo-unavailable {position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:28px;background:#e5eadd;color:var(--pine);font:400 24px/1.2 'Instrument Serif',serif}
.dc-photo-unavailable small {display:block;max-width:300px;margin:10px auto 0;color:#68766c;font:11px/1.5 'DM Sans',sans-serif}
.dc-image-scene:after { content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(20,39,31,.20));pointer-events:none; }
.dc-photo-caption,.dc-photo-hint {display:none}
.dc-photo-arch { position:absolute;left:50%;top:var(--depth-y);width:var(--arch-width);height:var(--arch-height);transform:translateY(-100%);filter:drop-shadow(0 3px 3px rgba(34,48,40,.28));pointer-events:none; }
.dc-photo-arch[data-half="left"] { transform:translate(-100%,-100%); }
.dc-photo-arch svg { width:100%;height:100%;overflow:visible; }
.dc-plan-wrap { padding:22px 22px 17px;background:#f4f3eb; }
.dc-plan-title { display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:15px; }
.dc-plan { height:155px;position:relative;margin:0 15px 7px;background:#ece8dc;border:1px solid #d4d9ce;border-radius:4px;touch-action:none; }
.dc-plan:before,.dc-plan:after { content:"";position:absolute;left:1%;right:1%;border-top:1px dashed rgba(73,98,79,.24);pointer-events:none; }
.dc-plan:before { top:17%; }.dc-plan:after{top:83%}
.dc-plan-axis { height:1px;position:absolute;left:1%;right:1%;top:50%;background:#aab4a6; }
.dc-plan-end { position:absolute;top:50%;font-size:9px;color:#68766c;transform:translateY(-50%); }
.dc-plan-end.start {left:6px}.dc-plan-end.finish{right:6px}
.dc-plan-handle { position:absolute;z-index:2;width:30px;height:30px;border:3px solid var(--white);border-radius:50%;background:var(--handle-color,#fff);box-shadow:0 2px 7px rgba(38,57,45,.27);top:50%;transform:translate(-50%,-50%);cursor:grab;touch-action:none; }
.dc-plan-handle:before {content:"";position:absolute;inset:-2px;border:2px dotted var(--accent-color,#fffefa);border-radius:50%;clip-path:inset(0 0 0 54%);pointer-events:none}
.dc-plan-handle[data-accent="false"]:before {display:none}
.dc-plan-handle:after { content:"";position:absolute;inset:5px;border-radius:50%;background:var(--light-color,#eac45c);opacity:.82; }
.dc-plan-handle[data-side="left"] { top:24%; }
.dc-plan-handle[data-side="right"] { top:76%; }
.dc-plan-handle[data-half="right"] { width:23px;height:23px;top:50%;border-radius:5px;transform:translate(-50%,-50%) rotate(45deg); }
.dc-plan-handle:focus-visible { outline:3px solid var(--coral);outline-offset:3px; }
.dc-plan-help { font-size:10px;color:#7e877f;margin:8px 0 0; }
.dc-stage-foot { padding:13px 18px;display:flex;gap:20px;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;line-height:1.45; }
.dc-stage-foot strong { color:var(--ink); }
.dc-reference-link { color:var(--pine);text-decoration:underline;text-underline-offset:3px;white-space:nowrap; }
.dc-side { display:grid;gap:15px; }
.dc-panel { padding:20px; }
.dc-panel-head { display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:16px; }
.dc-panel h2,.dc-panel h3 { margin:0;color:var(--ink); }
.dc-panel h2 {font:400 25px 'Instrument Serif',serif}
.dc-panel h3 {font-size:13px;letter-spacing:.02em}
.dc-small-note { color:var(--muted);font-size:10px;margin-top:5px;line-height:1.45; }
.dc-arc-count {color:var(--leaf);font-size:11px;font-weight:700;white-space:nowrap}
.dc-arc-list { display:grid;gap:8px; }
.dc-arc-row { display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;background:#f5f5ee;border:1px solid #e3e6dc;border-radius:9px;padding:0; }
.dc-arc-row.is-selected {border-color:#8ca895;background:#edf3ed}
.dc-arc-select { display:block;align-self:stretch;width:100%;min-height:64px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;font-size:12px;font-weight:700;padding:10px 12px;touch-action:manipulation; }
.dc-arc-select:focus-visible {outline:2px solid var(--coral);outline-offset:-2px}
.dc-arc-sub {display:block;font-size:9px;color:var(--muted);font-weight:500;margin-top:3px}
.dc-mini-action {background:transparent;border:1px solid #d4dcd1;border-radius:7px;width:31px;height:31px;cursor:pointer;color:var(--pine);font-size:14px}
.dc-mini-action:hover {background:var(--mint)}
.dc-mini-action.remove {color:#9a5549;margin-right:9px}
.dc-actions-line {display:flex;gap:8px;margin-top:10px}
.dc-ghost { flex:1;background:transparent;border:1px solid #cfd8ce;border-radius:8px;padding:10px 8px;color:var(--pine);font-weight:700;font-size:11px; }
.dc-ghost:hover:not(:disabled) {background:var(--mint)}
.dc-ghost:disabled {opacity:.4;cursor:not-allowed}
.dc-divider {height:1px;background:var(--line);margin:17px 0}
.dc-control-label {display:flex;justify-content:space-between;align-items:baseline;font-size:11px;font-weight:700;margin:0 0 9px}
.dc-control-label small {font-size:10px;color:var(--muted);font-weight:500}
.dc-palette {display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}
.dc-swatch {position:relative;min-width:54px;min-height:49px;padding:7px 8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#faf9f4;border:1px solid #e0e4da;border-radius:8px;cursor:pointer;font-size:9px;color:#526057}
.dc-swatch[aria-pressed="true"] {border:2px solid var(--pine);padding:6px 7px 5px;background:#f0f5ef}
.dc-swatch-dot {width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.13);background:var(--swatch)}
.dc-light-palette .dc-swatch-dot {box-shadow:0 0 8px var(--swatch)}
.dc-position {display:grid;grid-template-columns:1fr 63px;align-items:center;gap:12px}
.dc-position input[type="range"] {width:100%;accent-color:var(--pine);appearance:none;-webkit-appearance:none;background:transparent;height:22px;cursor:pointer}
.dc-position input[type="range"]::-webkit-slider-runnable-track {height:5px;border-radius:9px;background:#d6ddd2}
.dc-position input[type="range"]::-moz-range-track {height:5px;border-radius:9px;background:#d6ddd2}
.dc-position input[type="range"]::-webkit-slider-thumb {-webkit-appearance:none;appearance:none;width:17px;height:17px;margin-top:-6px;border-radius:50%;background:var(--pine);border:2px solid var(--white);outline:1.5px solid #24332b;box-shadow:0 1px 4px rgba(27,45,34,.24)}
.dc-position input[type="range"]::-moz-range-thumb {width:13px;height:13px;border-radius:50%;background:var(--pine);border:2px solid var(--white);outline:1.5px solid #24332b;box-shadow:0 1px 4px rgba(27,45,34,.24)}
.dc-position input[type="range"]:focus-visible {outline:2px solid var(--coral);outline-offset:3px;border-radius:6px}
.dc-position input[type="number"] {width:63px;border:1px solid #d8ded5;border-radius:7px;padding:8px 6px;text-align:center;color:var(--ink);background:#fbfaf5}
.dc-position-footer {display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:5px}
.dc-spacing-label {margin-top:18px}
#spacingStatus {margin-top:5px}
.dc-quote {background:#edf2e9;border-radius:11px;padding:16px}
.dc-quote-line {display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#66756a;margin-bottom:8px}
.dc-quote-total {border-top:1px solid #d1dcce;padding-top:11px;margin-top:10px;display:flex;justify-content:space-between;align-items:end}
.dc-quote-total strong {font:400 29px 'Instrument Serif',serif}
.dc-quote-total span {font-size:10px;color:var(--muted)}
.dc-quote-caveat {font-size:9px;color:#69766b;line-height:1.5;margin:10px 0 0}
.dc-status {font-size:10px;min-height:15px;color:var(--muted);margin:8px 0 0}
.dc-status.error {color:var(--danger)}
.dc-status.ok {color:var(--pine)}
.dc-primary,.dc-secondary,.dc-danger-button {display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:9px;font-weight:700;font-size:12px}
.dc-primary {background:var(--pine);color:white}
.dc-primary:hover:not(:disabled) {background:#24483b;transform:translateY(-1px)}
.dc-secondary {background:#e6ece4;color:var(--pine);margin-top:8px}
.dc-danger-button {background:transparent;color:var(--danger);padding:9px}
.dc-primary:disabled,.dc-secondary:disabled {opacity:.5;cursor:not-allowed}
.dc-save-row {display:flex;gap:8px}
.dc-save-row .dc-secondary {margin-top:0}
.dc-proposals {width:100%;margin-top:9px;border:1px solid #d8ded5;border-radius:8px;background:#fbfaf6;padding:10px;color:var(--ink);font-size:11px}
.dc-save-note {font-size:10px;line-height:1.55;color:var(--muted);margin:10px 0 0}
.dc-compare-selects {display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dc-compare-result {margin-top:11px;border-top:1px solid var(--line);padding-top:10px;font-size:10px;line-height:1.55;color:#637066}
.dc-ai-warning {background:#f8f2e5;border-left:3px solid var(--sun);padding:10px 11px;font-size:10px;line-height:1.5;color:#675d45;border-radius:0 7px 7px 0;margin-bottom:11px}
.dc-ai-result {margin-top:10px}
.dc-ai-result img {width:100%;height:auto;max-height:360px;object-fit:contain;border-radius:8px;background:#f1efe7}
.dc-ai-tag {font-size:10px;color:#756d56;margin-bottom:7px}
.dc-empty {text-align:center;padding:16px;color:var(--muted);background:#f8f7f1;border-radius:8px;font-size:11px;line-height:1.5}
.dc-toast {position:fixed;z-index:20;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:30px;font-size:12px;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.dc-toast.show {opacity:1;transform:translate(-50%,0)}
.dc-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dc-tunnel-switch {display:inline-flex;gap:4px;padding:4px;margin:17px 0 13px;background:#e9e8dc;border:1px solid #deded0;border-radius:10px}
.dc-tunnel-switch button {border:0;border-radius:7px;padding:10px 15px;background:transparent;color:#69746a;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.dc-tunnel-switch button[aria-pressed="true"] {background:var(--white);color:var(--pine);box-shadow:0 2px 8px rgba(40,60,49,.12)}
.dc-tunnel-switch button[aria-pressed="false"] {background:var(--ink);color:#fff;border-radius:30px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.dc-tunnel-switch button:focus-visible {outline:2px solid var(--coral);outline-offset:3px}
.dc-stage-card[hidden],.dc-panel[hidden],.dc-light-stage-card[hidden],.dc-light-description[hidden] {display:none!important}
.dc-light-stage-card,.dc-light-description {background:var(--white);border:1px solid rgba(49,91,76,.12);border-radius:17px;box-shadow:var(--shadow)}
.dc-light-stage-card {min-width:0;width:100%;margin:0;overflow:hidden}
.dc-light-stage-heading {padding:18px 21px 16px;display:flex;align-items:end;justify-content:space-between;gap:14px;background:#f1f0e6;border-bottom:1px solid var(--line)}
.dc-light-stage-heading h2,.dc-light-description h2 {margin:5px 0 5px;font:400 clamp(24px,2.3vw,31px)/1.05 'Instrument Serif',serif;color:var(--ink)}
.dc-light-stage-heading p {margin:0;color:#68766c;font-size:11px;line-height:1.5;max-width:390px}
.dc-light-view-label {flex:none;text-align:right;color:var(--pine);font-size:10px;font-weight:700;letter-spacing:.13em;line-height:1.8}
.dc-light-view-label span {color:var(--muted);font-size:9px;font-weight:500;letter-spacing:.02em}
.dc-light-film {position:relative;aspect-ratio:4/3;overflow:hidden;margin:13px 13px 0;width:calc(100% - 26px);border-radius:9px;background:#25302a;isolation:isolate}
.dc-light-film-poster,.dc-light-film video {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.dc-light-film video {z-index:0;opacity:1}
.dc-light-film-poster {z-index:2;opacity:1;transition:opacity .36s ease;pointer-events:none}
.dc-light-film-fallback {position:absolute;inset:0;z-index:3;overflow:hidden;background:#25302a;opacity:1;transition:opacity .36s ease}
.dc-light-film-fallback img {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform-origin:center;animation:dc-light-tour-fade 25s ease-in-out infinite both,dc-light-tour-zoom 25s linear infinite both;animation-delay:var(--photo-delay),var(--photo-delay);animation-play-state:paused}
.dc-light-film-fallback.is-running img {animation-play-state:running}
@keyframes dc-light-tour-fade {0%{opacity:0}8%,20%{opacity:1}28%,100%{opacity:0}}
@keyframes dc-light-tour-zoom {0%{transform:scale(.91)}28%,100%{transform:scale(1.1648)}}
/* The selected showcase explicitly includes zoom, including its photo fallback.
   Scope the exception here; other controls still honor reduced motion. */
.dc-light-film[data-motion="zoom"] .dc-light-film-fallback img {
  animation-name:dc-light-tour-fade,dc-light-tour-zoom;
  animation-duration:25s,25s!important;
  animation-iteration-count:infinite,infinite!important;
  animation-delay:var(--photo-delay),var(--photo-delay);
}
.dc-light-film.is-playing .dc-light-film-poster,.dc-light-film.is-playing .dc-light-film-fallback {opacity:0}
.dc-light-video-status {position:absolute;z-index:4;right:13px;bottom:11px;max-width:calc(100% - 26px);margin:0;padding:6px 9px;border:1px solid rgba(255,255,255,.2);border-radius:5px;background:rgba(35,46,39,.76);color:#f7f5ed;font-size:9px;line-height:1.4;backdrop-filter:blur(5px)}
.dc-light-film-note {margin:10px 16px 15px;color:var(--muted);font-size:10px}
.dc-light-description {display:flex;gap:15px;align-items:flex-start;padding:18px;margin:0}
.dc-light-description-mark {flex:none;width:38px;height:38px;border:1px solid #a8b99f;border-radius:50% 50% 50% 8px;background:radial-gradient(circle at 50% 50%,#e0c97f 0 15%,transparent 17%),linear-gradient(135deg,#e5eddf,#f5f1dc);position:relative}
.dc-light-description-mark:after {content:"";position:absolute;width:1px;height:31px;left:18px;top:-12px;background:#a8b99f;box-shadow:-11px 8px 0 -0.4px #a8b99f,11px 8px 0 -0.4px #a8b99f}
.dc-light-description .dc-kicker {font-size:9px}
.dc-light-description h2 {font-size:25px;margin:5px 0}
.dc-light-description p {margin:0;color:#68766c;font-size:11px;line-height:1.6}
.dc-intro:has(.dc-tunnel-switch) {align-items:flex-end}
[hidden] {display:none!important}
@media (max-width:850px) {
  .dc-light-stage-heading {padding:18px}
}
@media (max-width:560px) {
  .dc-tunnel-switch {display:flex;width:100%;margin:15px 0 12px}
  .dc-tunnel-switch button {flex:1;padding:10px 6px;font-size:11px}
  .dc-light-stage-card {border-radius:13px}
  .dc-light-stage-heading {display:block;padding:16px}
  .dc-light-stage-heading h2 {font-size:27px}
  .dc-light-stage-heading p {font-size:11px}
  .dc-light-view-label {text-align:left;margin-top:8px}
  .dc-light-film {width:calc(100% - 16px);margin:9px 8px 0;border-radius:8px}
  .dc-light-video-status {right:9px;bottom:8px;max-width:calc(100% - 18px);font-size:8px}
  .dc-light-film-note {margin:9px 11px 12px}
  .dc-light-description {gap:13px;padding:16px;border-radius:13px}
  .dc-light-description-mark {width:30px;height:30px}
  .dc-light-description-mark:after {left:14px;height:25px}
  .dc-light-description h2 {font-size:24px}
  .dc-light-description p {font-size:11px}
}
@media (prefers-reduced-motion:reduce) {
  .dc-light-film-poster,.dc-light-film-fallback {transition:none}
  .dc-light-film-fallback img {animation-name:dc-light-tour-fade;animation-duration:25s!important;animation-iteration-count:infinite!important;animation-delay:var(--photo-delay);transform:none}
}
.dc-loading {height:20px;border-radius:5px;background:linear-gradient(90deg,#eceee6,#f5f4ee,#eceee6);background-size:200% 100%;animation:dc-shimmer 1.5s ease-in-out infinite}
@keyframes dc-shimmer {to{background-position:-200% 0}}
.dc-stage-options {display:flex;align-items:center;gap:14px}
.dc-day-switch {display:flex;gap:2px;padding:3px;background:#e9e8dc;border-radius:8px}
.dc-day-switch button {border:0;background:transparent;border-radius:6px;padding:7px 11px;color:#68766c;font-size:11px;font-weight:700;cursor:pointer}
.dc-day-switch button[aria-pressed="true"] {background:var(--white);color:var(--pine);box-shadow:0 1px 5px rgba(40,60,49,.12)}
.dc-stage-palettes {padding:12px 16px 2px;border-top:1px solid var(--line);background:#fbfaf5}
.dc-stage-palettes .dc-control-label {display:block;margin:0 0 6px;font-size:11px}
.dc-stage-palettes .dc-control-label small {display:block;margin-top:2px;font-size:9px}
.dc-stage-palettes .dc-palette {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:9px}
.dc-stage-palettes .dc-light-palette {grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:4px}
.dc-stage-palettes .dc-swatch {width:100%;min-width:0;min-height:48px;padding:4px 2px;gap:4px;font-size:9px;line-height:1.1;white-space:normal;overflow-wrap:anywhere}
.dc-stage-palettes .dc-swatch[aria-pressed="true"] {padding:3px 1px}
.dc-stage-palettes .dc-swatch-dot {flex:0 0 13px;width:13px;height:13px}
.dc-stage-palettes .dc-light-sync-status {margin:0 0 8px;font-size:9px;line-height:1.35}
.dc-image-scene {background:#d8dbcf}
.dc-image-scene img {position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:none;transition:filter .4s}
.dc-photo-composition {position:absolute;z-index:4;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
.dc-photo-arch {position:absolute;left:var(--x-position);top:auto;bottom:var(--depth-bottom);width:var(--arch-width);height:var(--arch-height);background-image:var(--arch-image);background-repeat:no-repeat;background-position:center;background-size:100% 100%;filter:drop-shadow(0 3px 2px rgba(28,39,30,.22));transform:none;transform-origin:bottom center;pointer-events:none;animation:dc-arch-in .32s ease-out both}
.dc-photo-arch.from-reverse {transform:scaleX(-1)}
.dc-photo-arch::before {display:none}
.dc-photo-arch.light-on {filter:drop-shadow(0 0 4px color-mix(in srgb,var(--light-color) 58%,transparent)) drop-shadow(0 3px 3px rgba(28,39,30,.3))}
.dc-photo-arch.light-on::before {display:block;content:"";position:absolute;inset:0;background:var(--light-color);opacity:.30;mix-blend-mode:screen;mask-image:var(--arch-image);mask-mode:alpha;mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-image:var(--arch-image);-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%;pointer-events:none}
.dc-photo-arch.light-on::after {content:"";position:absolute;z-index:0;left:-20%;right:-20%;top:73%;bottom:-6%;background:radial-gradient(ellipse at 50% 68%,color-mix(in srgb,var(--light-color) 48%,transparent),transparent 72%);filter:blur(5px);mix-blend-mode:screen;opacity:.55;pointer-events:none}
.dc-image-scene.is-night {background:#202b28}
.dc-image-scene.is-night #scenePhoto {filter:brightness(.43) saturate(.72) contrast(1.08)}
.dc-image-scene.is-night:after {inset:0;background:linear-gradient(180deg,rgba(14,27,24,.16),rgba(11,22,19,.42))}
.dc-image-scene.is-night .dc-photo-hint {background:rgba(28,44,38,.88);color:#f3f1e5}
.dc-image-scene.is-night .dc-photo-caption {color:#f1eee1}
.dc-arc-row {grid-template-columns:minmax(0,1fr) auto auto}
.dc-row-sides {display:flex;gap:4px}
.dc-side-choice.is-missing {border-style:dashed;opacity:.58}
.dc-side-choice.is-active {background:var(--mint);border-color:var(--leaf)}
.dc-mini-action:disabled {opacity:.3;cursor:not-allowed}
.dc-half-actions {display:flex;gap:8px;margin-top:13px}
.dc-half-actions .dc-ghost {font-size:10px;padding:9px 6px}
.dc-light-palette .dc-swatch:disabled {opacity:.45}
.dc-recommendation {margin-top:12px;padding:12px;background:#f8f1e1;border:1px solid #e8dfc8;border-radius:9px;font-size:10px;line-height:1.5;color:#5c604d}
.dc-recommendation strong {color:var(--pine);font-size:11px}
.dc-recommendation p {margin:5px 0 9px}
.dc-recommendation-actions {display:flex;gap:7px}
.dc-recommendation-actions button {flex:1;border:1px solid #b8c4b3;border-radius:7px;background:#fbfaf4;padding:8px 5px;color:var(--pine);font-size:9px;font-weight:700;cursor:pointer}
.dc-recommendation-actions button:hover {background:#e7eee4}
.dc-plan-handle[aria-pressed="true"] {outline:3px solid var(--coral);outline-offset:3px}
.dc-plan-handle.is-right {border-radius:5px}
.dc-arrangement-actions {display:flex;gap:8px;margin:0 0 12px}
.dc-arrangement-actions button {flex:1;border:1px solid #cfd8ce;border-radius:8px;background:#faf9f4;padding:9px 7px;color:var(--pine);font-size:10px;font-weight:700;cursor:pointer}
.dc-arrangement-actions button[aria-pressed="true"] {background:var(--mint);border-color:var(--leaf)}
.dc-arrangement-actions button:hover {background:#e8eee5}
.dc-arc-select[aria-pressed="true"] {color:var(--pine)}
.dc-arc-select {display:block;min-height:40px;padding:4px 0;border:0;background:transparent;color:var(--ink);font-family:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}
.dc-side-choice,[data-reflector-side] {cursor:pointer}
.dc-side-choice:focus-visible,[data-reflector-side]:focus-visible,.dc-arrangement-actions button:focus-visible,.dc-arc-select:focus-visible {outline:2px solid var(--coral);outline-offset:2px}
@keyframes dc-arch-in {from{opacity:0}to{opacity:1}}
@media (max-width:850px) {
  .dc-layout {grid-template-columns:minmax(0,1fr);max-width:760px}
  .dc-intro {max-width:760px}
  .dc-side {grid-template-columns:1fr}
}
@media (max-width:560px) {
  .dc-topbar {height:65px;padding:0 16px}
  .dc-nav {gap:12px;font-size:11px}
  .dc-brand-name {font-size:11px}
  .dc-brand-sub {font-size:8px}
  .dc-intro {padding-top:25px;display:block}
  .dc-intro h1 {font-size:42px}
  .dc-layout {padding:0 12px 36px;gap:13px}
  .dc-stage-card,.dc-panel {border-radius:13px}
  .dc-stage-top {padding:12px;align-items:start;flex-direction:column}
  .dc-stage-options {width:100%;justify-content:space-between}
  .dc-stage-options .dc-orientation {max-width:52%;font-size:9px}
  .dc-stage-palettes {padding:10px 9px 1px}
  .dc-stage-palettes .dc-palette {gap:4px}
  .dc-stage-palettes .dc-swatch {min-height:48px;padding:4px 1px;font-size:8px}
  .dc-stage-palettes .dc-swatch[aria-pressed="true"] {padding:3px 0}
  .dc-stage-palettes .dc-control-label {font-size:10px}
  .dc-stage-palettes .dc-control-label small {font-size:9px}
  .dc-view-switch {width:100%}
  .dc-view-switch button {flex:1;padding:9px 6px}
   .dc-image-scene {height:auto;max-height:none;aspect-ratio:3/4}
  .dc-plan-wrap {padding:18px 12px}
  .dc-plan {margin-left:4px;margin-right:4px}
  .dc-stage-foot {align-items:flex-start;flex-direction:column;gap:8px}
  .dc-panel {padding:17px}
  .dc-half-actions .dc-ghost {font-size:9px}
  .dc-arc-row {grid-template-columns:minmax(0,1fr) auto auto;padding:8px 7px}
  .dc-arc-sub {font-size:8px}
}
@media (max-width:360px) {
  .dc-arrangement-actions {gap:5px}
  .dc-arrangement-actions button {font-size:9px;padding:8px 4px}
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Keep the real scene at the heart of the first screen. */
.dc-intro {padding-top:22px;padding-bottom:13px;align-items:flex-start}
.dc-intro h1 {margin:5px 0 0;font-size:clamp(32px,3.8vw,46px)}
.dc-tunnel-switch {margin:11px 0 7px}
.dc-stage-top {padding:11px 14px;gap:9px}
.dc-view-switch button {padding:8px 11px}
.dc-layout-view-hint {margin:0;padding:8px 15px 9px;border-top:1px solid var(--line);background:#fbfaf5}
.dc-quote-total > div {display:flex;flex-direction:column;gap:2px}
.dc-quote-total > div > span {font-size:10px;color:var(--muted)}
.dc-quote-line.is-lights {justify-content:flex-end;margin-bottom:8px}

@media (max-width:560px) {
  .dc-intro {padding:14px 16px 10px}
  .dc-intro h1 {font-size:34px;line-height:1}
  .dc-intro .dc-kicker {font-size:9px;letter-spacing:.14em}
  .dc-tunnel-switch {margin:9px 0 6px;padding:3px}
  .dc-tunnel-switch button {padding:8px 5px}
  .dc-layout {padding-top:0}
  .dc-stage-top {padding:9px;gap:7px}
  .dc-view-switch button {padding:8px 5px;font-size:10px}
  .dc-stage-options {gap:6px}
  .dc-stage-options .dc-orientation {font-size:8px;max-width:46%}
  .dc-day-switch button {padding:6px 8px;font-size:10px}
  .dc-layout-view-hint {padding:7px 10px;font-size:9px}
  .dc-light-film {aspect-ratio:4/3}
}