/* Regal Park - base layer. Design tokens live in theme.json. */
*,*::before,*::after{box-sizing:border-box}
img,svg{max-width:100%;height:auto;display:block}
body{margin:0;-webkit-font-smoothing:antialiased}

.wrap{
	width:min(100% - 2.5rem, var(--wp--style--global--wide-size, 1240px));
	margin-inline:auto;
}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.75rem}

.site-header{
	border-bottom:1px solid var(--wp--preset--color--line);
	background:var(--wp--preset--color--paper);
}
.site-header__inner{
	display:flex;align-items:center;justify-content:space-between;
	gap:var(--wp--preset--spacing--40);
	padding-block:var(--wp--preset--spacing--30);
}
.brand{
	font-family:var(--wp--preset--font-family--display);
	font-size:var(--wp--preset--font-size--lg);
	font-weight:600;
	color:var(--wp--preset--color--brand-deep);
	text-decoration:none;
	letter-spacing:-.02em;
}
.nav-primary ul{
	display:flex;gap:var(--wp--preset--spacing--40);
	list-style:none;margin:0;padding:0;
}
.nav-primary a{
	color:var(--wp--preset--color--ink);
	text-decoration:none;font-size:var(--wp--preset--font-size--sm);
}
.nav-primary a:hover{color:var(--wp--preset--color--brand)}

.site-main{padding-block:var(--wp--preset--spacing--60)}

.site-footer{
	margin-top:var(--wp--preset--spacing--70);
	background:var(--wp--preset--color--brand-deep);
	color:var(--wp--preset--color--paper);
}
.site-footer__inner{
	display:flex;flex-wrap:wrap;align-items:center;
	justify-content:space-between;gap:var(--wp--preset--spacing--30);
	padding-block:var(--wp--preset--spacing--50);
}
.site-footer a{color:var(--wp--preset--color--paper)}
.nav-footer ul{
	display:flex;gap:var(--wp--preset--spacing--30);
	list-style:none;margin:0;padding:0;
	font-size:var(--wp--preset--font-size--sm);
}
@media (max-width:640px){
	.site-header__inner{flex-direction:column;align-items:flex-start}
}

/* --- image placeholders --- */
.rp-ph{
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	gap:4px;width:100%;aspect-ratio:4/3;
	background:repeating-linear-gradient(45deg,#eef1f4,#eef1f4 10px,#e6eaee 10px,#e6eaee 20px);
	border:1px dashed #b9c2cb;border-radius:8px;text-align:center;padding:1rem;
}
.rp-ph__slot{font-family:var(--wp--preset--font-family--sans);font-size:.75rem;
	letter-spacing:.06em;text-transform:uppercase;color:#0354a2}
.rp-ph__label{font-size:.875rem;color:#3d4750}
.rp-ph__size{font-size:.75rem;color:#7b858f}
.rp-img{width:100%;height:100%;object-fit:cover}

/* --- shared --- */
.rp-section{padding-block:var(--wp--preset--spacing--60)}
.rp-section--tint{background:var(--wp--preset--color--mist)}
.rp-eyebrow{
	font-size:var(--wp--preset--font-size--sm);letter-spacing:.06em;
	text-transform:uppercase;color:var(--wp--preset--color--brand);margin:0 0 .5rem
}
.rp-h2{font-size:var(--wp--preset--font-size--xl);margin:0 0 .5rem;max-width:36ch;text-wrap:balance}
.rp-h2--invert{color:var(--wp--preset--color--paper)}
.rp-sub{color:var(--wp--preset--color--muted);margin:0 0 2rem}
.rp-lede{font-size:var(--wp--preset--font-size--lg);line-height:1.6;text-wrap:pretty;
	color:var(--wp--preset--color--muted);margin:0 0 1.5rem}
.rp-lede--narrow{max-width:68ch}
.rp-note{margin:1.5rem 0 0;color:var(--wp--preset--color--muted);max-width:62ch}
.rp-note--accent{background:var(--wp--preset--color--brand-tint);color:#185fa5;
	padding:1rem 1.25rem;border-radius:8px;max-width:none;display:flex;
	flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center}
.rp-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}
.rp-actions--center{justify-content:center}
.rp-btn{display:inline-block;background:var(--wp--preset--color--brand);
	color:var(--wp--preset--color--paper);padding:.85rem 1.4rem;border-radius:8px;
	text-decoration:none;font-size:var(--wp--preset--font-size--sm)}
.rp-btn:hover{background:var(--wp--preset--color--brand-deep)}
.rp-btn--ghost{background:transparent;color:var(--wp--preset--color--brand);
	box-shadow:inset 0 0 0 1px currentColor}
.rp-btn--invert{background:var(--wp--preset--color--paper);
	color:var(--wp--preset--color--brand-deep)}

/* --- hero --- */
.rp-hero{position:relative;isolation:isolate;overflow:hidden;
	background:var(--wp--preset--color--brand-deep)}
.rp-hero__media{position:absolute;inset:0;z-index:-2}
.rp-hero__media img{width:100%;height:100%;object-fit:cover}
.rp-hero::after{content:"";position:absolute;inset:0;z-index:-1;
	background:linear-gradient(100deg,rgba(2,26,52,.92) 0%,rgba(2,26,52,.76) 38%,
	rgba(2,26,52,.32) 70%,rgba(2,26,52,.10) 100%)}
.rp-hero__media .rp-ph{height:100%;aspect-ratio:auto;border:0;border-radius:0}
.rp-hero__inner{padding-block:var(--wp--preset--spacing--70);min-height:clamp(420px,56vh,620px);display:flex;flex-direction:column;justify-content:center}
.rp-hero .rp-eyebrow{color:#a9cdf2}
.rp-hero__title{color:var(--wp--preset--color--paper)}
.rp-hero .rp-lede{color:rgba(255,255,255,.9)}
.rp-hero .rp-btn--ghost{color:#fff}
@media (max-width:700px){.rp-hero::after{background:linear-gradient(180deg,rgba(2,26,52,.55) 0%,rgba(2,26,52,.88) 60%)}}
.rp-hero__title{font-size:var(--wp--preset--font-size--xxxl);margin:0 0 1rem;max-width:26ch;text-wrap:balance}

/* --- proof --- */
.rp-proof{border-block:1px solid var(--wp--preset--color--line)}
.rp-proof__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.rp-proof__item{padding:1.75rem 1rem;text-align:center;
	border-right:1px solid var(--wp--preset--color--line)}
.rp-proof__item:last-child{border-right:0}
.rp-proof__num{display:block;font-family:var(--wp--preset--font-family--display);
	font-size:var(--wp--preset--font-size--xl);color:var(--wp--preset--color--brand-deep)}
.rp-proof__label{display:block;font-size:var(--wp--preset--font-size--sm);
	color:var(--wp--preset--color--muted);margin-top:.35rem}

/* --- pillars / steps --- */
.rp-pillars,.rp-steps{display:grid;gap:var(--wp--preset--spacing--40);
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:1.5rem 0 0;
	padding:0;list-style:none}
.rp-pillar{background:var(--wp--preset--color--brand-tint);padding:1.5rem;border-radius:12px}
.rp-pillar .ti{font-size:22px;color:var(--wp--preset--color--brand)}
.rp-pillar__title{font-size:var(--wp--preset--font-size--lg);margin:.75rem 0 .35rem;text-wrap:balance;
	color:var(--wp--preset--color--brand-deep)}
.rp-pillar__text{margin:0;color:#185fa5}
.rp-step__num{font-family:var(--wp--preset--font-family--display);
	font-size:var(--wp--preset--font-size--lg);color:var(--wp--preset--color--brand)}
.rp-step__title{font-size:var(--wp--preset--font-size--lg);margin:.5rem 0 .35rem}
.rp-step__text{margin:0;color:var(--wp--preset--color--muted)}

/* --- photo comparison --- */
.rp-compare{display:grid;gap:var(--wp--preset--spacing--40);
	grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:1.5rem}
.rp-compare__item{margin:0}
.rp-compare__img{border-radius:12px;aspect-ratio:4/3}
.rp-compare figcaption{margin-top:.75rem;display:flex;flex-direction:column;gap:.2rem}
.rp-compare figcaption strong{font-weight:500}
.rp-compare figcaption span{color:var(--wp--preset--color--muted);
	font-size:var(--wp--preset--font-size--sm)}

/* --- tour facade --- */
.rp-tour{position:relative;border-radius:12px;overflow:hidden;margin:1.5rem 0}
.rp-tour__poster{aspect-ratio:16/9}
.rp-tour__play{position:absolute;inset:0;margin:auto;width:64px;height:64px;
	border-radius:50%;border:0;background:var(--wp--preset--color--brand);
	color:#fff;display:grid;place-items:center;cursor:pointer}
.rp-tour__play .ti{font-size:26px}
.rp-tour__tag{position:absolute;left:1rem;bottom:1rem;
	background:var(--wp--preset--color--brand-deep);color:#fff;
	font-size:var(--wp--preset--font-size--sm);padding:.35rem .7rem;border-radius:6px}

/* --- media grid --- */
.rp-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
	gap:1rem;list-style:none;padding:0;margin:0}
.rp-media__item{text-align:center;padding:1rem .5rem;
	border:1px solid var(--wp--preset--color--line);border-radius:12px}
.rp-media__item .ti{font-size:22px;color:var(--wp--preset--color--brand);
	display:block;margin-bottom:.5rem}
.rp-media__item span{font-size:var(--wp--preset--font-size--sm)}

/* --- results --- */
.rp-results{display:grid;gap:var(--wp--preset--spacing--40);
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.rp-result{border:1px solid var(--wp--preset--color--line);border-radius:12px;overflow:hidden}
.rp-result__img{aspect-ratio:4/3}
.rp-result .rp-ph{border:0;border-radius:0}
.rp-result__body{padding:1rem}
.rp-result__title{font-size:var(--wp--preset--font-size--base);margin:0}
.rp-result__area{margin:.2rem 0 0;color:var(--wp--preset--color--muted);
	font-size:var(--wp--preset--font-size--sm)}
.rp-result__stat{margin:.6rem 0 0;color:#0f6e56;font-size:var(--wp--preset--font-size--sm)}

/* --- quote, lettings, cta --- */
.rp-quote{margin:0;max-width:60ch}
.rp-quote blockquote{margin:0;font-family:var(--wp--preset--font-family--display);
	font-size:var(--wp--preset--font-size--lg);line-height:1.5}
.rp-quote figcaption{margin-top:.75rem;color:var(--wp--preset--color--muted);
	font-size:var(--wp--preset--font-size--sm)}
.rp-lettings{background:var(--wp--preset--color--brand-deep);color:#fff;
	padding-block:var(--wp--preset--spacing--50)}
.rp-lettings__inner{display:flex;flex-wrap:wrap;gap:1rem;
	align-items:center;justify-content:space-between}
.rp-lettings__text{margin:.35rem 0 0;color:#b5d4f4}
.rp-cta{text-align:center;background:var(--wp--preset--color--mist)}
.rp-cta .rp-h2{max-width:none}

/* --- pages --- */
.rp-page__header{padding-block:var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
	background:var(--wp--preset--color--mist);
	border-bottom:1px solid var(--wp--preset--color--line)}
.rp-page__title{font-size:var(--wp--preset--font-size--xxl);margin:0;
	max-width:26ch;text-wrap:balance}
.rp-page__header .rp-lede{margin:1rem 0 0}
.entry-content{padding-block:var(--wp--preset--spacing--60)}
.entry-content>*{max-width:68ch;margin-inline:auto}
.entry-content>.alignwide{max-width:var(--wp--style--global--wide-size)}
.entry-content>.alignfull{max-width:none;width:100%}
.entry-content h2{font-size:var(--wp--preset--font-size--xl);margin-top:2.5rem;text-wrap:balance}
.entry-content h3{font-size:var(--wp--preset--font-size--lg);margin-top:2rem}
.entry-content img{border-radius:12px}
