/* Brand reference supplied 2026-09-23: C77 M0 Y46 K0.
   #05AF9E is sampled from the supplied sRGB swatch, not an ICC print proof.
   One shared palette covers every route and interactive state. */
:root{
  --brand:#05af9e;
  --brand-hover:#21bca9;
  --brand-ink:#00766a;
  --on-brand:#062e2a;
  --forest:#006e65;
  --forest-deep:#004e48;
  --action-bg:var(--brand-ink);
  --action-hover:var(--forest-deep);
  --ink:#263b37;
  --muted:#65716e;
  --paper:#f7f9f8;
  --line:#dce3e0;
  --line-strong:#9ebeb5;
  --surface:#edf1ef;
  --mint:#eaf3f0;
  --mint-hover:#dcece7;
  --sky:var(--surface);
  --sand:var(--surface);
}

/* Restore the approved shaded homepage; the original swatch remains the brand accent. */
.hero{background:radial-gradient(ellipse at 25% 0%,#008074 0,transparent 70%),var(--forest);color:#fff}
.hero h1,.hero-description{color:#fff}
.hero .copy-rule{background:#9edbd1}
.quote-button,.button-green{background:var(--action-bg);color:#fff;border-color:var(--action-bg)}
.quote-button:hover,.button-green:hover{background:var(--action-hover);color:#fff;border-color:var(--action-hover)}
.button-light:hover{background:var(--mint)}
.button-outline{border-color:#a9dbd1}
.visual-tile{background:#b6ded4}
.tile-caption{background:linear-gradient(transparent,#004e48d9)}
.film-preview{background:#d9ede6}
.film-still::after{background:linear-gradient(transparent,#004e48d9)}
.site-footer,.video-dialog{background:var(--forest-deep)}
.toast{background:var(--forest-deep)}
.video-dialog video{background:#062e2a}
.video-dialog .icon-button:hover{background:var(--forest)}
.footer-invitation .eyebrow,.footer-brand>span,.footer-columns h3,
.footer-columns>div>span,.footer-bottom,.quality-banner p:not(.eyebrow){color:#c5e9e0}
.footer-columns>div>a{color:var(--paper)}

/* Small text uses the darker brand shade for legibility on pale surfaces. */
.desktop-nav a[aria-current=page],.header-utility:hover,.text-link:hover,
.film-intro .eyebrow,.section-heading .eyebrow,.page-heading .eyebrow,
.factory-film .eyebrow,.process-copy .eyebrow,.process-spec-sheet .eyebrow,
.product-detail-copy>.eyebrow,.product-type,.range-type,.dialog-top .eyebrow,
.studio-teaser-copy>.eyebrow,.factory-profile-grid .eyebrow,
.certificate-copy .eyebrow,.evidence-navigation a{color:var(--brand-ink)}
.text-link{border-bottom-color:var(--line-strong)}
.detail-item .icon{color:var(--brand-ink)}
.breadcrumbs li+li::before{color:var(--muted)}
.factory-facts span,.company-details dt{color:var(--muted)}
.image-note,.product-detail-image figcaption{background:#f8faf8ed;color:var(--ink)}
.attached-design{color:var(--ink)}
.evidence-source a,.source-disclosure a,.document-links a,.evidence-navigation a{
  text-decoration-color:var(--line-strong);
}

/* Neutral surfaces and restrained teal states, without separate blue or sand accents. */
.mint,.factory-facts,.process-panel,.process-tabs button[aria-selected=true],
.shape-choices label:has(:checked),.finder-options label:has(:checked),
.recommendation,.comparison-table tr>:first-child,.empty-state,
.upload-zone,.project-form,.search-field,.form-result,.related-links>a,
.certificate-image,.certificate-scroll{background:var(--mint)}
.icon-button:hover,.process-links>a:hover,.product-row:hover,
.category-filters button:hover:not([aria-pressed=true]),.related-links>a:hover{background:var(--mint-hover)}
.range-links>a:hover{background:var(--mint-hover)}
.factory-facts strong{color:var(--brand-ink)}
.certificate-image{color:var(--ink)}
.certificate-copy .document-status:not(.expired){background:var(--mint);color:var(--brand-ink)}
.request-review{background:var(--paper);border-color:var(--line-strong)}
.catalog-image{background:var(--mint)}
.factory-facts>div+div,.process-tabs,.process-copy ul,.process-copy li,
.product-row,.product-row-arrow,.certificate-card,.certificate-details,
.certificate-details>div,.project-form fieldset{border-color:var(--line)}
.shape-choices label,.finder-options label,.field-label input,.field-label textarea,
.field-label select,.quote-dialog input,.quote-dialog textarea,.quote-dialog select,
.compare-toggle,.upload-zone,.upload-zone input::file-selector-button,
.search-field,.gallery-plus{border-color:var(--line-strong)}
.shape-choices label:has(:checked),.finder-options label:has(:checked){border-color:var(--brand-ink)}
.category-filters button[aria-pressed=true]{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}
.compare-toggle[aria-pressed=true]{border-color:var(--forest)}
.process-tabs button[aria-selected=true]{border-bottom-color:var(--brand)}
.field-label input::placeholder,.field-label textarea::placeholder,
.quote-dialog input::placeholder,.quote-dialog textarea::placeholder{color:var(--muted)}
.range-label input,.shape-choices input,.finder-options input,
.sample-options input,.consent input{accent-color:var(--brand-ink)}

/* Clear focus rings and a constant white surface for all DIY bag colours. */
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,
textarea:focus-visible,.colour-choices input:focus-visible+span,
.search-field:focus-within{outline-color:var(--brand-ink)}
.hero :focus-visible{outline-color:#fff}
.site-footer :focus-visible,.quality-banner :focus-visible,
.comparison-tray :focus-visible,.video-dialog :focus-visible{outline-color:#baf4e8}
.design-display,.bag-stage{background:#fff}
.design-display,.preview-bottomline{border-color:var(--line)}
