/*
Theme Name: Aliyah Management
Theme URI: https://aliyahmanagement.com/
Author: Aliyah Management
Description: One-page business theme for Aliyah Management, hotel management and advisory across Zanzibar and East Africa. Every section's text and images are editable in Appearance → Customize. Includes a revenue scenario calculator, FAQ and a contact form that emails enquiries.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aliyah
Tags: one-column, custom-menu, custom-logo, featured-images, theme-options, business
*/

/* Layout concept: an owner's ledger on the Indian Ocean coast. A strict 12-column grid with mono
   labels, limewash-light bands alternating with deep channel-teal bands, one brass accent. */
:root {
	--lime: #f1f3ee;      /* page ground: Stone Town limewash, slightly green */
	--paper: #fbfcf9;     /* raised surfaces */
	--ink: #0f2629;       /* text */
	--muted: #556b69;     /* secondary text */
	--line: #d5dcd5;      /* hairlines */
	--brass: #94641a;     /* accent: dhow brass */
	--brass-soft: #e9dcc4;
	--sea: #10343a;       /* dark bands */
	--sea-2: #164249;
	--sea-fg: #e8efec;
	--sea-muted: #9cb5b1;
	--sea-line: rgba(232, 239, 236, .14);
	--brass-on-sea: #d9a856;
	--good: #2f7d5c;

	--f-display: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
	--f-body: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
	--f-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

	--wrap: 1200px;
	--gut: max(16px, env(safe-area-inset-left, 0px));
	--gut-r: max(16px, env(safe-area-inset-right, 0px));
	--radius: 4px;
	--band: clamp(72px, 10vw, 128px);
}

/* Optional dark mode (Customizer → Brand & contact). */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]):has(.am-auto-dark) {
		--lime: #0b1b1e; --paper: #102629; --ink: #e6ece9; --muted: #9db1ae; --line: #24403f;
		--brass: #d9a856; --brass-soft: #3a2f1c; --sea: #071416; --sea-2: #0d2226;
		color-scheme: dark;
	}
}
:root[data-theme="dark"]:has(.am-auto-dark) {
	--lime: #0b1b1e; --paper: #102629; --ink: #e6ece9; --muted: #9db1ae; --line: #24403f;
	--brass: #d9a856; --brass-soft: #3a2f1c; --sea: #071416; --sea-2: #0d2226;
	color-scheme: dark;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body {
	margin: 0;
	background: var(--lime);
	color: var(--ink);
	font-family: var(--f-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
	outline: 2px solid var(--brass);
	outline-offset: 3px;
}
h1, h2, h3, h4 { margin: 0; font-weight: 500; text-wrap: balance; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus {
	clip: auto; width: auto; height: auto; z-index: 100; top: 8px; left: 8px;
	background: var(--paper); padding: 8px 14px;
}

.am-wrap {
	max-width: var(--wrap);
	margin-inline: auto;
	padding-left: var(--gut);
	padding-right: var(--gut-r);
}
@media (min-width: 720px) {
	.am-wrap { padding-left: max(32px, env(safe-area-inset-left, 0px)); padding-right: max(32px, env(safe-area-inset-right, 0px)); }
}

.am-band { padding-block: var(--band); }
.am-band--sea { background: var(--sea); color: var(--sea-fg); }
.am-band--paper { background: var(--paper); }
.am-band + .am-band--lime, .am-band--lime + .am-band--lime { border-top: 1px solid var(--line); }

/* Eyebrow: mono, tracked, with a brass tick. */
.am-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--f-mono); font-size: 12px; font-weight: 500;
	letter-spacing: .14em; text-transform: uppercase; color: var(--brass);
}
.am-eyebrow::before { content: ""; width: 18px; height: 1px; background: currentColor; }
.am-band--sea .am-eyebrow { color: var(--brass-on-sea); }

.am-h2 {
	font-family: var(--f-display);
	font-size: clamp(34px, 4.6vw, 58px);
	line-height: 1.05;
	letter-spacing: -.015em;
	font-weight: 500;
}
.am-h2 em { font-style: italic; color: var(--brass); }
.am-band--sea .am-h2 em { color: var(--brass-on-sea); }
.am-lead { font-size: 19px; color: var(--muted); max-width: 60ch; }
.am-band--sea .am-lead { color: var(--sea-muted); }

.am-head { display: grid; gap: 20px; max-width: 820px; margin-bottom: clamp(40px, 6vw, 72px); }

/* Buttons */
.am-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 0 22px;
	font: 600 15px/1 var(--f-body); letter-spacing: .01em;
	text-decoration: none; border-radius: var(--radius); border: 1px solid transparent;
	cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.am-btn--brass { background: var(--brass); color: #fff; }
.am-btn--brass:hover { background: var(--ink); }
.am-band--sea .am-btn--brass, .am-hero .am-btn--brass, .am-header .am-btn--brass { background: var(--brass-on-sea); color: #10262a; }
.am-band--sea .am-btn--brass:hover, .am-hero .am-btn--brass:hover, .am-header .am-btn--brass:hover { background: var(--sea-fg); }
.am-btn--ghost { border-color: currentColor; color: inherit; background: transparent; }
.am-btn--ghost:hover { background: rgba(255,255,255,.08); }
.am-btn .am-arrow { transition: transform .2s; }
.am-btn:hover .am-arrow { transform: translateX(3px); }

/* ---------- Header ---------- */
.am-header {
	position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50;
	background: color-mix(in srgb, var(--sea) 92%, transparent);
	backdrop-filter: blur(10px);
	color: var(--sea-fg);
	border-bottom: 1px solid var(--sea-line);
}
body::before {
	content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px);
	z-index: 60; background: var(--sea);
}
.admin-bar .am-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .am-header { top: 0; } }
.am-header__in { display: flex; align-items: center; gap: 24px; min-height: 72px; }
.am-logo { display: flex; align-items: baseline; gap: 10px; text-decoration: none; margin-right: auto; }
.am-logo img { max-height: 44px; width: auto; }
.am-logo__name {
	font-family: var(--f-display); font-size: 23px; letter-spacing: .02em; line-height: 1;
}
.am-logo__sub {
	font-family: var(--f-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
	color: var(--sea-muted); display: none;
}
@media (min-width: 1100px) { .am-logo__sub { display: inline; } }
.am-nav ul { list-style: none; display: flex; gap: 4px; }
.am-nav a {
	display: block; padding: 10px 12px; font-size: 15px; text-decoration: none; color: var(--sea-muted);
	border-radius: var(--radius); transition: color .2s;
}
.am-nav a:hover, .am-nav .current-menu-item > a { color: var(--sea-fg); }
.am-header .am-btn { min-height: 42px; padding: 0 18px; }
.am-burger {
	display: none; width: 44px; height: 44px; border: 1px solid var(--sea-line); border-radius: var(--radius);
	background: transparent; color: var(--sea-fg); cursor: pointer; padding: 0;
}
.am-burger span { display: block; width: 18px; height: 1.5px; background: currentColor; margin: 4px auto; transition: transform .25s, opacity .25s; }
@media (max-width: 960px) {
	.am-burger { display: block; }
	.am-header .am-btn { display: none; }
	.am-nav {
		position: absolute; inset: 100% 0 auto; background: var(--sea);
		border-bottom: 1px solid var(--sea-line);
		padding: 8px var(--gut-r) 20px var(--gut);
		display: none;
	}
	.am-nav.is-open { display: block; }
	.am-nav ul { flex-direction: column; }
	.am-nav a { padding: 14px 0; font-size: 18px; border-bottom: 1px solid var(--sea-line); border-radius: 0; }
	.am-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
	.am-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.am-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
}

/* ---------- Hero ---------- */
.am-hero {
	position: relative; isolation: isolate; overflow: hidden;
	background: var(--sea); color: var(--sea-fg);
	padding-block: clamp(96px, 14vw, 168px) clamp(40px, 6vw, 64px);
}
.am-hero__media { position: absolute; inset: 0; z-index: -2; }
.am-hero__media img { width: 100%; height: 100%; object-fit: cover; }
/* Fallback when no photo is set: dusk over the Zanzibar channel. */
.am-hero__media--fallback {
	background:
		radial-gradient(120% 60% at 78% 62%, rgba(217,168,86,.55), rgba(217,168,86,0) 60%),
		linear-gradient(180deg, #0c2a30 0%, #1d4b51 42%, #8d7a5a 63%, #1a3d42 64%, #0e2c31 100%);
}
.am-hero__media--fallback::after {
	content: ""; position: absolute; left: 0; right: 0; top: 64%; height: 36%;
	background: repeating-linear-gradient(180deg, rgba(232,239,236,.06) 0 1px, transparent 1px 9px);
}
.am-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(90deg, rgba(8,26,29,.92) 0%, rgba(8,26,29,.72) 45%, rgba(8,26,29,.2) 100%),
	            linear-gradient(0deg, rgba(8,26,29,.85) 0%, rgba(8,26,29,0) 40%);
}
.am-hero__grid { display: grid; gap: 28px; max-width: 860px; }
.am-hero .am-eyebrow { color: var(--brass-on-sea); }
.am-hero h1 {
	font-family: var(--f-display);
	font-size: clamp(42px, 7.2vw, 92px);
	line-height: .98; letter-spacing: -.02em; font-weight: 500;
}
.am-hero h1 span { display: block; }
.am-hero h1 em { font-style: italic; color: var(--brass-on-sea); font-weight: 400; }
.am-hero__text { font-size: clamp(17px, 1.6vw, 20px); color: #c9d8d4; max-width: 58ch; }
.am-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.am-hero__strip {
	font-family: var(--f-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
	color: var(--sea-muted);
}
.am-facts {
	list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(56px, 8vw, 96px); border-top: 1px solid var(--sea-line);
}
.am-facts li { padding: 22px 20px 4px 0; display: grid; gap: 6px; min-width: 0; }
.am-facts li + li { padding-left: 20px; border-left: 1px solid var(--sea-line); }
.am-facts b { font-family: var(--f-display); font-weight: 500; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.15; }
.am-facts span { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--sea-muted); }
@media (max-width: 640px) {
	.am-facts { grid-template-columns: 1fr; }
	.am-facts li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--sea-line); }
	.am-facts li { padding-bottom: 18px; }
}
@media (prefers-reduced-motion: no-preference) {
	.am-hero__grid > * { animation: am-rise .9s cubic-bezier(.2,.7,.2,1) both; }
	.am-hero__grid > *:nth-child(2) { animation-delay: .08s; }
	.am-hero__grid > *:nth-child(3) { animation-delay: .16s; }
	.am-hero__grid > *:nth-child(4) { animation-delay: .24s; }
	.am-hero__grid > *:nth-child(5) { animation-delay: .32s; }
}
@keyframes am-rise { from { transform: translateY(14px); opacity: .001; } to { transform: none; opacity: 1; } }

/* ---------- Value ---------- */
.am-split { display: grid; gap: clamp(40px, 6vw, 88px); grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
@media (max-width: 900px) { .am-split { grid-template-columns: 1fr; } }
.am-points { list-style: none; display: grid; }
.am-points li {
	display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px 20px;
	padding-block: 26px; border-top: 1px solid var(--line);
}
.am-points li:last-child { border-bottom: 1px solid var(--line); }
.am-points .am-ico {
	width: 40px; height: 40px; border-radius: 50%; background: var(--brass-soft); color: var(--brass);
	display: grid; place-items: center; grid-row: span 2;
}
.am-points h3 { font-size: 21px; font-weight: 600; letter-spacing: -.01em; }
.am-points p { color: var(--muted); }

/* ---------- Calculator ---------- */
.am-calc { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 0; border: 1px solid var(--sea-line); border-radius: 6px; overflow: hidden; }
@media (max-width: 900px) { .am-calc { grid-template-columns: 1fr; } }
.am-calc__in { padding: clamp(24px, 4vw, 44px); display: grid; gap: 26px; align-content: start; }
.am-field { display: grid; gap: 8px; }
.am-label, .am-field label { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--sea-muted); }
.am-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 560px) { .am-row { grid-template-columns: 1fr; } }
.am-input {
	display: flex; align-items: center; border: 1px solid var(--sea-line); border-radius: var(--radius);
	background: rgba(255,255,255,.04); min-height: 52px; padding: 0 14px; gap: 8px;
}
.am-input input {
	all: unset; flex: 1; min-width: 0; width: 100%; font: 500 22px/1.2 var(--f-body); color: var(--sea-fg);
	font-variant-numeric: tabular-nums;
}
.am-input small { font-family: var(--f-mono); font-size: 12px; color: var(--sea-muted); }
.am-range { display: grid; gap: 10px; }
.am-range__top { display: flex; justify-content: space-between; align-items: baseline; }
.am-range__val { font-family: var(--f-display); font-size: 36px; color: var(--brass-on-sea); font-variant-numeric: tabular-nums; }
.am-range input[type=range] { width: 100%; accent-color: var(--brass-on-sea); }
.am-range__ticks { display: flex; justify-content: space-between; font-family: var(--f-mono); font-size: 11px; color: var(--sea-muted); }
.am-calc__out { background: var(--sea-2); padding: clamp(24px, 4vw, 44px); display: grid; gap: 22px; align-content: start; border-left: 1px solid var(--sea-line); }
@media (max-width: 900px) { .am-calc__out { border-left: 0; border-top: 1px solid var(--sea-line); } }
.am-big { font-family: var(--f-display); font-size: clamp(44px, 5.5vw, 68px); line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.am-kv { display: flex; justify-content: space-between; gap: 16px; padding-top: 14px; border-top: 1px solid var(--sea-line); font-variant-numeric: tabular-nums; }
.am-kv span { color: var(--sea-muted); font-size: 15px; }
.am-kv b { font-weight: 600; white-space: nowrap; }
.am-fine { font-size: 13px; color: var(--sea-muted); }

/* ---------- Steps ---------- */
.am-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); counter-reset: s; position: relative; }
.am-steps li { counter-increment: s; padding: 28px 28px 8px 0; border-top: 2px solid var(--ink); display: grid; gap: 14px; align-content: start; position: relative; }
.am-steps li + li { padding-left: 28px; }
.am-steps li::before {
	content: "0" counter(s); font-family: var(--f-mono); font-size: 13px; letter-spacing: .1em; color: var(--brass);
}
.am-steps li::after {
	content: ""; position: absolute; top: -6px; left: 0; width: 10px; height: 10px; border-radius: 50%;
	background: var(--brass);
}
.am-steps li + li::after { left: 28px; }
.am-steps h3 { font-family: var(--f-display); font-size: 30px; line-height: 1.1; }
.am-steps p { color: var(--muted); }
@media (max-width: 820px) {
	.am-steps { grid-template-columns: 1fr; gap: 8px; }
	.am-steps li, .am-steps li + li { padding: 24px 0 16px; }
	.am-steps li + li::after { left: 0; }
}

/* ---------- Services ---------- */
.am-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--sea-line); border-left: 1px solid var(--sea-line); }
@media (max-width: 720px) { .am-services { grid-template-columns: 1fr; } }
.am-svc {
	padding: clamp(24px, 3.5vw, 40px); border-right: 1px solid var(--sea-line); border-bottom: 1px solid var(--sea-line);
	display: grid; gap: 14px; align-content: start; transition: background .25s;
}
.am-svc:hover { background: rgba(255,255,255,.03); }
.am-svc__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.am-svc__num { font-family: var(--f-mono); font-size: 12px; color: var(--sea-muted); letter-spacing: .1em; }
.am-svc__tag { font-family: var(--f-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--brass-on-sea); border: 1px solid color-mix(in srgb, var(--brass-on-sea) 45%, transparent); padding: 4px 10px; border-radius: 20px; }
.am-svc h3 { font-family: var(--f-display); font-size: clamp(28px, 3vw, 36px); line-height: 1.1; }
.am-svc p { color: var(--sea-muted); max-width: 46ch; }

/* ---------- Owner report panel ---------- */
.am-report-wrap { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
@media (max-width: 960px) { .am-report-wrap { grid-template-columns: 1fr; } }
.am-report {
	background: var(--paper); border: 1px solid var(--line); border-radius: 6px;
	box-shadow: 0 30px 60px -30px rgba(15, 38, 41, .28); overflow: hidden;
}
.am-report__bar { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 14px 22px; border-bottom: 1px solid var(--line); font-family: var(--f-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.am-report__bar b { color: var(--ink); font-weight: 500; }
.am-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
@media (max-width: 560px) { .am-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.am-kpi { padding: 18px 22px; display: grid; gap: 4px; border-right: 1px solid var(--line); min-width: 0; }
.am-kpi:last-child { border-right: 0; }
@media (max-width: 560px) { .am-kpi:nth-child(2n) { border-right: 0; } .am-kpi:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
.am-kpi span { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.am-kpi b { font-family: var(--f-display); font-size: 30px; font-weight: 500; font-variant-numeric: tabular-nums; line-height: 1.1; }
.am-kpi i { font-style: normal; font-size: 13px; color: var(--good); font-variant-numeric: tabular-nums; }
.am-report__body { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
@media (max-width: 640px) { .am-report__body { grid-template-columns: 1fr; } }
.am-report__chart { padding: 20px 22px; border-right: 1px solid var(--line); min-width: 0; }
@media (max-width: 640px) { .am-report__chart { border-right: 0; border-bottom: 1px solid var(--line); } }
.am-report__chart svg { width: 100%; height: auto; display: block; }
.am-report__chart svg text { fill: var(--muted); font-family: var(--f-mono); font-size: 10px; }
.am-report__label { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; display: flex; gap: 14px; flex-wrap: wrap; }
.am-report__label i { font-style: normal; display: inline-flex; align-items: center; gap: 6px; }
.am-report__label i::before { content: ""; width: 10px; height: 2px; background: var(--c); }
.am-report__side { padding: 20px 22px; display: grid; gap: 14px; align-content: start; }
.am-report__side ul { list-style: none; display: grid; gap: 10px; font-size: 14.5px; }
.am-report__side li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 10px; }
.am-report__side li::before { content: "→"; color: var(--brass); }
.am-approve { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border-radius: var(--radius); background: var(--brass-soft); font-size: 14px; }
.am-approve b { font-weight: 600; }
.am-pill { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; padding: 4px 9px; border-radius: 20px; border: 1px solid var(--brass); color: var(--brass); white-space: nowrap; }
.am-report__foot { padding: 10px 22px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }

/* ---------- Destinations ---------- */
.am-dest { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 16px; }
@media (max-width: 900px) { .am-dest { grid-template-columns: 1fr 1fr; } .am-dest > :first-child { grid-column: 1 / -1; } }
@media (max-width: 560px) { .am-dest { grid-template-columns: 1fr; } }
.am-card {
	position: relative; isolation: isolate; overflow: hidden; border-radius: 6px;
	min-height: 420px; display: flex; flex-direction: column; justify-content: flex-end;
	padding: 26px; color: #f2f5f3; background: var(--sea-2);
}
@media (max-width: 560px) { .am-card { min-height: 320px; } }
.am-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.am-card:hover img { transform: scale(1.04); }
.am-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,26,29,.88) 0%, rgba(8,26,29,.15) 60%, rgba(8,26,29,0) 100%); }
.am-card--f1 { background: radial-gradient(90% 60% at 70% 30%, #e2c08a, transparent 60%), linear-gradient(180deg, #4f97a0 0%, #2a6f76 50%, #c9b48d 51%, #b79f75 100%); }
.am-card--f2 { background: radial-gradient(70% 50% at 30% 35%, #d9a856, transparent 65%), linear-gradient(180deg, #8a6a3e 0%, #5f6b3f 55%, #2e4a33 100%); }
.am-card--f3 { background: radial-gradient(60% 40% at 50% 25%, #f0d7a6, transparent 60%), linear-gradient(180deg, #c99b5c 0%, #7d6a52 55%, #23383b 100%); }
.am-card__k { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #e7c98f; }
.am-card h3 { font-family: var(--f-display); font-size: clamp(30px, 3.2vw, 40px); line-height: 1.05; margin: 8px 0 8px; }
.am-card p { color: #d3dfdb; font-size: 15.5px; max-width: 40ch; }

/* ---------- Control ---------- */
.am-checks { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--sea-line); }
@media (max-width: 640px) { .am-checks { grid-template-columns: 1fr; } }
.am-checks li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 14px; padding: 22px 16px 22px 0; border-bottom: 1px solid var(--sea-line); font-size: 18px; }
.am-checks svg { color: var(--brass-on-sea); margin-top: 3px; }

/* ---------- Plans ---------- */
.am-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
@media (max-width: 960px) { .am-plans { grid-template-columns: 1fr; max-width: 560px; } }
.am-plan { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 30px; display: flex; flex-direction: column; gap: 18px; }
.am-plan--hl { background: var(--sea); color: var(--sea-fg); border-color: var(--sea); }
.am-plan__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 26px; }
.am-plan__sub { font-family: var(--f-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.am-plan--hl .am-plan__sub { color: var(--sea-muted); }
.am-plan--hl .am-pill { border-color: var(--brass-on-sea); color: var(--brass-on-sea); }
.am-plan h3 { font-family: var(--f-display); font-size: 34px; line-height: 1.05; }
.am-plan > p { color: var(--muted); }
.am-plan--hl > p { color: var(--sea-muted); }
.am-plan ul { list-style: none; display: grid; gap: 12px; padding-top: 18px; border-top: 1px solid var(--line); margin-bottom: auto; }
.am-plan--hl ul { border-color: var(--sea-line); }
.am-plan li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; font-size: 15.5px; }
.am-plan li::before { content: ""; width: 8px; height: 8px; margin-top: 8px; border-radius: 50%; border: 1.5px solid var(--brass); }
.am-plan--hl li::before { border-color: var(--brass-on-sea); }
.am-plan .am-btn { width: 100%; margin-top: 10px; }
.am-plan .am-btn--ghost { border-color: var(--line); }
.am-plan .am-btn--ghost:hover { border-color: var(--ink); background: transparent; }
.am-note { margin-top: 24px; color: var(--muted); font-size: 14.5px; }

/* ---------- FAQ ---------- */
.am-faq { border-top: 1px solid var(--line); }
.am-faq details { border-bottom: 1px solid var(--line); }
.am-faq summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; align-items: center;
	padding: 24px 0; font-size: clamp(18px, 2vw, 22px); font-weight: 600; letter-spacing: -.01em;
}
.am-faq summary::-webkit-details-marker { display: none; }
.am-faq summary::after {
	content: "+"; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line);
	display: grid; place-items: center; font-weight: 400; font-size: 20px; color: var(--brass); transition: transform .25s;
}
.am-faq details[open] summary::after { transform: rotate(45deg); }
.am-faq details p { padding: 0 0 26px; color: var(--muted); max-width: 70ch; }

/* ---------- Contact ---------- */
.am-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 88px); }
@media (max-width: 900px) { .am-contact { grid-template-columns: 1fr; } }
.am-contact__info { display: grid; gap: 22px; align-content: start; }
.am-contact__list { list-style: none; display: grid; gap: 0; border-top: 1px solid var(--sea-line); }
.am-contact__list li { padding: 16px 0; border-bottom: 1px solid var(--sea-line); display: grid; gap: 2px; }
.am-contact__list span { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--sea-muted); }
.am-contact__list a, .am-contact__list b { font-weight: 500; font-size: 18px; text-decoration: none; }
.am-form { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--sea-2); padding: clamp(22px, 3.5vw, 40px); border-radius: 6px; border: 1px solid var(--sea-line); }
@media (max-width: 600px) { .am-form { grid-template-columns: 1fr; } }
.am-form .am-full { grid-column: 1 / -1; }
.am-form input[type=text], .am-form input[type=email], .am-form input[type=number], .am-form select, .am-form textarea {
	width: 100%; min-height: 50px; padding: 12px 14px; border-radius: var(--radius);
	border: 1px solid var(--sea-line); background: rgba(255,255,255,.05); color: var(--sea-fg);
	font: 16px/1.4 var(--f-body);
}
.am-form select option { color: #10262a; }
.am-form textarea { min-height: 120px; resize: vertical; }
.am-consent { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; font-size: 14px; color: var(--sea-muted); align-items: start; }
.am-consent input { margin-top: 3px; accent-color: var(--brass-on-sea); width: 18px; height: 18px; }
.am-hp { position: absolute; left: -9999px; }
.am-alert { grid-column: 1 / -1; padding: 14px 16px; border-radius: var(--radius); font-size: 15px; }
.am-alert--ok { background: rgba(47,125,92,.25); border: 1px solid rgba(110,200,160,.4); }
.am-alert--err { background: rgba(180,70,50,.22); border: 1px solid rgba(230,130,110,.45); }

/* ---------- Footer ---------- */
.am-footer { background: var(--sea); color: var(--sea-muted); padding-block: 72px 32px; border-top: 1px solid var(--sea-line); }
.am-footer__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
@media (max-width: 720px) { .am-footer__grid { grid-template-columns: 1fr; } }
.am-footer .am-logo__name { color: var(--sea-fg); font-size: 28px; }
.am-footer h4 { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--sea-fg); margin-bottom: 14px; font-weight: 500; }
.am-footer ul { list-style: none; display: grid; gap: 8px; }
.am-footer a { text-decoration: none; }
.am-footer a:hover { color: var(--sea-fg); }
.am-footer__bottom { margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--sea-line); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; }

/* ---------- Inner pages & blog ---------- */
.am-page-head { background: var(--sea); color: var(--sea-fg); padding-block: clamp(64px, 9vw, 112px) clamp(40px, 5vw, 64px); }
.am-page-head h1 { font-family: var(--f-display); font-size: clamp(38px, 5.5vw, 68px); line-height: 1.04; font-weight: 500; margin-top: 16px; }
.am-page-head .am-meta { margin-top: 16px; color: var(--sea-muted); font-family: var(--f-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.am-content { max-width: 760px; margin-inline: auto; }
.am-content > * + * { margin-top: 1.2em; }
.am-content h2 { font-family: var(--f-display); font-size: 36px; line-height: 1.1; margin-top: 1.6em; }
.am-content h3 { font-size: 23px; font-weight: 600; margin-top: 1.4em; }
.am-content a { color: var(--brass); }
.am-content ul, .am-content ol { padding-left: 1.3em; }
.am-content blockquote { margin: 1.6em 0; padding-left: 22px; border-left: 2px solid var(--brass); font-family: var(--f-display); font-size: 24px; font-style: italic; }
.am-content img, .am-content figure { margin-inline: 0; border-radius: 4px; }
.am-content .alignwide { max-width: none; }
.am-thumb { margin-bottom: 40px; border-radius: 6px; overflow: hidden; }
.am-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 28px; }
.am-post { display: grid; gap: 12px; align-content: start; text-decoration: none; }
.am-post__img { aspect-ratio: 4 / 3; border-radius: 6px; overflow: hidden; background: var(--sea-2); max-width: 100%; }
.am-post__img img { width: 100%; height: 100%; object-fit: cover; }
.am-post h2 { font-family: var(--f-display); font-size: 28px; line-height: 1.1; }
.am-post p { color: var(--muted); }
.am-pagination { margin-top: 56px; display: flex; gap: 8px; flex-wrap: wrap; }
.am-pagination .page-numbers { padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; }
.am-pagination .current { background: var(--ink); color: var(--lime); border-color: var(--ink); }
.am-comments { max-width: 760px; margin: 72px auto 0; }
.am-comments input, .am-comments textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); color: var(--ink); font: inherit; }
.am-comments .submit { width: auto; background: var(--brass); color: #fff; border: 0; padding: 12px 20px; cursor: pointer; }
.wp-caption-text, .gallery-caption { font-size: 14px; color: var(--muted); }
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { margin-inline: auto; }
.sticky, .bypostauthor { }
