:root{
  --bg-0:#121212;
  --bg-1:#151515;
  --bg-2:#1a1a1a;
  --txt-0:#f5f2ff;
  --txt-1:rgba(245,242,255,.82);
  --txt-2:rgba(245,242,255,.62);
  --line:rgba(255,255,255,.08);
  --shadow: 0 28px 60px rgba(0,0,0,.62);

  --p-0:#8a5a14;
  --p-1:#c99a3c;
  --p-2:#e6c155;
  --glow: none;

  --radius-1:14px;
  --radius-2:22px;
  --container:1320px;

  --ease: cubic-bezier(.2,.8,.2,1);
}

*,
*::before,
*::after{ box-sizing:border-box; }

html,body{ height:100%; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family: "Sora", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--txt-0);
  background:var(--bg-0);
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button, input, textarea{ font:inherit; }

.tx{
  display:inline-block;
  will-change: transform, opacity;
}

.noise{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.06;
  mix-blend-mode:overlay;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  z-index:0;
}

.wrap{
  position:relative;
  z-index:1;
}

.container{
  width:min(var(--container), calc(100% - 56px));
  margin:0 auto;
}

.skip{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip:focus{
  left:18px;
  top:18px;
  width:auto;
  height:auto;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(18,18,18,.88);
  backdrop-filter: blur(10px);
  z-index:9999;
}

.header{
  position:sticky;
  top:0;
  z-index:1000;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(18,18,18,.78), rgba(18,18,18,.44));
  backdrop-filter: blur(16px);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.brand__mark{
  width:46px;
  height:46px;
  border-radius:999px;
  background: url("../img/HTB.png") center / contain no-repeat;
  border:0;
  box-shadow:none;
}
.brand__name{
  font-weight:700;
  letter-spacing:.2px;
}
.brand__tag{
  display:block;
  font-size:12px;
  color:var(--txt-2);
  margin-top:1px;
}
.header .brand__mark{
  width:58px;
  height:58px;
  border-radius:999px;
}
.header .brand__name{
  font-size:14px;
}
.header .brand__tag{
  font-size:11px;
}

.nav{
  display:flex;
  align-items:center;
  gap:18px;
}
.nav a{
  position:relative;
  font-size:14px;
  color:var(--txt-1);
  padding:10px 10px;
  border-radius:999px;
  transition: background .25s var(--ease), color .25s var(--ease);
}
.nav a::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:8px;
  height:2px;
  background:linear-gradient(90deg, rgba(138,90,20,0), rgba(201,154,60,.9), rgba(138,90,20,0));
  transform:scaleX(0);
  transform-origin:center;
  transition: transform .35s var(--ease);
  opacity:.9;
}
.nav a:hover{
  background:rgba(255,255,255,.06);
  color:var(--txt-0);
}
.nav a:hover::after{ transform:scaleX(1); }
.nav a[aria-current="page"]{
  color:var(--txt-0);
  background:rgba(138,90,20,.14);
  box-shadow: 0 0 0 1px rgba(230,193,85,.22) inset;
}
.nav a[aria-current="page"]::after{ transform:scaleX(1); }

.header__cta{
  display:flex;
  align-items:center;
  gap:10px;
}

.lang{ position:relative; }
.lang__menu{
  position:absolute;
  top:48px;
  right:0;
  min-width:92px;
  display:none;
  padding:6px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(18,18,18,.92);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 50px rgba(0,0,0,.55);
  z-index:1200;
}
.lang__opt{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.04);
  color:var(--txt-1);
  font-size:12px;
  letter-spacing:.08em;
  cursor:pointer;
}
.lang__opt + .lang__opt{ margin-top:6px; }
.lang__code{ font-weight:700; letter-spacing:.08em; color:var(--txt-1); }

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--txt-0);
  cursor:pointer;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 40px rgba(0,0,0,.42), 0 0 0 1px rgba(230,193,85,.22) inset;
  background:rgba(255,255,255,.06);
}
.btn:active{ transform: translateY(0); }
.btn--sm{
  padding:10px 14px;
  font-size:14px;
}
.btn--primary{
  border:1px solid rgba(230,193,85,.28);
  background:
    radial-gradient(80px 80px at 30% 20%, rgba(255,255,255,.20), rgba(255,255,255,0) 60%),
    linear-gradient(135deg, rgba(138,90,20,.86), rgba(201,154,60,.72));
  box-shadow: 0 18px 44px rgba(0,0,0,.52);
}
.btn--primary:hover{
  box-shadow: 0 22px 62px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.10) inset;
}
.btn__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.88), rgba(255,255,255,0) 65%), linear-gradient(135deg, var(--p-2), var(--p-0));
  box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset;
}

.icon-btn{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--txt-0);
  cursor:pointer;
  transition: transform .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
}
.icon-btn:hover{
  transform: translateY(-1px);
  background:rgba(255,255,255,.06);
  box-shadow: 0 16px 40px rgba(0,0,0,.45), 0 0 0 1px rgba(230,193,85,.22) inset;
}
.hamburger{
  display:none;
  position:relative;
}
.hamburger span{
  width:20px;
  height:2px;
  background:rgba(245,242,255,.86);
  display:block;
  border-radius:2px;
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  transition: transform .35s var(--ease), opacity .25s var(--ease), top .35s var(--ease);
}
.hamburger span:nth-child(1){ top:16px; }
.hamburger span:nth-child(2){ top:21px; opacity:.9; }
.hamburger span:nth-child(3){ top:26px; }
.hamburger[aria-expanded="true"] span:nth-child(1){ top:21px; transform: translateX(-50%) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.hamburger[aria-expanded="true"] span:nth-child(3){ top:21px; transform: translateX(-50%) rotate(-45deg); }

.drawer{
  position:fixed;
  inset:0;
  z-index:1100;
  display:none;
}
.drawer.is-open{ display:block; }
.drawer__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.82);
  backdrop-filter: blur(10px);
}
.drawer__panel{
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:min(420px, 88vw);
  padding:18px 18px 26px;
  background: linear-gradient(180deg, rgba(6,6,6,.98), rgba(4,4,4,.95));
  border-left:1px solid rgba(255,255,255,.05);
  box-shadow: -30px 0 80px rgba(0,0,0,.55);
  display:flex;
  flex-direction:column;
}
.drawer__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.drawer__nav{
  padding-top:16px;
  display:grid;
  gap:8px;
}
.drawer__nav a{
  position:relative;
  z-index:0;
  padding:14px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
  color:var(--txt-0);
}
.drawer__nav a[aria-current="page"]{
  background: linear-gradient(135deg, rgba(138,90,20,.22), rgba(255,255,255,.02));
  border-color: rgba(230,193,85,.22);
  box-shadow: 0 18px 46px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.10) inset;
}
.drawer__nav a[aria-current="page"]::after{
  content:none;
}
.drawer__nav a:active{ transform: translateY(1px); }
.drawer__meta{
  margin-top:14px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.05);
  color:var(--txt-2);
  font-size:13px;
}
.drawer__credit-row{
  display:flex;
  justify-content:flex-end;
  padding-top:16px;
  margin-top:auto;
}
.drawer__credit{
  display:inline-flex;
  font-size:12px;
  letter-spacing:.02em;
  color:var(--txt-2);
  opacity:.72;
  text-decoration:none;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
  transition: opacity .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.drawer__credit:hover{
  opacity:.9;
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
  transform: translateY(-1px);
}

.section{
  padding:72px 0;
  position:relative;
}
.section--tight{ padding:54px 0; }
.section--in-motion{ padding:40px 0; }
.section--top{ padding-top:96px; }
.section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:28px;
}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--txt-2);
}
.kicker::before{
  content:"";
  width:20px;
  height:1px;
  background: linear-gradient(90deg, rgba(138,90,20,0), rgba(201,154,60,.9), rgba(138,90,20,0));
}
.h2{
  font-size: clamp(28px, 3.2vw, 44px);
  line-height:1.03;
  margin:10px 0 0;
  letter-spacing:-.02em;
}
.h3{
  font-size: clamp(20px, 2.2vw, 28px);
  line-height:1.06;
  margin:10px 0 0;
  letter-spacing:-.02em;
}
.lede{
  max-width:58ch;
  color:var(--txt-1);
  line-height:1.7;
  margin:12px 0 0;
}
.muted{ color:var(--txt-2); }

.grid{
  display:grid;
  gap:18px;
}
.grid--1{ grid-template-columns: 1fr; }
.grid--2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }

.story-block{
  border-radius: var(--radius-2);
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: 0 26px 70px rgba(0,0,0,.52);
  overflow:hidden;
}
.story-block .lede{ margin:0; }
.story-block .media{ margin:0; }
.story-block__grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:28px;
  align-items:start;
}
.story-block__text{ padding:30px; }
.story-block__text .lede + .lede{ margin-top:14px; }
.story-block__text .btn{ margin-top: 14px; }
.story-block__inline{
  max-width:58ch;
  margin:16px 0;
}
.story-block__inline .media{
  aspect-ratio: 16 / 10;
  border-radius: 22px;
}

.story-block__media{
  padding:30px;
  display:grid;
  gap:14px;
  align-content:start;
}
.story-block__media .media{
  border-radius: 22px;
}
.story-block__media-main{
  aspect-ratio: 4 / 5;
}
.story-block__media-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
}
.story-block__media-grid .media{
  aspect-ratio: 1 / 1;
}
.story-block__media img,
.story-block__inline img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.breed-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.filter-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--txt-1);
  padding:10px 12px;
  border-radius:999px;
  cursor:pointer;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
}
.filter-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
}
.filter-btn[aria-pressed="true"]{
  border-color: rgba(230,193,85,.28);
  background:
    radial-gradient(80px 80px at 30% 20%, rgba(255,255,255,.20), rgba(255,255,255,0) 60%),
    linear-gradient(135deg, rgba(138,90,20,.86), rgba(201,154,60,.72));
  box-shadow: 0 18px 44px rgba(0,0,0,.52);
  color: var(--txt-0);
}
.breed-section{ margin-top:26px; }
.breed-section:first-child{ margin-top:0; }
.breed-section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}
.breed-empty{ margin: 6px 0 0; }

.card{
  position:relative;
  border-radius: var(--radius-2);
  background:
    radial-gradient(120px 120px at 20% 10%, rgba(255,255,255,.11), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  box-shadow: 0 18px 44px rgba(0,0,0,.46);
  overflow:hidden;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:none;
  opacity:0;
  transition: opacity .35s var(--ease);
  pointer-events:none;
}
.card:hover{
  transform: translateY(-6px);
  border-color: rgba(230,193,85,.26);
  box-shadow: 0 34px 70px rgba(0,0,0,.62), 0 0 0 1px rgba(230,193,85,.16) inset;
}
.card:hover::before{ opacity:1; }
.card__pad{ padding:0; }
.card__pad > :not(.media){
  padding-left:18px;
  padding-right:18px;
}
.card__pad > :first-child:not(.media){ padding-top:18px; }
.card__pad > :last-child:not(.media){ padding-bottom:18px; }
.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--txt-2);
  font-size:12px;
}
.chip__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background: linear-gradient(135deg, var(--p-2), var(--p-0));
  box-shadow: none;
}

.media{
  aspect-ratio: 16 / 11;
  border-radius: calc(var(--radius-2) - 4px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.25);
  position:relative;
}
[data-studs-page] .media,
[data-pups-page] .media{
  aspect-ratio: 1 / 1;
}
.card > .media,
.card__pad > .media{
  border-radius: 0;
  border: 0;
}
.media :is(img, video){
  width:100%;
  height:100%;
  object-fit:cover;
  transform: scale(1.02);
  transition: transform .6s var(--ease);
  display:block;
}
.story-block__inline .media{
  aspect-ratio: 16 / 10;
  border-radius: 22px;
}
.story-block__media .story-block__media-main{
  aspect-ratio: 4 / 5;
}
.story-block__media .story-block__media-grid .media{
  aspect-ratio: 1 / 1;
}
.card:hover .media :is(img, video){ transform: scale(1.08); }
.media__veil{
  position:absolute;
  inset:0;
  background: none;
  pointer-events:none;
  display:none;
}

.card__title{
  margin:14px 0 6px;
  font-size:18px;
  letter-spacing:-.01em;
}
.card__meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:var(--txt-2);
  font-size:13px;
}
.card__meta b{ color:var(--txt-1); font-weight:600; }
.card__actions{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.hero{
  position:relative;
  padding:32px 0 70px;
  overflow:hidden;
}
.hero__stack{
  display:grid;
  gap:12px;
  justify-items:center;
  text-align:center;
}
.hero__top{ max-width:min(840px, 92vw); }
.hero__bottom{
  max-width:min(780px, 92vw);
  display:grid;
  justify-items:center;
}
.hero__bg{
  position:absolute;
  inset:-120px -80px -120px -80px;
  pointer-events:none;
  z-index:-1;
}
.orb{
  position:absolute;
  border-radius:999px;
  filter: blur(0);
  opacity:.9;
  display:none;
}
.orb--a{
  width:min(540px, 62vw);
  aspect-ratio:1;
  left:-120px;
  top:-120px;
  background: radial-gradient(circle at 30% 30%, rgba(242,206,98,.46), rgba(242,206,98,0) 60%);
  filter: blur(6px);
}
.orb--b{
  width:min(420px, 52vw);
  aspect-ratio:1;
  right:-140px;
  top:10%;
  background: radial-gradient(circle at 30% 30%, rgba(186,140,42,.36), rgba(186,140,42,0) 62%);
  filter: blur(8px);
  display:block;
}
.orb--c{
  width:min(480px, 56vw);
  aspect-ratio:1;
  left:18%;
  bottom:-220px;
  background: radial-gradient(circle at 30% 30%, rgba(210,171,70,.28), rgba(210,171,70,0) 62%);
  filter: blur(10px);
}
.hero__title{
  font-size: clamp(40px, 5.0vw, 66px);
  line-height:.92;
  margin:14px 0 10px;
  letter-spacing:-.03em;
}
.hero__title-line{ display:block; }
.hero__title .script{
  font-family:"Allura", "Georgia", serif;
  font-weight:400;
  letter-spacing:.01em;
  color: var(--p-2);
  display:inline-block;
  transform: translateY(4px);
}
.hero__sub{
  font-size:16px;
  line-height:1.75;
  color:var(--txt-1);
  max-width:58ch;
  margin:0;
}
.hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.hero__badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.hero__visual{
  position:relative;
  width:min(620px, 96vw);
  margin-inline:auto;
}
.hero__frame{
  position:relative;
  border-radius: 30px;
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: var(--shadow);
  overflow:hidden;
  aspect-ratio: 1 / 1;
}
.hero__frame::before{
  content:none;
}
.hero__img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:none;
  filter: drop-shadow(0 24px 50px rgba(0,0,0,.55));
  transition: none;
}
.hero__img.is-fading{ opacity:0; }
.hero__glow{
  display:none;
}
.hero__overlap{
  position:absolute;
  left:-8px;
  bottom:-6px;
  width: 36%;
  aspect-ratio: 1 / 1;
  border-radius: 22px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(120px 120px at 30% 30%, rgba(255,255,255,.14), rgba(255,255,255,0) 65%),
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: 0 28px 60px rgba(0,0,0,.55);
  overflow:hidden;
  display:grid;
  place-items:center;
  animation: heroOverlapBounce 4.8s cubic-bezier(.22, 1, .36, 1) infinite;
  transform-origin: 50% 70%;
}
.hero__overlap svg,
.hero__overlap img{ width:86%; opacity:.9; display:block; }

@keyframes heroOverlapBounce{
  0%, 100%{ transform: translateY(0) scale(1) rotate(0deg); }
  32%{ transform: translateY(-8px) scale(1.015) rotate(-.5deg); }
  58%{ transform: translateY(1px) scale(.998) rotate(.2deg); }
  78%{ transform: translateY(-3px) scale(1.006) rotate(-.2deg); }
}

@media (prefers-reduced-motion: reduce){
  .hero__overlap{ animation:none; }
}

.split{
  display:grid;
  grid-template-columns: .85fr 1.15fr;
  gap:28px;
  align-items:start;
}
.panel{
  border-radius: var(--radius-2);
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: 0 26px 70px rgba(0,0,0,.52);
  overflow:hidden;
  position:relative;
}
.panel::after{
  content:none;
}
.panel__pad{ padding:22px; position:relative; z-index:1; }
.panel__line{
  height:1px;
  background: linear-gradient(90deg, rgba(138,90,20,0), rgba(201,154,60,.9), rgba(138,90,20,0));
  margin:16px 0;
}
.stats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
.stat{
  padding:14px 14px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
}
.stat b{ display:block; font-size:18px; letter-spacing:-.02em; }
.stat span{ color:var(--txt-2); font-size:12px; }

.quote{
  position:relative;
  padding:18px 18px 18px 18px;
}
.quote__text{
  color:var(--txt-1);
  line-height:1.7;
  margin:10px 0 0;
}
.quote__who{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--txt-2);
  font-size:13px;
}
.stars{
  display:inline-flex;
  gap:4px;
  filter: none;
}
.stars svg{ width:14px; height:14px; opacity:.9; }

.gallery{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:18px;
}
.gallery__big{ aspect-ratio: 16 / 11; }
.gallery__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:18px;
}

.bento-grid{
  display:grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 72px;
  grid-auto-flow: dense;
  gap:18px;
}
.bento-item{
  grid-column: span 4;
  grid-row: span 4;
  height:100%;
}
.bento-grid > .bento-item:nth-child(1){ grid-column: span 7; grid-row: span 6; }
.bento-grid > .bento-item:nth-child(2){ grid-column: span 5; grid-row: span 3; }
.bento-grid > .bento-item:nth-child(3){ grid-column: span 5; grid-row: span 3; }
.bento-grid > .bento-item:nth-child(4){ grid-column: span 12; grid-row: span 3; }
.bento-grid .tile{ height:100%; }

.video-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:18px;
  width: min(1120px, 100%);
  margin-inline: auto;
}
.video-tile{
  aspect-ratio: 3 / 2;
}
.video-tile__media{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tile{
  position:relative;
  border-radius: var(--radius-2);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  background: rgba(0,0,0,.22);
  box-shadow: 0 18px 44px rgba(0,0,0,.44);
  cursor:pointer;
}
.tile img{ width:100%; height:100%; object-fit:cover; transition: transform .7s var(--ease); }
.tile:hover img{ transform: scale(1.10); }
.bento-grid .tile{
  transform-style: preserve-3d;
  transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
}
.bento-grid .tile:hover{
  transform: perspective(900px) rotateX(2deg) rotateY(-2deg) translateY(-4px);
  box-shadow: 0 30px 72px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.12) inset;
  border-color: rgba(255,255,255,.18);
}
.tile__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.72));
  opacity:0;
  transition: opacity .35s var(--ease);
}
.tile:hover .tile__overlay{ opacity:1; }
.bento-grid .tile::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(420px 180px at 12% -10%, rgba(255,255,255,.16), rgba(255,255,255,0) 58%),
    linear-gradient(120deg, rgba(255,255,255,.08), rgba(255,255,255,0) 42%);
  opacity:0;
  transition: opacity .45s var(--ease);
  pointer-events:none;
}
.bento-grid .tile:hover::before{ opacity:1; }
.tile__label{
  position:absolute;
  left:16px;
  bottom:14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  background: rgba(18,18,18,.72);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
}
.tile__label i{
  width:10px; height:10px; border-radius:999px;
  background: linear-gradient(135deg, var(--p-2), var(--p-0));
  box-shadow: none;
}
.tile__label span{ color:var(--txt-1); font-size:13px; }

.apple-gallery{
  width:100%;
  display:grid;
  gap:14px;
  justify-items:center;
}
.ag__viewport{
  width:100%;
  overflow:hidden;
  border-radius: 28px;
  border:1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow: 0 34px 90px rgba(0,0,0,.62);
  padding: 18px 0 20px;
  touch-action: pan-y;
  overscroll-behavior: contain;
  user-select:none;
  -webkit-user-select:none;
}
.ag__stage{
  position:relative;
  height: clamp(260px, 46vw, 540px);
  width:100%;
}
.ag__card{
  position:absolute;
  top:0;
  left:50%;
  width: var(--w, min(980px, 86vw));
  aspect-ratio: 16 / 11;
  border-radius: 26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.28);
  box-shadow:
    0 30px 90px rgba(0,0,0,.70),
    0 0 0 1px rgba(255,255,255,.10) inset;
  transform: translate3d(calc(-50% + var(--x, 0px)), var(--y, 0px), 0) scale(var(--s, 1));
  opacity: var(--o, 1);
  filter: blur(var(--b, 0px)) saturate(var(--sat, 1));
  will-change: transform, filter, opacity;
}
.ag__card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.48));
  opacity:.9;
  pointer-events:none;
}
.ag__card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform: scale(1.02);
}
.ag__viewport.is-dragging{ cursor: grabbing; }
.ag__viewport{ cursor: grab; }

.ag__dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:2px 0;
}
.ag__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  cursor:pointer;
  transition: transform .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
}
.ag__dot[aria-current="true"]{
  background: linear-gradient(135deg, var(--p-2), var(--p-0));
  box-shadow: none;
  transform: scale(1.1);
}
.ag__hint{
  font-size:13px;
  letter-spacing:.02em;
}

.banner{
  border-radius: 28px;
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  box-shadow: 0 40px 100px rgba(0,0,0,.62);
  overflow:hidden;
  position:relative;
}
.banner__pad{
  padding:34px 28px;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  align-items:center;
  gap:24px;
}
.banner__title{
  font-size: clamp(26px, 3.2vw, 44px);
  line-height:1.06;
  letter-spacing:-.02em;
  margin:0;
}
.banner__sub{
  margin:10px 0 0;
  color:var(--txt-1);
  line-height:1.7;
}
.banner__flare{
  display:none;
}
.banner__right{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.brand-tone{
  border-radius: 26px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(520px 280px at 88% -10%, rgba(255,255,255,.10), rgba(255,255,255,0) 56%),
    linear-gradient(160deg, rgba(18,18,18,.88), rgba(8,8,8,.96)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 2px, rgba(255,255,255,0) 2px 10px);
  box-shadow: 0 28px 74px rgba(0,0,0,.56);
  padding:22px 20px;
}

.lightbox{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.86);
  backdrop-filter: blur(6px);
  z-index:3000;
  display:grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  padding:28px;
  opacity:0;
  pointer-events:none;
  transition: opacity .28s var(--ease);
}
.lightbox.is-open{
  opacity:1;
  pointer-events:auto;
}
.lightbox__figure{
  margin:0;
  max-width:min(1200px, 92vw);
  justify-self:center;
}
.lightbox__img{
  width:100%;
  max-height:78vh;
  object-fit:contain;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background: #060606;
}
.lightbox__caption{
  margin-top:10px;
  color:var(--txt-1);
  text-align:center;
}
.lightbox__btn{
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(16,16,16,.66);
  color:var(--txt-0);
  display:grid;
  place-items:center;
  cursor:pointer;
}
.lightbox__close{
  position:absolute;
  top:16px;
  right:16px;
}
.lightbox__btn svg{ width:20px; height:20px; }

.page-hero{
  padding:70px 0 34px;
  position:relative;
  overflow:hidden;
}
.page-hero__grid{
  display:grid;
  grid-template-columns: 1.06fr .94fr;
  gap:26px;
  align-items:center;
}
.page-hero__title{
  font-size: clamp(36px, 4.2vw, 58px);
  line-height:.96;
  letter-spacing:-.03em;
  margin:0;
}
.page-hero__sub{
  margin:12px 0 0;
  max-width:60ch;
  color:var(--txt-1);
  line-height:1.75;
}
.page-hero__card{
  border-radius: 26px;
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: var(--shadow);
  overflow:hidden;
  padding:0;
  position:relative;
  aspect-ratio: 4 / 3;
}
.page-hero__card::before{
  content:none;
}
.page-hero__card svg{ width:100%; opacity:.92; position:relative; z-index:1; }
.page-hero__card img{ width:100%; height:100%; object-fit:cover; display:block; }

.value-grid .card__title{ margin-top:12px; }
.value{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.value__icon{
  width:44px;
  height:44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(26px 26px at 30% 30%, rgba(255,255,255,.20), rgba(255,255,255,0) 70%),
    linear-gradient(135deg, rgba(138,90,20,.35), rgba(255,255,255,.02));
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.value__icon svg{ width:20px; height:20px; opacity:.9; }
.value__text b{ display:block; letter-spacing:-.01em; }
.value__text span{ display:block; margin-top:4px; color:var(--txt-2); line-height:1.6; font-size:13px; }

.media--carousel{
  touch-action: pan-y;
}
.media--carousel .media__track{
  height:100%;
  width:100%;
  display:flex;
  overflow-x:auto;
  scroll-snap-type: x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.media--carousel .media__track::-webkit-scrollbar{ display:none; }
.media--carousel .media__track img{
  flex: 0 0 100%;
  width:100%;
  height:100%;
  object-fit:cover;
  scroll-snap-align: start;
  transform: scale(1.02);
}

.scroll-top{
  position:fixed;
  right:18px;
  bottom:96px;
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(18,18,18,.78);
  backdrop-filter: blur(10px);
  color: var(--txt-0);
  display:grid;
  place-items:center;
  box-shadow: 0 18px 44px rgba(0,0,0,.52);
  opacity:0;
  transform: translateY(10px);
  pointer-events:none;
  transition: opacity .25s var(--ease), transform .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
  z-index:1300;
}
.scroll-top.is-visible{
  opacity:1;
  transform: translateY(0);
  pointer-events:auto;
}
.scroll-top:hover{
  background: rgba(255,255,255,.06);
  box-shadow: 0 22px 62px rgba(0,0,0,.62), 0 0 0 1px rgba(230,193,85,.16) inset;
}
.scroll-top svg{ width:18px; height:18px; }

.accordion{
  display:grid;
  gap:12px;
}
.qa{
  border-radius: 22px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  overflow:hidden;
  box-shadow: 0 18px 44px rgba(0,0,0,.44);
}
.qa__btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 16px;
  border:none;
  background:transparent;
  color:var(--txt-0);
  cursor:pointer;
  text-align:left;
}
.qa__q{
  font-weight:650;
  letter-spacing:-.01em;
}
.qa__icon{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.qa__icon svg{ width:18px; height:18px; opacity:.9; }
.qa__panel{
  height:0;
  overflow:hidden;
}
.qa__a{
  padding:0 16px 16px;
  color:var(--txt-1);
  line-height:1.75;
}

.form{
  border-radius: 28px;
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.form__pad{ padding:20px; }
.form__notice{
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  color: var(--txt-1);
  padding:12px 14px;
  margin-bottom:14px;
  display:none;
}
.form__notice--success{
  border-color: rgba(230,193,85,.26);
  color: var(--txt-0);
}
.form__notice--error{
  border-color: rgba(255,95,95,.28);
  color: rgba(255,220,220,.92);
}
.form__notice--info{
  border-color: rgba(255,255,255,.14);
}
.toast{
  position:fixed;
  left:50%;
  bottom:20px;
  width:min(560px, calc(100% - 28px));
  transform: translate(-50%, 12px);
  opacity:0;
  pointer-events:none;
  transition: opacity .25s var(--ease), transform .25s var(--ease);
  z-index:2000;
}
.toast.is-visible{
  opacity:1;
  transform: translate(-50%, 0);
  pointer-events:auto;
}
.toast__inner{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(18,18,18,.88);
  backdrop-filter: blur(12px);
  box-shadow: 0 24px 70px rgba(0,0,0,.66);
}
.toast--success .toast__inner{ border-color: rgba(230,193,85,.30); }
.toast__text{ flex:1; color:var(--txt-0); line-height:1.5; }
.toast__close{
  width:36px;
  height:36px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color:var(--txt-0);
  cursor:pointer;
  display:grid;
  place-items:center;
  transition: transform .25s var(--ease), background .25s var(--ease);
}
.toast__close:hover{
  background: rgba(255,255,255,.07);
  transform: translateY(-1px);
}
.toast__close svg{ width:18px; height:18px; }
.field{
  position:relative;
  display:grid;
  gap:8px;
  margin-bottom:14px;
}
.field label{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--txt-2);
}
.field input,
.field textarea{
  width:100%;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  color:var(--txt-0);
  padding:14px 14px;
  outline:none;
  transition: box-shadow .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);
}
.field textarea{ min-height:140px; resize:vertical; }
.field input:focus,
.field textarea:focus{
  border-color: rgba(230,193,85,.34);
  box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset;
  transform: translateY(-1px);
}
.field.is-invalid input,
.field.is-invalid textarea{
  border-color: rgba(255,95,95,.34);
  box-shadow: 0 0 0 1px rgba(255,95,95,.14) inset;
}
.field__error{
  font-size:12px;
  line-height:1.4;
  color: rgba(255,220,220,.92);
}
.contact-cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
}
.contact-card{
  padding:16px 16px;
  border-radius: 22px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 44px rgba(0,0,0,.42);
}
.contact-card b{ display:block; margin-top:10px; }
.contact-card p{ margin:6px 0 0; color:var(--txt-2); line-height:1.7; }
.contact-card svg{
  width:24px;
  height:24px;
  opacity:.95;
  color: rgba(230,193,85,.92);
  filter: drop-shadow(0 10px 22px rgba(230,193,85,.10));
}

.footer{
  position:relative;
  border-top:1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(10,10,10,.88), rgba(6,6,6,.96));
  padding:52px 0 26px;
  overflow:hidden;
}
.footer::before,
.footer::after{
  content:"";
  position:absolute;
  inset:auto;
  width:720px;
  height:340px;
  pointer-events:none;
  background: radial-gradient(closest-side, rgba(230,193,85,.12), rgba(0,0,0,0));
  filter: blur(2px);
  opacity:.7;
}
.footer::before{ left:-260px; top:-120px; }
.footer::after{ right:-260px; top:-140px; opacity:.5; }
.footer .container{ position:relative; z-index:1; }
.footer__cols{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:26px;
  align-items:start;
}
.footer__brand p{ max-width: 48ch; }
.footer__brand .brand{ margin-bottom:10px; }
.footer__label{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: rgba(230,193,85,.78);
  margin:2px 0 10px;
}
.footer__links{
  display:grid;
  gap:8px;
}
.footer__nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.footer__nav a{
  color:var(--txt-1);
  opacity:.9;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  transition: transform .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.footer__nav a:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
  border-color: rgba(230,193,85,.18);
  box-shadow: 0 18px 44px rgba(0,0,0,.46), 0 0 0 1px rgba(230,193,85,.12) inset;
}
.footer__links a{
  color:var(--txt-1);
  opacity:.9;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid transparent;
  transition: transform .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.footer__links a > span:last-child{
  flex:1 1 auto;
  min-width:0;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.footer__links a:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.04);
  border-color: rgba(230,193,85,.22);
  box-shadow: 0 18px 46px rgba(0,0,0,.52), 0 0 0 1px rgba(230,193,85,.10) inset;
}
.footer__icon{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  color: rgba(230,193,85,.90);
  flex:0 0 auto;
  margin-top:1px;
}
.footer__icon svg{ width:18px; height:18px; display:block; }
.social{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.social a{
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
}
.social a:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.06);
  box-shadow: 0 18px 44px rgba(0,0,0,.46), 0 0 0 1px rgba(230,193,85,.18) inset;
}
.social svg{ width:18px; height:18px; opacity:.9; }
.footer__bottom{
  margin-top:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  color:var(--txt-2);
  font-size:13px;
}
.footer__bottom a{ color:var(--txt-1); }

.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.pill__glow{
  display:none;
}

.reveal{
  clip-path: inset(0 0 100% 0 round 26px);
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

@media (max-width: 980px){
  .container{ width:min(var(--container), calc(100% - 40px)); }
  .hero__grid{ grid-template-columns: 1fr; }
  .hero__grid .hero__visual{ order:-1; }
  .split{ grid-template-columns: 1fr; }
  .story-block__grid{ grid-template-columns: 1fr; }
  .story-block__text{ padding:20px; }
  .story-block__media{ display:none; }
  .grid--3{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery{ grid-template-columns: 1fr; }
  .bento-grid{ grid-template-columns: repeat(8, minmax(0, 1fr)); grid-auto-rows: 70px; }
  .bento-grid > .bento-item:nth-child(1){ grid-column: span 8; grid-row: span 6; }
  .bento-grid > .bento-item:nth-child(2){ grid-column: span 4; grid-row: span 3; }
  .bento-grid > .bento-item:nth-child(3){ grid-column: span 4; grid-row: span 3; }
  .bento-grid > .bento-item:nth-child(4){ grid-column: span 8; grid-row: span 3; }
  .banner__pad{ grid-template-columns: 1fr; }
  .banner__right{ justify-content:flex-start; }
  .footer__cols{ grid-template-columns: 1fr; }
  .page-hero__grid{ grid-template-columns: 1fr; }
  .page-hero__grid{ justify-items:center; text-align:center; }
  .page-hero__title{ text-align:center; }
  .page-hero__sub{ text-align:center; margin-left:auto; margin-right:auto; }
  .page-hero__card{ justify-self:center; width:min(820px, 92vw); }
  .contact-cards{ grid-template-columns: 1fr; }
  .orb--b{ width:min(320px, 70vw); right:-60px; top:8%; filter: blur(10px); }
}

@media (max-width: 720px){
  .section{ padding:60px 0; }
  .section__head{ flex-direction:column; align-items:flex-start; }
  .nav, .header__cta .btn{ display:none; }
  .hamburger{ display:inline-flex; }
  .hero{ padding:26px 0 60px; }
  .hero__title{
    font-size: clamp(26px, 7.2vw, 36px);
    line-height: .98;
  }
  .hero__title-line{ white-space: nowrap; }
  .hero__sub{
    font-size:14px;
    line-height:1.65;
    max-width:52ch;
  }
  .page-hero{ padding:60px 0 30px; }
  .page-hero__title{ font-size: clamp(28px, 7.0vw, 38px); line-height: .98; }
  .grid--2{ grid-template-columns: 1fr; }
  .grid--3{ grid-template-columns: 1fr; }
  .grid--4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery__grid{ grid-template-columns: 1fr; }
  .video-tile{ aspect-ratio: 16 / 9; }
  .bento-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; }
  .bento-grid > .bento-item:nth-child(1){ grid-column: span 2; grid-row: span 2; }
  .bento-grid > .bento-item:nth-child(2){ grid-column: span 1; grid-row: span 1; }
  .bento-grid > .bento-item:nth-child(3){ grid-column: span 1; grid-row: span 1; }
  .bento-grid > .bento-item:nth-child(4){ grid-column: span 2; grid-row: span 1; }
  .lightbox{
    grid-template-columns: 1fr;
    padding:14px;
  }
  .lightbox__prev,
  .lightbox__next{ display:none; }
  .lightbox__img{ max-height:72vh; }
  .stats{ grid-template-columns: 1fr; }
  [data-featured-pups] > :nth-child(n+3){ display:none; }
  .orb--b{ width:min(260px, 78vw); right:-40px; top:10%; }
  .ag__viewport{ padding: 14px 0 16px; border-radius: 24px; }
  .ag__stage{ height: clamp(240px, 64vw, 420px); }
  .ag__card{ border-radius: 22px; }
  .hero__frame{ aspect-ratio: 1 / 1; }
  .hero__visual{
    width: calc(100% + 96px);
    margin-left: -48px;
    margin-right: -48px;
  }
  .hero__overlap{
    left: 10px;
    width: 28%;
  }
  .page-hero__card{
    width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
  }
  .footer__bottom{
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
  }
}

@media (min-width: 981px){
  .header .brand__mark{
    width:72px;
    height:72px;
  }
  .hero__visual{
    width: min(1400px, 94vw);
    margin-left: auto;
    margin-right: auto;
    max-width: 1520px;
  }
  .hero__frame{ aspect-ratio: 3 / 2; }
  .hero__overlap{ width: 15%; left:-12px; bottom:-8px; }
  .story-block__inline{ display:none; }
  .grid{ gap:22px; }
  .section__head{ margin-bottom:34px; }
}

.pup-card__img{ object-fit: contain; }
@media (min-width: 721px) and (max-width: 980px){
  .hero__visual{ width:min(720px, 86vw); }
  .hero__sub{ font-size:15px; }
}
