:root {
  --the2shu-header-height: clamp(74px, 8vw, 106px);
  --the2shu-edge: clamp(18px, 4vw, 64px);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body.admin-bar .the2shu-site-header { top: 32px; }

.the2shu-site-header {
  align-items: center;
  backdrop-filter: blur(9px);
  background: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  left: 0;
  min-height: var(--the2shu-header-height);
  padding: 12px var(--the2shu-edge);
  position: fixed;
  right: 0;
  top: 0;
  transition: box-shadow 180ms ease, background-color 180ms ease;
  width: 100%;
  z-index: 1000;
}

.the2shu-site-header.is-scrolled { box-shadow: 0 1px 16px rgba(0, 0, 0, 0.08); }
.the2shu-logo-link { display: block; line-height: 0; }
.the2shu-logo {
  display: block;
  height: auto;
  max-width: clamp(145px, 17vw, 245px);
  width: 100%;
}
.the2shu-site-header .wp-block-navigation { margin-left: auto; }
.the2shu-site-header .wp-block-navigation-item__content { text-decoration: none; }
.the2shu-site-header .wp-block-navigation-item__content:hover { color: #666; }

main:not(.the2shu-home-main) { padding-top: calc(var(--the2shu-header-height) + clamp(40px, 7vw, 100px)); }

.the2shu-hero {
  background: #202020;
  min-height: 100svh;
  overflow: hidden;
  position: relative;
}
.the2shu-hero .envira-gallery-wrap,
.the2shu-hero .envira-gallery-public,
.the2shu-hero .envira-gallery-public > div { min-height: 100svh; }
.the2shu-hero img {
  height: 100svh !important;
  max-width: none !important;
  object-fit: cover;
  width: 100% !important;
}
.the2shu-hero__fallback {
  align-items: center;
  background: linear-gradient(145deg, #151515, #565656);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100svh;
  padding: 8rem 2rem 3rem;
  text-align: center;
}
.the2shu-hero__fallback p {
  font-family: var(--wp--preset--font-family--editorial-serif);
  font-size: clamp(2rem, 6vw, 5rem);
  line-height: 1.08;
  max-width: 850px;
}
.the2shu-hero__fallback small { max-width: 520px; }

.the2shu-portfolio { padding: clamp(70px, 10vw, 150px) 0; }
.the2shu-gallery-strips { display: flex; flex-direction: column; gap: clamp(34px, 6vw, 86px); }
.the2shu-gallery-strip {
  align-items: center;
  background-color: #333;
  background-image: linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.42)), var(--strip-image, linear-gradient(115deg, #242424, #777));
  background-position: center;
  background-size: cover;
  box-sizing: border-box;
  color: #fff !important;
  display: flex;
  height: clamp(120px, 15vw, 230px);
  justify-content: center;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: filter 180ms ease, transform 180ms ease;
  width: 74vw;
}
.the2shu-gallery-strip.is-left { align-self: flex-start; }
.the2shu-gallery-strip.is-right { align-self: flex-end; }
.the2shu-gallery-strip:hover { filter: brightness(1.08); }
.the2shu-gallery-strip:focus-visible { outline: 4px solid #111; outline-offset: 5px; }
.the2shu-gallery-strip span {
  font-family: var(--wp--preset--font-family--editorial-serif);
  font-size: clamp(1.55rem, 3vw, 3.1rem);
  text-shadow: 0 2px 12px rgba(0,0,0,.7);
}

.the2shu-search-section { margin: 0 auto; max-width: 760px; padding: clamp(50px, 7vw, 100px) var(--the2shu-edge); text-align: center; }
.the2shu-search-section .wp-block-search__inside-wrapper,
.the2shu-globe-fallback .wp-block-search__inside-wrapper { border: 1px solid #aaa; border-radius: 99px; overflow: hidden; padding: 0; }
.the2shu-search-section input,
.the2shu-globe-fallback input { border: 0; padding: 14px 22px; }
.the2shu-search-section button,
.the2shu-globe-fallback button { border-radius: 99px; min-width: 56px; }

.the2shu-globe-fallback {
  align-items: center;
  display: grid;
  gap: clamp(30px, 6vw, 90px);
  grid-template-columns: minmax(360px, 1.25fr) minmax(300px, .75fr);
  min-height: min(760px, 80vh);
  overflow: hidden;
  padding: 20px var(--the2shu-edge) 0 0;
}
.the2shu-globe-fallback__sphere {
  aspect-ratio: 1;
  background: radial-gradient(circle at 35% 28%, #b8d9e8 0 4%, #3683a5 19%, #14536f 48%, #072e43 68%, #03141e 100%);
  border-radius: 50%;
  box-shadow: 14px 28px 38px rgba(0,0,0,.28), inset -28px -22px 46px rgba(0,0,0,.45);
  margin-left: max(-12vw, -160px);
  max-height: 690px;
  position: relative;
  width: min(67vw, 690px);
}
.the2shu-globe-fallback__sphere::after {
  background: radial-gradient(ellipse at 50% 50%, rgba(66,126,74,.9), rgba(48,99,58,.2) 60%, transparent 62%);
  border-radius: 51% 44% 55% 40%;
  content: "";
  height: 48%;
  left: 22%;
  position: absolute;
  top: 20%;
  transform: rotate(-18deg);
  width: 42%;
}
.the2shu-globe-fallback__search { max-width: 520px; padding: 60px 0; }
.the2shu-globe-fallback__search h2 { font-size: clamp(2rem, 4vw, 3.8rem); }
.the2shu-globe-fallback__search p { color: #666; }

.the2shu-page-shell { box-sizing: border-box; margin: 0 auto; max-width: 1160px; padding: 0 var(--the2shu-edge) clamp(60px, 8vw, 120px); }
.the2shu-page-shell > h1,
.the2shu-page-shell > .wp-block-post-title { text-align: center; }
.the2shu-post-excerpt { margin: 0 auto 4rem; max-width: 720px; text-align: center; }
.the2shu-post-content { max-width: none; }
.the2shu-post-content > h2 { margin-top: clamp(50px, 8vw, 100px); text-align: center; }

.the2shu-search-results { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.the2shu-search-card { border-bottom: 1px solid #ddd; padding-bottom: 24px; }
.the2shu-search-card .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; }

.the2shu-about-copy { margin: 0 auto; max-width: 760px; }
.the2shu-about-copy .wp-block-separator { margin: 34px auto; width: 56px; }
.the2shu-signature { font-family: var(--wp--preset--font-family--editorial-serif); font-size: 1.25rem; }

.the2shu-footer { border-top: 1px solid #e7e7e7; color: #555; font-size: .72rem; padding: 22px var(--the2shu-edge); text-align: center; }

@media (max-width: 782px) {
  body.admin-bar .the2shu-site-header { top: 46px; }
  .the2shu-site-header { padding: 10px 18px; }
  .the2shu-logo { max-width: 155px; }
  .the2shu-site-header .wp-block-navigation__responsive-container.is-menu-open { padding: 28px; }
  .the2shu-site-header .wp-block-navigation__responsive-container-content { align-items: flex-start; }
  .the2shu-gallery-strip { height: 120px; width: 92vw; }
  .the2shu-gallery-strips { gap: 24px; }
  .the2shu-globe-fallback { grid-template-columns: 1fr; padding-right: 0; }
  .the2shu-globe-fallback__sphere { margin-left: -18vw; width: 112vw; }
  .the2shu-globe-fallback__search { padding: 20px var(--the2shu-edge) 80px; text-align: center; }
  .the2shu-search-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .the2shu-search-results { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media print {
  .the2shu-site-header { position: static; }
  main:not(.the2shu-home-main) { padding-top: 2rem; }
}
