@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Inter:wght@400;500;600;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css');

:root{
  --bg:#0a0f1b;
  --surface:#111a2b;
  --surface-2:#182338;
  --text:#f4f1ea;
  --muted:#aeb6c3;
  --accent:#c96b63;
  --line:rgba(244,241,234,.18);
  --shadow:0 24px 70px rgba(0,0,0,.3);
  --radius:1.25rem;
  --nav-h:5rem;
  color-scheme:dark
}
:root[data-theme="light"]{
  --bg:#f7f5f0;
  --surface:#fff;
  --surface-2:#ebe8e1;
  --text:#111827;
  --muted:#596272;
  --accent:#a84f48;
  --line:rgba(17,24,39,.18);
  --shadow:0 24px 70px rgba(17,24,39,.12);
  color-scheme:light
}
* {
  box-sizing: border-box;
}

html {
  max-width: 100%;
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: 6rem;
}

body {
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, Arial, sans-serif;
  line-height: 1.65;
}
body.menu-open {
  overflow: hidden;
  touch-action: none;
}
body.menu-open .nav-panel {
  touch-action: pan-y;
}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select{font:inherit}.shell{width:min(100% - 2rem,78rem);margin-inline:auto}
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:1000;background:var(--accent);padding:.75rem 1rem;border-radius:999px}
.skip-link:focus{top:1rem}
.eyebrow{margin:0;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.signature-h{width:80vw;height:auto;margin:0;}
.signature-tw {
  width: min(20rem, 72vw);
  height: auto;
  margin: 0;
}
.display{margin:.4rem 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(4.5rem,15vw,10rem);font-weight:500;line-height:.82;letter-spacing:-.055em}
.section-title{max-width:11ch;margin:.45rem 0 1.4rem;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3rem,8vw,6.3rem);font-weight:500;line-height:.9;letter-spacing:-.045em}
.lede{max-width:42rem;font-size:clamp(1.1rem,2.4vw,1.45rem);color:var(--muted)}
.section{padding-block:clamp(5rem,11vw,10rem)}
.section--surface{background:var(--surface)}
.button,.text-link{
  display:inline-flex;
  align-items:center;
                   gap:.65rem;
                   border:1px solid var(--line);
                   border-radius:999px;
                   padding:.82rem 1.15rem;
                   background:transparent;
                   color:var(--text);
                   font-weight:700;
                   text-decoration:none;
                   cursor:pointer}
.button:hover,.button:focus-visible,.text-link:hover,.text-link:focus-visible{border-color:var(--accent);color:var(--accent)}
.site-header {
  position: static;
  z-index: 100;
}
.menu-toggle {
  position: fixed;
  right: max(
    1rem,
    env(safe-area-inset-right)
  );
  bottom: max(
    1rem,
    env(safe-area-inset-bottom)
  );
  z-index: 102;
  display: grid;
  place-content: center;
  gap: 0.38rem;
  width: 4.3rem;
  height: 4.3rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  background: #0a0f1b;
  color: #f4f1ea;
  box-shadow: var(--shadow);
  cursor: pointer;
}

.menu-toggle__bar {
  display: block;
  width: 1.65rem;
  height: 0.14rem;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition:
    transform 0.3s ease,
    opacity 0.2s ease;
}
.menu-open .menu-toggle__bar:nth-child(1) {
  transform: translateY(0.52rem) rotate(45deg);
}

.menu-open .menu-toggle__bar:nth-child(2) {
  opacity: 0;
}

.menu-open .menu-toggle__bar:nth-child(3) {
  transform: translateY(-0.52rem) rotate(-45deg);
}
.nav-panel {
  position: fixed;
  inset: 0;
  z-index: 101;
  width: 100%;
  max-width: 100%;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  padding:
    max(
      clamp(2rem, 8vw, 5rem),
      env(safe-area-inset-top)
    )
    max(
      clamp(2rem, 8vw, 5rem),
      env(safe-area-inset-right)
    )
    max(
      7rem,
      calc(
        7rem +
        env(safe-area-inset-bottom)
      )
    )
    max(
      clamp(2rem, 8vw, 5rem),
      env(safe-area-inset-left)
    );
  background: var(--bg);
  transform: translateY(105%);
  transition: transform 0.35s ease;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.nav-panel .socials {
  max-width: 100%;
  flex-wrap: wrap;
}
.menu-open .nav-panel{transform:none}
.nav-brand {
  display: flex;
  align-items: center;
  width: fit-content;
  text-decoration: none;
}

.nav-brand__profile {
  position: relative;
  z-index: 1;
  width: 5.5rem;
  aspect-ratio: 1;
  flex: 0 0 auto;
  border: 1px solid var(--text);
  border-radius: 50%;
  object-fit: cover;
}

.nav-brand__signature {
  position: relative;
  z-index: 2;
  width: min(13rem, 52vw);
  max-height: 6rem;
  margin-left: -1.1rem;
  object-fit: contain;
  object-position: left center;
}
.nav-links{display:grid;gap:.25rem;margin:2.5rem 0}
.nav-links a{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.5rem,11vw,5rem);line-height:1;text-decoration:none}
.nav-links a:hover{color:var(--accent)}
.nav-actions{display:flex;align-items:center;gap:.75rem;margin-top:auto}
.icon-button {
  display: grid;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--text);
  cursor: pointer;
}

.socials {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.3rem;
}

.socials a {
  display: grid;
  place-items: center;
  width: 1.8rem;
  height: 2.2rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text);
  font-size: 1.15rem;
  text-decoration: none;
}

.socials a:hover,
.socials a:focus-visible {
  color: var(--accent);
}
.socials{display:flex;flex-wrap:wrap;gap:.45rem}
.nav-close{position:absolute;right:1.25rem;top:1.25rem}
.hero{min-height:100svh;display:grid;align-items:end;position:relative;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(5,8,15,.96),rgba(5,8,15,.34) 55%,rgba(5,8,15,.12)),linear-gradient(to right,rgba(5,8,15,.55),transparent 70%)}
.hero__copy{padding-block:9rem 3rem}
.hero .lede{color:#e1e5eb}
.hero .eyebrow,.hero .display,.hero .lede{color:#f4f1ea}
.story-grid{display:grid;gap:2rem}
.story-copy{max-width:42rem}
.gallery-grid{display:grid;gap:1rem}
.media-card{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface-2);min-height:25rem}
.media-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.media-card:hover img{transform:scale(1.025)}
.media-card__label{
  position:absolute;
  inset:auto 1rem 1rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.75rem 1rem;
  border-radius:999px;
  background:rgba(7,10,18,.76);
  color:#fff;
  backdrop-filter:blur(10px);
}
#design .gallery-grid,
#living-system .horizon-feature-grid {
  perspective: 1200px;
}

.has-card-reveals #design .media-card,
.has-card-reveals #living-system .horizon-feature-grid article {
  opacity: 0;
  transform:
    rotateY(85deg)
    translateY(2rem)
    scale(0.92);
  transform-origin: center;
  backface-visibility: hidden;
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.has-card-reveals #design .media-card.is-revealed,
.has-card-reveals #living-system .horizon-feature-grid article.is-revealed {
  opacity: 1;
  transform:
    rotateY(0deg)
    translateY(0)
    scale(1);
}

.has-card-reveals #design .media-card:nth-child(1),
.has-card-reveals #living-system .horizon-feature-grid article:nth-child(1) {
  transition-delay: 0ms;
}

.has-card-reveals #design .media-card:nth-child(2),
.has-card-reveals #living-system .horizon-feature-grid article:nth-child(2) {
  transition-delay: 100ms;
}

.has-card-reveals #design .media-card:nth-child(3),
.has-card-reveals #living-system .horizon-feature-grid article:nth-child(3) {
  transition-delay: 200ms;
}

.has-card-reveals #design .media-card:nth-child(4),
.has-card-reveals #living-system .horizon-feature-grid article:nth-child(4) {
  transition-delay: 300ms;
}

.has-card-reveals #design .media-card:nth-child(5),
.has-card-reveals #living-system .horizon-feature-grid article:nth-child(5) {
  transition-delay: 400ms;
}

.has-card-reveals #design .media-card:nth-child(6),
.has-card-reveals #living-system .horizon-feature-grid article:nth-child(6) {
  transition-delay: 500ms;
}

.numbers{padding-block:clamp(3.5rem,8vw,6rem);border-block:1px solid var(--line)}
.numbers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.stat{min-height:12rem;display:grid;place-items:center;text-align:center;padding:1.5rem;background:var(--bg)}
.stat i{font-size:1.75rem;color:var(--accent)}
.stat strong{display:block;font-size:clamp(2.5rem,6vw,3.8rem);line-height:1}
.stat span{color:var(--muted);font-size:.82rem}
.stat.is-visible{animation:stat-pop 1.2s cubic-bezier(.2,.9,.2,1)}@keyframes stat-pop{0%{transform:translateY(2rem) scale(.94);opacity:0}60%{transform:translateY(-.35rem) scale(1.035);opacity:1}100%{transform:none}}
.post-grid{display:grid;gap:1.25rem}
.post-card{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;box-shadow:0 0 0 transparent;transition:transform .25s,box-shadow .25s}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.post-card img{width:100%;height:15rem;object-fit:cover}
.post-card__body{padding:1.4rem}
.post-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.9rem;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}
.post-meta span{padding:.25rem .55rem;border:1px solid var(--line);border-radius:999px}
.post-card h3{margin:0 0 .6rem;font-family:'Cormorant Garamond',Georgia,serif;font-size:2.1rem;line-height:1}
.post-card p{margin:0;color:var(--muted)}
.post-signoff {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: -1rem;
}
.post-signoff i {
  flex: 0 0 auto;
  font-size: 2.25rem;
  margin-top:2rem;
}
.article-body .post-signature {
  border-radius: 0;
}
.page-hero {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  display: grid;
  align-items: end;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.page-hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;

  background:
    linear-gradient(
      to top,
      rgba(5, 8, 15, 0.96) 0%,
      rgba(5, 8, 15, 0.38) 55%,
      rgba(5, 8, 15, 0.12) 100%
    ),
    linear-gradient(
      to right,
      rgba(5, 8, 15, 0.58),
      transparent 70%
    );
}

.page-hero__copy {
  padding-block: 9rem 3rem;
}

.page-hero .eyebrow,
.page-hero .display,
.page-hero .lede {
  color: #f4f1ea;
}

.page-hero .lede {
  max-width: 42rem;
  color: #e1e5eb;
}
.photography-parallax {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--surface);
  color: #f4f1ea;
}
.photography-parallax__media {
  position: absolute;
  inset: -12% 0;
  z-index: -3;
  overflow: hidden;
  pointer-events: none;
}
.photography-parallax__media img {
  width: 100%;
  height: 124%;
  object-fit: cover;
  object-position: center 45%;
  transform: translate3d(0, 0, 0) scale(1.04);
  will-change: transform;
}
.photography-parallax__overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(
      to bottom,
      rgba(5, 8, 15, 0.42),
      rgba(5, 8, 15, 0.7)
    );
  pointer-events: none;
}
.photography-parallax__content {
  position: relative;
  z-index: 1;
}
.photography-parallax .eyebrow,
.photography-parallax .section-title {
  color: #f4f1ea;
}
.photography-parallax .lede {
  color: #d9dee7;
}
.photography-parallax .media-card {
  background: rgba(10, 15, 27, 0.78);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.4);
}
.blog-parallax {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--surface);
}
.blog-parallax__media {
  position: absolute;
  inset: -12% 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.blog-parallax__media img {
  width: 100%;
  height: 124%;
  object-fit: cover;
  object-position: center 45%;
  transform: translate3d(0, 0, 0) scale(1.08);
  will-change: transform;
}
.blog-parallax__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      to bottom,
      rgba(5, 8, 15, 0.68),
      rgba(5, 8, 15, 0.88)
    );
  pointer-events: none;
}
.blog-parallax__content {
  position: relative;
  z-index: 2;
}
.horizon-preview {
  position: relative;
  isolation: isolate;
  min-height: min(52rem, 92svh);
  display: grid;
  align-items: end;
  overflow: hidden;
  border-top: 1px solid var(--line);
  color: #f4f1ea;
}

.horizon-preview__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.horizon-preview__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  transition: transform 1.2s ease;
}

.horizon-preview:hover .horizon-preview__media img {
  transform: scale(1.025);
}
.horizon-preview__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      to top,
      rgba(5, 8, 15, 0.97) 0%,
      rgba(5, 8, 15, 0.74) 42%,
      rgba(5, 8, 15, 0.24) 78%,
      rgba(5, 8, 15, 0.12) 100%
    ),
    linear-gradient(
      to right,
      rgba(5, 8, 15, 0.64),
      transparent 75%
    );
  pointer-events: none;
}

.horizon-preview__content {
  position: relative;
  z-index: 2;
  padding-block: clamp(6rem, 15vw, 10rem) 3.5rem;
}

.horizon-preview__title {
  max-width: 9ch;
  margin: 0.45rem 0 1.25rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(4rem, 12vw, 9rem);
  font-weight: 500;
  line-height: 0.84;
  letter-spacing: -0.055em;
}

.horizon-preview__lede {
  max-width: 43rem;
  margin: 0;
  color: #d9dee7;
  font-size: clamp(1.1rem, 2.5vw, 1.45rem);
}

.horizon-preview__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-block: 2rem;
}

.horizon-preview__facts span {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 0.85rem;
  border: 1px solid rgba(244, 241, 234, 0.24);
  border-radius: 999px;
  background: rgba(5, 8, 15, 0.55);
  color: #f4f1ea;
  font-size: 0.78rem;
  font-weight: 600;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.horizon-preview__facts i {
  color: var(--accent);
}

.horizon-preview__button {
  border-color: rgba(244, 241, 234, 0.45);
  color: #f4f1ea;
}

.horizon-preview__button:hover,
.horizon-preview__button:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
}


.horizon-hero .page-hero__media{object-position:center 58%}
.horizon-intro__grid,.horizon-story-grid,.horizon-recovery-grid{display:grid;gap:clamp(2rem,6vw,6rem)}
.horizon-intro__copy{max-width:44rem;font-size:1.08rem}
.horizon-spec-grid,.horizon-system-grid,.horizon-feature-grid,.horizon-checklists{display:grid;gap:1rem}
.horizon-spec-card,.horizon-system-grid article,.horizon-feature-grid article,.horizon-checklists article{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.section--surface .horizon-spec-card,.section--surface .horizon-checklists article{background:var(--bg)}
.horizon-spec-card>i,.horizon-feature-grid article>i{color:var(--accent);font-size:1.65rem}
.horizon-spec-card h3,.horizon-system-grid h3,.horizon-feature-grid h3,.horizon-checklists h3{margin:.75rem 0 1rem;font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;line-height:1;font-weight:500}
.horizon-spec-card dl,.horizon-story-facts dl{margin:0}
.horizon-spec-card dl div,.horizon-story-facts dl div{display:grid;gap:.2rem;padding-block:.8rem;border-top:1px solid var(--line)}
.horizon-spec-card dt,.horizon-story-facts dt{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.horizon-spec-card dd,.horizon-story-facts dd{margin:0}
.horizon-pending{color:var(--accent);font-style:italic}
.horizon-system-grid ul,.horizon-checklists ul{margin:0;padding-left:1.2rem}
.horizon-system-grid li,.horizon-checklists li{margin-bottom:.55rem}
.horizon-photo-break{padding-block:clamp(1rem,3vw,2rem);background:var(--bg)}
.horizon-photo-break__grid,.horizon-gallery-grid{display:grid;gap:1rem}
.horizon-photo{position:relative;min-height:22rem;margin:0;overflow:hidden;border-radius:var(--radius);background:var(--surface-2)}
.horizon-photo img{width:100%;height:100%;object-fit:cover}
.horizon-photo figcaption{position:absolute;inset:auto 1rem 1rem;padding:.55rem .8rem;border-radius:999px;background:rgba(5,8,15,.78);color:#fff;font-size:.78rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.horizon-story-facts{align-self:start;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.horizon-story-copy{max-width:50rem;font-size:1.08rem}
.horizon-story-copy h2,.horizon-closing h2{margin:0 0 1.25rem;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3rem,7vw,6rem);font-weight:500;line-height:.92;letter-spacing:-.045em}
.horizon-feature-grid article{min-height:17rem}.horizon-feature-grid p{color:var(--muted)}
.horizon-closing{padding-block:clamp(6rem,14vw,11rem);border-top:1px solid var(--line);background:linear-gradient(to right,rgba(5,8,15,.93),rgba(5,8,15,.55)),url('../img/horizon/horizon-closing.jpg') center/cover no-repeat;color:#f4f1ea}
.horizon-closing__content{max-width:52rem;margin-inline:auto}.horizon-closing p:last-child{max-width:42rem;color:#d9dee7;font-size:clamp(1.1rem,2.4vw,1.45rem)}

.filters{display:grid;gap:1rem;margin:2rem 0 3rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.field{display:grid;gap:.4rem}
.field label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.field input,.field select{width:100%;border:1px solid var(--line);border-radius:.8rem;padding:.85rem 1rem;background:var(--bg);color:var(--text)}
.archive-group{margin-bottom:4rem}
.archive-group h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.4rem,6vw,4rem);font-weight:500}
.folder-note{color:var(--muted)}
.article-hero{
  min-height:75svh;
  display:grid;
  align-items:end;
  position:relative;
  isolation:isolate;
  color:#fff
}
.article-hero img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.article-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(5,8,15,.96),rgba(5,8,15,.18))}
.article-hero__copy{padding-block:8rem 3rem}
.article-title{max-width:12ch;margin:.6rem 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3.6rem,10vw,8rem);font-weight:500;line-height:.86;letter-spacing:-.045em}
.article-body{width:min(100% - 2rem,48rem);margin-inline:auto;padding-block:clamp(4rem,10vw,8rem);font-size:1.08rem}
.article-body h2,.article-body h3{font-family:'Cormorant Garamond',Georgia,serif;line-height:1}
.article-body h2{font-size:3rem}
.article-body h3{font-size:2rem}
.article-body img{margin:2rem 0;border-radius:var(--radius)}
blockquote,.callout{margin:2rem 0;padding:1.5rem;border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--surface);font-family:'Cormorant Garamond',Georgia,serif;font-size:1.55rem}
.callout{font-family:Inter,Arial,sans-serif;font-size:1rem}
.callout strong{color:var(--accent)}
pre{overflow:auto;margin:2rem 0;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:#050913;color:#eef2ff}
code{font-family:'SFMono-Regular',Consolas,monospace}
.site-footer {
  padding-block: clamp(3rem, 7vw, 5rem);
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.footer-grid {
  display: grid;
  gap: 2.5rem;
}

.footer-brand a {
  display: flex;
  align-items: center;
  width: fit-content;
  text-decoration: none;
}

.footer-brand img:first-child {
  position: relative;
  z-index: 1;
  width: 5rem;
  aspect-ratio: 1;
  flex: 0 0 auto;
  border: 1px solid var(--text);
  border-radius: 50%;
  object-fit: cover;
}

.footer-brand img:last-child {
  position: relative;
  z-index: 2;
  width: min(16rem, 58vw);
  max-height: 6rem;
  margin-left: -1rem;
  object-fit: contain;
  object-position: left center;
}

.footer-links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
  align-content: start;
}

.footer-links a {
  display: block;
  width: fit-content;
  color: var(--muted);
  text-decoration: none;
}

.footer-links a:hover,
.footer-links a:focus-visible {
  color: var(--accent);
}

.footer-social {
  display: grid;
  align-content: start;
  gap: 1.25rem;
}

.site-footer .socials {
  flex-wrap: nowrap;
}

.copyright {
  margin: 0;
  color: var(--muted);
  font-size: 0.85rem;
}


@media(min-width:760px){
  .shell{width:min(100% - 4rem,78rem)}
  .story-grid{grid-template-columns:1.1fr .8fr;gap:clamp(3rem,8vw,8rem)}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .numbers-grid{grid-template-columns:repeat(4,1fr)}
  .post-grid{grid-template-columns:repeat(3,1fr)}
  .horizon-preview__media img {object-position: center 58%;}
  .horizon-preview__content {padding-bottom: 4.5rem;}
  .horizon-intro__grid,.horizon-story-grid,.horizon-recovery-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .horizon-spec-grid,.horizon-system-grid,.horizon-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .horizon-photo-break__grid,.horizon-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .horizon-photo--wide{grid-column:1/-1}.horizon-photo--tall{grid-row:span 2;min-height:45rem}
  .filters{grid-template-columns:2fr repeat(3,1fr);align-items:end}
  .footer-grid {grid-template-columns: minmax(14rem, 1fr) minmax(16rem, 1fr);align-items: start;}
  .footer-brand {grid-column: 1 / -1;}
}


@media(min-width:1050px){
  html{scroll-padding-top:calc(var(--nav-h) + 1rem);}
  body{
    padding-left:0;
    padding-top: var(--nav-h);
      }
  .site-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 1000;
    width: 100%;
    height: var(--nav-h);
    border-right: 0;
    border-bottom: 1px solid var(--line);
    background:
      color-mix(
        in srgb,
        var(--bg) 92%,
        transparent
      );
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }
  .signature-h{max-width:800px;}
.menu-toggle {
  display: none;
}
  .nav-panel{
    position:static;
    inset:auto;
    width:min(100% - 4rem,78rem);
    height:100%;
    margin-inline:auto;
    padding:0;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:2rem;
    transform:none;
    overflow:visible;
    background:transparent;
  }
.nav-brand {
  display: flex;
  align-items: center;
  min-width: max-content;
}

.nav-brand__profile {
  width: 3.25rem;
}

.nav-brand__signature {
  width: 10.5rem;
  max-height: 3.4rem;
  margin-left: -0.75rem;
}
  .nav-links{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:clamp(1rem,2.5vw,2.25rem);
    margin:0;
  }
  .nav-links a{
    font-family:Inter,Arial,sans-serif;
    font-size:.88rem;
    font-weight:700;
    letter-spacing:.02em;
    white-space:nowrap;
  }
  .nav-actions{align-items:center;flex-direction:row;margin:0;}
  .nav-actions .socials{display:none;}
  .shell{width:min(100% - 4rem,78rem);}
  .hero{min-height:calc(100svh - var(--nav-h));}
  .hero__copy{padding-left:0;}
  .page-hero {min-height: calc(100svh - var(--nav-h));}
  .horizon-preview {min-height: calc(100svh - var(--nav-h));}
  .horizon-preview__content {padding-bottom: 5rem;}
  .horizon-spec-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .horizon-system-grid,.horizon-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .horizon-checklists{grid-template-columns:repeat(2,minmax(0,1fr))}
  .horizon-photo-break__grid{grid-template-columns:1.4fr .8fr .8fr}
  .horizon-photo-break .horizon-photo--wide{grid-column:auto;grid-row:span 1}
  .horizon-gallery-grid{grid-template-columns:1.15fr .85fr .85fr}
  .horizon-gallery-grid .horizon-photo--wide{grid-column:2/-1}
  .footer-grid {
    grid-template-columns:
      minmax(15rem, 1.2fr)
      minmax(10rem, 0.65fr)
      minmax(18rem, 1fr);
    align-items: start;
    gap: clamp(2.5rem, 5vw, 5rem);
  }
  .footer-brand {grid-column: auto;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
.has-card-reveals #design .media-card,
.has-card-reveals #living-system .horizon-feature-grid article {
  opacity: 1;
  transform: none;
  transition: none;
}
}
