/*
 * Carnet Studio 5.1 Premium UI
 * Visual refinement layer, designed to stay isolated from Twenty Twenty-Five.
 */
:root {
  --cvi-premium-font: var(--wp--preset--font-family--manrope, Manrope, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --cvi-premium-serif: var(--wp--preset--font-family--libre-franklin, Georgia, "Times New Roman", serif);
}

/* Shared design system */
.cvi-studio-landing,
.cvi-portal {
  --cvi-navy: #102a3a;
  --cvi-ink: #102a3a;
  --cvi-blue: #0e7e9d;
  --cvi-blue-dark: #07566f;
  --cvi-aqua: #57c9bf;
  --cvi-sun: #f4bd61;
  --cvi-coral: #ef7e69;
  --cvi-paper: #f6f2ea;
  --cvi-muted: #687980;
  --cvi-line: rgba(16, 42, 58, .105);
  --cvi-white: #fff;
  --cvi-radius-xs: 10px;
  --cvi-radius-sm: 14px;
  --cvi-radius-md: 20px;
  --cvi-radius-lg: 28px;
  --cvi-radius-xl: 38px;
  --cvi-shadow-sm: 0 8px 24px rgba(16, 42, 58, .07);
  --cvi-shadow-md: 0 22px 60px rgba(16, 42, 58, .11);
  --cvi-shadow-lg: 0 38px 100px rgba(16, 42, 58, .16);
  font-family: var(--cvi-premium-font);
  font-variation-settings: "wght" 500;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.cvi-studio-landing :focus-visible,
.cvi-portal :focus-visible,
.cf-trip :focus-visible {
  outline: 3px solid rgba(87, 201, 191, .45);
  outline-offset: 3px;
}
.cvi-studio-landing button,
.cvi-studio-landing a,
.cvi-portal button,
.cvi-portal a { -webkit-tap-highlight-color: transparent; }

/* Standalone pages */
body.cvi-studio-standalone {
  background:
    radial-gradient(circle at 0 0, rgba(87,201,191,.12), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(244,189,97,.11), transparent 28%),
    #edf2f1;
}
body.cvi-studio-login-page .cvi-studio-page-shell,
body.cvi-studio-portal-page .cvi-studio-page-shell { padding: 16px; }
body.cvi-studio-login-page .cvi-portal,
body.cvi-studio-portal-page .cvi-portal { width: min(1580px, 100%); }

/* Buttons */
.cvi-landing-button,
.cvi-primary-button,
.cvi-secondary-button,
.cvi-back-button,
.cvi-icon-button,
.cvi-danger-button {
  min-height: 46px;
  border-radius: 14px;
  font-weight: 800;
  letter-spacing: -.015em;
}
.cvi-landing-button,
.cvi-primary-button {
  background: linear-gradient(135deg, #0f819f 0%, #08637d 100%);
  border-color: transparent;
  box-shadow: 0 12px 30px rgba(14, 126, 157, .23), inset 0 1px rgba(255,255,255,.19);
}
.cvi-landing-button:hover,
.cvi-primary-button:hover {
  background: linear-gradient(135deg, #087590 0%, #064e65 100%);
  box-shadow: 0 17px 38px rgba(14, 126, 157, .29), inset 0 1px rgba(255,255,255,.18);
}
.cvi-secondary-button,
.cvi-landing-button--ghost {
  border-color: rgba(16,42,58,.12);
  background: rgba(255,255,255,.86);
  box-shadow: 0 7px 20px rgba(16,42,58,.045);
  backdrop-filter: blur(12px);
}
.cvi-secondary-button:hover,
.cvi-landing-button--ghost:hover {
  border-color: rgba(14,126,157,.25);
  background: #fff;
  box-shadow: 0 11px 26px rgba(16,42,58,.075);
}

/* Landing: premium editorial composition */
.cvi-studio-landing { background: #fff; overflow: clip; }
.cvi-landing-wrap { width: min(1240px, calc(100% - 48px)); }
.cvi-landing-hero {
  min-height: 860px;
  padding: 20px 0 116px;
  background:
    radial-gradient(circle at 83% 3%, rgba(87,201,191,.25), transparent 30%),
    radial-gradient(circle at 6% 78%, rgba(244,189,97,.21), transparent 27%),
    linear-gradient(180deg, #fbfdfc 0%, #f4f8f6 65%, #fff 100%);
}
.cvi-landing-hero::before {
  top: 110px;
  width: 720px;
  height: 720px;
  border-color: rgba(14,126,157,.06);
  box-shadow: 0 0 0 58px rgba(14,126,157,.018), 0 0 0 116px rgba(14,126,157,.012);
}
.cvi-landing-nav {
  position: sticky;
  top: 14px;
  z-index: 60;
  min-height: 68px;
  margin-top: 0;
  padding: 9px 10px 9px 14px;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 14px 42px rgba(16,42,58,.08);
  backdrop-filter: blur(22px) saturate(145%);
}
.admin-bar .cvi-landing-nav { top: 46px; }
.cvi-landing-brand { font-size: 16px; }
.cvi-landing-brand i {
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background: linear-gradient(145deg, #ffd27b, #efae43);
  box-shadow: 0 10px 24px rgba(239,174,67,.23);
}
.cvi-landing-link { position: relative; font-weight: 750; }
.cvi-landing-link::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 6px;
  height: 2px;
  border-radius: 99px;
  background: var(--cvi-aqua);
  transform: scaleX(0);
  transition: transform .2s ease;
}
.cvi-landing-link:hover::after { transform: scaleX(1); }
.cvi-landing-hero-grid {
  grid-template-columns: minmax(0, .91fr) minmax(520px, 1.09fr);
  gap: clamp(46px, 6vw, 92px);
  padding-top: 96px;
}
.cvi-landing-eyebrow {
  padding: 9px 13px;
  border-color: rgba(14,126,157,.12);
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 24px rgba(16,42,58,.035);
}
.cvi-landing-copy h1 {
  max-width: 690px;
  margin: 24px 0 24px;
  font-size: clamp(58px, 6.3vw, 94px);
  line-height: .94;
  letter-spacing: -.073em;
  text-wrap: balance;
}
.cvi-landing-copy h1 em {
  color: transparent;
  background: linear-gradient(125deg, #0f819f 0%, #45b9ae 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.cvi-landing-copy > p { max-width: 610px; color: #62737b; line-height: 1.7; }
.cvi-landing-hero-actions { margin-top: 35px; }
.cvi-landing-trust { gap: 22px; margin-top: 31px; }
.cvi-landing-trust span::before { box-shadow: inset 0 0 0 1px rgba(13,110,104,.08); }

.cvi-landing-demo { min-height: 620px; }
.cvi-landing-demo::before {
  inset: 6% -8% -5% 8%;
  background: radial-gradient(circle, rgba(14,126,157,.20), transparent 66%);
  filter: blur(34px);
}
.cvi-demo-window {
  inset: 35px 0 auto;
  padding: 11px;
  border-radius: 32px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 42px 105px rgba(16,42,58,.18), inset 0 1px rgba(255,255,255,.8);
  transform: rotateY(-5deg) rotateX(2deg);
}
.cvi-demo-cover { height: 330px; border-radius: 22px; }
.cvi-demo-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.13) 46%, transparent 68%);
  transform: translateX(-120%);
  animation: cvi-premium-shine 7.5s ease-in-out infinite;
}
.cvi-demo-cover strong { font-size: 46px; }
.cvi-demo-card { min-height: 138px; border: 1px solid rgba(16,42,58,.05); }
.cvi-demo-card:first-child { background: linear-gradient(145deg, #0e7896, #103849); }
.cvi-demo-float { border-radius: 17px; box-shadow: 0 18px 48px rgba(16,42,58,.13); }

.cvi-landing-strip { margin-top: -43px; }
.cvi-landing-strip-inner {
  border-radius: 26px;
  box-shadow: 0 28px 75px rgba(16,42,58,.09);
}
.cvi-landing-strip-inner div { padding: 27px 22px; }
.cvi-landing-strip strong { font-size: 17px; }
.cvi-landing-section { padding: 126px 0; }
.cvi-landing-section-heading { margin-bottom: 62px; }
.cvi-landing-section-heading h2,
.cvi-landing-split-copy h2,
.cvi-landing-final-card h2 { text-wrap: balance; }
.cvi-landing-features { gap: 20px; }
.cvi-feature-card {
  min-height: 255px;
  padding: 31px;
  border-radius: 24px;
  box-shadow: 0 3px 0 rgba(16,42,58,.018);
}
.cvi-feature-card::after {
  content: "";
  position: absolute;
  right: -44px;
  bottom: -44px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(87,201,191,.11), transparent 68%);
  transition: transform .3s ease;
}
.cvi-feature-card:hover::after { transform: scale(1.35); }
.cvi-feature-card__icon { width: 52px; height: 52px; border-radius: 16px; }
.cvi-feature-card h3 { margin-top: 27px; }
.cvi-process-card { padding: 35px 30px; }
.cvi-process-card::after { height: 4px; background: linear-gradient(90deg, var(--cvi-aqua), var(--cvi-blue)); }
.cvi-security-card { border-radius: 36px; box-shadow: 0 34px 90px rgba(16,42,58,.17); }
.cvi-security-lock { border-radius: 27px; }
.cvi-landing-final-card {
  padding: clamp(46px, 6vw, 82px);
  border-radius: 36px;
  background:
    radial-gradient(circle at 90% 10%, rgba(87,201,191,.22), transparent 28%),
    linear-gradient(135deg, #0d7793, #102a3a 75%);
  box-shadow: 0 35px 90px rgba(16,42,58,.15);
}

/* Login */
.cvi-auth-page {
  min-height: calc(100vh - 32px);
  grid-template-columns: minmax(0, 1.13fr) minmax(430px, .87fr);
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 32px;
  box-shadow: var(--cvi-shadow-lg);
}
.cvi-auth-art {
  min-height: calc(100vh - 32px);
  padding: 48px clamp(38px, 5vw, 82px);
  background:
    linear-gradient(115deg, rgba(8,48,62,.92), rgba(8,48,62,.38)),
    url('../media/mediterranean-luxe.svg') center/cover;
}
.cvi-auth-art::before { width: 620px; height: 620px; }
.cvi-auth-art__copy { margin-top: clamp(100px, 15vh, 170px); }
.cvi-auth-art__copy h1 { max-width: 710px; font-size: clamp(50px, 5.5vw, 82px); line-height: .94; text-wrap: balance; }
.cvi-auth-art__copy p { max-width: 600px; line-height: 1.7; }
.cvi-auth-features span {
  padding: 10px 14px;
  background: rgba(255,255,255,.095);
  backdrop-filter: blur(10px);
}
.cvi-auth-preview {
  right: clamp(-90px, -3vw, -30px);
  bottom: -65px;
  border-radius: 28px;
  background: rgba(255,255,255,.15);
  transform: rotate(-2.5deg);
}
.cvi-auth-panel { padding: 54px clamp(32px, 5vw, 82px); background: rgba(255,255,255,.98); }
.cvi-auth-panel__inner { width: min(100%, 450px); }
.cvi-auth-tabs { padding: 5px; border-radius: 16px; background: #edf2f2; }
.cvi-auth-tabs button { padding: 13px 14px; border-radius: 12px; }
.cvi-auth-tabs button.is-active { box-shadow: 0 7px 22px rgba(16,42,58,.08); }
.cvi-auth-heading h2 { font-size: 35px; }
.cvi-auth-form input,
.cvi-field input,
.cvi-field textarea,
.cvi-field select {
  min-height: 48px;
  border-color: rgba(16,42,58,.12);
  border-radius: 14px;
  background: #fafcfb;
}
.cvi-auth-form input:hover,
.cvi-field input:hover,
.cvi-field textarea:hover,
.cvi-field select:hover { border-color: rgba(14,126,157,.3); }

/* Application shell and dashboard */
.cvi-app-shell {
  min-height: calc(100vh - 32px);
  grid-template-columns: 266px minmax(0, 1fr);
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 32px;
  background: #f4f6f5;
  box-shadow: var(--cvi-shadow-lg);
}
.cvi-app-sidebar {
  min-height: calc(100vh - 32px);
  padding: 31px 20px 23px;
  background:
    radial-gradient(circle at 25% 5%, rgba(87,201,191,.16), transparent 27%),
    linear-gradient(180deg, #11384a 0%, #0b2633 100%);
}
.cvi-app-logo { margin-bottom: 42px; font-size: 17px; }
.cvi-app-sidebar nav { gap: 8px; }
.cvi-app-sidebar nav button {
  min-height: 47px;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-weight: 760;
}
.cvi-app-sidebar nav button:hover { background: rgba(255,255,255,.075); }
.cvi-app-sidebar nav button.is-active {
  border-color: rgba(255,255,255,.10);
  background: linear-gradient(135deg, rgba(255,255,255,.15), rgba(255,255,255,.075));
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 12px 25px rgba(0,0,0,.10);
}
.cvi-app-sidebar__tip { padding: 17px; border-radius: 18px; }
.cvi-app-topbar {
  height: 82px;
  padding: 0 clamp(28px, 4vw, 54px);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(20px) saturate(145%);
}
.cvi-user-chip > span {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(145deg, #0f819f, #48b9ae);
  box-shadow: 0 8px 20px rgba(14,126,157,.18);
}
.cvi-dashboard-view,
.cvi-editor-view { padding: clamp(34px, 4.2vw, 58px); }
.cvi-dashboard-heading h1,
.cvi-editor-heading input { font-size: clamp(37px, 4vw, 53px); line-height: .98; }
.cvi-dashboard-heading p { margin-top: 9px; font-size: 15px; }
.cvi-dashboard-stats { gap: 18px; margin: 32px 0; }
.cvi-dashboard-stat {
  position: relative;
  overflow: hidden;
  min-height: 102px;
  padding: 22px;
  border-color: rgba(16,42,58,.085);
  border-radius: 20px;
  box-shadow: 0 8px 28px rgba(16,42,58,.045);
}
.cvi-dashboard-stat::after {
  content: "";
  position: absolute;
  width: 84px;
  height: 84px;
  right: -31px;
  bottom: -31px;
  border-radius: 50%;
  background: rgba(87,201,191,.10);
}
.cvi-dashboard-stat:nth-child(2)::after { background: rgba(244,189,97,.14); }
.cvi-dashboard-stat:nth-child(3)::after { background: rgba(239,126,105,.11); }
.cvi-dashboard-stat strong { font-size: 31px; }
.cvi-album-grid { gap: 24px; }
.cvi-album-card {
  border-color: rgba(16,42,58,.09);
  border-radius: 24px;
  box-shadow: 0 8px 28px rgba(16,42,58,.055);
}
.cvi-album-card:hover { transform: translateY(-6px); box-shadow: 0 25px 55px rgba(16,42,58,.14); }
.cvi-album-cover { height: 220px; }
.cvi-album-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(7,37,49,.18));
  pointer-events: none;
}
.cvi-status-pill {
  left: 15px;
  top: 15px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.cvi-album-card__body { padding: 21px; }
.cvi-album-card__body h3 { font-size: 22px; }
.cvi-album-meta { margin-top: 8px; }
.cvi-album-actions { margin-top: 17px; }
.cvi-card-menu > button { border-radius: 13px; }
.cvi-empty-dashboard,
.cvi-empty-days {
  padding: 82px 34px;
  border-radius: 26px;
  background: rgba(255,255,255,.66);
  box-shadow: inset 0 1px rgba(255,255,255,.8);
}

/* Editor */
.cvi-editor-topline {
  position: sticky;
  top: 0;
  z-index: 42;
  margin: -18px -20px 0;
  padding: 15px 20px;
  border: 1px solid rgba(16,42,58,.075);
  border-radius: 17px;
  background: rgba(247,249,248,.88);
  box-shadow: 0 10px 35px rgba(16,42,58,.065);
  backdrop-filter: blur(20px) saturate(145%);
}
.cvi-editor-heading { margin-top: 38px; }
.cvi-editor-heading input { letter-spacing: -.06em; }
.cvi-editor-tabs {
  top: 82px;
  margin-top: 31px;
  padding: 7px;
  border-color: rgba(16,42,58,.09);
  border-radius: 17px;
  background: rgba(240,244,243,.9);
  box-shadow: 0 8px 26px rgba(16,42,58,.045);
}
.cvi-editor-tabs button { min-height: 42px; padding: 10px 16px; border-radius: 12px; }
.cvi-editor-tabs button.is-active { box-shadow: 0 8px 24px rgba(16,42,58,.09); }
.cvi-editor-card {
  padding: clamp(23px, 3vw, 32px);
  border-color: rgba(16,42,58,.09);
  border-radius: 24px;
  box-shadow: 0 9px 30px rgba(16,42,58,.045);
}
.cvi-editor-card:hover { border-color: rgba(14,126,157,.14); }
.cvi-card-title > span {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
  border-radius: 13px;
  background: linear-gradient(145deg, #e6f7f5, #eff8fa);
}
.cvi-card-title h2 { font-size: 22px; }
.cvi-cover-picker { height: 350px; border-radius: 20px; }
.cvi-day-editor {
  border-color: rgba(16,42,58,.10);
  border-radius: 22px;
  box-shadow: 0 7px 24px rgba(16,42,58,.035);
}
.cvi-day-editor__head { padding: 16px 18px; }
.cvi-day-number {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(145deg, #0f819f, #48b9ae);
  box-shadow: 0 8px 18px rgba(14,126,157,.17);
}
.cvi-day-head-actions button { border-radius: 11px; }
.cvi-memory-editor { border-radius: 20px; }
.cvi-publish-box {
  border-radius: 25px;
  background:
    radial-gradient(circle at 90% 0, rgba(87,201,191,.18), transparent 35%),
    linear-gradient(135deg, #103849, #0c2633);
  box-shadow: 0 24px 65px rgba(16,42,58,.15);
}
.cvi-live-preview-panel { border-radius: 26px; box-shadow: 0 30px 95px rgba(9,42,55,.27); }
.cvi-onboarding,
.cvi-account-modal { border-radius: 30px; box-shadow: 0 38px 110px rgba(0,0,0,.28); }
.cvi-theme-card,
.cvi-onboarding-theme { border-radius: 18px; }
.cvi-share-qr { border-radius: 23px; }

/* Public albums */
.cf-trip {
  --cf-ink: #102a3a;
  --cf-muted: #687980;
  --cf-paper: #f6f2ea;
  --cf-card: #fff;
  --cf-radius: 30px;
  --cf-shadow: 0 26px 80px rgba(16,42,58,.13);
  font-family: var(--cvi-premium-font);
  -webkit-font-smoothing: antialiased;
}
.cf-trip .cf-hero { min-height: min(940px, 96vh); }
.cf-trip .cf-hero::after {
  background:
    linear-gradient(180deg, rgba(4,28,39,.18), rgba(4,28,39,.16) 35%, rgba(4,28,39,.79) 100%),
    linear-gradient(100deg, rgba(4,28,39,.67), transparent 67%);
}
.cf-trip .cf-hero__inner { padding-top: 150px; }
.cf-trip .cf-hero h1 {
  max-width: 1000px;
  font-family: var(--cvi-premium-serif);
  font-size: clamp(4.4rem, 9.3vw, 9.2rem);
  line-height: .87;
  letter-spacing: -.06em;
  text-shadow: 0 10px 40px rgba(0,0,0,.17);
}
.cf-trip .cf-hero__lead { line-height: 1.7; }
.cf-trip .cf-btn { border-radius: 15px; }
.cf-trip .cf-controls {
  border-radius: 32px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 30px 90px rgba(16,42,58,.15);
}
.cf-trip .cf-day-nav button { border-radius: 13px; }
.cf-trip .cf-search { border-radius: 14px; }
.cf-trip .cf-map-card,
.cf-trip .cf-day__card,
.cf-trip .cf-memory,
.cf-trip .cf-guestbook__form { border-radius: 30px; }
.cf-trip .cf-day__card { box-shadow: 0 20px 65px rgba(16,42,58,.095); }
.cf-trip .cf-day__pin { box-shadow: 0 10px 25px rgba(14,126,157,.19); }
.cf-trip .cf-memory { transition: transform .3s ease, box-shadow .3s ease; }
.cf-trip .cf-memory:hover { transform: translateY(-5px); box-shadow: 0 23px 55px rgba(16,42,58,.16); }
.cf-trip .cf-memory img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.cf-trip .cf-memory:hover img { transform: scale(1.035); }
.cf-trip .cf-finale { border-radius: 38px; }
.cf-trip .cf-share-modal__dialog { border-radius: 32px; }

@keyframes cvi-premium-shine {
  0%, 55% { transform: translateX(-120%); }
  75%, 100% { transform: translateX(120%); }
}

@media (max-width: 1120px) {
  .cvi-landing-hero-grid { grid-template-columns: 1fr; }
  .cvi-landing-copy { text-align: center; }
  .cvi-landing-copy h1,
  .cvi-landing-copy > p { margin-inline: auto; }
  .cvi-landing-hero-actions,
  .cvi-landing-trust { justify-content: center; }
  .cvi-landing-demo { width: min(760px, 100%); margin: 0 auto; }
  .cvi-app-shell { grid-template-columns: 238px minmax(0,1fr); }
  .cvi-album-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 900px) {
  body.cvi-studio-login-page .cvi-studio-page-shell,
  body.cvi-studio-portal-page .cvi-studio-page-shell { padding: 0; }
  .cvi-auth-page,
  .cvi-app-shell { min-height: 100vh; border-radius: 0; border: 0; }
  .cvi-auth-art { min-height: 500px; }
  .cvi-editor-topline { top: 8px; }
  .cvi-editor-tabs { top: 82px; }
}

@media (max-width: 760px) {
  .cvi-landing-wrap { width: min(100% - 26px, 1240px); }
  .cvi-landing-nav { top: 8px; min-height: 62px; border-radius: 17px; }
  .admin-bar .cvi-landing-nav { top: 52px; }
  .cvi-landing-hero { padding-top: 8px; }
  .cvi-landing-hero-grid { padding-top: 65px; }
  .cvi-landing-copy h1 { font-size: clamp(49px, 14vw, 69px); }
  .cvi-demo-window { transform: none; }
  .cvi-landing-section { padding: 88px 0; }
  .cvi-auth-art { display: none; }
  .cvi-auth-page { grid-template-columns: 1fr; }
  .cvi-auth-panel { min-height: 100vh; padding: 35px 22px; }
  .cvi-auth-mobile-brand { display: flex; }
  .cvi-dashboard-view,
  .cvi-editor-view { padding: 25px 16px 42px; }
  .cvi-dashboard-heading h1,
  .cvi-editor-heading input { font-size: 38px; }
  .cvi-dashboard-stats { gap: 10px; }
  .cvi-dashboard-stat { min-height: 90px; padding: 17px; }
  .cvi-album-grid { grid-template-columns: 1fr; }
  .cvi-album-cover { height: 215px; }
  .cvi-editor-topline { margin: -10px 0 0; padding: 11px 10px; border-radius: 15px; }
  .cvi-editor-tabs { top: 72px; }
  .cf-trip .cf-hero h1 { font-size: clamp(3.8rem, 18vw, 6.5rem); }
  .cf-trip .cf-controls { border-radius: 23px; }
}

@media (max-width: 480px) {
  .cvi-landing-brand strong { display: none; }
  .cvi-landing-nav { padding-left: 9px; }
  .cvi-landing-links { gap: 6px; }
  .cvi-landing-links .cvi-landing-button { font-size: 12px; padding-inline: 11px; }
  .cvi-landing-copy h1 { letter-spacing: -.065em; }
  .cvi-demo-float--one { display: none; }
  .cvi-dashboard-stats { grid-template-columns: 1fr; }
  .cvi-dashboard-stat:last-child { grid-column: auto; }
  .cvi-album-card { border-radius: 21px; }
  .cvi-editor-card { border-radius: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .cvi-demo-cover::after { animation: none; }
  .cvi-memory img { transition: none !important; }
}
