/* Sunlit architectural palette: the logo stays original, but no longer dictates every surface. */
:root {
  --aveo-ink: #223d3b;
  --aveo-gold: #c45e36;
  --aveo-paper: #fffcf5;
  --aveo-stone: #e0efea;
  --aveo-grey: #b7c6bd;
  --aveo-charcoal: #23645e;
  --aveo-black: #223d3b;
  --aveo-muted: #4c6661;
  --aveo-clay: #f6dfca;
  --aveo-citrus: #f7efc9;
  --aveo-accent: #bf5633;
}

body, body.page-sub, .aveo-section { background: var(--aveo-paper); color: var(--aveo-black); }
.page-sub .hero-nav.is-scrolled { background: rgba(255, 252, 245, .96); }
.page-services .hero-nav.is-scrolled { background: rgba(27, 78, 75, .96); }
.page-sub .hero-contact, .round-link-dark, .form-submit { background: var(--aveo-accent); border-color: var(--aveo-accent); color: #fff; }
.page-sub .hero-contact:hover, .form-submit:hover { background: var(--aveo-charcoal); border-color: var(--aveo-charcoal); color: #fff; }
.page-services .hero-contact { background: var(--aveo-paper); border-color: var(--aveo-paper); color: var(--aveo-black); }
.page-services .hero-contact:hover { background: var(--aveo-citrus); border-color: var(--aveo-citrus); color: var(--aveo-black); }
.round-link-dark b { color: var(--aveo-accent); background: #fff; }
.round-link-light { color: var(--aveo-black); background: var(--aveo-citrus); }
.round-link-light b { color: #fff; background: var(--aveo-accent); }
.site-menu, .page-sub .site-menu, .page-sub.menu-open .hero-nav, body.menu-open .hero-nav { background: var(--aveo-paper) !important; color: var(--aveo-black) !important; }
.site-menu nav a:hover, .page-sub .page-end a:hover { color: var(--aveo-accent); }
.site-menu-cancel, .menu-open .site-menu-toggle { border-color: var(--aveo-accent); background: var(--aveo-accent); color: #fff; }
.hero-button { color: var(--aveo-black); background: var(--aveo-citrus); }
.hero-button-icon { background: var(--aveo-accent); color: #fff; }
.page-services .services-cta, .about-cta { background: var(--aveo-citrus); color: var(--aveo-black); }
.page-services .services-cta span, .about-cta span { background: var(--aveo-accent); color: #fff; }

/* Distinct sunlit bands preserve each page's editorial rhythm. */
.aveo-selected { background: var(--aveo-clay); }
.aveo-services-preview { background: var(--aveo-paper); }
.about-approach { background: var(--aveo-stone); }
.aveo-process, .about-principles { background: var(--aveo-citrus); }
.career-work { background: var(--aveo-clay); }
.aveo-notes { background: #f2f8ed; }
.statement-side, .process-grid article { background: #fffdf8; }
.process-grid article > span { background: var(--aveo-citrus); color: var(--aveo-black); }
.intro-image figcaption, .about-approach figcaption { background: rgba(255, 252, 245, .93); color: var(--aveo-black); }
.selected-media { background: #e6d1bd; }
.portfolio-card { background: var(--aveo-charcoal); }
.project-register .project-thumb { background: var(--aveo-stone); }
.project-register a:hover { background: #f7eddd; }
.about-principal { background: var(--aveo-charcoal); color: #fff; }
.about-principal .section-index, .principal-role, .principal-copy small { color: #e3f3e9; }
.principal-credentials span { border-color: rgba(255,255,255,.38); }
.principal-portrait { background: #e3dbd1; }
.page-contact .contact-card { background: var(--aveo-clay); color: var(--aveo-black); }
.page-contact .contact-card-link, .page-contact .contact-orbit { border-color: var(--aveo-black); }
.page-contact .contact-location { color: var(--aveo-muted); }
.page-contact .contact-card h2 em { color: var(--aveo-accent); }

/* Photo-led panels retain enough contrast for their white type. */
.aveo-duo { background: var(--aveo-charcoal); }
.aveo-cta { background: var(--aveo-charcoal); }
.aveo-cta-type { background: var(--aveo-charcoal); }
.aveo-cta-type .section-index { color: #d6eee2; }
.page-about .about-hero, .page-contact .contact-hero { background: var(--aveo-paper); color: var(--aveo-black); }
.page-about .about-heading h1 em, .page-contact .contact-copy h1 em { color: var(--aveo-accent); }
.page-about .about-heading p { color: var(--aveo-muted); }
.page-projects .projects-copy p { color: #f0f7f2; }
.page-projects .projects-copy h1 span { color: #dcefe8; }
.projects-cta { color: var(--aveo-black); background: var(--aveo-citrus); }
.projects-cta-icon { background: var(--aveo-accent); color: #fff; }

/* A warm, light footer closes every page without returning to the logo's ash palette. */
.aveo-footer { background: #eed4ae; color: var(--aveo-black); }
.footer-brand, .footer-links a, .footer-address a { color: var(--aveo-black); }
.footer-brand-block p, .footer-address p, .footer-bottom { color: #465f56; }
.footer-social a { border-color: #648073; color: var(--aveo-black); }
.footer-social a:hover { background: var(--aveo-accent); border-color: var(--aveo-accent); color: #fff; }
.footer-word { color: #d3ad7f; }
.page-sub .page-end { background: #eed4ae; color: var(--aveo-black); }

/* Project details use the same welcoming material palette as the rest of the site. */
.project-dialog { border-color: #d7bfa4; background: var(--aveo-paper); color: var(--aveo-black); }
.project-dialog::backdrop { background: rgba(24, 44, 41, .72); }
.project-dialog-visual { background: var(--aveo-stone); }
.project-dialog-visual figcaption { background: rgba(27, 69, 64, .83); }
.project-dialog-kicker, .project-dialog-location, .project-dialog-notes h3 { color: var(--aveo-muted); }
.project-dialog-rule { background: var(--aveo-grey); }
.project-dialog-notes ul, .project-dialog-notes li { border-color: var(--aveo-grey); }
.project-dialog-source-link, .project-dialog-close { border-color: var(--aveo-accent); background: var(--aveo-accent); color: #fff; }
.project-dialog-source-link:hover, .project-dialog-close:hover { background: var(--aveo-charcoal); border-color: var(--aveo-charcoal); }

/* Reading copy and UI labels are larger; h1-h3, card titles and the AVEO reveal stay untouched. */
.site-desktop-links a { font-size: 15px; }
.hero-contact, .hero-button, .round-link, .text-link, .form-submit { font-size: 15px; }
.hero-content-side p { font-size: 18px; }
.page-projects .projects-copy p { font-size: clamp(18px, 1.38vw, 21px); }
.page-sub .about-heading p { font-size: clamp(19px, 1.48vw, 22px); }
.page-sub .services-copy p { font-size: clamp(18px, 1.53vw, 23px); }
.page-sub .contact-copy p { font-size: clamp(19px, 1.48vw, 22px); }
.page-sub .page-kicker { font-size: 14px; }
.section-index, .page-kicker, .portfolio-card-copy small, .selected-meta small,
.studio-more span, .project-register span, .career-list span, .service-preview-list span,
.service-detail-row > span, .approach-points article > span, .principle-row span,
.project-dialog-kicker { font-size: 13px; }
.intro-note, .intro-aside p, .portfolio-intro p, .project-index-head p,
.career-heading p, .about-story-columns p, .approach-points p,
.service-detail-row p, .contact-enquiry > .section-shell > p,
.aveo-cta p, .duo-panel p { font-size: 17px; }
.service-preview-intro p, .process-grid p, .principle-row p,
.career-list p, .career-source, .service-source, .project-index-foot p,
.contact-enquiry .form-fallback, .footer-brand-block p, .footer-address p,
.footer-links a, .footer-address a, .project-register small, .project-register em,
.studio-more small, .principal-role, .principal-credentials span { font-size: 15px; }
.about-people-grid p, .principal-copy > p { font-size: clamp(20px, 1.82vw, 26px); }
.project-dialog-description { font-size: 19px; }
.project-dialog-location, .project-dialog-notes li, .project-dialog-source-link { font-size: 15px; }
.field span { font-size: 16px; }
.field input, .field textarea { font-size: 18px; }
.footer-bottom, .about-facts small, .principal-copy small { font-size: 13px; }
.site-menu-cancel, .site-menu-toggle { font-size: 13px; }
.site-menu nav a span, .site-menu p, .service-list span,
.projects-caption, .about-people figcaption, .intro-image figcaption,
.about-approach figcaption, .project-dialog-visual figcaption { font-size: 12px; }
.contact-card-top, .contact-location, .contact-details { font-size: 14px; }

@media (max-width: 767px) {
  .hero-contact, .hero-button, .round-link, .text-link, .form-submit { font-size: 14px; }
  .hero-content-side p, .page-projects .projects-copy p, .page-sub .services-copy p { font-size: 18px; }
  .page-sub .about-heading p, .page-sub .contact-copy p { font-size: 19px; }
  .page-sub .page-kicker { font-size: 14px; }
  .section-index, .page-kicker, .portfolio-card-copy small, .selected-meta small,
  .studio-more span, .project-register span, .career-list span, .service-preview-list span,
  .service-detail-row > span, .approach-points article > span, .principle-row span,
  .project-dialog-kicker { font-size: 13px; }
  .intro-note, .intro-aside p, .portfolio-intro p, .project-index-head p,
  .career-heading p, .approach-points p,
  .service-detail-row p, .contact-enquiry > .section-shell > p,
  .aveo-cta p, .duo-panel p { font-size: 16px; }
  .about-story-columns p { font-size: 16px; }
  .service-preview-intro p, .principle-row p,
  .career-list p, .career-source, .service-source, .project-index-foot p,
  .contact-enquiry .form-fallback, .footer-brand-block p, .footer-address p,
  .project-register small, .project-register em, .studio-more small,
  .principal-role, .principal-credentials span { font-size: 16px; }
  .process-grid p, .footer-links a, .footer-address a { font-size: 16px; }
  .about-people-grid p { font-size: 21px; }
  .principal-copy > p { font-size: 19px; }
  .project-dialog-description { font-size: 18px; }
  .project-dialog-location, .project-dialog-notes li, .project-dialog-source-link { font-size: 15px; }
  .field span { font-size: 16px; }
  .field input, .field textarea { font-size: 18px; }
  .footer-bottom, .about-facts small, .principal-copy small { font-size: 13px; }
  .site-menu-cancel, .site-menu-toggle { font-size: 14px; }
  .site-menu nav a span, .site-menu p, .service-list span,
  .projects-caption, .about-people figcaption, .intro-image figcaption,
  .about-approach figcaption, .project-dialog-visual figcaption { font-size: 12px; }
  .contact-card-top, .contact-location { font-size: 13px; }
  .contact-details { font-size: 17px; }
}
