/* WECAMP v12 CRIMSON CREAM EDITION
   Base palette requested by user:
   cream #F5F0EA / crimson #A61028 / ink #202020 */
:root {
  --cream:#F5F0EA;
  --paper:#F5F0EA;
  --paper-2:#F5F0EA;
  --accent:#A61028;
  --accent-deep:#202020;
  --accent-soft:#A61028;
  --accent-pale:#F5F0EA;
  --ink:#202020;
  --ink-soft:#202020;
  --muted:#202020;
  --line:#F5F0EA;
  --blush:#F5F0EA;
  --taupe:#F5F0EA;
  --warm-shadow:rgba(32,32,32,.12);
  --forest:var(--accent);
  --deep:var(--ink);
  --pine:var(--accent-soft);
  --gold:#A61028;
  --gold-light:#F5F0EA;
  --secondary:var(--muted);
  color-scheme:light;
}
body { background:var(--cream); color:var(--ink); }
:focus-visible { outline-color:var(--accent); }

/* Header */
.header-pill { background:rgba(245,240,234,.94);border-color:#F5F0EA88;box-shadow:0 12px 42px rgba(32,32,32,.08); }
.wordmark,.nav-desktop a { color:var(--ink); }
.wordmark-symbol { background:var(--accent); color:#F5F0EA; }
.nav-desktop a:hover { color:var(--accent); }
.header-contact { background:var(--ink); color:#F5F0EA; }
.header-contact:hover { background:var(--accent); }
.nav-mobile { background:var(--paper); border-color:var(--line); }

/* Hero */
.hero,.hero-under { background:var(--paper); }
.hero-stage,.hero-host { background:linear-gradient(135deg,#F5F0EA 0%, #F5F0EA 55%, #F5F0EA 100%); }
.hero-guest { background:#202020; }
.hero-photo { filter:brightness(1.06) saturate(1.04); }
.hero-shade { background:linear-gradient(90deg,rgba(32,32,32,.34),rgba(32,32,32,.02) 90%),linear-gradient(0deg,rgba(32,32,32,.62) 0%,transparent 75%); }
.hero-guest[data-current-slide="1"] .hero-shade{background:linear-gradient(90deg,rgba(32,32,32,.58),rgba(32,32,32,.16)),linear-gradient(0deg,rgba(32,32,32,.54),transparent 82%)}
.hero-guest h1,.hero-guest p,.hero-guest .hero-cta,.hero-guest .hero-micro,.hero-guest .hero-note,.hero-guest .hero-bottomline { color:#F5F0EA; }
.hero-guest h1 em { color:#F5F0EA; }
.hero-guest .hero-cta { border-color:#F5F0EA; }
.hero-guest .hero-cta:hover { color:#F5F0EA; border-color:#F5F0EA; }
.hero-host { color:var(--ink); }
.hero-host h1 { color:var(--ink); }
.hero-host h1 em { color:var(--accent); }
.hero-host .hero-micro { color:#A61028; }
.hero-host .hero-content p { color:#202020; }
.hero-host .hero-cta { color:var(--accent);border-color:#A61028; }
.hero-host .hero-cta:hover { color:var(--accent-deep); border-color:var(--accent); }
.hero-host .hero-note { color:#A61028; }
.hero-host .hero-bottomline { color:#A61028; }
.hero-host .hero-note i { color:#A61028; }
.host-sheen { background:radial-gradient(ellipse 80% 60% at 70% 20%,rgba(245,240,234,.46),transparent 80%);opacity:.45; }
.hero-host[data-current-slide="1"] .hero-carousel::after { background:linear-gradient(90deg,rgba(245,240,234,.96),rgba(245,240,234,.73) 49%,rgba(245,240,234,.18)); }
.hero-carousel .guest-compare-image { filter:brightness(.98) saturate(.94); }
.hero-carousel .host-admin-image { filter:brightness(1.0) saturate(.92); }
.hero-pane > .carousel-indicators { background:rgba(32,32,32,.22); }
.hero-host > .carousel-indicators { background:rgba(245,240,234,.78); }
.hero-host .carousel-indicator span { background:rgba(166,16,40,.22); }
.hero-host .carousel-indicator.is-active span { background:rgba(166,16,40,.18); }
.hero-pane .carousel-indicator.is-active span::after { background:var(--accent); }
.connector-ring { background:#F5F0EA;color:var(--ink);border-color:#F5F0EA;box-shadow:0 0 0 1px #A6102855,0 15px 35px rgba(32,32,32,.2); }
.connector:hover .connector-ring,.connector:focus-visible .connector-ring { background:#F5F0EA; }
.connector-words { color:#F5F0EA; text-shadow:0 1px 8px rgba(32,32,32,.35); }
.hero-under { color:#A61028; }

/* Intro */
.intro-section { background:#F5F0EA; }
.section-label { color:#A61028; }
.intro-top h2 { color:var(--ink); }
.intro-top h2 em { color:var(--accent); }
.intro-top>p { color:var(--muted); }
.process-track { border-color:var(--line); }
.process-index { color:#A61028; }
.process-symbol { color:var(--accent); }
.process-arrow { color:#A61028; }
.process-track h3 { color:var(--ink); }
.process-track p { color:var(--muted); }
.intro-links a { color:var(--ink);border-color:#F5F0EA; }
.intro-links a:hover { color:var(--accent); border-color:var(--accent); }

/* Platform section */
.experience-section.platform-experience { background:linear-gradient(145deg,#F5F0EA 0%,#F5F0EA 52%,#F5F0EA 100%); }
.platform-heading h2 { color:var(--ink); }
.platform-heading h2 em { color:var(--accent); }
.platform-heading>p { color:var(--muted); }
.platform-tabs { border-color:var(--line); }
.platform-tab { color:#A61028; }
.platform-tab.is-current { color:var(--ink);border-color:var(--accent); }
.platform-tab-count { color:var(--accent); }
.platform-showcase { background:#F5F0EA;border-color:#F5F0EA;box-shadow:0 24px 56px rgba(32,32,32,.09); }
.platform-image-head,.platform-showcase-foot { color:#A61028; }
.platform-carousel { background:#F5F0EA; }
.platform-carousel .experience-visual-admin { background:#F5F0EA; }
.platform-description-heading>span { color:#A61028; }
.platform-description-heading h3 { color:var(--ink); }
.platform-benefits { border-color:var(--line); }
.platform-benefit { border-color:#F5F0EA; }
.platform-benefit-index { color:var(--accent); }
.platform-benefit h4 { color:var(--ink); }
.platform-benefit p { color:var(--muted); }
.platform-open-link { color:var(--ink);border-color:#F5F0EA; }
.platform-open-link:hover { color:var(--accent); border-color:var(--accent); }
.platform-disclaimer { color:#202020; }
.aw-logo { background:var(--accent); }
.aw-top,.aw-stats>div,.aw-graph { border-color:#F5F0EA; }
.aw-graph i { background:#A61028; }
.aw-graph i:nth-child(2n) { background:#A61028; }

/* Archive */
.portfolio-section { background:#202020; }
.portfolio-sticky { background:radial-gradient(ellipse 75% 75% at 74% 45%,rgba(166,16,40,.11),transparent 75%),linear-gradient(133deg,#202020,#202020 55%,#202020); }
.portfolio-sticky::after { background:radial-gradient(ellipse at 45% 20%,transparent 50%,rgba(32,32,32,.18) 100%); }
.portfolio-intro .portfolio-help,.portfolio-intro>p { color:#F5F0EA; }
.portfolio-flourish { color:#A61028; }
.portfolio-trackline { background:rgba(245,240,234,.24); }
.portfolio-trackline span { background:#F5F0EA; }
.book-spine { box-shadow:inset 1px 0 rgba(245,240,234,.25),inset -3px 0 rgba(32,32,32,.35); }
.book-cover { background:#202020; }
.book-cover::before { border-color:#F5F0EA96;box-shadow:inset 0 0 0 6px rgba(32,32,32,.08); }
.book-cover::after,.book-cover-number { color:#F5F0EA; }
.book-cover-shade { background:linear-gradient(0deg,rgba(32,32,32,.84) 0%,rgba(32,32,32,.42) 34%,rgba(32,32,32,.12) 70%,rgba(32,32,32,.28) 100%); }
.cover-ocean .book-cover-shade,.cover-hideaway .book-cover-shade,.cover-admin .book-cover-shade { background:linear-gradient(0deg,rgba(32,32,32,.8),transparent 68%); }
.cover-admin { background:repeating-linear-gradient(0deg,transparent 0 32px,rgba(245,240,234,.06) 32px 33px),linear-gradient(140deg,#202020,#202020); }
.book-cover-info a { border-color:#F5F0EA; }
.shelf-rule { background:linear-gradient(180deg,rgba(166,16,40,.52),#A61028 18%,#202020 61%,#202020); }
.shelf-rule::before { background:rgba(245,240,234,.48); }
.shelf-caption { color:#F5F0EA; }

/* Services and forms */
.service-section { background:#F5F0EA; }
.service-grid { border-color:var(--line); }
.service-grid article { border-color:var(--line);background:rgba(245,240,234,.65); }
.service-grid article:nth-child(1),.service-grid article:nth-child(4){background:#F5F0EA;}
.service-grid span,.service-grid a,.text-button { color:var(--accent);border-color:#A61028; }
.service-grid h3 { color:var(--ink); }
.service-grid p { color:var(--muted); }
.contact-section { background:var(--cream); }
.contact-title h2 { color:var(--ink); }
.contact-title h2 em { color:var(--accent); }
.contact-title>p { color:var(--muted); }
.contact-types span { color:#202020;border-color:#F5F0EA; }
.contact-form label,.modal-dialog form>label:not(.consent){color:#202020;}
.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select,.modal-dialog input:not([type=checkbox]),.modal-dialog textarea,.modal-dialog select { color:var(--ink);border-color:#F5F0EA;background:#F5F0EA; }
.contact-form :is(input,textarea,select):focus,.modal-dialog :is(input,textarea,select):focus { border-color:var(--accent); }
.consent { color:#202020!important; }
.contact-form button[type=submit],.modal-dialog button[type=submit] { background:var(--accent);color:#F5F0EA; }
.contact-form button[type=submit]:hover,.modal-dialog button[type=submit]:hover { background:var(--ink); }
.direct-email-block { border-color:#F5F0EA; }
.direct-email-kicker { color:#A61028; }
.direct-email-link { color:var(--ink);border-color:#F5F0EA; }
.direct-email-link:hover { color:var(--accent);border-color:var(--accent); }
.direct-email-description { color:#202020; }

/* Footer */
.footer-scene { background:linear-gradient(145deg,#F5F0EA,#F5F0EA 55%,#F5F0EA); }
.footer-scene::before { opacity:.05; }
.footer-card { background:linear-gradient(145deg,#202020,#202020 62%,#202020);color:#F5F0EA; }
.footer-type { color:#F5F0EA; }
.footer-top a,.footer-top button { color:#F5F0EA; }
.footer-top h3 { color:#F5F0EA; }
.footer-bottom,.footer-company { color:#F5F0EA; }
.footer-legal a:hover { color:#F5F0EA; }

/* Quick actions, guide, modal */
.quick-vertical { background:#202020;border-color:#F5F0EA;color:#F5F0EA; }
.quick-circle { border-color:#F5F0EA;box-shadow:0 10px 25px rgba(32,32,32,.14); }
.quick-inquiry { background:var(--accent);border-color:var(--accent);color:#F5F0EA; }
.quick-up { background:#F5F0EA;color:var(--ink); }
.help-launcher { background:#F5F0EA;border-color:#A61028;box-shadow:0 12px 35px rgba(32,32,32,.16); }
.help-launcher-ping { background:var(--accent); }
.help-panel { background:#F5F0EA;border-color:#202020;color:var(--ink);box-shadow:0 25px 70px rgba(32,32,32,.15); }
.help-eyebrow { color:#A61028; }
.help-close { color:var(--ink); }
.help-option { border-color:#F5F0EA; }
.help-option:hover { color:var(--accent); }
.help-option-arrow { background:#202020; }
.help-option:hover .help-option-arrow { background:var(--accent); }
.help-panel-foot { color:#A61028; }
.modal-overlay { background:rgba(32,32,32,.42); }
.modal-top>span { color:#202020; }
.modal-close { color:var(--ink); }
.modal-dialog { background:#F5F0EA;box-shadow:0 28px 70px rgba(32,32,32,.17); }
.modal-dialog h2,.modal-dialog h2 em { color:var(--ink); }
.modal-dialog h2 em { color:var(--accent); }
.modal-sub { color:#202020; }
.modal-privacy-box { border-color:#F5F0EA;background:#F5F0EA;color:#202020; }
.privacy-box-title,.privacy-box-details dt { color:var(--ink); }
.privacy-box-title span { color:var(--accent); }
.privacy-box-details dd { color:#202020; }
.privacy-box-details dd small,.privacy-box-explain { color:#202020; }
.privacy-box-link { color:var(--accent); }
.modal-dialog .privacy-box-consent { color:#202020!important; }

/* Typography emphasis */
.hero-host h1,.intro-top h2,.platform-heading h2,.contact-title h2 { text-wrap:balance; }
.section-heading h2 em,.portfolio-intro h2 em { color:#F5F0EA; }
.section-heading h2 em { color:var(--accent); }
.portfolio-intro .section-label { color:#F5F0EA; }
.portfolio-intro .portfolio-flourish { color:#F5F0EA; }
.hero-host .carousel-slide:first-child img { filter:none; }

@media (max-width:640px) {
  .platform-benefits {
    display:flex;
    flex-direction:column;
    grid-auto-flow:unset;
    grid-auto-columns:unset;
    gap:0;
    overflow:visible;
    scroll-snap-type:none;
    scrollbar-width:auto;
    padding:0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .platform-benefit {
    display:grid;
    grid-template-columns:26px minmax(0,1fr);
    gap:12px;
    min-height:0;
    padding:15px 2px 16px;
    margin:0;
    border:0;
    border-bottom:1px solid #F5F0EA;
    border-radius:0;
    background:transparent;
    scroll-snap-align:none;
  }
  .platform-benefit:last-child { border-bottom:0; }
  .platform-benefit-index { padding-top:4px; }
  .platform-benefit h4 { font-size:15px;line-height:1.45;margin-bottom:5px; }
  .platform-benefit p { font-size:12px;line-height:1.75; }
  .platform-description { padding-top:24px; }
}
