*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f2ea;color:#2a2722;font-family:"DM Sans",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{position:relative;z-index:20;background:#f6f2ea;border-bottom:1px solid #d8d0c2}.header-inner{min-height:86px;display:flex;align-items:center;gap:28px}.brand{font-family:"Playfair Display",serif;font-size:22px;line-height:1;letter-spacing:.05em}.brand span{display:block;font:600 8px "DM Sans",sans-serif;letter-spacing:.24em;margin-top:6px;color:#a3844e}.main-nav{margin-left:auto;display:flex;gap:24px;align-items:center}.main-nav a{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.main-nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0}.button{display:inline-block;padding:13px 20px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600;border:1px solid #2a2722}.button-dark{background:#2a2722;color:#fffdf9}.header-book{white-space:nowrap}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:660px}.hero-image,.suite-hero-image,.feature-image{overflow:hidden}.hero-image img,.suite-hero-image img,.feature-image img,.gallery-feature img,.contact-grid img,.suite-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:72px clamp(32px,7vw,100px);background:#ece6db}..eyebrow{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-weight:600;
    color:#a3844e;
}.hero h1,h1,h2,h3{font-family:"Playfair Display",serif;font-weight:500;line-height:1.1;margin:0 0 25px}.hero h1{font-size:clamp(40px,5vw,70px)}h1{font-size:clamp(42px,5vw,64px)}h2{font-size:clamp(32px,4vw,48px)}h3{font-size:26px}.hero-copy p:not(.eyebrow){max-width:520px;margin:0 0 28px;color:#655f56}.section{padding:105px 0}.intro,.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}.intro p,.feature-copy p,.split-copy p{color:#655f56;max-width:540px}.text-link{display:inline-block;margin-top:15px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600;color:#a3844e}.suite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.suite-card{background:#ece6db}.suite-image{aspect-ratio:1.18;overflow:hidden}.suite-card-body{padding:24px}.suite-card-body h3{margin-bottom:6px}.suite-card-body p{font-size:12px;color:#655f56;margin:0}.split-feature{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:70px 9%;background:#6f745e;color:#fff}.feature-copy .eyebrow{color:#d6c197}.feature-copy p{color:#f0ede6}.feature-copy .text-link{color:#fff}.newsletter{background:#ece6db}.newsletter .wrap{max-width:700px;text-align:center}.oa-subscribe{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.oa-subscribe input{border:1px solid #c7bdad;background:#f6f2ea;padding:14px 16px;font:inherit}.oa-subscribe input[type=email]{min-width:270px}.oa-subscribe button{border:0;background:#2a2722;color:#fff;padding:14px 22px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.oa-note{font-size:11px;color:#777065;width:100%}.page-hero{padding:110px 0 70px}.page-hero p:last-child{max-width:600px;color:#655f56}.suite-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:650px}.suite-hero-copy{padding:100px 8%;display:flex;flex-direction:column;justify-content:center;background:#ece6db}.suite-size{font:26px "Playfair Display",serif}.suite-tagline{font:italic 18px "Playfair Display",serif}.narrow{max-width:850px}.content{font-size:17px}.notice{margin-top:40px;padding:20px;background:#ece6db;border-left:3px solid #a3844e}.gallery-feature{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:center}.gallery-feature>div:not(.gallery-copy){aspect-ratio:1;overflow:hidden}.gallery-copy{padding:20px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-grid>div:first-child{aspect-ratio:1;overflow:hidden}.oa-form{display:grid;gap:14px}.oa-form input,.oa-form textarea{width:100%;border:1px solid #c7bdad;background:#fffdf9;padding:15px;font:inherit}.form-status{font-size:13px;color:#655f56}.site-footer{background:#2a2722;color:#f6f2ea;padding:80px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1.2fr;gap:70px}.footer-brand{font:24px "Playfair Display",serif}.site-footer h4{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#d6c197}.site-footer a{display:block;margin:7px 0;color:#f6f2ea;font-size:13px}.footer-bottom{border-top:1px solid #514b43;margin-top:60px;padding-top:18px;display:flex;justify-content:space-between;color:#a9a196;font-size:11px}.cookie{position:fixed;left:20px;bottom:20px;z-index:100;background:#2a2722;color:#fff;padding:15px 18px;display:flex;gap:20px;align-items:center}.cookie button{background:#a3844e;color:#fff;border:0;padding:8px 14px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;z-index:100;background:#fff;padding:10px}.photo-placeholder{background:#ece6db;min-height:300px;display:grid;place-items:center;color:#777}@media(max-width:900px){.main-nav{display:none}.main-nav.is-open{display:flex;position:absolute;top:86px;left:0;right:0;background:#f6f2ea;padding:25px;flex-direction:column}.main-nav ul{flex-direction:column}.menu-toggle{display:block;margin-left:auto;background:none;border:0;font-size:10px;letter-spacing:.1em}.header-book{display:none}.hero,.suite-hero,.split-feature,.intro,.split-copy,.contact-grid,.gallery-feature{grid-template-columns:1fr}.hero-image{min-height:55vh}.hero-copy{padding:60px 30px}.suite-grid{grid-template-columns:1fr 1fr}.section{padding:70px 0}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;gap:10px}}@media(max-width:600px){.wrap{width:calc(100% - 32px)}.suite-grid{grid-template-columns:1fr}.hero h1{font-size:43px}}

/* Suite Details */
.content .suite-practical-details {
	margin-top: 34px;
	padding-top: 22px;
	border-top: 1px solid rgba(42,39,34,.18);
}

.content .suite-practical-details > .eyebrow {
	margin: 0 0 18px;
	font-size: 10px;
	line-height: 1.4;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 600;
	color: #a3844e;
}

.content .suite-details-list {
	display: grid;
	grid-template-columns: 145px minmax(0,1fr);
	column-gap: 26px;
	row-gap: 12px;
	margin: 0;
	padding: 0;
}

.content .suite-details-list dt,
.content .suite-details-list dd {
	margin: 0;
	padding: 0;
}

.content .suite-details-list dt {
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
	color: #2a2722;
}

.content .suite-details-list dd {
	font-size: 15px;
	line-height: 1.55;
	font-weight: 400;
	color: #655f56;
}

@media (max-width:700px) {
	.content .suite-details-list {
		grid-template-columns: 1fr;
		row-gap: 4px;
	}

	.content .suite-details-list dd {
		margin-bottom: 12px;
	}
}

/* Suites archive spacing refinement */
.post-type-archive-oa_suite .section:first-of-type {
	padding-bottom: 48px;
}

.post-type-archive-oa_suite .suite-grid {
	margin-top: 24px;
}
/* Suites archive - reduce space before suite cards */
.post-type-archive-oa_suite .page-hero + .section {
	padding-top: 0px;
}
/* Suites archive - final spacing */
.post-type-archive-oa_suite .page-hero {
    padding-top: 70px;
    padding-bottom: 35px;
}
/* Individual suite page - tighten space below hero */
.single-oa_suite .suite-introduction {
    padding-top: 55px;
    padding-bottom: 55px;
}

.single-oa_suite .suite-introduction .split-copy {
    align-items: start;
}
.post-type-archive-oa_suite .page-hero + .section {
    padding-top: 0;
}
/* Keep suite hero image and copy panels perfectly aligned */
.suite-hero {
    align-items: stretch;
}

.suite-hero-image,
.suite-hero-copy {
    height: 100%;
}

.suite-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Reduce excessive suite hero height */
.suite-hero {
    min-height: 0;
}
/* Refine vertical position of suite hero copy */
/* Keep hero panels aligned, but lift the content inside */
.suite-hero-copy {
    justify-content: center;
    transform: none;
}

.suite-hero-copy > * {
    transform: translateY(-20px);
}
}
}
.suite-hero-image {
    min-height: 0;
}
/* Book Direct section alignment */
.direct-booking .split-copy {
    align-items: start;
}
.direct-booking .split-copy > div:nth-child(2) {
    transform: translateY(-18px);
}
/* Reduce gap before Book Direct section */
.direct-booking {
    padding-top: 40px;
}
/* The Hotel – align Seven Suites section to top */
.hotel-suites .split-copy {
    align-items: start;
}

.hotel-suites .split-copy > div {
    align-self: start;
}
/* The Hotel – Seven Suites section */
.page-template-the-hotel .suite-introduction {
    padding-top: 55px;
    padding-bottom: 55px;
}

.page-template-the-hotel .suite-introduction .split-copy {
    align-items: start;
}
/* The Hotel – History section */
.page-template-the-hotel .hotel-history {
    padding-top: 55px;
    padding-bottom: 55px;
}

.page-template-the-hotel .hotel-history .split-copy {
    align-items: start;
}
/* The Hotel – consistent editorial spacing */
.page-template-the-hotel .section {
    padding-top: 80px;
    padding-bottom: 80px;
}

.page-template-the-hotel .hotel-history,
.page-template-the-hotel .suite-introduction {
    padding-top: 55px;
    padding-bottom: 55px;
}
/* The Hotel – align restoration gallery images with copy */
.page-template-the-hotel .gallery-feature {
    align-items: start;
}
/* The Hotel – reduce vertical gap before restoration section */
.page-template-the-hotel .gallery-feature {
    margin-top: -80px;
}
/* The Hotel – tighten restoration text spacing */
.page-template-the-hotel .gallery-copy p {
    margin-bottom: 16px;
}

.page-template-the-hotel .gallery-copy h2 {
    margin-bottom: 24px;
}
/* The Hotel – reduce gap before Seven Suites */
.page-template-the-hotel .suite-introduction {
    padding-top: 0 !important;
    margin-top: -70px !important;
}
/* Weddings & Events — align section heading with copy */
.page-template-weddings-events .split-copy {
    align-items: start;
}

.page-template-weddings-events .split-copy > div:first-child,
.page-template-weddings-events .split-copy > .content {
    align-self: start;
}
/* Weddings & Events — consistent alignment and spacing */
.page-template-weddings-events .split-copy {
    align-items: start !important;
}

.page-template-weddings-events .section {
    padding-top: 60px;
    padding-bottom: 60px;
}
.page-template-weddings-events .section + .section {
    padding-top: 0 !important;
    margin-top: -20px;
}
/* ========================================
   PORT FAIRY PAGE — SPACING & ALIGNMENT
   ======================================== */

/* Reduce vertical spacing between Port Fairy content blocks */
body.page-template-port-fairy .section {
    padding-top: 25px;
    padding-bottom: 25px;
}

/* Align heading column with text column */
body.page-template-port-fairy .split-copy {
    align-items: flex-start;
}

/* Remove any inherited vertical offset */
body.page-template-port-fairy .split-copy > div {
    margin-top: 0;
}

/* Ensure first elements begin at exactly the same height */
body.page-template-port-fairy .split-copy > div > :first-child,
body.page-template-port-fairy .content > :first-child {
    margin-top: 0;
}
/* MOBILE – fix oversized vertical gaps */
@media (max-width: 700px) {

    .intro,
    .split-copy {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        align-items: start !important;
    }

    .section {
        padding-top: 38px !important;
        padding-bottom: 38px !important;
    }
}
/* FIX DESKTOP HEADER NAVIGATION SPACING */
.main-nav {
    display: flex;
    align-items: center;
    gap: 28px;
}

.main-nav a {
    display: inline-block;
}

/* WINE BAR — DESKTOP FEATURE LAYOUT */

.wine-bar-feature {
    display: grid !important;
    grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.85fr) !important;
    gap: 70px !important;
    align-items: center !important;
    padding-top: 45px !important;
    padding-bottom: 55px !important;
}

.wine-bar-feature-image {
    width: 100% !important;
    min-width: 0 !important;
}

.wine-bar-feature-image img {
    display: block !important;
    width: 100% !important;
    height: 500px !important;
    object-fit: cover !important;
}

.wine-bar-feature-copy {
    min-width: 0 !important;
    align-self: center !important;
}

.wine-bar-feature-copy .eyebrow {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

.wine-bar-feature-copy h1 {
    margin-top: 0 !important;
    margin-bottom: 26px !important;
}

.wine-bar-feature-copy p:not(.eyebrow) {
    max-width: 440px !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}


/* WINE BAR — CONSIDERED SELECTION */

.wine-bar-drinks {
    padding-top: 45px !important;
    padding-bottom: 70px !important;
}

.wine-bar-drinks-intro {
    max-width: 720px !important;
    margin-bottom: 45px !important;
}

.wine-bar-drinks-intro h2 {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
}

.wine-bar-drinks-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 42px !important;
}

.wine-bar-drink-card {
    border-top: 1px solid rgba(42, 39, 34, 0.18) !important;
    padding-top: 26px !important;
}


/* WINE BAR — MOBILE */

@media (max-width: 700px) {

    .wine-bar-feature {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding-top: 30px !important;
        padding-bottom: 40px !important;
    }

    .wine-bar-feature-image img {
        height: auto !important;
    }

    .wine-bar-feature-copy {
        align-self: start !important;
    }

    .wine-bar-drinks {
        padding-top: 40px !important;
    }

    .wine-bar-drinks-grid {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }
}
/* WINE BAR — top align split-copy sections */
.wine-bar-intro .split-copy,
.wine-bar-stay .split-copy,
.wine-bar-visit .split-copy {
    align-items: start !important;
}

.wine-bar-intro .split-copy > div,
.wine-bar-stay .split-copy > div,
.wine-bar-visit .split-copy > div {
    align-self: start !important;
}
/* WINE BAR — final section alignment and spacing */

/* Top-align left headings with right-hand copy */
.wine-bar-intro .split-copy,
.wine-bar-stay .split-copy,
.wine-bar-visit .split-copy {
    align-items: start !important;
}

/* Reduce vertical space in these sections */
.wine-bar-intro,
.wine-bar-stay,
.wine-bar-visit {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}
/* WINE BAR — reduce gap below cocktail image */
.wine-bar-editorial-image {
    padding-bottom: 20px !important;
}

.wine-bar-drinks {
    padding-top: 20px !important;
}
/* HEADER — vertically centre navigation and booking button */

.site-header .header-inner {
    align-items: center !important;
}

.site-header .header-book {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: none !important;
}
/* ==================================================
   INDIVIDUAL SUITES — FINAL TOP ALIGNMENT
   ================================================== */

body.single-oa_suite .split-copy {
    align-items:start !important;
}

body.single-oa_suite .split-copy > div {
    align-self:start !important;
    margin-top:0 !important;
    padding-top:0 !important;
}

body.single-oa_suite .split-copy > div > :first-child {
    margin-top:0 !important;
    padding-top:0 !important;
}

/* Suite Details rows */
body.single-oa_suite .oa-suite-detail-row {
    display:grid !important;
    grid-template-columns:170px minmax(0,1fr) !important;
    column-gap:24px !important;
    align-items:start !important;
}

body.single-oa_suite .oa-suite-detail-label,
body.single-oa_suite .oa-suite-detail-value {
    align-self:start !important;
    margin-top:0 !important;
    padding-top:0 !important;
}
/* Oak & Anchor editorial italic */
.oa-italic {
    font-family: "Playfair Display", serif;
    font-style: italic;
    font-weight: 400;
    color: #a3844e;
}
/* ==================================================
   RIVERSTONE — GLOBAL BRAND OVERRIDES
   ================================================== */

:root {
    --riverstone-charcoal:#282927;
    --riverstone-river:#687A78;
    --riverstone-bluestone:#5B5D5B;
    --riverstone-limestone:#F3F0E9;
    --riverstone-soft-stone:#D8D4CB;
    --riverstone-white:#FAF9F6;
}


/* GLOBAL */

body {
    background:#FAF9F6;
    color:#282927;
    font-family:"DM Sans",sans-serif;
}


/* TYPOGRAPHY */

h1,
h2,
h3 {
    font-family:"Playfair Display",serif;
    color:#282927;
}

.eyebrow,
.riverstone-kicker {
    color:#687A78 !important;
}

.text-link {
    color:#687A78;
}


/* HEADER */

.site-header {
    background:#FAF9F6;
    border-bottom:1px solid #D8D4CB;
}

.brand {
    color:#282927;
}

.brand span {
    color:#687A78;
}


/* BUTTONS */

.button {
    border-color:#282927;
}

.button-dark {
    background:#282927;
    color:#FAF9F6;
}


/* FORMS */

.oa-form input,
.oa-form textarea {
    border-color:#D8D4CB;
    background:#FAF9F6;
}


/* PLACEHOLDER PHOTOGRAPHY */

.photo-placeholder {
    background:#D8D4CB;
    color:#5B5D5B;
}


/* COOKIE NOTICE */

.cookie {
    background:#282927;
    color:#FAF9F6;
}

.cookie button {
    background:#687A78;
    color:#FAF9F6;
}

/* ==================================================
   RIVERSTONE — DISTINCTIVE VISUAL DIRECTION
   ================================================== */


/* HEADER */

.site-header {
    background:#FAF9F6 !important;
    border-bottom:1px solid rgba(91,93,91,.22) !important;
}

.brand {
    color:#282927 !important;
}

.brand span {
    color:#687A78 !important;
}

.main-nav a {
    color:#282927 !important;
}


/* PRIMARY BUTTONS */

.button-dark,
.header-book {
    background:#687A78 !important;
    border-color:#687A78 !important;
    color:#FAF9F6 !important;
}

.button-dark:hover,
.header-book:hover {
    background:#5B5D5B !important;
    border-color:#5B5D5B !important;
    color:#FAF9F6 !important;
}


/* HOMEPAGE HERO */

.riverstone-hero {
    background:#F3F0E9 !important;
}

.riverstone-hero-image {
    background:#5B5D5B !important;
    color:rgba(250,249,246,.72) !important;
}

.riverstone-hero-copy {
    background:#F3F0E9 !important;
}

.riverstone-hero h1 {
    color:#282927 !important;
}

.riverstone-kicker {
    color:#687A78 !important;
}


/* EDITORIAL SECTIONS */

.riverstone-section {
    background:#FAF9F6;
}

.riverstone-feature {
    background:#D8D4CB !important;
}

.riverstone-feature-copy {
    background:#D8D4CB !important;
}


/* PHOTOGRAPHY PLACEHOLDERS */

.riverstone-photo-placeholder,
.riverstone-house-placeholder,
.riverstone-contact-placeholder {
    background:#687A78 !important;
    color:rgba(250,249,246,.72) !important;
}


/* DARK HERITAGE SECTION */

.riverstone-heritage {
    background:#5B5D5B !important;
    color:#FAF9F6 !important;
}

.riverstone-heritage h2 {
    color:#FAF9F6 !important;
}

.riverstone-heritage .riverstone-kicker {
    color:#D8D4CB !important;
}

.riverstone-heritage p {
    color:rgba(250,249,246,.78) !important;
}


/* LINKS */

.text-link {
    color:#5B5D5B !important;
    border-color:#687A78 !important;
}


/* FOOTER */

.site-footer {
    background:#282927 !important;
}

.site-footer .footer-location,
.site-footer h4 {
    color:#AAB5B3 !important;
}

.site-footer .footer-book {
    border-color:#687A78 !important;
}

.site-footer .footer-book:hover {
    background:#687A78 !important;
    border-color:#687A78 !important;
}