/* Pure Weddings — How we work page (21 Oct 2026) */
.pw-phases__list { list-style: none; display: grid; gap: 18px; max-width: 920px; margin: 0 auto; }
.pw-phase { display: grid; grid-template-columns: 64px 1fr; gap: 24px; align-items: start; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(24px, 3vw, 36px); }
.pw-phase__num { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--night); color: var(--gold); font-family: var(--serif); font-size: 1.6rem; font-weight: 600; }
.pw-phase__when { margin: 0 0 6px; font-size: 0.74rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--rose); font-weight: 500; }
.pw-phase .pw-h3--lg { margin-bottom: 8px; }
.pw-phase p:last-child { margin: 0; }
.pw-page-process .pw-included .pw-card--dark .pw-h3--lg, .pw-page-compare .pw-included .pw-card--dark .pw-h3--lg { color: #fff; }
.pw-page-process .pw-included .pw-card--dark p, .pw-page-compare .pw-included .pw-card--dark p { color: rgba(255, 255, 255, 0.82); }
@media (max-width: 640px) {
	.pw-phase { grid-template-columns: 1fr; gap: 14px; }
}

/* 22 Oct 2026 --------------------------------------------------------- */

/* Pages where a card overlaps the hero (calculator, contact): on phones and
   tablets leave enough room under the hero text so the card never covers it. */
@media (max-width: 1000px) {
	.pw-hero:has(+ .pw-calc) .pw-hero__inner,
	.pw-hero:has(+ .pw-contact) .pw-hero__inner { padding-bottom: 190px; }
}

/* What's included: comparison table (desktop) */
.pw-compare__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.pw-compare__table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.pw-compare__table th { text-align: center; padding: 18px 14px; font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); border-bottom: 1px solid var(--line); background: var(--paper); font-weight: 500; }
.pw-compare__table th.pw-compare__feat { text-align: left; }
.pw-compare__table th.pw-compare__us { background: var(--night); color: var(--gold); }
.pw-compare__table td { padding: 16px 18px; border-bottom: 1px solid var(--line); vertical-align: top; }
.pw-compare__table tr:last-child td { border-bottom: 0; }
.pw-compare__table td.pw-compare__feat strong { display: block; color: var(--ink); font-weight: 500; margin-bottom: 4px; }
.pw-compare__note { display: block; font-size: 0.86rem; color: var(--ink-2); }
.pw-compare__cell { text-align: center; width: 140px; position: relative; }
.pw-compare__cell.pw-compare__us { background: rgba(194, 162, 102, 0.1); }
.pw-compare__mark { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; font-size: 0.85rem; }
.pw-compare__mark--yes { background: #e6f4ea; color: #1e7b3c; }
.pw-compare__mark--part { background: #fff3dc; color: #9a6a12; }
.pw-compare__mark--no { background: #f3f3f1; color: #9a9a9a; }
.pw-compare__legend { display: flex; gap: 22px; flex-wrap: wrap; justify-content: center; margin: 18px 0 0; font-size: 0.86rem; color: var(--ink-2); }
.pw-compare__legend span { display: inline-flex; align-items: center; gap: 8px; }
.pw-compare__legend .pw-compare__mark { width: 24px; height: 24px; font-size: 0.7rem; }

/* What's included on phones and small tablets: each row becomes a card with three chips */
@media (max-width: 760px) {
	.pw-compare__table, .pw-compare__table tbody, .pw-compare__table tr, .pw-compare__table td { display: block; width: auto; }
	.pw-compare__table thead { display: none; }
	.pw-compare__table { border: 0; background: transparent; overflow: visible; }
	.pw-compare__table tr { background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: 18px 18px 12px; margin-bottom: 12px; }
	.pw-compare__table td { padding: 0; border: 0; }
	.pw-compare__table td.pw-compare__feat { margin-bottom: 12px; }
	.pw-compare__table td.pw-compare__feat strong { font-size: 1.02rem; }
	.pw-compare__cell { display: inline-flex; align-items: center; gap: 8px; text-align: left; padding: 5px 12px 5px 5px; margin: 0 6px 6px 0; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); font-size: 0.8rem; color: var(--ink-2); }
	.pw-compare__cell.pw-compare__us { background: var(--night); color: var(--gold); border-color: var(--night); }
	.pw-compare__cell::after { content: attr(data-col); }
	.pw-compare__cell .pw-compare__mark { width: 24px; height: 24px; font-size: 0.7rem; }
	.pw-compare__cell.pw-compare__us .pw-compare__mark--yes { background: #2e7d45; color: #fff; }
	.pw-compare__legend { justify-content: flex-start; gap: 14px; font-size: 0.8rem; }
}

/* Qualifier */
.pw-qualify__wrap { max-width: 860px; }
.pw-qualify__q { border: 0; padding: 0; margin: 0 0 26px; }
.pw-qualify__q legend { font-weight: 500; color: var(--ink); margin-bottom: 12px; display: flex; align-items: center; gap: 10px; font-size: 1.02rem; }
.pw-qualify__num { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--night); color: var(--gold); font-size: 0.8rem; font-weight: 600; flex: none; }
.pw-qualify__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.pw-qualify__opt { position: relative; }
.pw-qualify__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pw-qualify__opt span { display: inline-block; padding: 10px 16px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--white); cursor: pointer; font-size: 0.92rem; transition: all 0.15s; }
.pw-qualify__opt input:checked + span { background: var(--night); color: var(--gold); border-color: var(--night); }
.pw-qualify__opt input:focus-visible + span { outline: 2px solid var(--rose); outline-offset: 2px; }
.pw-qualify__text { width: 100%; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; font: inherit; }
.pw-qualify__result { padding-top: 6px; }
.pw-qualify__verdict { font-family: var(--serif); font-size: 1.35rem; line-height: 1.45; color: var(--ink); margin: 6px 0 14px; }
.pw-help { font-size: 0.9rem; color: var(--ink-2); }

/* Try it */
.pw-try__nudge { text-align: center; margin: 26px 0 0; font-size: 0.95rem; color: var(--ink-2); }
.pw-try__nudge i { color: var(--rose); margin-right: 8px; }
/* Three things to try: three across on desktop, one per row below 1000px. */
.pw-included__grid.pw-try__grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1000px) {
	.pw-included__grid.pw-try__grid { grid-template-columns: 1fr; }
}
/* "What you are looking at": two per row, one per row on phones. */
.pw-page-try .pw-features__grid { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 640px) {
	.pw-page-try .pw-features__grid { grid-template-columns: 1fr; }
}

/* 22 Oct 2026, later ----------------------------------------------------- */

/* Space between a round icon and the heading under it, everywhere. */
.pw-card > .pw-icon { margin-bottom: 20px; }
.pw-process__steps .pw-icon, .pw-svc-links .pw-icon { margin-bottom: 0; }

/* Desktop menu: smaller text, and nothing wraps onto a second line. The phone menu keeps its larger text. */
@media (min-width: 1001px) {
	.pw-nav__link { font-size: 0.88rem; white-space: nowrap; }
	.pw-nav__list { gap: 2px; }
	.pw-sub { width: max-content; min-width: 250px; }
	.pw-sub a { font-size: 0.86rem; }
	.pw-sub a span { white-space: nowrap; }
}

/* 24 Oct 2026 ------------------------------------------------------------ */

/* Case study photo that links somewhere (the barn card). */
.pw-case__link { display: block; height: 100%; }
.pw-case__link img { transition: transform 0.4s ease; }
.pw-case__link:hover img, .pw-case__link:focus-visible img { transform: scale(1.03); }

/* Free audit page on phones: most visitors left within seconds without ever
   reaching the form. The copy block is flattened into the grid so the form
   sits straight under the intro, with the ticks and Google Partner line after it. */
@media (max-width: 900px) {
	.pw-hero--landing .pw-hero__copy { display: contents; }
	.pw-hero--landing .pw-landing__grid { row-gap: 0; }
	.pw-hero--landing .pw-hero__copy > .pw-eyebrow { order: 1; margin-bottom: 10px; }
	.pw-hero--landing .pw-hero__copy > .pw-h1 { order: 2; margin-bottom: 10px; }
	.pw-hero--landing .pw-hero__copy > .pw-hero__text { order: 3; margin-bottom: 20px; font-size: 1rem; }
	.pw-hero--landing .pw-landing__grid > #form { order: 4; }
	.pw-hero--landing .pw-hero__copy > .pw-ticks { order: 5; margin: 28px 0 0; }
	.pw-hero--landing .pw-hero__copy > .pw-hero__note { order: 6; margin: 22px 0 0; }
	.pw-hero--landing .pw-card--form .pw-card__sub { display: none; }
}
