/*
Theme Name: Paula Lawton Site
Theme URI: https://paulalawton.com
Author: Expertivity
Description: Multi-page site for Paula Lawton in the Expertivity brand. A block theme: every page can be edited in the WordPress editor.
Version: 1.0.1
Requires at least: 6.4
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: paula-lawton-site
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.am-main .wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
.wp-block-heading { margin-top: 0; text-wrap: balance; }
section[id] { scroll-margin-top: 20px; }
a:focus-visible, button:focus-visible { outline: 3px solid #009499; outline-offset: 3px; border-radius: 2px; }

/* ---------- Labels, lead text and accents ---------- */
.is-style-label {
	margin: 0 0 18px !important;
	font-size: 0.78rem;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--label);
}
.am-dark .is-style-label,
.has-night-background-color .is-style-label,
.has-charcoal-background-color .is-style-label,
.has-accent-background-color .is-style-label { color: var(--wp--preset--color--label-light); }
.is-style-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}
.am-dark .is-style-lead,
.has-night-background-color .is-style-lead,
.has-charcoal-background-color .is-style-lead,
.has-accent-background-color .is-style-lead { color: #D8E2EE; }
.am-subtitle { font-style: italic; color: var(--wp--preset--color--muted); font-size: 1rem; margin-top: 10px !important; }

/* Dark bands: headings and text go light */
.am-dark, .has-night-background-color, .has-charcoal-background-color, .has-accent-background-color { color: #E8EEF6; }
.am-dark .wp-block-heading,
.has-night-background-color .wp-block-heading,
.has-charcoal-background-color .wp-block-heading,
.has-accent-background-color .wp-block-heading { color: #FFFFFF; }
.am-dark a:not(.wp-block-button__link),
.has-night-background-color a:not(.wp-block-button__link),
.has-charcoal-background-color a:not(.wp-block-button__link),
.has-accent-background-color a:not(.wp-block-button__link) { color: #98DDDE; }

/* ---------- Header and navigation ---------- */
.am-header { padding-top: 0; padding-bottom: 0; border-top: 4px solid #FF6F61; }
.am-nav { min-height: 84px; gap: 24px; }
.am-brand { gap: 2px; }
.am-brand p { margin: 0; }
.am-brand-name { font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; font-weight: 700; letter-spacing: 0.01em; line-height: 1.1; color: #FFFFFF; }
.am-brand-name a { text-decoration: none; color: #FFFFFF !important; }
.am-brand-tag { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #98DDDE; line-height: 1.2; }
.am-menu { gap: 30px; font-size: 0.9rem; font-weight: 600; letter-spacing: 0.02em; color: #FFFFFF; }
.am-menu a { text-decoration: none; color: #FFFFFF; }
.am-menu a:hover { color: #98DDDE; }
.am-menu .am-nav-cta a { background: #FF6F61; color: #FFFFFF; padding: 10px 18px; border-radius: 4px; }
.am-menu .am-nav-cta a:hover { background: #FFFFFF; color: #263056; }
.am-menu .wp-block-navigation__responsive-container.is-menu-open { background: #263056 !important; color: #FFFFFF !important; }
.am-menu .wp-block-navigation__responsive-container-open, .am-menu .wp-block-navigation__responsive-container-close { color: #FFFFFF; }

/* ---------- Hero ---------- */
.am-hero { padding: 0 !important; }
.am-hero-cols { gap: 0 !important; margin: 0 !important; min-height: 640px; align-items: stretch !important; }
.am-hero-cols > .wp-block-column:last-child { padding: 80px max(28px, calc((100vw - 1180px) / 2)) 80px 64px; align-self: center; }
.am-hero h1 { margin: 0; }
.am-hero .is-style-lead { max-width: 640px; margin-top: 26px; }
.am-hero .wp-block-buttons { margin-top: 34px; }
.am-hero-media { position: relative; min-height: 560px; height: 100%; background: #263056; overflow: hidden; }
.am-portrait { margin: 0 !important; position: absolute; inset: 0; }
.am-portrait img { width: 100%; height: 100% !important; object-fit: cover; object-position: center 25%; display: block; }

/* ---------- Sections ---------- */
.am-section { padding-top: 96px; padding-bottom: 96px; }
.am-intro { padding-top: 80px; padding-bottom: 64px; }
.am-split { gap: 72px !important; }

/* Numbered rows */
.am-rows { margin-top: 56px !important; border-top: 1px solid #D5DEE9; }
.am-row { margin: 0 !important; padding: 26px 0; border-bottom: 1px solid #D5DEE9; gap: 30px !important; }
.am-dark .am-rows, .am-dark .am-row,
.has-night-background-color .am-rows, .has-night-background-color .am-row,
.has-charcoal-background-color .am-rows, .has-charcoal-background-color .am-row { border-color: rgba(255,255,255,0.22); }
.am-row-num { color: var(--wp--preset--color--label); font-family: var(--wp--preset--font-family--serif); font-size: 1.6rem; font-weight: 700; margin: 0; line-height: 1; }
.am-dark .am-row-num, .has-night-background-color .am-row-num, .has-charcoal-background-color .am-row-num { color: var(--wp--preset--color--label-light); }
.am-row-title.wp-block-heading { font-size: 1.3rem; font-weight: 700; line-height: 1.3; margin: 0; }
.am-row p:not(.am-row-num) { margin: 0; }

/* Principle / quote band */
.am-principle { padding-top: 110px; padding-bottom: 110px; }
.am-principle-quote { font-family: var(--wp--preset--font-family--serif); font-size: clamp(2.2rem, 4.4vw, 4rem); font-weight: 600; line-height: 1.08; margin: 0; }
.am-short-rule.wp-block-separator { width: 80px; margin: 36px 0 28px !important; border: 0; border-top: 3px solid #FF6F61; opacity: 1; }

/* Steps */
.am-steps { margin-top: 56px !important; gap: 0 !important; border-top: 1px solid #D5DEE9; border-bottom: 1px solid #D5DEE9; }
.am-step { padding: 32px 26px 38px; border-right: 1px solid #D5DEE9; }
.am-step:last-child { border-right: 0; }
.am-step-label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--label); margin: 0 0 40px !important; }
.am-step h3 { margin-bottom: 12px; }

/* Panels */
.am-panels { gap: 32px !important; align-items: stretch !important; }
.am-panels > .wp-block-column { display: flex; flex-direction: column; }
.am-panels .am-panel { flex: 1 1 auto; height: 100%; }
.am-panel { padding: 44px; background: #FFFFFF; border: 1px solid #D5DEE9; border-top: 4px solid #009499; }
.am-panel h3 { margin-bottom: 22px; }
.am-dash-list { list-style: none; padding: 0; margin: 0; }
.am-dash-list li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 12px 0; border-top: 1px solid #D5DEE9; }
.am-dash-list li::before { content: "\2014"; color: #FF6F61; }

/* Call to action band */
.am-cta { padding-top: 84px; padding-bottom: 84px; }
.am-cta-buttons { justify-content: flex-end; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--wp--preset--color--wine); border: 1px solid var(--wp--preset--color--wine); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--wine); color: #fff; }
.wp-block-button.is-style-light > .wp-block-button__link { background: #FF6F61; border-color: #FF6F61; color: #FFFFFF; }
.wp-block-button.is-style-light > .wp-block-button__link:hover { background: #FFFFFF; border-color: #FFFFFF; color: #263056; }

/* ---------- Footer ---------- */
.am-footer { padding-top: 36px; padding-bottom: 36px; font-size: 0.9rem; }
.am-footer p { margin: 0; }
.am-footer a { color: #FFFFFF; }

/* ---------- Other pages ---------- */
.am-page { padding-top: 80px; padding-bottom: 100px; }
.am-page-title { margin-bottom: 40px; }

/* ---------- Responsive ---------- */
@media (max-width: 940px) {
	.am-hero-cols { flex-wrap: wrap !important; min-height: 0; }
	.am-hero-cols > .wp-block-column { flex-basis: 100% !important; }
	.am-hero-cols > .wp-block-column:last-child { padding: 56px 28px 64px; }
	.am-hero-media { min-height: 480px; }
	.am-split { gap: 40px !important; }
	.am-steps { flex-wrap: wrap !important; }
	.am-steps > .am-step { flex-basis: 50% !important; border-bottom: 1px solid #D5DEE9; }
	.am-steps > .am-step:nth-child(2n) { border-right: 0; }
	.am-cta-buttons { justify-content: flex-start; }
}
@media (max-width: 781px) {
	.am-section { padding-top: 64px; padding-bottom: 64px; }
	.am-principle { padding-top: 76px; padding-bottom: 76px; }
	.am-hero-media { min-height: 420px; }
	.am-row { gap: 8px !important; padding: 22px 0; }
	.am-steps > .am-step { flex-basis: 100% !important; border-right: 0; }
	.am-step-label { margin-bottom: 18px !important; }
	.am-panel { padding: 28px; }
	.am-footer .wp-block-group { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
