@font-face {
  font-family:Archivo;
  font-style:normal;
  font-weight:100 900;
  font-stretch:62% 125%;
  font-display:swap;
  src:url(fonts/af21ab248943f479-s.3gj6ciom31zjc.woff2)format("woff2");
  unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB
}
@font-face {
  font-family:Archivo;
  font-style:normal;
  font-weight:100 900;
  font-stretch:62% 125%;
  font-display:swap;
  src:url(fonts/4ae66b896b591e96-s.0_kz_z3o_slvt.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Archivo;
  font-style:normal;
  font-weight:100 900;
  font-stretch:62% 125%;
  font-display:swap;
  src:url(fonts/21ca8f3f56c22ca2-s.p.1cp9-4nby68jc.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Archivo Fallback;
  src:local(Arial);
  ascent-override:88.96%;
  descent-override:21.28%;
  line-gap-override:0.0%;
  size-adjust:98.7%
}
.archivo_4f6b2339-module__7Mirhq__className {
  font-family:Archivo,Archivo Fallback;
  font-style:normal
}
.archivo_4f6b2339-module__7Mirhq__variable {
  --f-disp:"Archivo", "Archivo Fallback"
}
@font-face {
  font-family:Instrument Sans;
  font-style:normal;
  font-weight:400 700;
  font-stretch:100%;
  font-display:swap;
  src:url(fonts/c7f47671e39f7787-s.0klc_mi0-5f4_.woff2)format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Instrument Sans;
  font-style:normal;
  font-weight:400 700;
  font-stretch:100%;
  font-display:swap;
  src:url(fonts/f06bf9da926bae75-s.p.2874ccu1_u7jf.woff2)format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
@font-face {
  font-family:Instrument Sans Fallback;
  src:local(Arial);
  ascent-override:94.42%;
  descent-override:24.33%;
  line-gap-override:0.0%;
  size-adjust:102.74%
}
.instrument_sans_7fdada6b-module__1wsT6W__className {
  font-family:Instrument Sans,Instrument Sans Fallback;
  font-style:normal
}
.instrument_sans_7fdada6b-module__1wsT6W__variable {
  --f-body:"Instrument Sans", "Instrument Sans Fallback"
}
:root {
  --ground:oklch(0.962913 0.002530 228.7843);
  --ground-hi:oklch(0.981639 0.001707 247.8390);
  --paper:oklch(1.000000 0.000000 89.8756);
  --graphite:oklch(0.209552 0.009642 234.2664);
  --graphite-2:oklch(0.247675 0.011593 237.1593);
  --graphite-3:oklch(0.296499 0.013356 239.0358);
  --slate:oklch(0.480625 0.013915 240.1456);
  --slate-lo:oklch(0.531143 0.013932 248.0905);
  --line:oklch(0.904490 0.005969 239.8269);
  --line-dk:oklch(0.347255 0.015033 240.3615);
  --accent:oklch(0.622034 0.101196 209.6320);
  --accent-ink:oklch(0.498331 0.080879 209.8087);
  --accent-hi:oklch(0.740833 0.107131 206.7949);
  --sans:var(--f-body), system-ui, -apple-system, sans-serif;
  --disp:var(--f-disp), var(--f-body), sans-serif;
  --util:var(--f-body), system-ui, -apple-system, sans-serif;
  --gut:clamp(20px, 4vw, 64px);
  --nav-h:76px;
  --hero-pad:clamp(28px, 4.4vh, 52px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ink:var(--graphite);
  --btn-bg:oklch(0.209552 0.009642 234.2664);
  --btn-bg-h:oklch(0.247675 0.011593 237.1593);
  --btn-fg:oklch(0.981639 0.001707 247.8390);
  --band-bg:oklch(0.209552 0.009642 234.2664);
  --band-fg:oklch(0.981639 0.001707 247.8390);
  --band-mute:oklch(0.710135 0.013498 236.7125);
  --card:oklch(1.000000 0.000000 89.8756 / 0.45098);
  --card-hi:oklch(1.000000 0.000000 89.8756);
  --sky-1:oklch(0.662537 0.114885 243.8709);
  --sky-2:oklch(0.700146 0.106049 242.6047);
  --sky-3:oklch(0.753440 0.090765 240.0132);
  --sky-4:oklch(0.821845 0.068294 237.3070);
  --sky-5:oklch(0.881296 0.038218 239.6415);
  --sky-6:oklch(0.935014 0.012622 236.6304);
  --sky-7:oklch(0.962913 0.002530 228.7843);
  --shade:oklch(0.209552 0.009642 234.2664 / 0.141176);
  --on-light:oklch(0.209552 0.009642 234.2664)
}
:root[data-theme=dark] {
  --ground:oklch(0.179267 0.008851 240.4570);
  --ground-hi:oklch(0.213455 0.011985 237.3249);
  --paper:oklch(0.226433 0.011830 237.2545);
  --graphite:oklch(0.950413 0.004201 236.4983);
  --graphite-2:oklch(0.894104 0.008519 236.5721);
  --graphite-3:oklch(0.831943 0.010417 238.5404);
  --slate:oklch(0.712918 0.015292 238.1065);
  --slate-lo:oklch(0.634520 0.016769 241.9156);
  --line:oklch(0.296055 0.015599 240.5101);
  --line-dk:oklch(0.331277 0.017386 241.5111);
  --accent:oklch(0.707366 0.107640 208.3968);
  --accent-ink:oklch(0.802902 0.105196 206.1412);
  --accent-hi:oklch(0.802902 0.105196 206.1412);
  --btn-bg:oklch(0.950413 0.004201 236.4983);
  --btn-bg-h:oklch(1.000000 0.000000 89.8756);
  --btn-fg:oklch(0.179267 0.008851 240.4570);
  --band-bg:oklch(0.235454 0.013091 243.4562);
  --band-fg:oklch(0.950413 0.004201 236.4983);
  --band-mute:oklch(0.671337 0.014683 241.0628);
  --card:oklch(1.000000 0.000000 89.8756 / 0.035294);
  --card-hi:oklch(0.243925 0.012983 243.4224);
  --sky-1:oklch(0.195064 0.025879 246.9671);
  --sky-2:oklch(0.240364 0.030943 243.7013);
  --sky-3:oklch(0.290938 0.036481 240.2097);
  --sky-4:oklch(0.356660 0.042001 234.0105);
  --sky-5:oklch(0.392411 0.040272 228.9452);
  --sky-6:oklch(0.310204 0.027547 231.8798);
  --sky-7:oklch(0.179267 0.008851 240.4570);
  --shade:oklch(1.000000 0.000000 89.8756 / 0.160784)
}
*,:before,:after {
  box-sizing:border-box
}
html {
  -webkit-text-size-adjust:100%
}
body {
  background:var(--ground);
  color:var(--graphite);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  margin:0;
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden
}
img,svg {
  max-width:100%;
  display:block
}
picture {
  display:contents
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit;
  color:inherit;
  cursor:pointer;
  background:0 0;
  border:0
}
:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:2px
}
::selection {
  background:var(--accent);
  color:oklch(1.000000 0.000000 89.8756)
}
::selection {
  background:var(--accent);
  color:oklch(1.000000 0.000000 89.8756)
}
.disp {
  font-family:var(--disp);
  font-variation-settings:"wdth" 118,"wght" 700;
  letter-spacing:-.025em;
  text-transform:uppercase;
  margin:0;
  line-height:.86
}
.lbl {
  font-family:var(--util);
  letter-spacing:0;
  color:var(--slate);
  margin:0;
  font-size:13px;
  font-weight:500;
  line-height:1.5
}
.lbl-dk {
  color:oklch(0.615381 0.013105 240.0345)
}
.mono {
  font-family:var(--util);
  letter-spacing:0;
  font-size:13px
}
.lede {
  color:var(--slate);
  margin:0;
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.55
}
.wrap {
  max-width:1560px;
  padding-inline:var(--gut);
  margin:0 auto
}
.s {
  padding-block:clamp(72px,9vw,152px)
}
.s-tight {
  padding-block:clamp(52px,6vw,96px)
}
.rule {
  background:var(--line);
  border:0;
  height:1px;
  margin:0
}
.nav {
  z-index:60;
  position:fixed;
  inset:0 0 auto
}
.nav:before {
  content:"";
  z-index:-1;
  background:color-mix(in srgb, var(--ground-hi) 82%, transparent);
  -webkit-backdrop-filter:blur(20px)saturate(1.35);
  backdrop-filter:blur(20px)saturate(1.35);
  opacity:0;
  transition:opacity .5s var(--ease);
  position:absolute;
  inset:0
}
.nav:after {
  content:"";
  z-index:-1;
  background:linear-gradient(90deg, transparent, var(--shade) 12%, var(--shade) 88%, transparent);
  opacity:0;
  height:1px;
  transition:opacity .5s var(--ease);
  position:absolute;
  bottom:0;
  left:0;
  right:0
}
.nav.stuck:before,.nav.stuck:after {
  opacity:1
}
.nav-in {
  width:100%;
  padding:18px var(--gut);
  transition:padding .7s var(--ease);
  align-items:center;
  gap:32px;
  margin:0 auto;
  display:flex;
  position:relative
}
.nav.stuck .nav-in {
  padding-inline:max(var(--gut), calc((100vw - 1560px) / 2 + var(--gut)))
}
.brand {
  flex:none;
  align-items:center;
  gap:11px;
  display:flex
}
.brand-mark {
  flex:none;
  width:26px;
  height:20px
}
.nav:not(.stuck):not(.open) .brand-txt,.nav:not(.stuck):not(.open) .nav-links a {
  color:oklch(1.000000 0.000000 89.8756)
}
.nav:not(.stuck):not(.open) .pill-phone {
  background:oklch(1.000000 0.000000 89.8756 / 0.141176);
  border-color:oklch(1.000000 0.000000 89.8756 / 0.419608)
}
.nav:not(.stuck):not(.open) .pill-phone .mono {
  color:oklch(1.000000 0.000000 89.8756)
}
.nav:not(.stuck):not(.open) .pill-phone .dot {
  background:oklch(1.000000 0.000000 89.8756)
}
.nav:not(.stuck):not(.open) .pill-phone .dot svg path {
  fill:var(--on-light)
}
.brand-txt {
  font-family:var(--disp);
  font-variation-settings:"wdth" 108,"wght" 600;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-size:14.5px
}
.nav-links {
  white-space:nowrap;
  gap:30px;
  display:flex;
  position:absolute;
  left:50%;
  translate:-50%
}
.nav-links a {
  letter-spacing:.005em;
  color:var(--slate);
  transition:color .45s var(--ease);
  padding-block:5px;
  font-size:13px;
  position:relative
}
.nav-links a:hover {
  color:var(--graphite)
}
.nav-links a:after {
  content:"";
  background:var(--accent);
  transform-origin:0;
  height:1px;
  transition:transform .5s var(--ease);
  position:absolute;
  bottom:2px;
  left:0;
  right:0;
  transform:scaleX(0)
}
.nav-links a:hover:after {
  transform:scaleX(1)
}
.nav-right {
  flex:none;
  align-items:center;
  gap:18px;
  margin-left:auto;
  display:flex
}
.pill-phone {
  border:1px solid var(--shade);
  transition:border-color .45s var(--ease), background .45s var(--ease);
  background:oklch(1.000000 0.000000 89.8756 / 0.439216);
  border-radius:100px;
  align-items:center;
  gap:12px;
  padding:5px 6px 5px 18px;
  display:flex
}
.pill-phone .mono {
  letter-spacing:.03em;
  font-size:11.5px
}
.pill-phone:hover {
  background:oklch(1.000000 0.000000 89.8756 / 0.8);
  border-color:oklch(0.209552 0.009642 234.2664 / 0.341176)
}
.pill-phone .dot {
  background:var(--btn-bg);
  width:28px;
  height:28px;
  transition:transform .45s var(--ease);
  border-radius:50%;
  place-items:center;
  display:grid
}
.pill-phone:hover .dot {
  transform:rotate(-12deg)
}
.pill-phone .dot svg {
  width:12px;
  height:12px;
  color:var(--btn-fg)
}
.nav-burger {
  display:none
}
.hero {
  background:linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 16%, var(--sky-3) 34%, var(--sky-4) 54%, var(--sky-5) 74%, var(--sky-6) 90%, var(--sky-7) 100%);
  flex-direction:column;
  justify-content:flex-end;
  min-height:100svh;
  display:flex;
  position:relative;
  overflow:hidden
}
.hero:after {
  content:"";
  z-index:1;
  pointer-events:none;
  background:linear-gradient(oklch(0.962913 0.002530 228.7843 / 0.0) 62%,oklch(0.962913 0.002530 228.7843 / 0.34902) 100%);
  position:absolute;
  inset:0
}
.hero-inner {
  z-index:2;
  width:100%;
  max-width:1560px;
  padding:clamp(104px,17.7vh,200px) var(--gut) 0;
  position:absolute;
  top:0;
  left:50%;
  translate:-50%
}
.wordmark {
  z-index:2;
  pointer-events:none;
  position:relative
}
.hero-ghost {
  z-index:4
}
.hero-ghost .word-a {
  visibility:hidden
}
.hero-ghost .word-b {
  opacity:1;
  color:oklch(1.000000 0.000000 89.8756 / 0.301961);
  -webkit-text-stroke:1.6px oklch(1.000000 0.000000 89.8756 / 0.521569);
  paint-order:fill stroke
}
.word {
  color:oklch(1.000000 0.000000 89.8756);
  font-variation-settings:"wdth" 116,"wght" 700;
  font-size:clamp(58px,14.6vw,252px);
  display:block
}
.word-a {
  margin-left:-.012em
}
.word-b {
  text-align:right;
  margin-top:-.1em;
  margin-right:-.012em
}
.word .clip {
  padding-bottom:.04em;
  display:block;
  overflow:hidden
}
.word .clip>span {
  will-change:transform;
  display:block
}
.wm-c {
  font-family:var(--disp);
  font-variation-settings:"wdth" 100,"wght" 500;
  vertical-align:super;
  color:oklch(1.000000 0.000000 89.8756 / 0.619608);
  margin-left:.12em;
  font-size:clamp(13px,1.5vw,26px)
}
.hero-house-wrap {
  z-index:3;
  pointer-events:none;
  width:104%;
  height:auto;
  position:absolute;
  top:42svh;
  bottom:auto;
  left:50%;
  translate:-50%
}
.hero-house {
  transform-origin:50% 100%;
  will-change:transform;
  filter:drop-shadow(0 34px 54px oklch(0.246815 0.016251 240.7297 / 0.301961));
  width:100%;
  max-width:none;
  height:auto;
  display:block
}
.hero-top {
  z-index:4;
  top:calc(var(--nav-h) + clamp(14px,2.6vh,34px));
  padding-inline:var(--gut);
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  display:flex;
  position:absolute;
  left:0;
  right:0
}
.hero-eyebrow {
  color:oklch(1.000000 0.000000 89.8756 / 0.858824);
  white-space:nowrap;
  max-width:240px;
  font-size:clamp(14px,1.05vw,16px);
  font-weight:600;
  line-height:1.45
}
.hero-eyebrow.r {
  text-align:right
}
.hero-mid {
  z-index:4;
  left:var(--gut);
  isolation:isolate;
  bottom:var(--hero-pad);
  max-width:min(520px,42vw);
  position:absolute
}
.hero-claim {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.018em;
  text-transform:uppercase;
  color:oklch(1.000000 0.000000 89.8756);
  margin:0 0 16px;
  font-size:clamp(24px,2.7vw,40px);
  line-height:1.06
}
.hero-sub {
  color:oklch(1.000000 0.000000 89.8756 / 0.819608);
  max-width:310px;
  margin:0 0 24px;
  font-size:13.5px;
  display:none
}
.hero-note {
  color:oklch(1.000000 0.000000 89.8756 / 0.721569);
  display:none
}
.cta {
  background:var(--btn-bg);
  color:var(--btn-fg);
  letter-spacing:.01em;
  transition:transform .45s var(--ease), background .45s var(--ease);
  border-radius:100px;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:7px 7px 7px 30px;
  font-size:14.5px;
  display:inline-flex
}
.cta .knob {
  background:var(--btn-fg);
  width:42px;
  height:42px;
  transition:transform .45s var(--ease);
  border-radius:50%;
  flex:none;
  place-items:center;
  display:grid
}
.cta .knob svg {
  width:21px;
  height:21px;
  stroke:var(--btn-bg);
  stroke-width:1.9px
}
.cta:hover {
  background:var(--btn-bg-h)
}
.cta .knob svg {
  transition:rotate .45s var(--ease)
}
.cta:hover .knob svg {
  rotate:-45deg
}
.cta-lt {
  color:oklch(0.209552 0.009642 234.2664);
  background:oklch(0.981639 0.001707 247.8390)
}
.cta-lt .knob {
  background:oklch(0.209552 0.009642 234.2664)
}
.cta-lt .knob svg {
  stroke:oklch(0.981639 0.001707 247.8390)
}
.cta-lt:hover {
  background:oklch(1.000000 0.000000 89.8756)
}
.cta-gh {
  color:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 26%, transparent);
  background:0 0;
  padding:7px 7px 7px 30px
}
.cta-gh .knob {
  box-shadow:none;
  background:currentColor
}
.cta-gh .knob svg {
  stroke:var(--band-bg,var(--ground))
}
.cta-gh:hover {
  background:color-mix(in srgb, currentColor 9%, transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 46%, transparent)
}
.proof {
  z-index:5;
  right:var(--gut);
  bottom:var(--hero-pad);
  -webkit-backdrop-filter:blur(14px)saturate(1.3)contrast(1.02);
  backdrop-filter:blur(14px)saturate(1.3)contrast(1.02);
  background:linear-gradient(134deg,oklch(1.000000 0.000000 89.8756 / 0.2) 0%,oklch(1.000000 0.000000 89.8756 / 0.070588) 28%,oklch(1.000000 0.000000 89.8756 / 0.0) 52%,oklch(1.000000 0.000000 89.8756 / 0.05098) 100%),oklch(0.151252 0.009345 239.7766 / 0.278431);
  border:1px solid oklch(1.000000 0.000000 89.8756 / 0.301961);
  border-radius:16px;
  width:min(258px,60vw);
  padding:24px;
  position:absolute;
  box-shadow:0 22px 48px -20px oklch(0.159316 0.012888 237.2327 / 0.419608),inset 0 1px oklch(1.000000 0.000000 89.8756 / 0.458824),inset 1px 0 oklch(1.000000 0.000000 89.8756 / 0.239216),inset -1px 0 oklch(1.000000 0.000000 89.8756 / 0.090196),inset 0 -1px oklch(1.000000 0.000000 89.8756 / 0.121569),inset 0 0 28px oklch(1.000000 0.000000 89.8756 / 0.070588)
}
.proof .lbl,.proof-n,.proof-t {
  color:oklch(1.000000 0.000000 89.8756);
  text-shadow:0 1px 16px oklch(0.141233 0.010020 236.9501 / 0.701961)
}
.proof-n {
  font-family:var(--disp);
  font-variation-settings:"wdth" 112,"wght" 700;
  letter-spacing:-.02em;
  margin:0 0 6px;
  font-size:34px;
  line-height:1
}
.proof-t {
  color:var(--slate);
  margin:0 0 16px;
  font-size:12.5px;
  line-height:1.45
}
.proof .lbl,.proof .proof-n,.proof .proof-t {
  color:oklch(1.000000 0.000000 89.8756);
  text-shadow:0 1px 16px oklch(0.141233 0.010020 236.9501 / 0.701961)
}
.proof .faces i {
  border-color:oklch(1.000000 0.000000 89.8756 / 0.54902)
}
.faces {
  display:flex
}
.faces i {
  background:linear-gradient(140deg,oklch(0.844675 0.011355 243.6783),oklch(0.710458 0.014481 241.0420));
  border:2px solid oklch(1.000000 0.000000 89.8756);
  border-radius:50%;
  width:28px;
  height:28px;
  margin-right:-9px;
  display:block
}
.faces i:nth-child(2) {
  background:linear-gradient(140deg,oklch(0.869042 0.034601 80.2876),oklch(0.695351 0.051524 80.1055))
}
.faces i:nth-child(3) {
  background:linear-gradient(140deg,oklch(0.824433 0.039462 210.7405),oklch(0.626274 0.060709 213.0466))
}
.hero-note {
  z-index:4;
  left:var(--gut);
  max-width:220px;
  position:absolute;
  bottom:clamp(26px,4vh,48px)
}
.thesis {
  background:var(--ground)
}
.thesis-grid {
  text-align:center;
  justify-items:center;
  gap:clamp(22px,3.4vw,52px);
  display:grid
}
.thesis-body {
  font-family:var(--disp);
  font-variation-settings:"wdth" 104,"wght" 500;
  letter-spacing:-.022em;
  text-align:center;
  text-wrap:balance;
  max-width:min(1240px,94%);
  margin:0 auto;
  font-size:clamp(26px,4.15vw,64px);
  line-height:1.16
}
.thesis-body em {
  color:var(--slate-lo);
  font-style:normal
}
.inl {
  vertical-align:middle;
  width:clamp(58px,7vw,104px);
  height:clamp(30px,3.6vw,54px);
  transition:transform .6s var(--ease);
  background:linear-gradient(135deg,oklch(0.859845 0.010333 238.5331),oklch(0.749049 0.014294 241.0239)) 50%/cover;
  border-radius:100px;
  margin:0 .12em;
  display:inline-block;
  position:relative;
  overflow:hidden;
  translate:0 -.06em;
  box-shadow:inset 0 0 0 1px oklch(0.209552 0.009642 234.2664 / 0.078431)
}
.thesis-body:hover .inl {
  transform:translateY(-2px)
}
.inl[data-k=sqm] {
  background-image:url(/img/section/pill-sqm.jpg)
}
.inl[data-k=plan] {
  background-image:url(/img/section/pill-plan.jpg)
}
.inl[data-k=credit] {
  background-image:url(/img/section/pill-credit.jpg)
}
.inl[data-k=sqm] {
  background-image:-webkit-image-set(url(/img/section/pill-sqm.webp) 1x type("image/webp"),url(/img/section/pill-sqm.jpg) 1x type("image/jpeg"));
  background-image:image-set("/img/section/pill-sqm.webp" 1x type("image/webp"),"/img/section/pill-sqm.jpg" 1x type("image/jpeg"))
}
.inl[data-k=plan] {
  background-image:-webkit-image-set(url(/img/section/pill-plan.webp) 1x type("image/webp"),url(/img/section/pill-plan.jpg) 1x type("image/jpeg"));
  background-image:image-set("/img/section/pill-plan.webp" 1x type("image/webp"),"/img/section/pill-plan.jpg" 1x type("image/jpeg"))
}
.inl[data-k=credit] {
  background-image:-webkit-image-set(url(/img/section/pill-credit.webp) 1x type("image/webp"),url(/img/section/pill-credit.jpg) 1x type("image/jpeg"));
  background-image:image-set("/img/section/pill-credit.webp" 1x type("image/webp"),"/img/section/pill-credit.jpg" 1x type("image/jpeg"))
}
.thesis-foot {
  margin-inline:auto;
  border-top:1px solid var(--line);
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,5vw,96px);
  width:100%;
  max-width:1240px;
  margin-top:clamp(40px,4.6vw,72px);
  padding-top:30px;
  display:grid
}
.thesis-foot p {
  color:var(--slate);
  text-align:center;
  max-width:46ch;
  margin:0 auto;
  font-size:14.5px
}
.ph {
  background:linear-gradient(135deg,oklch(1.000000 0.000000 89.8756 / 0.321569),oklch(1.000000 0.000000 89.8756 / 0.0) 46%),linear-gradient(160deg,oklch(0.891803 0.007724 241.6744) 0%,oklch(0.797059 0.012300 239.9510) 52%,oklch(0.706442 0.015326 238.1102) 100%);
  border-radius:4px;
  position:relative;
  overflow:hidden
}
.ph:before {
  content:"";
  background:repeating-linear-gradient(135deg,oklch(1.000000 0.000000 89.8756 / 0.070588) 0 2px,oklch(0.000000 0.000000 0.0000 / 0.0) 2px 9px);
  position:absolute;
  inset:0
}
.ph-tag {
  z-index:2;
  font-family:var(--util);
  letter-spacing:0;
  color:oklch(1.000000 0.000000 89.8756 / 0.921569);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  background:oklch(0.209552 0.009642 234.2664 / 0.419608);
  border-radius:100px;
  padding:5px 10px;
  font-size:11px;
  position:absolute;
  top:12px;
  left:12px
}
.ph-mid {
  z-index:2;
  text-align:center;
  place-items:center;
  padding:20px;
  display:grid;
  position:absolute;
  inset:0
}
.ph-mid span {
  font-family:var(--util);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:oklch(1.000000 0.000000 89.8756 / 0.721569);
  font-size:10px;
  line-height:1.7
}
.ph-warm {
  background:linear-gradient(160deg,oklch(0.880734 0.032822 80.9823) 0%,oklch(0.751094 0.050145 78.2559) 55%,oklch(0.629980 0.051330 79.2675) 100%)
}
.ph-cool {
  background:linear-gradient(160deg,oklch(0.824433 0.039462 210.7405) 0%,oklch(0.681048 0.061179 212.6207) 55%,oklch(0.532019 0.061342 211.8487) 100%)
}
.shead {
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:clamp(28px,3.5vw,52px);
  display:flex
}
.shead>* {
  min-width:0
}
.shead h2 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 110,"wght" 700;
  letter-spacing:-.025em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
  -webkit-hyphens:auto;
  hyphens:auto;
  margin:10px 0 0;
  font-size:clamp(36px,5.4vw,82px);
  line-height:.94
}
.shead .r {
  text-align:right;
  max-width:38ch
}
.shead .r p {
  color:var(--slate);
  margin:0;
  font-size:14px
}
.tabs {
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:28px;
  display:flex
}
.tab {
  border:1px solid var(--line);
  color:var(--slate);
  transition:.35s var(--ease);
  border-radius:100px;
  padding:8px 17px;
  font-size:12.5px
}
.tab:hover {
  border-color:var(--graphite);
  color:var(--graphite)
}
.tab[aria-pressed=true] {
  background:var(--btn-bg);
  border-color:var(--btn-bg);
  color:var(--btn-fg)
}
.listings {
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.6vw,26px);
  display:grid
}
.card {
  group:card;
  display:block
}
.card-img {
  aspect-ratio:4/3.1;
  border-radius:4px;
  margin-bottom:16px;
  position:relative;
  overflow:hidden
}
.card-img .ph {
  position:absolute;
  inset:0
}
.card-shot {
  z-index:3;
  color:var(--on-light);
  font-family:var(--util);
  letter-spacing:.12em;
  text-transform:uppercase;
  background:oklch(1.000000 0.000000 89.8756 / 0.858824);
  border-radius:100px;
  align-items:center;
  gap:6px;
  padding:5px 11px;
  font-size:9px;
  display:flex;
  position:absolute;
  top:12px;
  right:12px
}
.card-shot i {
  background:var(--accent);
  border-radius:50%;
  width:5px;
  height:5px;
  display:block
}
.card-arw {
  z-index:3;
  opacity:0;
  width:38px;
  height:38px;
  transition:opacity .8s var(--ease), translate .8s var(--ease);
  background:oklch(1.000000 0.000000 89.8756 / 0.901961);
  border-radius:50%;
  place-items:center;
  display:grid;
  position:absolute;
  bottom:12px;
  right:12px;
  translate:0 8px
}
.card-arw svg {
  width:13px;
  height:13px;
  stroke:var(--on-light)
}
.card:hover .card-arw {
  opacity:1;
  translate:0
}
.card-arch {
  margin:0 0 8px
}
.card-name {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.015em;
  text-transform:uppercase;
  margin:0 0 6px;
  font-size:clamp(17px,1.4vw,22px);
  line-height:1.1
}
.card-loc {
  color:var(--slate);
  margin:0 0 14px;
  font-size:13px
}
.card-meta {
  border-top:1px solid var(--line);
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-top:12px;
  display:flex
}
.card-spec {
  font-family:var(--util);
  letter-spacing:.06em;
  color:var(--slate);
  margin:0;
  font-size:11px
}
.card-price {
  font-family:var(--util);
  letter-spacing:.02em;
  margin:0;
  font-size:12.5px
}
.dark {
  background:var(--band-bg);
  color:var(--band-fg);
  --graphite:var(--band-fg);
  --ground-hi:var(--band-fg);
  --slate:oklch(0.736242 0.014355 241.0297);
  --slate-lo:oklch(0.671337 0.014683 241.0628);
  --accent-ink:var(--accent-hi);
  --line:var(--line-dk);
  --btn-bg:oklch(0.981639 0.001707 247.8390);
  --btn-bg-h:oklch(1.000000 0.000000 89.8756);
  --btn-fg:oklch(0.209552 0.009642 234.2664)
}
.dark .lbl {
  color:var(--band-mute)
}
.record {
  overflow:hidden
}
.record-lede {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 500;
  letter-spacing:-.02em;
  max-width:28ch;
  margin:12px 0 0;
  font-size:clamp(20px,2.5vw,36px);
  line-height:1.14
}
.record-grid {
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:start;
  gap:clamp(28px,5vw,88px);
  display:grid
}
.credits {
  border-top:1px solid var(--line-dk);
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:2px clamp(18px,2.4vw,36px);
  margin-top:clamp(28px,3vw,44px);
  margin-bottom:0;
  padding:26px 0 0;
  display:grid
}
.credits li {
  color:oklch(0.710135 0.013498 236.7125);
  transition:color .4s var(--ease);
  font-size:12.5px;
  line-height:1.9;
  list-style:none
}
.credits li:hover {
  color:var(--ground-hi)
}
.ledger {
  margin:0;
  display:grid
}
.ledger>div {
  border-top:1px solid var(--line-dk);
  align-items:baseline;
  gap:16px;
  padding-block:14px;
  display:flex
}
.ledger>div:last-child {
  border-bottom:1px solid var(--line-dk)
}
.ledger dt {
  color:oklch(0.710135 0.013498 236.7125);
  flex:auto;
  align-items:baseline;
  gap:16px;
  min-width:0;
  font-size:13.5px;
  display:flex
}
.ledger dt:after {
  content:"";
  background:repeating-linear-gradient(90deg,oklch(0.700278 0.016370 241.8737 / 0.54902) 0 2px,oklch(0.000000 0.000000 0.0000 / 0.0) 2px 7px);
  flex:auto;
  min-width:24px;
  height:1px;
  translate:0 -4px
}
.ledger dd {
  font-family:var(--util);
  letter-spacing:.02em;
  color:var(--ground-hi);
  flex:none;
  margin:0;
  font-size:17px;
  font-weight:500
}
.ledger dd em {
  color:var(--accent-ink);
  margin-left:1px;
  font-size:.7em;
  font-style:normal
}
.feature {
  color:oklch(0.981639 0.001707 247.8390);
  background:oklch(0.247675 0.011593 237.1593);
  position:relative;
  overflow:hidden
}
.feature-img {
  position:absolute;
  inset:0
}
.feature-img .ph {
  border-radius:0;
  position:absolute;
  inset:0
}
.feature-veil {
  background:linear-gradient(90deg,oklch(0.180786 0.009531 255.6419 / 0.921569) 0%,oklch(0.180786 0.009531 255.6419 / 0.6) 42%,oklch(0.180786 0.009531 255.6419 / 0.14902) 100%);
  position:absolute;
  inset:0
}
.feature-in {
  z-index:2;
  padding-block:clamp(84px,11vw,190px);
  position:relative
}
.feature-w {
  max-width:min(560px,50vw)
}
.feature h2 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 112,"wght" 700;
  letter-spacing:-.03em;
  text-transform:uppercase;
  margin:14px 0 20px;
  font-size:clamp(32px,5vw,76px);
  line-height:.92
}
.feature p:not(.lbl) {
  color:oklch(0.714343 0.016635 248.0610);
  max-width:44ch;
  margin:0 0 30px;
  font-size:15px;
  line-height:1.6
}
.feature-specs {
  flex-wrap:wrap;
  gap:28px;
  margin:0 0 34px;
  padding:0;
  list-style:none;
  display:flex
}
.feature-specs div {
  border-top:1px solid var(--line-dk);
  min-width:88px;
  padding-top:10px
}
.feature-specs strong {
  font-family:var(--util);
  margin-top:4px;
  font-size:15px;
  font-weight:500;
  display:block
}
.svc {
  border-top:1px solid var(--line)
}
.svc-row {
  border-bottom:1px solid var(--line);
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 56px;
  align-items:center;
  gap:clamp(16px,4vw,64px);
  padding-block:clamp(22px,2.6vw,38px);
  display:grid;
  position:relative
}
.svc-row>* {
  z-index:1;
  position:relative
}
.svc-row:after {
  content:"";
  background:var(--graphite);
  transform-origin:0;
  width:100%;
  height:1px;
  transition:transform .7s var(--ease);
  position:absolute;
  bottom:-1px;
  left:0;
  transform:scaleX(0)
}
.svc-row h3,.svc-row p {
  transition:transform .6s var(--ease)
}
@media (hover:hover) {
  .svc-row:hover:after {
    transform:scaleX(1)
  }
  .svc-row:hover h3 {
    transform:translate(18px)
  }
  .svc-row:hover p {
    transform:translate(9px)
  }
}
.svc-row h3 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 108,"wght" 600;
  letter-spacing:-.02em;
  text-transform:uppercase;
  margin:0;
  font-size:clamp(20px,2.6vw,38px);
  line-height:1.02
}
.svc-row p {
  color:var(--slate);
  max-width:52ch;
  margin:0;
  font-size:14px
}
.svc-arw {
  border:1px solid var(--line);
  width:44px;
  height:44px;
  transition:background .6s var(--ease), border-color .6s var(--ease), transform .6s var(--ease);
  border-radius:50%;
  justify-self:end;
  place-items:center;
  display:grid
}
.svc-arw svg {
  width:14px;
  height:14px;
  stroke:var(--graphite);
  transition:stroke .6s var(--ease), transform .6s var(--ease)
}
@media (hover:hover) {
  .svc-row:hover .svc-arw {
    background:var(--btn-bg);
    border-color:var(--btn-bg)
  }
  .svc-row:hover .svc-arw svg {
    stroke:var(--btn-fg);
    rotate:-45deg
  }
}
.svc-prev {
  --prev-w:clamp(230px,19vw,330px);
  --prev-h:calc(var(--prev-w) * .75);
  z-index:50;
  width:var(--prev-w);
  height:var(--prev-h);
  margin:calc(var(--prev-h) * -.5) 0 0 calc(var(--prev-w) * -.5);
  pointer-events:none;
  will-change:transform;
  position:fixed;
  top:0;
  left:0
}
.svc-prev-in {
  background:var(--card);
  opacity:0;
  transform-origin:50%;
  transition:opacity .22s var(--ease) .14s, scale .42s var(--ease);
  border-radius:4px;
  position:absolute;
  inset:0;
  overflow:hidden;
  scale:.55;
  box-shadow:0 18px 50px oklch(0.209552 0.009642 234.2664 / 0.219608)
}
.svc-prev-in.is-on {
  opacity:1;
  transition:opacity .12s var(--ease), scale .58s var(--ease);
  scale:1
}
.svc-prev-l {
  object-fit:cover;
  opacity:0;
  width:100%;
  height:100%;
  transition:opacity .45s var(--ease);
  position:absolute;
  inset:0
}
.svc-prev-l.is-front {
  opacity:1
}
@media not all and (hover:hover) and (pointer:fine) {
  .svc-prev {
    display:none
  }
}
@media (prefers-reduced-motion:reduce) {
  .svc-prev {
    display:none
  }
}
.proc {
  grid-template-columns:repeat(5,1fr);
  gap:clamp(12px,1.8vw,28px);
  display:grid
}
.proc-step {
  border-top:1px solid var(--line-dk);
  padding-top:18px
}
.proc-n {
  font-family:var(--util);
  letter-spacing:0;
  color:var(--accent-ink);
  margin-bottom:14px;
  font-size:12px;
  font-weight:600;
  display:block
}
.proc-step h3 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.01em;
  text-transform:uppercase;
  margin:0 0 10px;
  font-size:clamp(16px,1.5vw,22px);
  line-height:1.06
}
.proc-step p {
  color:oklch(0.710135 0.013498 236.7125);
  margin:0;
  font-size:13px;
  line-height:1.55
}
.hoods {
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.6vw,26px);
  display:grid
}
.hood-wide .fig img,.hood-wide img {
  object-position:50% 82%
}
.hood {
  aspect-ratio:3/3.7;
  border-radius:4px;
  display:block;
  position:relative;
  overflow:hidden
}
.hood .ph,.hood .fig img {
  border-radius:0;
  transition:scale 2.4s cubic-bezier(.16,.72,.24,1);
  position:absolute;
  inset:0
}
.hood:hover .ph,.hood:hover .fig img {
  scale:1.03
}
.hood-arw {
  z-index:5;
  opacity:0;
  width:38px;
  height:38px;
  transition:opacity .75s var(--ease), translate .75s var(--ease);
  background:oklch(1.000000 0.000000 89.8756 / 0.921569);
  border-radius:50%;
  place-items:center;
  display:grid;
  position:absolute;
  top:18px;
  right:18px;
  translate:0 -8px
}
.hood-arw svg {
  width:13px;
  height:13px;
  stroke:var(--on-light);
  fill:none;
  transition:rotate .6s var(--ease)
}
.hood:hover .hood-arw {
  opacity:1;
  translate:0
}
.hood:hover .hood-arw svg {
  rotate:-45deg
}
.hood-in {
  z-index:6
}
.hood-in h3 {
  transition:transform .9s var(--ease)
}
.hood:hover .hood-in h3 {
  transform:translate(4px)
}
.hood-veil {
  z-index:2;
  background:linear-gradient(oklch(0.188820 0.010287 248.3711 / 0.058824) 30%,oklch(0.188820 0.010287 248.3711 / 0.819608) 100%);
  position:absolute;
  inset:0
}
.hood-in {
  z-index:3;
  color:oklch(0.981639 0.001707 247.8390);
  padding:22px;
  position:absolute;
  inset:auto 0 0
}
.hood-in h3 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 110,"wght" 600;
  letter-spacing:-.02em;
  text-transform:uppercase;
  margin:0 0 10px;
  font-size:clamp(19px,1.8vw,28px);
  line-height:1
}
.hood-co {
  font-family:var(--util);
  letter-spacing:0;
  color:oklch(1.000000 0.000000 89.8756 / 0.619608);
  margin:0 0 12px;
  font-size:12px
}
.hood-meta {
  font-family:var(--util);
  letter-spacing:0;
  color:oklch(1.000000 0.000000 89.8756 / 0.85098);
  border-top:1px solid oklch(1.000000 0.000000 89.8756 / 0.219608);
  justify-content:space-between;
  gap:12px;
  padding-top:11px;
  font-size:12px;
  display:flex
}
.team {
  grid-template-columns:repeat(4,1fr);
  gap:clamp(14px,1.6vw,26px);
  display:grid
}
.agent-img {
  aspect-ratio:3/3.8;
  border-radius:4px;
  margin-bottom:14px;
  position:relative;
  overflow:hidden
}
.agent-img .ph,.agent-img .fig img {
  border-radius:0;
  transition:scale 2.4s cubic-bezier(.16,.72,.24,1);
  position:absolute;
  inset:0
}
.agent:hover .agent-img .ph,.agent:hover .agent-img .fig img {
  scale:1.025
}
.agent h3 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.01em;
  text-transform:uppercase;
  margin:0 0 5px;
  font-size:17px;
  line-height:1.1
}
.agent p {
  color:var(--slate);
  margin:0;
  font-size:12.5px
}
.posts {
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.6vw,26px);
  display:grid
}
.post {
  display:block;
  position:relative
}
.post-img {
  aspect-ratio:16/10;
  border-radius:4px;
  margin-bottom:15px;
  position:relative;
  overflow:hidden
}
.post-img .ph {
  border-radius:0;
  position:absolute;
  inset:0
}
.post-img .fig img {
  transition:scale 2.4s cubic-bezier(.16,.72,.24,1)
}
.post:hover .post-img .fig img {
  scale:1.03
}
.post-img:after {
  content:"";
  z-index:2;
  opacity:0;
  transition:opacity .8s var(--ease);
  background:linear-gradient(oklch(0.188820 0.010287 248.3711 / 0.0) 55%,oklch(0.188820 0.010287 248.3711 / 0.278431) 100%);
  position:absolute;
  inset:0
}
.post:hover .post-img:after {
  opacity:1
}
.post-arw {
  z-index:3;
  opacity:0;
  width:36px;
  height:36px;
  transition:opacity .75s var(--ease), translate .75s var(--ease);
  background:oklch(1.000000 0.000000 89.8756 / 0.921569);
  border-radius:50%;
  place-items:center;
  display:grid;
  position:absolute;
  top:14px;
  right:14px;
  translate:0 -8px
}
.post-arw svg {
  width:13px;
  height:13px;
  stroke:var(--on-light);
  fill:none;
  transition:rotate .6s var(--ease)
}
.post:hover .post-arw {
  opacity:1;
  translate:0
}
.post:hover .post-arw svg {
  rotate:-45deg
}
.post h3 {
  transition:transform .9s var(--ease)
}
.post:hover h3 {
  transform:translate(4px)
}
.post-head {
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
  display:flex
}
.post h3 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 104,"wght" 600;
  letter-spacing:-.012em;
  text-transform:uppercase;
  margin:0;
  font-size:clamp(16px,1.35vw,21px);
  line-height:1.16
}
.quote-in {
  text-align:center;
  max-width:1100px;
  margin:0 auto
}
.quote-in blockquote {
  font-family:var(--disp);
  font-variation-settings:"wdth" 102,"wght" 500;
  letter-spacing:-.02em;
  text-wrap:balance;
  margin:20px 0 28px;
  font-size:clamp(22px,3.2vw,46px);
  line-height:1.2
}
.close-in {
  text-align:center;
  z-index:2;
  position:relative
}
.close-in h2 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 114,"wght" 700;
  letter-spacing:-.03em;
  text-transform:uppercase;
  margin:16px 0 26px;
  font-size:clamp(34px,6.4vw,104px);
  line-height:.9
}
.close-btns {
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  display:flex
}
.foot {
  color:oklch(0.971909 0.002524 228.7839);
  --graphite:oklch(0.971909 0.002524 228.7839);
  --ground-hi:oklch(0.971909 0.002524 228.7839);
  --slate:oklch(0.736242 0.014355 241.0297);
  --slate-lo:oklch(0.703975 0.014513 241.0453);
  --accent-ink:oklch(0.802902 0.105196 206.1412);
  --line:oklch(0.312023 0.015412 240.4573);
  --btn-bg:oklch(0.981639 0.001707 247.8390);
  --btn-bg-h:oklch(1.000000 0.000000 89.8756);
  --btn-fg:oklch(0.209552 0.009642 234.2664);
  background:oklch(0.200741 0.009734 234.3114);
  padding-top:clamp(40px,4.4vw,68px);
  overflow:hidden
}
.foot-grid {
  grid-template-columns:1.5fr repeat(3,.8fr) 1.2fr;
  gap:clamp(20px,3vw,48px);
  padding-bottom:clamp(48px,5vw,80px);
  display:grid
}
.foot h4 {
  font-family:var(--util);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:oklch(0.615381 0.013105 240.0345);
  margin:0 0 16px;
  font-size:10px;
  font-weight:500
}
.foot ul {
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
  display:grid
}
.foot ul a {
  color:oklch(0.832709 0.009625 242.8626);
  transition:color .3s var(--ease);
  font-size:13.5px
}
.foot ul a:hover {
  color:oklch(1.000000 0.000000 89.8756)
}
.foot-addr {
  color:oklch(0.832709 0.009625 242.8626);
  margin:0;
  font-size:13.5px;
  line-height:1.7
}
.foot-contact {
  color:inherit;
  transition:color .35s var(--ease);
  text-decoration:none
}
.foot-contact:hover {
  color:oklch(0.971909 0.002524 228.7839);
  text-underline-offset:3px;
  text-decoration:underline
}
.sub {
  border-bottom:1px solid var(--line-dk);
  gap:10px;
  padding-bottom:9px;
  display:flex
}
.sub input {
  color:oklch(0.971909 0.002524 228.7839);
  min-width:0;
  font:inherit;
  background:0 0;
  border:0;
  flex:1;
  padding:4px 0;
  font-size:13.5px
}
.sub input::placeholder {
  color:oklch(0.615381 0.013105 240.0345)
}
.sub button {
  color:oklch(0.802902 0.105196 206.1412);
  font-size:13.5px
}
.foot-bar {
  border-top:1px solid var(--line-dk);
  flex-wrap:wrap;
  justify-content:space-between;
  gap:14px;
  padding-block:20px;
  display:flex
}
.foot-mark {
  margin-top:clamp(20px,3vw,44px);
  overflow:hidden
}
.ghost {
  font-family:var(--disp);
  font-variation-settings:"wdth" 118,"wght" 700;
  letter-spacing:-.045em;
  text-transform:uppercase;
  color:oklch(0.287993 0.015698 240.5396);
  text-align:center;
  white-space:nowrap;
  -webkit-user-select:none;
  user-select:none;
  margin:0 0 -.14em;
  font-size:clamp(64px,20vw,300px);
  line-height:.78;
  -webkit-mask-image:linear-gradient(oklch(0.000000 0.000000 0.0000) 0%,oklch(0.000000 0.000000 0.0000 / 0.921569) 20%,oklch(0.000000 0.000000 0.0000 / 0.341176) 56%,oklch(0.000000 0.000000 0.0000 / 0.0) 82%);
  mask-image:linear-gradient(oklch(0.000000 0.000000 0.0000) 0%,oklch(0.000000 0.000000 0.0000 / 0.921569) 20%,oklch(0.000000 0.000000 0.0000 / 0.341176) 56%,oklch(0.000000 0.000000 0.0000 / 0.0) 82%)
}
.rv {
  opacity:0;
  transition:opacity .9s var(--ease), transform .9s var(--ease);
  transform:translateY(22px)
}
.rv.in {
  opacity:1;
  transform:none
}
.rv-d1 {
  transition-delay:80ms
}
.rv-d2 {
  transition-delay:.16s
}
.rv-d3 {
  transition-delay:.24s
}
.pre .word .clip>span {
  transform:translateY(102%)
}
.pre .hero-house-wrap {
  opacity:0;
  transform:translateY(44px)
}
.pre .hero-top,.pre .hero-mid,.pre .proof,.pre .hero-note,.pre .nav {
  opacity:0
}
.word .clip>span {
  transition:transform 1.15s var(--ease)
}
.hero-house-wrap {
  transition:opacity 1.2s var(--ease), transform 1.4s var(--ease)
}
.hero-top,.hero-mid,.proof,.hero-note,.nav {
  transition:opacity .9s var(--ease) .5s
}
.pre .word-b .clip>span {
  transition-delay:.12s
}
@media (max-width:1180px) {
  .listings,.team {
    grid-template-columns:repeat(2,1fr)
  }
  .proc {
    grid-template-columns:repeat(3,1fr)
  }
  .foot-grid {
    grid-template-columns:1fr 1fr 1fr
  }
}
@media (max-width:900px) {
  .nav-links {
    display:none
  }
  .nav-burger {
    border:1px solid var(--line);
    border-radius:50%;
    place-items:center;
    width:40px;
    height:40px;
    margin-left:auto;
    display:grid
  }
  .nav-burger svg {
    width:15px;
    height:15px;
    stroke:var(--graphite)
  }
  .nav-locale {
    display:none
  }
  .pill-phone {
    background:0 0;
    border:0;
    padding:0
  }
  .pill-phone .mono {
    display:none
  }
  .pill-phone .dot {
    border:1px solid var(--line);
    width:40px;
    height:40px
  }
  .nav-right {
    gap:10px;
    margin-left:auto
  }
  .thesis-grid {
    grid-template-columns:1fr
  }
  .hoods {
    grid-template-columns:1fr 1fr
  }
  .posts {
    grid-template-columns:1fr
  }
  .svc-row {
    grid-template-columns:1fr 44px;
    align-items:start;
    gap:10px 14px
  }
  .svc-row h3 {
    grid-area:1/1
  }
  .svc-arw {
    grid-area:1/2;
    align-self:center
  }
  .svc-row p {
    grid-area:2/1/auto/-1
  }
  .record-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .credits {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .feature-w {
    max-width:none
  }
  .feature-veil {
    background:linear-gradient(oklch(0.180786 0.009531 255.6419 / 0.54902) 0%,oklch(0.180786 0.009531 255.6419 / 0.921569) 70%)
  }
  .shead {
    flex-direction:column;
    align-items:flex-start
  }
  .shead .r {
    text-align:left
  }
}
@media (max-width:620px) {
  .listings {
    grid-template-columns:1fr
  }
  .team,.proc {
    grid-template-columns:1fr 1fr
  }
  .hoods {
    grid-template-columns:1fr
  }
  .foot-grid {
    grid-template-columns:1fr 1fr
  }
  .foot-sub {
    order:-1;
    grid-column:1/-1;
    margin-bottom:8px
  }
  .foot-sub .foot-addr {
    max-width:42ch
  }
  .thesis-body {
    font-size:26px
  }
  .thesis-foot {
    grid-template-columns:1fr
  }
  .ledger dt {
    font-size:12.5px
  }
  .credits {
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:12px
  }
  .credits li {
    font-size:11.5px;
    line-height:1.8
  }
}
@media (prefers-reduced-motion:reduce) {
  *,:before,:after {
    transition-duration:.01ms!important;
    animation:none!important
  }
  .pre .word .clip>span,.pre .hero-house-wrap {
    transform:none
  }
  .pre .hero-house-wrap,.pre .hero-top,.pre .hero-mid,.pre .proof,.pre .hero-note,.pre .nav {
    opacity:1
  }
  .rv {
    opacity:1;
    transform:none
  }
}
.skip {
  z-index:200;
  background:var(--btn-bg);
  color:var(--btn-fg);
  padding:12px 18px;
  font-size:13px;
  position:absolute;
  top:0;
  left:-9999px
}
.skip:focus {
  top:8px;
  left:8px
}
.fig {
  position:absolute;
  inset:0;
  overflow:hidden
}
.fig img {
  object-fit:cover;
  width:100%;
  height:100%;
  display:block
}
.fig .ph {
  border-radius:inherit;
  position:absolute;
  inset:0
}
.ph-mid span {
  white-space:pre-line
}
.fig-flow {
  width:100%;
  position:relative
}
.nav-sheet {
  background:color-mix(in srgb, var(--ground-hi) 94%, transparent);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line)
}
.nav-sheet a {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.015em;
  text-transform:uppercase
}
.phead {
  padding-block:clamp(120px,15vh,190px) clamp(28px,4vw,56px)
}
.phead.band {
  align-content:end;
  min-height:clamp(440px,64svh,720px);
  padding-block:clamp(150px,20vh,250px) clamp(44px,7vh,86px);
  display:grid
}
.phead.band>.wrap {
  width:100%
}
.phead h1 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 114,"wght" 700;
  letter-spacing:-.032em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
  -webkit-hyphens:auto;
  hyphens:auto;
  margin:14px 0 0;
  font-size:clamp(44px,7.6vw,120px);
  line-height:.9
}
.phead-row {
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-end;
  gap:32px;
  display:flex
}
.phead-row>* {
  min-width:0
}
@media (max-width:640px) {
  .phead h1 {
    font-size:clamp(34px,10.4vw,64px)
  }
  .shead h2 {
    font-size:clamp(30px,8.8vw,56px)
  }
  .close-in h2.svc-close {
    font-size:clamp(28px,9.2vw,104px)
  }
  .shead h2.t-fit {
    font-size:clamp(25px,7.9vw,56px)
  }
  .phead h1.t-fit {
    font-size:clamp(24px,7.6vw,64px)
  }
  .phead h1.t-fit-sm {
    font-size:clamp(32px,9.9vw,64px)
  }
}
.phead-row .lede {
  text-align:left;
  max-width:46ch
}
.phead-row.is-paired .lede {
  text-align:right
}
.pdp-hero {
  aspect-ratio:4/3;
  border-radius:4px;
  margin-bottom:clamp(28px,3.4vw,44px);
  position:relative;
  overflow:hidden
}
.pdp-grid {
  grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  align-items:start;
  gap:clamp(28px,4vw,64px);
  display:grid
}
.pdp-body p {
  color:var(--slate);
  max-width:62ch;
  margin:0 0 18px;
  font-size:16px;
  line-height:1.7
}
.pdp-aside {
  border:1px solid var(--line);
  background:var(--card);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border-radius:4px;
  padding:26px;
  position:sticky;
  top:96px
}
.pdp-price {
  font-family:var(--disp);
  font-variation-settings:"wdth" 110,"wght" 700;
  letter-spacing:-.02em;
  margin:6px 0 4px;
  font-size:clamp(26px,2.6vw,38px);
  line-height:1
}
.spec-list {
  margin:22px 0 0;
  display:grid
}
.spec-list>div {
  border-top:1px solid var(--line);
  justify-content:space-between;
  gap:14px;
  padding-block:11px;
  display:flex
}
.spec-list dt {
  color:var(--slate);
  margin:0;
  font-size:13px
}
.spec-list dd {
  font-family:var(--util);
  margin:0;
  font-size:12.5px
}
.gal {
  grid-template-columns:repeat(2,1fr);
  gap:clamp(10px,1vw,16px);
  display:grid
}
.gal figure {
  margin:0
}
.gal-item {
  aspect-ratio:4/3;
  cursor:zoom-in;
  background:var(--line);
  border-radius:4px;
  width:100%;
  position:relative;
  overflow:hidden
}
.gal .rv {
  display:block
}
.gal-item .fig img {
  transition:scale 2.4s cubic-bezier(.16,.72,.24,1)
}
.gal-item:hover .fig img {
  scale:1.03
}
.gal-item:after {
  content:"";
  opacity:0;
  transition:opacity .8s var(--ease);
  background:linear-gradient(oklch(0.188820 0.010287 248.3711 / 0.0) 55%,oklch(0.188820 0.010287 248.3711 / 0.341176) 100%);
  position:absolute;
  inset:0
}
.gal-item:hover:after {
  opacity:1
}
.gal-cap {
  z-index:3;
  font-family:var(--util);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:oklch(1.000000 0.000000 89.8756 / 0.941176);
  text-align:left;
  opacity:0;
  transition:opacity .7s var(--ease), translate .7s var(--ease);
  font-size:11px;
  position:absolute;
  bottom:12px;
  left:14px;
  right:14px;
  translate:0 6px
}
.gal-item:hover .gal-cap {
  opacity:1;
  translate:0
}
.feat-cols {
  grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,3vw,48px);
  display:grid
}
.feat-cols ul {
  gap:8px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
  display:grid
}
.feat-cols li {
  color:var(--band-mute);
  padding-left:16px;
  font-size:13.5px;
  position:relative
}
.feat-cols li:before {
  content:"";
  background:var(--accent);
  width:6px;
  height:1px;
  position:absolute;
  top:9px;
  left:0
}
.prose p {
  color:var(--slate);
  max-width:66ch;
  margin:0 0 20px;
  font-size:16px;
  line-height:1.75
}
.prose h2 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 108,"wght" 600;
  letter-spacing:-.02em;
  text-transform:uppercase;
  margin:44px 0 16px;
  font-size:clamp(22px,2.6vw,34px);
  line-height:1.05
}
.prose>:first-child h2 {
  margin-top:0
}
.prose ul {
  max-width:66ch;
  margin:0 0 20px;
  padding:0;
  list-style:none
}
.prose li {
  color:var(--slate);
  margin-bottom:10px;
  padding-left:20px;
  font-size:16px;
  line-height:1.75;
  position:relative
}
.prose li:before {
  content:"";
  background:var(--slate-lo);
  width:9px;
  height:1px;
  position:absolute;
  top:.72em;
  left:0
}
.prose a {
  color:var(--accent-ink);
  text-underline-offset:3px;
  text-decoration:underline
}
.prose a:hover {
  color:var(--graphite)
}
.prose-meta {
  border-top:1px solid var(--line);
  font-family:var(--util);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--slate-lo);
  margin-top:52px;
  padding-top:22px;
  font-size:11px
}
.acc {
  border-top:1px solid var(--line)
}
.acc details {
  border-bottom:1px solid var(--line)
}
.acc summary {
  cursor:pointer;
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.015em;
  text-transform:uppercase;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-block:22px;
  font-size:clamp(16px,1.7vw,23px);
  line-height:1.15;
  list-style:none;
  display:flex
}
.acc summary::-webkit-details-marker {
  display:none
}
.acc summary span {
  border:1px solid var(--line);
  width:30px;
  height:30px;
  font-family:var(--util);
  transition:background .45s var(--ease), color .45s var(--ease), transform .45s var(--ease);
  border-radius:50%;
  flex:none;
  place-items:center;
  font-size:15px;
  line-height:1;
  display:grid
}
.acc details[open] summary span {
  background:var(--btn-bg);
  color:var(--btn-fg);
  transform:rotate(135deg)
}
.acc .acc-body {
  color:var(--slate);
  max-width:70ch;
  padding:0 0 24px;
  font-size:14.5px;
  line-height:1.7
}
.filters {
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:clamp(20px,2.4vw,34px);
  display:flex
}
.count {
  font-family:var(--util);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--slate-lo);
  margin-left:auto;
  font-size:11px
}
.form-grid {
  grid-template-columns:1fr 1fr;
  gap:18px;
  display:grid
}
.field {
  flex-direction:column;
  gap:7px;
  display:flex
}
.field.full {
  grid-column:1/-1
}
.field label {
  font-family:var(--util);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--slate-lo);
  font-size:10px
}
.field input,.field textarea,.field select {
  font:inherit;
  color:var(--graphite);
  background:var(--card-hi);
  border:1px solid var(--line);
  transition:border-color .35s var(--ease), background .35s var(--ease);
  border-radius:3px;
  padding:12px 14px;
  font-size:14.5px
}
.field input:focus,.field textarea:focus,.field select:focus {
  border-color:var(--graphite);
  background-color:var(--card-hi);
  outline:none
}
.field textarea {
  resize:vertical;
  min-height:140px
}
.field select {
  appearance:none;
  cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1.5 6 6.5l5-5' stroke='%235E676D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-position:right 15px center;
  background-repeat:no-repeat;
  background-size:11px 8px;
  padding-right:42px
}
:root[data-theme=dark] .field select {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1.5 6 6.5l5-5' stroke='%239AA4AB' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>")
}
@media (max-width:1024px) {
  .pdp-grid {
    grid-template-columns:1fr
  }
  .pdp-aside {
    position:static
  }
  .feat-cols {
    grid-template-columns:1fr
  }
}
@media (max-width:620px) {
  .gal {
    grid-template-columns:1fr
  }
  .gal-item:first-child {
    aspect-ratio:4/3
  }
  .form-grid {
    grid-template-columns:1fr
  }
}
.lb {
  z-index:300;
  -webkit-backdrop-filter:blur(22px)saturate(.9);
  backdrop-filter:blur(22px)saturate(.9);
  animation:lb-in .32s var(--ease) both;
  background:oklch(0.157139 0.008078 248.3624 / 0.929412);
  grid-template-rows:auto 1fr auto;
  display:grid;
  position:fixed;
  inset:0
}
@keyframes lb-in {
  0% {
    opacity:0
  }
  to {
    opacity:1
  }
}
.lb-bar {
  color:oklch(1.000000 0.000000 89.8756 / 0.901961);
  grid-row:1;
  justify-content:space-between;
  align-items:center;
  padding:20px clamp(16px,3vw,34px);
  display:flex
}
.lb-count {
  font-family:var(--util);
  letter-spacing:.14em;
  color:oklch(1.000000 0.000000 89.8756 / 0.721569);
  align-items:center;
  gap:10px;
  font-size:12px;
  display:inline-flex
}
.lb-count i {
  background:oklch(1.000000 0.000000 89.8756 / 0.341176);
  width:22px;
  height:1px;
  display:block
}
.lb-x {
  cursor:pointer;
  width:42px;
  height:42px;
  transition:.35s var(--ease);
  background:0 0;
  border:1px solid oklch(1.000000 0.000000 89.8756 / 0.239216);
  border-radius:50%;
  place-items:center;
  display:grid
}
.lb-x svg {
  stroke:oklch(1.000000 0.000000 89.8756 / 0.921569);
  fill:none;
  width:17px;
  height:17px
}
.lb-x:hover {
  background:oklch(1.000000 0.000000 89.8756 / 0.121569);
  border-color:oklch(1.000000 0.000000 89.8756 / 0.501961);
  rotate:90deg
}
.lb-stage {
  flex-direction:column;
  grid-area:2/1;
  justify-content:center;
  align-items:center;
  gap:16px;
  min-height:0;
  margin:0;
  padding:0 clamp(52px,8vw,120px);
  display:flex
}
.lb-stage img {
  object-fit:contain;
  max-width:100%;
  min-height:0;
  max-height:100%;
  animation:lb-fade .5s var(--ease) both;
  border-radius:3px;
  display:block;
  box-shadow:0 40px 90px oklch(0.000000 0.000000 0.0000 / 0.54902)
}
@keyframes lb-fade {
  0% {
    opacity:0;
    transform:scale(.985)
  }
  to {
    opacity:1;
    transform:none
  }
}
.lb-stage figcaption {
  text-align:center;
  flex:none;
  gap:5px;
  display:grid
}
.lb-title {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:oklch(1.000000 0.000000 89.8756);
  font-size:15px
}
.lb-sub {
  font-family:var(--util);
  letter-spacing:.14em;
  color:oklch(1.000000 0.000000 89.8756 / 0.501961);
  font-size:11px
}
.lb-nav {
  z-index:2;
  cursor:pointer;
  width:clamp(40px,4vw,52px);
  height:clamp(40px,4vw,52px);
  transition:.35s var(--ease);
  background:oklch(1.000000 0.000000 89.8756 / 0.058824);
  border:1px solid oklch(1.000000 0.000000 89.8756 / 0.2);
  border-radius:50%;
  place-items:center;
  display:grid;
  position:absolute;
  top:50%;
  translate:0 -50%
}
.lb-nav svg {
  stroke:oklch(1.000000 0.000000 89.8756 / 0.921569);
  fill:none;
  width:19px;
  height:19px
}
.lb-nav:hover {
  background:oklch(1.000000 0.000000 89.8756 / 0.160784);
  border-color:oklch(1.000000 0.000000 89.8756 / 0.458824)
}
.lb-prev {
  left:clamp(10px,2vw,26px)
}
.lb-next {
  right:clamp(10px,2vw,26px)
}
.lb-thumbs {
  grid-row:3;
  justify-content:center;
  gap:9px;
  padding:18px clamp(16px,3vw,34px) 26px;
  display:flex
}
.lb-thumb {
  cursor:pointer;
  opacity:.4;
  width:74px;
  height:56px;
  transition:opacity .35s var(--ease), border-color .35s var(--ease);
  background:0 0;
  border:1px solid oklch(0.000000 0.000000 0.0000 / 0.0);
  border-radius:3px;
  padding:0;
  overflow:hidden
}
.lb-thumb img {
  object-fit:cover;
  width:100%;
  height:100%;
  display:block
}
.lb-thumb:hover {
  opacity:.8
}
.lb-thumb.on {
  opacity:1;
  border-color:oklch(1.000000 0.000000 89.8756 / 0.85098)
}
@media (max-width:620px) {
  .lb-stage {
    padding:0 12px
  }
  .lb-nav {
    display:none
  }
  .lb-thumb {
    width:54px;
    height:42px
  }
}
[data-px] {
  translate:0 calc(var(--px,0) * 1px);
  will-change:translate
}
.fig-px img {
  object-fit:cover;
  width:100%;
  height:138%;
  position:absolute;
  top:-19%;
  left:0
}
.band {
  isolation:isolate;
  position:relative;
  overflow:hidden
}
.band>.wrap {
  z-index:2;
  position:relative
}
.band-img {
  z-index:0;
  pointer-events:none;
  position:absolute;
  inset:-9% 0
}
.band-img img {
  object-fit:cover;
  width:100%;
  height:100%;
  display:block
}
.band-veil {
  --veil:.78;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg, rgb(12 16 19/calc(var(--veil) + .08)) 0%, rgb(12 16 19/var(--veil)) 42%, rgb(12 16 19/calc(var(--veil) + .1)) 100%);
  position:absolute;
  inset:0
}
.band-hero .band-veil {
  --veil:.46
}
.band-deep .band-veil {
  --veil:.72
}
.band-side .band-veil {
  background:linear-gradient(90deg,oklch(0.170097 0.008959 240.5097 / 0.929412) 0%,oklch(0.170097 0.008959 240.5097 / 0.878431) 30%,oklch(0.170097 0.008959 240.5097 / 0.54902) 62%,oklch(0.170097 0.008959 240.5097 / 0.278431) 100%)
}
.dark.band {
  background:oklch(0.179267 0.008851 240.4570)
}
.band>.px-glow {
  display:none
}
.band .shead .r p {
  color:oklch(0.800204 0.012288 239.9499)
}
.px-bg {
  isolation:isolate;
  position:relative;
  overflow:hidden
}
.px-bg>.px-glow {
  z-index:0;
  pointer-events:none;
  background:radial-gradient(60% 50% at 22% 28%,oklch(0.622034 0.101196 209.6320 / 0.160784),oklch(0.000000 0.000000 0.0000 / 0.0) 70%),radial-gradient(50% 45% at 82% 72%,oklch(1.000000 0.000000 89.8756 / 0.070588),oklch(0.000000 0.000000 0.0000 / 0.0) 72%);
  position:absolute;
  inset:-30% -10%
}
.px-bg>.wrap {
  z-index:1;
  position:relative
}
@media (prefers-reduced-motion:reduce) {
  [data-px] {
    translate:none
  }
  .fig-px img {
    height:100%;
    top:0
  }
}
.ag-head {
  padding-top:clamp(96px,11vw,150px);
  padding-bottom:clamp(30px,4vw,56px)
}
.ag-grid {
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  align-items:stretch;
  gap:clamp(28px,4.5vw,76px);
  display:grid
}
.ag-intro {
  flex-direction:column;
  display:flex
}
.ag-intro>.ag-dock {
  margin-top:auto
}
.ag-por {
  aspect-ratio:4/5;
  border-radius:4px;
  position:relative;
  overflow:hidden
}
.ag-por .fig {
  position:absolute;
  inset:0
}
.ag-name {
  font-family:var(--disp);
  font-variation-settings:"wdth" 112,"wght" 700;
  letter-spacing:-.03em;
  text-transform:uppercase;
  margin:10px 0 clamp(20px,2.4vw,34px);
  font-size:clamp(38px,5.6vw,86px);
  line-height:.9
}
.ag-bio {
  color:var(--slate);
  max-width:60ch;
  margin:0 0 18px;
  font-size:16.5px;
  line-height:1.72
}
.ag-contact {
  border-top:1px solid var(--line);
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 clamp(16px,2vw,30px);
  margin:clamp(28px,3.4vw,44px) 0 0;
  padding-top:20px;
  display:grid
}
.ag-contact dt {
  color:var(--slate-lo);
  margin:0 0 5px;
  font-size:12.5px
}
.ag-contact dd {
  word-break:break-word;
  margin:0;
  font-size:14px
}
.ag-contact a {
  transition:color .35s var(--ease)
}
.ag-contact a:hover {
  color:var(--accent-ink)
}
.ag-cta {
  margin-top:clamp(24px,3vw,36px)
}
.ag-ledger-wrap {
  border-block:1px solid var(--line);
  padding-block:clamp(26px,3vw,44px)
}
.ag-ledger {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,2vw,32px);
  margin:0;
  display:grid
}
.ag-ledger dt {
  color:var(--slate);
  margin:0 0 8px;
  font-size:12.5px
}
.ag-ledger dd {
  font-family:var(--disp);
  font-variation-settings:"wdth" 108,"wght" 600;
  letter-spacing:-.02em;
  margin:0;
  font-size:clamp(24px,2.8vw,40px);
  line-height:1
}
.ag-split {
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  align-items:start;
  gap:clamp(24px,4vw,64px);
  display:grid
}
.ag-h2 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 108,"wght" 600;
  letter-spacing:-.025em;
  text-transform:uppercase;
  margin:10px 0 0;
  font-size:clamp(26px,3.4vw,48px);
  line-height:1
}
.ag-areas {
  display:grid
}
.ag-area {
  border-top:1px solid var(--line);
  transition:padding-left .5s var(--ease);
  grid-template-columns:44px 1fr auto;
  align-items:baseline;
  gap:16px;
  padding-block:clamp(16px,1.8vw,24px);
  display:grid
}
.ag-areas>.rv:last-child .ag-area {
  border-bottom:1px solid var(--line)
}
a.ag-area:hover {
  padding-left:10px
}
.ag-area-n {
  font-family:var(--util);
  color:var(--slate-lo);
  font-size:12px
}
.ag-area-name {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.015em;
  text-transform:uppercase;
  font-size:clamp(17px,1.7vw,25px)
}
.ag-area-note {
  color:var(--slate);
  font-size:12.5px
}
.ag-quote {
  margin:0
}
.ag-quote blockquote {
  font-family:var(--disp);
  font-variation-settings:"wdth" 104,"wght" 500;
  letter-spacing:-.02em;
  color:var(--ground-hi);
  max-width:22ch;
  margin:0;
  font-size:clamp(23px,3.2vw,46px);
  line-height:1.14
}
.ag-quote figcaption {
  color:oklch(0.658632 0.012889 240.0098);
  margin-top:22px;
  font-size:13px
}
.ag-single {
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  align-items:center;
  gap:clamp(20px,3vw,48px);
  display:grid
}
.ag-single-img {
  aspect-ratio:4/3;
  border-radius:4px;
  position:relative;
  overflow:hidden
}
.ag-single-in h3 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 108,"wght" 600;
  letter-spacing:-.025em;
  text-transform:uppercase;
  margin:10px 0 12px;
  font-size:clamp(24px,3vw,42px);
  line-height:1
}
.ag-single-tag {
  color:var(--slate);
  max-width:34ch;
  margin:0 0 22px;
  font-size:15.5px;
  line-height:1.6
}
.ag-single-meta {
  border-top:1px solid var(--line);
  font-family:var(--util);
  color:var(--slate);
  justify-content:space-between;
  gap:14px;
  padding-top:14px;
  font-size:12.5px;
  display:flex
}
.ag-single-img .fig img {
  transition:scale 2.4s cubic-bezier(.16,.72,.24,1)
}
.ag-single:hover .ag-single-img .fig img {
  scale:1.025
}
.ag-others {
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.6vw,26px);
  display:grid
}
.ag-other .agent-img {
  aspect-ratio:4/5
}
@media (max-width:980px) {
  .ag-grid {
    grid-template-columns:1fr;
    align-items:start;
    gap:26px
  }
  .ag-intro>.ag-dock {
    margin-top:clamp(24px,3vw,38px)
  }
  .ag-por {
    max-width:min(100%,460px)
  }
  .ag-split {
    grid-template-columns:1fr;
    gap:20px
  }
  .ag-single {
    grid-template-columns:1fr
  }
  .ag-ledger {
    grid-template-columns:repeat(2,1fr);
    gap:22px
  }
  .ag-others {
    grid-template-columns:1fr 1fr
  }
}
@media (max-width:620px) {
  .ag-contact {
    grid-template-columns:1fr;
    gap:14px
  }
  .ag-contact>div {
    border-bottom:1px solid var(--line);
    padding-bottom:12px
  }
  .ag-area {
    grid-template-columns:32px 1fr;
    gap:10px
  }
  .ag-area-note {
    grid-column:2;
    margin-top:4px
  }
  .ag-others {
    grid-template-columns:1fr
  }
}
.stag,.stag-l {
  display:block
}
.stag-w {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  -webkit-hyphens:auto;
  hyphens:auto;
  max-width:100%;
  display:inline-block
}
.stag-w>span {
  overflow-wrap:anywhere;
  -webkit-hyphens:auto;
  hyphens:auto;
  opacity:0;
  filter:blur(9px);
  max-width:100%;
  transition:opacity .72s var(--ease), transform .72s var(--ease), filter .72s var(--ease);
  display:inline-block;
  transform:translateY(.42em)scale(.985)
}
.stag.in .stag-w>span {
  opacity:1;
  filter:blur();
  transform:none
}
.stagw>span {
  opacity:0;
  transition:opacity .7s var(--ease), transform .7s var(--ease);
  white-space:pre-wrap;
  display:inline-block;
  transform:translateY(14px)
}
.stagw.in>span {
  opacity:1;
  transform:none
}
.route {
  animation:route-in .62s var(--ease) both
}
@keyframes route-in {
  0% {
    opacity:0;
    transform:translateY(14px)
  }
  to {
    opacity:1;
    transform:none
  }
}
.route:has(>.hero) {
  animation-name:route-fade
}
@keyframes route-fade {
  0% {
    opacity:0
  }
  to {
    opacity:1
  }
}
@media (prefers-reduced-motion:reduce) {
  .stag-l>span,.stagw>span {
    opacity:1;
    transition:none;
    transform:none
  }
  .route {
    animation:none
  }
}
.nav-cta {
  background:var(--btn-bg);
  height:40px;
  color:var(--btn-fg);
  letter-spacing:.005em;
  white-space:nowrap;
  transition:background .45s var(--ease), color .45s var(--ease), transform .45s var(--ease);
  border-radius:100px;
  align-items:center;
  gap:9px;
  padding:0 20px;
  font-size:13px;
  font-weight:500;
  display:inline-flex;
  position:relative
}
.nav-cta:after {
  content:"";
  background:var(--accent-hi);
  width:5px;
  height:5px;
  transition:transform .45s var(--ease);
  border-radius:50%
}
.nav-cta:hover {
  background:var(--btn-bg-h)
}
.nav-cta:hover:after {
  transform:scale(1.6)
}
.nav:not(.stuck):not(.open) .nav-cta {
  color:var(--on-light);
  background:oklch(1.000000 0.000000 89.8756)
}
.nav:not(.stuck):not(.open) .nav-cta:after {
  background:var(--accent)
}
.nav:not(.stuck):not(.open) .nav-cta:hover {
  background:oklch(1.000000 0.000000 89.8756 / 0.878431)
}
.pill-phone {
  background:0 0
}
.nav-sheet-cta {
  background:var(--btn-bg);
  border-radius:100px;
  justify-content:space-between;
  align-items:center;
  height:46px;
  margin-top:10px;
  padding:0 20px;
  color:var(--btn-fg)!important;
  display:flex!important
}
.nav-sheet-cta:after {
  content:"→";
  font-size:14px
}
@media (max-width:1180px) {
  .nav-cta {
    padding:0 16px;
    font-size:12.5px
  }
  .pill-phone .mono {
    display:none
  }
  .pill-phone {
    padding:5px 6px
  }
}
@media (max-width:980px) {
  .nav-cta {
    display:none
  }
}
.svc-head {
  padding-top:clamp(96px,11vw,150px);
  padding-bottom:clamp(20px,2.4vw,34px)
}
.svc-title {
  font-family:var(--disp);
  font-variation-settings:"wdth" 114,"wght" 700;
  letter-spacing:-.035em;
  text-transform:uppercase;
  margin:14px 0 clamp(18px,2vw,30px);
  font-size:clamp(42px,8vw,124px);
  line-height:.88
}
.svc-lede {
  max-width:44ch
}
.svc-grid {
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  align-items:start;
  gap:clamp(28px,4.5vw,80px);
  display:grid
}
.svc-body p {
  color:var(--slate);
  max-width:58ch;
  margin:0 0 20px;
  font-size:16.5px;
  line-height:1.75
}
.svc-body .hd-h2 {
  margin:10px 0 clamp(20px,2.2vw,30px)
}
.svc-frame {
  aspect-ratio:4/3;
  border-radius:4px;
  position:relative;
  overflow:hidden
}
.svc-figure {
  border-top:1px solid var(--line);
  flex-wrap:wrap;
  align-items:flex-end;
  gap:20px;
  margin-top:clamp(24px,3vw,40px);
  padding-top:24px;
  display:flex
}
.svc-figure-n {
  font-family:var(--disp);
  font-variation-settings:"wdth" 110,"wght" 700;
  letter-spacing:-.03em;
  font-size:clamp(44px,6vw,86px);
  line-height:.9
}
.svc-figure-t {
  color:var(--slate);
  max-width:22ch;
  font-size:14px;
  line-height:1.5
}
.svc-steps {
  counter-reset:none;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,3vw,48px);
  margin:clamp(30px,4vw,56px) 0 0;
  padding:0;
  list-style:none;
  display:grid
}
.svc-step {
  border-top:1px solid var(--line-dk);
  padding-top:22px
}
.svc-step-n {
  font-family:var(--util);
  letter-spacing:.14em;
  color:var(--accent-hi);
  margin-bottom:14px;
  font-size:12px;
  display:block
}
.svc-step h3 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.015em;
  text-transform:uppercase;
  color:var(--ground-hi);
  margin:0 0 10px;
  font-size:clamp(17px,1.7vw,23px);
  line-height:1.15
}
.svc-step p {
  color:oklch(0.710135 0.013498 236.7125);
  margin:0;
  font-size:14px;
  line-height:1.65
}
.svc-quote {
  text-align:center;
  margin:0
}
.svc-quote blockquote {
  max-width:24ch;
  font-family:var(--disp);
  font-variation-settings:"wdth" 104,"wght" 500;
  letter-spacing:-.02em;
  margin:0 auto;
  font-size:clamp(22px,3.2vw,44px);
  line-height:1.16
}
.svc-quote figcaption {
  color:var(--slate);
  margin-top:20px;
  font-size:13px
}
.svc-others {
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.8vw,28px);
  display:grid
}
.svc-others>* {
  height:100%
}
.svc-other {
  border:1px solid var(--line);
  background:var(--card);
  height:100%;
  transition:background .8s var(--ease), border-color .8s var(--ease), transform .8s var(--ease);
  border-radius:4px;
  padding:26px 24px 64px;
  display:block;
  position:relative
}
.svc-other:hover {
  background:var(--card-hi);
  border-color:oklch(0.209552 0.009642 234.2664 / 0.2)
}
.svc-other-n {
  font-family:var(--util);
  letter-spacing:.14em;
  color:var(--slate-lo);
  font-size:12px
}
.svc-other h3 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.02em;
  text-transform:uppercase;
  margin:14px 0 10px;
  font-size:clamp(19px,2vw,27px);
  line-height:1.05
}
.svc-other p {
  color:var(--slate);
  margin:0;
  font-size:14px;
  line-height:1.6
}
.svc-other-arw {
  border:1px solid var(--line);
  width:36px;
  height:36px;
  transition:.45s var(--ease);
  border-radius:50%;
  place-items:center;
  display:grid;
  position:absolute;
  bottom:22px;
  left:24px
}
.svc-other-arw svg {
  width:14px;
  height:14px;
  stroke:var(--graphite);
  fill:none;
  transition:rotate .45s var(--ease), stroke .45s var(--ease)
}
.svc-other:hover .svc-other-arw {
  background:var(--btn-bg);
  border-color:var(--btn-bg)
}
.svc-other:hover .svc-other-arw svg {
  stroke:var(--btn-fg);
  rotate:-45deg
}
.svc-close {
  font-family:var(--disp);
  font-variation-settings:"wdth" 110,"wght" 700;
  letter-spacing:-.03em;
  text-transform:uppercase;
  margin:14px 0 18px;
  font-size:clamp(30px,5vw,72px);
  line-height:.92
}
.svc-close-sub {
  max-width:40ch;
  color:var(--slate);
  margin:0 auto 28px;
  font-size:15px
}
.hd-head {
  padding-top:clamp(96px,11vw,150px);
  padding-bottom:clamp(28px,3.4vw,48px)
}
.hd-grid {
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:start;
  gap:0 clamp(28px,4.5vw,76px);
  display:grid
}
.hd-left {
  grid-area:1/1;
  min-width:0
}
.hd-shot {
  grid-area:1/2
}
.hd-name {
  font-family:var(--disp);
  font-variation-settings:"wdth" 114,"wght" 700;
  letter-spacing:-.035em;
  text-transform:uppercase;
  margin:14px 0 clamp(18px,2vw,28px);
  font-size:clamp(42px,7.4vw,116px);
  line-height:.88
}
.hd-lede {
  max-width:38ch
}
.hd-coords {
  font-family:var(--util);
  letter-spacing:.06em;
  color:var(--slate-lo);
  margin:clamp(20px,2.4vw,32px) 0 0;
  font-size:12.5px
}
.hd-shot {
  aspect-ratio:4/5;
  border-radius:4px;
  position:relative;
  overflow:hidden
}
.hd-shot .fig {
  position:absolute;
  inset:0
}
.hd-figures-wrap {
  border-top:1px solid var(--line);
  margin-top:clamp(26px,3.2vw,44px);
  padding-top:clamp(22px,2.6vw,34px)
}
.hd-figures {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(22px,2.8vw,38px) clamp(18px,2.4vw,40px);
  margin:0;
  display:grid
}
.hd-figures dt {
  color:var(--slate);
  margin:0 0 8px;
  font-size:12.5px
}
.hd-figures dd {
  font-family:var(--disp);
  font-variation-settings:"wdth" 108,"wght" 600;
  letter-spacing:-.02em;
  margin:0;
  font-size:clamp(24px,2.8vw,40px);
  line-height:1
}
.hd-char {
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  align-items:start;
  gap:clamp(24px,4vw,64px);
  display:grid
}
.hd-h2 {
  font-family:var(--disp);
  font-variation-settings:"wdth" 108,"wght" 600;
  letter-spacing:-.025em;
  text-transform:uppercase;
  margin:10px 0 0;
  font-size:clamp(26px,3.4vw,48px);
  line-height:1
}
.hd-char-body p {
  color:var(--slate);
  max-width:60ch;
  margin:0 0 20px;
  font-size:16.5px;
  line-height:1.75
}
.hd-life {
  grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,3vw,48px);
  margin-top:clamp(28px,3.6vw,52px);
  display:grid
}
.hd-life-col {
  border-top:1px solid var(--line-dk);
  padding-top:22px
}
.hd-life-n {
  font-family:var(--util);
  letter-spacing:.14em;
  color:var(--accent-hi);
  margin-bottom:12px;
  font-size:12px;
  display:block
}
.hd-life-col ul {
  gap:9px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
  display:grid
}
.hd-life-col li {
  color:oklch(0.710135 0.013498 236.7125);
  padding-left:16px;
  font-size:14px;
  position:relative
}
.hd-life-col li:before {
  content:"";
  background:var(--accent);
  width:7px;
  height:1px;
  position:absolute;
  top:10px;
  left:0
}
@media (max-width:980px) {
  .svc-grid {
    grid-template-columns:1fr;
    gap:26px
  }
  .svc-steps {
    grid-template-columns:1fr;
    gap:22px
  }
  .svc-others {
    grid-template-columns:1fr
  }
  .hd-grid {
    grid-template-columns:1fr;
    gap:26px 0
  }
  .hd-left {
    display:contents
  }
  .hd-intro {
    grid-area:1/1
  }
  .hd-shot {
    grid-area:2/1
  }
  .hd-figures-wrap {
    grid-area:3/1;
    margin-top:0
  }
  .hd-shot {
    max-width:min(100%,560px)
  }
  .hd-char {
    grid-template-columns:1fr;
    gap:18px
  }
  .hd-life {
    grid-template-columns:1fr;
    gap:22px
  }
}
.nav-burger {
  border:1px solid var(--shade);
  background:var(--card);
  width:40px;
  height:40px;
  transition:background .4s var(--ease), border-color .4s var(--ease);
  border-radius:50%;
  flex:none;
  place-items:center;
  padding:0;
  display:none
}
.nav:not(.stuck):not(.open) .nav-burger {
  background:oklch(1.000000 0.000000 89.8756 / 0.121569);
  border-color:oklch(1.000000 0.000000 89.8756 / 0.501961)
}
.nav-burger-box {
  width:16px;
  height:11px;
  display:block;
  position:relative
}
.nav-burger-box span {
  background:var(--graphite);
  width:100%;
  height:1.5px;
  transition:transform .45s var(--ease), width .45s var(--ease);
  border-radius:2px;
  position:absolute;
  left:0
}
.nav:not(.stuck):not(.open) .nav-burger-box span {
  background:oklch(1.000000 0.000000 89.8756)
}
.nav-burger-box span:first-child {
  top:0
}
.nav-burger-box span:last-child {
  bottom:0
}
.nav-burger.on .nav-burger-box span:first-child {
  transform:translateY(4.75px)rotate(45deg)
}
.nav-burger.on .nav-burger-box span:last-child {
  transform:translateY(-4.75px)rotate(-45deg)
}
.nav-sheet {
  display:none
}
@media (max-width:980px) {
  .nav-sheet {
    opacity:0;
    pointer-events:none;
    transition:grid-template-rows .55s var(--ease), opacity .35s var(--ease);
    grid-template-rows:0fr;
    display:grid;
    overflow:hidden
  }
  .nav.open .nav-sheet {
    opacity:1;
    pointer-events:auto;
    grid-template-rows:1fr
  }
}
.nav-sheet-clip {
  min-height:0;
  overflow:hidden
}
.nav-sheet-in {
  padding:6px var(--gut) 22px;
  flex-direction:column;
  display:flex
}
.nav-sheet a {
  border-bottom:1px solid var(--line);
  font-family:var(--disp);
  font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.015em;
  text-transform:uppercase;
  opacity:0;
  transition:opacity .5s var(--ease), transform .5s var(--ease);
  justify-content:space-between;
  align-items:center;
  padding:15px 0;
  font-size:clamp(18px,4.4vw,24px);
  display:flex;
  transform:translateY(10px)
}
.nav.open .nav-sheet a {
  opacity:1;
  transform:none
}
.nav-sheet a:first-child {
  transition-delay:60ms
}
.nav-sheet a:nth-child(2) {
  transition-delay:.11s
}
.nav-sheet a:nth-child(3) {
  transition-delay:.16s
}
.nav-sheet a:nth-child(4) {
  transition-delay:.21s
}
.nav-sheet a:nth-child(5) {
  transition-delay:.26s
}
.nav-sheet a:nth-child(6) {
  transition-delay:.31s
}
.nav-sheet a:after {
  content:"";
  background:var(--slate-lo);
  width:16px;
  height:1px
}
.nav-sheet .nav-sheet-cta {
  background:var(--btn-bg);
  border-bottom:0;
  border-radius:100px;
  justify-content:space-between;
  height:52px;
  margin-top:18px;
  padding:0 22px;
  font-size:15px;
  color:var(--btn-fg)!important
}
.nav-sheet .nav-sheet-cta:after {
  background:oklch(1.000000 0.000000 89.8756 / 0.6);
  width:18px
}
@media (max-width:980px) {
  .nav-burger {
    display:grid
  }
  .pill-phone {
    background:0 0!important;
    border:0!important;
    padding:0!important
  }
  .pill-phone .mono {
    display:none
  }
  .pill-phone .dot {
    background:oklch(1.000000 0.000000 89.8756);
    width:40px;
    height:40px
  }
  .pill-phone .dot svg path {
    fill:var(--on-light)
  }
  .nav:not(.stuck):not(.open) .pill-phone .dot {
    background:oklch(1.000000 0.000000 89.8756)
  }
  .nav-right {
    gap:10px
  }
}
@media (prefers-reduced-motion:reduce) {
  .nav-sheet,.nav-sheet a,.nav-burger-box span {
    transition:none
  }
}
.nav.open:before,.nav.open:after {
  opacity:1
}
@media (max-width:980px) {
  :root {
    --nav-h:60px
  }
  .nav-in {
    padding:11px var(--gut)
  }
  .nav-burger,.pill-phone .dot {
    width:38px;
    height:38px
  }
  .brand-mark {
    width:23px;
    height:18px
  }
  .brand-txt {
    letter-spacing:.14em;
    font-size:13px
  }
}
.sw-w {
  opacity:clamp(.14, calc((var(--p,0) - var(--i)) * .5 + .14), 1);
  transition:opacity .18s linear;
  display:inline-block
}
.sw-w .inl {
  opacity:inherit
}
@media (prefers-reduced-motion:reduce) {
  .sw-w {
    opacity:1;
    transition:none
  }
}
.theme-btn {
  border:1px solid var(--shade);
  background:var(--card);
  width:34px;
  height:34px;
  transition:background .4s var(--ease), border-color .4s var(--ease), opacity .3s var(--ease);
  border-radius:50%;
  flex:none;
  place-items:center;
  padding:0;
  display:grid
}
.theme-btn:hover {
  border-color:var(--slate-lo)
}
.nav:not(.stuck):not(.open) .theme-btn {
  background:oklch(1.000000 0.000000 89.8756 / 0.141176);
  border-color:oklch(1.000000 0.000000 89.8756 / 0.419608)
}
.theme-btn-in {
  width:17px;
  height:17px;
  display:block;
  position:relative
}
.theme-btn svg {
  width:17px;
  height:17px;
  stroke:var(--graphite);
  fill:none;
  stroke-linecap:round;
  transition:opacity .4s var(--ease), transform .5s var(--ease);
  position:absolute;
  inset:0
}
.nav:not(.stuck):not(.open) .theme-btn svg {
  stroke:oklch(1.000000 0.000000 89.8756)
}
.theme-sun {
  opacity:0;
  transform:rotate(-70deg)scale(.6)
}
.theme-moon,:root[data-theme=dark] .theme-sun {
  opacity:1;
  transform:none
}
:root[data-theme=dark] .theme-moon {
  opacity:0;
  transform:rotate(70deg)scale(.6)
}
body,.nav:before,.dark,.foot,.card,.svc-other,.pdp-aside {
  transition:background-color .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease)
}
:root[data-theme=dark] .fig img {
  filter:brightness(.92)contrast(1.02)
}
:root[data-theme=dark] .hero-house {
  filter:drop-shadow(0 34px 54px oklch(0.000000 0.000000 0.0000 / 0.54902))brightness(.88)
}
:root[data-theme=dark] .hero:after {
  background:linear-gradient(oklch(0.179267 0.008851 240.4570 / 0.0) 62%,oklch(0.179267 0.008851 240.4570 / 0.501961) 100%)
}
:root[data-theme=dark] .inl {
  box-shadow:inset 0 0 0 1px oklch(1.000000 0.000000 89.8756 / 0.101961)
}
@media (prefers-reduced-motion:reduce) {
  body,.nav:before,.dark,.foot,.theme-btn svg {
    transition:none
  }
}
@media (max-width:620px) {
  .cta {
    gap:14px;
    padding:5px 5px 5px 22px;
    font-size:13.5px
  }
  .cta .knob {
    width:34px;
    height:34px
  }
  .cta .knob svg {
    width:17px;
    height:17px
  }
  .cta-gh {
    padding:5px 5px 5px 22px
  }
  .close-btns {
    gap:10px
  }
  .nav-sheet-cta {
    height:46px
  }
}
body.intro-lock {
  overflow:hidden
}
body:has(.ty-page) .intro {
  display:none
}
body:has(.ty-page).intro-lock {
  overflow:auto
}
.intro {
  z-index:400;
  background:var(--ground);
  color:var(--graphite);
  transition:opacity .6s var(--ease), transform .7s var(--ease);
  place-items:center;
  display:grid;
  position:fixed;
  inset:0
}
.intro-out {
  opacity:0;
  pointer-events:none;
  transform:translateY(-14px)
}
.intro-in {
  justify-items:center;
  gap:18px;
  display:grid
}
.intro-mark {
  opacity:0;
  width:56px;
  height:43px;
  animation:intro-mark 1s var(--ease) .12s forwards;
  transform:translateY(10px)
}
@keyframes intro-mark {
  to {
    opacity:1;
    transform:none
  }
}
.intro-r1 {
  opacity:0;
  animation:intro-part .6s var(--ease) .34s forwards
}
.intro-r2 {
  opacity:0;
  animation:intro-part .6s var(--ease) .64s forwards
}
.intro-r3 {
  opacity:0;
  animation:intro-part .6s var(--ease) .94s forwards
}
@keyframes intro-part {
  to {
    opacity:1
  }
}
.intro-word {
  padding-bottom:.08em;
  display:block;
  overflow:hidden
}
.intro-word>span {
  font-family:var(--disp);
  font-variation-settings:"wdth" 116,"wght" 700;
  letter-spacing:.16em;
  text-transform:uppercase;
  animation:intro-word 1.15s var(--ease) 1.1s forwards;
  padding-left:.16em;
  font-size:clamp(30px,5.6vw,58px);
  line-height:1;
  display:block;
  transform:translateY(108%)
}
@keyframes intro-word {
  to {
    transform:none
  }
}
.intro-rule {
  background:var(--line);
  border-radius:2px;
  width:min(260px,46vw);
  height:2px;
  display:block;
  overflow:hidden
}
.intro-rule i {
  background:var(--accent);
  transform-origin:0;
  width:100%;
  height:100%;
  display:block;
  transform:scaleX(0)
}
@media (prefers-reduced-motion:reduce) {
  .intro {
    display:none
  }
  body.intro-lock {
    overflow:auto
  }
}
@media (max-width:980px) and (max-aspect-ratio:3/4) {
  .hero {
    min-height:100svh;
    padding:0;
    display:block;
    overflow:hidden
  }
  .hero-top {
    top:calc(var(--nav-h) + clamp(18px,3.4vh,40px));
    padding-inline:var(--gut);
    display:block
  }
  .hero-eyebrow {
    letter-spacing:.1em;
    text-transform:uppercase;
    max-width:none;
    font-size:12px;
    font-weight:600;
    line-height:1.75
  }
  .hero {
    --wm-top:clamp(160px,25vh,260px);
    --wm-size:clamp(52px,17.4vw,132px)
  }
  .hero-eyebrow.r {
    right:var(--gut);
    top:calc(var(--wm-top) + (var(--wm-size) * 1.95) - var(--nav-h) - clamp(18px,3.4vh,40px) + 22px);
    max-width:14ch;
    font-size:11px;
    line-height:1.7;
    position:absolute
  }
  .hero-inner {
    padding:var(--wm-top) var(--gut) 0
  }
  .word {
    font-size:var(--wm-size)
  }
  .word-b {
    margin-top:-.06em
  }
  .hero-house-wrap {
    width:max(100%, min(320%, calc((100svh - var(--wm-top) - (var(--wm-size) * 1.06) - 20px) * 1.9794)));
    top:auto;
    bottom:0;
    left:0;
    translate:0
  }
  .hero-house {
    filter:drop-shadow(0 24px 40px oklch(0.246815 0.016251 240.7297 / 0.341176))
  }
  .hero:after {
    background:linear-gradient(oklch(0.195850 0.012212 237.4404 / 0.0) 42%,oklch(0.195850 0.012212 237.4404 / 0.301961) 62%,oklch(0.195850 0.012212 237.4404 / 0.619608) 80%,oklch(0.195850 0.012212 237.4404 / 0.858824) 100%)
  }
  .hero-mid {
    left:var(--gut);
    right:var(--gut);
    z-index:5;
    max-width:none;
    bottom:clamp(34px,5.2vh,62px)
  }
  .hero-claim {
    margin-bottom:12px;
    font-size:clamp(23px,6.4vw,34px)
  }
  .hero-sub {
    max-width:38ch;
    margin-bottom:20px;
    font-size:13px;
    display:block
  }
  .hero-note {
    letter-spacing:.1em;
    text-transform:uppercase;
    max-width:none;
    margin:18px 0 0;
    font-size:10.5px;
    line-height:1.7;
    display:block;
    position:static
  }
  .proof {
    display:none
  }
}
.sel {
  appearance:none;
  font:inherit;
  color:var(--slate);
  border:1px solid var(--line);
  cursor:pointer;
  transition:border-color .4s var(--ease), color .4s var(--ease);
  background-color:oklch(0.000000 0.000000 0.0000 / 0.0);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1.5 6 6.5l5-5' stroke='%235E676D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-position:right 13px center;
  background-repeat:no-repeat;
  background-size:10px 7px;
  border-radius:100px;
  padding:7px 34px 7px 14px;
  font-size:12.5px;
  line-height:1.2
}
.sel:hover {
  border-color:var(--slate-lo);
  color:var(--graphite)
}
:root[data-theme=dark] .sel {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1.5 6 6.5l5-5' stroke='%239AA4AB' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>")
}
.sel option {
  background:var(--ground-hi);
  color:var(--graphite)
}
.qs {
  gap:clamp(22px,3vw,38px);
  display:grid
}
.qs-stage {
  display:grid
}
.qs-item {
  opacity:0;
  visibility:hidden;
  transition:opacity .7s var(--ease), transform .7s var(--ease), visibility 0s .7s;
  grid-area:1/1;
  margin:0;
  transform:translateY(10px)
}
.qs-item.on {
  opacity:1;
  visibility:visible;
  transition:opacity .7s var(--ease), transform .7s var(--ease);
  transform:none
}
.qs-item blockquote {
  margin:14px 0 18px
}
.qs-item figcaption {
  color:var(--slate)
}
.qs-foot {
  justify-content:center;
  align-items:center;
  gap:18px;
  display:flex
}
.qs-arw {
  border:1px solid var(--line);
  cursor:pointer;
  width:38px;
  height:38px;
  transition:border-color .45s var(--ease), background .45s var(--ease);
  background:0 0;
  border-radius:50%;
  flex:none;
  place-items:center;
  padding:0;
  display:grid
}
.qs-arw svg {
  width:16px;
  height:16px;
  stroke:var(--graphite);
  fill:none
}
.qs-arw:hover {
  border-color:var(--slate-lo);
  background:var(--card)
}
.qs-dots {
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:2px;
  min-width:0;
  display:flex
}
.qs-dot {
  cursor:pointer;
  background:0 0;
  border:0;
  flex:none;
  place-items:center;
  width:24px;
  height:24px;
  padding:0;
  display:grid
}
.qs-dot:before {
  content:"";
  background:var(--line);
  width:7px;
  height:7px;
  transition:background .45s var(--ease), width .45s var(--ease);
  border-radius:50%;
  display:block
}
.qs-dot:hover:before {
  background:var(--slate-lo)
}
.qs-dot.on:before {
  background:var(--accent);
  border-radius:100px;
  width:20px
}
@media (prefers-reduced-motion:reduce) {
  .qs-item {
    transition:none
  }
}
