.as-landing {
	--as-ink: #082828;
	--as-paper: #f4f1e8;
	--as-cream: #fffdf7;
	--as-lime: #d9f756;
	--as-coral: #f85944;
	--as-blue: #4a78ff;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background: var(--as-paper);
	color: var(--as-ink);
	font-family: 'Manrope', sans-serif;
}

.as-comp-frame {
	position: relative;
	width: 100%;
	height: clamp(760px, 62vw, 940px);
	overflow: hidden;
	background: var(--as-paper);
}

.as-home {
	--as-ink: #082828;
	--as-paper: #f4f1e8;
	--as-cream: #fffdf7;
	--as-lime: #d9f756;
	--as-coral: #f85944;
	--as-blue: #4a78ff;
	background: var(--as-paper, #f4f1e8);
}

.as-home .inst-bg {
	display: none;
}

.as-home .inst-main,
.as-home .inst-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.as-home .inst-nav {
	position: relative;
	z-index: 100;
	min-height: 7rem;
	padding: 1.1rem 2.2rem;
	background: var(--as-cream);
	border-bottom: 1px solid rgba(8, 40, 40, .16);
	box-shadow: none;
}

.as-home .inst-nav .container {
	max-width: 1440px;
}

.as-home .inst-nav .navbar-brand {
	color: var(--as-ink);
	font-family: 'Archivo Narrow', sans-serif;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: -.02em;
}

.as-home .inst-nav .navbar-brand img {
	width: 36px;
	height: 36px;
}

.as-home .inst-nav .nav-link {
	color: var(--as-ink) !important;
	font-size: .84rem;
	font-weight: 600;
	letter-spacing: -.01em;
}

.as-home .inst-nav-links .nav-item {
	margin-right: .45rem;
}

.as-home .inst-nav .btn-login {
	padding: .7rem 1.15rem !important;
	background: var(--as-lime) !important;
	color: var(--as-ink) !important;
	border: 1px solid rgba(8, 40, 40, .2) !important;
	border-radius: 10px !important;
}

.as-home .navbar-toggler {
	position: relative;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	background: var(--as-lime);
	border: 1px solid rgba(8, 40, 40, .24);
	border-radius: 9px;
}

.as-home .navbar-toggler-icon {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 1.1rem;
	height: 12px;
	background: none;
	border-top: 2px solid var(--as-ink);
	border-bottom: 2px solid var(--as-ink);
	transform: translate(-50%, -50%);
}

.as-home .navbar-toggler-icon::after {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	width: 100%;
	height: 2px;
	background: var(--as-ink);
}

.as-home .inst-nav .btn-login:hover,
.as-home .inst-nav .btn-login:focus-visible,
.as-primary-cta:hover,
.as-primary-cta:focus-visible {
	background: #c8e942 !important;
	color: var(--as-ink);
	transform: translateY(-2px);
}

.as-home .inst-footer {
	background: var(--as-ink);
	color: var(--as-cream);
}

.as-home .inst-footer a {
	color: #dce8e3;
}

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

.as-landing ::selection {
	background: var(--as-coral);
	color: var(--as-cream);
}

.as-comp-frame {
	min-height: 760px;
	border-bottom: 1px solid rgba(8, 40, 40, .18);
}

.as-planner {
	position: absolute;
	inset: 0 1.8rem 20%;
	background:
		linear-gradient(to right, transparent 9%, rgba(8, 40, 40, .14) 9%, rgba(8, 40, 40, .14) calc(9% + 1px), transparent calc(9% + 1px)),
		repeating-linear-gradient(to right, transparent 0, transparent calc(18.2% - 1px), rgba(8, 40, 40, .14) calc(18.2% - 1px), rgba(8, 40, 40, .14) 18.2%),
		repeating-linear-gradient(to bottom, transparent 0, transparent calc(9.1% - 1px), rgba(8, 40, 40, .12) calc(9.1% - 1px), rgba(8, 40, 40, .12) 9.1%);
	border: 1px solid rgba(8, 40, 40, .28);
	border-radius: 14px;
	overflow: hidden;
}

.as-days {
	position: absolute;
	left: 9%;
	right: 0;
	top: 0;
	height: 15%;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	border-bottom: 1px solid rgba(8, 40, 40, .16);
	background: rgba(255, 253, 247, .82);
}

.as-days > span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-family: 'Archivo Narrow', sans-serif;
	font-size: clamp(.8rem, 1.1vw, 1.08rem);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.as-days small {
	font-family: 'Manrope', sans-serif;
	font-size: .65em;
	font-weight: 600;
	letter-spacing: .02em;
}

.as-days b {
	position: absolute;
	top: .5rem;
	right: .55rem;
	padding: .2rem .38rem;
	background: var(--as-lime);
	border-radius: 5px;
	font-family: 'Manrope', sans-serif;
	font-size: .5rem;
	letter-spacing: .04em;
}

.as-time-scale {
	position: absolute;
	left: 0;
	top: 15%;
	bottom: 0;
	width: 9%;
	display: grid;
	grid-template-rows: repeat(10, 1fr);
	background: rgba(255, 253, 247, .78);
}

.as-time-scale span {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: .25rem;
	font-size: clamp(.54rem, .72vw, .72rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.as-event {
	position: absolute;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: .08rem;
	min-width: 8.5rem;
	padding: .65rem .75rem;
	border-radius: 7px;
	box-shadow: 0 7px 18px rgba(8, 40, 40, .08);
	font-size: clamp(.52rem, .65vw, .7rem);
	line-height: 1.25;
}

.as-event strong,
.as-event span {
	font-weight: 700;
}

.as-event-blue { background: #e5edff; color: #17376b; }
.as-event-green { background: #eaf4dc; color: #294e31; }
.as-event-a { left: 50%; top: 21%; }
.as-event-b { left: 50%; top: 49%; }
.as-event-c { left: 77%; top: 29%; }
.as-event-d { left: 50%; top: 71%; }
.as-event-e { left: 86%; top: 64%; }

.as-hero-panel {
	position: absolute;
	z-index: 10;
	left: 8%;
	top: 7%;
	width: min(32%, 620px);
	height: min(72%, 650px);
	padding: clamp(1.6rem, 3vw, 3.4rem) clamp(1.6rem, 3.2vw, 3.8rem);
	background: var(--as-ink);
	color: var(--as-cream);
	border-radius: 0 16px 16px 0;
	box-shadow: 0 22px 48px rgba(8, 40, 40, .18);
}

.as-hero-panel h1 {
	width: auto;
	max-width: 8.5ch;
	margin: 0;
	font-family: 'Archivo Narrow', sans-serif;
	font-size: clamp(3.7rem, 5.4vw, 5.8rem);
	font-weight: 700;
	line-height: .86;
	letter-spacing: -.035em;
	white-space: normal;
	transform: none;
	text-wrap: balance;
}

.as-title-rule {
	display: block;
	width: 3rem;
	height: .3rem;
	margin: clamp(.9rem, 1.8vh, 1.35rem) 0;
	background: var(--as-lime);
	border-radius: 2px;
}

.as-hero-panel > p {
	max-width: 18ch;
	margin: 0;
	font-size: clamp(.9rem, 1.25vw, 1.25rem);
	line-height: 1.45;
	letter-spacing: -.03em;
}

.as-trust-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .75rem;
	margin: clamp(.8rem, 1.8vh, 1.35rem) 0;
	padding: 0;
	list-style: none;
}

.as-trust-list li {
	display: flex;
	align-items: center;
	gap: .45rem;
	font-size: clamp(.7rem, .76vw, .78rem);
	font-weight: 600;
	line-height: 1.25;
}

.as-trust-list svg {
	width: 1.35rem;
	height: 1.35rem;
	flex: 0 0 auto;
	fill: none;
	stroke: var(--as-lime);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.as-primary-cta {
	position: absolute;
	left: clamp(1.6rem, 3.2vw, 3.8rem);
	right: clamp(1.6rem, 3.2vw, 3.8rem);
	bottom: 1.8rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: auto;
	padding: 1.2rem 1.15rem;
	background: var(--as-lime);
	color: var(--as-ink);
	border: 1px solid rgba(8, 40, 40, .16);
	border-radius: 10px;
	font-family: 'Archivo Narrow', sans-serif;
	font-size: clamp(1rem, 1.3vw, 1.3rem);
	font-weight: 700;
	text-decoration: none;
	transition: transform .2s ease, background-color .2s ease;
}

.as-primary-cta span {
	font-family: 'Manrope', sans-serif;
	font-size: 1.5em;
	line-height: .8;
}

.as-trial-note {
	position: absolute;
	left: clamp(1.6rem, 3.2vw, 3.8rem);
	bottom: .45rem;
	display: block;
	margin-top: 0;
	color: #cfdbd6;
	font-size: clamp(.62rem, .76vw, .76rem);
}

.as-moving-appointment {
	position: absolute;
	z-index: 5;
	inset: 0;
	pointer-events: none;
}

.as-appointment {
	position: absolute;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: .22rem;
	width: clamp(8rem, 11vw, 10.5rem);
	padding: .8rem .85rem;
	background: var(--as-coral);
	color: #fff;
	border-radius: 9px;
	box-shadow: 0 12px 28px rgba(248, 89, 68, .24);
	font-size: clamp(.58rem, .75vw, .76rem);
	line-height: 1.2;
}

.as-appointment small,
.as-appointment strong,
.as-appointment span {
	font-style: normal;
}

.as-appointment strong { font-weight: 800; }

.as-appointment em {
	align-self: flex-start;
	margin-top: .25rem;
	padding: .24rem .42rem;
	background: rgba(255, 255, 255, .18);
	border-radius: 4px;
	font-size: .85em;
	font-style: normal;
}

.as-appointment-source { left: 39%; top: 24%; }
.as-appointment-destination { left: 70%; top: 49%; }

.as-reschedule-path {
	position: absolute;
	left: 46%;
	top: 28%;
	width: 34%;
	height: 30%;
	overflow: visible;
}

.as-path-line {
	fill: none;
	stroke: var(--as-coral);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-dasharray: 760;
	stroke-dashoffset: 760;
	animation: as-draw-path 4.8s cubic-bezier(.16, 1, .3, 1) infinite;
}

.as-clock {
	fill: var(--as-cream);
	stroke: var(--as-coral);
	stroke-width: 3;
	transform-box: fill-box;
	transform-origin: center;
	animation: as-clock-tick 4.8s cubic-bezier(.16, 1, .3, 1) infinite;
}

.as-clock path {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@keyframes as-draw-path {
	0%, 12% { stroke-dashoffset: 760; opacity: .18; }
	48%, 82% { stroke-dashoffset: 0; opacity: 1; }
	100% { stroke-dashoffset: -760; opacity: .18; }
}

@keyframes as-clock-tick {
	0%, 15% { opacity: 0; transform: scale(.75) rotate(-18deg); }
	36%, 82% { opacity: 1; transform: scale(1) rotate(0); }
	100% { opacity: 0; transform: scale(.75) rotate(18deg); }
}

.as-proof-band {
	position: absolute;
	z-index: 20;
	left: 0;
	right: 0;
	top: auto;
	bottom: 0;
	height: 15%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: center;
	padding: 0 6.5%;
	background: var(--as-cream);
	border-top: 1px solid rgba(8, 40, 40, .14);
	border-bottom: 1px solid rgba(8, 40, 40, .14);
}

.as-proof-band > div {
	display: flex;
	align-items: center;
	gap: .85rem;
	min-width: 0;
	padding: 0 1.7rem;
	border-right: 1px solid rgba(8, 40, 40, .14);
}

.as-proof-band > div:last-child { border-right: 0; }

.as-proof-icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	flex: 0 0 auto;
	background: var(--as-ink);
	border-radius: 50%;
}

.as-proof-icon svg {
	width: 1.4rem;
	height: 1.4rem;
	fill: none;
	stroke: var(--as-lime);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.as-proof-band p {
	display: flex;
	flex-direction: column;
	gap: .18rem;
	min-width: 0;
	margin: 0;
}

.as-proof-band strong {
	font-size: clamp(.72rem, .9vw, .9rem);
	font-weight: 800;
}

.as-proof-band p span {
	font-size: clamp(.7rem, .74vw, .76rem);
	line-height: 1.35;
}

.as-landing a:focus-visible,
.as-landing button:focus-visible {
	outline: 3px solid var(--as-coral);
	outline-offset: 4px;
}

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

	.as-path-line {
		stroke-dashoffset: 0;
	}

	.as-clock {
		opacity: 1;
	}
}

.as-section-shell {
	width: min(100% - 3rem, 1240px);
	margin: 0 auto;
}

.as-product-story,
.as-features,
.as-process,
.as-difference,
.as-real-product,
.as-pricing,
.as-faq,
.as-final-cta {
	position: relative;
	overflow: hidden;
}

.as-product-story,
.as-process,
.as-real-product,
.as-faq {
	padding: clamp(5rem, 10vw, 9rem) 0;
	background: var(--as-paper);
}

.as-story-grid {
	display: grid;
	grid-template-columns: .72fr 1.28fr;
	align-items: center;
	gap: clamp(3rem, 7vw, 7rem);
}

.as-story-copy h2,
.as-features h2,
.as-section-heading h2,
.as-difference h2,
.as-pricing h2,
.as-faq h2,
.as-final-cta h2 {
	margin: 0;
	font-family: 'Archivo Narrow', sans-serif;
	font-size: clamp(3.25rem, 6vw, 6rem);
	font-weight: 700;
	line-height: .9;
	letter-spacing: -.035em;
	text-wrap: balance;
}

.as-story-copy > p,
.as-section-heading > p,
.as-difference-grid > div > p,
.as-pricing-copy > p:not(.as-price),
.as-faq-grid > div:first-child > p {
	max-width: 58ch;
	margin: 2rem 0;
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.75;
}

.as-text-link {
	display: inline-flex;
	align-items: center;
	gap: .8rem;
	padding-bottom: .3rem;
	color: var(--as-ink);
	border-bottom: 2px solid var(--as-coral);
	font-weight: 800;
	text-decoration: none;
}

.as-text-link:hover {
	color: var(--as-coral);
}

.as-product-window {
	position: relative;
	margin: 0;
	background: var(--as-cream);
	border: 1px solid rgba(8, 40, 40, .18);
	border-radius: 14px;
	box-shadow: 0 28px 60px rgba(8, 40, 40, .14);
	overflow: hidden;
}

.as-window-bar {
	display: flex;
	align-items: center;
	gap: .4rem;
	height: 2.6rem;
	padding: 0 1rem;
	border-bottom: 1px solid rgba(8, 40, 40, .12);
}

.as-window-bar > span {
	width: .55rem;
	height: .55rem;
	background: var(--as-coral);
	border-radius: 50%;
}

.as-window-bar > span:nth-child(2) { background: var(--as-lime); }
.as-window-bar > span:nth-child(3) { background: var(--as-blue); }

.as-window-bar small {
	margin-left: auto;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .03em;
}

.as-product-window img {
	display: block;
	width: 100%;
	height: auto;
}

.as-product-window figcaption {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	max-width: 34ch;
	padding: .75rem 1rem;
	background: var(--as-ink);
	color: var(--as-cream);
	border-radius: 8px;
	font-size: .72rem;
	line-height: 1.45;
}

.as-features {
	padding: clamp(5rem, 9vw, 8rem) 0;
	background: var(--as-ink);
	color: var(--as-cream);
}

.as-features-grid {
	display: grid;
	grid-template-columns: .72fr 1.28fr;
	align-items: center;
	gap: clamp(3rem, 7vw, 8rem);
}

.as-features h2 {
	max-width: 10ch;
	margin-bottom: 3rem;
}

.as-clock-stage {
	position: sticky;
	top: 6rem;
	display: grid;
	place-items: center;
}

.as-clock-stage svg {
	width: min(100%, 420px);
	height: auto;
	overflow: visible;
}

.as-clock-ring,
.as-clock-ring-inner,
.as-clock-marks,
.as-clock-hour,
.as-clock-minute {
	fill: none;
	stroke: var(--as-cream);
	stroke-width: 2;
	stroke-linecap: round;
}

.as-clock-ring { opacity: .4; }
.as-clock-ring-inner { opacity: .12; }
.as-clock-marks { opacity: .65; }

.as-clock-hour,
.as-clock-minute {
	transform-box: fill-box;
	transform-origin: center bottom;
}

.as-clock-hour { stroke: var(--as-lime); stroke-width: 5; animation: as-hand-hour 24s linear infinite; }
.as-clock-minute { stroke: var(--as-coral); stroke-width: 4; animation: as-hand-minute 8s linear infinite; }

@keyframes as-hand-hour { to { transform: rotate(360deg); } }
@keyframes as-hand-minute { to { transform: rotate(360deg); } }

.as-clock-stage > p {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
}

.as-clock-stage strong {
	font-family: 'Archivo Narrow', sans-serif;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.as-clock-stage p span {
	margin-top: .4rem;
	color: #bdcbc6;
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.as-feature-ledger {
	border-top: 1px solid rgba(255, 253, 247, .24);
}

.as-feature-ledger article {
	display: grid;
	grid-template-columns: 5.2rem 1fr auto;
	align-items: start;
	gap: 1.5rem;
	padding: 1.55rem 0;
	border-bottom: 1px solid rgba(255, 253, 247, .24);
}

.as-feature-ledger time {
	color: var(--as-lime);
	font-size: .78rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.as-feature-ledger h3 {
	margin: 0 0 .35rem;
	font-size: 1.05rem;
	font-weight: 800;
}

.as-feature-ledger p {
	margin: 0;
	color: #bdcbc6;
	font-size: .83rem;
	line-height: 1.55;
}

.as-feature-ledger article > span {
	padding: .3rem .55rem;
	border: 1px solid rgba(255, 253, 247, .24);
	border-radius: 999px;
	font-size: .61rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.as-section-heading {
	display: grid;
	grid-template-columns: 1.4fr .6fr;
	align-items: end;
	gap: 3rem;
	margin-bottom: clamp(3rem, 6vw, 6rem);
}

.as-section-heading h2 {
	max-width: 12ch;
}

.as-section-heading > p { margin: 0 0 .5rem; }

.as-process-line {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.as-process-line::before {
	content: '';
	position: absolute;
	left: 3rem;
	right: 3rem;
	top: 2rem;
	height: 1px;
	background: rgba(8, 40, 40, .3);
}

.as-process-line li {
	position: relative;
	display: grid;
	grid-template-columns: 4rem 1fr;
	gap: 1rem;
	padding-right: 2rem;
}

.as-process-line li > span {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	background: var(--as-lime);
	border: 1px solid rgba(8, 40, 40, .24);
	border-radius: 50%;
	font-family: 'Archivo Narrow', sans-serif;
	font-size: 1.65rem;
	font-weight: 700;
}

.as-process-line h3 {
	margin: .25rem 0 .55rem;
	font-size: 1.05rem;
	font-weight: 800;
}

.as-process-line p {
	margin: 0;
	font-size: .85rem;
	line-height: 1.6;
}

.as-process-action {
	display: flex;
	justify-content: center;
	margin-top: 4rem;
}

.as-primary-cta-static {
	position: static;
	width: auto;
	min-width: 18rem;
	gap: 2rem;
}

.as-difference {
	padding: clamp(5rem, 9vw, 8rem) 0;
	background: var(--as-coral);
	color: var(--as-cream);
}

.as-difference-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 8vw, 8rem);
}

.as-difference h2 { max-width: 10ch; }

.as-difference-grid ul {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(255, 253, 247, .34);
	list-style: none;
}

.as-difference-grid li {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 1.5rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid rgba(255, 253, 247, .34);
}

.as-difference-grid li strong {
	font-size: .94rem;
	font-weight: 800;
}

.as-difference-grid li span {
	font-size: .82rem;
	line-height: 1.6;
}

.as-section-heading-wide {
	grid-template-columns: 1fr .35fr;
}

.as-device-stage {
	position: relative;
	min-height: 620px;
}

.as-device-stage figure { margin: 0; }

.as-desktop-shot {
	position: absolute;
	left: 0;
	top: 0;
	width: 82%;
	padding: .8rem;
	background: var(--as-cream);
	border: 1px solid rgba(8, 40, 40, .2);
	border-radius: 14px;
	box-shadow: 0 30px 60px rgba(8, 40, 40, .14);
}

.as-desktop-shot img,
.as-mobile-shot img {
	display: block;
	width: 100%;
	height: auto;
}

.as-mobile-shot {
	position: absolute;
	right: 1%;
	bottom: -2rem;
	width: 24%;
	padding: .65rem;
	background: var(--as-ink);
	border-radius: 22px;
	box-shadow: 0 30px 60px rgba(8, 40, 40, .24);
}

.as-device-stage figcaption {
	padding: .75rem .4rem 0;
	font-size: .68rem;
	font-weight: 800;
}

.as-mobile-shot figcaption { color: var(--as-cream); }

.as-pricing {
	padding: clamp(5rem, 9vw, 8rem) 0;
	background: var(--as-lime);
}

.as-pricing-grid {
	display: grid;
	grid-template-columns: 1fr .82fr;
	gap: clamp(3rem, 8vw, 8rem);
	align-items: center;
}

.as-price {
	margin: 3rem 0 0;
	font-family: 'Archivo Narrow', sans-serif;
	font-size: clamp(3rem, 5.5vw, 5.5rem);
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.as-price-warning {
	max-width: 48ch;
	margin-top: 1rem;
	font-size: .8rem;
}

.as-plan-details {
	padding: clamp(2rem, 4vw, 4rem);
	background: var(--as-ink);
	color: var(--as-cream);
	border-radius: 14px;
	box-shadow: 0 24px 48px rgba(8, 40, 40, .18);
}

.as-plan-name {
	margin: 0 0 .6rem;
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.as-plan-details > p:not(.as-plan-name) {
	color: #bdcbc6;
	font-size: .86rem;
	line-height: 1.6;
}

.as-plan-details ul {
	margin: 2rem 0;
	padding: 0;
	border-top: 1px solid rgba(255, 253, 247, .2);
	list-style: none;
}

.as-plan-details li {
	position: relative;
	padding: .8rem 0 .8rem 1.6rem;
	border-bottom: 1px solid rgba(255, 253, 247, .2);
	font-size: .82rem;
}

.as-plan-details li::before {
	content: '';
	position: absolute;
	left: .1rem;
	top: 1rem;
	width: .65rem;
	height: .35rem;
	border-left: 2px solid var(--as-lime);
	border-bottom: 2px solid var(--as-lime);
	transform: rotate(-45deg);
}

.as-plan-details small {
	display: block;
	margin-top: 1rem;
	color: #9fb2ab;
	font-size: .67rem;
	line-height: 1.5;
}

.as-faq-grid {
	display: grid;
	grid-template-columns: .72fr 1.28fr;
	gap: clamp(3rem, 8vw, 8rem);
}

.as-faq h2 { max-width: 8ch; }

.as-faq-list {
	border-top: 1px solid rgba(8, 40, 40, .28);
}

.as-faq-list details {
	border-bottom: 1px solid rgba(8, 40, 40, .28);
}

.as-faq-list summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 1.5rem 0;
	cursor: pointer;
	font-size: .95rem;
	font-weight: 800;
	list-style: none;
}

.as-faq-list summary::-webkit-details-marker { display: none; }

.as-faq-list summary span {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	flex: 0 0 auto;
	background: var(--as-lime);
	border-radius: 50%;
	font-size: 1.3rem;
	transition: transform .2s ease;
}

.as-faq-list details[open] summary span { transform: rotate(45deg); }

.as-faq-list details p {
	max-width: 66ch;
	margin: 0;
	padding: 0 3rem 1.5rem 0;
	font-size: .86rem;
	line-height: 1.7;
}

.as-final-cta {
	padding: clamp(6rem, 12vw, 11rem) 0;
	background: var(--as-ink);
	color: var(--as-cream);
	text-align: center;
}

.as-final-cta .as-section-shell {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.as-final-cta h2 {
	position: relative;
	z-index: 1;
	max-width: 12ch;
}

.as-final-clock {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(74vw, 620px);
	height: auto;
	transform: translate(-50%, -50%);
	fill: none;
	stroke: rgba(217, 247, 86, .16);
	stroke-width: 2;
}

.as-final-clock path {
	transform-box: fill-box;
	transform-origin: center bottom;
	animation: as-hand-minute 12s linear infinite;
}

.as-final-cta .as-primary-cta-static {
	position: relative;
	z-index: 1;
	margin-top: 3rem;
}

.as-final-cta > .as-section-shell > p {
	position: relative;
	z-index: 1;
	margin: 1rem 0 0;
	color: #bdcbc6;
	font-size: .72rem;
}

@media (max-width: 1100px) {
	.as-home .inst-nav { padding-inline: 1rem; }
	.as-home .inst-nav-links .nav-item { margin-right: 0; }
	.as-home .inst-nav .nav-link { font-size: .75rem; }
	.as-hero-panel { left: 4%; width: 38%; padding-inline: 2.3rem; }
	.as-hero-panel h1 { font-size: clamp(3.35rem, 5.2vw, 4.8rem); }
	.as-appointment-source { left: 40%; }
	.as-device-stage { min-height: 520px; }
}

@media (max-width: 767.98px) {
	.as-home .inst-nav {
		position: relative;
		min-height: 4.6rem;
		padding: .7rem 1rem;
	}

	.as-home .navbar-toggler {
		position: absolute;
		left: min(calc(100% - 3.75rem), 330px);
		right: auto;
		top: .9rem;
		z-index: 1000;
		display: flex !important;
		align-items: center;
		justify-content: center;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.as-home .inst-nav .navbar-brand {
		max-width: calc(100% - 4rem);
		font-size: 1.35rem;
	}

	.as-home .inst-nav .navbar-collapse {
		margin-top: .8rem;
		padding: .75rem;
		background: var(--as-cream);
		border-top: 1px solid rgba(8, 40, 40, .16);
	}

	.as-comp-frame {
		height: auto;
		min-height: 1120px;
	}

	.as-planner {
		inset: 480px .75rem 155px;
	}

	.as-days > span { font-size: .63rem; }
	.as-days > span:nth-child(4),
	.as-days > span:nth-child(5) { display: none; }
	.as-days { grid-template-columns: repeat(3, 1fr); }
	.as-days b { display: none; }
	.as-time-scale span { font-size: .7rem; }
	.as-event { min-width: 5.3rem; padding: .45rem; font-size: .7rem; }
	.as-event-a { left: 44%; top: 22%; }
	.as-event-b { left: 43%; top: 51%; }
	.as-event-c { display: none; }
	.as-event-d { left: 43%; top: 73%; }
	.as-event-e { display: none; }

	.as-hero-panel {
		left: .75rem;
		right: .75rem;
		top: 1rem;
		width: auto;
		height: 452px;
		padding: 1.5rem;
		border-radius: 14px;
	}

	.as-hero-panel h1 {
		width: auto;
		max-width: 9ch;
		font-size: clamp(3rem, 13vw, 4rem);
		line-height: .86;
		white-space: normal;
		transform: none;
	}

	.as-title-rule { margin: .75rem 0; }
	.as-hero-panel > p { max-width: 29ch; font-size: .8rem; line-height: 1.4; }
	.as-trust-list { position: absolute; left: 1.5rem; right: 1.5rem; bottom: 5.8rem; margin: 0; gap: .4rem; }
	.as-trust-list li { font-size: .7rem; }
	.as-trust-list svg { width: 1rem; height: 1rem; }
	.as-primary-cta { left: 1.5rem; right: 1.5rem; bottom: 2.1rem; padding: .8rem 1rem; }
	.as-trial-note { left: 1.5rem; bottom: .65rem; font-size: .7rem; }

	.as-appointment { width: 7.2rem; padding: .58rem; font-size: .54rem; }
	.as-appointment-source { left: 15%; top: 55%; }
	.as-appointment-destination { left: 57%; top: 68%; }
	.as-reschedule-path { left: 31%; top: 57%; width: 47%; height: 18%; }

	.as-proof-band {
		top: auto;
		bottom: 0;
		height: 140px;
		padding: 0 .6rem;
		gap: 0;
	}
	.as-proof-band > div { align-items: flex-start; flex-direction: column; gap: .35rem; padding: .75rem .55rem; }
	.as-proof-icon { width: 2rem; height: 2rem; }
	.as-proof-icon svg { width: 1rem; height: 1rem; }
	.as-proof-band strong { font-size: .7rem; }
	.as-proof-band p span { font-size: .7rem; line-height: 1.25; }
	.as-section-shell { width: min(100% - 2rem, 1240px); }
	.as-product-story,
	.as-process,
	.as-real-product,
	.as-faq { padding: 5rem 0; }
	.as-story-grid,
	.as-features-grid,
	.as-difference-grid,
	.as-pricing-grid,
	.as-faq-grid { grid-template-columns: 1fr; }
	.as-story-grid,
	.as-features-grid,
	.as-difference-grid,
	.as-pricing-grid,
	.as-faq-grid { gap: 3rem; }
	.as-story-copy h2,
	.as-features h2,
	.as-section-heading h2,
	.as-difference h2,
	.as-pricing h2,
	.as-faq h2,
	.as-final-cta h2 { font-size: clamp(3rem, 14vw, 4.6rem); }
	.as-product-window figcaption { position: static; max-width: none; border-radius: 0; }
	.as-clock-stage { position: relative; top: auto; }
	.as-clock-stage svg { width: min(82vw, 340px); }
	.as-feature-ledger article { grid-template-columns: 3.4rem 1fr; gap: .8rem; }
	.as-feature-ledger article > span { display: none; }
	.as-section-heading { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 3rem; }
	.as-process-line { grid-template-columns: 1fr; gap: 2.5rem; }
	.as-process-line::before { left: 2rem; right: auto; top: 2rem; bottom: 2rem; width: 1px; height: auto; }
	.as-process-line li { padding-right: 0; }
	.as-difference-grid li { grid-template-columns: 1fr; gap: .45rem; }
	.as-device-stage { min-height: 430px; }
	.as-desktop-shot { width: 94%; }
	.as-mobile-shot { right: 0; bottom: 0; width: 33%; }
	.as-primary-cta-static { position: static; min-width: 0; width: 100%; }
	.as-faq-list summary { font-size: .84rem; }
	.as-final-cta { padding: 7rem 0; }
}
