/* ==========================================================================
   Larger text: the menu button from 1161px down (Ben, 8 Oct 2026, header fix A). GENERATED, do not edit by hand.

   Seven links, the Accessibility button and Start a project do not fit on one row at the larger
   size between 1101px and 1160px, so Larger text uses the menu there, as Standard does at 1100px
   and below. Source: the menu rules of shell.css and viewing-options.css, repeated under
   html[data-text-size="large"] for 1101-1160px. Edit the source rule, then run
     python3 docs/verification/large-menu-mirror.py
   `--check` fails if this file is not exactly what the sources produce.
   ========================================================================== */

@media screen and (min-width: 1101px) and (max-width: 1160px) {
	html[data-text-size="large"] .nav {
		display: none;
	}

	html[data-text-size="large"] .menu-btn {
		display: grid;
		flex: none;
		place-items: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border-radius: 12px;
	}

	html[data-text-size="large"] .menu-icon,
	html[data-text-size="large"] .menu-icon::before,
	html[data-text-size="large"] .menu-icon::after {
		display: block;
		position: relative;
		width: 28px;
		height: 3px;
		background: var(--ink);
		transition: 0.2s;
	}

	html[data-text-size="large"] .menu-icon::before,
	html[data-text-size="large"] .menu-icon::after {
		content: "";
		position: absolute;
		left: 0;
	}

	html[data-text-size="large"] .menu-icon::before {
		top: -9px;
	}

	html[data-text-size="large"] .menu-icon::after {
		top: 9px;
	}

	html[data-text-size="large"] .nav-open .menu-icon {
		background: transparent;
	}

	html[data-text-size="large"] .nav-open .menu-icon::before {
		top: 0;
		transform: rotate(45deg);
	}

	html[data-text-size="large"] .nav-open .menu-icon::after {
		top: 0;
		transform: rotate(-45deg);
	}

	html[data-text-size="large"] .mobile-nav {
		display: block;
		position: fixed;
		inset: var(--header-h) 0 0;
		z-index: 900;
		display: block;
		background: var(--paper);
		overflow: auto;
		overscroll-behavior: contain;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-10px);
		transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
	}

	html[data-text-size="large"] .nav-open .mobile-nav {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0s;
	}

	html[data-text-size="large"] .mobile-nav-wrap {
		position: relative;
		z-index: 1;
		min-height: 100%;
		display: grid;
		gap: 32px;
		align-content: start;
		padding: 34px var(--pad-x) 28px;
	}

	html[data-text-size="large"] .mobile-nav .eyebrow {
		margin-bottom: 0;
		font-size: max(calc(13.2px * var(--type-small)), var(--type-floor));
		line-height: 1.1;
		font-weight: 800;
		letter-spacing: 0.18em;
		text-transform: uppercase;
	}

	html[data-text-size="large"] .mobile-nav-menu {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	html[data-text-size="large"] .mobile-nav-menu li {
		border-top: 1px solid var(--line);
	}

	html[data-text-size="large"] .mobile-nav-menu li:last-child {
		border-bottom: 1px solid var(--line);
	}

	html[data-text-size="large"] .mobile-nav-menu a {
		position: relative;
		min-height: 68px;
		display: grid;
		grid-template-columns: 34px minmax(0, 1fr) 30px;
		align-items: center;
		gap: 12px;
		color: var(--ink);
		text-decoration: none;
		transition: transform 0.2s ease;
	}

	html[data-text-size="large"] .mobile-nav-menu a::after {
		content: "";
		position: absolute;
		left: 34px;
		right: 30px;
		bottom: -1px;
		height: 3px;
		background: linear-gradient(90deg, var(--orange), var(--red));
		transform: scaleX(0);
		transform-origin: left;
		transition: 0.2s;
	}

	html[data-text-size="large"] .mobile-nav-menu a:hover,
	html[data-text-size="large"] .mobile-nav-menu a:focus-visible {
		transform: translateX(6px);
	}

	html[data-text-size="large"] .mobile-nav-menu a:hover::after,
	html[data-text-size="large"] .mobile-nav-menu a:focus-visible::after {
		transform: scaleX(1);
	}

	html[data-text-size="large"] .mobile-nav-num {
		font-size: max(calc(10px * var(--type-small)), var(--type-floor));
		font-weight: var(--fw-eyebrow);
		letter-spacing: 0.14em;
		color: var(--muted);
	}

	html[data-text-size="large"] .mobile-nav-title {
		font-size: calc(32px * var(--type-heading));
		line-height: 0.98;
		font-weight: var(--fw-title);
		letter-spacing: var(--tr-display);
	}

	html[data-text-size="large"] .mobile-nav-arrow {
		font-size: calc(22px * var(--type-heading));
		transition: 0.2s;
	}

	html[data-text-size="large"] .mobile-nav-menu a:hover .mobile-nav-arrow,
	html[data-text-size="large"] .mobile-nav-menu a:focus-visible .mobile-nav-arrow {
		transform: translateX(5px);
	}

	html[data-text-size="large"] .mobile-nav-utility {
		display: grid;
		gap: 20px;
	}

	html[data-text-size="large"] .mobile-nav-utility .mobile-nav-title {
		margin: 6px 0 8px;
		font-size: calc(26px * var(--type-heading));
		line-height: 1.02;
		font-weight: var(--fw-title);
		letter-spacing: var(--tr-display);
	}

	html[data-text-size="large"] .mobile-nav-utility p {
		max-width: 30ch;
		margin: 0;
		font-size: calc(17px * var(--type-reading));
		line-height: 1.48;
		color: var(--muted);
	}

	html[data-text-size="large"] .mobile-nav-contact {
		display: grid;
		gap: 7px;
	}

	html[data-text-size="large"] .mobile-nav-contact a {
		font-size: calc(17px * var(--type-reading));
		font-weight: var(--fw-eyebrow);
		color: var(--ink);
		text-decoration: none;
	}

	html[data-text-size="large"] .mobile-nav-contact a:hover,
	html[data-text-size="large"] .mobile-nav-contact a:focus-visible {
		color: var(--orange-text);
	}

	html[data-text-size="large"] .mobile-nav-cta {
		min-height: 54px;
		padding: 0 18px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		border: 1px solid var(--ink);
		border-radius: var(--r-button);
		background: var(--ink);
		color: var(--white);
		font-size: calc(14px * var(--type-reading));
		font-weight: var(--fw-eyebrow);
		text-decoration: none;
		transition: transform 0.2s ease, background 0.2s ease;
	}

	html[data-text-size="large"] .mobile-nav-cta:hover,
	html[data-text-size="large"] .mobile-nav-cta:focus-visible {
		transform: translateY(-2px);
		background: #292929;
	}

	html[data-text-size="large"] .mobile-nav-foot {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 16px;
	}

	html[data-text-size="large"] .mobile-nav-social {
		display: flex;
		flex-wrap: wrap;
		gap: 10px 14px;
		font-size: max(calc(10px * var(--type-small)), var(--type-floor));
		font-weight: var(--fw-eyebrow);
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	html[data-text-size="large"] .mobile-nav-social a {
		color: var(--ink);
		text-decoration: none;
	}

	html[data-text-size="large"] .mobile-nav-social a:hover,
	html[data-text-size="large"] .mobile-nav-social a:focus-visible {
		color: var(--orange-text);
	}

	html[data-text-size="large"] .mobile-nav-place {
		font-size: max(calc(10px * var(--type-small)), var(--type-floor));
		color: var(--muted);
		white-space: nowrap;
	}

	html[data-text-size="large"] .nav-open {
		overflow: hidden;
	}

	html[data-text-size="large"] .mobile-nav-wrap {
		grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
		gap: 44px 64px;
		padding-top: 48px;
	}

	html[data-text-size="large"] .mobile-nav-main {
		grid-row: 1 / span 2;
	}

	html[data-text-size="large"] .mobile-nav-menu a {
		min-height: 74px;
	}

	html[data-text-size="large"] .mobile-nav-title {
		font-size: calc(38px * var(--type-heading));
	}

	html[data-text-size="large"] .mobile-nav-utility,
	html[data-text-size="large"] .mobile-nav-foot {
		border-left: 1px solid var(--line);
		padding-left: 34px;
	}

	html[data-text-size="large"] .mobile-nav-utility .mobile-nav-title {
		font-size: calc(32px * var(--type-heading));
	}

	html[data-text-size="large"] .mobile-nav-cta {
		max-width: 360px;
	}

	html[data-text-size="large"] .viewing-control {
		display: none;
	}

	html[data-text-size="large"] .header-inner .menu-btn {
		margin-left: auto;
	}
}
