.alfa-page { overflow: clip; background: var(--alfa-paper); }
.alfa-page-section { padding-block: clamp(78px, 10vw, 148px); }
.alfa-page .eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--alfa-gold); font-size: .76rem; font-weight: 700; letter-spacing: .13em; }
.alfa-page .eyebrow::before { width: 30px; height: 1px; content: ''; background: currentColor; }
.alfa-page h1, .alfa-page h2, .alfa-page h3 { text-wrap: balance; }
.alfa-page-hero { display: grid; min-height: 510px; padding-top: 82px; color: #f5f1e9; background: #20211e; }
.alfa-page-hero .container { align-self: end; padding-block: 78px 84px; }
.alfa-page-hero h1 { max-width: 1000px; margin: 0; font-size: clamp(3rem, 7vw, 6.3rem); font-weight: 700; line-height: 1.02; letter-spacing: -.06em; }
.alfa-page-hero h1 span { color: var(--alfa-gold-light); font-weight: 500; }
.alfa-page-hero--dark { background: linear-gradient(120deg, #171815, #3a3b34); }
.alfa-page-hero--compact { min-height: 390px; }
.alfa-page-hero--compact .container { padding-block: 62px; }
.alfa-page-hero--compact h1 { font-size: clamp(2.75rem, 5.4vw, 5.2rem); }
.alfa-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: clamp(40px, 6vw, 72px); }
.alfa-page-heading h2, .alfa-contact__intro h2, .alfa-contact-form h2 { max-width: 760px; margin: 0; font-size: clamp(2.3rem, 4.4vw, 4.7rem); font-weight: 500; line-height: 1.13; letter-spacing: -.05em; }
.alfa-page-heading > p { max-width: 390px; margin: 0; color: var(--color-muted); line-height: 1.85; }

/* About */
.alfa-about-intro__grid { display: grid; grid-template-columns: minmax(320px, .95fr) minmax(320px, 1.05fr); gap: clamp(46px, 9vw, 136px); align-items: center; }
.alfa-about-intro figure { position: relative; margin: 0; }
.alfa-about-intro figure::before { position: absolute; top: 28px; right: -28px; bottom: -28px; left: 28px; content: ''; border: 1px solid var(--alfa-gold); }
.alfa-about-intro figure img { position: relative; z-index: 1; width: 100%; min-height: 390px; object-fit: cover; filter: saturate(.82); }
.alfa-about-intro p { max-width: 640px; margin: 0 0 20px; color: var(--color-muted); line-height: 1.95; }
.alfa-about-intro .alfa-about-intro__lead { color: var(--alfa-ink); font-size: clamp(1.16rem, 1.8vw, 1.45rem); font-weight: 500; line-height: 1.85; }
.alfa-about-values { color: #eeeae1; background: #20211e; }
.alfa-about-values__grid { display: grid; grid-template-columns: 1fr 1fr; }
.alfa-about-values article { min-height: 360px; padding: clamp(38px, 6vw, 76px); border-inline-start: 1px solid rgba(255,255,255,.15); }
.alfa-about-values article:first-child { border-inline-start: 0; }
.alfa-about-values article > span { color: var(--alfa-gold-light); font-size: .82rem; font-weight: 700; letter-spacing: .12em; }
.alfa-about-values h2 { margin: 72px 0 18px; font-size: clamp(2rem, 3.6vw, 3.8rem); font-weight: 500; }
.alfa-about-values p { max-width: 530px; margin: 0; color: #bfbcb3; line-height: 1.9; }
.alfa-about-journey { background: #f0ede7; }
.alfa-about-journey__list { border-top: 1px solid #d3cdc3; }
.alfa-about-journey__list article { display: grid; grid-template-columns: 110px 1fr; gap: 30px; padding-block: 35px; border-bottom: 1px solid #d3cdc3; }
.alfa-about-journey__list article > span { color: var(--alfa-gold); font-size: .9rem; font-weight: 700; }
.alfa-about-journey__list h3 { margin: 0 0 10px; font-size: clamp(1.35rem, 2.4vw, 2.1rem); font-weight: 500; }
.alfa-about-journey__list p { max-width: 770px; margin: 0; color: var(--color-muted); line-height: 1.85; }
.alfa-page-cta { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #171815 url('../../img/feature-floor.jpg') center 58% / cover no-repeat; }
.alfa-page-cta::before { position: absolute; z-index: -1; inset: 0; content: ''; background: linear-gradient(100deg, rgba(12,13,11,.94), rgba(12,13,11,.7) 58%, rgba(12,13,11,.84)); }
.alfa-page-cta::after { position: absolute; z-index: -1; inset-block: 0; inset-inline-start: clamp(22px, 6vw, 90px); width: 1px; content: ''; background: linear-gradient(transparent, rgba(214,182,109,.7), transparent); }
.alfa-page-cta .container { display: flex; min-height: clamp(250px, 28vw, 360px); align-items: center; justify-content: space-between; gap: clamp(34px, 7vw, 100px); padding-block: clamp(58px, 8vw, 96px); }
.alfa-page-cta p { max-width: 790px; margin: 0; color: #f5f1e9; font-size: clamp(1.9rem, 3.8vw, 4.15rem); font-weight: 500; line-height: 1.25; letter-spacing: -.035em; text-wrap: balance; }
.alfa-page-cta .button { flex: 0 0 auto; min-width: 190px; border-color: rgba(255,255,255,.75); color: #fff; background: transparent; }
.alfa-page-cta .button:hover, .alfa-page-cta .button:focus-visible { color: var(--alfa-ink); border-color: #fff; background: #fff; }

/* Gallery */
.alfa-work-gallery { background: #f0ede7; }
.alfa-work-filters { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 clamp(28px, 4vw, 48px); padding-bottom: 20px; border-bottom: 1px solid #d3cdc3; }
.alfa-work-filters button { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 9px 17px; border: 1px solid #c8c1b6; border-radius: 999px; color: #4b4a45; background: transparent; font-family: inherit; font-weight: 600; cursor: pointer; transition: color .25s ease, border-color .25s ease, background-color .25s ease; }
.alfa-work-filters button span { display: grid; min-width: 24px; min-height: 24px; place-items: center; padding-inline: 5px; border-radius: 999px; color: #6c675d; background: rgba(0,0,0,.055); font-size: .72rem; }
.alfa-work-filters button:hover, .alfa-work-filters button.is-active { color: #fff; border-color: var(--alfa-gold); background: var(--alfa-gold); }
.alfa-work-filters button.is-active span { color: #332d22; background: var(--alfa-gold-light); }
.alfa-work-gallery__grid { display: grid; grid-auto-flow: dense; grid-auto-rows: 230px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.alfa-work-gallery__item { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; background: #dbd6cc; }
.alfa-work-gallery__item[hidden] { display: none; }
.alfa-work-gallery__item--portrait { grid-row: span 2; }
.alfa-work-gallery__item--landscape { grid-column: span 2; }
.alfa-work-gallery__open { width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.alfa-work-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease, filter .55s ease; }
.alfa-work-gallery__item:hover img, .alfa-work-gallery__open:focus-visible img { transform: scale(1.045); filter: saturate(1.08); }
.alfa-work-gallery__item::after { position: absolute; inset: 45% 0 0; z-index: 1; content: ''; background: linear-gradient(transparent, rgba(0,0,0,.72)); pointer-events: none; }
.alfa-work-gallery__item figcaption { position: absolute; z-index: 2; inset-inline-start: 25px; bottom: 22px; display: flex; gap: 12px; align-items: center; color: #fff; font-size: 1.08rem; font-weight: 500; pointer-events: none; }
.alfa-work-gallery__item figcaption strong { font-weight: 600; }
.alfa-work-gallery__item figcaption span { color: var(--alfa-gold-light); font-size: .76rem; }
.alfa-work-lightbox { position: fixed; width: min(1120px, calc(100vw - 40px)); max-width: none; height: min(88vh, 860px); max-height: none; padding: 0; border: 0; color: #f4f0e8; background: #161714; box-shadow: 0 28px 90px rgba(0,0,0,.48); overflow: hidden; }
.alfa-work-lightbox::backdrop { background: rgba(8,9,7,.86); backdrop-filter: blur(6px); }
.alfa-work-lightbox figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; width: 100%; height: 100%; margin: 0; }
.alfa-work-lightbox img { width: 100%; height: 100%; min-height: 0; object-fit: contain; background: #0e0f0d; }
.alfa-work-lightbox figcaption { min-height: 58px; padding: 17px 72px 17px 24px; color: #d8d3c9; }
.alfa-work-lightbox__close { position: absolute; z-index: 2; top: 14px; inset-inline-end: 14px; display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; color: #fff; background: rgba(12,13,11,.68); font-size: 1.7rem; line-height: 1; cursor: pointer; }
.alfa-work-lightbox__close:hover { color: #191a17; border-color: var(--alfa-gold-light); background: var(--alfa-gold-light); }
html.alfa-work-lightbox-open { overflow: hidden; }

/* Contact */
.alfa-contact { background: #f0ede7; }
.alfa-contact__grid { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.1fr); gap: clamp(54px, 10vw, 144px); }
.alfa-contact__intro { align-self: start; }
.alfa-contact__intro h2 { margin-bottom: 24px; }
.alfa-contact__intro > p:not(.eyebrow) { max-width: 500px; margin: 0 0 30px; color: var(--color-muted); font-size: 1.1rem; }
.alfa-contact__details { border-top: 1px solid #d3cdc3; }
.alfa-contact__details article { position: relative; padding: 26px 52px 25px 0; border-bottom: 1px solid #d3cdc3; }
.alfa-contact__details article > span { position: absolute; top: 28px; right: 0; color: var(--alfa-gold); font-size: .75rem; font-weight: 700; }
.alfa-contact__details h3 { margin: 0 0 7px; font-size: 1rem; font-weight: 700; }
.alfa-contact__details p, .alfa-contact__details a { margin: 0; color: var(--color-muted); line-height: 1.8; }
.alfa-contact__details a:hover { color: var(--alfa-gold); }
.alfa-contact-form { background: var(--alfa-paper); }
.alfa-contact-form__heading { margin-bottom: 36px; }
.alfa-contact-form__body { max-width: 920px; padding: clamp(25px, 4vw, 48px); border: 1px solid var(--color-border); background: #fff; }
.alfa-contact-form__body p { margin: 0 0 18px; }
.alfa-contact-form__body input:not([type="submit"]), .alfa-contact-form__body textarea, .alfa-contact-form__body select { width: 100%; padding: 14px 0; border: 0; border-bottom: 1px solid #8b857a; border-radius: 0; color: var(--alfa-ink); background: transparent; }
.alfa-contact-form__body textarea { min-height: 120px; resize: vertical; }
.alfa-contact-form__body input:focus, .alfa-contact-form__body textarea:focus, .alfa-contact-form__body select:focus { border-bottom-color: var(--alfa-gold); }
.alfa-contact-form__body input[type="submit"] { min-height: 50px; padding: 10px 22px; border: 1px solid var(--alfa-gold); color: #fff; background: var(--alfa-gold); font-family: inherit; font-weight: 700; cursor: pointer; }

/* Plugin-owned slabs catalogue */
.alfa-slabs-content { background: #f0ede7; }
.alfa-slabs-content__intro { max-width: 600px; margin: 0 0 35px; color: var(--color-muted); font-size: 1.06rem; }

/* Generic content */
.alfa-default-page__content .container { max-width: 850px; }
.alfa-default-page__content h2, .alfa-default-page__content h3 { margin-top: 42px; color: var(--alfa-ink); }
.alfa-default-page__content p, .alfa-default-page__content li { color: var(--color-muted); line-height: 1.95; }

/* Policy pages */
.alfa-policy-page__body { background: #f0ede7; }
.alfa-policy-page__body > .container { max-width: 980px; }
.alfa-policy-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: clamp(34px, 5vw, 58px); padding-bottom: 24px; border-bottom: 1px solid #d2ccc2; }
.alfa-policy-nav a { padding: 10px 17px; border: 1px solid #c8c1b6; border-radius: 999px; color: #4b4942; background: rgba(255,255,255,.45); font-size: .9rem; }
.alfa-policy-nav a:hover, .alfa-policy-nav a:focus-visible, .alfa-policy-nav a[aria-current="page"] { color: #fff; border-color: var(--alfa-gold); background: var(--alfa-gold); }
.alfa-policy-content { max-width: 850px; padding: clamp(28px, 5vw, 58px); border: 1px solid #ded8ce; background: #fff; box-shadow: 0 18px 45px rgba(31,31,27,.05); }
.alfa-policy-content__updated { margin: 0 0 34px; padding-bottom: 18px; border-bottom: 1px solid #e7e2da; color: #777269; font-size: .9rem; }
.alfa-policy-content h2 { margin: 2em 0 .7em; color: var(--alfa-ink); font-size: clamp(1.35rem, 2.2vw, 1.8rem); line-height: 1.35; }
.alfa-policy-content h2:first-of-type { margin-top: 0; }
.alfa-policy-content h3 { margin: 1.6em 0 .6em; color: var(--alfa-ink); font-size: 1.15rem; }
.alfa-policy-content p, .alfa-policy-content li { color: #514f49; line-height: 1.95; }
.alfa-policy-content ul, .alfa-policy-content ol { padding-inline-start: 1.35em; }
.alfa-policy-content a { color: #826a34; text-decoration: underline; text-underline-offset: 3px; }
.alfa-policy-content a:hover { color: var(--alfa-gold); }

/* Posts, archives, search and fallback templates */
.page-header { padding-block: clamp(145px, 16vw, 210px) clamp(55px, 7vw, 90px); color: #f5f1e9; background: linear-gradient(120deg, #171815, #35372f); }
.page-header .page-title, .page-header h1 { margin: 0; font-size: clamp(2.8rem, 6vw, 5.8rem); font-weight: 600; line-height: 1.05; }
.archive-description { max-width: 720px; margin-top: 24px; color: #cfcbc1; }
.alfa-content-index, .page-header + .container { padding-block: clamp(60px, 8vw, 110px); }
.content-card { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); grid-template-areas: "thumbnail header" "thumbnail summary"; gap: 12px clamp(28px, 5vw, 72px); padding-block: 38px; border-bottom: 1px solid var(--color-border); }
.content-card:first-child { border-top: 1px solid var(--color-border); }
.content-card .entry-header { grid-area: header; align-self: end; padding: 0; }
.content-card .entry-title { margin: 0; font-size: clamp(1.55rem, 2.7vw, 2.7rem); }
.content-card .entry-title a:hover { color: var(--alfa-gold); }
.content-card .entry-meta, .single-post .entry-meta { margin-top: 10px; color: var(--color-muted); font-size: .84rem; }
.content-card__thumbnail { grid-area: thumbnail; min-height: 230px; overflow: hidden; background: #ddd8cf; }
.content-card__thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.content-card__thumbnail:hover img { transform: scale(1.035); }
.content-card .entry-summary { grid-area: summary; align-self: start; color: var(--color-muted); }
.content-card .entry-summary p { margin: 0; }
.navigation.pagination { margin-top: 48px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.nav-links .page-numbers { display: grid; min-width: 42px; min-height: 42px; place-items: center; padding: 6px 12px; border: 1px solid var(--color-border); }
.nav-links .page-numbers.current, .nav-links a.page-numbers:hover { color: #fff; border-color: var(--alfa-gold); background: var(--alfa-gold); }
.single-post .site-main > .container { max-width: 980px; padding-block: clamp(135px, 15vw, 190px) clamp(70px, 9vw, 125px); }
.single-post .entry-header { padding: 0 0 35px; }
.single-post .entry-title { font-size: clamp(2.6rem, 5.7vw, 5.4rem); }
.single-post .entry-thumbnail { margin-bottom: 42px; }
.single-post .entry-thumbnail img { width: 100%; }
.single-post .entry-content { color: #3e3e39; font-size: 1.08rem; }
.single-post .entry-content h2, .single-post .entry-content h3 { margin-top: 1.7em; line-height: 1.25; }
.single-post .entry-content img { margin-block: 32px; }
.no-results { padding-block: 70px; text-align: center; }
.error-404 { display: grid; min-height: 75svh; place-items: center; padding-block: 150px 80px; text-align: center; background: #f0ede7; }
.error-404 h1 { margin: 0; font-size: clamp(2.8rem, 7vw, 6rem); }
.error-404 p { margin: 20px 0 32px; color: var(--color-muted); font-size: 1.12rem; }

@media (max-width: 840px) {
	.alfa-page-hero { min-height: 420px; }
	.alfa-page-hero .container { padding-block: 65px; }
	.alfa-about-intro__grid, .alfa-contact__grid { grid-template-columns: 1fr; }
	.alfa-about-intro figure { max-width: 680px; }
	.alfa-page-heading { display: grid; align-items: start; }
	.alfa-work-gallery__grid { grid-auto-rows: 210px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.alfa-work-gallery__item--landscape { grid-column: span 2; }
}

@media (max-width: 560px) {
	.alfa-page-section { padding-block: 65px; }
	.alfa-page-hero { min-height: 390px; }
	.alfa-page-hero h1 { font-size: clamp(2.85rem, 13vw, 4.3rem); }
	.alfa-page-hero--compact { min-height: 330px; }
	.alfa-about-intro figure::before { top: 16px; right: -16px; bottom: -16px; left: 16px; }
	.alfa-about-intro figure img { min-height: 290px; }
	.alfa-about-values__grid, .alfa-work-gallery__grid { grid-template-columns: 1fr; }
	.alfa-about-values article { min-height: 280px; border-top: 1px solid rgba(255,255,255,.15); border-inline-start: 0; }
	.alfa-about-values article:first-child { border-top: 0; }
	.alfa-about-values h2 { margin-top: 48px; }
	.alfa-about-journey__list article { grid-template-columns: 46px 1fr; gap: 18px; }
	.alfa-page-cta .container { align-items: flex-start; flex-direction: column; }
	.alfa-page-cta .button { min-width: 0; }
	.alfa-work-filters { flex-wrap: nowrap; margin-inline: calc(50% - 50vw); padding-inline: max(20px, calc((100vw - var(--container-width)) / 2)); overflow-x: auto; scrollbar-width: none; }
	.alfa-work-filters::-webkit-scrollbar { display: none; }
	.alfa-work-filters button { flex: 0 0 auto; }
	.alfa-work-gallery__grid { display: grid; grid-auto-rows: auto; gap: 13px; }
	.alfa-work-gallery__item--portrait, .alfa-work-gallery__item--landscape { grid-row: auto; grid-column: auto; }
	.alfa-work-gallery__item { min-height: 0; aspect-ratio: 4 / 5; }
	.alfa-work-gallery__item--landscape { aspect-ratio: 16 / 10; }
	.alfa-work-lightbox { width: calc(100vw - 20px); height: min(84vh, 720px); }
	.content-card { grid-template-columns: 1fr; grid-template-areas: "thumbnail" "header" "summary"; }
	.content-card__thumbnail { min-height: 220px; }
	.alfa-policy-nav { display: grid; grid-template-columns: 1fr; }
	.alfa-policy-nav a { text-align: center; }
	.alfa-policy-content { padding: 24px 20px; }
}
