/* Contrapunt · presentation only. Existing selectors, controls and events remain. */
/* Font declarations kept in the existing final stylesheet; HTML load order unchanged. */
/* Local fonts · SIL Open Font License 1.1. */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/bodoni-moda-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/bodoni-moda-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/bodoni-moda-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/bodoni-moda-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/bodoni-moda-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/bodoni-moda-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/bodoni-moda-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/bodoni-moda-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{
  --cp-wine:#562438;--cp-wine-deep:#401a2a;--cp-wine-light:#762e43;
  --cp-paper:#f6f2e9;--cp-panel:#fffdf8;--cp-ink:#332128;--cp-muted:#705d62;
  --cp-line:#c9b8b9;--cp-soft:#eee4e2;--cp-brass:#d3b77b;--cp-on-wine:#faf4e8;
  --ink:var(--cp-ink);--muted:var(--cp-muted);--paper:var(--cp-paper);
  --paper2:var(--cp-soft);--white:var(--cp-panel);--cream:var(--cp-paper);
  --accent:var(--cp-wine-light);--accent-dark:var(--cp-wine-deep);
  --line:var(--cp-line);--dark:var(--cp-wine);--green:#365746;
  --serif:'Bodoni Moda','Noto Serif CJK KR','Noto Serif CJK SC',Georgia,serif;
  --sans:'Source Sans 3','Noto Sans KR','Noto Sans SC',Arial,sans-serif;
}
html{background:var(--cp-paper);scroll-padding-top:24px}
body{background:var(--cp-paper);color:var(--cp-ink);font-family:var(--sans);font-size:17px;line-height:1.55}
body :is(h1,h2,h3){font-family:var(--serif);font-weight:400;line-height:1.14;letter-spacing:-.018em}
body :is(h1,h2,h3,p,li,dd){overflow-wrap:break-word}
body :is(button,input,select,textarea){font-family:var(--sans)}
body a{text-underline-offset:.2em}
body :is(input,select,textarea){accent-color:var(--cp-wine-light)}
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--cp-wine-light);outline-offset:4px}
.shell{width:min(1160px,calc(100% - 64px))}
body .eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--cp-wine-light)}
body :is(.lead,.commercial-lead){color:var(--cp-muted);font-size:18px;line-height:1.6}
body :is(.muted,.micro,.small-lead,.platform-status,.account-status,.download-status){color:var(--cp-muted)}

/* The original mark and wordmark are arranged horizontally, without redrawing. */
body .nav{height:auto;min-height:94px;padding-top:15px;padding-bottom:15px;border-bottom:1px solid var(--cp-line);gap:18px}
body .nav .brand-logo{display:block;position:relative;flex:none;width:294px;max-width:calc(100% - 56px);height:58px;overflow:hidden;background:url('/assets/liedtext-mark-192.png') left center/48px 48px no-repeat}
body .nav .brand-logo img{position:absolute;left:64px;top:-91px;width:230px;height:auto;max-width:none;max-height:none;clip-path:inset(104px 0 44px 0);object-fit:initial}
body .nav-actions{gap:23px}
body :is(.nav-link,.lang-menu summary,.account-menu summary,.nav-account-button){font-family:var(--sans);font-size:15px;color:var(--cp-ink);font-weight:500}
body :is(.account-menu-list,.lang-menu-list){border:1px solid var(--cp-line);border-radius:0;background:var(--cp-panel);color:var(--cp-ink);box-shadow:0 12px 28px #56243816}
body :is(.account-menu-list,.lang-menu-list) :is(a,button):hover{background:var(--cp-soft);color:var(--cp-wine)}
body :is(.account-menu-list,.lang-menu-list) .current{background:var(--cp-soft);color:var(--cp-wine)}
body .mobile-nav-toggle{border-color:var(--cp-line);border-radius:0;color:var(--cp-wine);background:var(--cp-panel)}

/* Shared actions: retain busy, disabled, selected and validation behaviour. */
body .button{border-radius:0;min-height:46px;padding:11px 19px;font-size:15px;font-weight:600;line-height:1.35;box-shadow:none;text-align:center;white-space:normal}
body .button.primary{background:var(--cp-wine-light);color:var(--cp-panel);border:1px solid var(--cp-wine-light)}
body .button.primary:hover{background:var(--cp-wine-deep);border-color:var(--cp-wine-deep);transform:none}
body :is(.button.secondary,.button.ghost){background:transparent;border:1px solid var(--cp-line);color:var(--cp-wine)}
body :is(.button.secondary,.button.ghost):hover{background:var(--cp-soft);border-color:var(--cp-wine-light);transform:none}
body .button.light{background:var(--cp-panel);color:var(--cp-wine);border:1px solid var(--cp-panel)}
body .button.small{min-height:38px;padding:8px 12px;font-size:14px}
body :is(.text-link,.admin-inline-button,.return-link,.back){color:var(--cp-wine-light)}
body button:disabled{opacity:.55;transform:none;box-shadow:none}

/* Homepage: the recital-poster contrast of the approved direction. */
body .commercial-hero{background:var(--cp-wine);color:var(--cp-on-wine);box-shadow:0 0 0 100vmax var(--cp-wine);clip-path:inset(0 -100vmax);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:54px;padding-top:44px;padding-bottom:52px}
body .commercial-hero-copy h1{font:400 clamp(42px,5vw,65px)/1.08 var(--serif);letter-spacing:-.025em;margin:14px 0 23px;max-width:15ch}
body .commercial-hero :is(.commercial-lead,.commercial-included){color:var(--cp-on-wine)}
body .commercial-hero .eyebrow{color:var(--cp-brass)}
body .commercial-hero .button.primary{background:var(--cp-brass);border-color:var(--cp-brass);color:var(--cp-wine-deep)}
body .commercial-hero .button.primary:hover{background:#e2cb9d;border-color:#e2cb9d}
body .commercial-hero .button.ghost{color:var(--cp-on-wine);border-color:#b78b97;background:transparent}
body .commercial-product-pair{grid-template-columns:minmax(0,1fr) 132px;gap:16px;max-width:440px;justify-self:end;align-items:end}
body :is(.pdf-preview-card,.pdf-page-large,.product-preview-frame,.sample-page){border:1px solid var(--cp-line);border-radius:0;box-shadow:0 8px 22px #33212812;transform:none}
body :is(.pdf-preview-card,.pdf-page-large,.product-preview-frame){background:#fff;padding:9px}
body .pdf-preview-card img{aspect-ratio:auto;height:auto;object-fit:contain}
body .pdf-preview-card span{font-size:11px;color:var(--cp-muted);font-weight:500;letter-spacing:.03em}
body .phone-memory-mock{background:var(--cp-wine-deep);box-shadow:none;transform:none;border-radius:20px;padding:6px}
body .phone-speaker{background:#b78b97}
body .phone-screen{background:var(--cp-panel);color:var(--cp-ink);border-radius:14px;min-height:280px;padding:17px 12px}
body .memory-mini-title{font-weight:400;font-size:19px;margin-top:22px}
body .memory-mini-mode{color:var(--cp-wine-light);font-size:10px}
body .memory-mini-text{font-weight:400;font-size:23px;margin-top:25px}
body .memory-mini-next{color:var(--cp-muted)}
body .memory-mini-controls{margin-top:28px}
body .memory-mini-controls :is(span,b){width:30px;height:30px;border-color:var(--cp-line)}
body .memory-mini-controls b{background:var(--cp-wine);color:var(--cp-panel)}
body :is(.commercial-pdf,.commercial-available,.commercial-how,.commercial-sample,.commercial-faq){padding-top:64px;padding-bottom:64px}
body :is(.commercial-section-copy h2,.commercial-section-head h2,.commercial-quality h2,.commercial-memory h2,.commercial-sample h2,.commercial-faq h2,.section-head h2,.sample-copy h2){font:400 clamp(31px,3.6vw,45px)/1.12 var(--serif);letter-spacing:-.015em}
body :is(.commercial-section-copy>p,.commercial-work-card p,.quality-list p){color:var(--cp-muted)}
body .exact-receive{color:var(--cp-ink)!important}
body .pdf-layer-list>div{border-color:var(--cp-line)}
body .pdf-layer-list strong{color:var(--cp-wine-light)}
body .pdf-layer-list span{font:400 23px/1.25 var(--serif)}
body .commercial-work-card{border:1px solid var(--cp-line);border-top:3px solid var(--cp-wine);background:var(--cp-panel);padding:24px;box-shadow:none;min-height:290px}
body .commercial-work-card h3{font-size:32px;font-weight:400;line-height:1.12}
body :is(.work-card-top,.commercial-work-card h3 small){color:var(--cp-muted);letter-spacing:0}
body .work-card-memory{color:var(--cp-wine-light)}
body .commercial-memory{background:var(--cp-wine);color:var(--cp-on-wine)}
body .commercial-memory p{color:var(--cp-on-wine)}
body .commercial-memory .light-eyebrow{color:var(--cp-brass)}
body .commercial-memory-grid{padding-top:64px;padding-bottom:64px;gap:60px}
body .memory-public-demo{background:var(--cp-panel);color:var(--cp-ink);border:1px solid var(--cp-brass);border-radius:0;box-shadow:none;padding:30px}
body .memory-demo-chip{border-radius:0;border-color:var(--cp-line);font-size:13px}
body :is(.memory-demo-work,.memory-demo-text){font-family:var(--serif);font-weight:400;color:var(--cp-ink)}
body .memory-demo-work{font-size:28px}
body .memory-demo-text{font-size:clamp(30px,3.5vw,44px)}
body .memory-demo-button{background:var(--cp-wine);border-color:var(--cp-wine);border-radius:0;color:var(--cp-panel);font:500 16px var(--sans);min-height:46px}
body :is(.commercial-steps article,.home-feature,.how-grid article,.feature-grid article){background:transparent;border-color:var(--cp-line);border-radius:0;box-shadow:none}
body :is(.commercial-steps h3,.how-grid h3,.feature-grid h3){font:400 27px/1.2 var(--serif)}
body .sample-callout{background:var(--cp-panel);border:1px solid var(--cp-line);border-left:4px solid var(--cp-wine);border-radius:0;box-shadow:none}

/* Catalogue: keep sorting, filtering, search and every work link. */
body .catalog-hero{background:var(--cp-wine);color:var(--cp-on-wine);box-shadow:0 0 0 100vmax var(--cp-wine);clip-path:inset(0 -100vmax);padding-top:35px;padding-bottom:39px}
body .catalog-hero h1{font:400 clamp(40px,4.7vw,62px)/1.09 var(--serif);letter-spacing:-.02em;margin:12px 0 19px}
body .catalog-hero h1 em{font-weight:400;color:var(--cp-brass)}
body .catalog-hero .eyebrow{color:var(--cp-brass)}
body .catalog-hero .lead{color:var(--cp-on-wine);font-size:17px;max-width:62ch;margin-bottom:0}
body .catalog-tools{padding-top:28px;padding-bottom:8px}
body .catalog-search{font:400 17px var(--sans);padding:16px 18px 16px 48px;border:1px solid var(--cp-line);border-radius:0;background:var(--cp-panel);color:var(--cp-ink)}
body .catalog-search::placeholder{color:var(--cp-muted);opacity:1}
body .catalog-search:focus{border-color:var(--cp-wine-light);box-shadow:none}
body .search-icon{color:var(--cp-wine-light);left:18px}
body .catalog-layout{display:block;padding-top:17px;padding-bottom:64px}
body .composer-panel{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;padding:5px 0;margin-bottom:26px;border-top:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line)}
body .composer-panel h2{font:500 13px var(--sans);letter-spacing:.04em;color:var(--cp-muted);margin:0 4px 0 0}
body .composer-filter{width:auto;min-height:44px;border:0;border-bottom:2px solid transparent;padding:10px 0;color:var(--cp-muted);font:400 16px/1.4 var(--sans);background:transparent}
body .composer-filter.active{color:var(--cp-wine);border-bottom-color:var(--cp-wine-light);font-weight:600}
body .composer-filter.active:after{content:none}
body .catalog-results-head h2{font:400 34px var(--serif)}
body .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body .catalog-card{display:grid;grid-template-columns:minmax(0,1fr);min-height:265px;padding:22px 23px 19px;border:1px solid var(--cp-line);background:var(--cp-panel);gap:0;border-radius:0;box-shadow:none;overflow:visible}
body .catalog-card:hover{transform:none;border-color:var(--cp-wine-light);box-shadow:0 5px 0 #5624380c}
body .catalog-card .mini-cover{display:none}
body .catalog-card>div:not(.mini-cover){display:flex;flex-direction:column;min-width:0;height:100%}
body .catalog-card h3{font:400 32px/1.14 var(--serif);margin:10px 0 14px;color:var(--cp-ink);overflow-wrap:anywhere}
body .catalog-card :is(.composer,.catalog-text-authors){color:var(--cp-muted);font-size:15px;line-height:1.4;letter-spacing:0}
body .catalog-card p{color:var(--cp-muted);font-size:15px;line-height:1.5}
body .catalog-card .catalog-topline{display:flex;align-items:center;gap:12px;border-top:1px solid var(--cp-brass);padding-top:14px}
body .catalog-card .catalog-card-meta{margin-top:auto;padding-top:20px;gap:14px;color:var(--cp-wine-light)}
body .catalog-card .catalog-card-price{color:var(--cp-ink);font-weight:500}
body .catalog-card[data-product-key="liedtext-schubert-d776-du-bist-die-ruh"]{border-left:4px solid var(--cp-wine)}
body .catalog-text-authors,body .product-text-authors{font-family:var(--sans);color:var(--cp-muted);font-size:16px;line-height:1.5;overflow-wrap:anywhere}
body .how-section{border-top:1px solid var(--cp-line);padding-top:52px;padding-bottom:56px}

/* Work pages and editorial samples: original image/PDF files are untouched. */
body :is(.product-detail-hero,.generic-product-hero){gap:48px;padding-top:42px;padding-bottom:46px;min-height:0}
body .product-detail-hero:before{background:var(--cp-soft);border-color:var(--cp-line)}
body :is(.product-detail-hero .hero-copy h1,.generic-product-copy h1){font:400 clamp(38px,4.6vw,60px)/1.08 var(--serif);letter-spacing:-.022em}
body .product-detail-hero .hero-copy h1 span{color:var(--cp-muted);font-size:.52em}
body .product-composer{color:var(--cp-wine-light);font-size:17px}
body :is(.product-meta-pills span,.product-memory-included){border-radius:0;background:var(--cp-panel);border-color:var(--cp-line);color:var(--cp-muted);font-weight:500;font-size:12px;letter-spacing:0}
body :is(.product-memory-badge,.product-memory-mini){background:var(--cp-wine);color:var(--cp-on-wine);border-radius:0;box-shadow:none}
body .product-memory-badge span{color:var(--cp-on-wine);font-size:11px;letter-spacing:0}
body .product-memory-badge strong{font-weight:400;font-size:20px}
body .product-memory-mini-step{background:var(--cp-panel);color:var(--cp-ink);border-color:var(--cp-line)}
body .product-memory-mini-step.active{border-color:var(--cp-brass);color:var(--cp-wine)}
body .product-jump-nav{justify-content:flex-start;gap:8px;border-color:var(--cp-line)}
body .product-jump-nav a{border-radius:0;font-size:14px;font-weight:500;color:var(--cp-muted)}
body .generic-product-value{background:var(--cp-panel);border:1px solid var(--cp-line);border-radius:0;box-shadow:none}
body .work-cover{background:var(--cp-panel);color:var(--cp-ink);border:1px solid var(--cp-line);border-top:4px solid var(--cp-wine);border-radius:0;box-shadow:none}
body .work-cover h2{font-family:var(--serif);font-weight:400}
body .work-cover span{border-color:var(--cp-brass)}
body .sample-section{background:var(--cp-wine);color:var(--cp-on-wine)}
body .sample-copy :is(h2,p){color:var(--cp-on-wine)}
body :is(.sample-card,.sample-row){background:transparent;border-color:#a07784}
body .sample-row span{color:var(--cp-brass)}
body .buy-card{border-radius:0;background:var(--cp-wine);box-shadow:none;color:var(--cp-on-wine)}
body .buy-card :is(p,li,small,.inverse){color:var(--cp-on-wine)}
body .buy-card h2{font-weight:400}
body .price-box strong{font-weight:400}
body .sample-zoom{background:#fff;border-radius:0}
body .sample-zoom::backdrop{background:#401a2acc}

/* Shared account, administration and institutional surfaces. */
body :is(.platform-main,.admin-shell,.account-shell,.memory-page){padding-top:36px;padding-bottom:64px}
body :is(.platform-main h1,.admin-hero h1,.account-hero h1,.memory-page-head h1){font:400 clamp(34px,4vw,49px)/1.12 var(--serif);letter-spacing:-.02em;color:var(--cp-ink)}
body :is(.platform-main h2,.admin-card h2,.purchase-head h2,.purchase-work-card h2){font:400 29px/1.17 var(--serif);color:var(--cp-ink)}
body :is(.admin-card h3,.platform-main h3){font:400 23px/1.2 var(--serif)}
body :is(.platform-card,.admin-card,.purchase-card,.purchase-work-card,.generic-product-card,.account-login-card,.access-table-wrap,.request-work-picker,.institution-data-card,.institution-cart,.institution-catalog,.license-detail,.configuration-integration,.paddle-catalogue-panel,.auth-pending){background:var(--cp-panel);color:var(--cp-ink);border:1px solid var(--cp-line);border-radius:0;box-shadow:none}
body :is(.platform-card,.admin-card,.purchase-card,.account-login-card){padding:24px}
body :is(.admin-card-highlight,.purchase-work-card,.account-login-card){border-top:3px solid var(--cp-wine)}
body :is(.admin-hero,.account-hero,.memory-page-head){border-bottom:1px solid var(--cp-line);padding-bottom:24px;margin-bottom:26px}
body :is(.admin-sections,.admin-work-sections,.institution-section-nav){gap:0 8px;border-color:var(--cp-line)}
body :is(.admin-sections a,.admin-work-sections a,.institution-section-nav a){border-radius:0;font-size:15px;color:var(--cp-wine);padding:11px 15px}
body :is(.admin-sections a[aria-current=page],.institution-section-nav a[aria-current=page]){background:var(--cp-wine);color:var(--cp-panel)}
body :is(.admin-work-sections a,.institution-section-nav a){border-color:var(--cp-line)}
body :is(.admin-form,.platform-main,.form-field,.edition-picker,.account-login-card) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){background:var(--cp-panel);color:var(--cp-ink);border:1px solid var(--cp-line);border-radius:0;min-height:44px;font:400 16px/1.45 var(--sans);padding:10px 12px;max-width:100%}
body :is(.admin-form,.platform-main) input[readonly]{background:var(--cp-soft);color:var(--cp-muted)}
body :is(.admin-form label,.platform-main label,.form-field label){font-size:15px;font-weight:500;line-height:1.5}
body :is(.admin-form label small,.platform-row small,.platform-status){color:var(--cp-muted);font-size:13px}
body :is(.admin-table-wrap,.access-table-wrap,.translation-languages,.text-author-fields,.admin-edition-row,.admin-upload-row){border-color:var(--cp-line);border-radius:0;background:var(--cp-panel)}
body :is(.admin-table,.access-table,.locale-matrix,.repertoire-table,.payment-orders-table,.gift-table,.institutional-license-table,.institution-member-table){color:var(--cp-ink);font-family:var(--sans);font-size:14px}
body :is(.platform-main,.admin-table,.access-table) :is(th,td){border-color:var(--cp-line)}
body :is(.admin-table,.access-table,.repertoire-table,.payment-orders-table,.gift-table,.institutional-license-table,.institution-member-table) th{background:var(--cp-soft);color:var(--cp-ink);font-weight:600}
body :is(.admin-work-row,.platform-row,.text-author-row,.access-source,.access-event,.institution-cart-line,.pending-assignment){border-color:var(--cp-line)}
body :is(.platform-message,.request-notification,.account-empty,.pending-assignment,.memory-library li,.purchase-edition-row,.institution-cart-summary){border-radius:0;background:var(--cp-soft);border-color:var(--cp-line);color:var(--cp-ink)}
body :is(.platform-message,.request-notification){border-left:3px solid var(--cp-wine-light)}
body :is(.platform-main,.admin-shell) progress{accent-color:var(--cp-wine-light)}
body :is(.configuration-toggle,.configuration-notices,.configuration-history,.institution-pending-member,.institution-member-entry,.assignment-person){border-color:var(--cp-line);border-radius:0}
body .site-public-notice{background:var(--cp-soft);color:var(--cp-ink);border-color:var(--cp-line)}
body .memory-gift-note{color:var(--cp-wine-light)}

/* Study space: visual changes only; every mode, cue and learning step is kept. */
body .memory-mode-tabs{gap:0 10px;border-bottom:1px solid var(--cp-line);padding-bottom:0;margin-top:22px}
body .memory-mode-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--cp-muted);font:500 16px/1.4 var(--sans);padding:12px 18px;min-height:46px}
body .memory-mode-tabs button.active{border-color:var(--cp-wine-light);background:transparent;color:var(--cp-wine)}
body .memory-mode-tabs button:hover{background:var(--cp-soft)}
body .memory-study-card{border:1px solid var(--cp-line);border-top:4px solid var(--cp-wine);border-radius:0;background:var(--cp-panel);color:var(--cp-ink);padding:38px;box-shadow:none;min-height:290px}
body :is(.memory-cue,.memory-answer,.memory-chain){font:400 clamp(28px,3.8vw,44px)/1.4 var(--serif);color:var(--cp-ink)}
body .memory-piece-heading h2{font:400 32px/1.2 var(--serif)}
body .memory-piece-heading>span{color:var(--cp-wine-light)}
body .progress-track{background:var(--cp-soft);border-radius:0;height:5px}
body .progress-track span{background:var(--cp-wine-light)}
body .memory-controls .button{border-radius:0;background:var(--cp-panel)!important;color:var(--cp-wine)!important;border-color:var(--cp-line)!important;box-shadow:none;font-weight:600}
body .memory-controls [data-m-next]{background:var(--cp-wine)!important;color:var(--cp-panel)!important;border-color:var(--cp-wine)!important}
body .memory-controls [data-m-restart]{background:var(--cp-soft)!important}
body .memory-index-item .button{background:var(--cp-panel)!important;color:var(--cp-wine)!important;border-color:var(--cp-line)!important;border-radius:0;box-shadow:none}
body .memory-index-item .button:hover{background:var(--cp-soft)!important;border-color:var(--cp-wine-light)!important}
body .memory-index-item{background:var(--cp-panel);border-color:var(--cp-line);border-radius:0}
body .memory-section{background:var(--cp-wine);color:var(--cp-on-wine);--memory-navy:var(--cp-wine);--memory-gold:var(--cp-brass)}
body :is(.memory-card,.memory-player,.memory-access){border-radius:0;border-color:#a07784}
body .memory-section :is(.memory-heading p,.memory-status,.memory-license){color:var(--cp-on-wine)}

/* Dialogs, legal pages and footers use the same editorial language. */
body :is(.edition-purchase-modal,.access-dialog,.account-login-modal-card,.account-onboarding,.form-success,.code-dialog,.payment-consent-dialog,.admin-pdf-dialog,.access-reason-dialog,.correction-dialog){border:1px solid var(--cp-line);border-radius:0;background:var(--cp-panel);color:var(--cp-ink);box-shadow:0 18px 70px #401a2a30}
body :is(.edition-purchase-modal,.access-dialog,.account-onboarding,.admin-pdf-dialog,.payment-consent-dialog,.correction-dialog)::backdrop{background:#401a2a99;backdrop-filter:none}
body :is(.edition-choice,.edition-choice.owned){border-radius:0;border-color:var(--cp-line);background:var(--cp-panel);color:var(--cp-ink)}
body .edition-choice.owned{background:var(--cp-soft)}
body :is(.edition-choice small,.edition-purchase-card>p,.account-modal-note){color:var(--cp-muted)}
body .edition-choice b{color:var(--cp-wine-light)}
body .legal-page{padding-top:44px;padding-bottom:56px}
body .legal-page h1{font:400 clamp(33px,4.4vw,51px)/1.12 var(--serif)}
body .legal-toc{border-radius:0;background:var(--cp-panel);border-color:var(--cp-line)}
body :is(.legal-document h2,.legal-page article h2){font:400 28px/1.25 var(--serif)}
body :is(footer,.site-footer-v43){background:var(--cp-soft);color:var(--cp-ink);border-color:var(--cp-line);box-shadow:none}
body :is(.site-footer-v43 .footer-invitation,.site-footer-v43 .footer-bottom,.copyright){border-color:var(--cp-line)}
body :is(.site-footer-v43 .footer-invitation p,.site-footer-v43 .footer-brand p,.site-footer-v43 .footer-bottom,.copyright){color:var(--cp-muted)}
body .site-footer-v43 h2{font:400 clamp(28px,3vw,37px)/1.2 var(--serif)}
body .site-footer-v43 h3{font:600 14px/1.4 var(--sans);text-transform:none;letter-spacing:0}
body :is(.footer-legal-links,.footer-cookie-link){color:var(--cp-muted)}
/* One legal navigation rhythm, including the existing cookies destination. */
body .site-footer-v43 .footer-columns{padding-top:36px;padding-bottom:30px;align-items:start}
body .site-footer-v43 .footer-brand img{width:190px}
body .site-footer-v43 .footer-brand p{margin-top:14px}
body .site-footer-v43 .footer-legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 26px;margin:0;padding:18px 0;border-top:1px solid var(--cp-line);font:400 14px/1.5 var(--sans)}
body .site-footer-v43 .footer-legal-links a{display:inline-flex;align-items:center;min-height:40px;margin:0;padding:4px 0;font:inherit;color:var(--cp-muted);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
body .site-footer-v43 .footer-bottom{padding-top:18px;padding-bottom:22px;font:400 12px/1.5 var(--sans);letter-spacing:0}
@media(max-width:640px){
 body .site-footer-v43 .footer-columns{padding-top:28px;padding-bottom:24px;gap:24px}
 body .site-footer-v43 .footer-legal-links{flex-direction:column;align-items:stretch;gap:0;padding:14px 0}
 body .site-footer-v43 .footer-legal-links a{min-height:44px;padding:9px 0}
 body .site-footer-v43 .footer-bottom{gap:8px}
}
body .cookie-notice{background:var(--cp-panel);color:var(--cp-ink);border-top:1px solid var(--cp-line);box-shadow:0 -6px 18px #401a2a0d}
body .cookie-notice a{color:var(--cp-wine-light)}
body .payment-opening>div{background:var(--cp-panel);color:var(--cp-ink);border-radius:0;border:1px solid var(--cp-line);box-shadow:0 18px 50px #401a2a30}

/* Responsive presentation; no visibility or interaction state is overridden. */
@media(max-width:1120px){
 body .nav{min-height:82px;gap:0;padding-top:12px;padding-bottom:12px}
 body .nav .nav-actions{gap:0}
 body .nav :is(.account-menu-list,.lang-menu-list){border-left:0;border-right:0;border-bottom:0;box-shadow:none}
}
@media(max-width:900px){
 .shell{width:calc(100% - 48px)}
 body .commercial-hero{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:30px;padding-top:36px;padding-bottom:40px}
 body .commercial-product-pair{order:initial;grid-template-columns:minmax(0,1fr) 104px;gap:10px;max-width:340px}
 body .phone-screen{padding:15px 9px;min-height:245px}
 body .memory-mini-text{font-size:20px}
 body .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .commercial-memory-grid{gap:30px}
 body :is(.product-detail-hero,.generic-product-hero){grid-template-columns:minmax(0,1fr);gap:30px}
 body :is(.generic-product-visual,.product-detail-visual){justify-self:center;max-width:460px}
}
@media(max-width:640px){
 .shell{width:calc(100% - 36px)}
 body{font-size:16px}
 body .nav .brand-logo{width:230px;height:54px;background-size:42px 42px}
 body .nav .brand-logo img{left:50px;top:-65px;width:180px;clip-path:inset(81px 0 34px 0)}
 body .commercial-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:30px;padding-bottom:36px}
 body .commercial-hero-copy h1{font-size:clamp(39px,10vw,52px);max-width:17ch;line-height:1.1}
 body .commercial-lead{font-size:17px}
 body .commercial-product-pair{order:initial;justify-self:center;width:min(100%,360px);max-width:360px;grid-template-columns:minmax(0,1fr) 112px;gap:14px}
 body .phone-screen{min-height:253px}
 body .commercial-included{font-size:14px}
 body :is(.commercial-pdf,.commercial-available,.commercial-how,.commercial-sample,.commercial-faq){padding-top:44px;padding-bottom:44px}
 body .commercial-memory-grid{padding-top:44px;padding-bottom:44px;gap:30px}
 body :is(.commercial-section-copy h2,.commercial-section-head h2,.commercial-quality h2,.commercial-memory h2,.commercial-sample h2,.commercial-faq h2,.section-head h2){font-size:33px;line-height:1.14}
 body .commercial-work-grid{grid-template-columns:minmax(0,1fr)}
 body .memory-public-demo{padding:23px}
 body .catalog-hero{padding-top:28px;padding-bottom:30px}
 body .catalog-hero h1{font-size:clamp(37px,10vw,48px);letter-spacing:-.025em}
 body .catalog-hero .lead{font-size:16px}
 body .catalog-tools{padding-top:22px}
 body .catalog-search{font-size:16px;padding-top:14px;padding-bottom:14px}
 body .composer-panel{gap:0 21px;padding:7px 0}
 body .composer-panel h2{width:100%;padding:7px 0 3px}
 body .composer-filter{font-size:15px}
 body .catalog-grid{grid-template-columns:minmax(0,1fr);gap:15px}
 body .catalog-card{min-height:235px;padding:20px 22px}
 body .catalog-card h3{font-size:34px}
 body .catalog-card .catalog-card-meta{flex-direction:row;align-items:center;justify-content:space-between}
 body :is(.product-detail-hero .hero-copy h1,.generic-product-copy h1){font-size:40px}
 body :is(.product-detail-hero,.generic-product-hero){padding-top:28px;padding-bottom:32px;padding-left:0;padding-right:0}
 body :is(.generic-product-visual,.product-detail-visual){padding:8px 12px 30px}
 body .product-memory-badge{max-width:190px;padding:12px}
 body :is(.platform-main,.admin-shell,.account-shell,.memory-page){padding-top:28px;padding-bottom:44px}
 body :is(.platform-card,.admin-card,.purchase-card,.account-login-card){padding:19px}
 body .admin-form label{font-size:14px}
 body .memory-study-card{padding:28px 22px;min-height:285px}
 body .memory-mode-tabs{gap:0}
 body .memory-mode-tabs button{font-size:15px;padding:12px 7px}
 body :is(.memory-cue,.memory-answer,.memory-chain){font-size:32px;line-height:1.4}
 body .memory-piece-heading h2{font-size:28px}
 body .sample-layout{gap:28px}
 body .cookie-notice-actions{gap:12px}
 body .site-footer-v43 .footer-columns{grid-template-columns:minmax(0,1fr);gap:24px}
}
@media(max-width:380px){
 body .nav .brand-logo{width:204px;background-size:36px 36px}
 body .nav .brand-logo img{left:44px;top:-57px;width:160px;clip-path:inset(72px 0 30px 0)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body :is(.button,.catalog-card,.commercial-work-card){transition:none}}

/* v118 revision 2: preserve page gutters and allow grids to shrink to their container. */
body .shell{margin-inline:auto}
body :is(.admin-grid,.admin-dashboard-tools,.admin-catalog-tools,.platform-grid,.configuration-notices,.configuration-integrations,.institution-identity-grid)>*{min-width:0}
body .admin-dashboard-tools{grid-template-columns:minmax(0,1fr) auto}
body .admin-catalog-tools{grid-template-columns:minmax(0,1fr) minmax(0,180px) minmax(0,160px)}
body :is(.admin-catalog-tools input,.admin-catalog-tools select){width:100%;min-width:0}
body .platform-main form[data-settings]{grid-template-columns:minmax(0,1fr)}
body .platform-main form[data-settings]>*{min-width:0}
body .configuration-notices{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
body .configuration-integrations{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
body .institution-identity-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
body :is(.admin-form,.platform-main) fieldset{min-width:0}
body .admin-sections,body .admin-work-sections{row-gap:8px}
body .platform-main :is(.configuration-integration>div,.platform-actions){flex-wrap:wrap}
@media(max-width:1024px){
 body .admin-dashboard-tools{grid-template-columns:minmax(0,1fr)}
 body .admin-dashboard-tools>.button{justify-self:start;width:auto}
}
@media(max-width:640px){
 body .admin-catalog-tools{grid-template-columns:minmax(0,1fr)}
 body .admin-dashboard-tools>.button{width:100%}
 body .configuration-notices,body .configuration-integrations{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:640px){
 body :is(.code-dialog,.form-success,.account-onboarding,.account-login-modal,.edition-purchase-modal,.payment-consent-dialog,.access-dialog,.access-reason-dialog,.correction-dialog){max-width:calc(100% - 36px)}
}
body :is(.code-dialog,.form-success,.account-login-modal)::backdrop{background:#401a2a99;backdrop-filter:none}

/* v119: inset the edition text and download actions inside their coloured row. */
body .account-shell .purchase-edition-row{margin-top:10px;padding:16px 18px;gap:14px 18px}
body .account-shell :is(.purchase-edition-meta,.purchase-edition-actions){min-width:0}
@media(max-width:480px){
 body .account-shell .purchase-edition-actions{grid-template-columns:minmax(0,1fr)}
}
