:root {
  --ink: #09233a;
  --muted: #66778a;
  --green: #08745f;
  --green-deep: #034f43;
  --green-dark: #023c34;
  --lime: #eef44b;
  --surface: #f4f8f7;
  --line: #dde8e5;
  --white: #fff;
  --shadow-sm: 0 7px 22px rgba(9, 35, 58, .07);
  --shadow-md: 0 17px 42px rgba(9, 35, 58, .13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #d9e4e4; }
body { margin: 0; color: var(--ink); font-family: "Onest", Arial, sans-serif; background: radial-gradient(circle at 50% -10%, #f3fbf8 0, #dce7e6 50%, #ccd9db 100%); }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid rgba(0, 145, 119, .34); outline-offset: 3px; }
img { display: block; }
svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.prototype-stage { min-height: 100vh; padding: 2rem 0 6.5rem; }
.mobile-site { position: relative; width: min(100%, 560px); margin: auto; overflow: hidden; background: #fff; box-shadow: 0 36px 100px rgba(4, 31, 46, .2); }

.topbar { position: sticky; top: 0; z-index: 30; min-height: 5rem; display: flex; align-items: center; justify-content: space-between; padding: .75rem 1.25rem; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(9,35,58,.07); backdrop-filter: blur(16px); }
.brand { display: flex; align-items: center; gap: .7rem; color: inherit; text-decoration: none; }
.brand-mark { width: 2.65rem; height: 2.65rem; display: grid; place-items: center; color: var(--green); border: 1px solid #cbe3dc; border-radius: 50%; background: #eff9f6; }
.brand-mark svg { width: 2rem; height: 2rem; stroke-width: 2.2; }
.brand strong { display: block; color: var(--green-deep); font-size: 1.65rem; line-height: .9; font-weight: 900; letter-spacing: -.055em; }
.brand small { display: block; margin-top: .38rem; color: #657587; font-size: .56rem; line-height: 1; font-weight: 800; letter-spacing: .07em; }
.top-actions { display: flex; gap: .4rem; }
.top-actions button { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; color: var(--ink); background: transparent; border: 0; border-radius: 50%; transition: background .18s ease; }
.top-actions button:hover { background: #eff5f3; }
.top-actions svg { width: 1.65rem; height: 1.65rem; stroke-width: 2; }

.hero { position: relative; height: 31rem; overflow: hidden; color: #fff; background: var(--green-dark); }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 54% center; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(1,26,30,.08) 0%, rgba(2,31,35,.3) 35%, rgba(2,57,49,.94) 100%); }
.hero-badge { position: absolute; top: 1.25rem; left: 1.35rem; display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: #f3fffc; background: rgba(0,49,43,.28); backdrop-filter: blur(8px); font-size: .67rem; font-weight: 700; letter-spacing: .08em; }
.hero-badge span { width: .45rem; height: .45rem; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(238,244,75,.18); }
.hero-copy { position: absolute; inset: auto 1.45rem 1.65rem; }
.hero-copy > span { color: var(--lime); font-size: .75rem; font-weight: 900; letter-spacing: .16em; }
.hero h1 { max-width: 29rem; margin: .55rem 0 .85rem; font-size: clamp(2.65rem, 10vw, 3.55rem); line-height: .96; font-weight: 900; letter-spacing: -.062em; }
.hero h1 em { color: var(--lime); font-style: normal; }
.hero p { max-width: 27rem; margin: 0 0 1.3rem; color: #e6f2ef; font-size: 1rem; line-height: 1.48; }
.hero-copy > div { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.button-yellow, .button-glass { min-height: 3.25rem; display: flex; align-items: center; justify-content: center; gap: .45rem; padding: 0 1rem; border-radius: .9rem; font-size: .82rem; font-weight: 800; transition: transform .18s ease, background .18s ease; }
.button-yellow { color: var(--ink); background: var(--lime); border: 0; box-shadow: 0 10px 30px rgba(238,244,75,.18); }
.button-glass { color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.55); backdrop-filter: blur(8px); }
.button-yellow:hover, .button-glass:hover { transform: translateY(-1px); }
.button-yellow svg { width: 1.05rem; height: 1.05rem; stroke-width: 2.4; }

.shortcuts { padding: 1.15rem 1rem 1.3rem; background: linear-gradient(180deg, #eefaf7 0, #fff 25%); }
.shortcut-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.shortcut { --tone: #177ed6; --tone-bg: #eaf4ff; position: relative; min-height: 8.25rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; padding: .85rem .45rem; color: var(--ink); text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow-sm); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.shortcut:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--tone) 24%, white); box-shadow: 0 12px 27px rgba(9,35,58,.11); }
.shortcut .icon-box { width: 3.05rem; height: 3.05rem; display: grid; place-items: center; color: var(--tone); background: var(--tone-bg); border-radius: .95rem; }
.shortcut .icon-box svg { width: 1.85rem; height: 1.85rem; stroke-width: 1.9; }
.shortcut > span:last-child { max-width: 8.6rem; min-height: 2.1rem; display: flex; align-items: center; justify-content: center; font-size: .78rem; line-height: 1.27; font-weight: 700; }
.tone-blue { --tone: #2479c8; --tone-bg: #e9f3fc; }.tone-coral { --tone: #dd5362; --tone-bg: #ffedf0; }.tone-sky { --tone: #108ec5; --tone-bg: #e6f7ff; }
.tone-indigo { --tone: #4560c5; --tone-bg: #edf0ff; }.tone-violet { --tone: #7a4db9; --tone-bg: #f3edfc; }.tone-orange { --tone: #dc791e; --tone-bg: #fff1e2; }
.tone-green { --tone: #168262; --tone-bg: #e7f7f0; }.tone-mint { --tone: #14968a; --tone-bg: #e6f8f6; }.tone-cyan { --tone: #087c9c; --tone-bg: #e5f4f7; }
.tone-amber { --tone: #bd7b14; --tone-bg: #fff4de; }.tone-rose { --tone: #c94e73; --tone-bg: #fdebf2; }
.premium-shortcut { color: #fff; background: radial-gradient(circle at 100% 0, rgba(89,191,156,.42), transparent 48%), linear-gradient(145deg, #086b59, #03473d); border-color: transparent; box-shadow: 0 13px 28px rgba(3,79,67,.22); }
.premium-shortcut .icon-box { color: #dbfff2; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); }
.premium-shortcut small { position: absolute; top: .65rem; right: .65rem; color: #aee7d4; font-size: .56rem; font-weight: 900; letter-spacing: .12em; }
.publish-cta { width: 100%; min-height: 4.2rem; margin-top: .8rem; display: grid; grid-template-columns: 2.8rem 1fr 1.5rem; align-items: center; gap: .65rem; padding: .6rem .8rem; color: #fff; background: linear-gradient(120deg, #087660, #034f43); border: 0; border-radius: 1rem; box-shadow: 0 14px 30px rgba(3,79,67,.2); }
.publish-cta strong { justify-self: start; font-size: 1rem; font-weight: 800; }
.publish-icon { width: 2.65rem; height: 2.65rem; display: grid; place-items: center; color: var(--green-dark); background: var(--lime); border-radius: .78rem; }
.publish-icon svg { width: 1.55rem; height: 1.55rem; stroke-width: 2.5; }
.publish-arrow { justify-self: end; width: 1.25rem; height: 1.25rem; }

.block { margin: 2.25rem 1rem 0; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: .8rem; margin-bottom: .9rem; }
.section-heading > div > small { display: block; margin-bottom: .3rem; color: var(--green); font-size: .66rem; font-weight: 900; letter-spacing: .13em; }
.section-heading h2 { margin: 0; font-size: 1.6rem; line-height: 1.08; font-weight: 850; letter-spacing: -.045em; }
.section-heading button { min-height: 2.75rem; display: flex; align-items: center; gap: .2rem; padding: 0 .3rem 0 .75rem; color: var(--green); background: transparent; border: 0; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.section-heading button svg { width: .95rem; height: .95rem; }
.chips { display: flex; gap: .45rem; margin-bottom: .85rem; padding-bottom: .1rem; overflow-x: auto; scrollbar-width: none; }
.chips::-webkit-scrollbar { display: none; }
.chips button { min-height: 2.15rem; padding: 0 .9rem; color: #415268; background: #eef3f2; border: 0; border-radius: 999px; font-size: .74rem; font-weight: 600; white-space: nowrap; }
.chips .active { color: #fff; background: var(--green); }

.pulse { padding: 1.15rem; color: #fff; background: radial-gradient(circle at 100% 100%, rgba(53,198,135,.72), transparent 42%), linear-gradient(135deg, #034f43, #08806a); border-radius: 1.15rem; box-shadow: 0 18px 40px rgba(0,112,91,.2); }
.pulse-title, .pulse-title > div { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.pulse-title > div { justify-content: flex-start; }
.pulse-icon { width: 2.85rem; height: 2.85rem; display: grid; place-items: center; color: var(--green-dark); background: var(--lime); border-radius: .85rem; }
.pulse-icon svg { width: 1.55rem; height: 1.55rem; stroke-width: 2.3; }
.pulse-title h2 { margin: 0; font-size: 1.18rem; line-height: 1.15; }.pulse-title p { margin: .25rem 0 0; color: #c9e3dd; font-size: .7rem; }
.pulse-title .next { width: 1.2rem; height: 1.2rem; }
.metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .5rem; margin: 1rem 0; }
.metrics article { min-width: 0; padding: .8rem .55rem; color: var(--ink); background: #fff; border-radius: .8rem; box-shadow: 0 7px 20px rgba(4,43,36,.12); }
.metrics b, .metrics span { display: block; }.metrics b { font-size: 1.25rem; line-height: 1; font-weight: 850; font-variant-numeric: tabular-nums; }.metrics span { margin: .35rem 0; color: #617188; font-size: .65rem; }.metrics small { display: flex; align-items: center; gap: .15rem; font-size: .65rem; font-weight: 800; }.metrics small svg { width: .8rem; height: .8rem; }.up { color: #0c9d69; }.down { color: #d94254; }
.pulse-more { width: 100%; min-height: 2.75rem; display: flex; align-items: center; justify-content: center; gap: .5rem; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: .8rem; font-size: .75rem; font-weight: 750; }.pulse-more svg { width: 1rem; height: 1rem; }.pulse-more svg:first-child { color: var(--lime); }

.publication-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: .75rem; }
.publication { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow-sm); }
.publication-image { position: relative; height: 10rem; overflow: hidden; }.publication-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }.publication:hover img { transform: scale(1.025); }
.badge { position: absolute; left: .7rem; top: .7rem; padding: .4rem .65rem; color: #fff; border-radius: 999px; font-size: .6rem; font-weight: 900; letter-spacing: .03em; }.badge.blue { background: #197cca; }.badge.yellow { color: var(--ink); background: var(--lime); }
.publication-copy { padding: .85rem; }.publication-copy > small { color: #7b8998; font-size: .68rem; }.publication-copy h3 { margin: .45rem 0; font-size: .9rem; line-height: 1.25; font-weight: 800; letter-spacing: -.02em; }.publication-copy p { min-height: 2.4rem; margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }.publication-copy > div { display: flex; align-items: center; gap: .75rem; margin-top: .75rem; color: #748497; }.publication-copy div span { display: flex; align-items: center; gap: .25rem; font-size: .68rem; }.publication-copy svg { width: .85rem; height: .85rem; }.publication-copy div button { margin-left: auto; padding: .35rem; color: inherit; background: transparent; border: 0; }

.company-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .55rem; }
.company-grid article { min-width: 0; min-height: 9.5rem; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: .8rem .35rem; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow-sm); }
.company-grid b { margin: .65rem 0 .3rem; font-size: .74rem; }.company-grid small { color: #708094; font-size: .62rem; line-height: 1.3; }
.logo { width: 3.45rem; height: 3.45rem; display: grid; place-items: center; border-radius: 50%; font-size: 1.65rem; font-weight: 900; }.logo svg { width: 1.6rem; height: 1.6rem; }.red-logo { color: #fff; background: #ca3038; }.palm-logo { color: var(--green); background: #e9f7f2; }.city-logo { color: #287cca; background: #e9f3fc; }.build-logo { color: #d27820; background: #fff0df; }

.main-video { position: relative; height: 16.5rem; overflow: hidden; color: #fff; border-radius: 1.1rem; box-shadow: var(--shadow-md); }.main-video > img { width: 100%; height: 100%; object-fit: cover; }.video-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,24,39,.05) 20%, rgba(3,24,39,.9) 100%); }
.play { position: absolute; left: 50%; top: 43%; transform: translate(-50%,-50%); width: 4rem; height: 4rem; display: grid; place-items: center; color: #fff; background: rgba(2,30,35,.36); border: 2px solid rgba(255,255,255,.92); border-radius: 50%; backdrop-filter: blur(8px); }.play svg { width: 1.75rem; height: 1.75rem; margin-left: .18rem; fill: currentColor; stroke-width: 1.5; }
.video-copy { position: absolute; left: 1.15rem; right: 1.15rem; bottom: 1.05rem; }.video-copy small { display: block; margin-bottom: .35rem; color: var(--lime); font-size: .62rem; font-weight: 900; letter-spacing: .1em; }.video-copy h3 { max-width: 82%; margin: 0; font-size: 1.55rem; line-height: 1.05; letter-spacing: -.04em; }.video-copy p { margin: .45rem 0 0; color: #dce9e7; font-size: .75rem; }.duration { position: absolute; right: .75rem; bottom: .75rem; padding: .25rem .4rem; background: rgba(0,0,0,.72); border-radius: .32rem; font-size: .68rem; font-variant-numeric: tabular-nums; }
.mini-videos { display: grid; grid-template-columns: repeat(3,1fr); gap: .65rem; margin-top: .7rem; }.mini-videos article > div { position: relative; height: 6.2rem; overflow: hidden; border-radius: .75rem; }.mini-videos img { width: 100%; height: 100%; object-fit: cover; }.mini-videos article span { position: absolute; right: .3rem; bottom: .3rem; padding: .2rem .35rem; color: #fff; background: rgba(0,0,0,.72); border-radius: .25rem; font-size: .62rem; }.mini-videos h3 { margin: .5rem .1rem 0; font-size: .75rem; line-height: 1.35; }

.property-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }.property { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow-sm); }.property > div { position: relative; height: 9.5rem; overflow: hidden; }.property img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }.property:hover img { transform: scale(1.025); }.property > div button { position: absolute; right: .65rem; top: .65rem; width: 2.4rem; height: 2.4rem; display: grid; place-items: center; color: var(--ink); background: rgba(255,255,255,.92); border: 0; border-radius: 50%; box-shadow: 0 6px 16px rgba(9,35,58,.12); }.property > div button svg { width: 1.1rem; height: 1.1rem; }.property section { padding: .85rem; }.property section b { font-size: 1.05rem; font-weight: 850; font-variant-numeric: tabular-nums; }.property h3 { margin: .38rem 0; font-size: .82rem; }.property p { margin: 0 0 .45rem; color: var(--muted); font-size: .72rem; }.property small { display: flex; align-items: center; gap: .2rem; color: #8290a0; font-size: .68rem; }.property small svg { width: .85rem; height: .85rem; }
.wide-button { width: 100%; min-height: 3.1rem; margin-top: .75rem; display: flex; align-items: center; justify-content: center; gap: .45rem; color: var(--green); background: #fff; border: 1.5px solid var(--green); border-radius: .9rem; font-size: .8rem; font-weight: 800; }.wide-button svg { width: 1rem; height: 1rem; }

.listing-cta { min-height: 14rem; display: grid; grid-template-columns: 36% 64%; overflow: hidden; background: linear-gradient(135deg, #edf9f5, #fff); border: 1px solid #cfe5df; border-radius: 1.1rem; box-shadow: var(--shadow-sm); }.listing-cta > img { width: 100%; height: 100%; object-fit: cover; }.listing-cta > div { padding: 1.2rem 1rem; }.listing-cta > div > span { color: var(--green); font-size: .65rem; font-weight: 900; letter-spacing: .09em; }.listing-cta h2 { margin: .45rem 0; font-size: 1.28rem; line-height: 1.12; letter-spacing: -.035em; }.listing-cta p { margin: 0 0 .85rem; color: var(--muted); font-size: .75rem; line-height: 1.45; }.listing-cta .button-yellow { width: 100%; min-height: 2.85rem; font-size: .72rem; }

.questions { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow-sm); }.questions article { min-height: 5rem; display: grid; grid-template-columns: 2.65rem 1fr 1.25rem; align-items: center; gap: .75rem; padding: .7rem .85rem; border-bottom: 1px solid var(--line); }.questions article:last-child { border-bottom: 0; }.question-icon { width: 2.55rem; height: 2.55rem; display: grid; place-items: center; border-radius: .8rem; }.question-icon svg { width: 1.35rem; height: 1.35rem; }.q0 { color: var(--green); background: #e7f7f1; }.q1 { color: #1788c3; background: #e7f5fd; }.q2 { color: #d1811f; background: #fff1df; }.q3 { color: #744ab2; background: #f2edfb; }.questions h3 { margin: 0; font-size: .8rem; line-height: 1.3; }.questions p { margin: .3rem 0 0; color: #8190a0; font-size: .68rem; }.questions .chevron { width: 1.05rem; height: 1.05rem; color: #8190a0; }

.promo-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .75rem; }.promo { min-height: 14rem; padding: 1.1rem; overflow: hidden; border-radius: 1.05rem; box-shadow: var(--shadow-sm); }.promo > span { width: 3rem; height: 3rem; display: grid; place-items: center; background: rgba(255,255,255,.75); border-radius: .85rem; }.promo > span svg { width: 1.5rem; height: 1.5rem; }.promo small { display: block; margin: 1rem 0 .4rem; font-size: .66rem; font-weight: 800; }.promo h3 { margin: 0; font-size: 1.08rem; line-height: 1.12; letter-spacing: -.025em; }.promo p { min-height: 3.1rem; margin: .55rem 0; font-size: .73rem; line-height: 1.45; }.promo button { display: flex; align-items: center; gap: .35rem; padding: 0; color: inherit; background: transparent; border: 0; font-size: .72rem; font-weight: 850; }.promo button svg { width: .9rem; height: .9rem; }.promo-yellow { color: var(--ink); background: linear-gradient(145deg, #f4f65a, #e9db24); }.promo-blue { color: #fff; background: linear-gradient(145deg, #118eb4, #315cb8); }

.premium { position: relative; min-height: 21rem; overflow: hidden; color: #fff; background: var(--green-dark); border-radius: 1.15rem; box-shadow: var(--shadow-md); }.premium > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.premium-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,55,47,.97) 0%, rgba(2,61,52,.82) 48%, rgba(2,61,52,.25) 100%); }.premium-copy { position: relative; z-index: 1; width: 79%; padding: 2rem 1.4rem; }.premium-copy > span { display: flex; align-items: center; gap: .5rem; color: #c8f3e4; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }.premium-copy > span svg { width: 1.25rem; height: 1.25rem; }.premium h2 { margin: 1.2rem 0 .7rem; font-size: 2rem; line-height: 1; letter-spacing: -.055em; }.premium p { margin: 0 0 1.5rem; color: #dcece7; font-size: .82rem; line-height: 1.55; }.premium-copy > div { display: flex; gap: .55rem; }.premium button { min-height: 2.85rem; display: flex; align-items: center; gap: .4rem; padding: 0 .9rem; color: var(--green-dark); background: #d7ffef; border: 0; border-radius: .75rem; font-size: .7rem; font-weight: 850; }.premium button svg { width: .9rem; height: .9rem; }.premium .ghost { color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.48); backdrop-filter: blur(8px); }

.subscribe { padding: 1.35rem; display: grid; grid-template-columns: 3rem 1fr; gap: .75rem; color: #fff; background: radial-gradient(circle at 100% 100%, rgba(47,190,132,.7), transparent 43%), linear-gradient(135deg,#034f43,#08745f); border-radius: 1.15rem; box-shadow: 0 16px 34px rgba(3,79,67,.18); }.subscribe > svg { width: 2.4rem; height: 2.4rem; color: var(--lime); }.subscribe h2 { margin: 0; font-size: 1.3rem; }.subscribe p { margin: .3rem 0 0; color: #d5e9e4; font-size: .75rem; }.subscribe form { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 8rem; gap: .5rem; }.subscribe input { min-width: 0; height: 3rem; padding: 0 .85rem; color: var(--ink); background: #fff; border: 0; border-radius: .75rem; font-size: 1rem; }.subscribe form button { color: var(--ink); background: var(--lime); border: 0; border-radius: .75rem; font-size: .75rem; font-weight: 900; }.subscribe > small { grid-column: 1/-1; color: #bdd8d1; font-size: .64rem; line-height: 1.35; }

footer { margin-top: 1.5rem; padding: 2rem 1.25rem 6.7rem; color: #fff; background: #061e32; }.footer-brand { display: flex; align-items: center; gap: .75rem; padding-bottom: 1.3rem; border-bottom: 1px solid rgba(255,255,255,.13); }.footer-mark { color: #b9f1de; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }.footer-brand b { color: #d9fff0; font-size: 1.45rem; font-weight: 900; letter-spacing: -.04em; }.footer-brand p { margin: .2rem 0 0; color: #b6c5cf; font-size: .7rem; }.footer-links { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.5rem 2rem; padding: 1.6rem 0; }.footer-links div { display: flex; flex-direction: column; gap: .65rem; }.footer-links b { font-size: .8rem; }.footer-links span { color: #a8b8c5; font-size: .72rem; }.copyright { display: flex; flex-wrap: wrap; gap: .55rem 1rem; padding-top: 1rem; color: #8193a2; border-top: 1px solid rgba(255,255,255,.13); font-size: .65rem; }.photo-credit { margin: .75rem 0 0; color: #708594; font-size: .6rem; }.photo-credit a { color: #91a8b8; }

.bottom-nav { position: fixed; z-index: 40; left: 50%; bottom: 0; transform: translateX(-50%); width: min(100%,560px); min-height: 4.85rem; display: grid; grid-template-columns: repeat(5,1fr); align-items: center; padding: .35rem .45rem calc(.45rem + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); border-top: 1px solid var(--line); box-shadow: 0 -9px 30px rgba(9,35,58,.09); backdrop-filter: blur(16px); }.bottom-nav button { min-height: 3.65rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; color: #728396; background: transparent; border: 0; font-size: .65rem; }.bottom-nav button > svg { width: 1.45rem; height: 1.45rem; }.bottom-nav .selected { color: var(--green); font-weight: 700; }.bottom-nav .create { color: var(--ink); }.bottom-nav .create > span { width: 3.55rem; height: 3.55rem; margin-top: -2.15rem; display: grid; place-items: center; color: var(--green-dark); background: var(--lime); border: 5px solid #fff; border-radius: 50%; box-shadow: 0 7px 18px rgba(9,35,58,.18); }.bottom-nav .create span svg { width: 1.65rem; height: 1.65rem; stroke-width: 2.5; }.bottom-nav .create b { font-size: .62rem; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
@media (max-width: 560px) { .prototype-stage { padding: 0 0 4.8rem; }.mobile-site { box-shadow: none; } }
@media (max-width: 400px) {
  .topbar { padding-inline: .85rem; }.brand strong { font-size: 1.45rem; }.brand small { font-size: .49rem; }.brand-mark { width: 2.4rem; height: 2.4rem; }
  .hero { height: 29rem; }.hero h1 { font-size: 2.75rem; }.hero-copy { inset-inline: 1.1rem; }.hero-copy > div { grid-template-columns: 1fr; }.button-glass { min-height: 2.8rem; }
  .shortcuts { padding-inline: .7rem; }.shortcut-grid { gap: .45rem; }.shortcut { min-height: 7.7rem; padding-inline: .25rem; }.shortcut .icon-box { width: 2.7rem; height: 2.7rem; }.shortcut > span:last-child { font-size: .68rem; }
  .block { margin-inline: .7rem; }.metrics { gap: .35rem; }.metrics article { padding-inline: .35rem; }.metrics b { font-size: 1.08rem; }.metrics span, .metrics small { font-size: .58rem; }
  .section-heading h2 { font-size: 1.38rem; }.section-heading button { font-size: .7rem; }.publication-copy h3 { font-size: .8rem; }.company-grid { gap: .4rem; }.company-grid article { padding-inline: .2rem; }.logo { width: 3rem; height: 3rem; }
  .listing-cta { grid-template-columns: 32% 68%; }.listing-cta > div { padding-inline: .75rem; }.premium-copy { width: 90%; }.premium h2 { font-size: 1.75rem; }
}
