:root {
  --teal: #0b7f75;
  --teal-dark: #064743;
  --teal-soft: #e8f7f4;

  --forest: #073b37;
  --mint: #14b8a6;

  --sand: #f6ead8;
  --sand-soft: #fff7ec;
  --cream: #fffaf2;

  --coral: #f27b5c;
  --gold: #d9a441;

  --ink: #10201f;
  --muted: #6d7d7a;

  --white: #ffffff;

  --rivtara-blue: #0b6e8e;
  --rivtara-blue-dark: #06495f;
  --rivtara-river: #0ea5b7;
  --rivtara-mountain: #0f172a;
  --rivtara-sky: #eef9fb;
  --rivtara-snow: #f8fafc;
  --rivtara-earth: #f4ead8;

  --line: rgba(11, 127, 117, 0.16);
  --line-dark: rgba(7, 59, 55, 0.12);

  --shadow-sm: 0 10px 30px rgba(7, 59, 55, 0.10);
  --shadow: 0 24px 70px rgba(7, 59, 55, 0.15);
  --shadow-lg: 0 40px 110px rgba(7, 59, 55, 0.22);

  --radius-sm: 16px;
  --radius-md: 24px;
  --radius-lg: 34px;
  --radius-pill: 999px;

  --container: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: 'Inter', system-ui, sans-serif;
  background:
    radial-gradient(circle at 12% 18%, rgba(11, 110, 142, 0.12), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(14, 165, 183, 0.12), transparent 30%),
    linear-gradient(180deg, #fffaf2 0%, #eef9fb 48%, #fffaf2 100%);
  color: var(--ink);
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

.section-pad {
  padding: 86px 7%;
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--rivtara-blue);
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  font-family: 'Playfair Display', serif;
  margin: 0;
  color: var(--rivtara-mountain);
}

h1 {
  font-size: clamp(3rem, 7vw, 6.8rem);
  line-height: 0.92;
  letter-spacing: -0.06em;
}

h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
}

h3 {
  font-size: 1.5rem;
}

p {
  color: var(--muted);
  line-height: 1.7;
}

.nav-cta,
.primary-btn,
.secondary-btn,
.hero-search button,
.stack-form button,
.inline-form button,
.enquiry-form button {
  border: 0;
  border-radius: var(--radius-pill);
  padding: 13px 22px;
  font-weight: 800;
}

.nav-cta,
.primary-btn,
.hero-search button,
.stack-form button,
.inline-form button,
.enquiry-form button {
  background: linear-gradient(135deg, var(--rivtara-blue), var(--rivtara-river));
  color: white;
  box-shadow: 0 16px 34px rgba(11, 110, 142, 0.24);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.nav-cta:hover,
.primary-btn:hover,
.hero-search button:hover,
.stack-form button:hover,
.inline-form button:hover,
.enquiry-form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(11, 110, 142, 0.32);
}

.secondary-btn {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(11, 110, 142, 0.18);
  color: var(--rivtara-blue-dark);
}

@keyframes float {
  50% {
    transform: translateY(-18px) rotate(2deg);
  }
}

/* ===========================================================
   FOOTER
=========================================================== */

.site_footer{

    background:#102d45;

    color:#ffffff;

    padding:45px 7% 18px;

    margin-top:20px;

}

.footer_container{

    display:grid;

    grid-template-columns:
    2fr
    1fr
    1fr
    1fr;

    gap:45px;

    align-items:flex-start;

}

.footer_brand img{

    width:130px;

    margin-bottom:24px;

}

.footer_brand p{

    color:rgba(255,255,255,.75);

    line-height:1.8;

    max-width:340px;

}

.footer_column h4{

    margin-bottom:14px;

    font-size:1.15rem;

    color:#ffffff;

    font-weight:700;

}

.footer_column ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer_column li{

    margin-bottom:10px;

}

.footer_column a{

    color:rgba(255,255,255,.75);

    text-decoration:none;

    transition:.25s;

}

.footer_column a:hover{

    color:#4dc4e6;

      padding-left:6px;
  
  }

.site_footer .admin_hidden_shortcut:hover{

      padding-left:0;

  }

.footer_bottom{

    border-top:1px solid rgba(255,255,255,.12);

    margin-top:35px;

    padding-top:16px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:rgba(255,255,255,.60);

    font-size:.92rem;

}

.admin_hidden_shortcut{

    display:inline-flex;

    flex:0 0 16px;

    align-items:center;

    justify-content:center;

    width:16px;

    height:16px;

    margin-left:8px;

    color:rgba(255,255,255,.16);

    font-size:1.1rem;

    line-height:1;

    text-decoration:none;

    transition:.2s;

    overflow:hidden;

}

.admin_hidden_shortcut:hover,
.admin_hidden_shortcut:focus{

    color:rgba(255,255,255,.16);

    outline:none;

}

@media(max-width:991px){

.footer_container{

grid-template-columns:1fr 1fr;

gap:45px;

}

.footer_bottom{

flex-direction:column;

gap:12px;

text-align:center;

}

}

@media(max-width:576px){

.footer_container{

grid-template-columns:1fr;

}

.footer_brand{

text-align:center;

}

.footer_brand p{

margin:auto;

}

}
