@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&family=Instrument+Serif:ital@0;1&display=swap');

:root {
  --font-sans: 'DM Sans', Arial, sans-serif;
  --font-serif: 'Instrument Serif', Georgia, serif;
  font-family: var(--font-sans);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

button,
input,
textarea,
select {
  font: inherit;
}

.standalone-site .demo-bar {
  display: none;
}

.brewpage-footer{background:#000614;color:#f5d5a4;padding:28px clamp(22px,5vw,78px) 14px;font-family:var(--font-sans),Arial,sans-serif}
.brewpage-footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4vw;align-items:center}
.brewpage-footer-product>strong{display:block;color:#f5d5a4;font-size:clamp(2.4rem,3.3vw,3.5rem);font-weight:800;line-height:1;letter-spacing:-.08em;margin:0 0 8px}
.brewpage-footer-product>strong span{color:#d88026}
.brewpage-footer-product p{margin:0;max-width:690px;color:#c8c6bf;font-size:.86rem;line-height:1.55}
.brewpage-footer-product p a{color:#f5d5a4;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.brewpage-footer-maker{display:flex;align-items:center;gap:12px;border-left:1px solid #35404b;padding-left:26px}
.brewpage-footer-maker img{width:62px;height:62px;flex:none;object-fit:contain}
.brewpage-footer-maker>div>span{display:block;color:#d88026;font-size:.62rem;font-weight:800;letter-spacing:.17em}
.brewpage-footer-maker strong{display:block;color:#fff8eb;font-size:1.35rem;font-weight:700;letter-spacing:-.045em;margin:4px 0 0}
.brewpage-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:17px;padding-top:12px;border-top:1px solid #35404b;color:#a9aaa7;font-size:.72rem}
.brewpage-footer-bottom a{color:#f5d5a4;font-weight:700;text-decoration:none}
@media(max-width:760px){.brewpage-footer-main{grid-template-columns:1fr;gap:14px}.brewpage-footer-maker{border-left:0;border-top:1px solid #35404b;padding:12px 0 0}.brewpage-footer-bottom{align-items:flex-start;flex-direction:column;gap:8px;margin-top:14px}}
@media(max-width:520px){.brewpage-footer{padding-top:24px}.brewpage-footer-product>strong{font-size:2.65rem}.brewpage-footer-maker img{width:54px;height:54px}.brewpage-footer-maker strong{font-size:1.2rem}}

/* Shared customer demo bar */
.tpl {
  min-height: 100vh;
  font-size: 1rem;
}
.tpl a {
  text-decoration: none;
  color: inherit;
}
.demo-bar {
  height: 48px;
  background: #141512;
  color: #fff;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 3vw;
  font-size: 0.875rem;
  position: relative;
  z-index: 20;
}
.demo-bar > a {
  display: flex;
  align-items: center;
  gap: 7px;
}
.demo-bar > a:last-child {
  justify-self: end;
  color: #d9ff66;
  font-weight: 800;
}
.demo-bar svg {
  width: 16px;
}
.demo-bar > span {
  color: #a8aaa3;
}
.demo-bar b {
  color: #fff;
}

/* 01 — editorial bakery */
.bakery {
  --orange: #e65b31;
  background: #f4ead8;
  color: #292015;
}
.bakery nav {
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4vw;
  border-bottom: 1px solid #c9bda9;
}
.bakery-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  font: 400 1.75rem var(--font-serif);
}
.bakery-logo > span {
  width: 45px;
  height: 45px;
  border: 1px solid #292015;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font: 800 0.75rem var(--font-sans);
}
.bakery nav > div {
  display: flex;
  gap: 35px;
}
.bakery nav > div a {
  font-size: 0.875rem;
}
.bakery .order {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: 800;
}
.bakery .order svg {
  width: 17px;
}
.bakery-hero {
  min-height: 700px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
}
.bakery-copy {
  padding: 7vw 4vw 5vw 6vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.bakery-copy > p,
.bakery-menu > div > p {
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  color: var(--orange);
}
.bakery-copy h1 {
  font: 400 clamp(4.8rem, 8.5vw, 9.5rem)/0.77 var(--font-serif);
  letter-spacing: -0.055em;
  margin: 35px 0;
}
.bakery-copy h1 em {
  font-weight: 400;
  color: var(--orange);
}
.bakery-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 25px;
}
.bakery-bottom > span {
  max-width: 280px;
  line-height: 1.6;
}
.bakery-bottom > a {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--orange);
  color: #fff;
  padding: 15px 18px;
  font-size: 0.875rem;
  font-weight: 800;
}
.bakery-bottom svg {
  width: 18px;
}
.bakery-photo {
  position: relative;
  min-height: 700px;
  overflow: hidden;
}
.bakery-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.round-stamp {
  position: absolute;
  right: 24px;
  top: 24px;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: #f4ead8;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 20px;
  font-size: 0.7rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.09em;
  transform: rotate(8deg);
}
.bakery-ticker {
  height: 78px;
  background: var(--orange);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 20px;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}
.bakery-ticker i {
  font-style: normal;
  color: #f7d665;
}
.bakery-menu {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 8vw;
  padding: 8vw 7vw;
}
.bakery-menu h2 {
  font: 400 clamp(3.5rem, 6vw, 6.3rem)/0.9 var(--font-serif);
  margin: 22px 0;
}
.bakery-menu ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.bakery-menu li {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 18px;
  border-top: 1px solid #c8baa4;
  padding: 25px 0;
}
.bakery-menu li > span {
  font: 400 1.5rem var(--font-serif);
  color: var(--orange);
}
.bakery-menu li > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.bakery-menu li b {
  font-size: 1.05rem;
}
.bakery-menu li small {
  color: #746a5e;
  font-size: 0.85rem;
}
.bakery footer {
  background: #292015;
  color: #f4ead8;
  min-height: 100px;
  padding: 25px 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bakery footer strong {
  font: 400 1.8rem var(--font-serif);
}
.bakery footer p {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
}
.bakery footer svg {
  width: 17px;
}

/* 02 — fashion salon */
.salon {
  --pink: #ef86ba;
  background: #f1a5c9;
  color: #1c1017;
}
.salon nav {
  height: 96px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 4vw;
  border-bottom: 2px solid #1c1017;
}
.salon-logo {
  font-size: 1.45rem;
  font-weight: 950;
  letter-spacing: -0.04em;
}
.salon-logo span {
  font-family: var(--font-serif);
  font-weight: 400;
  margin-left: 5px;
}
.salon nav > div {
  display: flex;
  gap: 36px;
}
.salon nav > div a {
  font-size: 0.875rem;
  font-weight: 700;
}
.salon-book {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 2px solid #1c1017;
  padding: 12px 16px;
  font-size: 0.8rem;
  font-weight: 900;
}
.salon-book svg {
  width: 17px;
}
.salon-hero {
  min-height: 720px;
  display: grid;
  grid-template-columns: 1.1fr 0.8fr 0.32fr;
  border-bottom: 2px solid #1c1017;
}
.salon-title {
  padding: 6vw 3vw 5vw 5vw;
}
.salon-title > span {
  font-size: 0.8rem;
  font-weight: 900;
}
.salon-title h1 {
  font: 900 clamp(5rem, 9vw, 10rem)/0.72 var(--font-sans);
  letter-spacing: -0.09em;
  margin: 60px 0 45px;
}
.salon-title h1 i {
  font: 400 1.05em var(--font-serif);
}
.salon-title p {
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}
.salon-title > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 25px;
  font-weight: 900;
  border-bottom: 2px solid;
  padding-bottom: 5px;
}
.salon-title svg {
  width: 18px;
}
.salon-image {
  position: relative;
  min-height: 720px;
  border-left: 2px solid #1c1017;
}
.salon-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.08);
}
.salon-image > span {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #eaff66;
  padding: 16px;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 950;
  letter-spacing: 0.12em;
}
.salon-side {
  border-left: 2px solid #1c1017;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 22px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  gap: 20px;
}
.salon-side b {
  font-size: 3rem;
}
.salon-side span {
  letter-spacing: 5px;
}
.salon-side p {
  max-height: 270px;
  line-height: 1.5;
}
.salon-services {
  padding: 7vw 5vw;
}
.salon-services > p {
  font-size: 0.8rem;
  font-weight: 950;
  letter-spacing: 0.14em;
}
.salon-services > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 2px solid #1c1017;
  border-left: 2px solid #1c1017;
  margin-top: 30px;
}
.salon-services article {
  border-right: 2px solid #1c1017;
  border-bottom: 2px solid #1c1017;
  padding: 30px;
  min-height: 240px;
}
.salon-services article > span {
  font: 400 1.5rem var(--font-serif);
}
.salon-services h2 {
  font-size: 3.6rem;
  letter-spacing: -0.06em;
  margin: 50px 0 10px;
}
.salon footer {
  height: 100px;
  background: #1c1017;
  color: #f1a5c9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw;
}
.salon footer strong {
  font-size: 1.5rem;
}
.salon footer a {
  display: flex;
  align-items: center;
  gap: 8px;
}
.salon footer svg {
  width: 18px;
}

/* 03 — industrial garage */
.garage {
  --yellow: #f2c43d;
  background: #111416;
  color: #f4f5f2;
  font-family: Arial, var(--font-sans), sans-serif;
}
.garage nav {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4vw;
  border-bottom: 1px solid #ffffff2a;
}
.garage-logo {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 1.3rem;
  font-weight: 950;
}
.garage-logo svg {
  width: 23px;
  color: var(--yellow);
}
.garage-logo span {
  color: var(--yellow);
}
.garage nav > div {
  display: flex;
  gap: 35px;
}
.garage nav > div a {
  font-size: 0.8rem;
  font-weight: 800;
}
.garage-quote {
  background: var(--yellow);
  color: #101214 !important;
  padding: 13px 17px;
  font-size: 0.75rem;
  font-weight: 950;
}
.garage-hero {
  min-height: 680px;
  display: grid;
  grid-template-columns: 1fr 1.05fr;
}
.garage-copy {
  padding: 6vw 4vw 5vw 6vw;
}
.garage-copy > p {
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  color: var(--yellow);
}
.garage-copy h1 {
  font-size: clamp(4.8rem, 8vw, 9.2rem);
  line-height: 0.77;
  letter-spacing: -0.075em;
  margin: 55px 0;
}
.garage-copy h1 em {
  font-style: normal;
  color: var(--yellow);
}
.garage-copy > div {
  display: flex;
  align-items: center;
  gap: 35px;
}
.garage-copy > div p {
  max-width: 300px;
  line-height: 1.5;
  color: #b5b9b6;
}
.garage-copy > div a {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #ffffff52;
  padding: 14px 18px;
  font-size: 0.85rem;
  font-weight: 850;
}
.garage-copy > div svg {
  width: 18px;
  color: var(--yellow);
}
.garage-image {
  position: relative;
  margin: 35px 35px 35px 0;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}
.garage-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.75) contrast(1.15);
}
.garage-badge {
  position: absolute;
  right: 25px;
  bottom: 25px;
  background: var(--yellow);
  color: #111416;
  width: 185px;
  padding: 20px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0 10px;
}
.garage-badge svg {
  grid-row: 1/3;
  width: 30px;
}
.garage-badge b {
  font-size: 2.2rem;
  line-height: 1;
}
.garage-badge span {
  font-size: 0.65rem;
  font-weight: 900;
}
.garage-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #ffffff24;
  border-bottom: 1px solid #ffffff24;
}
.garage-stats > div {
  padding: 35px 5vw;
  border-right: 1px solid #ffffff24;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.garage-stats b {
  font-size: 2.2rem;
  color: var(--yellow);
}
.garage-stats span {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: #9da19e;
}
.garage-services {
  padding: 7vw 6vw;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 8vw;
}
.garage-services > div p {
  font-size: 0.75rem;
  color: var(--yellow);
  font-weight: 900;
}
.garage-services h2 {
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: 0.93;
  letter-spacing: -0.06em;
}
.garage-services ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.garage-services li {
  border-top: 1px solid #ffffff28;
  padding: 25px 0;
  display: grid;
  grid-template-columns: 50px 1fr auto;
  align-items: center;
  font-weight: 900;
}
.garage-services li span {
  color: var(--yellow);
}
.garage-services li svg {
  width: 20px;
}

/* 04 — clean home services */
.handy {
  --blue: #246bfd;
  background: #f6f8fc;
  color: #12213b;
}
.handy nav {
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw;
  background: #fff;
  border-bottom: 1px solid #dce2ee;
}
.handy-logo {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 1.45rem;
  font-weight: 950;
  letter-spacing: -0.05em;
}
.handy-logo > span {
  width: 37px;
  height: 37px;
  background: var(--blue);
  color: #fff;
  border-radius: 10px;
  display: grid;
  place-items: center;
}
.handy-logo svg {
  width: 19px;
}
.handy nav > div {
  display: flex;
  gap: 34px;
}
.handy nav > div a {
  font-size: 0.875rem;
  color: #526078;
}
.handy nav > a:last-child {
  background: var(--blue);
  color: #fff;
  padding: 13px 18px;
  border-radius: 9px;
  font-size: 0.875rem;
  font-weight: 850;
}
.handy-hero {
  min-height: 680px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 5vw;
  gap: 7vw;
}
.availability {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: #e8f0ff;
  color: #1e5ad3;
  border-radius: 30px;
  padding: 9px 13px;
  font-size: 0.8rem;
  font-weight: 800;
}
.availability i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2ec46d;
  box-shadow: 0 0 0 4px #2ec46d20;
}
.handy-copy h1 {
  font-size: clamp(4rem, 6.7vw, 7.5rem);
  line-height: 0.86;
  letter-spacing: -0.075em;
  margin: 30px 0;
}
.handy-copy h1 em {
  font: 400 0.95em var(--font-serif);
  color: var(--blue);
}
.handy-copy > p {
  font-size: 1.05rem;
  line-height: 1.65;
  color: #60708b;
  max-width: 540px;
}
.handy-copy > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--blue);
  color: #fff;
  padding: 15px 19px;
  border-radius: 10px;
  font-weight: 850;
  margin-top: 20px;
}
.handy-copy > a svg {
  width: 19px;
}
.handy-proof {
  display: flex;
  gap: 24px;
  margin-top: 32px;
}
.handy-proof span {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.82rem;
  font-weight: 750;
}
.handy-proof svg {
  width: 17px;
  color: var(--blue);
}
.handy-visual {
  position: relative;
  background: #dde8ff;
  border-radius: 34px 34px 120px 34px;
  padding: 20px;
  height: 580px;
}
.handy-visual > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 22px 22px 100px 22px;
}
.job-card {
  position: absolute;
  left: -35px;
  bottom: 45px;
  background: #fff;
  border-radius: 14px;
  padding: 15px;
  box-shadow: 0 18px 50px #23416c25;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 11px;
  min-width: 350px;
}
.job-card > svg {
  width: 34px;
  height: 34px;
  background: #daf8e6;
  color: #1e9f57;
  border-radius: 50%;
  padding: 8px;
}
.job-card > div {
  display: flex;
  flex-direction: column;
}
.job-card b {
  font-size: 0.9rem;
}
.job-card span,
.job-card small {
  font-size: 0.75rem;
  color: #79869a;
}
.handy-how {
  background: #12213b;
  color: #fff;
  padding: 7vw 6vw;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 7vw;
}
.handy-how > div > p {
  font-size: 0.75rem;
  color: #72a0ff;
  font-weight: 900;
  letter-spacing: 0.13em;
}
.handy-how h2 {
  font: 400 clamp(3.3rem, 5vw, 5.7rem)/0.95 var(--font-serif);
  margin: 20px 0;
}
.handy-how ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.handy-how li {
  border-top: 1px solid #ffffff26;
  padding: 25px 0;
  display: grid;
  grid-template-columns: 50px 1fr;
  align-items: start;
}
.handy-how li > b {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  background: var(--blue);
  border-radius: 8px;
}
.handy-how li > span {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #9eacc1;
}
.handy-how li strong {
  color: #fff;
  font-size: 1.05rem;
}
.handy footer {
  height: 100px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw;
}
.handy footer p {
  color: #65738a;
}

/* 05 — elegant restaurant */
.olive {
  --leaf: #afca7d;
  background: #142019;
  color: #f3eddf;
}
.olive nav {
  height: 96px;
  position: absolute;
  top: 48px;
  left: 0;
  right: 0;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 5vw;
  color: #fff;
  border-bottom: 1px solid #ffffff4d;
}
.olive-logo {
  display: flex;
  flex-direction: column;
  font: 400 1.6rem var(--font-serif);
  letter-spacing: 0.12em;
}
.olive-logo small {
  font: 600 0.55rem var(--font-sans);
  letter-spacing: 0.35em;
  color: var(--leaf);
}
.olive nav > div {
  display: flex;
  gap: 35px;
}
.olive nav > div a {
  font-size: 0.85rem;
}
.olive .reserve {
  justify-self: end;
  border: 1px solid #fff;
  padding: 12px 17px;
  font-size: 0.8rem;
}
.olive-hero {
  height: calc(100vh - 48px);
  min-height: 760px;
  position: relative;
}
.olive-hero > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.42) saturate(0.7);
}
.olive-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 130px 25px 50px;
}
.olive-overlay > p {
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: var(--leaf);
  font-weight: 900;
}
.olive-overlay h1 {
  font: 400 clamp(5rem, 9vw, 10rem)/0.82 var(--font-serif);
  letter-spacing: -0.05em;
  margin: 30px 0;
}
.olive-overlay h1 em {
  font-weight: 400;
  color: var(--leaf);
}
.olive-overlay > span {
  max-width: 520px;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #ded8cc;
}
.olive-overlay > div {
  display: flex;
  gap: 12px;
  margin-top: 34px;
}
.olive-overlay > div a {
  border: 1px solid #ffffff8a;
  padding: 14px 18px;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
.olive-overlay > div a:first-child {
  background: var(--leaf);
  border-color: var(--leaf);
  color: #142019;
  font-weight: 850;
}
.olive-overlay svg {
  width: 18px;
}
.olive-hours {
  position: absolute;
  left: 5vw;
  bottom: 35px;
  display: flex;
  align-items: center;
  gap: 13px;
}
.olive-hours > svg {
  width: 28px;
  color: var(--leaf);
}
.olive-hours p {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.olive-hours span {
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  color: var(--leaf);
}
.olive-hours b {
  font-size: 0.85rem;
  margin-top: 4px;
}
.olive-signature {
  padding: 8vw 6vw;
  display: grid;
  grid-template-columns: 1fr 0.7fr 1fr;
  gap: 6vw;
  align-items: center;
}
.olive-signature > div:first-child > p {
  font-size: 0.75rem;
  color: var(--leaf);
  font-weight: 900;
  letter-spacing: 0.15em;
}
.olive-signature h2 {
  font: 400 clamp(3.5rem, 5.5vw, 6rem)/0.88 var(--font-serif);
  margin: 25px 0;
}
.olive-signature h2 em {
  font-weight: 400;
  color: var(--leaf);
}
.olive-plate {
  text-align: center;
  border: 1px solid #ffffff25;
  border-radius: 50% 50% 12px 12px;
  padding: 70px 30px;
}
.olive-plate > span {
  width: 48px;
  height: 48px;
  margin: auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--leaf);
  color: #142019;
}
.olive-plate svg {
  width: 22px;
}
.olive-plate p {
  font: 400 1.35rem/1.4 var(--font-serif);
}
.olive-plate small {
  color: #9ca69e;
}
.olive-signature ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.olive-signature li {
  border-top: 1px solid #ffffff24;
  padding: 24px 0;
  display: flex;
  gap: 18px;
  align-items: center;
}
.olive-signature li span {
  color: var(--leaf);
  font: 400 1.5rem var(--font-serif);
}
.olive footer {
  height: 100px;
  background: #0d1510;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw;
}
.olive footer strong {
  font: 400 1.7rem var(--font-serif);
  letter-spacing: 0.1em;
}
.olive footer p {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: #aeb6af;
}
.olive footer svg {
  width: 17px;
}
.olive footer a {
  font-size: 0.85rem;
  color: var(--leaf);
}

@media (max-width: 850px) {
  .gallery-nav {
    grid-template-columns: 1fr auto;
  }
  .gallery-nav > p {
    display: none;
  }
  .gallery-intro {
    min-height: 390px;
    align-items: flex-start;
    flex-direction: column;
  }
  .gallery-intro h1 {
    font-size: clamp(3.5rem, 12vw, 6rem);
  }
  .intro-note {
    align-self: flex-end;
  }
  .template-list {
    grid-template-columns: 1fr;
  }
  .template-card:nth-child(3) {
    grid-column: auto;
    margin: 0;
  }
  .card-image,
  .template-card:nth-child(3) .card-image {
    height: 70vw;
  }
  .gallery-footer {
    grid-template-columns: 1fr auto;
  }
  .gallery-footer p {
    display: none;
  }
  .demo-bar {
    grid-template-columns: 1fr auto;
  }
  .demo-bar > span {
    display: none;
  }
  .bakery nav > div,
  .salon nav > div,
  .garage nav > div,
  .handy nav > div,
  .olive nav > div {
    display: none;
  }
  .bakery-hero,
  .garage-hero,
  .handy-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .bakery-photo {
    min-height: 550px;
  }
  .bakery-menu,
  .garage-services,
  .handy-how {
    grid-template-columns: 1fr;
  }
  .salon-hero {
    grid-template-columns: 1fr;
  }
  .salon-image {
    border-top: 2px solid;
    min-height: 580px;
  }
  .salon-side {
    display: none;
  }
  .salon-services > div {
    grid-template-columns: 1fr;
  }
  .garage-image {
    min-height: 540px;
    margin: 0 25px 35px;
  }
  .garage-stats {
    grid-template-columns: 1fr;
  }
  .garage-stats > div {
    border-right: 0;
    border-bottom: 1px solid #ffffff24;
  }
  .handy-visual {
    height: 520px;
  }
  .olive nav {
    grid-template-columns: 1fr auto;
  }
  .olive-signature {
    grid-template-columns: 1fr;
  }
  .olive-plate {
    max-width: 420px;
    margin: auto;
  }
  .olive-hero {
    min-height: 700px;
  }
  .olive-overlay h1 {
    font-size: clamp(4.5rem, 15vw, 7rem);
  }
}
@media (max-width: 560px) {
  .gallery-nav {
    height: 68px;
    padding: 0 18px;
  }
  .gallery-nav > a:last-child {
    font-size: 0.75rem;
  }
  .gallery-intro {
    padding: 70px 20px 45px;
  }
  .gallery-intro > div:first-child > p {
    font-size: 0.7rem;
  }
  .intro-note {
    width: 100%;
  }
  .template-list {
    padding: 0 14px 70px;
    gap: 36px;
  }
  .card-image,
  .template-card:nth-child(3) .card-image {
    height: 105vw;
  }
  .card-info {
    grid-template-columns: auto 1fr;
  }
  .card-note {
    display: none;
  }
  .try-pill {
    opacity: 1;
    transform: none;
  }
  .gallery-footer {
    padding: 25px 20px;
  }
  .gallery-footer small {
    font-size: 0.6rem;
  }
  .demo-bar {
    padding: 0 14px;
  }
  .demo-bar > a {
    font-size: 0.72rem;
  }
  .bakery nav,
  .salon nav,
  .garage nav,
  .handy nav,
  .olive nav {
    padding-left: 18px;
    padding-right: 18px;
  }
  .bakery .order,
  .garage-quote,
  .salon-book {
    font-size: 0;
    width: 42px;
    height: 42px;
    padding: 0;
    display: grid;
    place-items: center;
  }
  .bakery .order svg,
  .salon-book svg {
    font-size: initial;
  }
  .garage-quote:after {
    content: '↗';
    font-size: 1rem;
  }
  .bakery-copy,
  .garage-copy {
    padding: 65px 20px;
  }
  .bakery-copy h1 {
    font-size: 4.4rem;
  }
  .garage-copy {
    min-width: 0;
  }
  .garage-copy h1 {
    font-size: clamp(3.35rem, 14.5vw, 4rem);
  }
  .bakery-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .bakery-photo {
    min-height: 470px;
  }
  .bakery-ticker span:nth-of-type(2) {
    display: none;
  }
  .bakery-menu {
    padding: 70px 20px;
  }
  .bakery footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .salon-title {
    padding: 65px 20px;
  }
  .salon-title h1 {
    font-size: 4.7rem;
  }
  .salon-image {
    min-height: 500px;
  }
  .salon-services {
    padding: 65px 20px;
  }
  .salon-services h2 {
    font-size: 2.8rem;
  }
  .garage-copy > div {
    align-items: flex-start;
    flex-direction: column;
  }
  .garage-image {
    min-height: 430px;
    clip-path: none;
    margin: 0;
  }
  .garage-badge {
    width: 165px;
  }
  .garage-services {
    padding: 65px 20px;
  }
  .handy-hero {
    padding: 65px 20px;
  }
  .handy-copy,
  .handy-visual {
    min-width: 0;
  }
  .handy-copy h1 {
    font-size: clamp(3.45rem, 15vw, 3.8rem);
  }
  .handy-proof {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .handy-visual {
    height: 430px;
  }
  .job-card {
    left: 10px;
    right: 10px;
    min-width: 0;
    grid-template-columns: auto 1fr;
  }
  .job-card small {
    display: none;
  }
  .handy-how {
    padding: 65px 20px;
  }
  .olive .reserve {
    font-size: 0.72rem;
    padding: 10px;
  }
  .olive-overlay h1 {
    font-size: 4.4rem;
  }
  .olive-overlay > div {
    align-items: stretch;
    flex-direction: column;
  }
  .olive-signature {
    padding: 70px 20px;
  }
  .olive footer {
    align-items: flex-start;
    height: auto;
    padding: 28px 20px;
    flex-direction: column;
    gap: 15px;
  }
}

/* Expanded catalog */
.gallery-groups {
  padding-bottom: 3vw;
}
.gallery-group {
  padding-top: 30px;
  border-top: 1px solid #cac8c0;
}
.group-heading {
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 22px;
  align-items: start;
  padding: 25px 5vw 55px;
}
.group-heading > span {
  font: 400 2.4rem var(--font-serif);
  color: #9c9d96;
}
.group-heading h2 {
  font: 400 clamp(2.4rem, 4vw, 4.8rem)/1 var(--font-serif);
  letter-spacing: -0.04em;
  margin: 0;
}
.group-heading p {
  max-width: 540px;
  color: #6b6d65;
  line-height: 1.5;
  margin: 12px 0 0;
}
.group-heading > svg {
  width: 28px;
  height: 28px;
  color: #779520;
}
.gallery-group .template-list {
  padding-bottom: 7vw;
}
.card-info h3 {
  font: 400 2rem var(--font-serif);
  margin: 0;
}
.location-link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.location-link svg {
  width: 17px;
  flex: 0 0 auto;
}
.location-link svg:last-child {
  width: 15px;
}

/* 04 — athletic gym */
.pulse {
  --pulse: #ff5a1f;
  background: #101827;
  color: #fff;
}
.pulse nav {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4vw;
  border-bottom: 1px solid #ffffff35;
}
.pulse-logo {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 1.35rem;
  font-weight: 950;
  letter-spacing: -0.03em;
}
.pulse-logo svg {
  color: var(--pulse);
}
.pulse nav > div {
  display: flex;
  gap: 34px;
}
.pulse nav > div a {
  font-size: 0.82rem;
  font-weight: 800;
}
.pulse nav > a:last-child {
  background: var(--pulse);
  padding: 13px 17px;
  font-size: 0.76rem;
  font-weight: 950;
}
.pulse-hero {
  min-height: 720px;
  display: grid;
  grid-template-columns: 1fr 1.08fr;
}
.pulse-copy {
  padding: 6vw 4vw 5vw 6vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pulse-copy > span {
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  color: #ff875a;
}
.pulse-copy h1 {
  font-size: clamp(5rem, 8vw, 9rem);
  line-height: 0.76;
  letter-spacing: -0.08em;
  margin: 50px 0;
}
.pulse-copy h1 em {
  font-style: normal;
  color: var(--pulse);
}
.pulse-copy > p {
  max-width: 500px;
  color: #b1bac8;
  line-height: 1.6;
}
.pulse-copy > div {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 28px;
  flex-wrap: wrap;
}
.pulse-copy > div > a:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--pulse);
  padding: 15px 18px;
  font-weight: 900;
}
.pulse-copy .location-link {
  color: #c5cbd5;
  font-size: 0.83rem;
}
.pulse-photo {
  position: relative;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}
.pulse-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.75) contrast(1.08);
}
.pulse-photo > span {
  position: absolute;
  bottom: 30px;
  right: 30px;
  background: #fff;
  color: #101827;
  padding: 18px;
  display: flex;
  flex-direction: column;
  font-size: 0.7rem;
  font-weight: 900;
}
.pulse-photo > span b {
  font-size: 2.3rem;
  color: var(--pulse);
}
.pulse-programs {
  padding: 7vw 5vw;
  background: var(--pulse);
  color: #101827;
}
.pulse-programs > p {
  font-size: 0.75rem;
  font-weight: 950;
  letter-spacing: 0.15em;
}
.pulse-programs > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 30px;
  border-top: 2px solid;
}
.pulse-programs article {
  min-height: 240px;
  padding: 30px;
  border-right: 2px solid;
}
.pulse-programs article:first-child {
  border-left: 2px solid;
}
.pulse-programs article > span {
  font-size: 0.75rem;
  font-weight: 900;
}
.pulse-programs h2 {
  font-size: 3.4rem;
  margin: 60px 0 12px;
  letter-spacing: -0.07em;
}

/* 05 — healthcare */
.clinic {
  --mint: #72ddd0;
  background: #edf7f5;
  color: #173231;
}
.clinic nav {
  height: 90px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
}
.clinic-logo {
  display: flex;
  align-items: center;
  font-size: 1.35rem;
  font-weight: 950;
}
.clinic-logo svg {
  width: 26px;
  margin-right: 8px;
  color: #159b8c;
}
.clinic-logo span {
  font-weight: 400;
  color: #4c6c69;
  margin-left: 3px;
}
.clinic nav > div {
  display: flex;
  gap: 32px;
  color: #526967;
  font-size: 0.85rem;
}
.clinic nav > a:last-child {
  background: #173231;
  color: #fff;
  border-radius: 30px;
  padding: 13px 18px;
  font-size: 0.8rem;
  font-weight: 850;
}
.clinic-hero {
  min-height: 690px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 4vw 5vw;
  gap: 6vw;
}
.clinic-copy {
  align-self: center;
}
.clinic-copy > p {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #128f82;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.13em;
}
.clinic-copy > p svg {
  width: 16px;
}
.clinic-copy h1 {
  font: 400 clamp(4.5rem, 7vw, 8rem)/0.84 var(--font-serif);
  letter-spacing: -0.06em;
  margin: 35px 0;
}
.clinic-copy h1 em {
  font-weight: 400;
  color: #159b8c;
}
.clinic-copy > span {
  display: block;
  max-width: 510px;
  line-height: 1.65;
  color: #59716e;
}
.clinic-copy > div {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 30px;
  flex-wrap: wrap;
}
.clinic-copy > div > a:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #173231;
  color: #fff;
  padding: 15px 18px;
  border-radius: 8px;
  font-weight: 850;
}
.clinic-copy .location-link {
  font-size: 0.82rem;
  color: #486561;
}
.clinic-photo {
  position: relative;
  border-radius: 100px 12px 12px 12px;
  overflow: hidden;
}
.clinic-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.clinic-photo > div {
  position: absolute;
  right: 22px;
  bottom: 22px;
  background: var(--mint);
  width: 155px;
  height: 155px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.clinic-photo b {
  font: 400 3rem var(--font-serif);
}
.clinic-photo span {
  max-width: 90px;
  font-size: 0.7rem;
}
.clinic-specialties {
  padding: 7vw 6vw;
  background: #173231;
  color: #fff;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 7vw;
}
.clinic-specialties small {
  color: var(--mint);
  letter-spacing: 0.14em;
  font-weight: 900;
}
.clinic-specialties h2 {
  font: 400 clamp(3.2rem, 5vw, 5.5rem)/0.9 var(--font-serif);
  margin: 24px 0;
}
.clinic-specialties > div:last-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.clinic-specialties article {
  border-top: 1px solid #ffffff38;
  padding: 25px;
}
.clinic-specialties article span {
  color: var(--mint);
  font-size: 0.75rem;
}
.clinic-specialties article b {
  display: block;
  font-size: 1.15rem;
  margin: 26px 0 8px;
}
.clinic-specialties article p {
  color: #aebdbb;
  font-size: 0.85rem;
}

/* 06 — furniture retail */
.store {
  --sand: #c2a278;
  background: #e9e2d8;
  color: #201e1b;
}
.store nav {
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4vw;
  border-bottom: 1px solid #91877b;
}
.store-logo {
  font-weight: 950;
  line-height: 0.72;
  letter-spacing: 0.06em;
}
.store-logo span {
  color: #886a46;
}
.store nav > div {
  display: flex;
  gap: 35px;
  font-size: 0.85rem;
}
.store nav > a:last-child {
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid;
  padding-bottom: 6px;
  font-size: 0.82rem;
  font-weight: 850;
}
.store nav > a:last-child svg {
  width: 18px;
}
.store-hero {
  min-height: 720px;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  padding: 4vw;
  gap: 4vw;
}
.store-title {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2vw 0;
}
.store-title > p {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.15em;
}
.store-title h1 {
  font-size: clamp(4.3rem, 7vw, 8rem);
  line-height: 0.78;
  letter-spacing: -0.075em;
  margin: 40px 0;
}
.store-title h1 em {
  font: 400 0.95em var(--font-serif);
  color: #856a49;
}
.store-title > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 23px;
}
.store-title > div span {
  max-width: 350px;
  line-height: 1.6;
  color: #6b635a;
}
.store-title > div a {
  display: flex;
  gap: 8px;
  align-items: center;
  font-weight: 900;
  border-bottom: 2px solid;
  padding-bottom: 7px;
}
.store-title svg {
  width: 18px;
}
.store-image {
  position: relative;
  min-height: 650px;
}
.store-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.store-image > span {
  position: absolute;
  right: 0;
  top: 0;
  background: #201e1b;
  color: #fff;
  padding: 14px;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
}
.store-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 30px;
  padding: 32px 5vw;
  background: #201e1b;
  color: #fff;
}
.store-bottom > div {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.store-bottom small {
  color: #a99b8a;
  letter-spacing: 0.12em;
}
.store-bottom .location-link {
  color: #fff;
}
.store-bottom > a {
  background: var(--sand);
  color: #201e1b;
  padding: 14px 17px;
  display: flex;
  gap: 8px;
  align-items: center;
  font-weight: 900;
}
.store-bottom > a svg {
  width: 17px;
}

/* 09 — architectural real estate */
.estate {
  --acid: #d5ff37;
  background: #e8e8e2;
  color: #111210;
}
.estate nav {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4vw;
  background: #111210;
  color: #fff;
}
.estate-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 950;
  letter-spacing: 0.08em;
}
.estate-logo svg {
  width: 23px;
  color: var(--acid);
}
.estate nav > div {
  display: flex;
  gap: 34px;
  font-size: 0.82rem;
}
.estate nav > a:last-child {
  border: 1px solid var(--acid);
  color: var(--acid);
  padding: 12px 16px;
  font-size: 0.78rem;
}
.estate-hero {
  height: calc(100vh - 136px);
  min-height: 720px;
  position: relative;
  color: #fff;
}
.estate-hero > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.5) grayscale(0.2);
}
.estate-copy {
  position: absolute;
  inset: 0;
  padding: 7vw 6vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.estate-copy > p {
  font-size: 0.75rem;
  font-weight: 950;
  letter-spacing: 0.18em;
  color: var(--acid);
}
.estate-copy h1 {
  font-size: clamp(5rem, 8.7vw, 10rem);
  line-height: 0.75;
  letter-spacing: -0.08em;
  margin: 42px 0;
}
.estate-copy h1 em {
  font-style: normal;
  color: var(--acid);
}
.estate-copy > div {
  display: flex;
  align-items: center;
  gap: 38px;
}
.estate-copy > div > span {
  max-width: 390px;
  line-height: 1.6;
  color: #e0e2dc;
}
.estate-copy > div > a {
  display: flex;
  gap: 8px;
  align-items: center;
  background: var(--acid);
  color: #111210;
  padding: 15px 18px;
  font-weight: 900;
}
.estate-copy svg {
  width: 18px;
}
.estate-index {
  position: absolute;
  right: 4vw;
  bottom: 35px;
  font-size: 0.72rem;
  letter-spacing: 0.15em;
}
.estate-search {
  display: grid;
  grid-template-columns: repeat(3, 1fr) auto;
  background: #fff;
  margin: -1px 4vw 0;
  position: relative;
  z-index: 3;
  box-shadow: 0 18px 50px #1112;
}
.estate-search > div {
  padding: 22px 25px;
  border-right: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.estate-search small {
  font-size: 0.65rem;
  color: #7b7d77;
  letter-spacing: 0.12em;
}
.estate-search > a {
  background: var(--acid);
  padding: 0 26px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 900;
}
.estate-search svg {
  width: 18px;
}
.estate-office {
  padding: 8vw 6vw;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: end;
  gap: 5vw;
}
.estate-office > div > p {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.15em;
}
.estate-office h2 {
  font: 400 clamp(3.5rem, 5vw, 6rem)/0.9 var(--font-serif);
  margin: 22px 0 0;
}
.estate-office .location-link {
  font-weight: 850;
}
.estate-office > p {
  color: #696b66;
  line-height: 1.6;
}

@media (max-width: 850px) {
  .group-heading {
    grid-template-columns: 55px 1fr;
  }
  .group-heading > svg {
    display: none;
  }
  .pulse nav > div,
  .clinic nav > div,
  .store nav > div,
  .estate nav > div {
    display: none;
  }
  .pulse-hero,
  .clinic-hero,
  .store-hero {
    grid-template-columns: 1fr;
  }
  .pulse-photo {
    min-height: 580px;
    clip-path: none;
  }
  .pulse-programs > div {
    grid-template-columns: 1fr;
  }
  .pulse-programs article {
    border-left: 2px solid;
  }
  .clinic-photo {
    min-height: 580px;
  }
  .clinic-specialties {
    grid-template-columns: 1fr;
  }
  .store-image {
    min-height: 560px;
  }
  .store-bottom {
    grid-template-columns: 1fr 1fr;
  }
  .store-bottom > a {
    grid-column: 1/-1;
    justify-content: center;
  }
  .estate-search {
    grid-template-columns: 1fr 1fr;
  }
  .estate-search > a {
    min-height: 70px;
  }
  .estate-office {
    grid-template-columns: 1fr;
  }
  .estate-hero {
    min-height: 700px;
  }
  .estate-copy h1 {
    font-size: clamp(4.5rem, 13vw, 8rem);
  }
}
@media (max-width: 560px) {
  .group-heading {
    grid-template-columns: 38px 1fr;
    padding: 25px 20px 40px;
  }
  .group-heading > span {
    font-size: 1.5rem;
  }
  .group-heading h2 {
    font-size: 2.5rem;
  }
  .gallery-group .template-list {
    padding-left: 14px;
    padding-right: 14px;
  }
  .pulse nav,
  .clinic nav,
  .store nav,
  .estate nav {
    padding-left: 18px;
    padding-right: 18px;
  }
  .pulse nav > a:last-child,
  .clinic nav > a:last-child,
  .store nav > a:last-child,
  .estate nav > a:last-child {
    font-size: 0;
    width: 42px;
    height: 42px;
    padding: 0;
    display: grid;
    place-items: center;
  }
  .pulse nav > a:last-child:after,
  .clinic nav > a:last-child:after,
  .estate nav > a:last-child:after {
    content: '↗';
    font-size: 1rem;
  }
  .store nav > a:last-child svg {
    display: block;
  }
  .pulse-copy,
  .clinic-copy {
    padding: 65px 20px;
  }
  .pulse-copy h1 {
    font-size: 4.5rem;
  }
  .pulse-photo {
    min-height: 430px;
  }
  .pulse-programs {
    padding: 60px 20px;
  }
  .pulse-programs h2 {
    font-size: 2.8rem;
  }
  .clinic-hero {
    padding: 55px 20px;
  }
  .clinic-copy h1 {
    font-size: 4.3rem;
  }
  .clinic-photo {
    min-height: 440px;
    border-radius: 55px 10px 10px;
  }
  .clinic-specialties {
    padding: 65px 20px;
  }
  .clinic-specialties > div:last-child {
    grid-template-columns: 1fr;
  }
  .store-hero {
    padding: 55px 20px;
  }
  .store-title h1 {
    font-size: 4.1rem;
  }
  .store-image {
    min-height: 420px;
  }
  .store-bottom {
    grid-template-columns: 1fr;
  }
  .store-bottom > a {
    grid-column: auto;
  }
  .estate-copy {
    padding: 70px 20px;
  }
  .estate-copy h1 {
    font-size: 4.2rem;
  }
  .estate-copy > div {
    align-items: flex-start;
    flex-direction: column;
  }
  .estate-search {
    margin: 0;
    grid-template-columns: 1fr;
  }
  .estate-search > a {
    min-height: 60px;
  }
  .estate-office {
    padding: 70px 20px;
  }
}

/* In-page navigation */
html {
  scroll-behavior: smooth;
}
.tpl [id] {
  scroll-margin-top: 28px;
}
.tpl nav > div a {
  position: relative;
  cursor: pointer;
  padding: 8px 0;
}
.tpl nav > div a:after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 1px;
  background: currentColor;
  transition: right 0.2s ease;
}
.tpl nav > div a:hover:after,
.tpl nav > div a:focus-visible:after {
  right: 0;
}
.tpl nav > div a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
.bakery-menu-copy {
  display: block;
  max-width: 420px;
  color: #746a5e;
  line-height: 1.65;
  font-size: 1rem;
  margin-top: 24px;
}
.bakery-menu li {
  grid-template-columns: 40px 1fr;
}
.bakery-menu li small {
  font-size: 0.92rem;
  line-height: 1.55;
  max-width: 560px;
}
@media (max-width: 850px) {
  .bakery nav,
  .salon nav,
  .garage nav,
  .handy nav,
  .olive nav,
  .pulse nav,
  .clinic nav,
  .store nav,
  .estate nav {
    height: auto;
    min-height: 88px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding-top: 12px;
    padding-bottom: 0;
  }
  .tpl nav > div {
    display: flex !important;
    grid-column: 1/-1;
    grid-row: 2;
    justify-content: flex-start !important;
    gap: 24px !important;
    overflow-x: auto;
    padding: 5px 0 12px;
    scrollbar-width: none;
  }
  .tpl nav > div::-webkit-scrollbar {
    display: none;
  }
  .tpl nav > div a {
    font-size: 0.78rem !important;
    white-space: nowrap;
  }
  .olive nav {
    top: 48px;
  }
  .olive-overlay {
    padding-top: 180px;
  }
}
@media (max-width: 560px) {
  .tpl nav > div {
    gap: 20px !important;
  }
  .bakery nav,
  .salon nav,
  .garage nav,
  .handy nav,
  .olive nav,
  .pulse nav,
  .clinic nav,
  .store nav,
  .estate nav {
    padding-bottom: 0;
  }
  .bakery-menu-copy {
    font-size: 0.95rem;
  }
}

/* Real-estate contact journey */
.estate-contact {
  background: #111210;
  color: #fff;
  display: grid;
  grid-template-columns: 1.05fr 0.9fr auto;
  align-items: center;
  gap: 5vw;
  padding: 5vw 6vw;
  border-top: 1px solid #ffffff24;
}
.estate-contact-copy small {
  color: var(--acid);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
}
.estate-contact-copy h2 {
  font: 400 clamp(2.8rem, 4.5vw, 5.2rem)/0.9 var(--font-serif);
  letter-spacing: -0.045em;
  margin: 18px 0;
}
.estate-contact-copy p {
  max-width: 620px;
  color: #b8bcb4;
  line-height: 1.65;
  margin: 0;
}
.estate-intents {
  display: flex;
  flex-direction: column;
}
.estate-intents > span {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid #ffffff30;
  padding: 17px 0;
  color: #aeb2aa;
  font-size: 0.88rem;
  line-height: 1.45;
}
.estate-intents > span:last-child {
  border-bottom: 1px solid #ffffff30;
}
.estate-intents b {
  color: #fff;
  font-size: 1.05rem;
}
.estate-contact > a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: var(--acid);
  color: #111210;
  min-width: 210px;
  padding: 17px 20px;
  font-weight: 900;
  text-align: center;
}
.estate-contact > a svg {
  width: 18px;
  flex: 0 0 auto;
}
@media (max-width: 950px) {
  .estate-contact {
    grid-template-columns: 1fr 1fr;
  }
  .estate-contact > a {
    grid-column: 1/-1;
  }
}
@media (max-width: 560px) {
  .estate-contact {
    grid-template-columns: 1fr;
    padding: 65px 20px;
    gap: 35px;
  }
  .estate-contact > a {
    grid-column: auto;
    min-width: 0;
  }
  .estate-contact-copy h2 {
    font-size: 3.4rem;
  }
}

/* Gallery collection switch */
.gallery-tabs {
  display: flex;
  align-items: center;
  gap: 5px;
  background: #e4e2dc;
  border-radius: 30px;
  padding: 4px;
}
.gallery-tabs a {
  padding: 9px 14px;
  border-radius: 24px;
  font-size: 0.78rem;
  font-weight: 800;
  color: #71736d;
}
.gallery-tabs a.active {
  background: #171815;
  color: #fff;
}
.legacy-intro {
  background: #e8e5de;
}
.legacy-tag {
  position: absolute;
  z-index: 3;
  left: 22px;
  bottom: 22px;
  background: #171815;
  color: #d9ff66;
  padding: 9px 12px;
  font-size: 0.67rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}
.legacy-list .card-image img {
  filter: saturate(0.65);
}

/* 10 — combat training center */
.fight{--fight:#e54038;background:#151817;color:#f8f6f2}
.fight-nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 4vw;border-bottom:1px solid #ffffff30}
.fight-logo{display:flex;align-items:center;gap:9px;font-size:1.3rem;font-weight:950;letter-spacing:-.03em;white-space:nowrap}
.fight-logo svg{width:25px;color:var(--fight)}
.fight-logo img{display:block;width:56px;height:56px;object-fit:contain;flex:none}
.fight-nav>div{display:flex;gap:34px}
.fight-nav>div a{font-size:.82rem;font-weight:800}
.fight-nav-cta{background:var(--fight);padding:13px 17px;font-size:.76rem;font-weight:950;text-transform:uppercase;white-space:nowrap}
.fight-nav-cta:hover,.fight-actions>a:first-child:hover{background:#f2574f}
.fight-hero{min-height:690px;display:grid;grid-template-columns:1fr 1.08fr}
.fight-copy{padding:clamp(65px,7vw,110px) 4vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.fight-copy>span,.fight-modalities-heading>span{font-size:.75rem;letter-spacing:.18em;font-weight:900;color:var(--fight)}
.fight-copy h1,.fight-modalities h2,.fight-modalities h3{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:900;letter-spacing:-.035em}
.fight-copy h1{font-size:clamp(4.8rem,8vw,9rem);line-height:.91;margin:30px 0}
.fight-copy h1 em,.fight-modalities h2 em{font-style:normal;color:var(--fight)}
.fight-copy>p{max-width:490px;line-height:1.6;color:#c5c7c4;font-size:1.03rem;margin:0 0 30px}
.fight-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.fight-actions>a:first-child{background:var(--fight);padding:16px 20px;display:flex;align-items:center;gap:30px;font-size:.8rem;font-weight:900;text-transform:uppercase}
.fight-actions>a:first-child svg{width:18px}
.fight-actions .location-link{font-size:.82rem;color:#bbbdb9;line-height:1.4}
.fight-photo{position:relative;min-height:590px;overflow:hidden}
.fight-photo img{width:100%;height:100%;object-fit:cover;object-position:65% center;position:absolute;inset:0}
.fight-photo>span{position:absolute;bottom:25px;left:25px;background:#151817e8;padding:12px 17px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.fight-instagram{position:absolute;left:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,42px);z-index:1;display:flex;align-items:center;gap:14px;max-width:calc(100% - 36px);padding:15px 18px;background:#101213eb;border:1px solid #ffffff85;color:#fff!important;text-decoration:none;box-shadow:0 12px 28px #0007;transition:background .2s,border-color .2s,transform .2s}
.fight-instagram:hover{background:#202526;border-color:#fff;transform:translateY(-2px)}
.fight-instagram:focus-visible{outline:2px solid #fff;outline-offset:4px}
.fight-instagram>svg:first-child{width:25px;height:25px;flex:none}
.fight-instagram>svg:last-child{width:18px;height:18px;flex:none;margin-left:12px}
.fight-instagram span{display:flex;flex-direction:column;gap:3px;font-size:.65rem;font-weight:900;letter-spacing:.14em;line-height:1.2}
.fight-instagram strong{font-size:1.05rem;letter-spacing:0;text-transform:none}
.fight-modalities{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:6vw;padding:clamp(70px,7vw,110px) 4vw;background:#202321}
.fight-modalities h2{font-size:clamp(3rem,4.8vw,5.8rem);line-height:.96;margin:20px 0 0}
.fight-modalities-heading p{max-width:390px;color:#b9bcb7;line-height:1.55;margin:22px 0 0;font-size:.94rem}
.fight-modalities-list{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:end}
.fight-modalities article{border-top:2px solid var(--fight);padding-top:20px}
.fight-modalities article:first-child{background:#292d2a;padding:24px;border-top-width:4px}
.fight-modalities article>span{font-size:.72rem;font-weight:900;color:var(--fight)}
.fight-modalities h3{font-size:clamp(2rem,2.7vw,3.3rem);line-height:1;margin:18px 0 10px}
.fight-modalities article p{font-size:.86rem;line-height:1.5;color:#b9bcb7;margin:0}
@media(max-width:950px){.fight-hero{grid-template-columns:1fr 1fr}.fight-copy h1{font-size:clamp(4rem,7vw,6rem)}.fight-modalities{grid-template-columns:1fr;gap:40px}}
@media(max-width:650px){.fight-nav{height:72px;gap:8px}.fight-logo{font-size:1rem}.fight-logo svg{width:21px}.fight-nav>div{display:none}.fight-nav-cta{font-size:.63rem;padding:11px}.fight-hero{grid-template-columns:1fr}.fight-copy{padding:70px 6vw}.fight-copy h1{font-size:clamp(4.3rem,16vw,7rem)}.fight-photo{min-height:390px}.fight-modalities{padding:70px 6vw}.fight-modalities-list{grid-template-columns:1fr;gap:25px}.fight-modalities article{display:grid;grid-template-columns:35px 1fr;align-items:baseline;gap:0 14px}.fight-modalities h3{margin:0}.fight-modalities article p{grid-column:2}}
.fight-client-ct{--fight:#d2d3d1;background:#101213}
.fight-client-ct .fight-nav-cta,.fight-client-ct .fight-actions>a:first-child{color:#101213}
.fight-client-ct .fight-nav-cta:hover,.fight-client-ct .fight-actions>a:first-child:hover{background:#f3f3ef}
@media(max-width:650px){.fight-logo img{width:44px;height:44px}}
@media(max-width:650px){.fight-instagram{padding:12px 14px;gap:10px}.fight-instagram>svg:first-child{width:22px;height:22px}.fight-instagram>svg:last-child{margin-left:4px}}

.business { background:#f4f3ee; color:#18352d; font-family:var(--font-sans); }
.business * { box-sizing:border-box; }
.business a { transition:opacity .2s ease,transform .2s ease; }
.business a:hover { opacity:.76; }
.business-nav { min-height:88px; padding:18px clamp(24px,5vw,84px); display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #d4dbd2; }
.business-logo { display:inline-flex; align-items:center; gap:11px; font-size:1.75rem; letter-spacing:-.08em; font-weight:800; white-space:nowrap; }
.business-logo-symbol { width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#d6e9cf; }
.business-logo-symbol svg { width:18px;height:18px;stroke-width:1.7; }
.business-nav-links { display:flex; align-items:center; gap:clamp(18px,2.5vw,42px); font-size:.86rem; font-weight:600; }
.business-nav-cta { display:inline-flex;align-items:center;gap:16px;padding:13px 17px;border:1px solid #18352d;border-radius:2px;font-size:.83rem;font-weight:700;white-space:nowrap; }
.business-nav-cta svg,.business-hero-actions svg,.business-contact a svg { width:17px;height:17px; }
.business-hero { min-height:680px; display:grid; grid-template-columns:54% 46%; }
.business-hero-copy { padding:clamp(64px,7vw,116px) clamp(24px,5vw,84px) 35px;display:flex;flex-direction:column;align-items:flex-start; }
.business-eyebrow,.business-section-label { font-size:.72rem;font-weight:800;letter-spacing:.15em; }
.business-eyebrow { display:flex;align-items:center;gap:12px; }
.business-eyebrow i { width:7px;height:7px;background:#79a86f;border-radius:50%; }
.business-hero h1 { max-width:720px;margin:53px 0 24px;font-size:clamp(3.8rem,6.5vw,7.7rem);line-height:.94;letter-spacing:-.075em;font-weight:600; }
.business h1 em,.business h2 em { font-family:var(--font-serif);font-weight:400;letter-spacing:-.04em; }
.business-hero-copy>p { max-width:475px;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.55;color:#50645c; }
.business-hero-actions { display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:25px; }
.business-hero-actions a:first-child,.business-contact>a { display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:#173c31;color:#fff;padding:18px 22px;font-size:.9rem;font-weight:700; }
.business-hero-actions a:last-child { font-size:.88rem;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px; }
.business-hero-meta { width:100%;margin-top:auto;padding-top:70px;display:flex;justify-content:space-between;gap:20px;color:#62786d;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
.business-hero-visual { min-height:680px;position:relative;overflow:hidden;background:#c8d3c6; }
.business-hero-visual img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;filter:saturate(.75); }
.business-image-caption { position:absolute;right:0;bottom:0;background:#d8ebd0;color:#18352d;width:min(285px,80%);padding:25px;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:800;letter-spacing:.12em; }
.business-image-caption svg { width:22px; }
.business-intro { padding:clamp(80px,10vw,150px) clamp(24px,5vw,84px);display:grid;grid-template-columns:28% 1fr;gap:30px;border-bottom:1px solid #d4dbd2; }
.business-intro h2,.business-section-head h2,.business-method h2,.business-contact h2 { margin:0;font-size:clamp(2.7rem,4.8vw,5.5rem);line-height:1.06;letter-spacing:-.065em;font-weight:600; }
.business-intro p { max-width:540px;margin:30px 0 0;color:#5b7066;font-size:1.07rem;line-height:1.7; }
.business-services { padding:clamp(76px,9vw,140px) clamp(24px,5vw,84px); }
.business-section-head { display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:54px; }
.business-section-head h2 { width:72%; }
.business-service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cdd9cb;border:1px solid #cdd9cb; }
.business-service-grid article { min-height:355px;padding:32px;display:flex;flex-direction:column;background:#e9ede5; }
.business-service-grid article:nth-child(2) { background:#dfe9db; }
.business-service-grid article>span { font-size:.8rem;font-weight:800; }
.business-service-grid h3 { margin:auto 0 14px;font-size:clamp(1.6rem,2.2vw,2.45rem);line-height:1.1;letter-spacing:-.05em;font-weight:600; }
.business-service-grid p { max-width:310px;min-height:72px;color:#52665b;line-height:1.5;font-size:.94rem; }
.business-service-grid svg { width:23px;margin-top:15px; }
.business-method { display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:clamp(80px,9vw,140px) clamp(24px,5vw,84px);background:#193d32;color:#f3f4ec; }
.business-method h2 { margin-top:45px; }
.business-method h2 em { color:#c6e2b6; }
.business-method>div>p { margin-top:28px;color:#bbd0c0;line-height:1.6; }
.business-method ol { list-style:none;margin:0;padding:0;align-self:center; }
.business-method li { display:grid;grid-template-columns:60px 1fr;gap:20px;padding:30px 0;border-top:1px solid #638075; }
.business-method li:last-child { border-bottom:1px solid #638075; }
.business-method li>b { color:#b5d5a8;font-size:.78rem; }
.business-method li span { color:#bbd0c0;line-height:1.5; }
.business-method li strong { display:block;color:#fff;font-size:1.45rem;line-height:1.1;margin-bottom:12px;letter-spacing:-.04em; }
.business-contact { padding:clamp(85px,11vw,165px) 24px;text-align:center;background:#dbead6; }
.business-contact h2 { margin:35px auto 23px; }
.business-contact>p { margin:0 auto 28px;max-width:410px;color:#52665b;line-height:1.6; }
.business-contact>a { max-width:300px;margin:auto; }
.business-footer { display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;padding:38px clamp(24px,5vw,84px);background:#122f27;color:#eaf1e6;font-size:.82rem; }
.business-footer strong { font-size:1.6rem;letter-spacing:-.08em; }
.business-footer .location-link { color:inherit; }
@media(max-width:900px) { .business-nav-links { display:none; } .business-hero { grid-template-columns:1fr; } .business-hero-copy { min-height:600px; } .business-hero-visual { min-height:440px; } .business-intro,.business-method { grid-template-columns:1fr;gap:45px; } .business-section-head h2 { width:100%; } }
@media(max-width:620px) { .business-nav { min-height:72px; } .business-logo { font-size:1.5rem; } .business-nav-cta { padding:10px;font-size:.75rem;gap:7px; } .business-hero-copy { min-height:570px;padding-top:58px; } .business-hero h1 { margin-top:40px;font-size:clamp(3.5rem,13vw,5rem); } .business-hero-meta { flex-direction:column;gap:6px;padding-top:40px; } .business-hero-visual { min-height:360px; } .business-intro { padding-top:80px;padding-bottom:80px; } .business-section-head { display:block; } .business-section-head h2 { margin-top:24px; } .business-service-grid { grid-template-columns:1fr; } .business-service-grid article { min-height:285px; } .business-service-grid p { min-height:0; } .business-method li { grid-template-columns:38px 1fr; } .business-footer { align-items:flex-start;flex-direction:column; } }

.psych{--psych-ink:#18343c;--psych-muted:#596d70;--psych-paper:#f8f5ef;--psych-blue:#c9dce2;--psych-line:#d8dedc;background:var(--psych-paper);color:var(--psych-ink);font-family:var(--font-sans)}
.psych *{box-sizing:border-box}
.psych a{color:inherit;text-decoration:none}
.psych a:hover{opacity:.74}
.psych img{display:block;width:100%;height:100%;object-fit:cover}
.psych-preview-bar{display:flex;justify-content:space-between;padding:9px clamp(22px,5vw,78px);background:#17333b;color:#fff;font-size:.72rem}
.standalone-site .psych-preview-bar{display:none}
.psych-nav{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:96px;padding:16px clamp(22px,5vw,78px);border-bottom:1px solid var(--psych-line)}
.psych-brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap}
.psych-brand>span:first-child{font-family:var(--font-serif);font-size:2.6rem;line-height:.75;letter-spacing:-.12em}
.psych-brand-dot{color:#b07866}
.psych-brand>span:last-child{display:flex;flex-direction:column;gap:5px}
.psych-brand strong{font-family:var(--font-serif);font-size:1.28rem;line-height:1;font-weight:400}
.psych-brand small{font-size:.5rem;letter-spacing:.16em;font-weight:800}
.psych-nav-links{display:flex;align-items:center;gap:clamp(16px,2.2vw,36px);font-size:.78rem;font-weight:650}
.psych-nav-call{display:inline-flex;align-items:center;gap:13px;padding:13px 17px;border:1px solid var(--psych-ink);font-size:.75rem;font-weight:800;white-space:nowrap}
.psych svg{width:18px;height:18px;flex:none;stroke-width:1.6}
.psych-hero{min-height:680px;display:grid;grid-template-columns:56% 44%}
.psych-hero-copy{padding:clamp(70px,8vw,128px) clamp(22px,5vw,78px) 34px;display:flex;flex-direction:column;align-items:flex-start}
.psych-kicker{font-size:.68rem;letter-spacing:.17em;font-weight:800;text-transform:uppercase}
.psych-hero .psych-kicker{display:flex;align-items:center;gap:12px}
.psych-kicker i{width:7px;height:7px;background:#b07866;border-radius:50%}
.psych h1,.psych h2,.psych blockquote{font-family:var(--font-serif);font-weight:400;letter-spacing:-.045em}
.psych h1 em,.psych h2 em{font-weight:400;color:#b07866}
.psych-hero h1{font-size:clamp(3.7rem,6.2vw,7.3rem);line-height:.98;margin:42px 0 28px;max-width:850px}
.psych-hero-copy>p{font-size:1rem;line-height:1.72;color:var(--psych-muted);max-width:530px;margin:0}
.psych-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:32px}
.psych-hero-actions a:first-child,.psych-contact>a{background:var(--psych-ink);color:#fff;padding:16px 21px;display:inline-flex;align-items:center;gap:25px;font-size:.82rem;font-weight:750}
.psych-hero-actions a:last-child{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--psych-ink);padding:0 0 5px;font-size:.81rem;font-weight:700}
.psych-hero-foot{width:100%;display:flex;justify-content:space-between;gap:16px;margin-top:auto;padding-top:65px;font-size:.59rem;font-weight:800;letter-spacing:.15em;color:#718286}
.psych-hero-photo{position:relative;min-height:680px;background:#c8c1b8;overflow:hidden}
.psych-hero-photo img{object-position:center 40%}
.psych-hero-photo>span{position:absolute;right:0;bottom:0;background:#d4e5e8;padding:20px 24px;font-size:.62rem;letter-spacing:.16em;font-weight:800}
.psych-statement{display:grid;grid-template-columns:25% 1fr;gap:30px;padding:clamp(80px,9vw,135px) clamp(22px,5vw,78px);background:#dbe9e9}
.psych-statement>span{font-size:.7rem;letter-spacing:.15em;font-weight:800}
.psych-statement blockquote{font-size:clamp(2.8rem,5vw,6rem);line-height:1.07;margin:0;max-width:900px}
.psych-statement p{grid-column:2;margin:0;font-size:.78rem;font-weight:800;letter-spacing:.08em}
.psych-about{display:grid;grid-template-columns:44% 56%;min-height:700px}
.psych-about-image{min-height:700px;background:#c5bdaf;overflow:hidden}
.psych-about-image img{object-position:center 46%}
.psych-about-copy{padding:clamp(70px,9vw,140px) clamp(24px,8vw,130px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.psych-about h2,.psych-section-heading h2,.psych-place h2,.psych-contact h2{font-size:clamp(3rem,5vw,6rem);line-height:1.05;margin:28px 0 26px}
.psych-about-copy p{max-width:560px;color:var(--psych-muted);line-height:1.75;font-size:1rem;margin:0 0 18px}
.psych-about-copy>a,.psych-place-copy>a,.psych-online>a{display:inline-flex;gap:12px;align-items:center;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:.82rem;font-weight:800;margin-top:26px}
.psych-services{padding:clamp(85px,10vw,150px) clamp(22px,5vw,78px);background:#f1eee7}
.psych-section-heading{max-width:940px;margin-bottom:62px}
.psych-section-heading h2{margin:28px 0 20px}
.psych-section-heading>p{max-width:560px;color:var(--psych-muted);line-height:1.6}
.psych-service-list{border-top:1px solid #b8c7c8}
.psych-service-list article{display:grid;grid-template-columns:13% 1fr 25px;gap:20px;align-items:start;padding:31px 0;border-bottom:1px solid #b8c7c8}
.psych-service-list article>span{font-family:var(--font-serif);font-size:1.55rem;color:#9aabae}
.psych-service-list h3{font-family:var(--font-serif);font-size:clamp(1.9rem,3vw,3.2rem);font-weight:400;letter-spacing:-.035em;margin:0 0 10px}
.psych-service-list p{color:var(--psych-muted);line-height:1.6;margin:0;max-width:650px}
.psych-service-list svg{margin-top:7px}
.psych-place{display:grid;grid-template-columns:52% 48%;min-height:710px;background:#dbe8e9}
.psych-place-copy{padding:clamp(75px,8vw,130px) clamp(22px,5vw,78px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.psych-place h2{max-width:690px}
.psych-place-copy>p{color:var(--psych-muted);line-height:1.65;max-width:460px;margin:0 0 35px}
.psych-address{display:flex;gap:18px;border-top:1px solid #aebec0;padding-top:24px;width:100%;max-width:510px}
.psych-address svg{margin-top:3px}
.psych-address address{font-style:normal;line-height:1.65;font-size:.9rem}
.psych-address strong{display:block;font-weight:800;margin-bottom:4px}
.psych-place-image{min-height:710px;background:#bfd0d4;overflow:hidden}
.psych-place-image img{object-position:center top}
.psych-online{padding:44px clamp(22px,5vw,78px);display:grid;grid-template-columns:22% 1fr auto;align-items:center;gap:35px;border-bottom:1px solid var(--psych-line)}
.psych-online>span{font-size:.67rem;letter-spacing:.14em;font-weight:800}
.psych-online>p{max-width:650px;line-height:1.6;color:var(--psych-muted);margin:0}
.psych-online>a{margin:0;white-space:nowrap}
.psych-contact{text-align:center;padding:clamp(100px,11vw,165px) 22px;background:#f8f5ef}
.psych-contact h2{margin:28px auto 22px}
.psych-contact>p{max-width:410px;margin:0 auto 29px;color:var(--psych-muted);line-height:1.65}
.psych-contact>a{width:max-content;margin:auto}
.psych-footer{background:#17343c;color:#f5f4ee;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:35px clamp(22px,5vw,78px);font-size:.76rem}
.psych-footer .psych-brand{color:#f5f4ee}
.psych-footer .psych-brand-dot{color:#c99b83}
@media(max-width:1050px){.psych-nav-links{display:none}.psych-hero{grid-template-columns:1fr 44%}.psych-hero h1{font-size:clamp(3.4rem,6vw,5rem)}.psych-hero-copy{padding-top:80px}.psych-online{grid-template-columns:1fr 2fr}.psych-online>a{grid-column:2;justify-self:start}}
@media(max-width:760px){.psych-nav{min-height:76px}.psych-nav-call{padding:10px}.psych-hero,.psych-about,.psych-place{grid-template-columns:1fr}.psych-hero-copy{min-height:590px;padding:65px 24px 24px}.psych-hero h1{font-size:clamp(3.6rem,10vw,5.8rem)}.psych-hero-photo{min-height:570px}.psych-statement{grid-template-columns:1fr;padding:80px 24px;gap:22px}.psych-statement p{grid-column:1}.psych-about-image{min-height:520px;max-height:650px}.psych-about-copy{padding:80px 24px}.psych-place-copy{padding:85px 24px}.psych-place-image{min-height:490px;max-height:620px}.psych-online{grid-template-columns:1fr;padding:35px 24px;gap:18px}.psych-online>a{grid-column:1}.psych-service-list article{grid-template-columns:50px 1fr 20px}}
@media(max-width:520px){.psych-nav-call{font-size:0;gap:0;border:0;padding:5px}.psych-nav-call svg{width:22px;height:22px}.psych-brand>span:first-child{font-size:2.2rem}.psych-brand strong{font-size:1.06rem}.psych-brand small{font-size:.43rem}.psych-hero-copy{min-height:590px}.psych-hero h1{font-size:clamp(3.15rem,11.5vw,4.4rem)}.psych-hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.psych-hero-foot{flex-direction:column;gap:5px}.psych-hero-photo{min-height:520px}.psych-section-heading h2,.psych-about h2,.psych-place h2,.psych-contact h2{font-size:clamp(2.9rem,11vw,4.4rem)}.psych-services{padding:80px 24px}.psych-service-list article{grid-template-columns:32px 1fr 18px;gap:12px}.psych-service-list h3{font-size:2rem}.psych-footer{align-items:flex-start;flex-direction:column}.psych-contact>a{max-width:100%;font-size:.72rem;gap:9px}}

/* Nayara Porto: identidade visual extraída dos arquivos oficiais. */
.psych{--psych-ink:#425331;--psych-muted:#58654c;--psych-paper:#fffdf8;--psych-line:#dddccf;background:var(--psych-paper);color:var(--psych-ink)}
.psych-nav{background:#fffdf8;border-color:#e7e6da}
.psych-brand{display:inline-block;width:190px;flex:none;line-height:0}
.psych-brand img{display:block;width:100%;height:auto;object-fit:contain}
.psych-nav-call{border-color:#5b7142;color:#5b7142}
.psych-hero-copy{position:relative;isolation:isolate;overflow:hidden}
.psych-hero-copy>*:not(.psych-hero-flower){position:relative;z-index:1}
.psych-hero-flower{position:absolute!important;z-index:0!important;right:-70px;top:-80px;width:320px!important;height:auto!important;opacity:.08;pointer-events:none}
.psych-kicker i{background:#b94232}
.psych h1,.psych h2,.psych blockquote{font-family:var(--font-sans);font-weight:500;letter-spacing:-.065em}
.psych h1 em,.psych h2 em{font-family:var(--font-sans);font-style:normal;font-weight:500;color:#b94232;letter-spacing:-.065em}
.psych-hero-actions a:first-child,.psych-contact>a{background:#b94232}
.psych-hero-photo>span{background:#f6e8ba;color:#5b7142}
.psych-statement{position:relative;isolation:isolate;overflow:hidden;background:#5b7142;color:#fffdf8}
.psych-statement>*:not(.psych-statement-flower){position:relative;z-index:1}
.psych-statement-flower{position:absolute!important;z-index:0!important;right:-55px;top:-145px;width:360px!important;height:auto!important;opacity:.28;pointer-events:none}
.psych-statement blockquote{font-size:clamp(2.5rem,4.5vw,5.6rem);font-weight:500}
.psych-about{background:#fffdf8}
.psych-services{background:#f6e8ba}
.psych-service-list{border-color:#cbbf9c}
.psych-service-list article{border-color:#cbbf9c}
.psych-service-list article>span{color:#8c9e71}
.psych-service-list h3{font-family:var(--font-sans);font-weight:600;letter-spacing:-.055em}
.psych-place{background:#e9eee2}
.psych-address{border-color:#bdc9b0}
.psych-online{background:#fffdf8}
.psych-contact{background:#f7f0dc}
.psych-footer{display:block;background:#000614;color:#f5d5a4;padding:28px clamp(22px,5vw,78px) 14px}
.psych-footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4vw;align-items:center}
.psych-footer-maker>div>span{display:block;color:#d88026;font-size:.62rem;font-weight:800;letter-spacing:.17em}
.psych-footer-product>strong{display:block;color:#f5d5a4;font-size:clamp(2.4rem,3.3vw,3.5rem);font-weight:800;line-height:1;letter-spacing:-.08em;margin:0 0 8px}
.psych-footer-product>strong span{color:#d88026}
.psych-footer-product p{margin:0;max-width:690px;color:#c8c6bf;font-size:.86rem;line-height:1.55}
.psych-footer-product p a{color:#f5d5a4;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.psych-footer-maker{display:flex;align-items:center;gap:12px;border-left:1px solid #35404b;padding-left:26px}
.psych-footer-maker img{width:62px;height:62px;flex:none;object-fit:contain}
.psych-footer-maker strong{display:block;color:#fff8eb;font-size:1.35rem;font-weight:700;letter-spacing:-.045em;margin:4px 0 0}
.psych-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:17px;padding-top:12px;border-top:1px solid #35404b;color:#a9aaa7;font-size:.72rem}
.psych-footer-bottom a{color:#f5d5a4;font-weight:700}
@media(max-width:760px){.psych-brand{width:165px}.psych-hero-flower{width:270px!important;right:-90px;top:-70px}.psych-statement-flower{width:240px!important;right:-60px;top:-80px}}
@media(max-width:760px){.psych-footer-main{grid-template-columns:1fr;gap:14px}.psych-footer-maker{border-left:0;border-top:1px solid #35404b;padding:12px 0 0}.psych-footer-bottom{align-items:flex-start;flex-direction:column;gap:8px;margin-top:14px}}
@media(max-width:520px){.psych-brand{width:150px}.psych-footer{padding-top:24px}.psych-footer-product>strong{font-size:2.65rem}.psych-footer-maker img{width:54px;height:54px}.psych-footer-maker strong{font-size:1.2rem}}

/* Ritmo vertical mais compacto, sem apertar o texto. */
.psych-hero{height:auto;min-height:760px}
.psych-hero-photo{height:auto;min-height:0}
.psych-hero-photo img,.psych-about-image img,.psych-place-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.psych-hero-copy{padding-top:clamp(58px,6vw,90px);padding-bottom:25px}
.psych-hero h1{margin:30px 0 22px}
.psych-hero-actions{margin-top:24px}
.psych-hero-foot{padding-top:34px}
.psych-statement{padding-top:clamp(60px,7vw,100px);padding-bottom:clamp(60px,7vw,100px)}
.psych-about{height:auto;min-height:620px}
.psych-about-image{position:relative;height:auto;min-height:0}
.psych-about-copy{padding-top:clamp(55px,6vw,90px);padding-bottom:clamp(55px,6vw,90px)}
.psych-services{padding-top:clamp(65px,7vw,100px);padding-bottom:clamp(65px,7vw,100px)}
.psych-section-heading{margin-bottom:42px}
.psych-service-list article{padding-top:24px;padding-bottom:24px}
.psych-place{height:auto;min-height:620px}
.psych-place-image{position:relative;height:auto;min-height:0}
.psych-place-copy{padding-top:clamp(60px,6vw,90px);padding-bottom:clamp(60px,6vw,90px)}
.psych-online{padding-top:31px;padding-bottom:31px}
.psych-contact{padding-top:clamp(72px,8vw,110px);padding-bottom:clamp(72px,8vw,110px)}
@media(max-width:760px){.psych-hero,.psych-about,.psych-place{height:auto}.psych-hero-copy{min-height:520px;padding:54px 24px 24px}.psych-hero-photo{height:460px;min-height:0}.psych-statement{padding:60px 24px}.psych-about-image{height:440px;min-height:0;max-height:none}.psych-about-copy{padding:62px 24px}.psych-services{padding:60px 24px}.psych-place-copy{padding:62px 24px}.psych-place-image{height:430px;min-height:0;max-height:none}.psych-online{padding:28px 24px}.psych-contact{padding:75px 22px}}
@media(max-width:520px){.psych-hero-copy{min-height:520px}.psych-hero-photo{height:450px}.psych-services{padding:60px 24px}}
@media(max-width:520px){.psych-service-list article{grid-template-columns:24px minmax(0,1fr) 16px;gap:10px}.psych-service-list article>div{min-width:0}.psych-service-list h3{font-size:1.7rem;overflow-wrap:anywhere}}

/* Social and location links shared by the standalone template pages. */
.business-links {
  background: #f3f1eb;
  color: #17232c;
  border-top: 1px solid #d9d9d2;
  padding: 38px max(5vw, 22px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  font-family: var(--font-sans, Arial, sans-serif);
}
.business-links > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.business-links > div > span {
  color: #707a7c;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}
.business-links > div > strong {
  color: #17232c;
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.1;
  letter-spacing: -.035em;
}
.business-links > nav {
  display: flex;
  align-items: stretch;
  gap: 10px;
  flex: 0 1 520px;
}
.business-links > nav > a {
  box-sizing: border-box;
  min-width: 0;
  min-height: 62px;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 1px solid #cbd0ce;
  border-radius: 10px;
  padding: 11px 14px;
  background: white;
  color: #17232c;
  text-decoration: none;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.business-links > nav > a:hover {
  transform: translateY(-2px);
  border-color: #879296;
  box-shadow: 0 8px 18px #17232c14;
}
.business-links > nav > a:focus-visible {
  outline: 2px solid #e7623e;
  outline-offset: 3px;
}
.business-links > nav > a > svg:first-child {
  display: block;
  width: 22px;
  height: 22px;
  min-width: 22px;
  flex: 0 0 22px;
  align-self: center;
}
.business-links > nav > a > svg:last-child {
  display: block;
  width: 14px;
  height: 14px;
  min-width: 14px;
  flex: 0 0 14px;
  margin-left: auto;
}
.business-links > nav > a > span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
}
.business-links > nav > a small {
  color: #748085;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
}
@media (max-width: 900px) {
  .business-links { align-items: flex-start; flex-direction: column; gap: 20px; }
  .business-links > nav { width: 100%; flex-basis: auto; }
}
@media (max-width: 520px) {
  .business-links { padding: 30px 18px; }
  .business-links > nav { flex-direction: column; }
  .business-links > nav > a { min-height: 56px; width: 100%; }
  .business-links > div > strong { font-size: 25px; }
}
