@font-face {
  font-family: "DM Sans";
  src: url("fonts/dm-sans.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}
@font-face {
  font-family: "Instrument Serif";
  src: url("fonts/instrument-serif-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
:root {
  --brand-sans: "DM Sans", "Segoe UI", Arial, sans-serif;
  --brand-serif: "Instrument Serif", Georgia, serif;
  --brand-heading: #2c2537;
  --brand-secondary: #61596c;
}
body, body.landing-page, body.auth-page, body.shared-resume, body.brand-error,
.auth-loading, .ix-field input, .ix-field textarea, .ix-field select,
.p-job .mark { font-family: var(--brand-sans); }
button, input, select, textarea { font-family: inherit; }

/* The document canvas and export styles have their own template typography. */
.lp-page :is(h1,h2) em, .auth-story h2 em, .ix-hero h2 em {
  font-family: var(--brand-serif);
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.025em;
}
.lp-page h1, .auth-story h2 {
  font-size: clamp(2.7rem, 5.1vw, 4.65rem);
  line-height: 1.03;
  font-weight: 650;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.lp-page h2 {
  font-weight: 620;
  letter-spacing: -.042em;
  text-wrap: balance;
}
.lp-hero-copy > p { max-width: 43ch; font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.6; }
.lp-section-heading p, .lp-process-grid p, .lp-plan-options p, .lp-plan-options li,
.lp-faq details p, .lp-benefit-copy > p { font-size: 1rem; line-height: 1.65; }
.lp-trust span, .lp-journey figcaption, .lp-footer a, .lp-fine { font-size: .8125rem; }
.lp-hero .lp-preview-bottom button { font-size: .8125rem; }
.lp-process-grid article > span { font: 600 1.125rem/1.3 var(--brand-sans); font-variant-numeric: tabular-nums; }
.lp-hero .lp-button, .lp-import, .lp-nav .lp-button, .portal-main .btn,
#client-dialog .btn, .auth-primary { font-weight: 650; letter-spacing: -.01em; }
.auth-story h2 { color: var(--brand-heading); margin: .85rem 0 .75rem; font-size: clamp(2.15rem, 4.1vw, 3.6rem); }
.auth-story h2 em { color: #913d46; }
.auth-story > p { max-width: 40ch; }
.auth-footer a { color: var(--brand-secondary); }
.auth-card h1, .rb-heading h2, .portal-main .portal-head h2, .shared-resume h1, .brand-error h1 {
  font-weight: 650; line-height: 1.14; letter-spacing: -.035em;
}
.portal-main .portal-head h2, .rb-heading h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.portal-head p, .rb-heading p, .auth-card p, .portal-main .panel > p,
.catalog-heading p, .p-empty p { font-size: .9375rem; line-height: 1.6; }
.portal-nav > a, .portal-main .btn, #client-dialog .btn, .p-form label, .auth-form label {
  font-size: .875rem; line-height: 1.4;
}
.nav-group-label, .dash-caption, .ix-eyebrow {
  font-size: .75rem; font-weight: 650; letter-spacing: .065em;
}
.portal-main .metric b, .ledger-row b, .nav-count, .at-count { font-variant-numeric: tabular-nums; }
.auth-footer, .ix-field small, .ix-method { font-size: .8125rem; line-height: 1.5; }
.shared-resume main { line-height: 1.65; }
.brand-error { background: #faf9f6; color: var(--brand-heading); margin: 0; }
.brand-error main { max-width: 38rem; margin: 14vh auto; padding: 1.5rem; }
.brand-error a { color: #5944af; }
@media (max-width: 760px) {
  .lp-hero .lp-preview-bottom { flex-wrap: wrap; }
  .lp-hero .lp-preview-bottom > div { flex-wrap: wrap; }
  .portal-main input:not([type=checkbox]):not([type=radio]), .portal-main textarea,
  #client-dialog input:not([type=checkbox]):not([type=radio]), #client-dialog textarea,
  .portal-main select, #client-dialog select, .auth-form input { font-size: 1rem; }
}

/* The transparent horizontal lockup includes the square rt monogram. */
.rt-wordmark { display: block; width: 11.5rem; max-width: 100%; height: auto; }
@media (max-width: 600px) {
  .rt-wordmark { width: clamp(7.5rem, 36vw, 10rem); }
}
@media (max-width: 360px) {
  .lp-nav { column-gap: .5rem; }
  .lp-nav-actions { gap: .5rem; }
  .lp-nav .rt-wordmark { width: 7rem; }
}

/* Folded-paper silhouettes share the monogram's plum, coral and cream palette. */
.tandem-glyph { width: 1.25rem; height: 1.25rem; flex: none; stroke: none; vertical-align: middle; }
.tandem-glyph .glyph-ink { fill: var(--glyph-ink, #502745); fill-rule: evenodd; }
.tandem-glyph .glyph-accent { fill: var(--glyph-accent, #ec7865); }
.tandem-glyph .glyph-paper { fill: var(--glyph-paper, #fff1dd); }
.portal-nav a[aria-current="page"], .client-mobile-bar a[aria-current="page"] {
  --glyph-ink: #391735; --glyph-accent: #fa6956;
}
@media (forced-colors: active) {
  .tandem-glyph .glyph-ink { fill: CanvasText; }
  .tandem-glyph .glyph-accent { fill: Highlight; }
  .tandem-glyph .glyph-paper { fill: Canvas; }
}

.lp-process-grid .process-glyph { display:inline-grid; place-items:center; width:2.5rem; height:2.5rem; background:#fff1e5; border-radius:.65rem; }
.lp-process-grid .process-glyph .tandem-glyph { width:1.55rem; height:1.55rem; }
.portal-nav a[aria-current="page"], .client-mobile-bar [aria-current="page"] { color:#391735; background:#f9eae6; }
.library-heading .btn { background:#492240; color:#fff7ef; border-color:#492240; }
.library-heading .btn:hover { background:#632d55; }

/* Shared interface colors. Resume and letter templates own their print palettes. */
:root {
  --rt-plum:#391735;
  --rt-plum-hover:#592750;
  --rt-coral:#fa6956;
  --rt-cream:#fff2df;
  --rt-canvas:#fcf8f4;
  --rt-line:#e7dbd5;
}
.landing-page { --lp-purple:var(--rt-plum); --lp-ink:#341f30; --lp-muted:#62555e; background:var(--rt-canvas); }
.landing-page #site-header { background:#fcf8f4f5; border-color:var(--rt-line); }
.landing-page .lp-button, .auth-page .auth-primary { background:var(--rt-plum); color:#fff8ef; border-color:var(--rt-plum); }
.landing-page .lp-button:hover, .auth-page .auth-primary:hover { background:var(--rt-plum-hover); }
.lp-hero-copy h1 em { color:#913d46; }
.lp-hero-copy > p { max-width:40ch; }
.lp-hero .lp-studio-preview { background:#f3e4dc; border:1px solid #d9c4bc; border-radius:1rem; box-shadow:0 16px 40px #48253815; }
.lp-hero .lp-preview-top { background:var(--rt-plum); color:#fff5e9; font-size:.8rem; letter-spacing:0; align-items:center; }
.lp-preview-top span:first-child { display:inline-flex; align-items:center; gap:.5rem; }
.lp-preview-top .tandem-glyph { --glyph-ink:#fff1dd; --glyph-paper:#391735; }
.lp-hero .lp-preview-workspace { display:block; height:auto; padding:1.4rem clamp(1rem,4vw,3.6rem) 0; background:linear-gradient(122deg,#f6dac9,#e8cfc9); }
.lp-hero .lp-preview-paper { padding:0; }
.lp-hero .lp-sample { height:auto; min-height:0; padding:clamp(1.05rem,2vw,1.8rem); background-color:#fff; }
.lp-sample .lp-sheet-name { font-size:clamp(1.35rem,2.2vw,1.9rem); }
.lp-sample .lp-sheet-role,.lp-sample .lp-sheet-contact,.lp-sample section :is(p,small,b) { font-size:clamp(.7rem,.9vw,.81rem); line-height:1.45; }
.lp-sample section { margin-top:.8rem; }
.lp-sample section h4 { font-size:.65rem; margin:0 0 .25rem; text-transform:uppercase; }
.lp-sample section :is(p,b,small) { margin:0; display:block; color:#433d46; }
.lp-hero .lp-preview-bottom { background:#fffbf6; padding:.65rem 1rem; }
.lp-hero .lp-preview-bottom button[aria-pressed=true], .lp-filters button[aria-pressed=true] { background:var(--rt-plum); color:white; }
.lp-hero .lp-preview-use { color:var(--rt-plum); background:#fcf3e9; font-size:.85rem; min-height:44px; border-top:1px solid var(--rt-line); }
.lp-process { background:#f7eae2; }
.lp-page .lp-final { padding:0; background:#290e23; }
.lp-page .lp-final h2 em { color:#ffba9b; }
.lp-page .lp-final .lp-button { background:var(--rt-cream); color:var(--rt-plum); }
.auth-page { --auth-purple:var(--rt-plum); --auth-ink:#341f30; --auth-line:var(--rt-line); background:var(--rt-canvas); }
.auth-story-steps { border-color:var(--rt-coral); }
:where(.lp-page,.auth-page,.cd-dashboard,.document-library) :is(a,button,summary):focus-visible { outline:3px solid #943f45; outline-offset:3px; }
@media(max-width:480px){
  .lp-hero .lp-preview-workspace { padding:1rem 1rem 0; }
}

.lp-hero .lp-preview-bottom > span { font-size:.8rem; color:#64515d; }

/* One transparent image sheet keeps all twelve paper illustrations in one request. */
[data-paper-art] {
  display:inline-block; flex:none; width:4rem; aspect-ratio:1;
  background-image:url("media/paper-illustrations.webp");
  background-size:400% 300%; background-repeat:no-repeat;
  mix-blend-mode:multiply;
}
[data-paper-art="resume"] { background-position:0 0; }
[data-paper-art="letter"] { background-position:33.333333% 0; }
[data-paper-art="jobs"] { background-position:66.666667% 0; }
[data-paper-art="tracker"] { background-position:100% 0; }
[data-paper-art="people"] { background-position:0 50%; }
[data-paper-art="chat"] { background-position:33.333333% 50%; }
[data-paper-art="review"] { background-position:66.666667% 50%; }
[data-paper-art="book"] { background-position:100% 50%; }
[data-paper-art="templates"] { background-position:0 100%; }
[data-paper-art="wallet"] { background-position:33.333333% 100%; }
[data-paper-art="controls"] { background-position:66.666667% 100%; }
[data-paper-art="map"] { background-position:100% 100%; }
.heading-art { width:clamp(2.25rem,4vw,3.75rem); margin-inline-end:.5em; vertical-align:middle; }
.status-art { display:block; margin-top:2rem; width:6rem; }
.lp-process-grid article > .process-art { width:4.75rem; padding:0; border:0; margin:0 0 .8rem; }
.rt-closing { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); align-items:center; text-align:start; }
.rt-closing > div { padding:clamp(1.65rem,3vw,3rem) 1rem clamp(1.65rem,3vw,3rem) 0; }
.lp-final .rt-closing h2 { margin:0; font-size:clamp(2.6rem,5.4vw,5.2rem); line-height:1.02; }
.lp-final .rt-closing p { max-width:36ch; color:#f4deda; margin:1rem 0 1.25rem; }
.rt-closing img { display:block; width:100%; height:auto; mask-image:linear-gradient(to right,transparent,#000 13%,#000 91%,transparent); }
.auth-layout { grid-template-areas:"story account"; }
.auth-layout > .auth-story { grid-area:story; }
.auth-layout > .auth-card { grid-area:account; }
@media (max-width:860px){
  .auth-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"account" "story"; }
  .auth-story { display:block; padding-top:0; }
  .auth-story h2 { font-size:clamp(1.65rem,6vw,2.2rem); margin:.65rem 0 .5rem; }
}
@media (max-width:800px){
  .lp-process-grid article > .process-art { width:2.65rem; margin:0; align-self:start; }
}
@media (max-width:640px){
  .rt-closing { grid-template-columns:1fr; text-align:center; }
  .rt-closing > div { padding:1.8rem 0 .5rem; }
  .lp-final .rt-closing p { margin:.75rem auto 1rem; }
  .rt-closing img { width:min(100%,22rem); justify-self:center; mask-image:linear-gradient(to bottom,transparent,#000 12%); }
}
@media print {
  [data-paper-art],.auth-still-life,.rt-closing img { display:none!important; }
}
