/* SINC: restrained technical typography, without changing the page structure. */
@font-face {
  font-family: "SINC Sans";
  src: url("assets/fonts/plex-sans-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "SINC Sans";
  src: url("assets/fonts/plex-sans-semibold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "SINC Technical";
  src: url("assets/fonts/plex-condensed-semibold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
:root { font-family: "SINC Sans", Arial, sans-serif; }
h1, h2, h3 {
  font-family: "SINC Technical", "Arial Narrow", Arial, sans-serif;
  font-weight: 600;
  letter-spacing: -.012em;
  line-height: 1.12;
}
h1 { font-size: clamp(2.9rem, 5vw, 4.4rem); }
h2 { font-size: clamp(2.15rem, 3.7vw, 3.1rem); }
.eyebrow, .photo-category, .step-tag, .contact-details>div>span {
  text-transform: none;
  letter-spacing: .015em;
}
.eyebrow { font-size: .86rem; font-weight: 600; }
.photo-category { font-size: .78rem; }
.step-tag { font-size: .88rem; }
.contact-details>div>span { font-size: .82rem; }
.site-header nav, .button, .text-link, .service-link, .team-links a { font-weight: 600; }
.text-link, .service-link, .team-links a {
  text-decoration: underline;
  text-decoration-color: #087d8055;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}
.hero .text-link { text-decoration-color: #b8cbcf80; }
.hero .eyebrow { display: block; }
.service h3 { font-size: 1.85rem; margin-bottom: 18px; }
.service li { padding-left: 0; }
.service li::before { content: none; }
.principles>div { padding-left: 0; }
.principles h3 { font-size: 1.32rem; }
.steps h3 { font-size: 1.5rem; }
.process-list li { display: block; }
.process-list h3 { font-size: 1.3rem; }
.experience-card h3 { font-size: 1.4rem; }
.photo-link>span { border: 0; border-radius: 0; text-decoration: underline; text-underline-offset: 3px; }
.photo-extra>span { font-size: .76rem; }
.contact h2 { font-size: clamp(2.4rem, 4.2vw, 3.5rem); }
@media (max-width: 1000px) {
  .service h3 { font-size: 1.65rem; }
}
@media (max-width: 760px) {
  .hero h1 { font-size: clamp(2.8rem, 8vw, 3.6rem); }
  .service h3 { font-size: 1.85rem; }
  .contact h2 { font-size: 2.7rem; }
}
@media (max-width: 600px) {
  h2 { font-size: 2.25rem; }
  .contact h2 { font-size: 2.4rem; }
}
/* The store is a public destination; keep all navigation usable on tablets. */
@media (min-width: 601px) and (max-width: 900px) {
  .header-inner { height: 78px; }
  .site-header .brand { width: 130px; }
  .menu-toggle { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 7px 12px; font-size: .83rem; color: var(--ink); min-height: 40px; }
  .menu-toggle span { font-size: 1.12rem; }
  .site-header nav { display: none; position: absolute; top: 77px; left: 0; width: 100%; padding: 18px 20px 23px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 10px 16px #102a3410; align-items: stretch; }
  .site-header nav.is-open { display: flex; flex-direction: column; gap: 0; }
  .site-header nav>a:not(.button) { padding: 12px 4px; font-size: 1rem; }
  .site-header nav .button { margin-top: 8px; }
}
