/*
Theme Name: Alteris Human Warmth
Theme URI: https://alteris.com.au/
Author: A-Bomb Pty Ltd
Description: Native block theme implementing the approved Alteris Human Warmth design.
Version: 0.1.0
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: alteris-human-warmth
*/

:root {
  --alteris-syrah: #592130;
  --alteris-gold: #c8b06e;
  --alteris-gris: #43525a;
  --alteris-canvas: #f5e8e0;
  --alteris-paper: #ffffff;
  --alteris-clay: rgba(240, 186, 171, .22);
  --alteris-ink: var(--alteris-gris);
  --alteris-line: rgba(89, 33, 48, .16);
  --alteris-shadow: 0 30px 72px rgba(89, 33, 48, .18);
}

html { scroll-behavior: smooth; }
body { background: var(--alteris-paper); color: var(--alteris-ink); }
body { overflow-x: clip; }
a { text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--alteris-gold); outline-offset: 4px; }

.alteris-shell { padding-inline: clamp(20px, 4vw, 72px); }
.alteris-eyebrow { color: var(--alteris-syrah); font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.alteris-button .wp-block-button__link { box-shadow: 0 13px 30px rgba(89, 33, 48, .17); transition: transform .2s ease, box-shadow .2s ease; }
.alteris-button .wp-block-button__link:hover,
.alteris-button .wp-block-button__link:focus-visible { box-shadow: 0 18px 38px rgba(89, 33, 48, .24); transform: translateY(-2px); }

.alteris-header {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(89,33,48,.12);
  box-shadow: 0 10px 34px rgba(89,33,48,.05);
  position: relative;
  z-index: 20;
}
.alteris-header .wp-block-site-logo img { width: clamp(210px, 17vw, 252px); height: auto; }
.alteris-header__inner { min-height: 88px; }
.alteris-header .wp-block-navigation-item__content { color: var(--alteris-ink); font-size: .9rem; font-weight: 500; }
.alteris-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--alteris-paper); padding: 28px; }
.alteris-mobile-cta { display: none; }

.alteris-hero { background: var(--alteris-canvas); min-height: min(760px, calc(100svh - 88px)); position: relative; }
.alteris-hero::after { background: var(--alteris-clay); content: ""; inset: 0 0 0 auto; position: absolute; width: 15vw; }
.alteris-hero__grid { align-items: stretch; min-height: inherit; }
.alteris-hero__copy { align-self: center; padding-block: clamp(70px, 9vw, 150px); position: relative; z-index: 2; }
.alteris-hero__copy::before { background: var(--alteris-gold); content: ""; height: 3px; position: absolute; right: 12%; top: 15%; width: 64px; }
.alteris-hero__title { font-size: clamp(4rem, 7.2vw, 8.7rem); letter-spacing: -.035em; line-height: .84; }
.alteris-hero__title em { color: var(--alteris-gold); display: block; font-style: italic; }
.alteris-hero__image { align-self: stretch; margin: 28px 28px 28px 0; min-height: 560px; position: relative; z-index: 2; }
.alteris-hero__image::before { border-right: 1px solid var(--alteris-gold); border-top: 1px solid var(--alteris-gold); content: ""; height: 42%; position: absolute; right: -14px; top: -14px; width: 42%; }
.alteris-hero__image img { box-shadow: var(--alteris-shadow); height: 100%; object-fit: cover; position: relative; width: 100%; }

.alteris-section { padding-block: clamp(76px, 9vw, 144px); }
.alteris-intro__rule { border-top: 1px solid var(--alteris-gold); margin-top: .8em; max-width: 140px; }

.alteris-journey { background: var(--alteris-clay); }
.alteris-journey__card { background: var(--alteris-paper); box-shadow: var(--alteris-shadow); margin-top: 36px; }
.alteris-journey__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 5vw, 74px); }
.alteris-journey__image img { height: 100%; min-height: 440px; object-fit: cover; width: 100%; }
.alteris-stage-links { border-bottom: 1px solid rgba(89,33,48,.22); gap: 0; }
.alteris-stage-links a { border-bottom: 3px solid transparent; color: var(--alteris-gris); display: block; font-weight: 600; padding: 18px clamp(14px,2vw,28px); text-decoration: none; }
.alteris-stage-links a:first-child { border-bottom-color: var(--alteris-gold); color: var(--alteris-syrah); }
.alteris-stage-links { display: grid; grid-template-columns: repeat(4, 1fr); }
.alteris-stage-links button { appearance: none; background: transparent; border: 0; border-bottom: 3px solid transparent; color: var(--alteris-gris); cursor: pointer; font: inherit; font-weight: 600; padding: 18px clamp(14px,2vw,28px); }
.alteris-stage-links button[aria-selected="true"] { border-bottom-color: var(--alteris-gold); color: var(--alteris-syrah); }
.alteris-journey-panel[hidden] { display: none; }
.alteris-journey-panel { display: grid; grid-template-columns: 1fr 1fr; }
.alteris-journey-panel__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 5vw, 74px); }
.alteris-journey-panel img { aspect-ratio: 900 / 620; display: block; height: 100%; object-fit: cover; width: 100%; }

.alteris-testimonials { background: var(--alteris-syrah); color: var(--alteris-paper); }
.alteris-testimonials h2, .alteris-testimonials blockquote { color: inherit; }
.alteris-testimonials .alteris-eyebrow,
.alteris-enquiry .alteris-eyebrow { color: var(--alteris-gold); }
.alteris-stars { color: var(--alteris-gold); letter-spacing: .12em; }
.alteris-quote { border-top: 1px solid rgba(255,255,255,.24); padding-top: 30px; }

.alteris-services { background: linear-gradient(180deg, var(--alteris-canvas), rgba(240,186,171,.2)); }
.alteris-services__grid { border-bottom: 1px solid var(--alteris-line); border-top: 1px solid var(--alteris-line); box-shadow: 0 30px 72px rgba(89,33,48,.08); display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 0; }
.alteris-service-card { background: rgba(255,255,255,.48); border-bottom: 1px solid var(--alteris-line); border-right: 1px solid var(--alteris-line); min-height: 330px; padding: clamp(32px,3vw,48px); position: relative; }
.alteris-service-card::before { background: var(--alteris-gold); content: ""; inset: auto auto 0 0; height: 0; position: absolute; transition: height .25s ease; width: 3px; }
.alteris-service-card:hover { background: rgba(255,255,255,.92); box-shadow: 0 24px 48px rgba(89,33,48,.14); z-index: 1; }
.alteris-service-card:hover::before { height: 100%; }
.alteris-service-card a { color: var(--alteris-syrah); font-weight: 600; }

.alteris-advisers { background: linear-gradient(180deg, var(--alteris-paper), var(--alteris-canvas)); }
.alteris-adviser-head { align-items: end; display: flex; justify-content: space-between; }
.alteris-carousel-nav { display: flex; gap: 10px; }
.alteris-carousel-nav button { background: var(--alteris-paper); border: 1px solid var(--alteris-line); color: var(--alteris-syrah); cursor: pointer; font-size: 1.3rem; height: 48px; width: 48px; }
.alteris-adviser-track { display: grid; gap: 20px; grid-auto-columns: minmax(220px, 1fr); grid-auto-flow: column; overflow-x: auto; padding: 18px 0 34px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.alteris-adviser-track > * { scroll-snap-align: start; }
.alteris-adviser-card { background: var(--alteris-paper); border: 1px solid rgba(89,33,48,.12); box-shadow: 0 20px 48px rgba(89,33,48,.14); }
.alteris-adviser-card img { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.alteris-adviser-card__body { padding: 18px 20px 24px; }
.alteris-adviser-card__body > * { margin-block: 0 8px; }

.alteris-insights { background: var(--alteris-paper); }
.alteris-insight-card img { aspect-ratio: 4/3; box-shadow: 0 18px 44px rgba(89,33,48,.12); object-fit: cover; width: 100%; }
.alteris-insight-card__body { padding-top: 24px; }

.alteris-masthead { background: var(--alteris-canvas); padding-block: clamp(48px,7vw,104px); }
.alteris-breadcrumbs { background: transparent; color: var(--alteris-gris); font-size: .82rem; margin-bottom: 42px; }
.alteris-masthead__image img { box-shadow: var(--alteris-shadow); height: 100%; max-height: 680px; object-fit: cover; width: 100%; }

.alteris-enquiry { background: var(--alteris-syrah); color: var(--alteris-paper); }
.alteris-enquiry :is(h2, h3, a) { color: inherit; }
.alteris-enquiry__form { background: var(--alteris-paper); box-shadow: 0 24px 64px rgba(30,20,22,.18); color: var(--alteris-ink); padding: clamp(32px,4vw,64px); }
.alteris-enquiry__form h3 { color: var(--alteris-syrah); }
.alteris-enquiry__form-grid { display: grid; gap: 28px 24px; grid-template-columns: 1fr 1fr; }
.alteris-enquiry__field--wide { grid-column: 1 / -1; }
.alteris-enquiry__form label { display: block; font-size: .84rem; font-weight: 600; }
.alteris-enquiry__form input, .alteris-enquiry__form select, .alteris-enquiry__form textarea { background: transparent; border: 0; border-bottom: 1px solid rgba(67,82,90,.35); border-radius: 0; box-sizing: border-box; min-height: 50px; padding: 10px 0; width: 100%; }
.alteris-enquiry__form button { background: var(--alteris-syrah); border: 0; color: var(--alteris-paper); cursor: pointer; font: inherit; font-weight: 600; padding: 14px 24px; }
.alteris-form-note { color: var(--alteris-gris); font-size: .76rem; }

.alteris-footer { background: #242424; color: rgba(255,255,255,.76); }
.alteris-footer h2, .alteris-footer a { color: var(--alteris-paper); }
.alteris-footer a { text-decoration: none; }
.alteris-footer__legal { border-top: 1px solid rgba(255,255,255,.18); font-size: .74rem; margin-top: 52px; padding-top: 30px; }

@media (max-width: 900px) {
  .alteris-header__inner { min-height: 74px; }
  .alteris-header .wp-block-site-logo img { width: 172px; }
  .alteris-header-cta { display: none !important; }
  .alteris-mobile-cta { display: flex; }
  .alteris-hero { min-height: 0; }
  .alteris-hero::after { display: none; }
  .alteris-hero__grid { display: block; }
  .alteris-hero__copy { padding: 64px 24px 36px; }
  .alteris-hero__copy::before { display: none; }
  .alteris-hero__title { font-size: clamp(3.5rem, 15vw, 5.8rem); }
  .alteris-hero__image { margin: 0 24px 48px; min-height: 0; }
  .alteris-hero__image img { aspect-ratio: 4/3; }
  .alteris-stage-links { grid-template-columns: 1fr 1fr; }
  .alteris-journey-panel { display: flex; flex-direction: column-reverse; }
  .alteris-journey-panel img { aspect-ratio: 4/3; }
  .alteris-services__grid { grid-template-columns: 1fr !important; }
  .alteris-service-card { border-right: 0; min-height: 0; }
}

@media (max-width: 520px) {
  .alteris-shell { padding-inline: 20px; }
  .alteris-hero__title { font-size: clamp(3rem, 16vw, 4.25rem); }
  .alteris-enquiry__form-grid { grid-template-columns: 1fr; }
  .alteris-enquiry__field--wide { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .alteris-button .wp-block-button__link:hover,
  .alteris-button .wp-block-button__link:focus-visible { transform: none; }
}
