@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Marcellus&display=swap');

:root{
--ivory:#F7F2E9;--ivory-deep:#EAE1D2;--rust:#876B62;
--nether-red:#92756F;--rust-deep:var(--nether-red);--espresso:var(--nether-red);
--gold:#A48749;--champagne:#E1D0AE;--sage:#9DA489;--sage-deep:#5F654A;--ink:#24231F;
--ink-soft:#625D54;--line:#D9CEBC;--stone:#EEE6DA;
--wp--style--global--content-size:1400px;--wp--style--global--wide-size:1400px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);
font-family:'Marcellus',serif;font-weight:400;line-height:1.65;
-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;margin:0;
color:var(--ink);letter-spacing:-0.01em}
.eyebrow{font-family:'Marcellus',serif;font-size:11px;letter-spacing:0.2em;
text-transform:uppercase;color:var(--rust);font-weight:400}

/* ---------- WIDTH: proportional, always leaves margins ---------- */
.wrap{width:80%;max-width:1240px;margin:0 auto;padding:0}
.hero-photo{width:80%;max-width:1240px;margin:0 auto}
section{padding:108px 0}

/* Unlock WordPress block-layout cap on our sections */
.entry-content>*,.is-layout-constrained>*,.is-layout-flow>*,
.wp-block-html,.wp-block-html>*{max-width:none!important;width:auto!important}
#page,.site,#content,.site-content,#primary,#main,article,
.entry-content,.type-page{max-width:none!important;width:100%!important;
margin-left:0!important;margin-right:0!important;float:none!important}
html,body{max-width:100%!important;overflow-x:hidden!important}

/* Hide theme chrome */
.site-branding,.site-header .site-title,.site-header .site-description,
.custom-logo-link,.entry-title,.page-title,h1.entry-title,
.wp-block-post-title,.post-title,.entry-header,header.entry-header,
#toggle-menu,input#toggle,.menu-main-menu-container{display:none!important}
.site-header,#masthead{padding:0!important;margin:0!important;
min-height:0!important;border:none!important;max-width:none!important}

/* ---------- DIVIDER ---------- */
.breath-line{height:1px;width:100%;opacity:.28;
background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* ---------- DARK PANEL BRAND TREATMENT ---------- */
/* Use this class on any page-specific dark panel to match the global Nether Red treatment. */
.nether-panel{
background:
linear-gradient(rgba(55,40,38,.10),rgba(55,40,38,.10)),
var(--nether-red)!important;
color:var(--ivory);
}
.nether-panel .eyebrow{color:var(--champagne)!important}


/* ---------- PAGE TOP / CUSTOM HTML NORMALISATION ---------- */
/* The custom site header lives inside a WordPress Custom HTML block.
   WordPress/theme block-gap margins can vary between pages, so normalise
   the outer page and the first HTML block rather than forcing header height. */
.entry-content,
.wp-block-post-content{
  padding-top:0!important;
  margin-top:0!important;
}

.entry-content > .wp-block-html:first-child,
.wp-block-post-content > .wp-block-html:first-child,
article > .wp-block-html:first-child{
  margin-top:0!important;
  padding-top:0!important;
}

/* Remove theme block-gap offset above the first custom HTML block only. */
.entry-content > .wp-block-html:first-child,
.wp-block-post-content > .wp-block-html:first-child{
  margin-block-start:0!important;
}

/* Keep the custom header itself free of inherited block margins. */
.wp-block-html header:first-child,
.entry-content header:first-child,
.wp-block-post-content header:first-child{
  margin-top:0!important;
}

/* ---------- HEADER / NAV ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(247,242,233,.94);
backdrop-filter:blur(8px);border-bottom:1px solid rgba(217,206,188,.5)}
header nav.wrap{display:flex;flex-wrap:nowrap;align-items:center;
justify-content:flex-start;gap:40px;padding:20px 0;position:relative}
.logo{flex-shrink:0;display:flex;align-items:center}
.nav-logo-img{height:92px;width:92px;object-fit:contain;display:block}
.menu-toggle-checkbox{display:none}
.menu-toggle-label{display:none!important;flex-direction:column;justify-content:center;
gap:5px;width:32px;height:32px;cursor:pointer;flex-shrink:0}
.menu-toggle-label span{display:block;width:100%;height:2px;background:var(--ink)}
.nav-menu-group{display:flex;flex-direction:row;align-items:center;
justify-content:space-between;flex:1}
.navlinks{display:flex;flex-wrap:nowrap;align-items:center;
justify-content:space-between;flex:1;margin-right:64px;white-space:nowrap}
.navlinks a{font-family:'Marcellus',serif;font-size:14.25px;font-weight:400;
letter-spacing:.06em;color:var(--ink-soft);white-space:nowrap}
.navlinks a:hover{color:var(--rust)}
.navcta{flex-shrink:0;white-space:nowrap;background:transparent;
border:1px solid var(--rust);color:var(--rust);
font-family:'Marcellus',serif;font-size:13.75px;font-weight:400;
letter-spacing:.14em;text-transform:uppercase;padding:12px 22px;
border-radius:1px;transition:background .25s ease,color .25s ease}
.navcta:hover{background:var(--nether-red);color:var(--ivory);border-color:var(--nether-red)}

/* ---------- HERO ---------- */
.hero{padding:0;position:relative}
.hero-photo{height:82vh;min-height:620px;position:relative;
display:flex;align-items:flex-end;
background:linear-gradient(90deg,rgba(36,35,31,.62) 0%,rgba(36,35,31,.34) 45%,
rgba(36,35,31,.12) 100%),var(--ivory-deep)}
.hero-content{position:relative;padding:0 48px 72px;width:100%;color:var(--ivory)}
.hero-content .eyebrow{display:block;margin-bottom:16px;color:var(--gold);
font-size:10.5px;letter-spacing:.2em}
.hero-content h1{font-size:clamp(48px,5.5vw,74px);line-height:.95;
letter-spacing:-.035em;max-width:11ch;color:var(--ivory)}
.hero-sub{margin-top:22px;font-size:15.5px;line-height:1.85;max-width:46ch;
color:rgba(247,242,233,.9)}
.hero-cta{display:inline-block;margin-top:34px;background:transparent;
border:1px solid rgba(247,242,233,.7);color:var(--ivory);
font-family:'Marcellus',serif;font-size:11.5px;letter-spacing:.12em;
text-transform:uppercase;padding:15px 30px;border-radius:2px}
.hero-cta:hover{background:var(--ivory);color:var(--ink)}

/* ---------- WELCOME ---------- */
.welcome{padding-bottom:48px}
.welcome .wrap{width:100%;max-width:760px;text-align:center}
.welcome .eyebrow{display:block;margin-bottom:20px;font-size:13px}
.welcome p{font-size:16px;color:var(--ink-soft);margin:0 0 12px}
.welcome p:first-of-type{font-family:'Cormorant Garamond',serif;
font-style:italic;font-size:34px;line-height:1.25;color:var(--ink);
margin-bottom:24px}
.welcome-line{font-size:16px;line-height:1.9;color:var(--ink-soft)}
.welcome p[style]{margin-top:14px!important}
.welcome p.welcome-emphasis{font-family:'Cormorant Garamond',serif;font-style:italic;
font-size:34px;line-height:1.25;color:var(--ink);margin:28px 0;font-weight:400}

/* ---------- SERVICES BAND ---------- */
.ways{padding-top:48px}
.ways .section-head{width:100%;max-width:600px;margin:0 auto 52px;
text-align:center}
.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
background:transparent;border-top:1px solid var(--line);
border-bottom:1px solid var(--line)}
.way-card{background:transparent;padding:52px 40px;
border-right:1px solid var(--line);transition:background .3s ease}
.way-card:last-child{border-right:none}
.way-card:hover{background:rgba(234,225,210,.4)}
.way-card h3{font-size:29px;line-height:1.15;margin-bottom:16px}
.way-card p{font-size:14.5px;line-height:1.85;color:var(--ink-soft);
margin-bottom:20px}
.way-link{font-family:'Marcellus',serif;font-size:11px;letter-spacing:.14em;
text-transform:uppercase;color:var(--rust)}

/* ---------- MANIFESTO ---------- */
.difference{
background:
linear-gradient(rgba(55,40,38,.10),rgba(55,40,38,.10)),
var(--nether-red);
color:var(--ivory);
width:80%!important;max-width:1240px!important;margin:0 auto!important}
.difference .section-head{width:100%;max-width:560px;margin:0 auto 44px;
text-align:center}
.difference .eyebrow{color:var(--champagne)}
.difference .wrap,.meet .wrap,.final-cta .wrap{width:100%;padding:0 48px}
.manifesto{list-style:none;margin:0 auto;padding:0;width:100%;max-width:760px}
.manifesto li{display:block;text-align:center;
font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:500;
color:var(--ivory);padding:26px 0;
border-bottom:1px solid rgba(247,242,233,.12)}
.manifesto li:first-child{border-top:1px solid rgba(247,242,233,.12)}
.manifesto li .mark{display:none}

/* ---------- TESTIMONIALS ---------- */
.testimonials .section-head{width:100%;max-width:600px;margin:0 auto 52px;
text-align:center}
.testimonials .section-head .eyebrow{display:block}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.test-card{background:transparent;border:none;
border-right:1px solid var(--line);border-radius:0;padding:48px 36px}
.test-card:last-child{border-right:none}
.test-card p{font-family:'Cormorant Garamond',serif;font-size:19px;
line-height:1.55;font-style:italic;color:var(--ink)}

/* ---------- MEET DOMINIKA ---------- */
.meet{background:var(--stone);width:80%!important;max-width:1240px!important;margin:0 auto!important}
.meet .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:78px;
align-items:stretch}
.meet-portrait{background:var(--ivory-deep);border:none;border-radius:0;
overflow:hidden;align-self:stretch;min-height:420px}
.meet-portrait-img{width:100%;height:100%;object-fit:cover;display:block}
.meet-copy .eyebrow{display:block;margin-bottom:16px}
.meet-copy h2{font-size:clamp(38px,4.3vw,52px);line-height:1;
max-width:14ch;margin-bottom:20px}
.meet-copy p{font-size:15px;line-height:1.9;color:var(--ink-soft);
margin-bottom:24px;max-width:52ch}
.meet-btn{font-family:'Marcellus',serif;font-size:11px;letter-spacing:.14em;
text-transform:uppercase;color:var(--rust);border-bottom:1px solid var(--rust);
padding-bottom:2px;display:inline-block}

/* ---------- FINAL CTA + FOOTER ---------- */
.final-cta{
background:
linear-gradient(rgba(55,40,38,.10),rgba(55,40,38,.10)),
var(--nether-red);
color:var(--ivory);text-align:center;
width:80%!important;max-width:1240px!important;margin:0 auto!important}
.final-cta .wrap{width:100%;max-width:640px}
.final-cta .eyebrow{color:var(--champagne)}
.final-cta h2{color:var(--ivory);font-size:clamp(26px,2.6vw,34px);
line-height:1.15;margin-top:14px}
.booking-btn{display:inline-block;margin-top:30px;background:transparent;
border:1px solid rgba(247,242,233,.7);color:var(--ivory);
font-family:'Marcellus',serif;font-size:11.5px;letter-spacing:.12em;
text-transform:uppercase;padding:16px 34px;border-radius:2px}
.booking-btn:hover{background:var(--ivory);color:var(--ink)}
footer{padding:44px 0 36px;text-align:center;color:var(--ink-soft);
font-size:13.5px}
.footer-stamp{max-width:220px;margin:0 auto}

/* ---------- MOBILE ---------- */
@media(max-width:880px){
.wrap,.hero-photo{width:90%}
section{padding:72px 0}
.welcome{padding-bottom:36px}
.ways{padding-top:36px}
.nav-logo-img{height:56px;width:56px}
header nav.wrap{padding:14px 0}
.menu-toggle-label{display:flex!important}
.nav-menu-group{display:none;position:absolute;top:100%;left:0;right:0;
background:var(--ivory);flex-direction:column;align-items:stretch;
padding:24px 32px;box-shadow:0 8px 20px rgba(0,0,0,.12);z-index:200}
.menu-toggle-checkbox:checked~.nav-menu-group{display:flex}
.navlinks{flex-direction:column;gap:18px;margin:0 0 20px;white-space:normal}
.navlinks a{font-size:15px}
.navcta{text-align:center;padding:12px 0}
.ways-grid,.test-grid{grid-template-columns:1fr}
.way-card,.test-card{border-right:none;border-bottom:1px solid var(--line)}
.way-card:last-child,.test-card:last-child{border-bottom:none}
.meet .wrap{grid-template-columns:1fr}
.meet-portrait{min-height:420px;align-self:auto}
.hero-photo{height:auto;min-height:0;padding:48px 0;align-items:flex-start}
.hero-content{padding:0 24px}
}

/* Hide WordPress.com footer credit */
.site-info,.site-footer .site-info,.wp-footer-credit,
.site-info a[href*="wordpress.com"],a[href*="wordpress.com/?ref"],
.footer-credits,.powered-by,.wp-block-site-tagline{display:none!important}


/* ---------- GLOBAL NETHER RED PANEL OVERRIDE ---------- */
/* Keeps all major dark panels consistent even where individual page CSS
   still declares --espresso or --rust-deep backgrounds. */
.difference,
.final-cta,
.diff-compact,
.one-philosophy,
.nether-panel{
  background:
    linear-gradient(rgba(55,40,38,.10),rgba(55,40,38,.10)),
    var(--nether-red) !important;
  color:var(--ivory);
}

/* Lighter accent specifically for Nether Red/dark panels.
   Existing --gold remains unchanged on ivory/light backgrounds. */
.difference .eyebrow,
.final-cta .eyebrow,
.diff-compact .eyebrow,
.one-philosophy .eyebrow,
.nether-panel .eyebrow{
  color:var(--champagne) !important;
}


/* ---------- NETHER RED CONTRAST + INTERACTION FIXES ---------- */

/* About page / philosophy panel:
   local page CSS may use a different philosophy class or an explicit --gold rule.
   Force all small accent labels on the dark philosophy panel to the lighter
   champagne tone so they remain legible on Nether Red. */
.one-philosophy .eyebrow,
.philosophy-section .eyebrow,
.philosophy .eyebrow,
.one-philosophy .philosophy-label,
.philosophy-section .philosophy-label,
.philosophy .philosophy-label,
.one-philosophy [style*="var(--gold)"],
.philosophy-section [style*="var(--gold)"],
.philosophy [style*="var(--gold)"]{
  color:var(--champagne)!important;
}

/* Keep any major philosophy-panel copy ivory rather than letting legacy
   rust/gold rules leak into the dark panel. */
.one-philosophy,
.philosophy-section.nether-panel,
.philosophy.nether-panel{
  color:var(--ivory);
}

/* Header CTA: remove the old brown/rust hover. */
.navcta:hover,
.navcta:focus-visible{
  background:var(--nether-red)!important;
  border-color:var(--nether-red)!important;
  color:var(--ivory)!important;
}

/* Standard site booking/enquiry controls:
   hover/focus stays within the Nether Red palette rather than turning brown. */
.booking-btn:hover,
.booking-btn:focus-visible,
form button:hover,
form button:focus-visible,
form input[type="submit"]:hover,
form input[type="submit"]:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible{
  background:var(--nether-red)!important;
  border-color:var(--nether-red)!important;
  color:var(--ivory)!important;
}

/* If the Contact page uses a custom enquiry button class, cover the common
   naming patterns without changing ordinary text links. */
.send-enquiry:hover,
.send-enquiry:focus-visible,
.contact-submit:hover,
.contact-submit:focus-visible,
.enquiry-submit:hover,
.enquiry-submit:focus-visible{
  background:var(--nether-red)!important;
  border-color:var(--nether-red)!important;
  color:var(--ivory)!important;
}