/* Styles theme.json cannot express. The printed annual, in navy and gold: one vertical axis at five twelfths of the
   width; headings and text hang from it, pictures and notes sit to its left. Calm sizes, real content, real pictures. */

:root {
	--m: var(--wp--style--root--padding-left, clamp(16px, 2.2vw, 32px)); /* the page's one pair of margins */
	--gap: 24px;
	--section: clamp(48px, 5vw, 80px);
	--navy: var(--wp--preset--color--navy);
	--navy-2: var(--wp--preset--color--navy-2);
	--slate: var(--wp--preset--color--slate);
	--mist: var(--wp--preset--color--mist);
	--gold: var(--wp--preset--color--gold);
	--gold-light: var(--wp--preset--color--gold-light);
	--gold-dark: var(--wp--preset--color--gold-dark);
	--on-navy-soft: #C3CAD6;
	--fs-small: var(--wp--preset--font-size--small);
	--fs-body: var(--wp--preset--font-size--body);
	--fs-lead: var(--wp--preset--font-size--lead);
	--fs-head: var(--wp--preset--font-size--head);
	--fs-display: var(--wp--preset--font-size--display);
	--display: var(--wp--preset--font-family--display);
	--text: var(--wp--preset--font-family--text);
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

:where(a, button, input, select, textarea, summary, .wp-block-navigation-item__content):focus-visible {
	outline: 2px solid var(--gold-dark);
	outline-offset: 3px;
}

/* Full-width sections sit flush against each other and against header and footer. */
.wp-site-blocks > * + *,
.lamasat-main .entry-content > * + .alignfull,
.lamasat-main .entry-content > .alignfull + * { margin-block-start: 0; }
.lamasat-main .entry-content > .alignfull:last-child { margin-block-end: 0; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; transition: color 160ms ease, text-underline-offset 160ms ease; }
a:hover { text-underline-offset: 0.3em; }
p { line-height: 1.6; }

/* Buttons: one flat rectangle, navy on paper, gold on navy. */
.wp-block-button__link, .wp-element-button { transition: background-color 180ms ease, color 180ms ease, scale 140ms var(--ease-out); }
.wp-block-button__link:active, .wp-element-button:active { scale: 0.97; }
.wp-block-button.is-style-gold .wp-block-button__link { background: var(--gold); color: var(--navy); }
.wp-block-button.is-style-gold .wp-block-button__link:hover { background: var(--gold-light); color: var(--navy); }
.wp-block-buttons { gap: 24px; align-items: center; }
.wp-block-button.is-style-text .wp-block-button__link { background: none; color: var(--navy); padding: 0; text-decoration: underline; }
.wp-block-button.is-style-text .wp-block-button__link:hover { color: var(--gold-dark); }

/* Header: the logo in the top-left corner, the pages in the top-right. No bar. */
.lamasat-header { padding: 18px var(--m) !important; background: #fff; }
.lamasat-header > .wp-block-group { align-items: center; max-width: none !important; margin: 0 !important; }
.lamasat-logo, .lamasat-logo a { line-height: 0; margin: 0; }
.lamasat-header .wp-block-navigation a { color: var(--navy); text-decoration: none; }
.lamasat-header .wp-block-navigation a:hover { color: var(--gold-dark); text-decoration: underline; }
.lamasat-header .wp-block-navigation__responsive-container.is-menu-open { padding: 24px var(--m); }
.lamasat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--display); font-size: var(--fs-head); line-height: 1.1;
}

/* The grid every section shares: twelve columns; the axis is the start of the sixth. */
.lamasat-sec { padding: var(--section) var(--m); }
.lamasat-sec > * { margin-block: 0; }
.lamasat-grid, .lamasat-intro, .lamasat-area, .lamasat-how, .lamasat-reach, .lamasat-chapter__body, .lamasat-contactpage {
	display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); align-items: start;
}
:is(.lamasat-grid, .lamasat-intro, .lamasat-area, .lamasat-how, .lamasat-reach, .lamasat-chapter__body, .lamasat-contactpage) > * { margin: 0; grid-column: 6 / 13; }
.lamasat-note { color: var(--slate); }

/* Home, first screen: the statement on the left over the pulsing print, the harbour filling the right. */
.lamasat-hero {
	position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--gap); min-height: min(calc(100svh - 80px), 760px); padding-left: var(--m);
}
.lamasat-hero > * { margin: 0; }
.lamasat-masthead { grid-column: 7 / 13; grid-row: 1; margin: 0; overflow: hidden; }
.lamasat-masthead img { display: block; width: 100%; height: 100%; min-height: 480px; object-fit: cover; object-position: 50% 62%; }
.lamasat-hero .lamasat-intro { grid-column: 1 / 7; grid-row: 1; display: block; align-self: center; padding: 48px 32px 48px 0; }
.lamasat-hero .lamasat-intro > * { margin: 0; }
.lamasat-standfirst { margin-top: 24px !important; max-width: 46ch; font-size: var(--fs-lead); line-height: 1.45; }
.lamasat-intro .wp-block-buttons { margin-top: 32px !important; }
.lamasat-side { color: var(--slate); }
.lamasat-side p { margin: 0; }
.lamasat-side p + p { margin-top: 4px; }
.lamasat-hero .lamasat-side { margin-top: 40px !important; }

.home .wp-block-post-content > .alignfull:first-child::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none; top: 24px; bottom: 24px; left: 0; width: 50%;
	background: url(../img/print.svg) 50% 50% / contain no-repeat; opacity: 0.07;
}

/* Page intros: the title and what the page is about on the left, a large picture filling the right to the edge. */
.lamasat-intro.lamasat-sec { padding: 0 0 0 var(--m); background: var(--mist); grid-template-rows: 1fr auto auto auto 1fr; min-height: min(72svh, 680px); }
.lamasat-intro.lamasat-sec > h1 { grid-column: 1 / 7; grid-row: 2; padding-right: 32px; }
.lamasat-intro.lamasat-sec > .lamasat-standfirst { grid-column: 1 / 7; grid-row: 3; margin-top: 20px !important; padding-right: 32px; }
.lamasat-intro.lamasat-sec > .lamasat-side { grid-column: 1 / 7; grid-row: 4; margin-top: 20px; }
.lamasat-intro.lamasat-sec > .lamasat-intro__picture { grid-column: 7 / 13; grid-row: 1 / -1; margin: 0 !important; align-self: stretch; overflow: hidden; }
.lamasat-intro__picture img { display: block; width: 100%; height: 100%; min-height: 420px; object-fit: cover; }

/* Activities: one row each, picture and account side by side, alternating. */
.lamasat-areas > h2 { max-width: 20em; }
.lamasat-areas__intro { margin-top: 12px !important; max-width: 60ch; color: var(--slate); }
.lamasat-area { margin-top: clamp(32px, 4vw, 56px) !important; align-items: center; }
.lamasat-area > .wp-block-image { grid-column: 1 / 7; margin: 0; overflow: hidden; }
.lamasat-area > .wp-block-image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: scale 900ms var(--ease-out); }
.lamasat-area:hover > .wp-block-image img { scale: 1.03; }
.lamasat-area > .wp-block-group { grid-column: 7 / 13; }
.lamasat-area:nth-of-type(even) > .wp-block-image { grid-column: 7 / 13; grid-row: 1; }
.lamasat-area:nth-of-type(even) > .wp-block-group { grid-column: 1 / 7; grid-row: 1; }
.lamasat-area h3 { font-family: var(--display); font-weight: 600; font-size: var(--fs-head); line-height: 1.1; margin: 0 0 12px; }
.lamasat-area p { margin: 0 0 12px; max-width: 54ch; }
.lamasat-area .lamasat-fund { color: var(--slate); }
.lamasat-fund strong { color: var(--navy); font-weight: 600; }

/* How an investment works: the heading and the switch left of the axis, the steps as one reading column. */
.lamasat-how > .lamasat-how__head { grid-column: 1 / 6; position: sticky; top: 32px; }
.lamasat-how__head h2 { margin: 0 0 16px; }
.lamasat-how__head p { margin: 0; color: var(--slate); max-width: 34ch; }
.lamasat-how > .lamasat-model { grid-column: 6 / 12; }
.lamasat-model + .lamasat-model { margin-top: 56px !important; }
.lamasat-model__name { margin: 0 0 24px; font-weight: 500; }
.lamasat-stage { margin: 0; padding: 0 0 32px; }
.lamasat-stage h3 { margin: 0 0 8px; font-weight: 500; }
.lamasat-stage p { margin: 0; max-width: 54ch; }
.js .lamasat-how.has-switch .lamasat-model__name { display: none; }
.js .lamasat-how.has-switch .lamasat-model { margin-top: 0 !important; grid-row: 1; }
.js .lamasat-how.has-switch .lamasat-model:not(.is-on) { display: none; }
.lamasat-switch { margin-top: 32px; }
.lamasat-switch p { margin: 0 0 12px; font-weight: 500; color: var(--navy); }
.lamasat-switch__options { display: flex; flex-direction: column; gap: 6px; max-width: 360px; }
.lamasat-switch button {
	padding: 16px; border: 0; border-radius: 0; background: var(--mist); color: var(--navy);
	font: 500 var(--fs-body)/1.25 var(--text); text-align: left; cursor: pointer; transition: background-color 180ms ease, color 180ms ease, scale 140ms var(--ease-out);
}
.lamasat-switch button:hover { background: #E1E6EE; }
.lamasat-switch button:active { scale: 0.98; }
.lamasat-switch button[aria-pressed="true"] { background: var(--navy); color: #fff; }

/* Paired text: a short heading left of the axis, its text on the axis. Used for questions, facts, principles, the policy. */
.lamasat-pairs { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 40px; align-items: first baseline; }
.lamasat-pairs > * { margin: 0; }
.lamasat-pairs > :is(h2, h3) { grid-column: 1 / 6; font-family: var(--text); font-size: var(--fs-lead); font-weight: 500; line-height: 1.3; }
.lamasat-pairs > :not(h2, h3) { grid-column: 6 / 12; max-width: 54ch; }
.lamasat-pairs > .lamasat-pairs__title { grid-column: 1 / -1; font-family: var(--display); font-size: var(--fs-head); font-weight: 600; margin-bottom: 8px; }
.lamasat-faq { background: var(--mist); }

/* Muscat: the city and the old chart of its cove, with the facts beside them. */
.lamasat-place > h2 { max-width: 16em; }
.lamasat-place > .lamasat-place__lead { margin-top: 16px !important; max-width: 52ch; font-size: var(--fs-lead); line-height: 1.45; }
.lamasat-place__tiles { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; margin-top: 56px !important; align-items: start; }
.lamasat-place__tiles > * { margin: 0; }
.lamasat-place__photo { grid-column: 1 / 9; overflow: hidden; }
.lamasat-place__photo img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 62%; }
.lamasat-place__side { grid-column: 9 / 13; }
.lamasat-place__side .wp-block-image { margin: 0; }
.lamasat-place__side img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 75% 55%; }
.lamasat-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; margin-top: 24px !important; }
.lamasat-facts > * { margin: 0; }
.lamasat-facts p { font-size: var(--fs-small); line-height: 1.4; color: var(--slate); }
.lamasat-facts p strong { display: block; font-size: var(--fs-body); font-weight: 400; color: var(--navy); }

/* Captions say what a picture is, small and in the soft ink. */
.wp-element-caption { margin: 10px 0 0; font-size: var(--fs-small); color: var(--slate); text-align: left; }

/* The four areas as one gutterless strip of pictures, each a way into its chapter. */
.lamasat-areastrip > h2 { margin-bottom: 32px; }
.lamasat-mosaic { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; }
.lamasat-mosaic > figure { margin: 0; }
.lamasat-mosaic a { display: block; overflow: hidden; }
.lamasat-mosaic img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: scale 900ms var(--ease-out); }
.lamasat-mosaic a:hover img { scale: 1.04; }
.lamasat-mosaic .wp-element-caption { margin: 12px 16px 0 0; font-size: var(--fs-body); color: var(--navy); }

/* Closing contact row: an invitation, a picture of the place, two ways in. */
.lamasat-reach > h2 { grid-column: 1 / 6; }
.lamasat-reach > .wp-block-image { grid-column: 7 / 9; margin: 0; }
.lamasat-reach > .wp-block-image img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.lamasat-reach > .lamasat-reach__links { grid-column: 9 / 13; }
.lamasat-reach__links p { margin: 0 0 8px; }
.lamasat-reach__links .lamasat-note { margin-top: 16px; font-size: var(--fs-small); }

/* What we do: a chapter per activity, picture and account side by side, alternating sides. */
.lamasat-chapter {
	display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 32px;
	padding: var(--section) var(--m) 0; align-items: start;
}
.lamasat-chapter:last-child { padding-bottom: var(--section); }
.lamasat-chapter > * { margin: 0; }
.lamasat-chapter > .wp-block-image { grid-column: 1 / 7; grid-row: 1 / span 2; overflow: hidden; position: sticky; top: 24px; }
.lamasat-chapter > .wp-block-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.lamasat-chapter > :not(.wp-block-image, .lamasat-table) { grid-column: 7 / 13; }
.lamasat-chapter:nth-of-type(odd) > .wp-block-image { grid-column: 7 / 13; }
.lamasat-chapter:nth-of-type(odd) > :not(.wp-block-image, .lamasat-table) { grid-column: 1 / 7; }
.lamasat-chapter__body { display: block; padding: 0; }
.lamasat-chapter__body > h2 { margin: 0 0 16px; }
.lamasat-chapter__text > * { margin: 0 0 16px; max-width: 58ch; }
.lamasat-chapter__text > .lamasat-standfirst { margin: 0 0 16px !important; }
.lamasat-chapter .lamasat-pairs { display: block; }
.lamasat-chapter .lamasat-pairs > :is(h2, h3) { margin: 20px 0 4px; font-size: var(--fs-body); font-weight: 600; }
.lamasat-chapter .lamasat-pairs > p { max-width: 58ch; }
.lamasat-chapter > .lamasat-table { grid-column: 1 / -1; }

/* The comparison set as text, inside the communications chapter. The column in navy follows the reader. */
.lamasat-table { margin: 0; overflow-x: auto; }
.lamasat-table table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.lamasat-table :is(thead, tfoot) { border: 0 !important; }
.lamasat-table :is(th, td) { border: 0; padding: 18px 20px; text-align: left; vertical-align: top; font-size: var(--fs-body); line-height: 1.45; }
.lamasat-table thead th { padding-top: 40px; font-weight: 500; }
.lamasat-table tbody th { font-weight: 500; width: 26%; }
.lamasat-table tbody tr:nth-child(odd) { background: var(--mist); }
.lamasat-table tr > * { transition: background-color 240ms ease, color 240ms ease; }
.lamasat-table tr > :nth-child(2),
.lamasat-table[data-col="3"] tr > :nth-child(3),
.lamasat-table[data-col="4"] tr > :nth-child(4) { background: var(--navy); color: #fff; }
.lamasat-table[data-col="3"] tr > :nth-child(2),
.lamasat-table[data-col="4"] tr > :nth-child(2) { background: transparent; color: inherit; }

/* Contact page: the ways in left of the axis, the form on it. */
.lamasat-contactpage > .lamasat-contactpage__details { grid-column: 1 / 5; }
.lamasat-contactpage__details > * { margin: 0 0 8px; }
.lamasat-contactpage__details h2 { font-size: var(--fs-lead); font-family: var(--text); font-weight: 500; margin: 32px 0 8px; }
.lamasat-contactpage__details h2:first-child { margin-top: 0; }
.lamasat-contactpage__details .wp-block-image { margin-top: 40px; }
.lamasat-contactpage__details img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 50%; }
.lamasat-contactpage > .lamasat-contactpage__form { grid-column: 6 / 12; }
.lamasat-contactpage__form > h2 { margin: 0 0 24px; }

/* Footer: the invitation, then the name again across the bottom, cropped by the edge. */
.lamasat-footer {
	position: relative; overflow: hidden; min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; grid-template-columns: minmax(0, 1fr);
	padding: var(--section) var(--m) 0;
}
.lamasat-footer > * { margin: 0; }
.lamasat-footer__top { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); align-items: start; }
.lamasat-footer__top > * { margin: 0; }
.lamasat-footer__invite { grid-column: 1 / 8; }
.lamasat-footer__invite h2 { color: #fff; margin: 0 0 32px; max-width: 9em; font-family: var(--display); font-weight: 600; font-size: var(--fs-display); line-height: 1.05; letter-spacing: -0.01em; }
.lamasat-footer__links { grid-column: 10 / 13; list-style: none; padding: 0; font-size: var(--fs-body); }
.lamasat-footer__links li + li { margin-top: 8px; }
.lamasat-footer a { color: #fff; }
.lamasat-footer a:hover { color: var(--gold-light); }
.lamasat-footer__legal {
	align-self: end; display: flex; justify-content: space-between; align-items: end; gap: var(--gap);
	margin-top: 96px; font-size: var(--fs-small); color: var(--on-navy-soft);
}
.lamasat-footer__legal > * { margin: 0; }
.lamasat-credits { max-width: 72ch; text-align: right; }
.lamasat-footer .lamasat-credits a { color: var(--on-navy-soft); }
.lamasat-footer__name {
	font-family: var(--display); font-weight: 700; text-transform: uppercase; letter-spacing: -0.04em;
	font-size: 18.5vw; line-height: 0.8; white-space: nowrap; color: var(--gold);
	margin: 24px calc(var(--m) * -1 + 1.25vw) clamp(20px, 2.5vw, 40px) !important; text-align: center; line-height: 0.9;
}

/* Enquiry form */
.lamasat-form { display: grid; gap: 20px; max-width: 640px; }
.lamasat-field { display: grid; gap: 8px; }
.lamasat-field label { font-weight: 500; }
.lamasat-optional { font-weight: 400; color: var(--slate); }
.lamasat-form :is(input, select, textarea) {
	width: 100%; box-sizing: border-box; padding: 14px 16px; border: 0; border-radius: 0; background: var(--mist); color: var(--navy);
	font: 400 var(--fs-body)/1.4 var(--text);
}
.lamasat-form :is(input, select, textarea):focus { background: #fff; outline: 2px solid var(--navy); outline-offset: 0; }
.lamasat-hp { position: absolute; left: -9999px; }
.lamasat-notice { padding: 16px 20px; background: var(--mist); }
.lamasat-notice.is-error { background: var(--gold-light); }

/* Below desktop the footer takes its natural height. */
@media (max-width: 1100px) {
	.lamasat-footer { min-height: auto; }
}

/* Phone: the axis folds to the left margin and every section becomes one column. */
@media (max-width: 781px) {
	.lamasat-header { padding-block: 14px !important; }
	.lamasat-logo img { height: 34px !important; }
	:is(.lamasat-grid, .lamasat-intro, .lamasat-area, .lamasat-how, .lamasat-reach, .lamasat-chapter__body, .lamasat-contactpage, .lamasat-pairs, .lamasat-place__tiles) { display: block; }
	:is(.lamasat-grid, .lamasat-intro, .lamasat-area, .lamasat-how, .lamasat-reach, .lamasat-chapter__body, .lamasat-contactpage) > * + * { margin-top: 24px !important; }
	.lamasat-hero { display: block; min-height: 0; padding: 0; }
	.lamasat-masthead img { height: 34svh; min-height: 200px; }
	.lamasat-hero .lamasat-intro { padding: 32px var(--m) 48px; }
	.lamasat-intro.lamasat-sec { padding: 32px var(--m) 0; min-height: 0; }
	.lamasat-intro.lamasat-sec > .lamasat-intro__picture { margin: 24px calc(var(--m) * -1) 0 !important; }
	.lamasat-intro__picture img { height: 34svh; min-height: 200px; }
	.home .wp-block-post-content > .alignfull:first-child::before { top: auto; bottom: 0; left: auto; right: -20%; width: 70%; height: 55%; }
	.lamasat-how > .lamasat-how__head { position: static; }
	.lamasat-pairs > * + * { margin-top: 8px; }
	.lamasat-pairs > :is(h2, h3) { margin-top: 32px; }
	.lamasat-pairs > :first-child { margin-top: 0; }
	.lamasat-place__side { margin-top: 16px; }
	.lamasat-reach > .wp-block-image { max-width: 120px; }
	.lamasat-chapter { display: block; }
	.lamasat-chapter > * + * { margin-top: 20px; }
	.lamasat-chapter > .wp-block-image { position: static; }
	.lamasat-mosaic { grid-template-columns: 1fr 1fr; row-gap: 16px; }
	:is(.lamasat-pairs, .lamasat-chapter__text, .lamasat-area, .lamasat-stage) p, .lamasat-standfirst { max-width: none !important; }

	.lamasat-table thead { display: none; }
	.lamasat-table :is(table, tbody, tr, th, td) { display: block; width: auto; }
	.lamasat-table tbody tr { padding: 20px 0; }
	.lamasat-table tbody th { padding: 0 16px 8px; width: auto; }
	.lamasat-table td { padding: 8px 16px; background: transparent; color: inherit; }
	.lamasat-table td::before { content: attr(data-label) ": "; font-weight: 500; }
	.lamasat-table tr > :nth-child(2) { background: var(--navy); color: #fff; }

	.lamasat-footer__top { display: block; }
	.lamasat-footer__invite .wp-block-button, .lamasat-footer__invite .wp-block-button__link { width: 100%; text-align: center; }
	.lamasat-footer__links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 40px !important; }
	.lamasat-footer__links li + li { margin-top: 0; }
	.lamasat-footer__legal { flex-direction: column; align-items: start; }
	.lamasat-credits { text-align: left; }
	.lamasat-footer__name { text-align: left; }
}

/* Motion. Every move keeps the content and drops the travel when reduced motion is asked for. */
@media (prefers-reduced-motion: no-preference) {
	.home .wp-block-post-content > .alignfull:first-child::before { animation: lamasat-print-pulse 3s ease-out 1s infinite both; }
	@keyframes lamasat-print-pulse {
		0%, 50%, 100% { opacity: 0.05; scale: 1; }
		15% { opacity: 0.16; scale: 1.05; }
		35% { opacity: 0.07; scale: 0.99; }
	}

	/* The logo pulses from its fingerprint (7.4% in from the lockup's left edge) once every 10s (functions.php uses the same period), timed from the visitor's
	   first landing (--lamasat-beat, set in the head; without script each page starts its own beat). A pulse takes the first 1.4s. */
	.lamasat-logo a { display: inline-block; position: relative; }
	.lamasat-logo img { transform-origin: 7.4% 50%; animation: lamasat-logo-pulse 10s ease-out var(--lamasat-beat, 300ms) infinite; }
	.lamasat-logo a::after {
		content: ""; position: absolute; left: 7.4%; top: 50%; width: 32px; height: 40px; translate: -50% -50%; pointer-events: none; opacity: 0;
		border: 2px solid var(--wp--preset--color--gold); border-radius: 50%; animation: lamasat-logo-ring 10s ease-out var(--lamasat-beat, 300ms) infinite;
	}
	@keyframes lamasat-logo-pulse { 0%, 12%, 100% { scale: 1; } 3.6% { scale: 1.08; } 7.2% { scale: 0.98; } }
	@keyframes lamasat-logo-ring { 0% { opacity: 0.8; scale: 0.6; } 14%, 100% { opacity: 0; scale: 2.6; } }

	/* The signature move: each page's title is uncovered from below as the page opens. */
	.lamasat-intro h1 { animation: lamasat-unmask 900ms var(--ease-out) 120ms both; }
	@keyframes lamasat-unmask { from { clip-path: inset(0 0 100% 0); translate: 0 0.35em; } to { clip-path: inset(0 0 -10% 0); translate: 0 0; } }

	/* Each section's parts arrive once as it enters, heading first (site.js adds the classes). */
	.js .lamasat-reveal { opacity: 0; translate: 0 24px; transition: opacity 600ms var(--ease-out), translate 700ms var(--ease-out); transition-delay: calc(var(--i, 0) * 80ms); }
	.js .lamasat-reveal.is-in { opacity: 1; translate: 0 0; }

	/* The one moving picture: the harbour drifts slowly. */
	.lamasat-masthead img { animation: lamasat-drift 30s ease-in-out infinite alternate; }
	@keyframes lamasat-drift { to { scale: 1.06; translate: -1% 0; } }

	/* The name in the footer settles as it arrives. */
	@supports (animation-timeline: view()) {
		.lamasat-footer__name { animation: lamasat-name-arrive linear both; animation-timeline: view(); animation-range: entry 0% entry 100%; }
		@keyframes lamasat-name-arrive { from { scale: 0.94; } to { scale: 1; } }
	}
}
